;;; compiled by jimb@wookumz.gnu.ai.mit.edu on Sat May 30 03:39:35 1992 ;;; from file /gd/gnu/emacs-18.58/lisp/dbx.el ;;; emacs version 18.58.1. ;;; bytecomp version 2.01 beta; 13-aug-91. ;;; optimization is on; compiled with emacs18 compatibility. (require (quote shell)) (defvar dbx-trace-flag nil "\ Dbx trace switch.") (defvar dbx-process nil "\ The process in which dbx is running.") (defvar dbx-break-point "stopped in .* at line \\([0-9]*\\) in file \"\\([^\"]*\\)\"" "\ Regexp of pattern that dbx writes at break point.") (byte-code "ÀÁ!„ „#à !Å ÆÇ#ˆÅ ÈÉ#ˆÅ\nËÌ#ˆÂ‡" [boundp inferior-dbx-mode-map nil copy-keymap shell-mode-map define-key "w" dbx-where "" dbx-trace-mode ctl-x-map " " dbx-stop-at] 4) (defun inferior-dbx-mode nil "\ Major mode for interacting with an inferior Dbx process. The following commands are available: \\{inferior-dbx-mode-map} Entry to this mode calls the value of dbx-mode-hook with no arguments, if that value is non-nil. Likewise with the value of shell-mode-hook. dbx-mode-hook is called after shell-mode-hook. You can display the debugging program in other window and point out where you are looking at using the command \\[dbx-where]. \\[dbx-trace-mode] toggles dbx-trace mode. In dbx-trace mode, debugging program is automatically traced using output from dbx. The command \\[dbx-stop-at] sets break point at current line of the program in the buffer. Major mode name of the buffer must be in dbx-language-mode-list. Commands: Return at end of buffer sends line as input. Return not at end copies rest of line to end and sends it. \\[shell-send-eof] sends end-of-file as input. \\[kill-shell-input] and \\[backward-kill-word] are kill commands, imitating normal Unix input editing. \\[interrupt-shell-subjob] interrupts the shell or its current subjob if any. \\[stop-shell-subjob] stops, likewise. \\[quit-shell-subjob] sends quit signal, likewise. \\[dbx-where] displays debugging program in other window and points out where you are looking at. \\[dbx-trace-mode] toggles dbx-trace mode. \\[dbx-stop-at] sets break point at current line." (interactive) (byte-code "À ˆÁÃÅÇ!ˆÉÊ!ˆË \nÉÌ!ˆË  ÉÍ!ˆÎ ÏÐ!ˆÑÒÍ\"„;ÔBÕÖ×\"‡" [kill-all-local-variables inferior-dbx-mode major-mode "Inferior Dbx" mode-name (": %s") mode-line-process use-local-map inferior-dbx-mode-map make-local-variable last-input-start make-marker last-input-end dbx-trace-flag nil make-variable-buffer-local shell-prompt-pattern "^[^)]*dbx) *" assq minor-mode-alist (dbx-trace-flag " Trace") run-hooks shell-mode-hook dbx-mode-hook] 3)) (defun run-dbx (path) "\ Run an inferior Dbx process, input and output via buffer *dbx*." (interactive "fProgram to debug: ") (byte-code "À ! !ÄÅ ÆQ!ˆÇ !ÄÉÊ PËÌ $!ˆ)Íp!ÏÐ\"ˆÑ ‡" [expand-file-name path file-name-nondirectory file switch-to-buffer "*dbx-" "*" file-name-directory default-directory make-shell "dbx-" "dbx" nil get-buffer-process dbx-process set-process-filter dbx-filter inferior-dbx-mode] 6)) (defun dbx-trace-mode (arg) "\ Toggle dbx-trace mode. With arg, turn dbx-trace mode on iff arg is positive. In dbx-trace mode, user program is automatically traced." (interactive "P") (byte-code "Á=„\nÂÃ!ˆ „ ?‚Æ !ÇVÈÉ !‡" [major-mode inferior-dbx-mode error "Dbx-trace mode is effective in inferior-dbx mode only." arg dbx-trace-flag prefix-numeric-value 0 set-buffer-modified-p buffer-modified-p] 2)) (defun dbx-filter (process string) "\ Trace debugging program automatically if dbx-trace-flag is not nil." (byte-code "ŠÀ !qˆdbˆ` cˆ ƒÅ\nÆ\"ˆ)Ç !ƒ%ÈÇ !d\"ˆ)À !p=…0db‡" [process-buffer process beg string dbx-trace-flag dbx-where t process-mark set-marker] 3)) (defun dbx-where (&optional begin quiet) "\ Display dbx'ed program in other window and point out where you are looking at. BEGIN bounds the search. If QUIET, just return nil (no error) if fail." (interactive) (byte-code "À‰ŠÃ #ƒ ÇÈÉ!ÊÉ!\"ÇÈË!ÊË!\")\n…P …PÌÍ\nÀ\"!ˆÎÏ !!ˆÐÑ!ˆÒ„FÕ Ö`p#ˆ×É!*‡" [nil line file re-search-backward dbx-break-point begin quiet buffer-substring match-beginning 1 match-end 2 find-file-other-window expand-file-name goto-line string-to-int forward-line 0 "=>" overlay-arrow-string overlay-arrow-position make-marker set-marker other-window] 4)) (defun dbx-stop-at nil "\ Set break point at current line." (interactive) (byte-code "À !ŒÂ ˆÃÄ`\"T)ÇÉÊË Ì%\"*‡" [file-name-nondirectory buffer-file-name widen count-lines 1 line file-name send-string dbx-process concat "stop at \"" "\":" "\n"] 8))