[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: M-x term off-by-one problem in ESC[xM processing?
From: |
Dan Nicolaescu |
Subject: |
Re: M-x term off-by-one problem in ESC[xM processing? |
Date: |
Tue, 13 Jun 2006 13:33:40 -0700 |
Mark Plaksin <address@hidden> writes:
> Hiho:
>
> - Save the attached file as 'testfile'
> - Create a 125x23 M-x term window (same problem with 80x23) .
> - At the shell prompt, run 'vi testfile' with the attached file
> - Type C-d to tell vi to scroll down
> - The first line will contain "12" and you'll see that the line for "22" is
> blank. That blank line is the problem.
Can you please test if this patch gives good results?
*** term.el 28 May 2006 23:09:00 -0700 1.83
--- term.el 13 Jun 2006 12:45:51 -0700
***************
*** 3771,3777 ****
(setq lines (- lines (- (+ save-current-row lines) term-scroll-end))))
(term-down lines)
(delete-region start (point))
! (term-down (- term-scroll-end save-current-row lines))
(term-insert-char ?\n lines)
(setq term-current-column save-current-column)
(setq term-start-line-column save-start-line-column)
--- 3771,3777 ----
(setq lines (- lines (- (+ save-current-row lines) term-scroll-end))))
(term-down lines)
(delete-region start (point))
! (term-down (- (1+ term-scroll-end) save-current-row lines))
(term-insert-char ?\n lines)
(setq term-current-column save-current-column)
(setq term-start-line-column save-start-line-column)
***************
*** 3794,3800 ****
;; The number of inserted lines shouldn't exceed the scroll region end.
(when (>= (+ save-current-row lines) term-scroll-end)
(setq lines (- lines (- (+ save-current-row lines) term-scroll-end))))
! (term-down (- term-scroll-end save-current-row lines)))
(setq start-deleted (point))
(term-down lines)
(delete-region start-deleted (point))
--- 3794,3800 ----
;; The number of inserted lines shouldn't exceed the scroll region end.
(when (>= (+ save-current-row lines) term-scroll-end)
(setq lines (- lines (- (+ save-current-row lines) term-scroll-end))))
! (term-down (- (1+ term-scroll-end) save-current-row lines)))
(setq start-deleted (point))
(term-down lines)
(delete-region start-deleted (point))