emacs-pretest-bug
[Top][All Lists]
Advanced

[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))




reply via email to

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