Commit 850bfd04 authored by Glenn Morris's avatar Glenn Morris
Browse files

(define-obsolete-variable-alias): Doc fix.

Maybe copy some custom properties from old to new name.  (Bug#4706)
parent f3ed9aca
2009-10-16 Glenn Morris <rgm@gnu.org>
* emacs-lisp/byte-run.el (define-obsolete-variable-alias): Doc fix.
Maybe copy some custom properties from old to new name. (Bug#4706)
2009-10-16 Juanma Barranquero <lekktu@gmail.com>
* subr.el (error, sit-for, start-process-shell-command)
......
......@@ -175,28 +175,32 @@ was first made obsolete, for example a date or a release number."
(defmacro define-obsolete-variable-alias (obsolete-name current-name
&optional when docstring)
"Make OBSOLETE-NAME a variable alias for CURRENT-NAME and mark it obsolete.
\(define-obsolete-variable-alias 'old-var 'new-var \"22.1\" \"old-var's doc.\")
is equivalent to the following two lines of code:
\(defvaralias 'old-var 'new-var \"old-var's doc.\")
\(make-obsolete-variable 'old-var 'new-var \"22.1\")
This uses `defvaralias' and `make-obsolete-variable' (which see).
See the Info node `(elisp)Variable Aliases' for more details.
If CURRENT-NAME is a defcustom (more generally, any variable
where OBSOLETE-NAME may be set, e.g. in a .emacs file, before the
alias is defined), then the define-obsolete-variable-alias
statement should be placed before the defcustom. This is so that
any user customizations are applied before the defcustom tries to
initialize the variable (this is due to the way `defvaralias' works).
Exceptions to this rule occur for define-obsolete-variable-alias
statements that are autoloaded, or in files dumped with Emacs.
See the docstrings of `defvaralias' and `make-obsolete-variable' or
Info node `(elisp)Variable Aliases' for more details."
statement should be evaluated before the defcustom, if user
customizations are to be respected. The simplest way to achieve
this is to place the alias statement before the defcustom (this
is not necessary for aliases that are autoloaded, or in files
dumped with Emacs). This is so that any user customizations are
applied before the defcustom tries to initialize the
variable (this is due to the way `defvaralias' works).
For the benefit of `custom-set-variables', if OBSOLETE-NAME has
any of the following properties, they are copied to
CURRENT-NAME, if it does not already have them:
'saved-value, 'saved-variable-comment."
(declare (doc-string 4))
`(progn
(defvaralias ,obsolete-name ,current-name ,docstring)
;; See Bug#4706.
(mapc (lambda (prop) (or (get ,current-name prop)
(put ,current-name prop
(get ,obsolete-name prop))))
'(saved-value saved-variable-comment))
(make-obsolete-variable ,obsolete-name ,current-name ,when)))
(set-advertised-calling-convention
;; New code should always provide the `when' argument.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment