From: Stefan Monnier Date: Mon, 21 Oct 2013 13:34:13 +0000 (-0400) Subject: * lisp/progmodes/ruby-mode.el (ruby-smie-rules): Indent after + used as X-Git-Tag: emacs-24.3.90~173^2^2~42^2~45^2~387^2~1197 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=df74c4be16efb83408b78c5b1205fccfb2c10696;p=emacs.git * lisp/progmodes/ruby-mode.el (ruby-smie-rules): Indent after + used as an instruction. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index e9de6a7669c..b8cc19b383c 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2013-10-21 Stefan Monnier + + * progmodes/ruby-mode.el (ruby-smie-rules): Indent after + used as + an instruction. + 2013-10-21 Dmitry Gutov * progmodes/ruby-mode.el (ruby-smie-grammar): Add (almost) all infix operators. @@ -12,15 +17,14 @@ Allow comma separated lists after Java "implements". - * progmodes/cc-engine.el (c-backward-over-enum-header): parse - commas. + * progmodes/cc-engine.el (c-backward-over-enum-header): + Parse commas. * progmodes/cc-fonts.el (c-basic-matchers-after): Remove comma from a "disallowed" list in enum fontification. 2013-10-20 Johan Bockgård - * startup.el (default-frame-background-mode): Remove unused - defvar. + * startup.el (default-frame-background-mode): Remove unused defvar. * progmodes/verilog-mode.el (verilog-mode): Don't set comment-indent-function globally. @@ -168,8 +172,8 @@ * ielm.el (ielm-map): Bind M-RET to ielm-return-for-effect. (ielm-return-for-effect): New command. (ielm-send-input): Accept optional `for-effect' parameter. - (ielm-eval-input): Accept optional `for-effect' parameter. Bind - `standard-output' to stream we create using + (ielm-eval-input): Accept optional `for-effect' parameter. + Bind `standard-output' to stream we create using `ielm-standard-output-impl'. Suppress printing result when `for-effect'. (ielm-standard-output-impl): New function. diff --git a/lisp/progmodes/ruby-mode.el b/lisp/progmodes/ruby-mode.el index fcbe4fdb7c4..280016317e7 100644 --- a/lisp/progmodes/ruby-mode.el +++ b/lisp/progmodes/ruby-mode.el @@ -498,6 +498,8 @@ explicitly declared in magic comment." (`(:before . ,(or `"else" `"then" `"elsif" `"rescue" `"ensure")) 0) (`(:before . ,(or `"when")) (if (not (smie-rule-sibling-p)) 0)) ;; ruby-indent-level + (`(:after . "+") ;FIXME: Probably applicable to most infix operators. + (if (smie-rule-parent-p ";") ruby-indent-level)) )) (defun ruby-imenu-create-index-in-block (prefix beg end) diff --git a/test/indent/ruby.rb b/test/indent/ruby.rb index 198ad6384f0..c9ec8bd3723 100644 --- a/test/indent/ruby.rb +++ b/test/indent/ruby.rb @@ -186,11 +186,11 @@ if foo && bar end -# Examples below still fail with `ruby-use-smie' on: - foo + bar +# Examples below still fail with `ruby-use-smie' on: + foo = [1, 2, 3].map do |i| i + 1 end