changeset 67608:997221d30164

(term-emulate-terminal): Let term-handle-ansi-terminal-messages override what Bash says about its current directory.
author Eli Zaretskii <eliz@gnu.org>
date Fri, 16 Dec 2005 12:16:35 +0000
parents 8e79cfa67c95
children 434eedd17cd9
files lisp/term.el
diffstat 1 files changed, 8 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/term.el	Fri Dec 16 12:06:41 2005 +0000
+++ b/lisp/term.el	Fri Dec 16 12:16:35 2005 +0000
@@ -2687,13 +2687,17 @@
 	   (buffer-undo-list t)
 	   (selected (selected-window))
 	   last-win
+           handled-ansi-message
 	   (str-length (length str)))
       (save-selected-window
 
 	;; Let's handle the messages. -mm
 
-	(setq str (term-handle-ansi-terminal-messages str))
-	(setq str-length (length str))
+        (let* ((newstr (term-handle-ansi-terminal-messages str)))
+          (if (not (eq str newstr))
+              (setq handled-ansi-message t
+                    str newstr)))
+        (setq str-length (length str))
 
 	(if (marker-buffer term-pending-delete-marker)
 	    (progn
@@ -2849,7 +2853,8 @@
 			 ((eq char ?\017))     ; Shift In - ignored
 			 ((eq char ?\^G) ;; (terminfo: bel)
 			  (beep t))
-			 ((eq char ?\032)
+			 ((and (eq char ?\032)
+                               (not handled-ansi-message))
 			  (let ((end (string-match "\r?$" str i)))
 			    (if end
 				(funcall term-command-hook