changeset 4344:be116c77da2f

(dbx): Use %d in gud-break. (gud-format-command): Support %d. Delete spurious progns.
author Richard M. Stallman <rms@gnu.org>
date Thu, 29 Jul 1993 22:35:23 +0000
parents aa19e3673b9f
children 49e68bc65e26
files lisp/gud.el
diffstat 1 files changed, 37 insertions(+), 34 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/gud.el	Thu Jul 29 19:56:38 1993 +0000
+++ b/lisp/gud.el	Thu Jul 29 22:35:23 1993 +0000
@@ -84,7 +84,8 @@
 optional doc string DOC.  Certain %-escapes in the string arguments
 are interpreted specially if present.  These are:
 
-  %f	name of current source file. 
+  %f	name (without directory) of current source file. 
+  %d	directory of current source file. 
   %l	number of current source line
   %e	text of the C lvalue or function-call expression surrounding point.
   %a	text of the hexadecimal address surrounding point
@@ -330,7 +331,7 @@
 
   (gud-common-init command-line)
 
-  (gud-def gud-break  "file \"%f\"\nstop at %l"
+  (gud-def gud-break  "file \"%d%f\"\nstop at %l"
 	   			  "\C-b" "Set breakpoint at current line.")
 ;;  (gud-def gud-break  "stop at \"%f\":%l"
 ;;	   			  "\C-b" "Set breakpoint at current line.")
@@ -723,42 +724,44 @@
 (defun gud-format-command (str arg)
   (let ((insource (not (eq (current-buffer) gud-comint-buffer))))
     (if (string-match "\\(.*\\)%f\\(.*\\)" str)
-	(progn
-	  (setq str (concat
-		     (substring str (match-beginning 1) (match-end 1))
-		     (file-name-nondirectory (if insource
-						 (buffer-file-name)
-					       (car gud-last-frame)))
-		     (substring str (match-beginning 2) (match-end 2))))))
+	(setq str (concat
+		   (substring str (match-beginning 1) (match-end 1))
+		   (file-name-nondirectory (if insource
+					       (buffer-file-name)
+					     (car gud-last-frame)))
+		   (substring str (match-beginning 2) (match-end 2)))))
+    (if (string-match "\\(.*\\)%d\\(.*\\)" str)
+	(setq str (concat
+		   (substring str (match-beginning 1) (match-end 1))
+		   (file-name-directory (if insource
+					    (buffer-file-name)
+					  (car gud-last-frame)))
+		   (substring str (match-beginning 2) (match-end 2)))))
     (if (string-match "\\(.*\\)%l\\(.*\\)" str)
-	(progn
-	  (setq str (concat
-		     (substring str (match-beginning 1) (match-end 1))
-		     (if insource
-			 (save-excursion
-			   (beginning-of-line)
-			   (save-restriction (widen) 
-					     (1+ (count-lines 1 (point)))))
-		       (cdr gud-last-frame))
-		     (substring str (match-beginning 2) (match-end 2))))))
+	(setq str (concat
+		   (substring str (match-beginning 1) (match-end 1))
+		   (if insource
+		       (save-excursion
+			 (beginning-of-line)
+			 (save-restriction (widen) 
+					   (1+ (count-lines 1 (point)))))
+		     (cdr gud-last-frame))
+		   (substring str (match-beginning 2) (match-end 2)))))
     (if (string-match "\\(.*\\)%e\\(.*\\)" str)
-	(progn
-	  (setq str (concat
-		     (substring str (match-beginning 1) (match-end 1))
-		     (find-c-expr)
-		     (substring str (match-beginning 2) (match-end 2))))))
+	(setq str (concat
+		   (substring str (match-beginning 1) (match-end 1))
+		   (find-c-expr)
+		   (substring str (match-beginning 2) (match-end 2)))))
     (if (string-match "\\(.*\\)%a\\(.*\\)" str)
-	(progn
-	  (setq str (concat
-		     (substring str (match-beginning 1) (match-end 1))
-		     (gud-read-address)
-		     (substring str (match-beginning 2) (match-end 2))))))
+	(setq str (concat
+		   (substring str (match-beginning 1) (match-end 1))
+		   (gud-read-address)
+		   (substring str (match-beginning 2) (match-end 2)))))
     (if (string-match "\\(.*\\)%p\\(.*\\)" str)
-	(progn
-	  (setq str (concat
-		     (substring str (match-beginning 1) (match-end 1))
-		     (if arg (int-to-string arg) "")
-		     (substring str (match-beginning 2) (match-end 2))))))
+	(setq str (concat
+		   (substring str (match-beginning 1) (match-end 1))
+		   (if arg (int-to-string arg) "")
+		   (substring str (match-beginning 2) (match-end 2)))))
     )
   str
   )