GNU bug report logs -
#19423
25.0.50; incompatible change to `make-obsolete' - added 3rd arg should be optional
Previous Next
Reported by: Drew Adams <drew.adams <at> oracle.com>
Date: Sun, 21 Dec 2014 17:15:02 UTC
Severity: normal
Tags: notabug
Found in version 25.0.50
Done: Dmitry Gutov <dgutov <at> yandex.ru>
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 19423 in the body.
You can then email your comments to 19423 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#19423
; Package
emacs
.
(Sun, 21 Dec 2014 17:15:02 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, 21 Dec 2014 17:15:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
This change, made long ago unfortunately, is incompatible. Previous to
the change, `make-obsolete' accepted only 2 args. It should still be
possible to use the function with only 2 args, as well as with 3.
This was presumably a careless oversight, and not intended as part of
the change to adding parameter WHEN. The doc string in fact indicates
that this was not intended:
If provided, WHEN should be a string indicating when the function
^^^^^^^^^^^
was first made obsolete, for example a date or a release number.
In GNU Emacs 25.0.50.1 (i686-pc-mingw32)
of 2014-10-20 on LEG570
Bzr revision: 118168 rgm <at> gnu.org-20141020195941-icp42t8ttcnud09g
Windowing system distributor `Microsoft Corp.', version 6.1.7601
Configured using:
`configure --enable-checking=yes,glyphs CPPFLAGS=-DGLYPH_DEBUG=1'
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#19423
; Package
emacs
.
(Sun, 21 Dec 2014 17:20:03 GMT)
Full text and
rfc822 format available.
Message #8 received at 19423 <at> debbugs.gnu.org (full text, mbox):
Even worse. It turns out that when parameter WHEN was added
Emacs Dev did the right thing: it *was* optional.
In Emacs 23 someone unwisely changed it to mandatory, an
incompatible change that gratuitously breaks code that could
be used with older Emacs releases. Pain for no real gain.
Reply sent
to
Dmitry Gutov <dgutov <at> yandex.ru>
:
You have taken responsibility.
(Sun, 21 Dec 2014 18:54:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Drew Adams <drew.adams <at> oracle.com>
:
bug acknowledged by developer.
(Sun, 21 Dec 2014 18:54:02 GMT)
Full text and
rfc822 format available.
Message #13 received at 19423-done <at> debbugs.gnu.org (full text, mbox):
Drew Adams <drew.adams <at> oracle.com> writes:
> In Emacs 23 someone unwisely changed it to mandatory, an
> incompatible change that gratuitously breaks code that could
> be used with older Emacs releases. Pain for no real gain.
You should look at the code sometimes.
The change is very much compatible: `make-obsolete' can still be called
with only two arguments without error. The third one is only mandatory
in the advertised calling convention.
Even if it wasn't, it would be too late to fix the "problem": it
wouldn't work in 23 and 24 anyway.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#19423
; Package
emacs
.
(Sun, 21 Dec 2014 18:59:02 GMT)
Full text and
rfc822 format available.
Message #16 received at 19423-done <at> debbugs.gnu.org (full text, mbox):
> > In Emacs 23 someone unwisely changed it to mandatory, an
> > incompatible change that gratuitously breaks code that could
> > be used with older Emacs releases. Pain for no real gain.
>
> You should look at the code sometimes.
You should look at the byte-compiler warning that the user sees.
It tells her that only 2 args are present but 3 are *required*.
> The change is very much compatible: `make-obsolete' can still be
> called with only two arguments without error. The third one is only
> mandatory in the advertised calling convention.
See above. The byte-compiler tells you that it is mandatory.
> Even if it wasn't, it would be too late to fix the "problem": it
> wouldn't work in 23 and 24 anyway.
No, but it would work for Emacs 25, and releases prior to 23.
There is no good reason *not* to fix it, is there?
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#19423
; Package
emacs
.
(Sun, 21 Dec 2014 19:02:02 GMT)
Full text and
rfc822 format available.
Message #19 received at 19423-done <at> debbugs.gnu.org (full text, mbox):
> > > In Emacs 23 someone unwisely changed it to mandatory, an
> > > incompatible change that gratuitously breaks code that could
> > > be used with older Emacs releases. Pain for no real gain.
> >
> > You should look at the code sometimes.
>
> You should look at the byte-compiler warning that the user sees.
> It tells her that only 2 args are present but 3 are *required*.
>
> > The change is very much compatible: `make-obsolete' can still be
> > called with only two arguments without error. The third one is
> > only mandatory in the advertised calling convention.
>
> See above. The byte-compiler tells you that it is mandatory.
>
> > Even if it wasn't, it would be too late to fix the "problem": it
> > wouldn't work in 23 and 24 anyway.
>
> No, but it would work for Emacs 25, and releases prior to 23.
>
> There is no good reason *not* to fix it, is there?
Oh, I see that you already closed it. What a shame.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#19423
; Package
emacs
.
(Sun, 21 Dec 2014 19:07:01 GMT)
Full text and
rfc822 format available.
Message #22 received at 19423-done <at> debbugs.gnu.org (full text, mbox):
On 12/21/2014 08:58 PM, Drew Adams wrote:
> You should look at the byte-compiler warning that the user sees.
It's a warning, not an error. The code will work.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#19423
; Package
emacs
.
(Sun, 21 Dec 2014 20:34:02 GMT)
Full text and
rfc822 format available.
Message #25 received at 19423-done <at> debbugs.gnu.org (full text, mbox):
> > You should look at the byte-compiler warning that the user sees.
>
> It's a warning, not an error. The code will work.
The warning is blatantly incorrect - the 3rd arg is not required.
It misleads. There is no need for such a "warning" - nothing to
warn users about, since the argument is optional. It serves
no useful purpose. It causes harm by lying to users, confusing
and misleading them.
There is no good reason not to fix this now. And no reason at
all to close it.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#19423
; Package
emacs
.
(Sun, 21 Dec 2014 20:40:02 GMT)
Full text and
rfc822 format available.
Message #28 received at 19423-done <at> debbugs.gnu.org (full text, mbox):
On 12/21/2014 10:33 PM, Drew Adams wrote:
> It misleads. There is no need for such a "warning" - nothing to
> warn users about, since the argument is optional. It serves
> no useful purpose.
While the argument is still optional now, it won't be, at some point in
the future. And there's a good reason to require this argument: people
should annotate each obsoletion with the version when it happened.
That change was made 5 years ago; let it go.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#19423
; Package
emacs
.
(Sun, 21 Dec 2014 21:11:02 GMT)
Full text and
rfc822 format available.
Message #31 received at 19423-done <at> debbugs.gnu.org (full text, mbox):
> > It misleads. There is no need for such a "warning" - nothing to
> > warn users about, since the argument is optional. It serves
> > no useful purpose.
>
> While the argument is still optional now, it won't be, at some point
> in the future.
Why should it?
> And there's a good reason to require this argument: people
> should annotate each obsoletion with the version when it happened.
That is *not* a good reason to make the argument mandatory.
That is a good reason to document why they should do so and
thus encourage them to do so. Making such an argument
mandatory for that reason alone is quite misguided.
> That change was made 5 years ago; let it go.
It is trivial to fix the mistake, no matter how long ago
it was made. Again, there is no good reason *not* to fix
this.
Added tag(s) notabug.
Request was from
Stefan Monnier <monnier <at> iro.umontreal.ca>
to
control <at> debbugs.gnu.org
.
(Mon, 22 Dec 2014 02:52:01 GMT)
Full text and
rfc822 format available.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Mon, 19 Jan 2015 12:24:03 GMT)
Full text and
rfc822 format available.
This bug report was last modified 10 years and 155 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.