]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/progmodes/ruby-mode.el (ruby-smie-rules): Indent middle-of-block
authorDmitry Gutov <dgutov@yandex.ru>
Thu, 19 Dec 2013 05:06:24 +0000 (07:06 +0200)
committerDmitry Gutov <dgutov@yandex.ru>
Thu, 19 Dec 2013 05:06:24 +0000 (07:06 +0200)
keywords to their parent.

lisp/ChangeLog
lisp/progmodes/ruby-mode.el
test/indent/ruby.rb

index 09d4cebb6f5798672bafa8692545aaea90932f33..5fd4ff56c6690fe80f9533a8ae27dcf2f4081b97 100644 (file)
@@ -1,3 +1,8 @@
+2013-12-19  Dmitry Gutov  <dgutov@yandex.ru>
+
+       * progmodes/ruby-mode.el (ruby-smie-rules): Indent middle-of-block
+       keywords to their parent.
+
 2013-12-19  Dmitry Gutov  <dgutov@yandex.ru>
 
        * progmodes/ruby-mode.el (ruby-smie--args-separator-p): Allow the
index e291acec327a2103f55d431e82893b4f4f2fceaa..449a10dc999cff09b6462b96aa5e0b0240372553 100644 (file)
@@ -569,8 +569,9 @@ It is used when `ruby-encoding-magic-comment-style' is set to `custom'."
          (cons 'column (current-column)))))
     (`(:before . "do") (ruby-smie--indent-to-stmt))
     (`(:before . ".") ruby-indent-level)
-    (`(:before . ,(or `"else" `"then" `"elsif" `"rescue" `"ensure")) 0)
-    (`(:before . ,(or `"when"))
+    (`(:before . ,(or `"else" `"then" `"elsif" `"rescue" `"ensure"))
+     (smie-rule-parent))
+    (`(:before . "when")
      (if (not (smie-rule-sibling-p)) 0)) ;; ruby-indent-level
     (`(:after . ,(or "=" "iuwu-mod" "+" "-" "*" "/" "&&" "||" "%" "**" "^" "&"
                      "<=>" ">" "<" ">=" "<=" "==" "===" "!=" "<<" ">>"
index 0bf4bc14fbb0389a0379a8d669dd612bd32cd214..1993c29efb337f04f24de48d26c5133a5806e167 100644 (file)
@@ -272,6 +272,8 @@ end
 # http://stackoverflow.com/questions/17786563/emacs-ruby-mode-if-expressions-indentation
 tee = if foo
         bar
+      else
+        tee
       end
 
 a = b {
@@ -328,6 +330,8 @@ def qux
   foo ||= begin
     bar
     tee
+  rescue
+    oomph
   end
 end