56 |
(defvar scheme-mode-syntax-table |
(defvar scheme-mode-syntax-table |
57 |
(let ((st (make-syntax-table)) |
(let ((st (make-syntax-table)) |
58 |
(i 0)) |
(i 0)) |
|
(with-syntax-table st |
|
59 |
|
|
60 |
;; Default is atom-constituent. |
;; Default is atom-constituent. |
61 |
(while (< i 256) |
(while (< i 256) |
62 |
(modify-syntax-entry i "_ ") |
(modify-syntax-entry i "_ " st) |
63 |
(setq i (1+ i))) |
(setq i (1+ i))) |
64 |
|
|
65 |
;; Word components. |
;; Word components. |
66 |
(setq i ?0) |
(setq i ?0) |
67 |
(while (<= i ?9) |
(while (<= i ?9) |
68 |
(modify-syntax-entry i "w ") |
(modify-syntax-entry i "w " st) |
69 |
(setq i (1+ i))) |
(setq i (1+ i))) |
70 |
(setq i ?A) |
(setq i ?A) |
71 |
(while (<= i ?Z) |
(while (<= i ?Z) |
72 |
(modify-syntax-entry i "w ") |
(modify-syntax-entry i "w " st) |
73 |
(setq i (1+ i))) |
(setq i (1+ i))) |
74 |
(setq i ?a) |
(setq i ?a) |
75 |
(while (<= i ?z) |
(while (<= i ?z) |
76 |
(modify-syntax-entry i "w ") |
(modify-syntax-entry i "w " st) |
77 |
(setq i (1+ i))) |
(setq i (1+ i))) |
78 |
|
|
79 |
;; Whitespace |
;; Whitespace |
80 |
(modify-syntax-entry ?\t " ") |
(modify-syntax-entry ?\t " " st) |
81 |
(modify-syntax-entry ?\n "> ") |
(modify-syntax-entry ?\n "> " st) |
82 |
(modify-syntax-entry ?\f " ") |
(modify-syntax-entry ?\f " " st) |
83 |
(modify-syntax-entry ?\r " ") |
(modify-syntax-entry ?\r " " st) |
84 |
(modify-syntax-entry ? " ") |
(modify-syntax-entry ? " " st) |
85 |
|
|
86 |
;; These characters are delimiters but otherwise undefined. |
;; These characters are delimiters but otherwise undefined. |
87 |
;; Brackets and braces balance for editing convenience. |
;; Brackets and braces balance for editing convenience. |
88 |
(modify-syntax-entry ?\[ "(] ") |
(modify-syntax-entry ?\[ "(] " st) |
89 |
(modify-syntax-entry ?\] ")[ ") |
(modify-syntax-entry ?\] ")[ " st) |
90 |
(modify-syntax-entry ?{ "(} ") |
(modify-syntax-entry ?{ "(} " st) |
91 |
(modify-syntax-entry ?} "){ ") |
(modify-syntax-entry ?} "){ " st) |
92 |
(modify-syntax-entry ?\| " 23") |
(modify-syntax-entry ?\| " 23" st) |
93 |
|
|
94 |
;; Other atom delimiters |
;; Other atom delimiters |
95 |
(modify-syntax-entry ?\( "() ") |
(modify-syntax-entry ?\( "() " st) |
96 |
(modify-syntax-entry ?\) ")( ") |
(modify-syntax-entry ?\) ")( " st) |
97 |
(modify-syntax-entry ?\; "< ") |
(modify-syntax-entry ?\; "< " st) |
98 |
(modify-syntax-entry ?\" "\" ") |
(modify-syntax-entry ?\" "\" " st) |
99 |
(modify-syntax-entry ?' " p") |
(modify-syntax-entry ?' " p" st) |
100 |
(modify-syntax-entry ?` " p") |
(modify-syntax-entry ?` " p" st) |
101 |
|
|
102 |
;; Special characters |
;; Special characters |
103 |
(modify-syntax-entry ?, "_ p") |
(modify-syntax-entry ?, "_ p" st) |
104 |
(modify-syntax-entry ?@ "_ p") |
(modify-syntax-entry ?@ "_ p" st) |
105 |
(modify-syntax-entry ?# "_ p14") |
(modify-syntax-entry ?# "_ p14" st) |
106 |
(modify-syntax-entry ?\\ "\\ ")) |
(modify-syntax-entry ?\\ "\\ " st) |
107 |
st)) |
st)) |
108 |
|
|
109 |
(defvar scheme-mode-abbrev-table nil) |
(defvar scheme-mode-abbrev-table nil) |
166 |
'((scheme-font-lock-keywords |
'((scheme-font-lock-keywords |
167 |
scheme-font-lock-keywords-1 scheme-font-lock-keywords-2) |
scheme-font-lock-keywords-1 scheme-font-lock-keywords-2) |
168 |
nil t (("+-*/.<>=!?$%_&~^:" . "w")) beginning-of-defun |
nil t (("+-*/.<>=!?$%_&~^:" . "w")) beginning-of-defun |
169 |
(font-lock-mark-block-function . mark-defun)))) |
(font-lock-mark-block-function . mark-defun) |
170 |
|
(font-lock-syntactic-face-function . lisp-font-lock-syntactic-face-function)))) |
171 |
|
|
172 |
(defvar scheme-mode-line-process "") |
(defvar scheme-mode-line-process "") |
173 |
|
|