emacs-devel
[Top][All Lists]
Advanced

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

Re: Truncating scroll runs that copy to where we copied to


From: YAMAMOTO Mitsuharu
Subject: Re: Truncating scroll runs that copy to where we copied to
Date: Tue, 22 Nov 2011 18:09:55 +0900
User-agent: Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.8 (Shij┼Ź) APEL/10.6 Emacs/22.3 (sparc-sun-solaris2.8) MULE/5.0 (SAKAKI)

>>>>> On Tue, 22 Nov 2011 03:52:30 -0500, Eli Zaretskii <address@hidden> said:

> Are you saying that this loop was implemented under the assumption
> that there's no overlap in the destinations?

Of course, I don't know the intention of the original author, but
overlaps mean not only buggy behavior, but also redundant graphics
operations.  That's why I said "Such truncation can also avoid
unnecessary copy in the actual graphics operation." in my first post.

> Anyway, if the problem is that assign_row leaves the `from' row with
> bogus glyph information (and I know it does, as I recently fixed an
> assertion violation caused by that), then isn't the problem in
> assign_row, to be fixed there?  Assignment as a concept does not
> imply a change to the source in any way, so having a function called
> assign_row that actually destroys the source means people will (and
> do) introduce bugs when they use their mental model of assignment.

> Alternatively, maybe we should assign only those rows that have
> their enabled_p flag set?  Why would we even want to copy disabled
> glyph rows?

This alternative is actually what I tried first.  But I thought
truncation could also avoid redundant graphics operations as explained
above.  Actually, I thought that if I posted this alternative, then I
would receive the other-way-round comment, i.e., why not truncate
overlaps?

> Your changes are not here, but elsewhere, which makes me bother if
> we are not dancing around the bug and sweeping the root cause under
> a thick carpet.

> Also, what about the unconditional setting of to->enabled_p to 1 in
> the above loop, regardless of what was that flag in `from'?  Does it
> look right to you?

In the current code, to->enabled_p seems already be set to 1
unconditionally.  Maybe I don't understand the question.

                                     YAMAMOTO Mitsuharu
                                address@hidden



reply via email to

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