* lisp/progmodes/ruby-mode.el (ruby-smie--implicit-semi-p): Handle the
authorDmitry Gutov <dgutov@yandex.ru>
Mon, 7 Oct 2013 23:01:23 +0000 (02:01 +0300)
committerDmitry Gutov <dgutov@yandex.ru>
Mon, 7 Oct 2013 23:01:23 +0000 (02:01 +0300)
case of the dot in a chained method call being on the following
line.

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

index 520e41a..93d09d4 100644 (file)
@@ -1,3 +1,9 @@
+2013-10-07  Dmitry Gutov  <dgutov@yandex.ru>
+
+       * progmodes/ruby-mode.el (ruby-smie--implicit-semi-p): Handle the
+       case of the dot in a chained method call being on the following
+       line.
+
 2013-10-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * electric.el (electric-indent-inhibit): New var.
index 6497fb6..c96eccb 100644 (file)
@@ -295,7 +295,10 @@ Also ignores spaces after parenthesis when 'space."
              (and (memq (char-before) '(?\? ?=))
                   (let ((tok (ruby-smie--backward-token)))
                     (or (equal tok "?")
-                        (string-match "\\`\\s." tok))))))))
+                        (string-match "\\`\\s." tok))))
+             (save-excursion
+               (forward-comment 1)
+               (eq (char-after) ?.))))))
 
 (defun ruby-smie--redundant-do-p (&optional skip)
   (save-excursion
index 366d572..2b2b95b 100644 (file)
@@ -137,8 +137,6 @@ desc "foo foo" \
 foo.
   bar
 
-# Examples below still fail with `ruby-use-smie' on:
-
 # https://github.com/rails/rails/blob/17f5d8e062909f1fcae25351834d8e89967b645e/activesupport/lib/active_support/time_with_zone.rb#L206
 foo
   .bar
@@ -150,6 +148,8 @@ z = {
   }
 }
 
+# Examples below still fail with `ruby-use-smie' on:
+
 foo +
   bar