(cc-bytecomp-defun): Fixed bug that caused existing function

definitions to be overridden by phonies when the bytecomp environment
is restored.
This commit is contained in:
Martin Stjernholm
2002-11-16 01:37:44 +00:00
parent 2c26ee517f
commit 6b5bbb986b
2 changed files with 15 additions and 12 deletions

View File

@@ -1,3 +1,9 @@
2002-11-16 Martin Stjernholm <bug-cc-mode@gnu.org>
* progmodes/cc-bytecomp.el (cc-bytecomp-defun): Fixed bug that
caused existing function definitions to be overridden by
phonies when the bytecomp environment is restored.
2002-11-15 Nick Roberts <nick@nick.uklinux.net>
* toolbar/gud-break.pbm, toolbar/gud-cont.pbm, toolbar/gud-display.pbm,

View File

@@ -225,18 +225,15 @@ to silence the byte compiler. Don't use within `eval-when-compile'."
"Bind the symbol as a function during compilation of the file,
to silence the byte compiler. Don't use within `eval-when-compile'."
`(eval-when-compile
(if (not (assq ',fun cc-bytecomp-original-functions))
(setq cc-bytecomp-original-functions
(cons (list ',fun
nil
(if (fboundp ',fun)
(symbol-function ',fun)
'unbound))
cc-bytecomp-original-functions)))
(if (and (cc-bytecomp-is-compiling)
(= cc-bytecomp-load-depth 0)
(not (fboundp ',fun)))
(fset ',fun 'cc-bytecomp-ignore))))
(if (fboundp ',fun)
nil
(if (not (assq ',fun cc-bytecomp-original-functions))
(setq cc-bytecomp-original-functions
(cons (list ',fun nil 'unbound)
cc-bytecomp-original-functions)))
(if (and (cc-bytecomp-is-compiling)
(= cc-bytecomp-load-depth 0))
(fset ',fun 'cc-bytecomp-ignore)))))
(put 'cc-bytecomp-defmacro 'lisp-indent-function 'defun)
(defmacro cc-bytecomp-defmacro (fun &rest temp-macro)