GNU bug report logs -
#64757
30.0.50; Declare `defadvice` obsolete
Previous Next
Reported by: Stefan Monnier <monnier <at> iro.umontreal.ca>
Date: Thu, 20 Jul 2023 22:07:01 UTC
Severity: normal
Found in version 30.0.50
Done: Stefan Monnier <monnier <at> iro.umontreal.ca>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 64757 in the body.
You can then email your comments to 64757 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#64757
; Package
emacs
.
(Thu, 20 Jul 2023 22:07:01 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Stefan Monnier <monnier <at> iro.umontreal.ca>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Thu, 20 Jul 2023 22:07:01 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
Package: Emacs
Version: 30.0.50
The `nadvice` package introduced in Emacs-24.4 make the `advice.el`
package technically obsolete in the sense that everything that could be
done with `advice.el` could now be done with `nadvice.el` (indeed,
`advice.el` was reimplemented on that occasion to work on top of
`nadvice.el`).
While maintainers have converted their `defadvice` to the new
`advice-add` more slowly than the conversion from `cl` to `cl-lib`
(maybe because I was slower in rolling out a forward compatibility for
it in GNU ELPA, tho probably because the conversion takes a bit more
work), the new advice library has been very popular thanks to its
being simpler.
Emacs-29 is the first release that doesn't use the old advice library in
its own code at all, so I think Emacs-30 is a good time to mark
`defadvice` as obsolete.
I suggest to do it with the following patch, which should not introduce
any incompatibilities.
Stefan
diff --git a/etc/NEWS b/etc/NEWS
index d1af3b1b866..54fb6ccac5c 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -614,6 +614,8 @@ provokes an error if used numerically.
* Lisp Changes in Emacs 30.1
+** 'defadvice' is marked as obsolete.
+
+++
** New user option 'safe-local-variable-directories'.
This user option names directories in which Emacs will treat all
diff --git a/lisp/emacs-lisp/advice.el b/lisp/emacs-lisp/advice.el
index 56f0ae2212c..3265809f592 100644
--- a/lisp/emacs-lisp/advice.el
+++ b/lisp/emacs-lisp/advice.el
@@ -3131,6 +3131,7 @@ defadvice
[DOCSTRING] [INTERACTIVE-FORM]
BODY...)"
(declare (doc-string 3) (indent 2)
+ (obsolete "use advice-add or define-advice" "30.1")
(debug (&define name ;; thing being advised.
(name ;; class is [&or "before" "around" "after"
;; "activation" "deactivation"]
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#64757
; Package
emacs
.
(Fri, 21 Jul 2023 05:43:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 64757 <at> debbugs.gnu.org (full text, mbox):
> Date: Thu, 20 Jul 2023 18:05:40 -0400
> From: Stefan Monnier via "Bug reports for GNU Emacs,
> the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
>
> Emacs-29 is the first release that doesn't use the old advice library in
> its own code at all, so I think Emacs-30 is a good time to mark
> `defadvice` as obsolete.
>
> I suggest to do it with the following patch, which should not introduce
> any incompatibilities.
No objections from me. However, ...
> diff --git a/etc/NEWS b/etc/NEWS
> index d1af3b1b866..54fb6ccac5c 100644
> --- a/etc/NEWS
> +++ b/etc/NEWS
> @@ -614,6 +614,8 @@ provokes an error if used numerically.
>
> * Lisp Changes in Emacs 30.1
>
> +** 'defadvice' is marked as obsolete.
...this is too terse. We need to mention the two alternatives to
defadvice, including pointers to the ELisp manual's nodes. People who
still use defadvice will need those to convert their programs.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#64757
; Package
emacs
.
(Fri, 21 Jul 2023 15:27:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 64757 <at> debbugs.gnu.org (full text, mbox):
> ...this is too terse. We need to mention the two alternatives to
> defadvice, including pointers to the ELisp manual's nodes. People who
> still use defadvice will need those to convert their programs.
Something like that?
Stefan
diff --git a/etc/NEWS b/etc/NEWS
index c50f560282a..d22969444db 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -610,6 +610,10 @@ provokes an error if used numerically.
* Lisp Changes in Emacs 30.1
+** 'defadvice' is marked as obsolete.
+See (info "(elisp)Porting Old Advice") for help converting them
+to use `advice-add` or `define-advice instead.
+
+++
** New user option 'safe-local-variable-directories'.
This user option names directories in which Emacs will treat all
diff --git a/lisp/emacs-lisp/advice.el b/lisp/emacs-lisp/advice.el
index 56f0ae2212c..3265809f592 100644
--- a/lisp/emacs-lisp/advice.el
+++ b/lisp/emacs-lisp/advice.el
@@ -3131,6 +3131,7 @@ defadvice
[DOCSTRING] [INTERACTIVE-FORM]
BODY...)"
(declare (doc-string 3) (indent 2)
+ (obsolete "use advice-add or define-advice" "30.1")
(debug (&define name ;; thing being advised.
(name ;; class is [&or "before" "around" "after"
;; "activation" "deactivation"]
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#64757
; Package
emacs
.
(Fri, 21 Jul 2023 15:51:01 GMT)
Full text and
rfc822 format available.
Message #14 received at 64757 <at> debbugs.gnu.org (full text, mbox):
> From: Stefan Monnier <monnier <at> iro.umontreal.ca>
> Cc: 64757 <at> debbugs.gnu.org
> Date: Fri, 21 Jul 2023 11:26:04 -0400
>
> > ...this is too terse. We need to mention the two alternatives to
> > defadvice, including pointers to the ELisp manual's nodes. People who
> > still use defadvice will need those to convert their programs.
>
> Something like that?
Yes, thanks.
Reply sent
to
Stefan Monnier <monnier <at> iro.umontreal.ca>
:
You have taken responsibility.
(Fri, 04 Aug 2023 03:45:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Stefan Monnier <monnier <at> iro.umontreal.ca>
:
bug acknowledged by developer.
(Fri, 04 Aug 2023 03:45:03 GMT)
Full text and
rfc822 format available.
Message #19 received at 64757-done <at> debbugs.gnu.org (full text, mbox):
>> Something like that?
> Yes, thanks.
Pushed, thanks,
Stefan
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Fri, 01 Sep 2023 11:24:07 GMT)
Full text and
rfc822 format available.
This bug report was last modified 1 year and 291 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.