diff options
author | Chong Yidong <cyd@stupidchicken.com> | 2011-08-21 23:38:30 -0400 |
---|---|---|
committer | Chong Yidong <cyd@stupidchicken.com> | 2011-08-21 23:38:30 -0400 |
commit | f13f86fbf2a9bce1abc974a4b2f457183e963d3b (patch) | |
tree | b46180d35b516ab07debb221be0dab0741dc11b6 /lisp | |
parent | e013fb340c50dd99676ccc4552fd6aae2e319aa8 (diff) | |
download | emacs-f13f86fbf2a9bce1abc974a4b2f457183e963d3b.tar.gz emacs-f13f86fbf2a9bce1abc974a4b2f457183e963d3b.tar.bz2 emacs-f13f86fbf2a9bce1abc974a4b2f457183e963d3b.zip |
Fix some word/symbol classifications in scheme-mode's syntax table.
* lisp/progmodes/scheme.el (scheme-mode-syntax-table): Don't use
symbol-constituent as the default, as that stops font-lock from
working properly.
Fixes: debbugs:8843
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/ChangeLog | 6 | ||||
-rw-r--r-- | lisp/progmodes/scheme.el | 28 |
2 files changed, 20 insertions, 14 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 02c88eae667..e8a6cd73826 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2011-08-22 Chong Yidong <cyd@stupidchicken.com> + + * progmodes/scheme.el (scheme-mode-syntax-table): Don't use + symbol-constituent as the default, as that stops font-lock from + working properly (Bug#8843). + 2011-08-21 Lars Magne Ingebrigtsen <larsi@gnus.org> * mail/smtpmail.el (smtpmail-via-smtp): Only bind diff --git a/lisp/progmodes/scheme.el b/lisp/progmodes/scheme.el index 4151e2bb79a..470b309434c 100644 --- a/lisp/progmodes/scheme.el +++ b/lisp/progmodes/scheme.el @@ -55,24 +55,24 @@ (defvar scheme-mode-syntax-table (let ((st (make-syntax-table)) (i 0)) - - ;; Default is atom-constituent. - (while (< i 256) + ;; Symbol constituents + ;; We used to treat chars 128-256 as symbol-constituent, but they + ;; should be valid word constituents (Bug#8843). Note that valid + ;; identifier characters are Scheme-implementation dependent. + (while (< i ?0) (modify-syntax-entry i "_ " st) (setq i (1+ i))) - - ;; Word components. - (setq i ?0) - (while (<= i ?9) - (modify-syntax-entry i "w " st) + (setq i (1+ ?9)) + (while (< i ?A) + (modify-syntax-entry i "_ " st) (setq i (1+ i))) - (setq i ?A) - (while (<= i ?Z) - (modify-syntax-entry i "w " st) + (setq i (1+ ?Z)) + (while (< i ?a) + (modify-syntax-entry i "_ " st) (setq i (1+ i))) - (setq i ?a) - (while (<= i ?z) - (modify-syntax-entry i "w " st) + (setq i (1+ ?z)) + (while (< i 128) + (modify-syntax-entry i "_ " st) (setq i (1+ i))) ;; Whitespace |