Re: [ESS] ess-16.10 / Error 2

2017-01-09 Thread Eric Lindblad via ESS-help
Dear Martin Mächler,

System: Slackware Linux (version 14.0)
CPUs: Intel(R) Atom(TM) CPU N270 @1.60GHz
GNU Emacs 24.2.1

> Your emacs version 24.2 (2012)  is relatively old.
> The oldest version I have had access relatively quickly, is 24.3
> and if I type
>C-h f  defvar-local

> there, I get a "positive" result.

> What happens if you start emacs and ask for  'defvar-local' (as
> I did above)?

Describe function: defvar-local [No match]

Running 'make' again after the patch was applied resulted in the following 
output.

sh-4.2$ cd ess-16.10
sh-4.2$ make
cd etc; make all
make[1]: Entering directory `/home/eric/ess-16.10/etc'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/eric/ess-16.10/etc'
cd lisp; make all
make[1]: Entering directory `/home/eric/ess-16.10/lisp'
emacs -batch -no-site-file -no-init-file -l ./ess-comp.el -f batch-byte-compile 
ess-custom.el
loading 'ess-compat ..
loading 'ess-custom ..
loading 'ess ..
loading 'ess-site ..
[ess-site:] ess-lisp-directory = '/home/eric/ess-16.10/lisp'
[ess-site:] require 'ess   *ITSELF* ...
[ess-site:] .. after requiring 'ess ...
[ess-site:] Before requiring dialect 'ess-*-d 
[ess-site:] require 'ess-r-d ...
[ess-r-d:] (require 'ess-s-l)
[ess-s-l:] (def** ) only ...
Cannot open load file: cl-lib
make[1]: *** [ess-custom.elc] Error 255
make[1]: Leaving directory `/home/eric/ess-16.10/lisp'
make: *** [all] Error 2
sh-4.2$  

Checking the emacs-lisp directory it appears that cl-lib.el was not included in 
version 24.2.1, though it's presence is noted in emacs-24.3.

sh-4.2$ ls /usr/share/emacs/24.2/lisp/emacs-lisp/cl*
/usr/share/emacs/24.2/lisp/emacs-lisp/cl-extra.el.gz
/usr/share/emacs/24.2/lisp/emacs-lisp/cl-extra.elc
/usr/share/emacs/24.2/lisp/emacs-lisp/cl-indent.el.gz
/usr/share/emacs/24.2/lisp/emacs-lisp/cl-indent.elc
/usr/share/emacs/24.2/lisp/emacs-lisp/cl-loaddefs.el
/usr/share/emacs/24.2/lisp/emacs-lisp/cl-macs.el.gz
/usr/share/emacs/24.2/lisp/emacs-lisp/cl-macs.elc
/usr/share/emacs/24.2/lisp/emacs-lisp/cl-seq.el.gz
/usr/share/emacs/24.2/lisp/emacs-lisp/cl-seq.elc
/usr/share/emacs/24.2/lisp/emacs-lisp/cl-specs.el
/usr/share/emacs/24.2/lisp/emacs-lisp/cl.el.gz
/usr/share/emacs/24.2/lisp/emacs-lisp/cl.elc
sh-4.2$ 

Sincerely,
Eric Lindblad
http://www.nurmi-labs.blogspot.com


On Mon, 1/9/17, Martin Maechler < ... > wrote:
Subject: Re: [ESS] ess-16.10 / Error 2
To: "Eric Lindblad" < ... >
Cc: ess-help@r-project.org
Date: Monday, January 9, 2017, 12:14 PM

__
ESS-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/ess-help

Re: [ESS] ess-16.10 / Error 2

2017-01-09 Thread Martin Maechler

> ESS project,
> One of the developers asked that I forward this.
> 
> I send the output of running 'make' on ess-16.10.
> 
> Sincerely,
> Eric Lindblad
> http://www.nurmi-labs.blogspot.com
> 
> 
> System: Slackware Linux (version 14.0)
> CPUs: Intel(R) Atom(TM) CPU N270 @1.60GHz
> 
> sh-4.2$ emacs --version
> GNU Emacs 24.2.1
> Copyright (C) 2012 Free Software Foundation, Inc.
> GNU Emacs comes with ABSOLUTELY NO WARRANTY.
> You may redistribute copies of Emacs
> under the terms of the GNU General Public License.
> For more information about these matters, see the file named COPYING.
> sh-4.2$ cd ess-16.10
> sh-4.2$ make
> cd etc; make all
> make[1]: Entering directory `/root/00/ess-16.10/etc'
> make[1]: Nothing to be done for `all'.
> make[1]: Leaving directory `/root/00/ess-16.10/etc'
> cd lisp; make all
> make[1]: Entering directory `/root/00/ess-16.10/lisp'
> emacs -batch -no-site-file -no-init-file -l ./ess-comp.el -f 
> batch-byte-compile ess-custom.el
> loading 'ess-compat ..
> loading 'ess-custom ..
> loading 'ess ..
> Symbol's function definition is void: defvar-local

Your emacs version 24.2 (2012)  is relatively old.
The oldest version I have had access relatively quickly, is 24.3
and if I type
C-h f  defvar-local

there, I get a "positive" result.

What happens if you start emacs and ask for  'defvar-local' (as
I did above)?

Also, you could apply the following patch to the ess sources --
and report back if it helps ! ---
It defines  defvar-local {the way it is defined in a recent version
of emacs, so it may not work necessarily work well in emacs 24.2
!} in case it is not found :


--- ess/lisp/ess-compat.el
+++ ess/lisp/ess-compat.el
@@ -278,6 +278,18 @@ mode is enabled.  Usually, such commands should use
 also checks the value of `use-empty-active-region'."
 (and transient-mark-mode mark-active)))
 
+(unless (fboundp 'defvar-local)
+  (defmacro defvar-local (var val  docstring)
+"Define VAR as a buffer-local variable with default value VAL.
+Like `defvar' but additionally marks the variable as being automatically
+buffer-local wherever it is set."
+(declare (debug defvar) (doc-string 3))
+;; Can't use backquote here, it's too early in the bootstrap.
+(list 'progn (list 'defvar var val docstring)
+  (list 'make-variable-buffer-local (list 'quote var)
+
+
+
 (provide 'ess-compat)


I hope this helps further!

Best regards,
Martin Maechler
ETH Zurich



> make[1]: *** [ess-custom.elc] Error 255
> make[1]: Leaving directory `/root/00/ess-16.10/lisp'
> make: *** [all] Error 2
> sh-4.2$

__
ESS-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/ess-help