aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChong Yidong2011-08-21 23:38:30 -0400
committerChong Yidong2011-08-21 23:38:30 -0400
commitf13f86fbf2a9bce1abc974a4b2f457183e963d3b (patch)
treeb46180d35b516ab07debb221be0dab0741dc11b6
parente013fb340c50dd99676ccc4552fd6aae2e319aa8 (diff)
downloademacs-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/ChangeLog6
-rw-r--r--lisp/progmodes/scheme.el28
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 @@
12011-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
12011-08-21 Lars Magne Ingebrigtsen <larsi@gnus.org> 72011-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