summaryrefslogtreecommitdiff
path: root/lisp/progmodes/cperl-mode.el
diff options
context:
space:
mode:
authorSam Steingold <sds@gnu.org>2012-12-27 11:33:06 -0500
committerSam Steingold <sds@gnu.org>2012-12-27 11:33:06 -0500
commitfd146719cb0b98b278ad428006383d865f3696cf (patch)
tree620a35bd20f6b9028f78c92bccd0ced31cbca32c /lisp/progmodes/cperl-mode.el
parente06151b3968dec667e35059f236bb24186d26ac9 (diff)
downloademacs-fd146719cb0b98b278ad428006383d865f3696cf.tar.gz
emacs-fd146719cb0b98b278ad428006383d865f3696cf.tar.bz2
emacs-fd146719cb0b98b278ad428006383d865f3696cf.zip
* lisp/progmodes/cperl-mode.el (cperl-calculate-indent): Do not stagger
continuations, see <http://stackoverflow.com/questions/3582436>.
Diffstat (limited to 'lisp/progmodes/cperl-mode.el')
-rw-r--r--lisp/progmodes/cperl-mode.el6
1 files changed, 4 insertions, 2 deletions
diff --git a/lisp/progmodes/cperl-mode.el b/lisp/progmodes/cperl-mode.el
index 0a952cf3870..437235a8a6f 100644
--- a/lisp/progmodes/cperl-mode.el
+++ b/lisp/progmodes/cperl-mode.el
@@ -3120,8 +3120,10 @@ and closing parentheses and brackets."
((eq 'continuation (elt i 0))
;; [continuation statement-start char-after is-block is-brace]
(goto-char (elt i 1)) ; statement-start
- (+ (if (memq (elt i 2) (append "}])" nil)) ; char-after
- 0 ; Closing parenth
+ (+ (if (or (memq (elt i 2) (append "}])" nil)) ; char-after
+ (eq 'continuation ; do not stagger continuations
+ (elt (cperl-sniff-for-indent parse-data) 0)))
+ 0 ; Closing parenth or continuation of a continuation
cperl-continued-statement-offset)
(if (or (elt i 3) ; is-block
(not (elt i 4)) ; is-brace