Hello,

[...]
> I have reduced my _emacs file to this:
>
> (add-to-list 'load-path (expand-file-name "~/site-lisp/jde-2.2.6/
lisp"))
> (add-to-list 'load-path (expand-file-name "~/site-lisp/speedbar-
0.13a"))
> (add-to-list 'load-path (expand-file-name "~/site-lisp/elib-1.0"))
> (add-to-list 'load-path (expand-file-name "~/site-lisp/eieio-0.15"))
> (add-to-list 'load-path (expand-file-name "~/site-lisp/semantic-
1.3.2"))
>
> (require 'jde)
>
> (custom-set-faces
> '(default ((t (:foreground "white"))))
> )
>
> (set-background-color "grey5")
> (set-cursor-color "yellow")
>
> ...the very definition of minimal and I still get the default font
face
> overriding
> all the other font locks.... (whereas its purported responsibility is
> fontifying
> all text for which the other font lock faces do not apply)...
>
> I have tried this even with the new jde-java-font-lock.el sent out by
Mr.
> Ponce.
>
> I am at a loss.
[...]

I did some investigations on your problem.  With your above setup font
locking did not work with my NT Emacs 20.7.3 :-(  But it works well
with NT Emacs 21.0.

I think this is an Emacs 20.7 bug related to overlays (setup by
semantic in jde-mode but not in java-mode).  I got a similar problem
on my Solaris box with Emacs 20.7 and maintainers sent me a patch that
fixed it.

Try to do the following in your java buffer in jde-mode:

 M-: (mapcar 'delete-overlay (overlays-in (point-min) (point-max)))

And font locking should work.

Attached is the patch I received from Emacs maintainers.

I cced this message to Andrew Innes <[EMAIL PROTECTED]>.  May be could
he help.  Maybe could you send a bug report too.

Sincerely,
David

Subject: Re: overlays turn off text colors
Date: Wed, 4 Oct 2000 13:42:11 +0200 (CEST)
From: Gerd Moellmann <[EMAIL PROTECTED]>
To: Dave Love <[EMAIL PROTECTED]>
CC: [EMAIL PROTECTED], "david" <[EMAIL PROTECTED]>

Dave Love <[EMAIL PROTECTED]> writes:

> OK, thanks.  If Gerd needs anything specific testing on solaris, I can
> do it.

I think this should fix it for 20.7 (not a problem in the new face
implemenation).  Thanks, David.

*** xfaces.c    2000/10/04 11:38:50     1.1
--- xfaces.c    2000/10/04 11:39:06
***************
*** 994,1000 ****
        int oendpos;

        prop = Foverlay_get (overlay_vec[i], propname);
!       merge_face_list (f, &face, prop);

        oend = OVERLAY_END (overlay_vec[i]);
        oendpos = OVERLAY_POSITION (oend);
--- 994,1001 ----
        int oendpos;

        prop = Foverlay_get (overlay_vec[i], propname);
!       if (!NILP (prop))
!         merge_face_list (f, &face, prop);

        oend = OVERLAY_END (overlay_vec[i]);
        oendpos = OVERLAY_POSITION (oend);

Reply via email to