From: Dmitry Gutov Date: Mon, 17 Mar 2014 06:48:09 +0000 (+0200) Subject: Restore compatibility with legacy comment-start-skip values X-Git-Tag: emacs-24.3.90~171 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=218feefcc075f3da15c87f06fa418048ffe5ae3a;p=emacs.git Restore compatibility with legacy comment-start-skip values * lisp/newcomment.el (comment-beginning): If `comment-start-skip' doesn't match, move back one char and try again. Fixes: debbugs:16971 --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 5f348fbc499..b3f9a9073f6 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 2014-03-17 Dmitry Gutov + * newcomment.el (comment-beginning): If `comment-start-skip' + doesn't match, move back one char and try again. (Bug#16971) + * emacs-lisp/lisp-mode.el (lisp-mode-variables): Set `comment-use-syntax' to t to avoid the unnecessary runtime check. Set `comment-start-skip' to a simpler value that doesn't try to diff --git a/lisp/newcomment.el b/lisp/newcomment.el index 710dc74077d..44e270a66ea 100644 --- a/lisp/newcomment.el +++ b/lisp/newcomment.el @@ -523,7 +523,12 @@ the same as `comment-search-backward'." (when (nth 4 state) (goto-char (nth 8 state)) (prog1 (point) - (when (looking-at comment-start-skip) + (when (or (looking-at comment-start-skip) + ;; Some older modes use regexps that check the + ;; char before the comment for quoting. (Bug#16971) + (save-excursion + (forward-char -1) + (looking-at comment-start-skip))) (goto-char (match-end 0)))))) ;; Can't rely on the syntax table, let's guess based on font-lock. (unless (eq (get-text-property (point) 'face) 'font-lock-string-face)