Fix column double counting in term.el (Bug#31662)

* lisp/term.el (term-emulate-terminal): Invalidate
`term-current-column' after deleting overwritten text.
This commit is contained in:
John Shahid 2018-05-30 23:55:16 -04:00 committed by Noam Postavsky
parent 6a672b7925
commit 9ac76456eb
2 changed files with 9 additions and 1 deletions

View file

@ -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.

View file

@ -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