diff options
author | Thien-Thi Nguyen <ttn@gnuvola.org> | 2003-03-10 11:35:43 +0000 |
---|---|---|
committer | Thien-Thi Nguyen <ttn@gnuvola.org> | 2003-03-10 11:35:43 +0000 |
commit | c676c4e507760a119b497574f5523f804491fb64 (patch) | |
tree | 2e9f280594c6850eca8b2de8b7c3221f771bbed8 /lisp | |
parent | c25c4856f3c0acff9e64dba0a63e3b18551e5b5c (diff) | |
download | emacs-c676c4e507760a119b497574f5523f804491fb64.tar.gz |
(scheme-mode-syntax-table): Construct
w/o using `with-syntax-table'.
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/ChangeLog | 5 | ||||
-rw-r--r-- | lisp/progmodes/scheme.el | 100 |
2 files changed, 55 insertions, 50 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index e219f08f00a..d823708aebe 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2003-03-10 Thien-Thi Nguyen <ttn@gnu.org> + + * progmodes/scheme.el (scheme-mode-syntax-table): Construct + w/o using `with-syntax-table'. + 2003-03-10 John Paul Wallington <jpw@gnu.org> * ebuff-menu.el (electric-buffer-update-highlight): Do nothing diff --git a/lisp/progmodes/scheme.el b/lisp/progmodes/scheme.el index 7afdbf4cc03..9824f5c3e6c 100644 --- a/lisp/progmodes/scheme.el +++ b/lisp/progmodes/scheme.el @@ -56,55 +56,54 @@ (defvar scheme-mode-syntax-table (let ((st (make-syntax-table)) (i 0)) - (with-syntax-table st - - ;; Default is atom-constituent. - (while (< i 256) - (modify-syntax-entry i "_ ") - (setq i (1+ i))) - - ;; Word components. - (setq i ?0) - (while (<= i ?9) - (modify-syntax-entry i "w ") - (setq i (1+ i))) - (setq i ?A) - (while (<= i ?Z) - (modify-syntax-entry i "w ") - (setq i (1+ i))) - (setq i ?a) - (while (<= i ?z) - (modify-syntax-entry i "w ") - (setq i (1+ i))) - - ;; Whitespace - (modify-syntax-entry ?\t " ") - (modify-syntax-entry ?\n "> ") - (modify-syntax-entry ?\f " ") - (modify-syntax-entry ?\r " ") - (modify-syntax-entry ? " ") - - ;; These characters are delimiters but otherwise undefined. - ;; Brackets and braces balance for editing convenience. - (modify-syntax-entry ?\[ "(] ") - (modify-syntax-entry ?\] ")[ ") - (modify-syntax-entry ?{ "(} ") - (modify-syntax-entry ?} "){ ") - (modify-syntax-entry ?\| " 23") - - ;; Other atom delimiters - (modify-syntax-entry ?\( "() ") - (modify-syntax-entry ?\) ")( ") - (modify-syntax-entry ?\; "< ") - (modify-syntax-entry ?\" "\" ") - (modify-syntax-entry ?' " p") - (modify-syntax-entry ?` " p") - - ;; Special characters - (modify-syntax-entry ?, "_ p") - (modify-syntax-entry ?@ "_ p") - (modify-syntax-entry ?# "_ p14") - (modify-syntax-entry ?\\ "\\ ")) + + ;; Default is atom-constituent. + (while (< i 256) + (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+ i))) + (setq i ?A) + (while (<= i ?Z) + (modify-syntax-entry i "w " st) + (setq i (1+ i))) + (setq i ?a) + (while (<= i ?z) + (modify-syntax-entry i "w " st) + (setq i (1+ i))) + + ;; Whitespace + (modify-syntax-entry ?\t " " st) + (modify-syntax-entry ?\n "> " st) + (modify-syntax-entry ?\f " " st) + (modify-syntax-entry ?\r " " st) + (modify-syntax-entry ? " " st) + + ;; These characters are delimiters but otherwise undefined. + ;; Brackets and braces balance for editing convenience. + (modify-syntax-entry ?\[ "(] " st) + (modify-syntax-entry ?\] ")[ " st) + (modify-syntax-entry ?{ "(} " st) + (modify-syntax-entry ?} "){ " st) + (modify-syntax-entry ?\| " 23" st) + + ;; Other atom delimiters + (modify-syntax-entry ?\( "() " st) + (modify-syntax-entry ?\) ")( " st) + (modify-syntax-entry ?\; "< " st) + (modify-syntax-entry ?\" "\" " st) + (modify-syntax-entry ?' " p" st) + (modify-syntax-entry ?` " p" st) + + ;; Special characters + (modify-syntax-entry ?, "_ p" st) + (modify-syntax-entry ?@ "_ p" st) + (modify-syntax-entry ?# "_ p14" st) + (modify-syntax-entry ?\\ "\\ " st) st)) (defvar scheme-mode-abbrev-table nil) @@ -167,7 +166,8 @@ '((scheme-font-lock-keywords scheme-font-lock-keywords-1 scheme-font-lock-keywords-2) nil t (("+-*/.<>=!?$%_&~^:" . "w")) beginning-of-defun - (font-lock-mark-block-function . mark-defun)))) + (font-lock-mark-block-function . mark-defun) + (font-lock-syntactic-face-function . lisp-font-lock-syntactic-face-function)))) (defvar scheme-mode-line-process "") |