[ESS] ess-16.10 / Error 2
Martin Maechler
m@ech|er @end|ng |rom @t@t@m@th@ethz@ch
Tue Jan 10 09:11:31 CET 2017
>>>>> Eric Lindblad via ESS-help <ess-help using 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
More information about the ESS-help
mailing list