changeset 24355:f0b106582755

(dirtrack): Check for the prompt in the input string instead of the buffer.
author Richard M. Stallman <rms@gnu.org>
date Fri, 19 Feb 1999 08:37:56 +0000
parents 6a438ef0b573
children a5a611ef40f6
files lisp/dirtrack.el
diffstat 1 files changed, 6 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/dirtrack.el	Fri Feb 19 04:27:18 1999 +0000
+++ b/lisp/dirtrack.el	Fri Feb 19 08:37:56 1999 +0000
@@ -5,7 +5,7 @@
 ;; Author: Peter Breton <pbreton@cs.umb.edu>
 ;; Created: Sun Nov 17 1996
 ;; Keywords: processes
-;; Time-stamp: <1998-03-14 09:24:38 pbreton>
+;; Time-stamp: <1999-02-16 20:48:21 pbreton>
 
 ;; This file is part of GNU Emacs.
 
@@ -258,9 +258,9 @@
 (defun dirtrack (input)
   (if (null dirtrackp)
       nil
-    (let ((prompt-path)
+    (let (prompt-path
+	  matched
 	  (current-dir default-directory)
-	  (matched)
 	  (dirtrack-regexp    (nth 0 dirtrack-list))
 	  (match-num	      (nth 1 dirtrack-list))
 	  (multi-line	      (nth 2 dirtrack-list))
@@ -269,16 +269,7 @@
       (if (eq (point) (point-min))
 	  nil
 	(save-excursion
-	  (goto-char (point-max))
-	  ;; Look for the prompt
-	  (if multi-line
-	      (setq matched 
-		    (re-search-backward 
-		     dirtrack-regexp 
-		     comint-last-output-start
-		     t))
-	    (beginning-of-line)
-	    (setq matched (looking-at dirtrack-regexp)))
+	  (setq matched (string-match dirtrack-regexp input)))
 	  ;; No match
 	  (if (null matched)
 	      (and dirtrack-debug
@@ -287,7 +278,7 @@
 		     "Input `%s' failed to match regexp: %s" 
 		    input dirtrack-regexp)))
 	    (setq prompt-path 
-		  (buffer-substring-no-properties
+		  (substring input
 		   (match-beginning match-num) (match-end match-num)))
 	    ;; Empty string
 	    (if (not (> (length prompt-path) 0))
@@ -320,7 +311,7 @@
 			 (dirtrack-debug-message 
 			  (format "Changing directory to %s" prompt-path)))
 		  (error "Directory %s does not exist" prompt-path)))
-	      )))))))
+	      ))))))
 
 (provide 'dirtrack)