From: don@donarmstrong.com (Emacs bug Tracking System)
To: martin rudalics <rudalics@gmx.at>
Subject: bug#1012: marked as done (calculate-lisp-indent)
Date: Wed, 24 Sep 2008 01:30:04 -0700 [thread overview]
Message-ID: <handler.1012.D1012.12222446017991.ackdone@emacsbugs.donarmstrong.com> (raw)
In-Reply-To: 48D68650.1040907@sauermann-consulting.de
[-- Attachment #1: Type: text/plain, Size: 811 bytes --]
Your message dated Wed, 24 Sep 2008 10:16:33 +0200
with message-id <48D9F761.1000805@gmx.at>
and subject line Re: bug#1012: calculate-lisp-indent
has caused the Emacs bug report #1012,
regarding calculate-lisp-indent
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact don@donarmstrong.com
immediately.)
--
1012: http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=1012
Emacs Bug Tracking System
Contact don@donarmstrong.com with problems
[-- Attachment #2: Type: message/rfc822, Size: 7698 bytes --]
[-- Attachment #2.1.1: Type: text/plain, Size: 2912 bytes --]
Hello,
I found a bug concerning the function calculate-lisp-indent in lisp-mode.el.
It is triggered in the following scenarios (-!- marks the point):
---begin scenario 1 buffer *scratch*---
(,@foo
:bar)-!-
---end scenario 1 buffer *scratch*---
---begin scenario 2 buffer *scratch*---
( foo
:bar)-!-
---end scenario 2 buffer *scratch*---
Using <tab> (bound to the function lisp-indent-line) triggers the
following error in both scenarios:
---begin error---
forward-sexp: Scan error: "Containing expression ends prematurely", 192, 192
---end error---
I traced this bug to the function calculate-lisp-indent.
As far as I understand the code, the characters ",@" in scenario 1 and
the spaces in scenario 2 are not treated correctly.
In this E-Mail I included a patch, that solves the problems for me, and
was created with the command
mhoram@revelstone:~/emacs/trunk/emacs/lisp$ cvs diff -c >
~/emacs-bugreport.txt
The patch works for scenario 1 by an additional call of the
(backward-prefix-chars) function, which sets point back to the beginning
of ",@".
For scenario 2 the addition of "\\|([ \t]+" solves the problem, by not
entering the while-loop (and thus calling the function (forward-sexp
-1)), if there are only spaces between the "(" and the first object.
Regards,
Markus Sauermann
In GNU Emacs 22.3.1 (i386-mingw-nt6.0.6001)
of 2008-09-06 on SOFT-MJASON
Windowing system distributor `Microsoft Corp.', version 6.0.6001
configured using `configure --with-gcc (3.4)'
Important settings:
value of $LC_ALL: nil
value of $LC_COLLATE: nil
value of $LC_CTYPE: nil
value of $LC_MESSAGES: nil
value of $LC_MONETARY: nil
value of $LC_NUMERIC: nil
value of $LC_TIME: nil
value of $LANG: DEU
locale-coding-system: cp1252
default-enable-multibyte-characters: t
Major mode: Lisp Interaction
Minor modes in effect:
encoded-kbd-mode: t
tooltip-mode: t
tool-bar-mode: t
mouse-wheel-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
unify-8859-on-encoding-mode: t
utf-translate-cjk-mode: t
auto-compression-mode: t
line-number-mode: t
Recent input:
<help-echo> <help-echo> <help-echo> <help-echo> q (
, @ f o o <return> <tab> : b a r ) <tab> M-x r e p
o r t <tab> <return>
Recent messages:
("D:\\Uninstalled\\emacs-22.3\\bin\\emacs.exe" "-q")
Loading encoded-kb...done
For information about GNU Emacs and the GNU system, type C-h C-a.
forward-sexp: Scan error: "Containing expression ends prematurely", 192, 192
Loading emacsbug...
Loading regexp-opt...done
Loading emacsbug...done
--
Markus Sauermann E-Mail: info@sauermann-consulting.de
Clemensstr. 55 Rgb. Web: http://www.sauermann-consulting.de
80803 München Tel: 089/337707, 0179/9879005, Fax: 089/38476434
[-- Attachment #2.1.2: emacs-bugreport.txt --]
[-- Type: text/plain, Size: 2011 bytes --]
Index: ChangeLog
===================================================================
RCS file: /sources/emacs/emacs/lisp/ChangeLog,v
retrieving revision 1.14493
diff -c -r1.14493 ChangeLog
*** ChangeLog 20 Sep 2008 22:09:39 -0000 1.14493
--- ChangeLog 21 Sep 2008 17:08:59 -0000
***************
*** 1,3 ****
--- 1,9 ----
+ 2008-09-21 Markus Sauermann <markus@sauermann-consulting.de>
+
+ * emacs-lisp/lisp-mode.el (calculate-lisp-indent):
+ Fix indentation problem with keyword symbols when a list starts
+ with ,@ or spaces.
+
2008-09-20 Vincent Belaïche <vincent.b.1@hotmail.fr>
* calc/calc-vec.el (calcFunc-venum): Properly handle intervals.
Index: emacs-lisp/lisp-mode.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/emacs-lisp/lisp-mode.el,v
retrieving revision 1.226
diff -c -r1.226 lisp-mode.el
*** emacs-lisp/lisp-mode.el 20 Sep 2008 21:54:44 -0000 1.226
--- emacs-lisp/lisp-mode.el 21 Sep 2008 17:09:04 -0000
***************
*** 1027,1033 ****
;; where it begins, so find that one, instead.
(save-excursion
(goto-char calculate-lisp-indent-last-sexp)
! (while (and (not (looking-back "^[ \t]*"))
(or (not containing-sexp)
(< (1+ containing-sexp) (point))))
(forward-sexp -1)
--- 1027,1034 ----
;; where it begins, so find that one, instead.
(save-excursion
(goto-char calculate-lisp-indent-last-sexp)
! (backward-prefix-chars)
! (while (and (not (looking-back "^[ \t]*\\|([ \t]+"))
(or (not containing-sexp)
(< (1+ containing-sexp) (point))))
(forward-sexp -1)
[-- Attachment #3: Type: message/rfc822, Size: 1688 bytes --]
From: martin rudalics <rudalics@gmx.at>
To: 1012-done@emacsbugs.donarmstrong.com
Cc: Markus Sauermann <markus@sauermann-consulting.de>
Subject: Re: bug#1012: calculate-lisp-indent
Date: Wed, 24 Sep 2008 10:16:33 +0200
Message-ID: <48D9F761.1000805@gmx.at>
Fixed as:
2008-09-23 Markus Sauermann <markus@sauermann-consulting.de> (tiny change)
* emacs-lisp/emacslisp-mode.el (calculate-lisp-indent): Fix
indentation problem with keyword symbols when a list starts with
,@ or spaces. (Bug#1012)
Thanks for the patch, martin
next prev parent reply other threads:[~2008-09-24 8:30 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <48D9F761.1000805@gmx.at>
2008-09-21 17:37 ` bug#1012: calculate-lisp-indent Markus Sauermann
2008-09-24 8:30 ` Emacs bug Tracking System [this message]
[not found] ` <handler.1012.D1012.12222446017991.notifdone@emacsbugs.donarmstrong.com>
2008-10-01 20:21 ` bug#1012: Indentation of constant symbols Markus Sauermann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=handler.1012.D1012.12222446017991.ackdone@emacsbugs.donarmstrong.com \
--to=don@donarmstrong.com \
--cc=rudalics@gmx.at \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.