diff options
-rw-r--r-- | lisp/ChangeLog | 5 | ||||
-rw-r--r-- | lisp/progmodes/ruby-mode.el | 2 | ||||
-rw-r--r-- | test/indent/ruby.rb | 5 |
3 files changed, 11 insertions, 1 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 8b31efc50b7..96f3ab25172 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2013-10-27 Dmitry Gutov <dgutov@yandex.ru> + + * progmodes/ruby-mode.el (ruby-smie--bosp): Anything that goes + after `=' is probably a new expression. + 2013-10-27 RĂ¼diger Sonderfeld <ruediger@c-plusplus.de> * man.el (man-imenu-title): New option. diff --git a/lisp/progmodes/ruby-mode.el b/lisp/progmodes/ruby-mode.el index b85385a7428..441f166396e 100644 --- a/lisp/progmodes/ruby-mode.el +++ b/lisp/progmodes/ruby-mode.el @@ -334,7 +334,7 @@ explicitly declared in magic comment." (defun ruby-smie--bosp () (save-excursion (skip-chars-backward " \t") - (or (bolp) (eq (char-before) ?\;)))) + (or (bolp) (memq (char-before) '(?\; ?=))))) (defun ruby-smie--implicit-semi-p () (save-excursion diff --git a/test/indent/ruby.rb b/test/indent/ruby.rb index b4173b69bc1..633b2991d5e 100644 --- a/test/indent/ruby.rb +++ b/test/indent/ruby.rb @@ -220,6 +220,11 @@ def bar .baz end +# http://stackoverflow.com/questions/17786563/emacs-ruby-mode-if-expressions-indentation +tee = if foo + bar + end + # Examples below still fail with `ruby-use-smie' on: foo = [1, 2, 3].map do |i| |