Can't remember. IIRC there were problems where adding keywords to comint-mode didn't add them to all derivatives.
So you actually _want_ them added to derivatives. That was not at all obvious. The actual patches I sent will add them to derivatives as long as the mode conventions are followed. But it you pass comint-mode as argument _in your .emacs_ (as recommended in the docs), how will it enable them for derivatives? I have not read through every line of font-{lock,core}.el, so I may have missed something, but `font-lock-set-defaults' does (cdr (assq major-mode font-lock-keywords-alist)) So if it contains (comint-mode . ...), it would appear to have no effect in shell-mode. So what is the difference between passing a non-nil MODE in your .emacs or from a Lisp program? In effect this is what the docstring of font-lock-keywords-alist says: Each element has the form (MODE KEYWORDS . APPEND). `font-lock-set-defaults' adds the elements in the list KEYWORDS to `font-lock-keywords' when Font Lock is turned on in major mode MODE. It does not say "or in a derivative mode". So, instead of the current cryptic difference between .emacs and programs, maybe the docstring should say to pass a non-nil MODE argument if you do not want it to apply to derivatives and a nil one if you do want it to apply to derivatives. I believe that after such doc fixes (which I could make) to the font-lock-{add,remove}-keyword and the Elisp manual, my patches would do exactly what the revised docs would say. What happens to keywords in an _interactive_ mode change, that is during kill-all-local-variables is a separate problem, not related to `define-global-minor-mode'. Sincerely, Luc. _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel