From: Stefan Monnier Date: Sat, 8 Apr 2006 14:56:21 +0000 (+0000) Subject: (byte-compile-form): Only call cl-byte-compile-compiler-macro if it exists. X-Git-Tag: emacs-pretest-22.0.90~3268 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=67438f773f7ac8f651029661ab9b578b80ba0722;p=emacs.git (byte-compile-form): Only call cl-byte-compile-compiler-macro if it exists. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 7b64b3fed76..11834490dc0 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,7 +1,12 @@ +2006-04-08 Stefan Monnier + + * emacs-lisp/bytecomp.el (byte-compile-form): Don't call + cl-byte-compile-compiler-macro unless it exists. + 2006-04-08 Eli Zaretskii - * files.el (hack-local-variables-confirm) : Clarify - message text. Suggested by Ralf Angeli. + * files.el (hack-local-variables-confirm) : + Clarify message text. Suggested by Ralf Angeli. 2006-04-08 Michael Cadilhac (tiny change) @@ -388,8 +393,8 @@ (cua--init-keymaps): Use it instead of fixed C-return. (cua-mode): Set after it. - * emulation/cua-rect.el (cua--init-rectangles): Use - cua-rectangle-mark-key instead of fixed C-return. + * emulation/cua-rect.el (cua--init-rectangles): + Use cua-rectangle-mark-key instead of fixed C-return. 2006-03-25 Nick Roberts @@ -425,8 +430,7 @@ * progmodes/gdb-ui.el (gdb-continuation): Declare earlier to prevent compiler warnings. (gdb-stopped): Check for gud-last-last-frame (case: signal). - (breakpoint-disabled): Make lighter for contrast with overlay - arrow. + (breakpoint-disabled): Make lighter for contrast with overlay arrow. (gdb-assembler-custom): Use hollow-right-triangle for assembler buffer too. diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index 64b0a07332b..83620f3344f 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el @@ -2765,9 +2765,15 @@ If FORM is a lambda or a macro, byte-compile it as a function." (byte-compile-warn "`%s' used from Lisp code\n\ That command is designed for interactive use only" fn)) (if (and handler - (or (not (byte-compile-version-cond - byte-compile-compatibility)) - (not (get (get fn 'byte-opcode) 'emacs19-opcode)))) + ;; Make sure that function exists. This is important + ;; for CL compiler macros since the symbol may be + ;; `cl-byte-compile-compiler-macro' but if CL isn't + ;; loaded, this function doesn't exist. + (or (not (memq handler '(cl-byte-compile-compiler-macro))) + (fboundp handler)) + (not (and (byte-compile-version-cond + byte-compile-compatibility) + (get (get fn 'byte-opcode) 'emacs19-opcode)))) (funcall handler form) (when (memq 'callargs byte-compile-warnings) (if (memq fn '(custom-declare-group custom-declare-variable custom-declare-face))