diff options
Diffstat (limited to 'lisp/emacs-lisp/byte-run.el')
-rw-r--r-- | lisp/emacs-lisp/byte-run.el | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/lisp/emacs-lisp/byte-run.el b/lisp/emacs-lisp/byte-run.el index ecf2ed57dac..06b28beab7e 100644 --- a/lisp/emacs-lisp/byte-run.el +++ b/lisp/emacs-lisp/byte-run.el @@ -103,16 +103,11 @@ The return value of this function is not used." (eval-and-compile (put ',name 'byte-optimizer 'byte-compile-inline-expand)))) -(defmacro declare-function (&rest args) - "In Emacs 22, does nothing. In 23, it will suppress byte-compiler warnings. -This definition is so that packages may take advantage of the -Emacs 23 feature and still remain compatible with Emacs 22." - nil) - (defun make-obsolete (obsolete-name current-name &optional when) "Make the byte-compiler warn that OBSOLETE-NAME is obsolete. The warning will say that CURRENT-NAME should be used instead. -If CURRENT-NAME is a string, that is the `use instead' message. +If CURRENT-NAME is a string, that is the `use instead' message +\(it should end with a period, and not start with a capital). If provided, WHEN should be a string indicating when the function was first made obsolete, for example a date or a release number." (interactive "aMake function obsolete: \nxObsoletion replacement: ") @@ -166,6 +161,15 @@ 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\") +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." (declare (doc-string 4)) |