emacs-devel
[Top][All Lists]
Advanced

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

Re: Problems with info (emacs version)


From: Luc Teirlinck
Subject: Re: Problems with info (emacs version)
Date: Tue, 3 Jun 2003 11:24:16 -0500 (CDT)

I believe this discussion has gotten too much into the nitty-gritty
details of the problems involved and not focused enough on the
underlying common cause for all these problems and the general
solution, which I believe is not that difficult.

I believe that there are appropriate and inappropriate uses for the
invisibility and display properties.  If you use them in an
inappropriate way all the reported problems, as well as countless
others, appear.  If you use them appropriately they do not, or at
least only in a way less severe fashion.

The following represents my personal opinion:

Invisibility property:

Appropriate:

In a long text, sometimes you want to focus on the details and
sometimes you want to get an overview.  Give the details the
invisibility property (or various invisibility properties
corresponding to various level of detail) and provide user commands to
toggle invisibility.

Inappropriate:

Using the invisibility properties for internal Emacs purposes.  As the
various problems I reported show, there is nothing "internal" about
the invisibility property.

Conclusion:

Always use the invisibility property as a user feature, never as an
internal feature.  Always make sure that the user knows about
invisible text.  Always provide convenient commands to toggle
invisibility.

Display property:

Appropriate:

>From the Elisp manual:

`display' This property activates various features that change the way
     text is displayed.  For example, it can make text appear taller
     or shorter, higher or lower, wider or narrow, or replaced with an
     image.

Inappropriate:

As a way to make text impossible to see, without making it invisible,
by displaying it as whitespace (as info does extensively), or, more
generally, as a way to display regular text as some other regular text
with unrelated content, as an alternative for such lowly tools,
typically used by the unsophisticated masses, as deletion and
insertion.

The solution I propose for info is not that difficult:

1.  Replace the pseudo-invisible text with text having the
    invisibility property (see Stefan's proposal earlier in this
    thread for more details).

2.  Provide a command in info, say `v' that toggles visibility.
    make sure the user knows about it.

Sincerely,

Luc.




reply via email to

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