]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/progmodes/ruby-mode.el (ruby-smie--implicit-semi-p):
authorDmitry Gutov <dgutov@yandex.ru>
Fri, 8 Nov 2013 23:59:56 +0000 (01:59 +0200)
committerDmitry Gutov <dgutov@yandex.ru>
Fri, 8 Nov 2013 23:59:56 +0000 (01:59 +0200)
Not after "||".
(ruby-smie-rules): Indent non-hanging "begin" blocks as part of
their parent.

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

index 3b30e4c7f444424079ccfaa92f55bac74e9c0a34..794b13d752b3bb7a002dd9a5d1751273ec3dfdda 100644 (file)
@@ -1,3 +1,10 @@
+2013-11-08  Dmitry Gutov  <dgutov@yandex.ru>
+
+       * progmodes/ruby-mode.el (ruby-smie--implicit-semi-p):
+       Not after "||".
+       (ruby-smie-rules): Indent non-hanging "begin" blocks as part of
+       their parent.
+
 2013-11-08  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * progmodes/ruby-mode.el: Don't require cl any more.  Use pcase instead.
index 69c850255d0ebee060d1035d283fffdcf4ed8a3b..cb5fe11ada63262bf4b87eda64b7261e77006b84 100644 (file)
@@ -364,6 +364,8 @@ explicitly declared in magic comment."
              (and (eq (char-before) ?=)
                   (string-match "\\`\\s." (save-excursion
                                             (ruby-smie--backward-token))))
+             (and (eq (char-before) ?|)
+                  (eq (char-before (1- (point))) ?|))
              (and (eq (car (syntax-after (1- (point)))) 2)
                   (member (save-excursion (ruby-smie--backward-token))
                           '("iuwu-mod" "and" "or")))
@@ -546,6 +548,9 @@ explicitly declared in magic comment."
                      "+=" "-=" "*=" "/=" "%=" "**=" "&=" "|=" "^="
                      "<<=" ">>=" "&&=" "||=" "and" "or"))
      (if (smie-rule-parent-p ";" nil) ruby-indent-level))
+    (`(:before . "begin")
+     (unless (save-excursion (skip-chars-backward " \t") (bolp))
+       (smie-rule-parent)))
     ))
 
 (defun ruby-imenu-create-index-in-block (prefix beg end)
index 0c432b7ca20cc2d4532ad814ef0605c6d4081737..1d2eb08db94178b222ff281e928cefb56c5576fc 100644 (file)
@@ -285,9 +285,14 @@ bar 1 do
   end
 end
 
-# Failing with SMIE:
-
 foo ||
   begin
     bar
   end
+
+def qux
+  foo ||= begin
+    bar
+    tee
+  end
+end