# HG changeset patch # User Martin Stjernholm # Date 1037410554 0 # Node ID 2ac046f0f384dd77fe95a966180fa5eb231094a1 # Parent 033719ff91f177b1dde307d79b08f16f3f3086f5 (cc-bytecomp-defun): Fixed bug that caused existing function definitions to be overridden by phonies when the bytecomp environment is restored. diff -r 033719ff91f1 -r 2ac046f0f384 lisp/progmodes/cc-bytecomp.el --- a/lisp/progmodes/cc-bytecomp.el Sat Nov 16 01:21:22 2002 +0000 +++ b/lisp/progmodes/cc-bytecomp.el Sat Nov 16 01:35:54 2002 +0000 @@ -225,18 +225,15 @@ "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)