emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 32c6732: * lisp/emacs-lisp/byte-run.el (make-obsolete): Make `whe


From: Stefan Monnier
Subject: master 32c6732: * lisp/emacs-lisp/byte-run.el (make-obsolete): Make `when` mandatory
Date: Sun, 3 Jan 2021 15:43:36 -0500 (EST)

branch: master
commit 32c6732d16385f242b1109517f25e9aefd6caa5c
Author: Stefan Monnier <monnier@iro.umontreal.ca>
Commit: Stefan Monnier <monnier@iro.umontreal.ca>

    * lisp/emacs-lisp/byte-run.el (make-obsolete): Make `when` mandatory
    
    (define-obsolete-function-alias, make-obsolete-variable)
    (define-obsolete-variable-alias): Adjust similarly.
---
 etc/NEWS                    |  6 ++++++
 lisp/emacs-lisp/byte-run.el | 29 +++++++++--------------------
 2 files changed, 15 insertions(+), 20 deletions(-)

diff --git a/etc/NEWS b/etc/NEWS
index b294ff1..8003175 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -2019,6 +2019,12 @@ ledit.el, lmenu.el, lucid.el and old-whitespace.el.
 'vcursor-toggle-vcursor-map', 'w32-focus-frame', 'w32-select-font',
 'wisent-lex-make-token-table'.
 
+** The 'when' argument of `make-obsolete` and related functions is mandatory.
+The use of those functions without a 'when' argument was marked
+obsolete back in Emacs-23.1.  The affected functions are:
+make-obsolete, define-obsolete-function-alias, make-obsolete-variable,
+define-obsolete-variable-alias.
+
 
 * Lisp Changes in Emacs 28.1
 
diff --git a/lisp/emacs-lisp/byte-run.el b/lisp/emacs-lisp/byte-run.el
index 8334c09..0f8dd5a 100644
--- a/lisp/emacs-lisp/byte-run.el
+++ b/lisp/emacs-lisp/byte-run.el
@@ -372,7 +372,7 @@ convention was modified."
   (puthash (indirect-function function) signature
            advertised-signature-table))
 
-(defun make-obsolete (obsolete-name current-name &optional when)
+(defun make-obsolete (obsolete-name current-name when)
   "Make the byte-compiler warn that function OBSOLETE-NAME is obsolete.
 OBSOLETE-NAME should be a function name or macro name (a symbol).
 
@@ -381,17 +381,14 @@ If CURRENT-NAME is a string, that is the `use instead' 
message
 \(it should end with a period, and not start with a capital).
 WHEN should be a string indicating when the function
 was first made obsolete, for example a date or a release number."
-  (declare (advertised-calling-convention
-            ;; New code should always provide the `when' argument.
-            (obsolete-name current-name when) "23.1"))
   (put obsolete-name 'byte-obsolete-info
        ;; The second entry used to hold the `byte-compile' handler, but
        ;; is not used any more nowadays.
        (purecopy (list current-name nil when)))
   obsolete-name)
 
-(defmacro define-obsolete-function-alias (obsolete-name current-name
-                                                  &optional when docstring)
+(defmacro define-obsolete-function-alias ( obsolete-name current-name when
+                                           &optional docstring)
   "Set OBSOLETE-NAME's function definition to CURRENT-NAME and mark it 
obsolete.
 
 \(define-obsolete-function-alias \\='old-fun \\='new-fun \"22.1\" \"old-fun's 
doc.\")
@@ -405,15 +402,13 @@ WHEN should be a string indicating when the function was 
first
 made obsolete, for example a date or a release number.
 
 See the docstrings of `defalias' and `make-obsolete' for more details."
-  (declare (doc-string 4)
-           (advertised-calling-convention
-            ;; New code should always provide the `when' argument.
-            (obsolete-name current-name when &optional docstring) "23.1"))
+  (declare (doc-string 4))
   `(progn
      (defalias ,obsolete-name ,current-name ,docstring)
      (make-obsolete ,obsolete-name ,current-name ,when)))
 
-(defun make-obsolete-variable (obsolete-name current-name &optional when 
access-type)
+(defun make-obsolete-variable ( obsolete-name current-name when
+                                &optional access-type)
   "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.
@@ -421,16 +416,13 @@ WHEN should be a string indicating when the variable
 was first made obsolete, for example a date or a release number.
 ACCESS-TYPE if non-nil should specify the kind of access that will trigger
   obsolescence warnings; it can be either `get' or `set'."
-  (declare (advertised-calling-convention
-            ;; New code should always provide the `when' argument.
-            (obsolete-name current-name when &optional access-type) "23.1"))
   (put obsolete-name 'byte-obsolete-variable
        (purecopy (list current-name access-type when)))
   obsolete-name)
 
 
-(defmacro define-obsolete-variable-alias (obsolete-name current-name
-                                                &optional when docstring)
+(defmacro define-obsolete-variable-alias ( obsolete-name current-name when
+                                           &optional docstring)
   "Make OBSOLETE-NAME a variable alias for CURRENT-NAME and mark it obsolete.
 
 WHEN should be a string indicating when the variable was first
@@ -459,10 +451,7 @@ For the benefit of Customize, 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)
-           (advertised-calling-convention
-            ;; New code should always provide the `when' argument.
-            (obsolete-name current-name when &optional docstring) "23.1"))
+  (declare (doc-string 4))
   `(progn
      (defvaralias ,obsolete-name ,current-name ,docstring)
      ;; See Bug#4706.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]