Mercurial > emacs
comparison lisp/generic.el @ 60870:92071f8a7671
(generic-font-lock-defaults): Make it obsolete.
(generic-font-lock-keywords): New variable to replace
generic-font-lock-defaults.
(generic-mode-set-font-lock): Delete it.
(generic-mode-internal): Don't call generic-mode-set-font-lock.
(generic-bracket-support): Add docstring.
author | Lute Kamstra <lute@gnu.org> |
---|---|
date | Thu, 24 Mar 2005 09:01:37 +0000 |
parents | cb4033032773 |
children | 7160fe3a7ef1 |
comparison
equal
deleted
inserted
replaced
60869:88ef15014617 | 60870:92071f8a7671 |
---|---|
123 | 123 |
124 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 124 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
125 ;; Internal Variables | 125 ;; Internal Variables |
126 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 126 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
127 | 127 |
128 (defvar generic-font-lock-defaults nil | 128 (defvar generic-font-lock-keywords nil |
129 "Global defaults for font-lock in a generic mode.") | 129 "Keywords for `font-lock-defaults' in a generic mode.") |
130 (make-variable-buffer-local 'generic-font-lock-defaults) | 130 (make-variable-buffer-local 'generic-font-lock-keywords) |
131 (defvaralias 'generic-font-lock-defaults 'generic-font-lock-keywords) | |
132 (make-obsolete-variable 'generic-font-lock-defaults 'generic-font-lock-keywords "22.1") | |
131 | 133 |
132 ;;;###autoload | 134 ;;;###autoload |
133 (defvar generic-mode-list nil | 135 (defvar generic-mode-list nil |
134 "A list of mode names for `generic-mode'. | 136 "A list of mode names for `generic-mode'. |
135 Do not add entries to this list directly; use `define-generic-mode' | 137 Do not add entries to this list directly; use `define-generic-mode' |
251 (setq major-mode mode | 253 (setq major-mode mode |
252 mode-name pretty-name) | 254 mode-name pretty-name) |
253 | 255 |
254 (generic-mode-set-comments comments) | 256 (generic-mode-set-comments comments) |
255 | 257 |
256 ;; Font-lock functionality | 258 ;; Font-lock functionality. |
257 ;; Font-lock-defaults are always set even if there are no keywords | 259 ;; Font-lock-defaults is always set even if there are no keywords |
258 ;; or font-lock expressions, so comments can be highlighted. | 260 ;; or font-lock expressions, so comments can be highlighted. |
259 (setq generic-font-lock-defaults nil) | 261 (setq generic-font-lock-keywords |
260 (generic-mode-set-font-lock keywords font-lock-list) | 262 (append |
261 (make-local-variable 'font-lock-defaults) | 263 (when keywords |
262 (setq font-lock-defaults (list 'generic-font-lock-defaults nil)) | 264 (list (generic-make-keywords-list keywords font-lock-keyword-face))) |
265 font-lock-list)) | |
266 (setq font-lock-defaults '(generic-font-lock-keywords nil)) | |
263 | 267 |
264 ;; Call a list of functions | 268 ;; Call a list of functions |
265 (mapcar 'funcall funs) | 269 (mapcar 'funcall funs) |
266 | 270 |
267 (run-hooks generic-mode-hooks))) | 271 (run-hooks generic-mode-hooks))) |
346 (concat (char-to-string (char-syntax (car cs))) | 350 (concat (char-to-string (char-syntax (car cs))) |
347 " " (cdr cs)) | 351 " " (cdr cs)) |
348 st)) | 352 st)) |
349 (set-syntax-table st))) | 353 (set-syntax-table st))) |
350 | 354 |
351 (defun generic-mode-set-font-lock (keywords font-lock-expressions) | |
352 "Set up font-lock functionality for generic mode." | |
353 (setq generic-font-lock-defaults | |
354 (append | |
355 (when keywords | |
356 (list (generic-make-keywords-list keywords font-lock-keyword-face))) | |
357 font-lock-expressions))) | |
358 | |
359 ;; Support for [KEYWORD] constructs found in INF, INI and Samba files | |
360 (defun generic-bracket-support () | 355 (defun generic-bracket-support () |
356 "Imenu support for [KEYWORD] constructs found in INF, INI and Samba files." | |
361 (setq imenu-generic-expression | 357 (setq imenu-generic-expression |
362 '((nil "^\\[\\(.*\\)\\]" 1)) | 358 '((nil "^\\[\\(.*\\)\\]" 1)) |
363 imenu-case-fold-search t)) | 359 imenu-case-fold-search t)) |
364 | 360 |
365 ;; This generic mode is always defined | 361 ;; This generic mode is always defined |