summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/byte-run.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/emacs-lisp/byte-run.el')
-rw-r--r--lisp/emacs-lisp/byte-run.el18
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))