Rev 4490 | Rev 5838 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4490 | Rev 4566 | ||
---|---|---|---|
Line 608... | Line 608... | ||
608 | mov ecx,[cur_editor.Caret.X] |
608 | mov ecx,[cur_editor.Caret.X] |
609 | call line_add_spaces |
609 | call line_add_spaces |
610 | add [esp],eax |
610 | add [esp],eax |
611 | add esi,eax |
611 | add esi,eax |
612 | mov ecx,[copy_size] |
612 | mov ecx,[copy_size] |
- | 613 | mov edi,[copy_count] |
|
- | 614 | test edi,edi |
|
- | 615 | dec edi |
|
- | 616 | jnz @f |
|
613 | sub ecx,sizeof.EDITOR_LINE_DATA |
617 | sub ecx,sizeof.EDITOR_LINE_DATA |
- | 618 | @@: |
|
614 | mov edi,[cur_editor.Lines] |
619 | mov edi,[cur_editor.Lines] |
615 | add edi,[cur_editor.Lines.Size] ;*** add edi,[edi-4] |
620 | add edi,[cur_editor.Lines.Size] ;*** add edi,[edi-4] |
616 | dec edi |
621 | dec edi |
617 | mov eax,esi |
622 | mov eax,esi |
618 | mov esi,edi |
623 | mov esi,edi |
619 | sub esi,ecx |
624 | sub esi,ecx |
620 | lea ecx,[eax+sizeof.EDITOR_LINE_DATA] |
625 | lea ecx,[eax+sizeof.EDITOR_LINE_DATA] |
621 | add ecx,[cur_editor.Caret.X] |
626 | add ecx,[cur_editor.Caret.X] |
622 | neg ecx |
627 | neg ecx |
623 | lea ecx,[esi+ecx+1] |
628 | lea ecx,[esi+ecx+1] |
- | 629 | mov [size_of_moving_area],ecx |
|
624 | std |
630 | std |
625 | rep movsb |
631 | rep movsb |
Line 626... | Line 632... | ||
626 | 632 | ||
627 | mov ecx,[copy_count] |
633 | mov ecx,[copy_count] |
Line 653... | Line 659... | ||
653 | pop ecx |
659 | pop ecx |
654 | loop @b |
660 | loop @b |
Line 655... | Line 661... | ||
655 | 661 | ||
656 | pop ecx |
662 | pop ecx |
- | 663 | sub ecx,ebx |
|
- | 664 | ja @f |
|
- | 665 | ||
- | 666 | pusha |
|
- | 667 | mov esi,edi |
|
- | 668 | sub edi,sizeof.EDITOR_LINE_DATA |
|
- | 669 | mov ecx,[size_of_moving_area] |
|
- | 670 | cld |
|
- | 671 | rep movsb |
|
- | 672 | popa |
|
- | 673 | jmp .save_cur_editor_values |
|
657 | sub ecx,ebx |
674 | @@: |
658 | add [edi-sizeof.EDITOR_LINE_DATA+EDITOR_LINE_DATA.Size],ecx |
675 | add [edi-sizeof.EDITOR_LINE_DATA+EDITOR_LINE_DATA.Size],ecx |
659 | call .check_columns |
676 | call .check_columns |
660 | mov ecx,eax |
677 | mov ecx,eax |
661 | rep movsb |
- | |
- | 678 | rep movsb |
|
662 | 679 | .save_cur_editor_values: |
|
663 | mov [cur_editor.Caret.X],eax |
680 | mov [cur_editor.Caret.X],eax |
664 | mov [cur_editor.SelStart.X],eax |
681 | mov [cur_editor.SelStart.X],eax |
665 | mov eax,[copy_count] |
682 | mov eax,[copy_count] |
666 | dec eax |
683 | dec eax |
Line 714... | Line 731... | ||
714 | jbe @f |
731 | jbe @f |
715 | mov [cur_editor.Columns.Count],eax |
732 | mov [cur_editor.Columns.Count],eax |
716 | @@: pop eax |
733 | @@: pop eax |
717 | ret |
734 | ret |
718 | endp |
735 | endp |
719 | - | ||
720 | ;----------------------------------------------------------------------------- |
736 | ;----------------------------------------------------------------------------- |
721 | proc key.ctrl_d ;///// INSERT SEPARATOR ////////////////////////////////////// |
737 | proc key.ctrl_d ;///// INSERT SEPARATOR ////////////////////////////////////// |
722 | ;----------------------------------------------------------------------------- |
738 | ;----------------------------------------------------------------------------- |
723 | mov eax,90+sizeof.EDITOR_LINE_DATA |
739 | mov eax,90+sizeof.EDITOR_LINE_DATA |
724 | call editor_realloc_lines |
740 | call editor_realloc_lines |