(define-obsolete-variable-alias): New macro.
authorNick Roberts <nickrob@snap.net.nz>
Fri, 22 Apr 2005 04:08:08 +0000 (04:08 +0000)
committerNick Roberts <nickrob@snap.net.nz>
Fri, 22 Apr 2005 04:08:08 +0000 (04:08 +0000)
lisp/emacs-lisp/byte-run.el

index 60fc862..ab7259b 100644 (file)
@@ -129,6 +129,18 @@ was first made obsolete, for example a date or a release number."
   (put variable 'byte-obsolete-variable (cons new when))
   variable)
 
+(defmacro define-obsolete-variable-alias (variable new
+                                                &optional when docstring)
+  "Make VARIABLE a variable alias for NEW and warn that VARIABLE is obsolete.
+If provided, WHEN should be a string indicating when VARIABLE was
+first made obsolete, for example a date or a release number.  The
+optional argument DOCSTRING specifies the documentation string
+for VARIABLE; if DOCSTRING is omitted or nil, VARIABLE uses the
+documentation string of NEW unless it already has one."
+  `(progn
+     (defvaralias ,variable ,new ,docstring)
+      (make-obsolete-variable ,variable ,new ,when)))
+
 (defmacro dont-compile (&rest body)
   "Like `progn', but the body always runs interpreted (not compiled).
 If you think you need this, you're probably making a mistake somewhere."