;ELC ;;; compiled by jwz@thalidomide on Wed May 25 21:53:23 1994 ;;; from file /u/jwz/emacs19/lisp/eos/eos-debugger-extra.el ;;; emacs version 19.10 Lucid. ;;; bytecomp version 2.24; 26-Apr-94. ;;; optimization is on. ;;; this file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "This file was compiled for Emacs 19.")) (require 'eos-common) (defvar eos::debugger-buffer "*debugger*" "\ name of buffer where to log debugger activity; see eos::use-debugger-buffer") (fset 'eos::ensure-debugger-buffer #[nil " !\n! !q !#)" [get-buffer eos::debugger-buffer buf switch-to-buffer get-buffer-create eos::debugger-mode eos::insert-string-as-extent "[Debugger] " t get-face bold] 6 "\ will ensure a debugger buffer, with the proper major mode"]) (fset 'eos::synchronize-debugger-buffer #[nil " db !\")" [eos::ensure-debugger-buffer x mapcar #[(win) " \n\"" [set-window-point win x] 3] get-buffer-window-list eos::debugger-buffer] 5 "\ ensure all views of this buffer are at the end"]) (byte-code "M!  \" # # #ć" [eos::debugger-mode #[nil " !\n!" [kill-all-local-variables eos::debugger-mode major-mode "eos::debugger" mode-name t truncate-lines set-syntax-table emacs-lisp-mode-syntax-table use-local-map eos::debugger-mode-map] 2 nil nil] boundp eos::debugger-mode-map nil make-keymap set-keymap-name define-key [(meta p)] eos::debugger-previous-cmd [(meta n)] eos::debugger-next-cmd [return] eos::debugger-send-cmd] 4) (defvar eos::current-command nil "\ Current command navigated; as an extent") (defvar eos::last-command nil "\ last command sent to debugger, as an extent") (fset 'eos::debugger-previous-cmd #[nil "\n \n\" db ! !S{c !*" [nil xt eos::current-command eos::last-command extent-property previous-command eos::debugger-delete-last-cmd-line extent-start-position extent-end-position error "no previous command"] 3 "\ present the previous command" nil]) (fset 'eos::debugger-next-cmd #[nil "\n!\n\" db ! !S{c *" [nil xt eos::current-command error "no next command" extent-property next-command eos::debugger-delete-last-cmd-line extent-start-position extent-end-position] 3 "\ present the next command" nil]) (fset 'eos::debugger-delete-last-cmd-line #[nil "db`y`! !{ |," [e 0 extent-at xt extent-end-position p str] 3 "\ delete the last command line, not yet inputed, returns that cmd line"]) (fset 'eos::debugger-send-cmd #[nil "`y`! ! { |P \"db ," [nil e 0 extent-at xt extent-end-position p str eos::send-spider-current-do-msg "\n" selected-screen eos::current-command] 4 "\ send the message in the current line" nil]) (fset 'get-buffer-window-list #[(buffer) " !Ɖ$ \n\n??   \n!\nB\nƉ$P\n-" [get-buffer buffer buf next-window nil foo t win1 win first ret window-buffer] 6 "\ like get-buffer-window except that will generate a list of windows instead of just the first one"]) (fset 'eos::insert-on-debugger-buffer #[(msg rdonly face &optional previous-command) "p # # #\n! *" [nil xt buf eos::ensure-debugger-buffer eos::insert-string-as-extent msg rdonly face previous-command set-extent-property next-command switch-to-buffer] 4 "\ will insert MSG at end of debugger buffer with RDONLY property and with FACE. If PREVIOUS-COMMAND is given, the newly created extent will be doubly linked into this one using 'previous-command and 'next-command properties"]) (fset 'eos::insert-string-as-extent #[(msg rdonly face) "db` c\n`# # #  \" *" [nil xt here msg make-extent rdonly set-extent-property read-only t duplicable set-extent-face face eos::synchronize-debugger-buffer] 4 "\ insert MSG as a extent with RDONLY and FACE. Returns the extent"]) (fset 'eos::spider-do-callback #[(msg pat) " #\"!#\n\n! !" [eos::insert-on-debugger-buffer format "%s" get-tooltalk-message-attribute msg arg_val 2 t get-face bold eos::restore-screen select-screen destroy-tooltalk-message] 7 "\ Callback after processing a spider_do request"]) (defvar eos::last-command-was-print nil "\ (eos:: internal)") (fset 'eos::spro_spider_output #[(msg pat) " #\"!# #  ̘ \"c!#) !" [eos::insert-on-debugger-buffer format "%s" get-tooltalk-message-attribute msg arg_val 1 t get-face default 2 err "" "STDERR> %s" destroy-tooltalk-message] 8 "\ For spider output"]) (fset 'eos::spro_spider_output-common #[(msg pat) "\n \"\n \"" [eos::last-command-was-print eos::spro_spider_print_output msg pat eos::spro_spider_output] 3 "\ For spider output"]) (fset 'eos::spider-tt-args '(macro . #[(cmd spider-id clique-id) "FFF" [list 'class TT_REQUEST 'address TT_HANDLER 'scope TT_SESSION 'handler spider-id 'op "SPRO_SPIDER_DO" 'callback 'eos::spider-do-callback 'args 'TT_IN clique-id "Context_ID" 'TT_IN cmd "string" (list 'TT_OUT)] 20])) (fset 'eos::send-spider-do-msg #[(cmd spider-id clique-id) "\n EECE!!$!!)" [make-tooltalk-message class TT_REQUEST address TT_HANDLER scope TT_SESSION handler spider-id op "SPRO_SPIDER_DO" callback eos::spider-do-callback args TT_IN clique-id "Context_ID" cmd "string" TT_OUT msg eos::insert-on-debugger-buffer t get-face italic eos::last-command eos::current-command send-tooltalk-message destroy-tooltalk-message] 19 "\ Send CMD, a string, to SPIDER-ID, using CLIQUE-ID"]) (byte-code "" [nil eos::restore-screen ("Xemacs does not know the ID of a debugger to connect to. You may need\n to reissue a debug or attach command from the debugger" ["Continue" (message "continuing") t]) eos::no-connection-box] 1) (fset 'eos::send-spider-current-do-msg #[(cmd restore-screen) "\n !\n#" [restore-screen eos::restore-screen eos::current-debugger-clique-id popup-dialog-box eos::no-connection-box eos::send-spider-do-msg cmd eos::current-dbx-proc-id] 4 "\ Send CMD to the current dbx engine using the current debugger clique; The cmd ends in a new-line. RESTORE is a screen to request reseting the selected screen to that value "]) (fset 'eos::dbx-cmd #[(arg) " P\"" [eos::send-spider-current-do-msg arg "\n" nil] 3 "\ Send CMD to the current dbx engine using the current debugger clique; The cmd does not end in a new-line; a new-line will be added" "sDbx cmd: "]) (fset 'eos::debugger-extra-startup #[nil "  " [eos::create-debugger-extra-patterns eos::dbx-extra-pattern-list eos::ensure-available-print-screen eos::define-prefix-map] 1 "\ Actions to do at startup for eos-debugger-extra.el"]) (fset 'eos::create-debugger-extra-patterns #[nil " !)C" [(category TT_OBSERVE scope TT_SESSION class TT_NOTICE op "SPRO_SPIDER_OUTPUT" callback 'eos::spro_spider_output-common) pattern-desc make-tooltalk-pattern] 2 "\ returns a list of patterns"]) (fset 'eos::register-debugger-extra-patterns #[nil "\n\"" [mapcar register-tooltalk-pattern eos::dbx-extra-pattern-list] 3 "\ register additional dbx patterns"]) (fset 'eos::unregister-debugger-extra-patterns #[nil "\n\"" [mapcar unregister-tooltalk-pattern eos::dbx-extra-pattern-list] 3 "\ unregister additional dbx patterns"]) (byte-code "MMMMMMMMMMMMMM" [eos::run #[nil "!" [eos::dbx-cmd "run"] 2 nil nil] eos::fix #[nil "!" [eos::dbx-cmd "fix"] 2 nil nil] eos::cont #[nil "!" [eos::dbx-cmd "cont"] 2 nil nil] eos::next #[nil "!" [eos::dbx-cmd "next"] 2 nil nil] eos::step #[nil "!" [eos::dbx-cmd "step"] 2 nil nil] eos::step-up #[nil "!" [eos::dbx-cmd "step up"] 2 nil nil] eos::up #[nil "!" [eos::dbx-cmd "up"] 2 nil nil] eos::down #[nil "!" [eos::dbx-cmd "down"] 2 nil nil] eos::pop #[nil "!" [eos::dbx-cmd "pop"] 2 nil nil] eos::stop-at #[nil " `!#!" [eos::dbx-cmd format "stop at \"%s\":%d" buffer-file-name eos::line-at] 6 nil nil] eos::clear-at #[nil " `!#!" [eos::dbx-cmd format "clear \"%s\":%d" buffer-file-name eos::line-at] 6 nil nil] eos::stop-in #[nil "` {\"!" [eos::dbx-cmd format "stop in %s" mark] 5 nil nil] eos::func #[nil "` {\"!" [eos::dbx-cmd format "func %s" mark] 5 nil nil] eos::cont-to #[nil " `!#!" [eos::dbx-cmd format "stop at \"%s\":%d -temp; cont" buffer-file-name eos::line-at] 6 nil nil]] 2) (fset 'eos::send-spider-print-msg #[(expr) " \"!" [t eos::last-command-was-print eos::dbx-cmd format "print %s" expr] 4 "\ Print EXPR using separate screen"]) (fset 'eos::send-spider-print*-msg #[(expr) " \"!" [t eos::last-command-was-print eos::dbx-cmd format "print *(%s)" expr] 4 "\ Send *EXPR using separate screen"]) (byte-code "MMM" [eos::print #[nil "` {!" [eos::send-spider-print-msg mark] 3 nil nil] eos::print* #[nil "` {!" [eos::send-spider-print*-msg mark] 3 nil nil] eos::buffer-line-size #[(buffer) " !p !d!)" [bufferp buffer switch-to-buffer eos::line-at] 2 nil nil]] 2) (fset 'eos::new-available-print-screen #[nil " p ! ! !! #!! # !!!\n! ! *" [selected-screen buf scr live-screen-p eos::print-screen make-screen-visible make-screen set-face-background modeline face-background get-face default set-face-foreground select-screen switch-to-buffer eos::print-buffer set-buffer-menubar (["Dismiss" (eos::dismiss-print-screen) t])] 5 "\ returns an available print screen"]) (defun eos::ensure-available-print-screen nil "\ ensures that there is at least one available print screen" t) (byte-code "MM" [eos::show-print-screen #[nil "  ! ! !\\\"eb" [eos::new-available-print-screen eos::print-screen select-screen switch-to-buffer eos::print-buffer set-screen-height eos::buffer-line-size 1] 4 nil nil] eos::dismiss-print-screen #[nil " ! @!" [make-screen-invisible eos::print-screen select-screen visible-screen-list] 2 nil nil]] 2) (defvar eos::print-screen nil "\ Screen for prints") (defvar eos::print-buffer " *print output*" "\ Buffer for prints") (fset 'eos::spro_spider_print_output #[(msg pat) "p  !ed|db#\"c#  ͘ \"c) !\n!)!҉*" [selected-screen scr buf switch-to-buffer eos::print-buffer format "%s" get-tooltalk-message-attribute msg arg_val 1 2 err "" "STDERR> %s" eos::show-print-screen select-screen destroy-tooltalk-message nil eos::last-command-was-print] 7 "\ For spider print output (switched with spro_spider_output"]) (byte-code "! M" [boundp eos::prefix-map make-keymap eos::define-prefix-map #[nil " # # # # # # # # # # # # #" [define-key eos::prefix-map "%" eos::dbx-cmd "r" eos::run "f" eos::fix "p" eos::print "" eos::print* "c" eos::cont "b" eos::stop-at "" eos::clear-at "n" eos::next "s" eos::step "" eos::step-up "u" eos::up "d" eos::down] 4]] 2) (defvar eos::key-mode 'none "\ Style of key mode interaction for Eos") (fset 'eos::set-key-mode #[(mode) "= # \n# =  #  # = #  #!" [mode eos::key-mode none define-key global-map "d" nil eos::remove-function-keys add-menu "SPARCworks" eos::short-menu prefix eos::prefix-map eos::long-menu function eos::add-function-keys error "unimplemented"] 5 "\ Set the key MODE to either 'none, 'prefix, or 'function"]) (byte-code "MM!!Ƈ" [eos::add-function-keys #[nil "\"\"\"\"\"\"\"\"\"\"\"\"" [global-set-key [f6] eos::dbx-cmd [(control f6)] eos::run [(shift f6)] eos::fix [f7] eos::print [(control f7)] eos::print* [(shift f7)] eos::dismiss-print-screen [f8] eos::cont [(control f8)] eos::stop-at [(shift f8)] eos::clear-at [f9] eos::next [(control f9)] eos::step [(shift f9)] eos::step-up] 3 nil nil] eos::remove-function-keys #[nil "\"\"\"\"\"\"\"\"\"\"\"\"" [global-set-key [f6] nil [(control f6)] [(shift f6)] [f7] [(control f7)] [(shift f7)] [f8] [(control f8)] [(shift f8)] [f9] [(control f9)] [(shift f9)]] 3 nil nil] boundp eos::popup-mode nil eos::saved-global-popup-menu] 2) (fset 'eos::toggle-popup-menu #[nil "  ?" [eos::popup-mode eos::saved-global-popup-menu global-popup-menu eos::push-popup-menu] 2 "\ Toggle whether to use or not popup menus for SPARCworks" nil]) (fset 'eos::push-popup-menu #[nil " C\"" [global-popup-menu eos::saved-global-popup-menu append ("SPARCworks Command" ["Stop At" eos::stop-at t] ["Clear At" eos::clear-at t] ["Stop In" eos::stop-in t] ["Cont To" eos::cont-to t] ["Print" eos::print t] ["Print*" eos::print* t] "---" ["Do" eos::dbx-cmd t] "---")] 3])