diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2013-10-21 09:34:13 -0400 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2013-10-21 09:34:13 -0400 |
commit | df74c4be16efb83408b78c5b1205fccfb2c10696 (patch) | |
tree | e440d2a7dac62236a578fdeee4a9a0d6ff138052 | |
parent | c7e36328c69e8363928390fa8ee909d7a1cfd5b0 (diff) | |
download | emacs-df74c4be16efb83408b78c5b1205fccfb2c10696.tar.gz |
* lisp/progmodes/ruby-mode.el (ruby-smie-rules): Indent after + used as
an instruction.
-rw-r--r-- | lisp/ChangeLog | 16 | ||||
-rw-r--r-- | lisp/progmodes/ruby-mode.el | 2 | ||||
-rw-r--r-- | test/indent/ruby.rb | 4 |
3 files changed, 14 insertions, 8 deletions
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 <monnier@iro.umontreal.ca> + + * progmodes/ruby-mode.el (ruby-smie-rules): Indent after + used as + an instruction. + 2013-10-21 Dmitry Gutov <dgutov@yandex.ru> * 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 <bojohan@gnu.org> - * 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 |