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 ";".
((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)
(`(: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)