> For C++ mode, it doesn't quite work:
> foo // comment1
> bar /* comment2 */
> The // and /* are put in font-lock-comment-delimiter-face (which I find to
> be useless clutter and makes the text less legible without helping
> understand the structure), but the */ is left with just
> font-lock-comment-face.
> That is because comment-end is empty in C++ mode.
> I see there is a variable comment-end-skip, whose doc string suggests
> it ought to be useful for this (but the doc string is not entirely
> clear tome). But it doesn't seem to be set up in C++ mode. Should it
> be?
Major modes should set comment-end-skip, like they set comment-start-skip,
but since this variable was new in Emacs-21.1 I had to handle the backward
compatible case where a major mode does not set comment-end-skip, so
comment-end-skip is set to an "educated guess" value (based on comment-end
and "\\s>") if not set already. This defaulting is done by
comment-normalize-vars which is called at the beginning of all major
comment function.
> I don't understand the above. In what way does the current code
> change what font-lock-comment-face looks like?
> When I added font-lock-comment-delimiter-face, I copied the
> definition of font-lock-comment-face into it, then changed
> the definition o font-lock-comment-face.
> It would be cleaner to leave font-lock-comment-face unchanged and
> define font-lock-comment-text-face with the modified value.
> However, I couldn't make that work. Adapting the code in
> font-lock-fontify-syntactically-region in a straightforward
> way resulted in incorrect results, and I don't know why.
Without seeing the "straightforward way" code, it's hard to tell.
Stefan
_______________________________________________
Emacs-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/emacs-devel