On Tue, Jan 30, 2001 at 02:19:39PM +1100, Martin Sevior wrote:
> 
> 
> On Mon, 29 Jan 2001, Sam TH wrote:
> 
> > On Tue, Jan 30, 2001 at 11:05:07AM +1100, Martin Sevior wrote:
> > > Beta code to cut and paste lists. Plus lots of work to imporove speed 
> > > in multi-level lists and to improve undo's. Arbitarily weird lists can be
> > > cut and undone.
> > 
> > Well, this looks real cool.  But, there are a few bugs.  
> > 
> > 1) It doesn't paste this first bullet in the the list (or first number,
> > or whatever).  To see this, create a list like so:
> > 
> > - foo
> > - bar
> > - baz
> > 
> > select the whole thing, and paste it a few lines below.  The new one
> > looks like :
> > 
> >   foo
> > - bar
> > - baz
> > 
> 
> This is a problem with our selection code. If you move the curosr to the
> line immediately before the first element it gets selected. I can hardware
> that if the left most pos of the selection region is a list-label field
> the selection includes the list label and the para-break behind it.
> 
> Is this a good idea?

Well, I was getting this at the beginning of the document, where there
shouldn't be a previous paragraph break.  However, I know see that it
happens as you describe also.  I think that when there are n
listlabels selected, then a paste should create n new listlabels, and
not n-1.  If you need to bring a paragraph break along, then so be
it.  

> 
> 
> > 2) If you create a list like so
> > 
> > 1 foo
> >     1.1 bar
> >             1.1.1 baz <cursor is here>
> > 
> > and then press enter three times, you end up with:
> > 
> > 1 foo
> >     1.1 bar
> >             1.1.1 baz
> >     1.2
> > 2
> > 3  <cursor is here>
> > 
> > instead of 
> > 
> > 1 foo
> >     1.1 bar
> >             1.1.1 baz
> > <cursor is here>
> > 
> 
> Do you want this or
> 
> 1 foo
>        1.1 bar
>                 1.1.1 baz
>        <cursor is here>
> 
> I just implemented this.
> 

Well, if after 

> 1 foo
>        1.1 bar
>                 1.1.1 baz
>        <cursor is here>

I press enter, I should get 

1 foo
       1.1 bar
                1.1.1 baz
<cursor is here>

That would really be perfect.  Thanks.  

> > which is what you want.  In fact, I can't actually figure out how to
> > stop a list directly from several levels down.
> > 
> > 3) Quick segfault:
> > 
> > get to this point:
> > 
> > 1 foo
> >     1.1 bar
> >     1.2 <cursor is here>
> > 
> > and press backspace a few times.  You get 
> > 
> > **** (1) Assert ****
> > **** (1) s1 at ut_string.cpp:123 ****
> > **** (1) Continue ? (y/n) [y] : 
> > 
> > **** (2) Assert ****
> > **** (2) s2 at ut_string.cpp:124 ****
> > **** (2) Continue ? (y/n) [y] : 
> > DEBUG: Oh no - we just segfaulted!
> > DEBUG: Segfault during filesave - no file saved  
> > Aborted
> > 
> > Bad.  
> 
> Thanks Sam. I awasn't aware of that one.
> 
> > 
> > I'm sure more bugs can be found, but you can start with these. :-)
> > 
> 
> Yep. I know a few more :-( Hopefully no other crash bugs.

Well, we shall see what I can find.  
           
        sam th               
        [EMAIL PROTECTED]
        http://www.abisource.com/~sam/
        GnuPG Key:  
        http://www.abisource.com/~sam/key

PGP signature

Reply via email to