;ELC ;;; compiled by kwzh@hal.gnu.ai.mit.edu on Tue May 2 20:21:54 1995 ;;; from file /gd/gnu/emacs/19.0/lisp/disass.el ;;; emacs version 19.28.90.69. ;;; bytecomp version FSF 2.10 ;;; 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 "`/gd/gnu/emacs/19.0/lisp/disass.el' was compiled for Emacs 19")) (require (quote byte-compile) "bytecomp") #@3 * (defvar disassemble-column-1-indent 8 (#$ . -522)) #@3 * (defvar disassemble-column-2-indent 10 (#$ . -580)) #@3 * (defvar disassemble-recursive-indent 3 (#$ . -639)) #@274 Print disassembled code for OBJECT in (optional) BUFFER. OBJECT can be a symbol defined as a function, or a function itself (a lambda expression or a compiled-function object). If OBJECT is not already compiled, we compile it, but do not redefine OBJECT if it is a symbol. (defalias 'disassemble #[(object &optional buffer indent interactive-p) "=\fE\f.Ȑq\f?#8q\f#)Ç" [object byte-code lambda nil indent 0 interactive-p buffer "*Disassemble*" disassemble-internal] 5 (#$ . 700) (list (intern (completing-read "Disassemble function: " obarray (quote fboundp) t)) nil 0 t)]) (defalias 'disassemble-internal #[(obj indent interactive-p) " 9  K !! \" <6 @=6 A@! K =B A " autoload load t byte-code lambda "not a function" interactive-p message "Compiling %s's definition..." "Compiling definition..." byte-compile "Done compiling. Disassembling..." 0 indent format "byte code%s%s%s:\n" " for" "" " macro" " %s" 4 princ " doc: " string-match "\n" " ..." " args: " prin1 interactive 5 " interactive: " disassemble-1 disassemble-recursive-indent print-escape-newlines byte-code-function-p "Uncompiled body: " progn] 8]) #@120 Prints the byte-code call OBJ in the current buffer. OBJ should be a call to BYTE-CODE generated by the byte compiler. (defalias 'disassemble-1 #[(obj indent) " : A@ AA@ H H\n \" \n      Y AT  >A 9+  @s @ A  @@\n @A  A j\n=\"c @!cZ\"c\\j\n\n!\"O\n=cc\\\\\\jc\n > A@!c\n> !c\n>( @p\"\n> @  !k =J k = A!k A= A !xc =cc -\\\\# =c -\\\" =c \"4 p\")cZ." [nil constvec bytes obj 1 2 byte-decompile-bytecode pc-value opname arg op lap 0 tmp tagno TAG indent format "%d:" int-to-string "%d" disassemble-column-1-indent string-match "^byte-" symbol-name 5 "" byte-constant2 " #### shouldn't have seen constant2 here!\n " disassemble-column-2-indent -1 " " byte-goto-ops (byte-call byte-unbind byte-listN byte-concatN byte-insertN) (byte-varref byte-varset byte-varbind) prin1 (byte-constant byte-constant2) byte-code-function-p lambda byte-code macro "\n" "" "\n" disassemble-internal disassemble-recursive-indent "\n" disassemble-1 "(...)\n" mapcar #[(obj) " \n \\\"" [disassemble-1 obj indent disassemble-recursive-indent] 4] t print-escape-newlines "\n"] 5 (#$ . 2390)])