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