GNU bug report logs -
#8647
since lexical merge, declare-function in subr.el no longer works
Previous Next
Reported by: Glenn Morris <rgm <at> gnu.org>
Date: Tue, 10 May 2011 22:30:03 UTC
Severity: minor
Found in version 24.0.50
Done: Glenn Morris <rgm <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #6 received at 8647 <at> debbugs.gnu.org (full text, mbox):
Moving the definition to the end of subr.el does not work, because
subr.el is loaded uncompiled during bootstrap.
IMO, conceptually the right fix is for an element in
byte-compile-initial-macro-environment to _always_ take precedence
during compilation, even if the file being compiled contains a
redefinition.
*** lisp/emacs-lisp/bytecomp.el 2011-05-11 17:32:38 +0000
--- lisp/emacs-lisp/bytecomp.el 2011-05-11 17:57:12 +0000
***************
*** 2166,2172 ****
byte-compile-output nil))))
(defun byte-compile-preprocess (form &optional _for-effect)
! (setq form (macroexpand-all form byte-compile-macro-environment))
;; FIXME: We should run byte-optimize-form here, but it currently does not
;; recurse through all the code, so we'd have to fix this first.
;; Maybe a good fix would be to merge byte-optimize-form into
--- 2174,2183 ----
byte-compile-output nil))))
(defun byte-compile-preprocess (form &optional _for-effect)
! ;; b-c-initial-m-e should take precedence during compilation. (Bug#8647)
! (setq form (macroexpand-all form
! (append byte-compile-initial-macro-environment
! byte-compile-macro-environment)))
;; FIXME: We should run byte-optimize-form here, but it currently does not
;; recurse through all the code, so we'd have to fix this first.
;; Maybe a good fix would be to merge byte-optimize-form into
This bug report was last modified 14 years and 68 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.