Commit graph

274 commits

Author SHA1 Message Date
Nick Roberts
d138996e00 (gdb-display-buffer): Check for gdb-source-window. Add dedicated argument.
(gdb-display-separate-io-buffer, gdb-append-to-inferior-io)
(gdb-display-breakpoints-buffer, gdb-display-stack-buffer)
(gdb-display-threads-buffer, gdb-display-memory-buffer)
(gdb-display-locals-buffer): Use it.
2006-07-13 21:56:26 +00:00
Nick Roberts
3cfc0f435d (gdb-exited): Ensure overlay arrow gets killed.
(gdb-frame-handler): Generalise frame regexp for templates.
2006-06-20 22:35:19 +00:00
Nick Roberts
3e0b9c08a0 (gdb-same-frame): New option.
(gud-old-arrow, gdb-frame-begin, gdb-printing): New variables.
(gdb-init-1): Initialise them.
(gdb-starting): Reset gdb-printing
(gdb-starting): Save value of gud-overlay-arrow-position.
(gdb-frame-begin): Set gdb-frame-begin, gdb-printing.
(gdb-stopped): Don't look for source if calling procedure e.g "p a ()".
Use gdb-*-gdb-buffer conditionally on gdb-same-frame.
(gdb-frame-gdb-buffer): Keep menu bar, tool bar for GUD buffer.
2006-06-15 00:57:53 +00:00
Nick Roberts
41c8cdc3b0 (gdb-set-gud-minor-mode-existing-buffers-1)
(gdb-prompt, gdb-set-gud-minor-mode-existing-buffers): Show status
in mode line at startup.
2006-06-08 12:15:27 +00:00
Nick Roberts
c1719ebfb3 (gdb-look-up-stack): New variable.
(gdb-stopped, gdb-info-stack-custom): If there is no source info
look up the stack and pop up GUD buffer if necessary.
(gdb-frames-select): Remove redundant call to gud-display-frame.
(gdb-info-threads-custom): Keep point at start of buffer.
(gdb-find-file-hook): Make it work for pre-GDB 6.4.
2006-05-31 13:21:39 +00:00
Nick Roberts
8a464f1b54 Move gdb-mouse-toggle-breakpoint-* to
C-mouse-1.  Move gdb-mouse-until to mouse-3, gdb-mouse-jump
to C-mouse-3 (for 2 button mice).
(gdb-send): Do the right thing for C-d.
2006-05-30 08:07:44 +00:00
Nick Roberts
d22b968f75 (gdb-reset): Update speedbar if necessary.
(gdb-var-evaluate-expression-handler, gdb-var-update-handler):
Use a token for pending-triggers to ensure gdb-var-update
gets called once per user input again for pre-GDB 6.4.
(gdb-var-delete): Match on more complex expressions.
(gdb-var-list-children-handler, gdb-var-create-handler):
Use a token for consistency.
2006-05-11 10:08:03 +00:00
Nick Roberts
51158d6985 (gdb-var-create-handler): Move speedbar
call to...
(gud-watch): ...here so speedbar is raised for already watched
expressions.
(gdb-speedbar-refresh): Delete function.
(gdb-speedbar-update, gdb-speedbar-timer-fn): New functions.
Use speedbar-timer-fn instead of speedbar-refresh (reverting
earlier change).
(gdb-var-evaluate-expression-handler)
(gdb-var-list-children-handler-1, gdb-var-update-handler-1):
Use it.
2006-05-07 12:08:23 +00:00
Nick Roberts
0745bc2e98 (gdb-goto-breakpoint): Use or instead of unless so nil isn't returned.
(gdb-setup-windows, gdb-restore-windows): Reset gdb-source-window.
2006-05-06 00:34:11 +00:00
Nick Roberts
6f09505599 (gdb-force-update): Delete variable...
(gdb-init-1, gdb-post-prompt): ...and references to it.
(gdb-frame-handler): Strip directory name from filename if present.
2006-05-04 05:16:46 +00:00
Nick Roberts
9d6bb9e0af (gud-watch): Let user select an expression.
(menu): Fix typo.
2006-05-03 00:17:35 +00:00
Nick Roberts
eff8536f40 (gdb-data-list-register-values-handler):
Use font-lock-warning-face for any errors e.g. no stack.
(gdb-stack-list-locals-handler): Display any errors e.g. no stack.
2006-04-20 22:57:03 +00:00
Nick Roberts
ec180a2625 (gdb-pc-address): Rename from gdb-frame-address.
(gdb-frame-address): Re-use to identify frame for watch expression.
(gdb-var-list, gdb-var-create-handler): Add frame address for root
variables.
(gdb-init-1, gdb-source, gdb-post-prompt, )
(gdb-assembler-custom, gdb-invalidate-assembler): Use gdb-pc-address.
(gdb-frame-handler): Get gdb-frame-address.
2006-04-17 19:48:50 +00:00
Nick Roberts
12c83f528c (gdb-set-gud-minor-mode-existing-buffers):
GDB 6.1+ gives full filename for "info sources" so use
file-name-nondirectory.
2006-04-13 01:38:24 +00:00
Nick Roberts
caf2f94459 (gdb-init-1): Re-initialise gdb-main-file to nil.
(gdb-get-version): Make it work for pre "interpreter mi" (GDB 5.3?).
(gdb-setup-windows): Put something in source window if we can't find
the source file.
(gdb-frame-handler): Make it work again with just assembly.
(gdb-data-list-register-values-handler): Make it work when there is
no stack.
2006-04-10 09:18:11 +00:00
Nick Roberts
4d91dd05aa (gdb-init-2): Set current filename using
GDB list command without argument for greater generality.
2006-04-07 11:20:39 +00:00
Nick Roberts
b19f320523 (gdba): Revert 2006-03-10 change for case of "run" in .gdbinit.
(gdb-var-create-regexp): Remove "^done" prefix for gdb-mi.el.
2006-03-25 00:09:15 +00:00
Nick Roberts
8928c512e4 (gdb-var-create-regexp)
(gdb-var-list-children-regexp, gdb-var-update-regexp)
(gdb-var-list-children-regexp-1, gdb-var-update-regexp-1)
(gdb-data-list-register-values-regexp)
(gdb-stack-list-locals-regexp, gdb-stack-list-locals-handler):
Future proof against new fields being added to MI output.
(gdb-send): Don't treat backslashes for program input as
continuations.
(gdb-assembler-handler): Don't use window-start for this handler.
(gdb-frame-handler): Don't change to hollow arrow if overlay
arrow doesn't move to new frame.
2006-03-24 12:38:31 +00:00
Nick Roberts
201f5b5f6a (gdb-continuation): Declare earlier to prevent compiler warnings.
(gdb-stopped): Check for gud-last-last-frame (case: signal).
(breakpoint-disabled): Make lighter for contrast with overlay
arrow.
(gdb-assembler-custom): Use hollow-right-triangle for assembler
buffer too.
2006-03-23 23:52:11 +00:00
Kim F. Storm
4b479fae31 (gdb-reset): Set buffer local value of
fringe-indicator-alist instead of modifying global value.
(gdb-frame-handler): Likewise.
2006-03-21 13:30:56 +00:00
Nick Roberts
5dfe9b2b89 (hollow-right-triangle): Define as fringe bitmap.
(gdb-info-stack-custom): Rename from gdb-info-frames-custom and
change names in macro above for consistency.
(gdb-frame-handler): Use hollow-right-triangle for all selected
frames which except the innermost (where execution has stopped).
(gdb-reset): Reset buffer-local values of overlay-arrow.
2006-03-21 10:16:34 +00:00
Nick Roberts
cca5ad5c45 (gdb-stopped): Even when there is no source
annotation ensure gud-overlay-arrow-position is redisplayed.
2006-03-19 23:15:40 +00:00
Nick Roberts
2a166e260c (gud-watch): Provide completion.
(gdb-continuation): New variable.
(gdb-send): Deal with continuation lines.
2006-03-16 22:55:00 +00:00
Nick Roberts
be08da22a6 (gdb-inferior-status): New variable.
(gdb-force-mode-line-update): New function.
(gdb-resync, gdb-starting, gdb-signal, gdb-exited, gdb-stopped)
(gdb-exited): Use them.
(gdb-signal): New fuction.
(gdb-annotation-rules): Provide a rule for it.
2006-03-16 07:29:18 +00:00
Nick Roberts
37c7ef1762 (gdb-var-list): Change order of first two elements.
(gdb-find-watch-expression): Make it work for arrays too.  Follow
change to gdb-var-list.
(gud-watch): Allow the user to enter variable name with a prexix
arg.  Create keybindings.
(gdb-var-create-handler, gdb-var-evaluate-expression-handler)
(gdb-var-list-children-handler, gdb-var-update-handler)
(gdb-var-delete, gdb-edit-value, gdb-speedbar-expand-node)
(gdb-var-list-children-handler-1, gdb-var-update-handler-1):
Follow change to gdb-var-list.
(gdb-starting): Don't show the overlay arrows when program is
running.
2006-03-14 20:26:57 +00:00
Nick Roberts
374f0c9131 (gdb-stack-list-locals-handler): Add local
map if value is hexadecimal (an address).
(gud-watch): Only search roots for existing watch expressions.
(gdb-speedbar-refresh): Bind speedbar-shown-directories to nil to
prevent caching problems with speedbar-update-directory-contents.
2006-03-12 14:19:13 +00:00
Nick Roberts
a2c7d24faf (gdb-remove-text-properties): Rename from
gdb-remove-mouse-face and remove help-echo too.
(gdb-enqueue-input): Correct conditional clause.
2006-03-10 20:06:33 +00:00
Nick Roberts
4a7d75e8b2 (gdba): Don't call gdb-init-1 explicitly as
it gets called in gdb-prompt anyway.
(gdb-use-separate-io-buffer): Only restore window arrangement for
gdb-many-windows.
(gdb-enqueue-input): Make it harder to send GDB input when program
is running.
(gdb-buffer-list): New variable.
(gdb-remove-mouse-face): New function.
(gdb-starting): Use it when GDB input won't get sent.
2006-03-10 02:40:31 +00:00
Nick Roberts
d35e063ae3 (gdb-edit-value-handler): New function.
(gdb-edit-value): Use it to report any errors.
2006-03-07 10:42:19 +00:00
Nick Roberts
92219924c8 (gdb-speedbar-refresh): Quieten speedbar-refresh. 2006-03-01 22:44:19 +00:00
Nick Roberts
7dda19092f (gdb-speedbar-refresh): Rename from
gdb-speedbar-timer-fn.  Use speedbar-refresh instead of
speedbar-timer-fn
(gdb-var-update-handler, gdb-var-update-handler-1): Use it.
(gdb-speedbar-expand-node): Use speedbar-delete-subblock
instead of gdb-speedbar-timer-fn.
(gdb-edit-value):
2006-02-28 21:52:30 +00:00
Nick Roberts
f27d4d6cdb (gdb-source-window): New variable.
Re-introduce the concept of a source window.
(gdb-get-buffer-create): Rename from gdb-get-create-buffer for
consistency with get-buffer-create.
(def-gdb-auto-update-handler, gdb-info-locals-handler)
(gdb-data-list-register-values-handler)
(gdb-stack-list-locals-handler): Try to preserve window-start as
well as window-point.
(gdb-display-source-buffer): New function (old concept).
(gdb-goto-breakpoint): Use it.
2006-02-27 09:14:59 +00:00
Nick Roberts
a5de75080d (gdb-debug-ring-max): Rename from gdb-debug-log-length.
(gdb-debug-ring): Rename from gdb-debug-log-ring.  Don't make
it a real ring but...
(gud-gdba-marker-filter): ...make it work like mark-ring.
(gdb-enable-debug): Rename from gdb-enable-debug-log.
(gdb-mouse-jump): New function.  Add bindings.
2006-02-23 07:38:57 +00:00
Nick Roberts
e75116edb6 (gdb-signalled): New variable and function.
(gdb-debug-log-ring): Rename from gdb-debug-log and make a ring.
(gdb-send, gdb-send-item, gud-gdba-marker-filter): Use it.
(gdb-debug-log-length): Customize it's length.
(gud-watch, gdb-var-create-handler): Display function::var format
but don't use to create variable object.
(gdb-var-create-handler): Use message-box in place of message.
(gdb-stopped): Call gdb-exited if signalled.
2006-02-22 22:01:35 +00:00
Nick Roberts
958ac655e6 (gdb-speedbar-auto-raise): Don't enable by default. 2006-02-20 21:48:49 +00:00
Nick Roberts
ffb2cf00c2 (gdb-speedbar-expand-node): Force update of speedbar. 2006-02-20 00:03:15 +00:00
Nick Roberts
e5538a995c (gdb-force-update): Rename from gdb-var-changed.
(gdb-post-prompt): Use it.
(gdb-var-create-handler, gdb-var-evaluate-expression-handler)
(gdb-var-update-handler, gdb-var-delete)
(gdb-speedbar-expand-node, gdb-var-list-children-handler-1)
(gdb-var-update-handler-1): Don't set gdb-var-changed, just set
gdb-force-update in gdb-post-prompt.
(gdb-reset): Clear watch expressions from speedbar when quitting.
2006-02-19 05:21:50 +00:00
Nick Roberts
054d409eaf (gdb-var-evaluate-expression-handler)
(gdb-var-update-handler): Detect out of scope variables with pre
GDB 6.4 too.
(gdb-post-prompt): Revert changet 2006-02-17 (force update).
Reset status of variable objexts to nil in update handlers.
(gdb-var-update-handler-1): Detect when a variable object comes
in scope.  setcar on var changes gdb-var-list directly.
2006-02-18 22:58:26 +00:00
Nick Roberts
bbcc52157b (gdb-var-list): Update doc string.
(gdb-init-1, gdb-var-changed): Set gdb-var-changed to t initially.
(gdb-show-changed-values): Also use for out of scope variables.
(gdb-var-update-handler-1): Note if variable goes out of scope.
2006-02-17 11:51:38 +00:00
Nick Roberts
b32d1b9b01 (gdba, gdb-var-list): Improve doc strings.
(menu): Re-order menu items.
(gdb-var-update-regexp, gdb-var-update-regexp-1): Match "in_scope" field.
(gdb-var-update-handler-1): Use it for GDB 6.4+.
(gdb-post-prompt): Speed things by not forcing update.
2006-02-17 00:25:16 +00:00
Nick Roberts
b5c5d21640 (gdba): Improve doc string.
(menu): Re-order menu items.
2006-02-16 20:47:06 +00:00
Nick Roberts
cb851ef5d9 (gdb-display-separate-io-buffer): Change use of
gdb-use-inferior-io-buffer to gdb-use-separate-io-buffer
(missed in previous change).
2006-02-14 22:19:26 +00:00
Nick Roberts
b5e5e9f2a0 (gdb-use-separate-io-buffer)
(gdb-display-separate-io-buffer, gdb-frame-separate-io-buffer)
(gdb-separate-io-interrupt, gdb-separate-io-quit)
(gdb-separate-io-stop, gdb-separate-io-eof):
Rename from gdb-inferior-* to gdb-separate-*.
(gdb-set-gud-minor-mode-existing-buffers-1): Improve doc string.
2006-02-14 22:03:20 +00:00
Nick Roberts
621b3aac56 (gud-watch, gdb-invalidate-registers-1)
(gdb-get-changed-registers): Test value of gud-minor-mode relative
to gud-comint-buffer.
(gdb-speedbar-expand-node, gdb-locals-mode): Use functions in
gdb-ui.el for gdb-mi.el.
(gdb-post-prompt, gdb-get-changed-registers): Move test for
registers buffer to gdb-get-changed-registers.
(gdb-breakpoint-regexp): New regexp.  Allow toggling and
deletion of catchpoints (throw and catch).
(gdb-toggle-breakpoint, gdb-delete-breakpoint)
(gdb-goto-breakpoint): Use it for both gdb-ui and gdb-mi.
(gdb-find-file-hook, gdb-set-gud-minor-mode-existing-buffers-1)
(gdb-var-list-children-1, gdb-info-breakpoints-custom)
(gdb-var-update-1, gdb-invalidate-locals-1): Use also for gdb-mi.
2006-02-13 21:59:45 +00:00
Nick Roberts
d91362c9e0 Update copyright for 2006. 2006-02-10 09:00:31 +00:00
Nick Roberts
d47c318cc8 (gdb-post-prompt): Regenerate breakpoints
buffer if necessary.
(gdb-delete-frame-or-window): New function.
(gdb-breakpoints-mode-map): Bind "q" to it.
2006-02-07 06:57:27 +00:00
Nick Roberts
d0b9c14d9f (gdb-tooltip-print, gdb-tooltip-print-1):
Display name of expression instead of convenience variable.
(gdb-post-prompt): Only call gdb-get-changed-registers if needed.
2005-12-29 02:04:36 +00:00
Nick Roberts
c962897d11 (gdb-many-windows): Echo new state in minibuffer. 2005-12-15 21:21:43 +00:00
Nick Roberts
c05ba08101 (gdb-find-file-unhook): Delete variable.
(gdb-set-gud-minor-mode, gdb-set-gud-minor-mode): Delete functions.
(gdb-set-gud-minor-mode-existing-buffers, gdb-init-2): Use GDB
command "info sources".  Move calls to GDB command "list".
(gdb-find-file-hook): Just use gdb-source-file-list.
(gdb-source-file-regexp): Use regexp for pre-GDB 6.4.
(gdb-source-file-regexp-1): New regexp for GDB 6.4+ only.
(gdb-set-gud-minor-mode-existing-buffers-1): Use it.
(gdb-data-list-register-values-handler): Use correct trigger name.
2005-12-07 23:05:47 +00:00
Nick Roberts
25c7f31583 (gdb-error-regexp, gdb-first-post-prompt)
(gdb-version): New variables.
(gdb-source-file-list, gdb-register-names)
(gdb-changed-registers): New variables for use with GDB 6.4+.
(gdb-ann3): Replace with...
(gdb-init-1, gdb-init-2): ...two new functions.
(gdba, gdb-prompt): Call gdb-init-1.
(gdb-get-version): New function.  Call gdb-init-2 from here.
(gud-watch): Make it work with mouse events too.
(gdb-post-prompt): Don't add to queue until GDB version is known.
(gdb-speedbar-expand-node, gdb-post-prompt, gdb-registers-mode)
(gdb-locals-mode): Use gdb-version.
(gdb-memory-format-map, gdb-memory-unit-map)
(gdb-locals-watch-map): Rename from gdb-*-*-keymap.
(gdb-locals-font-lock-keywords-1)
(gdb-locals-font-lock-keywords-2): New variables.
(gdb-find-file-hook): fgfg.
(gdb-set-gud-minor-mode-existing-buffers-1)
(gdb-var-list-children-1, gdb-var-list-children-handler-1)
(gdb-var-update-1, gdb-var-update-handler-1)
(gdb-data-list-register-values-handler)
(gdb-data-list-register-values-custom)
(gdb-get-changed-registers, gdb-get-changed-registers-handler)
(gdb-stack-list-locals-handler, gdb-get-register-names): New
functions for use with GDB 6.4+.
(gdb-locals-watch-map-1): New variable for use with GDB 6.4+.
(gdb-source-file-regexp, gdb-var-list-children-regexp-1)
(gdb-var-update-regexp-1, gdb-data-list-register-values-regexp)
(gdb-stack-list-locals-regexp)
(gdb-data-list-register-names-regexp): New regexps for use with
GDB 6.4+.
2005-12-06 21:42:54 +00:00