[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Error during redisplay

From: Richard Stallman
Subject: Re: Error during redisplay
Date: Wed, 27 Feb 2008 11:07:54 -0500

    The current design requires to add `composition' property to
    a string to properly display the string if it contains, for
    instance, some of Indic characters, and to add
    `auto-composed' property to avoid the repeated generation of
    `composition' property.

It seems unclean to modify a string just because it gets used for
redisplay.  We do that for fontification, but that's an explicit
add-on feature which is not part of mere correct display of some text.

What happens with a read-only buffer?  Does auto-composition modify
the read-only buffer, or does the text display wrong?

    If mode-line-format has not been modified, I think it
    doesn't contain any characters that require composition
    (except for the case that we support such ligatures as "Fi"
    in the future).  One way is to check if the string contains
    any such characters, and if not, avoid any composition
    processing.  As the string tends to be short, doing that
    check repeatedly will not be that inefficient.

That sounds like a good fix for this case, but it may not fix
the whole problem.

    > If they SHOULD have these properties, probably we should make sure they 
    > these properties from the start, or from an early point in building Emacs.

    That's impossible.  How to compose them depends on which
    font to use.

Does this mean that redisplaying with different fonts
will keep changing the composition properties in one string
back and forth between different values?

reply via email to

[Prev in Thread] Current Thread [Next in Thread]