emacs-pretest-bug
[Top][All Lists]
Advanced

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

Re: invisible


From: Luc Teirlinck
Subject: Re: invisible
Date: Wed, 25 Feb 2004 19:33:39 -0600 (CST)

Kazu Yamamoto wrote:

   Would you tell the conclusion of the attached report? I'm actually
   suffering from this bug. I hope this bug will be fixed.

It resulted in a _very_ long and complex thread.  Here is what I
recall about the discussion from skimming through the thread.

Prior history: First a feature treating invisible and intangible text
specially, to prevent point from appearing to stand still, was
introduced.  Then Stefan implemented a feature making invisible text
kind of automatically intangible, so people would no longer be
inclined to make invisible text intangible.  Stefan's feature clashed
with the prior feature.  It also clashes with other features related
to invisibility, such as line-move-ignore-invisible.  Stefan's feature
produces other problems, unless one sets line-move-ignore-invisible to
t.  The current default value is nil, but that value clashes with
Stefan's changes.

To fix the bug I suggested to undo the prior invisible-intangible
feature, rely on Stefan's feature and get rid of
line-move-ignore-invisible by making it automatically t (and change
documentation at several places).  It is not clear to me what was
eventually decided or not decided, but apparently nothing was actually
done.  My suggestion would _not_ have fixed similar bugs related to
_visible_ intangible, which I reported in another thread, so maybe we
need something more solid anyway.

    This problem occurs with invisible only. I'm not using intagible.  I
    should have modified Klaus's report.

    I really need to fix this.

    ==============
    When I add invisible property to a line of text, moving the cursor
    with up and down over this text works only partially.

You did not explain exactly what "only partially" means, but I would
guess that your problem will go away if you set
`line-move-ignore-invisible' to t. 

Keeping a nil value of line-move-ignore-invisible completely
functional seems to require getting rid Stefan's feature, or making it
dependent on line-move-ignore-invisible.  To fix the
invisible-intangible bug, one could then maybe change the
implementation of the intangibility property, to make it adjust point
only after an interactive command and not from Lisp code (combined
with maybe other changes).  That would eliminate the motivation behind
Stefan's feature anyway, I believe.  This would not only fix your two
bugs, but it would fix other bugs related to intangibility as well.
The solution I proposed in October would not fix those.

There might be other solutions, like a variable temporarily disabling
the intangibility property when bound to t, which also would probably
fix the entire family of line-move vs intangibility bugs, not just the
ones you are referring too.

Sincerely,

Luc.




reply via email to

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