summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2017-12-15 16:22:25 -0500
committerGlenn Morris <rgm@gnu.org>2017-12-15 16:22:25 -0500
commit5e6fb1e246b1e7f44ebba48e7e24f597a8eb92dd (patch)
tree6b7a7374b7899aeeccc4ced74e1148cc6225a9e6
parent6c301afa70f6eac32ad1ce92412ea3cf6fcdeeca (diff)
downloademacs-5e6fb1e246b1e7f44ebba48e7e24f597a8eb92dd.tar.gz
emacs-5e6fb1e246b1e7f44ebba48e7e24f597a8eb92dd.tar.bz2
emacs-5e6fb1e246b1e7f44ebba48e7e24f597a8eb92dd.zip
Automatically evaluate top-level define-obsolete-function-alias etc
* lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-make-obsolete): New handler.
-rw-r--r--lisp/emacs-lisp/bytecomp.el6
1 files changed, 6 insertions, 0 deletions
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
index 995fb05eac8..c898305d916 100644
--- a/lisp/emacs-lisp/bytecomp.el
+++ b/lisp/emacs-lisp/bytecomp.el
@@ -2486,6 +2486,12 @@ list that represents a doc string reference.
(mapc 'byte-compile-file-form (cdr form))
nil))
+;; Automatically evaluate define-obsolete-function-alias etc at top-level.
+(put 'make-obsolete 'byte-hunk-handler 'byte-compile-file-form-make-obsolete)
+(defun byte-compile-file-form-make-obsolete (form)
+ (prog1 (byte-compile-keep-pending form)
+ (apply 'make-obsolete (mapcar 'eval (cdr form)))))
+
;; This handler is not necessary, but it makes the output from dont-compile
;; and similar macros cleaner.
(put 'eval 'byte-hunk-handler 'byte-compile-file-form-eval)