diff options
author | Michael Hoffman <emacs-hoffman@sneakemail.com> | 2017-01-27 11:26:36 +0200 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2017-01-27 11:26:36 +0200 |
commit | 87027734e99c1fc4ad7803421e1086e3388d20f3 (patch) | |
tree | 847b572a6faff233b2ea46e2fede81ec52be657c /lisp | |
parent | 525a6d2c4fcd4a319e196ede0513275f6b07eb2c (diff) | |
download | emacs-87027734e99c1fc4ad7803421e1086e3388d20f3.tar.gz |
Support Bash Ctrl-Z indication of directory name in term.el
* term.el (term-emulate-terminal): Do not display ?\032 escape
codes even when 'handled-ansi-message' is non-nil. (Bug#11919)
Copyright-paperwork-exempt: yes
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/term.el | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/lisp/term.el b/lisp/term.el index 5259571eb6d..063a6ea592f 100644 --- a/lisp/term.el +++ b/lisp/term.el @@ -2901,15 +2901,16 @@ See `term-prompt-regexp'." ((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?\n" str i))) (if end - (funcall term-command-hook - (decode-coding-string - (prog1 (substring str (1+ i) end) - (setq i (1- (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 (1- (match-end 0)))) (setq term-terminal-parameter (substring str i)) (setq term-terminal-state 4) (setq i str-length)))) |