[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] Bug: org-babel-ref-parse needs to set current buffer to the buff

From: Nicolas Goaziou
Subject: Re: [O] Bug: org-babel-ref-parse needs to set current buffer to the buffer of the marker [8.2.2 (release_8.2.2-188-gc57372 @ /home/wvxvw/Projects/org-mode/lisp/)]
Date: Sat, 09 May 2015 11:04:19 +0200

Oleg Sivokon <address@hidden> writes:

> Yes, that's `defstruct'. Its ABI changed between 24.5 and 25.0, The
> older one had this in the end:
>     (push `(setq ,tag-symbol (list ',tag)) forms)
>     (push `(cl-eval-when (compile load eval)
>              (put ',name 'cl-struct-slots ',descs)
>              (put ',name 'cl-struct-type ',(list type (eq named t)))
>              (put ',name 'cl-struct-include ',include)
>              (put ',name 'cl-struct-print ,print-auto)
>              ,@(mapcar (lambda (x)
>                          `(put ',(car x) 'side-effect-free ',(cdr x)))
>                        side-eff))
>           forms)
>     `(progn ,@(nreverse (cons `',name forms)))))
> And the younger one looks like this:
>     `(progn
>        (defvar ,tag-symbol)
>        ,@(nreverse forms)
>        ;; Call cl-struct-define during compilation as well, so that
>        ;; a subsequent cl-defstruct in the same file can correctly include 
> this
>        ;; struct as a parent.
>        (eval-and-compile
>          (cl-struct-define ',name ,docstring ',include-name
>                            ',type ,(eq named t) ',descs ',tag-symbol ',tag
>                            ',print-auto))
>        ',name)))

Thanks for the info.

> So, if I compile Org against the CL library from Emacs 25.0, it's not
> backwards compatible with Emacs 24.5.  I could put a different compiled
> version elsewhere for the older Emacs and will experiment with it.

I doubt this is a problem in practice. If you get Org from ELPA, it
compiles files with your current Emacs. If you get it from an archive or
directly from git repository, you have to compile files yourself anyway.

> The reason I thought that compatibility is no longer needed is because
> Linux distributions usually package the bytecompiled Emacs Lisp
> code. So, if someone was to get a newer version of Org, compiled with
> the younger CL, that wouldn't work for them either.

Using Linux distribution packaging system is not among suggested
installation methods in the manual.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]