Mercurial > emacs
comparison lisp/progmodes/scheme.el @ 50070:25c2d7555a11
(scheme-mode-syntax-table): Construct
w/o using `with-syntax-table'.
author | Thien-Thi Nguyen <ttn@gnuvola.org> |
---|---|
date | Mon, 10 Mar 2003 11:31:20 +0000 |
parents | ada6655eb465 |
children | 106688eb08d8 |
comparison
equal
deleted
inserted
replaced
50069:fc4e98a22d7e | 50070:25c2d7555a11 |
---|---|
54 (require 'lisp-mode) | 54 (require 'lisp-mode) |
55 | 55 |
56 (defvar scheme-mode-syntax-table | 56 (defvar scheme-mode-syntax-table |
57 (let ((st (make-syntax-table)) | 57 (let ((st (make-syntax-table)) |
58 (i 0)) | 58 (i 0)) |
59 (with-syntax-table st | 59 |
60 | 60 ;; Default is atom-constituent. |
61 ;; Default is atom-constituent. | 61 (while (< i 256) |
62 (while (< i 256) | 62 (modify-syntax-entry i "_ " st) |
63 (modify-syntax-entry i "_ ") | 63 (setq i (1+ i))) |
64 (setq i (1+ i))) | 64 |
65 | 65 ;; Word components. |
66 ;; Word components. | 66 (setq i ?0) |
67 (setq i ?0) | 67 (while (<= i ?9) |
68 (while (<= i ?9) | 68 (modify-syntax-entry i "w " st) |
69 (modify-syntax-entry i "w ") | 69 (setq i (1+ i))) |
70 (setq i (1+ i))) | 70 (setq i ?A) |
71 (setq i ?A) | 71 (while (<= i ?Z) |
72 (while (<= i ?Z) | 72 (modify-syntax-entry i "w " st) |
73 (modify-syntax-entry i "w ") | 73 (setq i (1+ i))) |
74 (setq i (1+ i))) | 74 (setq i ?a) |
75 (setq i ?a) | 75 (while (<= i ?z) |
76 (while (<= i ?z) | 76 (modify-syntax-entry i "w " st) |
77 (modify-syntax-entry i "w ") | 77 (setq i (1+ i))) |
78 (setq i (1+ i))) | 78 |
79 | 79 ;; Whitespace |
80 ;; Whitespace | 80 (modify-syntax-entry ?\t " " st) |
81 (modify-syntax-entry ?\t " ") | 81 (modify-syntax-entry ?\n "> " st) |
82 (modify-syntax-entry ?\n "> ") | 82 (modify-syntax-entry ?\f " " st) |
83 (modify-syntax-entry ?\f " ") | 83 (modify-syntax-entry ?\r " " st) |
84 (modify-syntax-entry ?\r " ") | 84 (modify-syntax-entry ? " " st) |
85 (modify-syntax-entry ? " ") | 85 |
86 | 86 ;; These characters are delimiters but otherwise undefined. |
87 ;; These characters are delimiters but otherwise undefined. | 87 ;; Brackets and braces balance for editing convenience. |
88 ;; Brackets and braces balance for editing convenience. | 88 (modify-syntax-entry ?\[ "(] " st) |
89 (modify-syntax-entry ?\[ "(] ") | 89 (modify-syntax-entry ?\] ")[ " st) |
90 (modify-syntax-entry ?\] ")[ ") | 90 (modify-syntax-entry ?{ "(} " st) |
91 (modify-syntax-entry ?{ "(} ") | 91 (modify-syntax-entry ?} "){ " st) |
92 (modify-syntax-entry ?} "){ ") | 92 (modify-syntax-entry ?\| " 23" st) |
93 (modify-syntax-entry ?\| " 23") | 93 |
94 | 94 ;; Other atom delimiters |
95 ;; Other atom delimiters | 95 (modify-syntax-entry ?\( "() " st) |
96 (modify-syntax-entry ?\( "() ") | 96 (modify-syntax-entry ?\) ")( " st) |
97 (modify-syntax-entry ?\) ")( ") | 97 (modify-syntax-entry ?\; "< " st) |
98 (modify-syntax-entry ?\; "< ") | 98 (modify-syntax-entry ?\" "\" " st) |
99 (modify-syntax-entry ?\" "\" ") | 99 (modify-syntax-entry ?' " p" st) |
100 (modify-syntax-entry ?' " p") | 100 (modify-syntax-entry ?` " p" st) |
101 (modify-syntax-entry ?` " p") | 101 |
102 | 102 ;; Special characters |
103 ;; Special characters | 103 (modify-syntax-entry ?, "_ p" st) |
104 (modify-syntax-entry ?, "_ p") | 104 (modify-syntax-entry ?@ "_ p" st) |
105 (modify-syntax-entry ?@ "_ p") | 105 (modify-syntax-entry ?# "_ p14" st) |
106 (modify-syntax-entry ?# "_ p14") | 106 (modify-syntax-entry ?\\ "\\ " st) |
107 (modify-syntax-entry ?\\ "\\ ")) | |
108 st)) | 107 st)) |
109 | 108 |
110 (defvar scheme-mode-abbrev-table nil) | 109 (defvar scheme-mode-abbrev-table nil) |
111 (define-abbrev-table 'scheme-mode-abbrev-table ()) | 110 (define-abbrev-table 'scheme-mode-abbrev-table ()) |
112 | 111 |
165 (make-local-variable 'font-lock-defaults) | 164 (make-local-variable 'font-lock-defaults) |
166 (setq font-lock-defaults | 165 (setq font-lock-defaults |
167 '((scheme-font-lock-keywords | 166 '((scheme-font-lock-keywords |
168 scheme-font-lock-keywords-1 scheme-font-lock-keywords-2) | 167 scheme-font-lock-keywords-1 scheme-font-lock-keywords-2) |
169 nil t (("+-*/.<>=!?$%_&~^:" . "w")) beginning-of-defun | 168 nil t (("+-*/.<>=!?$%_&~^:" . "w")) beginning-of-defun |
170 (font-lock-mark-block-function . mark-defun)))) | 169 (font-lock-mark-block-function . mark-defun) |
170 (font-lock-syntactic-face-function . lisp-font-lock-syntactic-face-function)))) | |
171 | 171 |
172 (defvar scheme-mode-line-process "") | 172 (defvar scheme-mode-line-process "") |
173 | 173 |
174 (defvar scheme-mode-map nil | 174 (defvar scheme-mode-map nil |
175 "Keymap for Scheme mode. | 175 "Keymap for Scheme mode. |