annotate lisp/fontl-hooks.el @ 5750:66d2f63df75f

Correct some spelling and formatting in behavior.el. Mentioned in tracker issue 826, the third thing mentioned there (the file name at the bottom of the file) had already been fixed. lisp/ChangeLog addition: 2013-08-05 Aidan Kehoe <kehoea@parhasard.net> * behavior.el: (override-behavior): Correct some spelling and formatting here, thank you Steven Mitchell in tracker issue 826.
author Aidan Kehoe <kehoea@parhasard.net>
date Mon, 05 Aug 2013 10:05:32 +0100
parents 308d34e9f07d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
217
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
1 ;;; fontl-hooks.el --- pre-loaded stuff for font-lock.
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
2
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
3 ;; Copyright (C) 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
4 ;; Copyright (C) 1995 Amdahl Corporation.
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
5 ;; Copyright (C) 1996 Ben Wing.
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
6
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
7 ;; This file is part of XEmacs.
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
8
5402
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 217
diff changeset
9 ;; XEmacs is free software: you can redistribute it and/or modify it
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 217
diff changeset
10 ;; under the terms of the GNU General Public License as published by the
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 217
diff changeset
11 ;; Free Software Foundation, either version 3 of the License, or (at your
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 217
diff changeset
12 ;; option) any later version.
217
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
13
5402
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 217
diff changeset
14 ;; XEmacs is distributed in the hope that it will be useful, but WITHOUT
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 217
diff changeset
15 ;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 217
diff changeset
16 ;; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 217
diff changeset
17 ;; for more details.
217
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
18
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
19 ;; You should have received a copy of the GNU General Public License
5402
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 217
diff changeset
20 ;; along with XEmacs. If not, see <http://www.gnu.org/licenses/>.
217
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
21
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
22 ;;; Synched up with: FSF 19.30. (font-lock.el)
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
23
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
24 ;;; Commentary:
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
25
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
26 ;; The reason for the existence of this file is so that modes can
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
27 ;; call `font-lock-set-defaults' without worrying about whether
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
28 ;; font-lock is loaded. We don't autoload this from font-lock.el
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
29 ;; because loading font-lock.el automatically turns font-lock on.
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
30
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
31 ;;; Code:
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
32
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
33 (defun font-lock-set-defaults (&optional explicit-defaults)
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
34 "Set fontification defaults appropriately for this mode.
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
35 Sets `font-lock-keywords', `font-lock-keywords-only', `font-lock-syntax-table',
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
36 `font-lock-beginning-of-syntax-function' and
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
37 `font-lock-keywords-case-fold-search'.
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
38
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
39 If `font-lock-defaults' is currently set, it is used. Otherwise, the
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
40 symbol naming the major mode is examined for a `font-lock-defaults'
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
41 property. If that is not present, but a variable `foo-mode-font-lock-keywords'
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
42 is, the value of that variable is used as the default for
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
43 `font-lock-keywords'. Various other backward-compatible behaviors also
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
44 exist -- if you're curious, look at the source.
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
45
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
46 The value of `font-lock-maximum-decoration' is used to determine which
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
47 set of keywords applies, if more than one exists.
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
48
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
49 This will also put the buffer into Font Lock mode if any keywords exist
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
50 and if auto-fontification is called for, as determined by
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
51 `font-lock-auto-fontify', `font-lock-mode-enable-list', and
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
52 `font-lock-mode-disable-list'.
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
53
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
54 Calling this function multiple times in the same buffer is safe -- this
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
55 function keeps track of whether it has already been called in this
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
56 buffer, and does nothing if so. This allows for multiple ways of getting
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
57 Font Lock properly initialized in a buffer, to deal with existing major
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
58 modes that do not call this function. (For example, Font Lock adds this
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
59 function to `find-file-hooks'.)
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
60
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
61 Major modes that have any font-lock defaults specified should call this
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
62 function during their initialization process, after they have set
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
63 the variable `major-mode'.
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
64
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
65 If EXPLICIT-DEFAULTS is t, this function will not check whether it
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
66 has already been run in this buffer, and will always do the full
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
67 computation.
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
68
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
69 If EXPLICIT-DEFAULTS is not nil and not t, it should be something
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
70 that is allowable as a value for `font-lock-defaults' and will be
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
71 used to initialize the Font Lock variables."
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
72
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
73 (when
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
74 (and
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
75 (featurep 'font-lock)
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
76 (if font-lock-auto-fontify
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
77 (not (memq major-mode font-lock-mode-disable-list))
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
78 (memq major-mode font-lock-mode-enable-list))
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
79 (font-lock-set-defaults-1 explicit-defaults)
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
80 font-lock-keywords)
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
81 (turn-on-font-lock)))
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
82
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
83 (provide 'fontl-hooks)
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
84
d44af0c54775 Import from CVS: tag r20-4b7
cvs
parents:
diff changeset
85 ;;; fontl-hooks.el ends here