Re: [ESS] ess-16.10 / Error 2
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
> 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