From 4f8aeb84b61f3be4eb0b5a7e3be0f7f8e9d5200e Mon Sep 17 00:00:00 2001 From: Dmitry Gutov Date: Mon, 17 Mar 2014 08:22:58 +0200 Subject: [PATCH] Fix debbugs#16971 * lisp/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 check if the semicolon is escaped (this is handled by `syntax-ppss' now). * lisp/progmodes/scheme.el (scheme-mode-variables): Same. --- lisp/ChangeLog | 10 ++++++++++ lisp/emacs-lisp/lisp-mode.el | 9 ++------- lisp/progmodes/scheme.el | 7 ++----- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index cf42e8ccef6..5f348fbc499 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,13 @@ +2014-03-17 Dmitry Gutov + + * 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 + check if the semicolon is escaped (this is handled by + `syntax-ppss' now). (Bug#16971) + + * progmodes/scheme.el (scheme-mode-variables): Same. + 2014-03-16 Martin Rudalics Fix behavior of with-temp-buffer-window (Bug#16816, Bug#17007). diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el index 7f396b4a344..437bf746bcd 100644 --- a/lisp/emacs-lisp/lisp-mode.el +++ b/lisp/emacs-lisp/lisp-mode.el @@ -449,15 +449,10 @@ font-lock keywords will not be case sensitive." (setq-local outline-level 'lisp-outline-level) (setq-local add-log-current-defun-function #'lisp-current-defun-name) (setq-local comment-start ";") - ;; Look within the line for a ; following an even number of backslashes - ;; after either a non-backslash or the line beginning. - (setq-local comment-start-skip "\\(\\(^\\|[^\\\\\n]\\)\\(\\\\\\\\\\)*\\);+ *") - ;; Font lock mode uses this only when it KNOWS a comment is starting. - (setq-local font-lock-comment-start-skip ";+ *") + (setq-local comment-start-skip ";+ *") (setq-local comment-add 1) ;default to `;;' in comment-region (setq-local comment-column 40) - ;; Don't get confused by `;' in doc strings when paragraph-filling. - (setq-local comment-use-global-state t) + (setq-local comment-use-syntax t) (setq-local imenu-generic-expression lisp-imenu-generic-expression) (setq-local multibyte-syntax-as-symbol t) ;; (setq-local syntax-begin-function 'beginning-of-defun) ;;Bug#16247. diff --git a/lisp/progmodes/scheme.el b/lisp/progmodes/scheme.el index 81af43dbef0..da0b6edf302 100644 --- a/lisp/progmodes/scheme.el +++ b/lisp/progmodes/scheme.el @@ -140,11 +140,8 @@ (setq-local add-log-current-defun-function #'lisp-current-defun-name) (setq-local comment-start ";") (setq-local comment-add 1) - ;; Look within the line for a ; following an even number of backslashes - ;; after either a non-backslash or the line beginning. - (setq-local comment-start-skip - "\\(\\(^\\|[^\\\\\n]\\)\\(\\\\\\\\\\)*\\);+[ \t]*") - (setq-local font-lock-comment-start-skip ";+ *") + (setq-local comment-start-skip ";+[ \t]*") + (setq-local comment-use-syntax t) (setq-local comment-column 40) (setq-local parse-sexp-ignore-comments t) (setq-local lisp-indent-function 'scheme-indent-function) -- 2.39.2