unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Wilson Snyder <wsnyder@wsnyder.org>
Cc: emacs-devel@gnu.org
Subject: Re: Emacs 23.3 stops font-lock when have long face name
Date: Mon, 30 Nov 2015 18:07:58 +0200	[thread overview]
Message-ID: <83io4jmpwh.fsf@gnu.org> (raw)
In-Reply-To: <2656428d1586829c3a3613575704dd1e.squirrel@mail.wsnyder.org>

> Date: Thu, 26 Nov 2015 09:13:18 -0500
> From: "Wilson Snyder" <wsnyder@wsnyder.org>
> 
> > Can anyone please suggest what version this was fixed and
> > suggest a workaround for the older Emacsen?
> >
> > I would prefer not to rename the long face's name (really
> > it's verilog-font-grouping-keywords-face) since that name
> > has been stable for several versions of Emacs and may be in
> > user's customizations.
> 
> A very small tarball showing this issue is at
> http://www.veripool.org/attachments/download/703/test.tgz
> 
> To run this, using Emacs 24.3 (and 23.3 and probably others but not 25.0),
> extract and type ./test.sh
> 
> You'll see the first four "new" keywords are highlighted. Later ones are
> incorrectly not highlighted.
> 
> If you then edit test.el to change
> v-font-long-name-here-here-here-here-face to v-font-short-face, which has
> an identical definition, you'll see the fontification works correctly.

Thanks for the reproducible test case, and sorry for the long delay.

The problem with this face name has nothing to do with its length.  It
has to do with the fact that the face and the corresponding variable
have similar but different names:

  (defvar v-font-very-long-name-here-here-here-here-face
    'v-font-long-name-here-here-here-here-face
    "x")
  (defface v-font-long-name-here-here-here-here-face

See the difference?  The face name begins with "v-font-very", but the
variable name (name, not value) lacks the "very" part.

This is what causes the problem: you will see error messages from
redisplay in the *Messages* buffer complaining about a void variable.

Rename the variable thusly:

  (defvar v-font-long-name-here-here-here-here-face
    'v-font-long-name-here-here-here-here-face
    "x")

and the problem will disappear in Emacs 24.  So there's your
workaround.

HTH



      reply	other threads:[~2015-11-30 16:07 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-25 12:30 Emacs 23.3 stops font-lock when have long face name Wilson Snyder
2015-11-25 17:40 ` Eli Zaretskii
2015-11-25 21:09 ` Stefan Monnier
2015-11-26 14:13 ` Wilson Snyder
2015-11-30 16:07   ` Eli Zaretskii [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=83io4jmpwh.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=wsnyder@wsnyder.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

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).