diff options
Diffstat (limited to 'lisp/progmodes/cc-bytecomp.el')
-rw-r--r-- | lisp/progmodes/cc-bytecomp.el | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/lisp/progmodes/cc-bytecomp.el b/lisp/progmodes/cc-bytecomp.el index 6df60efef70..b0e33a97491 100644 --- a/lisp/progmodes/cc-bytecomp.el +++ b/lisp/progmodes/cc-bytecomp.el @@ -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) |