GNU bug report logs -
#16491
24.3.50; REGRESSION: `defadvice' doc removed from Elisp manual
Previous Next
Reported by: Drew Adams <drew.adams <at> oracle.com>
Date: Sun, 19 Jan 2014 06:46:01 UTC
Severity: normal
Found in version 24.3.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 16491 in the body.
You can then email your comments to 16491 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#16491
; Package
emacs
.
(Sun, 19 Jan 2014 06:46:01 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Drew Adams <drew.adams <at> oracle.com>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Sun, 19 Jan 2014 06:46:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
Elisp manual node `Advising Emacs Lisp Functions' has been rewritten to
include the new `add-function' stuff. It is fine to document that new
feature.
What's not fine is to simply remove all of the doc about the traditional
`defadvice' advice system. Even if that feature is to be deprecated,
its doc should remain until it is desupported. If this removal is not
a temporary oversight (mistake) then it is quite misguided. It hurts
Emacs users.
The Elisp manual should continue to be usable to help users code
`defadvice' advice, in addition to `add-function' advice. As one use
case, some users will use Emacs 24.4 to write or maintain code for
older or multiple Emacs versions.
Normally there is a reasonably long transition period before a feature,
especially a major feature such as `defadvice', is desupported. And
until desupport, the deprecated feature remains SUPPORTED - in
particular, by continuing to provide users with its reference doc.
In GNU Emacs 24.3.50.1 (i686-pc-mingw32)
of 2014-01-17 on ODIEONE
Bzr revision: 116059 michael.albinus <at> gmx.de-20140117182409-gz695p2c951idlee
Windowing system distributor `Microsoft Corp.', version 6.1.7601
Configured using:
`configure --prefix=/c/Devel/emacs/binary --enable-checking=yes,glyphs
'CFLAGS=-O0 -g3' LDFLAGS=-Lc:/Devel/emacs/lib
CPPFLAGS=-Ic:/Devel/emacs/include'
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#16491
; Package
emacs
.
(Sun, 19 Jan 2014 16:59:02 GMT)
Full text and
rfc822 format available.
Message #8 received at submit <at> debbugs.gnu.org (full text, mbox):
Drew Adams <drew.adams <at> oracle.com> wrote:
> Elisp manual node `Advising Emacs Lisp Functions' has been rewritten to
> include the new `add-function' stuff. It is fine to document that new
> feature.
> What's not fine is to simply remove all of the doc about the traditional
> `defadvice' advice system. Even if that feature is to be deprecated,
> its doc should remain until it is desupported. If this removal is not
> a temporary oversight (mistake) then it is quite misguided. It hurts
> Emacs users.
+1. defadvice will remain absolutely necessary for Emacs hackers
maintaining packages with the exception of those who are only targetting
recent GNU Emacsen.
> The Elisp manual should continue to be usable to help users code
> `defadvice' advice, in addition to `add-function' advice. As one use
> case, some users will use Emacs 24.4 to write or maintain code for
> older or multiple Emacs versions.
Not a few users, either. Without documentation, defadvice is unusable and
packages using it are unmaintainable. The doc string of defadvice, by
itself, is inadequate; for example, it doesn't say anything about ad-do-it.
Besides, there are 34 files in .../lisp containing the string "defadvice".
This feature is clearly widely used, even in the Emacs sources.
> Normally there is a reasonably long transition period before a feature,
> especially a major feature such as `defadvice', is desupported. And
> until desupport, the deprecated feature remains SUPPORTED - in
> particular, by continuing to provide users with its reference doc.
--
Alan Mackenzie (Nuremberg, Germany).
Reply sent
to
Stefan Monnier <monnier <at> iro.umontreal.ca>
:
You have taken responsibility.
(Sun, 19 Jan 2014 20:41:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Drew Adams <drew.adams <at> oracle.com>
:
bug acknowledged by developer.
(Sun, 19 Jan 2014 20:41:03 GMT)
Full text and
rfc822 format available.
Message #13 received at 16491-done <at> debbugs.gnu.org (full text, mbox):
>> What's not fine is to simply remove all of the doc about the traditional
>> `defadvice' advice system.
Totally agreed. Which is why I kept the 60KB of docs in the
Commentary section of advice.el.
Stefan
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#16491
; Package
emacs
.
(Sun, 19 Jan 2014 22:33:02 GMT)
Full text and
rfc822 format available.
Message #16 received at 16491-done <at> debbugs.gnu.org (full text, mbox):
> >> What's not fine is to simply remove all of the doc about
> >> the traditional `defadvice' advice system.
>
> Totally agreed. Which is why I kept the 60KB of docs in the
> Commentary section of advice.el.
That is not the user doc. It is good that you at least
saved that information somewhere. Such a concession! 60KB!
But it is not sufficient to just stuff that information into
a Lisp-file Commentary somewhere. At the very least, it
should be available as an Info manual distributed with Emacs.
The fact that you felt it was worth mentioning how many KB
this doc weighs betrays your attitude about it, and perhaps
about user doc in general.
But you have already expressed yourself on that, stating in
the past that users don't need _any_ doc, and the code needs
no comments - the code itself suffices and is the real doc.
When will you bury all of the doc in Lisp comments? Why
stop now with `defadvice'?
This is an anti-user attitude that is quite inappropriate,
especially for someone charged with leading Emacs development.
Too bad.
At least I know where to find the `defadvice' doc now - thank
you for that tip. But poor Emacs.
Oh, BTW, did you give a _reason_ for carving this out of the
doc and moving it to a Lisp comment? Did you propose that
possibility for emacs-devel discussion and present technical
or user-level arguments supporting it?
Did I miss those reasons somehow? No? I didn't think so.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#16491
; Package
emacs
.
(Mon, 20 Jan 2014 02:32:01 GMT)
Full text and
rfc822 format available.
Message #19 received at 16491-done <at> debbugs.gnu.org (full text, mbox):
> At the very least, it should be available as an Info manual
> distributed with Emacs.
No, we don't document everything, and since documenting is advertising
we only document those things which we want people to use.
Stefan
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#16491
; Package
emacs
.
(Wed, 22 Jan 2014 22:15:02 GMT)
Full text and
rfc822 format available.
Message #22 received at 16491 <at> debbugs.gnu.org (full text, mbox):
On Sun, Jan 19, 2014 at 09:31:07PM -0500, Stefan Monnier wrote:
> > At the very least, it [documentation of defadvice] should be
> > available as an Info manual distributed with Emacs.
> No, we don't document everything, and since documenting is advertising
> we only document those things which we want people to use.
How about documenting the things those people want to use? I, for one,
need defadvice (in CC Mode), and the message coming out is that the
upcoming Emacs might not be an optimal development platform the way the
current Emacs is.
Also, how are we encouraging people to convert defadvice to the new
replacement functions if they can't easily access the former's
documentation?
> Stefan
--
Alan Mackenzie (Nuremberg, Germany).
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#16491
; Package
emacs
.
(Wed, 22 Jan 2014 22:21:02 GMT)
Full text and
rfc822 format available.
Message #25 received at 16491 <at> debbugs.gnu.org (full text, mbox):
On 01/22/2014 02:11 PM, Alan Mackenzie wrote:
> On Sun, Jan 19, 2014 at 09:31:07PM -0500, Stefan Monnier wrote:
>>> At the very least, it [documentation of defadvice] should be
>>> available as an Info manual distributed with Emacs.
>
>> No, we don't document everything, and since documenting is advertising
>> we only document those things which we want people to use.
Moving the documentation to a "deprecated" section --- or even a
separate elisp manual for deprecated functionality --- woudl be a good
compromise.
> How about documenting the things those people want to use? I, for one,
> need defadvice (in CC Mode), and the message coming out is that the
> upcoming Emacs might not be an optimal development platform the way the
> current Emacs is.
>
> Also, how are we encouraging people to convert defadvice to the new
> replacement functions if they can't easily access the former's
> documentation?
What if we did it the other way around and provided a downlevel- and
XEmacs-compatible add-function implementation written in terms of old
defadvice?
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#16491
; Package
emacs
.
(Wed, 22 Jan 2014 22:43:01 GMT)
Full text and
rfc822 format available.
Message #28 received at 16491 <at> debbugs.gnu.org (full text, mbox):
> >> No, we don't document everything, and since documenting is advertising
> >> we only document those things which we want people to use.
>
> Moving the documentation to a "deprecated" section --- or even a
> separate elisp manual for deprecated functionality --- woudl be a good
> compromise.
Those were already suggested and rejected.
It should not be too difficult, and would be really helpful to users, to
extract the existing advice doc as a separate manual, and to link to (and
from) it from (and to) the new advice section in the Elisp manual.
> > How about documenting the things those people want to use? I, for one,
> > need defadvice (in CC Mode), and the message coming out is that the
> > upcoming Emacs might not be an optimal development platform the way the
> > current Emacs is.
> >
> > Also, how are we encouraging people to convert defadvice to the new
> > replacement functions if they can't easily access the former's
> > documentation?
That was my main point: deprecation involves pointing the way forward, and
a direction implies a vector: FROM here TO there. In *detail*, not just
"`defadvice' is gone now; `add-function' was added to replace it."
Deprecation should always either explicitly identify a specific replacement
or explicitly state that there is no replacement - for *each* thingie
deprecated and for each of its features/functionalities.
IOW, either (1) say what, in the new replaces what in the old - e.g., use
(new) B instead of (deprecated) A or else (2) state that there is nothing
in the new that replaces X of the old (a loss of functionality, which
might or might not be important).
Why? Because during deprecation you are *still supporting* the old, and
as Alan emphasized, you are indicating how to move toward the new, which
serves as encouragement to do so. The point of deprecation is to help
users move forward.
> What if we did it the other way around and provided a downlevel- and
> XEmacs-compatible add-function implementation written in terms of old
> defadvice?
That would be fine too - it would ensure backward compatibility, but I
do not see that happening, do you?
The attitude seems to be to simply turn a blind eye toward what has long
existed (and still exists, BTW).
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Thu, 20 Feb 2014 12:24:04 GMT)
Full text and
rfc822 format available.
This bug report was last modified 11 years and 119 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.