Mercurial > emacs
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.