summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2013-10-23 13:55:53 -0400
committerStefan Monnier <monnier@iro.umontreal.ca>2013-10-23 13:55:53 -0400
commit03d44565bbbea492e5280e153150a768ca7f2c45 (patch)
treeeae21c21a24fa288cbc0cfa1c5d3dafb31ca6c3c /lisp
parent76f1a3c3143b61dd58c02a3bd2eb533802646679 (diff)
downloademacs-03d44565bbbea492e5280e153150a768ca7f2c45.tar.gz
emacs-03d44565bbbea492e5280e153150a768ca7f2c45.tar.bz2
emacs-03d44565bbbea492e5280e153150a768ca7f2c45.zip
* lisp/progmodes/ruby-mode.el (ruby-smie-rules): Only align with parent of
{ if it is hanging.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog3
-rw-r--r--lisp/progmodes/ruby-mode.el6
2 files changed, 7 insertions, 2 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 63156bb18a1..6210bbeabae 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,5 +1,8 @@
2013-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
+ * progmodes/ruby-mode.el (ruby-smie-rules): Only align with parent of
+ { if it is hanging.
+
* progmodes/ruby-mode.el (ruby-smie-rules): Don't return 0 for
:before ";".
diff --git a/lisp/progmodes/ruby-mode.el b/lisp/progmodes/ruby-mode.el
index 7b9dcd44b24..88820a4a942 100644
--- a/lisp/progmodes/ruby-mode.el
+++ b/lisp/progmodes/ruby-mode.el
@@ -449,7 +449,7 @@ explicitly declared in magic comment."
((smie-rule-parent-p "def" "begin" "do" "class" "module" "for"
"while" "until" "unless"
"if" "then" "elsif" "else" "when"
- "rescue" "ensure" "{")
+ "rescue" "ensure")
(smie-rule-parent ruby-indent-level))
;; For (invalid) code between switch and case.
;; (if (smie-parent-p "switch") 4)
@@ -457,7 +457,9 @@ explicitly declared in magic comment."
(`(:before . ,(or `"(" `"[" `"{"))
(cond
((and (equal token "{")
- (not (smie-rule-prev-p "(" "{" "[" "," "=>")))
+ (not (smie-rule-prev-p "(" "{" "[" "," "=>"))
+ (or (smie-rule-hanging-p)
+ (smie-rule-next-p "opening-|")))
;; Curly block opener.
(smie-rule-parent))
((smie-rule-hanging-p)