From: Stefan Monnier Date: Wed, 17 Apr 2024 18:30:10 +0000 (-0400) Subject: (conf-toml-recognize-section): Fix bug#70383 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=44ec307643047790cc0d028e11d607ae6930839e;p=emacs.git (conf-toml-recognize-section): Fix bug#70383 * lisp/textmodes/conf-mode.el (conf-toml-recognize-section): Move point, like font-lock matchers are expected to do. (cherry picked from commit c15c9f4de62b5bf06d6ccdb5bbada4f542108a38) --- diff --git a/lisp/textmodes/conf-mode.el b/lisp/textmodes/conf-mode.el index 5e1636033f6..e74409128df 100644 --- a/lisp/textmodes/conf-mode.el +++ b/lisp/textmodes/conf-mode.el @@ -613,27 +613,26 @@ For details see `conf-mode'. Example: "Font-lock helper function for `conf-toml-mode'. Handles recognizing TOML section names, like [section], \[[section]], or [something.\"else\".section]." - (save-excursion - ;; Skip any number of "[" to handle things like [[section]]. - (when (re-search-forward "^\\s-*\\[+" limit t) - (let ((start (point))) - (backward-char) - (let ((end (min limit - (condition-case nil - (progn - (forward-list) - (1- (point))) - (scan-error - (end-of-line) - (point)))))) - ;; If there is a comma in the text, then we assume this is - ;; an array and not a section. (This could be refined to - ;; look only for unquoted commas if necessary.) - (save-excursion - (goto-char start) - (unless (search-forward "," end t) - (set-match-data (list start end)) - t))))))) + ;; Skip any number of "[" to handle things like [[section]]. + (when (re-search-forward "^\\s-*\\[+" limit t) + (let ((start (point))) + (backward-char) + (let ((end (min limit + (condition-case nil + (progn + (forward-list) + (1- (point))) + (scan-error + (end-of-line) + (point)))))) + ;; If there is a comma in the text, then we assume this is + ;; an array and not a section. (This could be refined to + ;; look only for unquoted commas if necessary.) + (save-excursion + (goto-char start) + (unless (search-forward "," end t) + (set-match-data (list start end)) + t)))))) ;;;###autoload (define-derived-mode conf-toml-mode conf-mode "Conf[TOML]"