From d8899d09b992d733dc1cc6ec93b11cb75ce84f5d Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Tue, 8 Jul 2014 14:38:07 -0400 Subject: * lisp/progmodes/sh-script.el (sh-smie-sh-rules): Don't align with a && in the middle of a line. Fixes: debbugs:17896 --- lisp/progmodes/sh-script.el | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'lisp/progmodes/sh-script.el') diff --git a/lisp/progmodes/sh-script.el b/lisp/progmodes/sh-script.el index 1601b6c81ae..724d22ab69b 100644 --- a/lisp/progmodes/sh-script.el +++ b/lisp/progmodes/sh-script.el @@ -1989,9 +1989,10 @@ May return nil if the line should not be treated as continued." (<= indent initial))))) `(column . ,(+ initial sh-indentation))) (`(:before . ,(or `"(" `"{" `"[")) - (when (smie-rule-hanging-p) - (if (not (smie-rule-prev-p "&&" "||" "|")) - (smie-rule-parent) + (if (not (smie-rule-prev-p "&&" "||" "|")) + (when (smie-rule-hanging-p) + (smie-rule-parent)) + (unless (smie-rule-bolp) (smie-backward-sexp 'halfexp) `(column . ,(smie-indent-virtual))))) ;; FIXME: Maybe this handling of ;; should be made into -- cgit v1.2.1