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: Mon, 21 Nov 2011 09:19:29 +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 Sun, 20 Nov 2011 20:23:27 +0200, Eli Zaretskii <address@hidden> said:

>> Date: Sun, 20 Nov 2011 16:13:59 +0900 From: YAMAMOTO Mitsuharu
>> <address@hidden>
>> 
>> I think that `scrolling_window' needs to truncate scroll runs that
>> copy to where we copied to; otherwise, `assign_row (to, from)'
>> assigns a previously disabled bogus row in the desired matrix when
>> we have an overlap in the copy destination.  Such truncation can
>> also avoid unnecessary copy in the actual graphics operation.
>> 
>> Could someone double-check the code below?

> Could you please elaborate on the rationale?  Like, give a specific
> use case with a few rows in the current and desired matrix, and show
> why the current code does not DTRT?

> I'm not saying you are wrong (I have my doubts about portions of
> that function), just that we should at least look into a specific
> test case, even if simplified one, to make sure we are fixing a real
> bug.

1. Create a file whose contents is as follows (not including blank
   lines):

1
2
b
c
d
e
3
4
a
b
c
d
e

2. % emacs -Q
3. Resize the frame so the window occupies 10 rows.
4. Find the file created at Step 1.
   Then the first (last) displayed row becomes `1' (`b', respectively).
5. M-<
6. C-v
7. M-v

Then, the second line is displayed as `b' instead of `2'.

                                     YAMAMOTO Mitsuharu
                                address@hidden



reply via email to

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