--- Begin Message ---
Subject: |
24.3; Octave indentation bug |
Date: |
Thu, 02 May 2013 12:04:44 +0800 |
Indent the following lines in octave mode
if (true)
a = (1 \(2-3));
else
a = 0;
endif
gives me
if (true)
a = (1 \(2-3));
else
a = 0;
endif
It seems treating \ as escape outside strings is incorrect. Is the
following fix is correct?
diff --git a/lisp/progmodes/octave.el b/lisp/progmodes/octave.el
index a58fdefb..1e2c2425 100644
--- a/lisp/progmodes/octave.el
+++ b/lisp/progmodes/octave.el
@@ -233,7 +233,7 @@ (defvar octave-mode-syntax-table
(modify-syntax-entry ?& "." table)
(modify-syntax-entry ?| "." table)
(modify-syntax-entry ?! "." table)
- (modify-syntax-entry ?\\ "\\" table)
+ (modify-syntax-entry ?\\ "." table)
(modify-syntax-entry ?\' "." table)
;; Was "w" for abbrevs, but now that it's not necessary any more,
(modify-syntax-entry ?\` "." table)
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#14332: 24.3; Octave indentation bug |
Date: |
Tue, 07 May 2013 07:58:10 +0800 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3 (OS X 10.8.3) |
Fixed in trunk.
On 2013-05-07 05:37 +0800, Stefan Monnier wrote:
> No, octave-syntax-propertize-sqs just skips over the contents of
> single-quoted strings and from what you say you only want to handle
> backslash in double-quoted strings.
Thank you, Stefan, for the help. Much appreciated.
Leo
--- End Message ---