GNU bug report logs - #1534
Font lock decoration levels mismatch?

Previous Next

Package: emacs;

Reported by: Derick Eddington <derick.eddington <at> gmail.com>

Date: Wed, 10 Dec 2008 20:00:04 UTC

Severity: normal

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #13 received at 1534 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Derick Eddington <derick.eddington <at> gmail.com>
To: Glenn Morris <rgm <at> gnu.org>
Cc: 1534 <at> debbugs.gnu.org
Subject: Re: bug#1534: Font lock decoration levels mismatch?
Date: Fri, 12 Dec 2008 10:48:54 -0800
On Thu, 2008-12-11 at 18:52 -0500, Glenn Morris wrote:
> Derick Eddington wrote:
> 
> > The documentation at "23.6.1 Font Lock Basics" and "23.6.5 Levels of
> > Font Lock" refers to level numbers starting at 1, but when I customize
> > the level for a specific mode (one I'm still developing) the number
> > given to Customize is 0-based not 1-based; i.e., my `font-lock-defaults'
> > `KEYWORDS' member is like `(level-1 level-2 level-3 level-4)' and, e.g.,
> > to make Customize use level-3 I have to tell it the number 2.
> 
> I don't really understand the problem. What exactly are you
> customizing, and how?
> 
> In general, the actual Lisp expression used by Customize is not
> terribly important - use a tag instead to give a more human-readable
> set of choices (eg "minimum", "medium", "maximum" rather than 1, 2, 3).

I'm customizing `font-lock-maximum-decoration'.  It's documentation
says:

        Maximum decoration level for fontification.
        If nil, use the default decoration (typically the minimum
        available).
        If t, use the maximum decoration available.
        If a number, use that level of decoration (or if not available
        the maximum).
        If a list, each element should be a cons pair of the form
        (MAJOR-MODE . LEVEL), where MAJOR-MODE is a symbol or t (meaning
        the default).  For example:
         ((c-mode . t) (c++-mode . 2) (t . 1))
        means use the maximum decoration available for buffers in C
        mode, level 2 decoration for buffers in C++ mode, and level 1
        decoration otherwise.

I'm using the last form with an association for my mode.  I have 4
levels.  I haven't yet learned how to use tags with Customize, I'll read
about that.  But for my mode, I think tag names would not be as clear as
just the numbers.  If Customize is going to allow numbers, shouldn't
their indexing base be consistent with the documentation?

When I start customizing it from its default state and activate the
"Value Menu" with "mode specific", I get:

INS DEL Instance:
            Mode:
            (*) all
            ( ) name: nil
            Decoration:
            ( ) default
            (*) maximum
            ( ) level: 1
INS

Which is not the Lisp syntax and is showing a number.

This isn't a big deal to me, but the Emacs' documentation tells me to
report things like this.

-- 
: Derick
----------------------------------------------------------------





This bug report was last modified 16 years and 165 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.