(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.
(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.
(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.
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.
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.
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):
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.
(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.
(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.
(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.
(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.
(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.
(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.
(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.
(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.
(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+.
(gdb-var-evaluate-expression-handler, gdb-frame-handler)
(gdb-var-list-children-handler, gdb-var-update-handler):
Current buffer is already gdb-partial-output-buffer, don't
make it current again.
Echo new state in minibuffer.
(gdb-var-create-handler, gdb-assembler-custom): Use search-forward
for plain strings.
(gdb-frames-mode): Remove redundant call to font-lock-mode.
(gdb-all-registers): Rename from toggle-gdb-all-registers. Create
registers buffer if necessary. Echo new state in minibuffer.
(gdb-registers-mode-map, gdb-registers-mode): Use gdb-all-registers.
(gdb-breakpoints-mode-map): Use D instead of d for gdb-delete-breakpoint.
(gdb-get-frame-number): Require a number to match on.
(gdb-threads-mode-map): Add follow-link binding.
(gdb-mouse-toggle-breakpoint-margin)
(gdb-mouse-toggle-breakpoint-fringe, gdb-threads-select):
Add gdb-server-prefix to keep out of command history.
(gdb-edit-register-value): New function.
(gdb-registers-mode-map): Bind mouse-2 and RET to it.
(gdb-info-registers-custom): Use above map.
(gdb-var-create-handler, gdb-var-list-children-handler):
Don't match on "char **...".
(gdb-var-update-handler): Find values for all variable objects.
(gdb-info-frames-custom): Identify frames by leading "#".
2005-08-15.
(gdb-ann3): New command gud-go.
(menu): Accomodate gdb-mi.el.
(gdb-assembler-custom): Make buffer of selected window current
so that set-window-point works.
Match on "const char *" too.
(gdb-var-evaluate-expression-handler): Match on empty string.
(gdb-var-update-handler): Only call
gdb-var-evaluate-expression-handler when required.
(gdb-buffer-type): Make it automatically buffer local...
(gdb-get-create-buffer): ...and set it accordingly.
(gdb-frame-gdb-buffer, gdb-display-gdb-buffer): Make these
actually work.
case GUD buffer is not visible.
(gdb-goto-breakpoint): Try to force display in source buffer.
(gdb-frame-gdb-buffer): Copy other similar functions.
(gdb-restore-windows): Don't display source if not asked for.
(gdb-assembler-buffer-name): Don't capitalise.
(gdb-exited): Remove overlay arrows when execution has finished.
(gdb-info-frames-custom, gdb-info-threads-custom)
(gdb-info-registers-custom): Don't add inappropriate text
properties if inferior is not active.