diff options
| author | Martin Stjernholm | 2002-11-16 01:37:44 +0000 |
|---|---|---|
| committer | Martin Stjernholm | 2002-11-16 01:37:44 +0000 |
| commit | 6b5bbb986bb93e37356ddd408dd80593246e6c47 (patch) | |
| tree | 8c4dc068b9d95dbc3ada9f522925fd39520bf620 | |
| parent | 2c26ee517f04bf37931718192e9a631c81a7cf8b (diff) | |
| download | emacs-6b5bbb986bb93e37356ddd408dd80593246e6c47.tar.gz emacs-6b5bbb986bb93e37356ddd408dd80593246e6c47.zip | |
(cc-bytecomp-defun): Fixed bug that caused existing function
definitions to be overridden by phonies when the bytecomp environment
is restored.
| -rw-r--r-- | lisp/ChangeLog | 6 | ||||
| -rw-r--r-- | lisp/progmodes/cc-bytecomp.el | 21 |
2 files changed, 15 insertions, 12 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 324f92526f1..5e37056b161 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,9 @@ | |||
| 1 | 2002-11-16 Martin Stjernholm <bug-cc-mode@gnu.org> | ||
| 2 | |||
| 3 | * progmodes/cc-bytecomp.el (cc-bytecomp-defun): Fixed bug that | ||
| 4 | caused existing function definitions to be overridden by | ||
| 5 | phonies when the bytecomp environment is restored. | ||
| 6 | |||
| 1 | 2002-11-15 Nick Roberts <nick@nick.uklinux.net> | 7 | 2002-11-15 Nick Roberts <nick@nick.uklinux.net> |
| 2 | 8 | ||
| 3 | * toolbar/gud-break.pbm, toolbar/gud-cont.pbm, toolbar/gud-display.pbm, | 9 | * toolbar/gud-break.pbm, toolbar/gud-cont.pbm, toolbar/gud-display.pbm, |
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'." | |||
| 225 | "Bind the symbol as a function during compilation of the file, | 225 | "Bind the symbol as a function during compilation of the file, |
| 226 | to silence the byte compiler. Don't use within `eval-when-compile'." | 226 | to silence the byte compiler. Don't use within `eval-when-compile'." |
| 227 | `(eval-when-compile | 227 | `(eval-when-compile |
| 228 | (if (not (assq ',fun cc-bytecomp-original-functions)) | 228 | (if (fboundp ',fun) |
| 229 | (setq cc-bytecomp-original-functions | 229 | nil |
| 230 | (cons (list ',fun | 230 | (if (not (assq ',fun cc-bytecomp-original-functions)) |
| 231 | nil | 231 | (setq cc-bytecomp-original-functions |
| 232 | (if (fboundp ',fun) | 232 | (cons (list ',fun nil 'unbound) |
| 233 | (symbol-function ',fun) | 233 | cc-bytecomp-original-functions))) |
| 234 | 'unbound)) | 234 | (if (and (cc-bytecomp-is-compiling) |
| 235 | cc-bytecomp-original-functions))) | 235 | (= cc-bytecomp-load-depth 0)) |
| 236 | (if (and (cc-bytecomp-is-compiling) | 236 | (fset ',fun 'cc-bytecomp-ignore))))) |
| 237 | (= cc-bytecomp-load-depth 0) | ||
| 238 | (not (fboundp ',fun))) | ||
| 239 | (fset ',fun 'cc-bytecomp-ignore)))) | ||
| 240 | 237 | ||
| 241 | (put 'cc-bytecomp-defmacro 'lisp-indent-function 'defun) | 238 | (put 'cc-bytecomp-defmacro 'lisp-indent-function 'defun) |
| 242 | (defmacro cc-bytecomp-defmacro (fun &rest temp-macro) | 239 | (defmacro cc-bytecomp-defmacro (fun &rest temp-macro) |