;ELC   
;;; compiled by rms@mole.gnu.ai.mit.edu on Mon Apr  8 11:36:55 1996
;;; from file /home/fsf/rms/e19/lisp/disass.el
;;; emacs version 19.30.96.2.
;;; 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.29")))
    (error "`disass.el' was compiled for Emacs 19.29 or later"))


(require (quote byte-compile) "bytecomp")
#@3 *
(defvar disassemble-column-1-indent 8 (#$ . -511))
#@3 *
(defvar disassemble-column-2-indent 10 (#$ . -569))
#@3 *
(defvar disassemble-recursive-indent 3 (#$ . -628))
#@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) "=\f E\f  . Ȑq\f?#8 q\f#)Ç" [object byte-code lambda nil indent 0 interactive-p buffer "*Disassemble*" disassemble-internal] 5 (#$ . 689) (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<S @=S E<c @=c !:   | т} \"! !: A@A ! H !U j\f  ۂ \f ݂  \" $c: @; @ \"$\n;$:Ajp\"\n\"\n։OP\n)jc	p\"c:?KGVKHD''A@'=bAjc'=c'+\\\",'p\")c):\"!\"c,AB@p\"),!" [nil args doc name macro obj subrp error "Can't disassemble #<subr %s>" autoload load t byte-code lambda "not a function" interactive-p message "Compiling %s's definition..." "Compiling definition..." byte-compile "Done compiling.  Disassembling..." byte-code-function-p 0 "Compilation failed" indent format "byte code%s%s%s:\n" " for" "" " macro" " %s" documentation princ "  doc:  " string-match "\n" " ..." "  args: " prin1 interactive 5 " interactive: " disassemble-1 disassemble-recursive-indent print-escape-newlines "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\f\f\f\f] AT\f>A\f= +\f\f@w \f@\fA\f\f@@\f@A\n\fA\fj=  \"c\n@!c^  \"c\\j !	\" 	O	 	= c	c\\\\\\jc!>\nA@!c>\n!c>,\n@p\">\n@\n\n!o\n=N\no\n=\nA!o\nA=\nA\n!|c\n=cc\n.\\\\#\n=c\n.\\\"\n=c\n\"5\np\")c^ ." [nil constvec bytes obj fetch-bytecode 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 "<not-an-opcode>" 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 "<compiled-function>\n" "<compiled lambda>" "<compiled macro>\n" disassemble-internal disassemble-recursive-indent "<byte code>\n" disassemble-1 "(<byte code>...)\n" mapcar #[(obj) "	\n\\\"" [disassemble-1 obj indent disassemble-recursive-indent] 4] t print-escape-newlines "\n"] 5 (#$ . 2420)])
