all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#11314: 24.1.50; Regression: incorrect Lisp indentation for `if' with `@@@@@@'
@ 2012-04-23  0:56 Drew Adams
  2012-04-24  0:58 ` Stefan Monnier
  2019-11-01 19:59 ` Stefan Kangas
  0 siblings, 2 replies; 7+ messages in thread
From: Drew Adams @ 2012-04-23  0:56 UTC (permalink / raw)
  To: 11314

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@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'
 






^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#11314: 24.1.50; Regression: incorrect Lisp indentation for `if' with `@@@@@@'
  2012-04-23  0:56 bug#11314: 24.1.50; Regression: incorrect Lisp indentation for `if' with `@@@@@@' Drew Adams
@ 2012-04-24  0:58 ` Stefan Monnier
  2012-04-24  1:21   ` Drew Adams
  2019-11-01 19:59 ` Stefan Kangas
  1 sibling, 1 reply; 7+ messages in thread
From: Stefan Monnier @ 2012-04-24  0:58 UTC (permalink / raw)
  To: Drew Adams; +Cc: 11314

> 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





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#11314: 24.1.50; Regression: incorrect Lisp indentation for `if' with `@@@@@@'
  2012-04-24  0:58 ` Stefan Monnier
@ 2012-04-24  1:21   ` Drew Adams
  2012-09-17  0:02     ` Drew Adams
  0 siblings, 1 reply; 7+ messages in thread
From: Drew Adams @ 2012-04-24  1:21 UTC (permalink / raw)
  To: 'Stefan Monnier'; +Cc: 11314

 > > 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'.






^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#11314: 24.1.50; Regression: incorrect Lisp indentation for `if' with `@@@@@@'
  2012-04-24  1:21   ` Drew Adams
@ 2012-09-17  0:02     ` Drew Adams
  0 siblings, 0 replies; 7+ messages in thread
From: Drew Adams @ 2012-09-17  0:02 UTC (permalink / raw)
  To: 'Stefan Monnier'; +Cc: 11314

ping






^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#11314: 24.1.50; Regression: incorrect Lisp indentation for `if' with `@@@@@@'
  2012-04-23  0:56 bug#11314: 24.1.50; Regression: incorrect Lisp indentation for `if' with `@@@@@@' Drew Adams
  2012-04-24  0:58 ` Stefan Monnier
@ 2019-11-01 19:59 ` Stefan Kangas
  2019-11-01 20:44   ` Andreas Schwab
  1 sibling, 1 reply; 7+ messages in thread
From: Stefan Kangas @ 2019-11-01 19:59 UTC (permalink / raw)
  To: Drew Adams; +Cc: 11314

found 11314 27.0.50
thanks

"Drew Adams" <drew.adams@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





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#11314: 24.1.50; Regression: incorrect Lisp indentation for `if' with `@@@@@@'
  2019-11-01 19:59 ` Stefan Kangas
@ 2019-11-01 20:44   ` Andreas Schwab
  2019-11-01 21:23     ` Drew Adams
  0 siblings, 1 reply; 7+ messages in thread
From: Andreas Schwab @ 2019-11-01 20:44 UTC (permalink / raw)
  To: Stefan Kangas; +Cc: 11314

On Nov 01 2019, Stefan Kangas wrote:

> found 11314 27.0.50
> thanks
>
> "Drew Adams" <drew.adams@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@linux-m68k.org
GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510  2552 DF73 E780 A9DA AEC1
"And now for something completely different."





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#11314: 24.1.50; Regression: incorrect Lisp indentation for `if' with `@@@@@@'
  2019-11-01 20:44   ` Andreas Schwab
@ 2019-11-01 21:23     ` Drew Adams
  0 siblings, 0 replies; 7+ messages in thread
From: Drew Adams @ 2019-11-01 21:23 UTC (permalink / raw)
  To: Andreas Schwab, Stefan Kangas; +Cc: 11314

> >> (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.





^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2019-11-01 21:23 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-04-23  0:56 bug#11314: 24.1.50; Regression: incorrect Lisp indentation for `if' with `@@@@@@' Drew Adams
2012-04-24  0:58 ` Stefan Monnier
2012-04-24  1:21   ` Drew Adams
2012-09-17  0:02     ` Drew Adams
2019-11-01 19:59 ` Stefan Kangas
2019-11-01 20:44   ` Andreas Schwab
2019-11-01 21:23     ` Drew Adams

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.