GNU bug report logs -
#11314
24.1.50; Regression: incorrect Lisp indentation for `if' with `@@@@@@'
Previous Next
Reported by: "Drew Adams" <drew.adams <at> oracle.com>
Date: Mon, 23 Apr 2012 00:58:01 UTC
Severity: minor
Tags: confirmed
Merged with 24542
Found in versions 24.1.50, 25.1.50, 27.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 11314 in the body.
You can then email your comments to 11314 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#11314
; Package
emacs
.
(Mon, 23 Apr 2012 00:58: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
.
(Mon, 23 Apr 2012 00:58:01 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
emacs -Q
Type this into an Emacs Lisp buffer:
(if (alpha beta) C-j aaaaaa C-j bbbbbb
You get this:
(if (alpha beta)
aaaaaa
bbbbbb
That is correct. bbbbbb is indented correctly.
Now do the same thing, using @@@@@@ instead of aaaaaa. This is the
result - bbbbbb is indented incorrectly.
(if (alpha beta)
@@@@@@
bbbbbb
Yet @@@@@@ is a perfectly good symbol/variable name etc.
This regression was introduced in Emacs 22.
In GNU Emacs 24.1.50.1 (i386-mingw-nt5.1.2600)
of 2012-04-19 on MARVIN
Bzr revision: 107968 monnier <at> iro.umontreal.ca-20120419220225-gijdcbfxuiqy5dhb
Windowing system distributor `Microsoft Corp.', version 5.1.2600
Configured using:
`configure --with-gcc (4.6) --no-opt --enable-checking --cflags
-ID:/devel/emacs/libs/libXpm-3.5.8/include
-ID:/devel/emacs/libs/libXpm-3.5.8/src
-ID:/devel/emacs/libs/libpng-dev_1.4.3-1/include
-ID:/devel/emacs/libs/zlib-dev_1.2.5-2/include
-ID:/devel/emacs/libs/giflib-4.1.4-1/include
-ID:/devel/emacs/libs/jpeg-6b-4/include
-ID:/devel/emacs/libs/tiff-3.8.2-1/include
-ID:/devel/emacs/libs/gnutls-3.0.9/include
-ID:/devel/emacs/libs/libiconv-1.13.1-1-dev/include
-ID:/devel/emacs/libs/libxml2-2.7.8/include/libxml2'
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#11314
; Package
emacs
.
(Tue, 24 Apr 2012 01:00:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 11314 <at> debbugs.gnu.org (full text, mbox):
> Yet @@@@@@ is a perfectly good symbol/variable name etc.
FWIW, this is probably due to @ being special in the case of ,@, so if
we fix this, we should be careful not to reintroduce errors such as C-h v
trying to use "@foo" rather than "foo" when we're on ",@foo".
Stefan
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#11314
; Package
emacs
.
(Tue, 24 Apr 2012 01:23:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 11314 <at> debbugs.gnu.org (full text, mbox):
> > Yet @@@@@@ is a perfectly good symbol/variable name etc.
>
> FWIW, this is probably due to @ being special in the case of ,@,
That was my guess too.
> so if we fix this, we should be careful not to reintroduce
> errors
Yes. Except I hope you really mean "when", not "if".
> such as C-h v trying to use "@foo" rather than "foo" when
> we're on ",@foo".
Yes.
The fact that this is a regression might offer some hope (if you are the
optimistic sort): at one time it worked.
And `C-h v @foo' also works correctly in Emacs prior to Emacs 22. And `C-h v'
picks up `@foo' as the default value no matter where the cursor is on the chars
of `@foo'.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#11314
; Package
emacs
.
(Mon, 17 Sep 2012 00:05:01 GMT)
Full text and
rfc822 format available.
Message #14 received at 11314 <at> debbugs.gnu.org (full text, mbox):
ping
Added tag(s) confirmed.
Request was from
Lars Ingebrigtsen <larsi <at> gnus.org>
to
control <at> debbugs.gnu.org
.
(Sun, 09 Feb 2014 04:36:01 GMT)
Full text and
rfc822 format available.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#11314
; Package
emacs
.
(Fri, 01 Nov 2019 20:00:02 GMT)
Full text and
rfc822 format available.
Message #19 received at 11314 <at> debbugs.gnu.org (full text, mbox):
found 11314 27.0.50
thanks
"Drew Adams" <drew.adams <at> oracle.com> writes:
> emacs -Q
>
> Type this into an Emacs Lisp buffer:
>
> (if (alpha beta) C-j aaaaaa C-j bbbbbb
>
> You get this:
>
> (if (alpha beta)
> aaaaaa
> bbbbbb
>
> That is correct. bbbbbb is indented correctly.
>
> Now do the same thing, using @@@@@@ instead of aaaaaa. This is the
> result - bbbbbb is indented incorrectly.
>
> (if (alpha beta)
> @@@@@@
> bbbbbb
>
> Yet @@@@@@ is a perfectly good symbol/variable name etc.
>
> This regression was introduced in Emacs 22.
I can reproduce this on current master.
Best regards,
Stefan Kangas
bug Marked as found in versions 27.0.50.
Request was from
Stefan Kangas <stefan <at> marxist.se>
to
control <at> debbugs.gnu.org
.
(Fri, 01 Nov 2019 20:00:05 GMT)
Full text and
rfc822 format available.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#11314
; Package
emacs
.
(Fri, 01 Nov 2019 20:45:02 GMT)
Full text and
rfc822 format available.
Message #24 received at 11314 <at> debbugs.gnu.org (full text, mbox):
On Nov 01 2019, Stefan Kangas wrote:
> found 11314 27.0.50
> thanks
>
> "Drew Adams" <drew.adams <at> oracle.com> writes:
>
>> emacs -Q
>>
>> Type this into an Emacs Lisp buffer:
>>
>> (if (alpha beta) C-j aaaaaa C-j bbbbbb
>>
>> You get this:
>>
>> (if (alpha beta)
>> aaaaaa
>> bbbbbb
>>
>> That is correct. bbbbbb is indented correctly.
>>
>> Now do the same thing, using @@@@@@ instead of aaaaaa. This is the
>> result - bbbbbb is indented incorrectly.
>>
>> (if (alpha beta)
>> @@@@@@
>> bbbbbb
>>
>> Yet @@@@@@ is a perfectly good symbol/variable name etc.
>>
>> This regression was introduced in Emacs 22.
>
> I can reproduce this on current master.
That's because @ has the prefix syntax flag (for ,@).
Andreas.
--
Andreas Schwab, schwab <at> linux-m68k.org
GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1
"And now for something completely different."
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#11314
; Package
emacs
.
(Fri, 01 Nov 2019 21:25:02 GMT)
Full text and
rfc822 format available.
Message #27 received at 11314 <at> debbugs.gnu.org (full text, mbox):
> >> (if (alpha beta)
> >> @@@@@@
> >> bbbbbb
> >>
> >> Yet @@@@@@ is a perfectly good symbol/variable name etc.
> >> This regression was introduced in Emacs 22.
> >
> > I can reproduce this on current master.
>
> That's because @ has the prefix syntax flag (for ,@).
That explains the implementation bug, I guess.
But there's no backquote or comma here.
And `@@@@@@' is just a normal symbol.
Just as we don't treat comma the same inside
and outside backquote (we raise an error for
the latter), ideally we shouldn't treat @ the
same inside and outside backquote (symbol
syntax for the latter).
And presumably the only uses of @ inside
backquote that should lead to different
indentation would only be when @ follows
comma.
Forcibly Merged 11314 24542.
Request was from
Lars Ingebrigtsen <larsi <at> gnus.org>
to
control <at> debbugs.gnu.org
.
(Mon, 31 Jan 2022 16:37:02 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
.
(Sat, 11 May 2024 11:24:05 GMT)
Full text and
rfc822 format available.
This bug report was last modified 363 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.