aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNick Roberts2008-05-23 07:36:54 +0000
committerNick Roberts2008-05-23 07:36:54 +0000
commit22b6cf48465e97496ed8882158a479704eabe903 (patch)
treefc0d19de701630e9c0b1bb2943d1c60b95af23b5
parent13bae5072baf931947980ba7b9543a16d06956eb (diff)
downloademacs-22b6cf48465e97496ed8882158a479704eabe903.tar.gz
emacs-22b6cf48465e97496ed8882158a479704eabe903.zip
(gdb-enable-debug): New function.
(gdb-annotation-rules): New entry for "thread-changed". (gdb-thread-changed): New function.
-rw-r--r--lisp/progmodes/gdb-ui.el22
1 files changed, 21 insertions, 1 deletions
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el
index 163194a19c5..f519e4d4257 100644
--- a/lisp/progmodes/gdb-ui.el
+++ b/lisp/progmodes/gdb-ui.el
@@ -401,6 +401,21 @@ for `gdba'."
401 ;; Force mode line redisplay soon. 401 ;; Force mode line redisplay soon.
402 (force-mode-line-update))))) 402 (force-mode-line-update)))))
403 403
404(defun gdb-enable-debug (arg)
405 "Toggle logging of transaction between Emacs and Gdb.
406The log is stored in `gdb-debug-log' as an alist with elements
407whose cons is send, send-item or recv and whose cdr is the string
408being transferred. This list may grow up to a size of
409`gdb-debug-log-max' after which the oldest element (at the end of
410the list) is deleted every time a new one is added (at the front)."
411 (interactive "P")
412 (setq gdb-enable-debug
413 (if (null arg)
414 (not gdb-enable-debug)
415 (> (prefix-numeric-value arg) 0)))
416 (message (format "Logging of transaction %sabled"
417 (if gdb-enable-debug "en" "dis"))))
418
404(defun gdb-many-windows (arg) 419(defun gdb-many-windows (arg)
405 "Toggle the number of windows in the basic arrangement. 420 "Toggle the number of windows in the basic arrangement.
406With prefix argument ARG, display additional buffers if ARG is positive, 421With prefix argument ARG, display additional buffers if ARG is positive,
@@ -1313,7 +1328,9 @@ want the GDB Graphical Interface."
1313 ("stopped" gdb-stopped) 1328 ("stopped" gdb-stopped)
1314 ("error-begin" gdb-error) 1329 ("error-begin" gdb-error)
1315 ("error" gdb-error) 1330 ("error" gdb-error)
1316 ("new-thread" (lambda (ignored) (gdb-get-buffer-create 'gdb-threads-buffer)))) 1331 ("new-thread" (lambda (ignored)
1332 (gdb-get-buffer-create 'gdb-threads-buffer)))
1333 ("thread-changed" gdb-thread-changed))
1317 "An assoc mapping annotation tags to functions which process them.") 1334 "An assoc mapping annotation tags to functions which process them.")
1318 1335
1319(defun gdb-resync() 1336(defun gdb-resync()
@@ -1539,6 +1556,9 @@ sink to `user' in `gdb-stopping', that is fine."
1539(defun gdb-error (ignored) 1556(defun gdb-error (ignored)
1540 (setq gdb-error (not gdb-error))) 1557 (setq gdb-error (not gdb-error)))
1541 1558
1559(defun gdb-thread-changed (ignored)
1560 (gdb-frames-force-update))
1561
1542(defun gdb-post-prompt (ignored) 1562(defun gdb-post-prompt (ignored)
1543 "An annotation handler for `post-prompt'. 1563 "An annotation handler for `post-prompt'.
1544This begins the collection of output from the current command if that 1564This begins the collection of output from the current command if that