* bug#14218: 24.3; octave-insert-defun bad indentation since using smie
@ 2013-04-17 1:55 Leo Liu
2013-04-25 3:26 ` Stefan Monnier
0 siblings, 1 reply; 6+ messages in thread
From: Leo Liu @ 2013-04-17 1:55 UTC (permalink / raw)
To: 14218
C-c C-f in octave-mode of emacs 22.1 normally inserts something like
this:
function B = hasWon (X, z, z0)
## usage: B = hasWon (X, z, z0)
##
##
endfunction
Now it inserts:
function B = hasWon (X, z, z0)
## usage: B = hasWon (X, z, z0)
##
##
endfunction
i.e. it has wrong initial indentation. This might be a flaw of smie.
Leo
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#14218: 24.3; octave-insert-defun bad indentation since using smie
2013-04-17 1:55 bug#14218: 24.3; octave-insert-defun bad indentation since using smie Leo Liu
@ 2013-04-25 3:26 ` Stefan Monnier
2013-04-25 5:36 ` Leo Liu
0 siblings, 1 reply; 6+ messages in thread
From: Stefan Monnier @ 2013-04-25 3:26 UTC (permalink / raw)
To: Leo Liu; +Cc: 14218-done
> Now it inserts:
> function B = hasWon (X, z, z0)
> ## usage: B = hasWon (X, z, z0)
> ##
> ##
> endfunction
> i.e. it has wrong initial indentation. This might be a flaw of smie.
Indeed. There were several bugs triggered here.
I installed the patch below which fixes this problem.
Stefan
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#14218: 24.3; octave-insert-defun bad indentation since using smie
2013-04-25 3:26 ` Stefan Monnier
@ 2013-04-25 5:36 ` Leo Liu
2013-04-26 14:34 ` Stefan Monnier
0 siblings, 1 reply; 6+ messages in thread
From: Leo Liu @ 2013-04-25 5:36 UTC (permalink / raw)
To: Stefan Monnier; +Cc: 14218
On 2013-04-25 11:26 +0800, Stefan Monnier wrote:
> Indeed. There were several bugs triggered here.
> I installed the patch below which fixes this problem.
Thank you for the fix. However with this change: prog-indent-sexp with
point on the first letter of 'function' gives me this funny indentation
and extra whitespace:
function A = dox (n)
## usage: A = dox (n)
##
##
endfunction
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#14218: 24.3; octave-insert-defun bad indentation since using smie
2013-04-25 5:36 ` Leo Liu
@ 2013-04-26 14:34 ` Stefan Monnier
2013-04-26 19:17 ` Leo Liu
0 siblings, 1 reply; 6+ messages in thread
From: Stefan Monnier @ 2013-04-26 14:34 UTC (permalink / raw)
To: Leo Liu; +Cc: 14218
> Thank you for the fix. However with this change: prog-indent-sexp with
> point on the first letter of 'function' gives me this funny indentation
> and extra whitespace:
> function A = dox (n)
> ## usage: A = dox (n)
> ##
> ##
> endfunction
Duh, thanks. I've installed the additional patch below which should fix
it right this time.
Stefan
=== modified file 'lisp/progmodes/octave.el'
--- lisp/progmodes/octave.el 2013-04-26 04:16:37 +0000
+++ lisp/progmodes/octave.el 2013-04-26 14:25:15 +0000
@@ -461,11 +461,12 @@
(forward-comment 1))
(cond
((and (looking-at "$\\|[%#]")
- (not (smie-rule-bolp))
- ;; Ignore it if it's within parentheses.
- (prog1 (let ((ppss (syntax-ppss)))
+ ;; Ignore it if it's within parentheses or if the newline does not end
+ ;; some preceding text.
+ (prog1 (and (not (smie-rule-bolp))
+ (let ((ppss (syntax-ppss)))
(not (and (nth 1 ppss)
- (eq ?\( (char-after (nth 1 ppss))))))
+ (eq ?\( (char-after (nth 1 ppss)))))))
(forward-comment (point-max))))
;; Why bother distinguishing \n and ;?
";") ;;"\n"
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#14218: 24.3; octave-insert-defun bad indentation since using smie
2013-04-26 14:34 ` Stefan Monnier
@ 2013-04-26 19:17 ` Leo Liu
2013-05-07 4:06 ` Stefan Monnier
0 siblings, 1 reply; 6+ messages in thread
From: Leo Liu @ 2013-04-26 19:17 UTC (permalink / raw)
To: Stefan Monnier; +Cc: 14218
On 2013-04-26 22:34 +0800, Stefan Monnier wrote:
> Duh, thanks. I've installed the additional patch below which should
> fix it right this time.
Found an infinite loop.
In a new octave-mode buffer, insert "function" and make sure there is no
trailing newline. Now move to point-min and M-x forward-sexp to enter
infinite loop.
Leo
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#14218: 24.3; octave-insert-defun bad indentation since using smie
2013-04-26 19:17 ` Leo Liu
@ 2013-05-07 4:06 ` Stefan Monnier
0 siblings, 0 replies; 6+ messages in thread
From: Stefan Monnier @ 2013-05-07 4:06 UTC (permalink / raw)
To: Leo Liu; +Cc: 14218-done
>> Duh, thanks. I've installed the additional patch below which should
>> fix it right this time.
> Found an infinite loop.
I think I fixed it now,
Stefan
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2013-05-07 4:06 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-17 1:55 bug#14218: 24.3; octave-insert-defun bad indentation since using smie Leo Liu
2013-04-25 3:26 ` Stefan Monnier
2013-04-25 5:36 ` Leo Liu
2013-04-26 14:34 ` Stefan Monnier
2013-04-26 19:17 ` Leo Liu
2013-05-07 4:06 ` Stefan Monnier
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.