4.3BSD/usr/contrib/emacs/lisp/bytecomp.elc
(defvar byte-compile-constnum -1 "Transfer vector index of last constant allocated.")
(defvar byte-compile-constants nil "Alist describing contents to put in transfer vector.
Each element is (CONTENTS . INDEX)")
(defvar byte-compile-macro-environment nil "Alist of (MACRONAME . DEFINITION) macros defined in the file
which is being compiled.")
(defvar byte-compile-pc 0 "Index in byte string to store next opcode at.")
(defvar byte-compile-output nil "Alist describing contents to put in byte code string.
Each element is (INDEX . VALUE)")
(defvar byte-compile-depth 0 "Current depth of execution stack.")
(defvar byte-compile-maxdepth 0 "Maximum depth of execution stack.")
(defconst byte-varref 8 "Byte code opcode for variable reference.")
(defconst byte-varset 16 "Byte code opcode for setting a variable.")
(defconst byte-varbind 24 "Byte code opcode for binding a variable.")
(defconst byte-call 32 "Byte code opcode for calling a function.")
(defconst byte-unbind 40 "Byte code opcode for unbinding special bindings.")
(defconst byte-constant 192 "Byte code opcode for reference to a constant.")
(defconst byte-constant-limit 64 "Maximum index usable in byte-constant opcode.")
(defconst byte-constant2 129 "Byte code opcode for reference to a constant with vector index >= 0100.")
(defconst byte-goto 130 "Byte code opcode for unconditional jump")
(defconst byte-goto-if-nil 131 "Byte code opcode for pop value and jump if it's nil.")
(defconst byte-goto-if-not-nil 132 "Byte code opcode for pop value and jump if it's not nil.")
(defconst byte-goto-if-nil-else-pop 133 "Byte code opcode for examine top-of-stack, jump and don't pop it if it's nil,
otherwise pop it.")
(defconst byte-goto-if-not-nil-else-pop 134 "Byte code opcode for examine top-of-stack, jump and don't pop it if it's not nil,
otherwise pop it.")
(defconst byte-return 135 "Byte code opcode for pop value and return it from byte code interpreter.")
(defconst byte-discard 136 "Byte code opcode to discard one value from stack.")
(defconst byte-dup 137 "Byte code opcode to duplicate the top of the stack.")
(defconst byte-save-excursion 138 "Byte code opcode to make a binding to record the buffer, point and mark.")
(defconst byte-save-window-excursion 139 "Byte code opcode to make a binding to record entire window configuration.")
(defconst byte-save-restriction 140 "Byte code opcode to make a binding to record the current buffer clipping restrictions.")
(defconst byte-catch 141 "Byte code opcode for catch. Takes, on stack, the tag and an expression for the body.")
(defconst byte-unwind-protect 142 "Byte code opcode for unwind-protect. Takes, on stack, an expression for the body
and an expression for the unwind-action.")
(defconst byte-condition-case 143 "Byte code opcode for condition-case. Takes, on stack, the variable to bind,
an expression for the body, and a list of clauses.")
(defconst byte-temp-output-buffer-setup 144 "Byte code opcode for entry to with-output-to-temp-buffer.
Takes, on stack, the buffer name.
Binds standard-output and does some other things.
Returns with temp buffer on the stack in place of buffer name.")
(defconst byte-temp-output-buffer-show 145 "Byte code opcode for exit from with-output-to-temp-buffer.
Expects the temp buffer on the stack underneath value to return.
Pops them both, then pushes the value back on.
Unbinds standard-output and makes the temp buffer visible.")
(defconst byte-nth 56)
(defconst byte-symbolp 57)
(defconst byte-consp 58)
(defconst byte-stringp 59)
(defconst byte-listp 60)
(defconst byte-eq 61)
(defconst byte-memq 62)
(defconst byte-not 63)
(defconst byte-car 64)
(defconst byte-cdr 65)
(defconst byte-cons 66)
(defconst byte-list1 67)
(defconst byte-list2 68)
(defconst byte-list3 69)
(defconst byte-list4 70)
(defconst byte-length 71)
(defconst byte-aref 72)
(defconst byte-aset 73)
(defconst byte-symbol-value 74)
(defconst byte-symbol-function 75)
(defconst byte-set 76)
(defconst byte-fset 77)
(defconst byte-get 78)
(defconst byte-substring 79)
(defconst byte-concat2 80)
(defconst byte-concat3 81)
(defconst byte-concat4 82)
(defconst byte-sub1 83)
(defconst byte-add1 84)
(defconst byte-eqlsign 85)
(defconst byte-gtr 86)
(defconst byte-lss 87)
(defconst byte-leq 88)
(defconst byte-geq 89)
(defconst byte-diff 90)
(defconst byte-negate 91)
(defconst byte-plus 92)
(defconst byte-max 93)
(defconst byte-min 94)
(defconst byte-point 96)
(defconst byte-mark 97)
(defconst byte-goto-char 98)
(defconst byte-insert 99)
(defconst byte-point-max 100)
(defconst byte-point-min 101)
(defconst byte-char-after 102)
(defconst byte-following-char 103)
(defconst byte-preceding-char 104)
(defconst byte-current-column 105)
(defconst byte-indent-to 106)
(defconst byte-scan-buffer 107)
(defconst byte-eolp 108)
(defconst byte-eobp 109)
(defconst byte-bolp 110)
(defconst byte-bobp 111)
(defconst byte-current-buffer 112)
(defconst byte-set-buffer 113)
(defconst byte-read-char 114)
(defconst byte-set-mark 115)
(defconst byte-interactive-p 116)
(defun byte-recompile-directory (directory &optional arg) "\
Recompile every .el file in DIRECTORY that needs recompilation.
This is if a .elc file exists but is older than the .el file.
If the .elc file does not exist, offer to compile the .el file
only if a prefix argument has been specified." (interactive "DByte recompile directory:
P") (byte-code "ň !! d @\"L @!?L @\"L P!B P\"L L Q!Z !
T[ ň A
Ur ׂs #+" [directory files count source arg nil save-some-buffers expand-file-name directory-files 0 string-match ".el$" auto-save-file-name-p file-exists-p "c" file-newer-than-file-p y-or-n-p "Compile " "? " byte-compile-file message "Done (Total of %d file%s compiled)" 1 "" "s"] 15))
(defun file-newer-than-file-p (file1 file2) "\
Return t if FILE1 modified more recently than FILE2." (byte-code " !\"@!\"@@
@V'