>From 6660c98d36dbe39e12906a6d02f1faff22c95590 Mon Sep 17 00:00:00 2001 From: Johan Claesson Date: Wed, 28 Dec 2016 12:56:11 -0500 Subject: [PATCH v1] Fix term.el handling of ^Z-sequences spanning chunks Bash will after each command send ?\032 and the current directory "/tmp" to inform term.el. Bash output is buffered in 4096 bytes chunks. If a command outputs roughly 4096 bytes then the end of the first chunk will be "/tm" (Bug#13350). * lisp/term.el (term-emulate-terminal): Change the regexp to find the end of the ?\032 sequence to use \n instead of $, the latter can match end of string as well. Copyright-paperwork-exempt: yes --- lisp/term.el | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lisp/term.el b/lisp/term.el index a4c652b..d3d6390 100644 --- a/lisp/term.el +++ b/lisp/term.el @@ -2880,12 +2880,12 @@ term-emulate-terminal (beep t)) ((and (eq char ?\032) (not handled-ansi-message)) - (let ((end (string-match "\r?$" str i))) + (let ((end (string-match "\r?\n" str i))) (if end (funcall term-command-hook (decode-coding-string (prog1 (substring str (1+ i) end) - (setq i (match-end 0))) + (setq i (1- (match-end 0)))) locale-coding-system)) (setq term-terminal-parameter (substring str i)) (setq term-terminal-state 4) -- 2.9.3