From 26219852992155889e142fb2b45f559ec6318c28 Mon Sep 17 00:00:00 2001 From: John Shahid Date: Wed, 30 May 2018 23:55:16 -0400 Subject: [PATCH] * lisp/term.el (term-emulate-terminal): Fix column double counting. --- lisp/term.el | 3 ++- test/lisp/term-tests.el | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/lisp/term.el b/lisp/term.el index 19e68ddb49..715f39bbbf 100644 --- a/lisp/term.el +++ b/lisp/term.el @@ -2904,7 +2904,8 @@ term-emulate-terminal (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 8aaa61a210..72a9ad1ef7 100644 --- a/test/lisp/term-tests.el +++ b/test/lisp/term-tests.el @@ -89,6 +89,13 @@ term-test-screen-from-input "\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 -- 2.17.1