--- Begin Message ---
Subject: |
24.1.50; Regression: incorrect Lisp indentation for `if' with `@@@@@@' |
Date: |
Sun, 22 Apr 2012 17:56:10 -0700 |
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'
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#24542: 25.1.50; The symbol `@' and sexp scanning |
Date: |
Fri, 12 Apr 2024 13:29:16 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
>> (defvar emacs-lisp-mode-syntax-table
>> (let ((table (make-syntax-table lisp-data-mode-syntax-table)))
>> - ;; These are redundant, now.
>> - ;;(modify-syntax-entry ?\[ "(] " table)
>> - ;;(modify-syntax-entry ?\] ")[ " table)
>> + ;; `syntax-propertize'. takes care of `,@'.
>> + (modify-syntax-entry ?@ "_" table)
>> table)
>> "Syntax table used in `emacs-lisp-mode'.")
>
> This seems to give good results for me - so far at least.
Thanks, pushed to `master`, closing.
Stefan
--- End Message ---