i'm going to fix specifiers so you can do the equivalent of
"restart-specifier-instance". this way, you just replace the code that gets
the
display table with one that gets *all* display tables in the specifier that apply,
and you just have a few more to iterate over. much simpler and faster than calling
specifier-matching-instance or whatever each time.
Hrvoje Niksic wrote:
Ben Wing <ben(a)666.com> writes:
> hrvoje, i noticed that you went and implemented much of what i
> proposed should be done to display tables. this is way cool, and
> it's going to save me a lot of time when i get there -- as part of
> unicode support, i need really powerful display tables, and you've
> gone a long way towards implementation.
I'm glad you appreciate it. The most important thing I've done is
enabling the use of char-tables and range-tables instead of the
old-fashioned 256-element vectors, which really sucked.
One important thing that we miss is and that I have _not_ added is the
merging of display-tables at redisplay times, so if a character is not
found in one display-table (say window-wide), it's looked up in the
other one (say frame-wide), and so on until it's now.
What happens now is that first the display-table is determined. Then,
if the character is not found in that display-table, it's displayed
raw. Sucks. The room for the desired behaviour was left by you, as
shown in this specifier.c docstring:
-- For chartable (e.g. display table) specifiers, MATCHSPEC should be a
character, and the specification (a chartable) must give a value for
that character in order to be considered. This allows you to specify,
e.g., a buffer-local display table that only gives values for particular
characters. All other characters are handled as if the buffer-local
display table is not there. (Chartable specifiers are not yet
implemented.)
Unfortunately, I found the redisplay too complex to actually implement
this.
--
Ben
In order to save my hands, I am cutting back on my mail. I also write
as succinctly as possible -- please don't be offended. If you send me
mail, you _will_ get a response, but please be patient, especially for
XEmacs-related mail. If you need an immediate response and it is not
apparent in your message, please say so. Thanks for your understanding.
See also
http://www.666.com/ben/chronic-pain/