(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.
(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.
(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.
(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.
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.
(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.
(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.
(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.
(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+.