/[emacs]/emacs/lisp/font-core.el
ViewVC logotype

Diff of /emacs/lisp/font-core.el

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.27 by lute, Mon Apr 25 11:09:30 2005 UTC revision 1.28 by teirllm, Sun May 22 22:08:59 2005 UTC
# Line 231  this function onto `change-major-mode-ho Line 231  this function onto `change-major-mode-ho
231  ;; hook is run, the major mode is in the process of being changed and we do not  ;; hook is run, the major mode is in the process of being changed and we do not
232  ;; know what the final major mode will be.  So, `font-lock-change-major-mode'  ;; know what the final major mode will be.  So, `font-lock-change-major-mode'
233  ;; only (a) notes the name of the current buffer, and (b) adds our function  ;; only (a) notes the name of the current buffer, and (b) adds our function
234  ;; `turn-on-font-lock-if-enabled' to the hook variables `find-file-hook' and  ;; `turn-on-font-lock-if-enabled' to the hook variables
235  ;; `post-command-hook' (for buffers that are not visiting files).  By the time  ;; `after-change-major-mode-hook' and `post-command-hook' (for modes
236    ;; that do not yet run `after-change-major-mode-hook').  By the time
237  ;; the functions on the first of these hooks to be run are run, the new major  ;; the functions on the first of these hooks to be run are run, the new major
238  ;; mode is assumed to be in place.  This way we get a Font Lock function run  ;; mode is assumed to be in place.  This way we get a Font Lock function run
239  ;; when a major mode is turned on, without knowing major modes or their hooks.  ;; when a major mode is turned on, without knowing major modes or their hooks.
240  ;;  ;;
241  ;; Naturally this requires that (a) major modes run `kill-all-local-variables',  ;; Naturally this requires that major modes run `kill-all-local-variables'
242  ;; as they are supposed to do, and (b) the major mode is in place after the  ;; and `after-change-major-mode-hook', as they are supposed to.  For modes
243  ;; file is visited or the command that ran `kill-all-local-variables' has  ;; that do not run `after-change-major-mode-hook' yet, `post-command-hook'
244  ;; finished, whichever the sooner.  Arguably, any major mode that does not  ;; takes care of things if the mode is set directly or indirectly by
245  ;; follow the convension (a) is broken, and I can't think of any reason why (b)  ;; an interactive command; however, problems can occur if the mode is
246  ;; would not be met (except `gnudoit' on non-files).  However, it is not clean.  ;; set by a timer or process: in that case, proper handling of Font Lock mode
247  ;;  ;; may be delayed until the next interactive command.
 ;; Probably the cleanest solution is to have each major mode function run some  
 ;; hook, e.g., `major-mode-hook', but maybe implementing that change is  
 ;; impractical.  I am personally against making `setq' a macro or be advised,  
 ;; or have a special function such as `set-major-mode', but maybe someone can  
 ;; come up with another solution?  
248    
249  ;; User interface.  ;; User interface.
250  ;;  ;;

Legend:
Removed from v.1.27  
changed lines
  Added in v.1.28

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26