bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#17300: fails to build due to defsetf, cl-define-compiler-macro in cl


From: Ivan Shmakov
Subject: bug#17300: fails to build due to defsetf, cl-define-compiler-macro in cl-macs.el (structures)
Date: Sun, 20 Apr 2014 11:26:25 +0000
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)

Package:  emacs

        As of 20eb3d6e5262 [1], Emacs fails to build from a clean
        directory with the output like:

Loading 
/home/private/users/ivan/devel/emacs-2014-04-20-build/lisp/emacs-lisp/nadvice.el
 (source)...
Loading 
/home/private/users/ivan/devel/emacs-2014-04-20-build/lisp/minibuffer.el 
(source)...
Eager macro-expansion failure: (void-function defsetf)
Symbol's function definition is void: defsetf
make[1]: *** [bootstrap-emacs] Error 1
make[1]: Leaving directory 
`/home/private/users/ivan/devel/emacs-2014-04-20-build/src'

        Apparently, the “defstruct introspection” commit [2] is to
        blame, as it introduced to cl-macs.el:

        • the use of the ‘defsetf’ macro, defined in cl.el (not
          currently required by cl-macs.el, and possibly leading to a
          circular dependency);

        • two invocations of the ‘cl-define-compiler-macro’ in the
          “Structures.” section /prior/ to its definition in “Compiler
          macros.” later in the same file.

        The first issue could be solved by simply replacing defsetf by
        gv-define-simple-setter.  The solution for the second is to move
        these two invocations below the definition of the macro.

[1] 
http://git.savannah.gnu.org/cgit/emacs.git/commit/lisp/vc/ediff-diff.el?h=emacs-24&id=20eb3d6e5262a31147b42a9733010ce397fdc3d8
[2] 
http://git.savannah.gnu.org/cgit/emacs.git/commit/lisp/vc/ediff-diff.el?h=emacs-24&id=49b8b4c4a07e9e3d160367cc52d4ef4fb7f3fa22

PS.  And since when using periods in ‘;;; ’-headings within the code
        became a convention, BTW?

-- 
FSF associate member #7257





reply via email to

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