]> git.eshelyaron.com Git - emacs.git/commitdiff
(term-handle-scroll, term-delete-lines)
authorDan Nicolaescu <dann@ics.uci.edu>
Thu, 15 Jun 2006 22:58:10 +0000 (22:58 +0000)
committerDan Nicolaescu <dann@ics.uci.edu>
Thu, 15 Jun 2006 22:58:10 +0000 (22:58 +0000)
(term-insert-lines): Fix off by one errors.

lisp/ChangeLog
lisp/term.el

index b3ec21cba3f25fb898ca5fd74fb8dce5029a758c..80f1b26291ad64a5a3aa3aae2c5d9c8324599b6c 100644 (file)
@@ -1,3 +1,8 @@
+2006-06-15  Dan Nicolaescu  <dann@ics.uci.edu>
+
+       * term.el (term-handle-scroll, term-delete-lines)
+       (term-insert-lines): Fix off by one errors.
+
 2006-06-15  Katsumi Yamaoka  <yamaoka@jpl.org>  (tiny change)
 
        * net/tramp.el (tramp-touch): Use UTC to express time.
index 8e2e07731217a6690f21226e56015dbc7dd424b6..8dafcfc894bcccd26741a91f39428e59d1477317 100644 (file)
@@ -3613,7 +3613,7 @@ all pending output has been dealt with."))
                   (progn
                     ;; Delete scroll-needed lines at term-scroll-end,
                     ;; then insert scroll-needed lines.
-                    (term-vertical-motion (1- term-scroll-end))
+                    (term-vertical-motion term-scroll-end)
                     (end-of-line)
                     (setq save-top (point))
                     (term-vertical-motion scroll-needed)
@@ -3767,11 +3767,12 @@ Should only be called when point is at the start of a screen line."
        (save-current-column term-current-column)
        (save-start-line-column term-start-line-column)
        (save-current-row (term-current-row)))
-    (when (>= (+ save-current-row lines) term-scroll-end)
-       (setq lines (- lines (- (+ save-current-row lines) term-scroll-end))))
+    ;; The number of inserted lines shouldn't exceed the scroll region end.
+    (when (> (+ save-current-row lines) (1+ term-scroll-end))
+      (setq lines (- lines (- (+ save-current-row lines) (1+ term-scroll-end)))))
     (term-down lines)
     (delete-region start (point))
-    (term-down (- term-scroll-end save-current-row lines))
+    (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)
@@ -3792,9 +3793,9 @@ Should only be called when point is at the start of a screen line."
          (term-down (- term-scroll-start save-current-row))
          (setq start (point)))
       ;; 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)))
+      (when (> (+ save-current-row lines) (1+ term-scroll-end))
+       (setq lines (- lines (- (+ save-current-row lines)(1+ 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))