>>>>> Eric Lindblad via ESS-help <ess-help@r-project.org> >>>>> on Mon, 9 Jan 2017 21:36:40 +0000 writes:
> 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] ok, i.e., "not present yet in that version of emacs" > 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$ I see, thank you for checking. The cl-* files -- bringing a subset(?) of common lisp to emacs lisp, have been part of emacs for a long while but seem to have been reorganized in the transition 24.2 --> 24.3. OTOH, almost always we have (require 'cl) in the ESS sources, with the one exception where we use 'cl-lib. Let's try one more patch -- Eric, please : --- a/lisp/ess-r-syntax.el +++ b/lisp/ess-r-syntax.el @@ -28,7 +28,8 @@ ;;; Code: (require 'regexp-opt) -(require 'cl-lib) +(unless (require 'cl-lib nil 'no-error) + (require 'cl)); as 'cl-lib is not yet in emacs 24.2 ;;*;; Utils ______________________________________________ ESS-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/ess-help