GNU bug report logs -
#78983
30.1; Strange reference to "Emacs 10.31" in fileio.c
Previous Next
To reply to this bug, email your comments to 78983 AT debbugs.gnu.org.
There is no need to reopen the bug first.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#78983
; Package
emacs
.
(Wed, 09 Jul 2025 16:45:06 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Ulrich Müller <ulm <at> gentoo.org>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Wed, 09 Jul 2025 16:45:06 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
Fexpand_file_name has another copy below it in an #if 0 ... #endif
block, with the following comment:
/* PLEASE DO NOT DELETE THIS COMMENTED-OUT VERSION!
This is the old version of expand-file-name, before it was thoroughly
rewritten for Emacs 10.31. We leave this version here commented-out,
because the code is very complex and likely to have subtle bugs. If
bugs _are_ found, it might be of interest to look at the old code and
see what did it do in the relevant situation.
Don't remove this code: it's true that it will be accessible
from the repository, but a few years from deletion, people will
forget it is there. */
Maybe I am missing something, but I believe there never was an
Emacs 10.31. Version numbers went from 1.1 to 1.12; then the first
component was dropped and versions continued from 13.
So I looked into the history: The commented-out code existed already
in version 19.7 (but not in 18.59). It was then removed on 2001-10-22
and restored on 2001-10-25 in commit 4887597a1c52 by Eli, who also
added the above comment.
tl;dr Could the version reference be changed to "Emacs 19"?
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#78983
; Package
emacs
.
(Wed, 09 Jul 2025 17:42:04 GMT)
Full text and
rfc822 format available.
Message #8 received at 78983 <at> debbugs.gnu.org (full text, mbox):
> From: Ulrich Müller <ulm <at> gentoo.org>
> Date: Wed, 09 Jul 2025 18:43:36 +0200
>
> Fexpand_file_name has another copy below it in an #if 0 ... #endif
> block, with the following comment:
>
> /* PLEASE DO NOT DELETE THIS COMMENTED-OUT VERSION!
> This is the old version of expand-file-name, before it was thoroughly
> rewritten for Emacs 10.31. We leave this version here commented-out,
> because the code is very complex and likely to have subtle bugs. If
> bugs _are_ found, it might be of interest to look at the old code and
> see what did it do in the relevant situation.
>
> Don't remove this code: it's true that it will be accessible
> from the repository, but a few years from deletion, people will
> forget it is there. */
>
> Maybe I am missing something, but I believe there never was an
> Emacs 10.31. Version numbers went from 1.1 to 1.12; then the first
> component was dropped and versions continued from 13.
>
> So I looked into the history: The commented-out code existed already
> in version 19.7 (but not in 18.59). It was then removed on 2001-10-22
> and restored on 2001-10-25 in commit 4887597a1c52 by Eli, who also
> added the above comment.
>
> tl;dr Could the version reference be changed to "Emacs 19"?
Why is the version important?
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#78983
; Package
emacs
.
(Wed, 09 Jul 2025 18:45:03 GMT)
Full text and
rfc822 format available.
Message #11 received at 78983 <at> debbugs.gnu.org (full text, mbox):
>>>>> On Wed, 09 Jul 2025, Eli Zaretskii wrote:
>> tl;dr Could the version reference be changed to "Emacs 19"?
> Why is the version important?
Apparently it was important enough to mention it, in the first place?
And if that information is there then it should be accurate.
Also, it confuses people, including one of the Emacs maintainers:
https://debbugs.gnu.org/72132
https://emacshorrors.com/posts/forget-me-not.html
https://www.reddit.com/r/emacs/comments/2kwbw9/comment/clqcagc/
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#78983
; Package
emacs
.
(Thu, 10 Jul 2025 05:42:02 GMT)
Full text and
rfc822 format available.
Message #14 received at 78983 <at> debbugs.gnu.org (full text, mbox):
> From: Ulrich Müller <ulm <at> gentoo.org>
> Cc: Ulrich Müller <ulm <at> gentoo.org>, 78983 <at> debbugs.gnu.org
> Date: Wed, 09 Jul 2025 20:44:18 +0200
>
> >>>>> On Wed, 09 Jul 2025, Eli Zaretskii wrote:
>
> >> tl;dr Could the version reference be changed to "Emacs 19"?
>
> > Why is the version important?
>
> Apparently it was important enough to mention it, in the first place?
> And if that information is there then it should be accurate.
>
> Also, it confuses people, including one of the Emacs maintainers:
>
> https://debbugs.gnu.org/72132
> https://emacshorrors.com/posts/forget-me-not.html
> https://www.reddit.com/r/emacs/comments/2kwbw9/comment/clqcagc/
I don't see any confusion, FWIW. I see a good-faith question
(unrelated to the version), which got answered.
Anyway, I don't think 10.31 is a mistake. I think I asked Richard
back then. In particular, the initial commit of fileio.c into CVS,
from Apr 10, 1991 (which is _before_ the time stamp of fileio.c in
Emacs 18.59) already has this #ifdef'ed-away version, even though
Emacs 18.59's version of fileio.c does not. So there's more here than
meets the eye.
I can suggest to remove the version from the text, if this nit is
really deemed important. But I think we are splitting hair here. I
have just spent half an hour looking up old versions of fileio.c --
was that really worth it?
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#78983
; Package
emacs
.
(Thu, 10 Jul 2025 10:39:03 GMT)
Full text and
rfc822 format available.
Message #17 received at 78983 <at> debbugs.gnu.org (full text, mbox):
>>>>> On Thu, 10 Jul 2025, Eli Zaretskii wrote:
> Anyway, I don't think 10.31 is a mistake. I think I asked Richard
> back then. In particular, the initial commit of fileio.c into CVS,
> from Apr 10, 1991 (which is _before_ the time stamp of fileio.c in
> Emacs 18.59) already has this #ifdef'ed-away version, even though
> Emacs 18.59's version of fileio.c does not. So there's more here than
> meets the eye.
I've now compared the #if-0-ed code from the initial version in git
(commit 570d76241f16 from 1991-04-10) to the code in Emacs 18.52,
18.55, and 18.57. While none is a perfect match, 18.55 is close.
Going back further in time (I've looked at 18.41 and 16.56), the
differences become larger.
A telltale sign are also the "#ifdef VMS" code blocks (in the initial
git commit; they were removed later). VMS support was added in Emacs 18,
so these code blocks wouldn't be present in any earlier version.
So I still doubt that "version 10.31" theory.
> I can suggest to remove the version from the text, if this nit is
> really deemed important. But I think we are splitting hair here.
> I have just spent half an hour looking up old versions of fileio.c --
> was that really worth it?
Sorry about that. Feel free to close this bug then. (I thought it was
a no-brainer but apparently it is more complicated.)
Reply sent
to
Eli Zaretskii <eliz <at> gnu.org>
:
You have taken responsibility.
(Thu, 10 Jul 2025 13:20:03 GMT)
Full text and
rfc822 format available.
Notification sent
to
Ulrich Müller <ulm <at> gentoo.org>
:
bug acknowledged by developer.
(Thu, 10 Jul 2025 13:20:03 GMT)
Full text and
rfc822 format available.
Message #22 received at 78983-done <at> debbugs.gnu.org (full text, mbox):
> From: Ulrich Müller <ulm <at> gentoo.org>
> Cc: Ulrich Müller <ulm <at> gentoo.org>, 78983 <at> debbugs.gnu.org
> Date: Thu, 10 Jul 2025 12:38:16 +0200
>
> >>>>> On Thu, 10 Jul 2025, Eli Zaretskii wrote:
>
> > Anyway, I don't think 10.31 is a mistake. I think I asked Richard
> > back then. In particular, the initial commit of fileio.c into CVS,
> > from Apr 10, 1991 (which is _before_ the time stamp of fileio.c in
> > Emacs 18.59) already has this #ifdef'ed-away version, even though
> > Emacs 18.59's version of fileio.c does not. So there's more here than
> > meets the eye.
>
> I've now compared the #if-0-ed code from the initial version in git
> (commit 570d76241f16 from 1991-04-10) to the code in Emacs 18.52,
> 18.55, and 18.57. While none is a perfect match, 18.55 is close.
> Going back further in time (I've looked at 18.41 and 16.56), the
> differences become larger.
>
> A telltale sign are also the "#ifdef VMS" code blocks (in the initial
> git commit; they were removed later). VMS support was added in Emacs 18,
> so these code blocks wouldn't be present in any earlier version.
>
> So I still doubt that "version 10.31" theory.
I cannot remember why I wrote that, and couldn't find anything in my
email archives from back then to help me. But it isn't a simple typo,
since neither 19.31 nor 18.31 nor 1.31 (if interpreted as the CVS
version of fileio.c) fit the bill (I checked them all).
> > I can suggest to remove the version from the text, if this nit is
> > really deemed important. But I think we are splitting hair here.
> > I have just spent half an hour looking up old versions of fileio.c --
> > was that really worth it?
>
> Sorry about that. Feel free to close this bug then.
Done, after removing the offending version number from that comment.
> (I thought it was a no-brainer but apparently it is more
> complicated.)
Not sure what you expected -- that when pointed to my commit I will
not try to understand why I wrote that, and just agree with you on the
spot that I made such a strange mistake by typing a non-trivial wrong
version number? Is that what you would do in such a situation?
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#78983
; Package
emacs
.
(Thu, 10 Jul 2025 16:02:05 GMT)
Full text and
rfc822 format available.
Message #25 received at 78983-done <at> debbugs.gnu.org (full text, mbox):
>>>>> On Thu, 10 Jul 2025, Eli Zaretskii wrote:
> I cannot remember why I wrote that, and couldn't find anything in my
> email archives from back then to help me. But it isn't a simple typo,
> since neither 19.31 nor 18.31 nor 1.31 (if interpreted as the CVS
> version of fileio.c) fit the bill (I checked them all).
So it's a mystery. Not many clues from the ChangeLog either; there are
only two entries for Fexpand_file_name between the 18.52 release and the
initial version in git:
| 1989-04-06 Richard Stallman (rms <at> sugar-bombs.ai.mit.edu)
|
| * fileio.c (Fexpand_file_name): Don't simplify /../ at start of name.
This change made it into the 18.55 release (which contains only one
version of the function, namely the one that is now #if-ed out).
| 1990-06-01 Joseph Arceneaux (jla <at> churchy.ai.mit.edu)
|
| * fileio.c (Fexpand_file_name): Simplified.
This could be anything. :/
> Done, after removing the offending version number from that comment.
Thank you.
> Not sure what you expected -- that when pointed to my commit I will
> not try to understand why I wrote that, and just agree with you on the
> spot that I made such a strange mistake by typing a non-trivial wrong
> version number? Is that what you would do in such a situation?
Indeed it doesn't look like a simple typo.
This bug report was last modified 1 day ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.