summaryrefslogtreecommitdiff
path: root/lisp/term.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/term.el')
-rw-r--r--lisp/term.el15
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))))