[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#1534: Font lock decoration levels mismatch?
From: |
Derick Eddington |
Subject: |
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
----------------------------------------------------------------