;ELC   
;;; Compiled by leavens@CMC3251632-A on Fri Aug 09 22:34:17 2002
;;; from file d:/emacs/speedbar/sb-gud.el
;;; in Emacs version 21.2.1
;;; with bytecomp version 2.85
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.
(if (and (boundp 'emacs-version)
	 (< (aref emacs-version (1- (length emacs-version))) ?A)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`sb-gud.el' was compiled for Emacs 19.29 or later"))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(require 'speedbar)
#@27 The last GUD buffer used.
(defvar gud-last-speedbar-buffer nil (#$ . 613))
#@116 Description of the currently displayed GUD stack.
t means that there is no stack, and we are in display-file mode.
(defvar gud-last-speedbar-stackframe nil (#$ . 695))
#@47 Keymap used when in the buffers display mode.
(defvar gud-speedbar-key-map nil (#$ . 869))
#@62 Install those variables used by speedbar to enhance gud/gdb.
(defalias 'gud-install-speedbar-variables #[nil "?\205 \301 \302\303\304#\210\302\305\304#\210\302\306\304#\207" [gud-speedbar-key-map speedbar-make-specialized-keymap define-key "j" speedbar-edit-line "e" ""] 4 (#$ . 966)])
#@54 Additional menu items to add the the speedbar frame.
(defvar gud-speedbar-menu-items '(["Jump to stack frame" speedbar-edit-line t]) (#$ . 1265))
(byte-code "\300\301!\203\f \302 \210\202 \303\304\302\"\210\300\207" [featurep speedbar gud-install-speedbar-variables add-hook speedbar-load-hook] 3)
#@162 Create a speedbar display based on the current state of GUD.
If the GUD BUFFER is not running a supported debugger, then turn
off the specialized speedbar mode.
(defalias 'gud-speedbar-buttons #[(buffer) "\212eb\210\306\307!)\205 	\232?\205\241 \n\212\nq\210\f)\211\310=\203' \311\n!\202, \312\n!\210\313\314 \210\204= \315\316!\210\202A \317\320!\210\203\214 @A@\321\261\210@G\322U\203h \323@@\324\313\211\211\325&\210\202\203 \323@@\326\327\310=\203y \330\202| \331\332!@\325&\210A\211\204F \310=\203\231 \333\n!\210\202\235 \331\332!\210*\211\207" [gud-last-last-frame gud-last-speedbar-stackframe buffer gud-last-speedbar-buffer gud-find-file ff looking-at "\\(//\\)?Current Stack" gud-gdb-find-file gud-gdb-get-stackframe speedbar-remove-localized-speedbar-support nil erase-buffer speedbar-insert-label "No Stack frames" speebar-insert-label "Current Stack:" ":\n" 2 speedbar-insert-button speedbar-directory-face t speedbar-file-face speedbar-highlight-face gud-gdb-goto-stackframe error "Should never be here" gud-gdb-selected-frame-info frames] 8 (#$ . 1571)])
#@59 Goto the stackframe described by TEXT, TOKEN, and INDENT.
(defalias 'gud-gdb-goto-stackframe #[(text token indent) "\304 \305\216\306	!\210\307\n!\210\310\311A@P!\210\312\313!\210\314 *\207" [save-selected-window-window speedbar-update-speed speedbar-attached-frame token selected-window ((byte-code "\301!\203\n \302!\210\301\207" [save-selected-window-window window-live-p select-window] 2)) speedbar-set-timer select-frame gud-basic-call "frame " sit-for 1 speedbar-maybee-jump-to-attached-frame] 3 (#$ . 2678)])
#@40 Stack frames we are fetching from GDB.
(defvar gud-gdb-fetched-stack-frame nil (#$ . 3204))
#@48 List of stack frames we are fetching from GDB.
(defvar gud-gdb-fetched-stack-frame-list nil (#$ . 3302))
#@60 Extract the current stack frame out of the GUD GDB BUFFER.
(defalias 'gud-gdb-get-stackframe #[(buffer) "\306\211\307\310\n\"\210@\205 \311\312@\"?\205| \203z @\306\211\311\313\"\204M \311\314\"\204M \311\315\"\203r 	\211@@	@A@\316\317\"\316\320\"F\240\210\202r \316\317\"\316\320\"\311\315\"\203l \f\316\317\"\316\320\"F\202o \fD	B+A\211\204 	\237*\207" [gud-gdb-fetched-stack-frame-list newlst buffer num name e nil gud-gdb-run-command-fetch-lines "backtrace" string-match "No stack" "^#\\([0-9]+\\) +[0-9a-fx]+ in \\([:0-9a-zA-Z_]+\\) (" "^#\\([0-9]+\\) +\\([:0-9a-zA-Z_]+\\) (" "at \\([-0-9a-zA-Z_.]+\\):\\([0-9]+\\)$" match-string 1 2] 8 (#$ . 3413)])
#@128 Run COMMAND, and return when `gud-gdb-fetched-stack-frame-list' is full.
BUFFER is the GUD buffer in which to run the command.
(defalias 'gud-gdb-run-command-fetch-lines #[(command buffer) "\212q\210\212db\210\306 \210\307	!)??\2059 \310\311!\210\312\313\313\f\203/ \314\315!!\210\202! \313\237\211))\207" [buffer comint-prompt-regexp gud-marker-filter command gud-gdb-complete-in-progress gud-gdb-complete-string beginning-of-line looking-at gud-gdb-speedbar-stack-filter gud-basic-call t nil accept-process-output get-buffer-process gud-gdb-complete-list gud-comint-buffer gud-gdb-fetched-stack-frame gud-gdb-fetched-stack-frame-list] 3 (#$ . 4105)])
#@47 Filter used to read in the current GDB stack.
(defalias 'gud-gdb-speedbar-stack-filter #[(string) "	P\306\307	\"\203 	\310\211\224O\nB	\310\225\311O\202 \306	\"\203' \311	\207	\312\207" [gud-gdb-fetched-stack-frame string gud-gdb-fetched-stack-frame-list comint-prompt-regexp gud-gdb-complete-in-progress gud-gdb-complete-string string-match "\n" 0 nil ""] 3 (#$ . 4779)])
(provide 'sb-gud)
