diff options
| author | Chong Yidong | 2011-08-21 23:38:30 -0400 |
|---|---|---|
| committer | Chong Yidong | 2011-08-21 23:38:30 -0400 |
| commit | f13f86fbf2a9bce1abc974a4b2f457183e963d3b (patch) | |
| tree | b46180d35b516ab07debb221be0dab0741dc11b6 | |
| parent | e013fb340c50dd99676ccc4552fd6aae2e319aa8 (diff) | |
| download | emacs-f13f86fbf2a9bce1abc974a4b2f457183e963d3b.tar.gz 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
| -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 @@ | |||
| 1 | 2011-08-22 Chong Yidong <cyd@stupidchicken.com> | ||
| 2 | |||
| 3 | * progmodes/scheme.el (scheme-mode-syntax-table): Don't use | ||
| 4 | symbol-constituent as the default, as that stops font-lock from | ||
| 5 | working properly (Bug#8843). | ||
| 6 | |||
| 1 | 2011-08-21 Lars Magne Ingebrigtsen <larsi@gnus.org> | 7 | 2011-08-21 Lars Magne Ingebrigtsen <larsi@gnus.org> |
| 2 | 8 | ||
| 3 | * mail/smtpmail.el (smtpmail-via-smtp): Only bind | 9 | * 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 @@ | |||
| 55 | (defvar scheme-mode-syntax-table | 55 | (defvar scheme-mode-syntax-table |
| 56 | (let ((st (make-syntax-table)) | 56 | (let ((st (make-syntax-table)) |
| 57 | (i 0)) | 57 | (i 0)) |
| 58 | 58 | ;; Symbol constituents | |
| 59 | ;; Default is atom-constituent. | 59 | ;; We used to treat chars 128-256 as symbol-constituent, but they |
| 60 | (while (< i 256) | 60 | ;; should be valid word constituents (Bug#8843). Note that valid |
| 61 | ;; identifier characters are Scheme-implementation dependent. | ||
| 62 | (while (< i ?0) | ||
| 61 | (modify-syntax-entry i "_ " st) | 63 | (modify-syntax-entry i "_ " st) |
| 62 | (setq i (1+ i))) | 64 | (setq i (1+ i))) |
| 63 | 65 | (setq i (1+ ?9)) | |
| 64 | ;; Word components. | 66 | (while (< i ?A) |
| 65 | (setq i ?0) | 67 | (modify-syntax-entry i "_ " st) |
| 66 | (while (<= i ?9) | ||
| 67 | (modify-syntax-entry i "w " st) | ||
| 68 | (setq i (1+ i))) | 68 | (setq i (1+ i))) |
| 69 | (setq i ?A) | 69 | (setq i (1+ ?Z)) |
| 70 | (while (<= i ?Z) | 70 | (while (< i ?a) |
| 71 | (modify-syntax-entry i "w " st) | 71 | (modify-syntax-entry i "_ " st) |
| 72 | (setq i (1+ i))) | 72 | (setq i (1+ i))) |
| 73 | (setq i ?a) | 73 | (setq i (1+ ?z)) |
| 74 | (while (<= i ?z) | 74 | (while (< i 128) |
| 75 | (modify-syntax-entry i "w " st) | 75 | (modify-syntax-entry i "_ " st) |
| 76 | (setq i (1+ i))) | 76 | (setq i (1+ i))) |
| 77 | 77 | ||
| 78 | ;; Whitespace | 78 | ;; Whitespace |