changeset 13797:d00c8f107a39

(gud-sdb-marker-filter): Modify the regexp for sysVR3 to take care of the asterisk prompt. Correctly set gud-marker-acc.
author Karl Heuer <kwzh@gnu.org>
date Thu, 21 Dec 1995 17:45:44 +0000
parents 116a22176b36
children 4eac65d000d3
files lisp/gud.el
diffstat 1 files changed, 4 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/gud.el	Thu Dec 21 17:43:20 1995 +0000
+++ b/lisp/gud.el	Thu Dec 21 17:45:44 1995 +0000
@@ -413,13 +413,13 @@
     (while 
 	(cond 
 	 ;; System V Release 3.2 uses this format
-	 ((string-match "\\(^0x\\w* in \\|^\\|\n\\)\\([^:\n]*\\):\\([0-9]*\\):.*\n"
+	 ((string-match "\\(^\\|\n\\)\\*?\\(0x\\w* in \\)?\\([^:\n]*\\):\\([0-9]*\\):.*\n"
 			gud-marker-acc start)
 	  (setq gud-last-frame
 		(cons
-		 (substring gud-marker-acc (match-beginning 2) (match-end 2))
+		 (substring gud-marker-acc (match-beginning 3) (match-end 3))
 		 (string-to-int 
-		  (substring gud-marker-acc (match-beginning 3) (match-end 3))))))
+		  (substring gud-marker-acc (match-beginning 4) (match-end 4))))))
 	 ;; System V Release 4.0 quite often clumps two lines together
 	 ((string-match "^\\(BREAKPOINT\\|STEPPED\\) process [0-9]+ function [^ ]+ in \\(.+\\)\n\\([0-9]+\\):" 
 			gud-marker-acc start)
@@ -451,12 +451,7 @@
       (setq start (match-end 0)))
 
     ;; If we have an incomplete line, store it in gud-marker-acc.
-    ;; Otherwise clear gud-marker-acc. to avoid an
-    ;; unnecessary concat when this function runs next.
-    (setq gud-marker-acc 
-	  (if (and (numberp start) (= start (length gud-marker-acc)))
-	      (substring gud-marker-acc start)
-	    nil)))
+    (setq gud-marker-acc (substring gud-marker-acc (or start 0))))
   string)
 
 (defun gud-sdb-find-file (f)