Fix 'calculate-lisp-indent' when "[" starts containing sexp (Bug#51312)
* lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent): Handle arbitrary paren syntax after skipping whitespace backwards within containing sexp (Bug#51312).
This commit is contained in:
@@ -1075,10 +1075,11 @@ is the buffer position of the start of the containing expression."
|
||||
;; Handle prefix characters and whitespace
|
||||
;; following an open paren. (Bug#1012)
|
||||
(backward-prefix-chars)
|
||||
(while (not (or (looking-back "^[ \t]*\\|([ \t]+"
|
||||
(line-beginning-position))
|
||||
(and containing-sexp
|
||||
(>= (1+ containing-sexp) (point)))))
|
||||
(while (not (save-excursion
|
||||
(skip-chars-backward " \t")
|
||||
(or (= (point) (line-beginning-position))
|
||||
(and containing-sexp
|
||||
(= (point) (1+ containing-sexp))))))
|
||||
(forward-sexp -1)
|
||||
(backward-prefix-chars))
|
||||
(setq calculate-lisp-indent-last-sexp (point)))
|
||||
|
||||
Reference in New Issue
Block a user