From: Martin Rudalics Date: Fri, 22 Oct 2021 08:16:17 +0000 (+0200) Subject: Fix 'calculate-lisp-indent' when "[" starts containing sexp (Bug#51312) X-Git-Tag: emacs-28.0.90~219 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=d2849cc645f349080fd74ffbe082178bc12cd02b;p=emacs.git 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). --- diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el index fc7a7362cd7..bb00a97f8e3 100644 --- a/lisp/emacs-lisp/lisp-mode.el +++ b/lisp/emacs-lisp/lisp-mode.el @@ -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)))