On Mon, Jan 23, 2017 at 1:18 PM, Eli Zaretskii eliz-at-gnu.org |gmane3-hoffman| <0wdp3p2xrt@sneakemail.com> wrote: > > From: "Michael Hoffman" > > Date: Mon, 23 Jan 2017 12:54:10 -0500 > > > > I have located the original commit that added the `handled-ansi-message` > > behavior: > > https://github.com/emacs-mirror/emacs/commit/59be5828de98814 > b8aa32718bf2b6196db085db1 > > > > Eli Zaretskii added it to "Let term-handle-ansi-terminal-messages > > override what Bash says about its current directory." > > I was just committing someone else's patch in that case. > Please accept my apologies. > See these messages in the archives for the reason why that change was > done: > > https://lists.gnu.org/archive/html/emacs-pretest-bug/2005-11 > /msg00020.html > https://lists.gnu.org/archive/html/emacs-pretest-bug/2005-11 > /msg00103.html > https://lists.gnu.org/archive/html/emacs-pretest-bug/2005-12 > /msg00089.html > > If you can propose changes that solve this issue without > re-introducing that one, please do. > The below patch eliminates the garbage printing while maintaining the behavior added in 2005 of having `handled-ansi-message` preventing any updates to `default-directory` based on a \032 escape. mhoffman@mhoffman2 ~/share/emacs/25.1/lisp $ diff -u <(zcat term.el.gz) term.el --- /dev/fd/63 2017-01-23 14:13:55.948963291 -0500 +++ term.el 2017-01-23 14:11:43.903830242 -0500 @@ -2869,15 +2869,16 @@ ((eq char ?\017)) ; Shift In - ignored ((eq char ?\^G) ;; (terminfo: bel) (beep t)) - ((and (eq char ?\032) - (not handled-ansi-message)) + ((eq char ?\032) (let ((end (string-match "\r?$" str i))) (if end - (funcall term-command-hook - (decode-coding-string - (prog1 (substring str (1+ i) end) - (setq i (match-end 0))) - locale-coding-system)) + (progn + (unless handled-ansi-message + (funcall term-command-hook + (decode-coding-string + (substring str (1+ i) end) + locale-coding-system))) + (setq i (match-end 0))) (setq term-terminal-parameter (substring str i)) (setq term-terminal-state 4) (setq i str-length)))) ==== ChangeLog: 2017-01-23 Michael Hoffman * term.el (term-emulate-terminal): fix bug#11919: do not display ?\032 escape codes even when `handled-ansi-message` is true