unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
* font-lock and text mode
@ 2003-02-24 12:40 Oliver Scholz
  2003-02-24 13:46 ` Kai Großjohann
  2003-02-24 14:10 ` John Paul Wallington
  0 siblings, 2 replies; 6+ messages in thread
From: Oliver Scholz @ 2003-02-24 12:40 UTC (permalink / raw)


I noticed that `hi-lock-mode' doesn't work properly in text mode (CVS
Emacs): after I have added a regexp with `C-x w h', matches already
in the buffer are highlighted, but matching text that I insert after
that is not.

Also it seems to be impossible to add highlighting via
font-lock-keywords to text mode.

(font-lock-add-keywords nil 
                        '(("\\<lirum larum\\>" . font-lock-warning-face)))

I tried a lot to find the reason for this.  Finally I tested whether
font-locking works with a derived mode of text-mode.

(defvar test-mode-font-lock-keywords
  '(("lirum-larum" . font-lock-warning-face)))

(define-derived-mode test-mode text-mode
  "FIXME"
  (set (make-local-variable 'font-lock-defaults)
       '(test-mode-font-lock-keywords t)))

This is fine. My guess was that this has something to do with the
implementation of `global-font-lock-mode', so I tried to call
`global-font-lock-mode-cmmh' manually, but to no avail. Looking at the
expansion of `define-derived-mode' above and experimenting with it, I
found that `kill-all-local-variables' is critical here. This is enough
to enable font-locking:

(progn (kill-all-local-variables)
       (set (make-local-variable 'font-lock-defaults)
	    '((("\\<lirum-larum\\>" . font-lock-warning-face))
	      t)))

So I looked at the code of `kill-all-local-variables'. But I can't
find anything there relating to `font-lock' (except the hook
`change-major-modes', but calling `global-font-lock-mode-cmmh' should
amount to the same).

I am puzzled. What am I missing?

    Oliver
-- 
6 Ventôse an 211 de la Révolution
Liberté, Egalité, Fraternité!

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: font-lock and text mode
  2003-02-24 12:40 font-lock and text mode Oliver Scholz
@ 2003-02-24 13:46 ` Kai Großjohann
  2003-02-24 15:19   ` Oliver Scholz
  2003-02-24 14:10 ` John Paul Wallington
  1 sibling, 1 reply; 6+ messages in thread
From: Kai Großjohann @ 2003-02-24 13:46 UTC (permalink / raw)


Oliver Scholz <alkibiades@gmx.de> writes:

> I noticed that `hi-lock-mode' doesn't work properly in text mode (CVS
> Emacs): after I have added a regexp with `C-x w h', matches already
> in the buffer are highlighted, but matching text that I insert after
> that is not.

I think it works as intended.

> Also it seems to be impossible to add highlighting via
> font-lock-keywords to text mode.
>
> (font-lock-add-keywords nil 
>                         '(("\\<lirum larum\\>" . font-lock-warning-face)))
>
> I tried a lot to find the reason for this.

I think the deeper reason is that text-mode has no font-lock support.

Maybe it is easiest to just use your derived mode.
-- 
A preposition is not a good thing to end a sentence with.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: font-lock and text mode
  2003-02-24 12:40 font-lock and text mode Oliver Scholz
  2003-02-24 13:46 ` Kai Großjohann
@ 2003-02-24 14:10 ` John Paul Wallington
  2003-02-24 15:21   ` Oliver Scholz
  1 sibling, 1 reply; 6+ messages in thread
From: John Paul Wallington @ 2003-02-24 14:10 UTC (permalink / raw)


Oliver Scholz <alkibiades@gmx.de> wrote:

> Also it seems to be impossible to add highlighting via
> font-lock-keywords to text mode.
>
> (font-lock-add-keywords nil 
>                         '(("\\<lirum larum\\>" . font-lock-warning-face)))

Does M-g M-g fontify it ?

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: font-lock and text mode
  2003-02-24 13:46 ` Kai Großjohann
@ 2003-02-24 15:19   ` Oliver Scholz
  2003-02-24 17:21     ` Kai Großjohann
  0 siblings, 1 reply; 6+ messages in thread
From: Oliver Scholz @ 2003-02-24 15:19 UTC (permalink / raw)


kai.grossjohann@uni-duisburg.de (Kai Großjohann) writes:

> Oliver Scholz <alkibiades@gmx.de> writes:
>
>> I noticed that `hi-lock-mode' doesn't work properly in text mode (CVS
>> Emacs): after I have added a regexp with `C-x w h', matches already
>> in the buffer are highlighted, but matching text that I insert after
>> that is not.
>
> I think it works as intended.

I don't know for sure, of course, but I don't think
so. `highlight-regexp' adds to `font-lock-keywords'. So in every mode
that comes with font-lock support, text that matches the regexp is
highlighted even if it was typed _after_ defining the regexp.  For
example in `lisp-interaction-mode':

emacs -q --no-site-file

M-x hi-lock-mode RET
C-x w h hello RET RET
hello

But:

C-x b *tmp* RET
M-x text-mode RET
C-x w h hello RET RET
hello

>> Also it seems to be impossible to add highlighting via
>> font-lock-keywords to text mode.
>>
>> (font-lock-add-keywords nil 
>>                         '(("\\<lirum larum\\>" . font-lock-warning-face)))
>>
>> I tried a lot to find the reason for this.
>
> I think the deeper reason is that text-mode has no font-lock support.

Yes, but how do I add it "manually"? (I mean: without modifying
text-mode itself.)

> Maybe it is easiest to just use your derived mode.

Well, actually I think this is a bug in `hi-lock-mode' and I want to
fix it.

And even if there is an easy workaround, I'd like to understand the
deeper mysteries of the Mighty Font Lock.

    Oliver
-- 
6 Ventôse an 211 de la Révolution
Liberté, Egalité, Fraternité!

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: font-lock and text mode
  2003-02-24 14:10 ` John Paul Wallington
@ 2003-02-24 15:21   ` Oliver Scholz
  0 siblings, 0 replies; 6+ messages in thread
From: Oliver Scholz @ 2003-02-24 15:21 UTC (permalink / raw)


John Paul Wallington <jpw@gnu.org> writes:

> Oliver Scholz <alkibiades@gmx.de> wrote:
>
>> Also it seems to be impossible to add highlighting via
>> font-lock-keywords to text mode.
>>
>> (font-lock-add-keywords nil 
>>                         '(("\\<lirum larum\\>" . font-lock-warning-face)))
>
> Does M-g M-g fontify it ?

Yes, and so does M-x font-lock-fontify-buffer.

    Oliver
-- 
6 Ventôse an 211 de la Révolution
Liberté, Egalité, Fraternité!

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: font-lock and text mode
  2003-02-24 15:19   ` Oliver Scholz
@ 2003-02-24 17:21     ` Kai Großjohann
  0 siblings, 0 replies; 6+ messages in thread
From: Kai Großjohann @ 2003-02-24 17:21 UTC (permalink / raw)


Oliver Scholz <alkibiades@gmx.de> writes:

> I don't know for sure, of course, but I don't think
> so. `highlight-regexp' adds to `font-lock-keywords'. 

Ah.  You're right.

So maybe the problem really is that text-mode doesn't normally
support font-lock.  (I think.)
-- 
A preposition is not a good thing to end a sentence with.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2003-02-24 17:21 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-02-24 12:40 font-lock and text mode Oliver Scholz
2003-02-24 13:46 ` Kai Großjohann
2003-02-24 15:19   ` Oliver Scholz
2003-02-24 17:21     ` Kai Großjohann
2003-02-24 14:10 ` John Paul Wallington
2003-02-24 15:21   ` Oliver Scholz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).