From: John Shahid <jvshahid@gmail.com> Date: Thu, 31 May 2018 03:55:16 +0000 (-0400) Subject: Fix column double counting in term.el (Bug#31662) X-Git-Tag: emacs-27.0.90~4963 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=9ac76456eb104f749aa9c60b99c68a649214efc6;p=emacs.git Fix column double counting in term.el (Bug#31662) * lisp/term.el (term-emulate-terminal): Invalidate `term-current-column' after deleting overwritten text. --- diff --git a/lisp/term.el b/lisp/term.el index 19e68ddb49e..715f39bbbfc 100644 --- a/lisp/term.el +++ b/lisp/term.el @@ -2904,7 +2904,8 @@ See `term-prompt-regexp'." (when (not (or (eobp) term-insert-mode)) (let ((pos (point))) (term-move-columns columns) - (delete-region pos (point)))) + (delete-region pos (point)) + (setq term-current-column nil))) ;; In insert mode if the current line ;; has become too long it needs to be ;; chopped off. diff --git a/test/lisp/term-tests.el b/test/lisp/term-tests.el index 8aaa61a210b..72a9ad1ef74 100644 --- a/test/lisp/term-tests.el +++ b/test/lisp/term-tests.el @@ -89,6 +89,13 @@ first line\r_next line\r\n")) "\e[2;1Hc" "\e[1;2Hb" "\e[1;1Ha") "" t)))) + (should (equal "abcde j" + (term-test-screen-from-input + 10 12 '("abcdefghij" + "\e[H" ;move back to point-min + "abcde" + " j")))) + ;; Relative positioning. (should (equal "ab\ncd" (term-test-screen-from-input