changeset 69526:c32efda6ab27

(gud-watch): Provide completion. (gdb-continuation): New variable. (gdb-send): Deal with continuation lines.
author Nick Roberts <nickrob@snap.net.nz>
date Thu, 16 Mar 2006 22:55:00 +0000
parents 2d6fdbec2ac5
children 64cdad743e23
files lisp/progmodes/gdb-ui.el
diffstat 1 files changed, 14 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/progmodes/gdb-ui.el	Thu Mar 16 22:54:02 2006 +0000
+++ b/lisp/progmodes/gdb-ui.el	Thu Mar 16 22:55:00 2006 +0000
@@ -536,7 +536,8 @@
 	gdb-debug-ring nil
 	gdb-signalled nil
 	gdb-source-window nil
-	gdb-inferior-status nil)
+	gdb-inferior-status nil
+	gdb-continuation nil)
 
   (setq gdb-buffer-type 'gdba)
 
@@ -682,7 +683,8 @@
 	  (require 'tooltip)
 	  (save-selected-window
 	    (let ((expr (if arg
-			    (read-string "Name of variable: ")
+			    (completing-read "Name of variable: "
+					     'gud-gdb-complete-command)
 			  (tooltip-identifier-from-point (point)))))
 	      (catch 'already-watched
 		(dolist (var gdb-var-list)
@@ -1076,6 +1078,7 @@
 ;;
 ;; These lists are consumed tail first.
 ;;
+(defvar gdb-continuation nil)
 
 (defun gdb-send (proc string)
   "A comint send filter for gdb.
@@ -1083,12 +1086,15 @@
   (with-current-buffer gud-comint-buffer
     (let ((inhibit-read-only t))
       (remove-text-properties (point-min) (point-max) '(face))))
-  (let ((item (concat string "\n")))
-    (if gud-running
-      (progn
-	(if gdb-enable-debug (push (cons 'send item) gdb-debug-ring))
-	(process-send-string proc item))
-      (gdb-enqueue-input item))))
+  (if (string-match "\\\\$" string)
+      (setq gdb-continuation (concat gdb-continuation string "\n"))
+    (let ((item (concat gdb-continuation string "\n")))
+      (if gud-running
+	  (progn
+	    (if gdb-enable-debug (push (cons 'send item) gdb-debug-ring))
+	    (process-send-string proc item))
+	(gdb-enqueue-input item)))
+    (setq gdb-continuation nil)))
 
 ;; Note: Stuff enqueued here will be sent to the next prompt, even if it
 ;; is a query, or other non-top-level prompt.