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.