bytecomp.elc 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673
  1. (provide (quote byte-compile))
  2. (defvar byte-compile-constnum -1 "\
  3. Transfer vector index of last constant allocated.")
  4. (defvar byte-compile-constants nil "\
  5. Alist describing contents to put in transfer vector.
  6. Each element is (CONTENTS . INDEX)")
  7. (defvar byte-compile-macro-environment nil "\
  8. Alist of (MACRONAME . DEFINITION) macros defined in the file
  9. which is being compiled.")
  10. (defvar byte-compile-pc 0 "\
  11. Index in byte string to store next opcode at.")
  12. (defvar byte-compile-output nil "\
  13. Alist describing contents to put in byte code string.
  14. Each element is (INDEX . VALUE)")
  15. (defvar byte-compile-depth 0 "\
  16. Current depth of execution stack.")
  17. (defvar byte-compile-maxdepth 0 "\
  18. Maximum depth of execution stack.")
  19. (defconst byte-varref 8 "\
  20. Byte code opcode for variable reference.")
  21. (defconst byte-varset 16 "\
  22. Byte code opcode for setting a variable.")
  23. (defconst byte-varbind 24 "\
  24. Byte code opcode for binding a variable.")
  25. (defconst byte-call 32 "\
  26. Byte code opcode for calling a function.")
  27. (defconst byte-unbind 40 "\
  28. Byte code opcode for unbinding special bindings.")
  29. (defconst byte-constant 192 "\
  30. Byte code opcode for reference to a constant.")
  31. (defconst byte-constant-limit 64 "\
  32. Maximum index usable in byte-constant opcode.")
  33. (defconst byte-constant2 129 "\
  34. Byte code opcode for reference to a constant with vector index >= 0100.")
  35. (defconst byte-goto 130 "\
  36. Byte code opcode for unconditional jump")
  37. (defconst byte-goto-if-nil 131 "\
  38. Byte code opcode for pop value and jump if it's nil.")
  39. (defconst byte-goto-if-not-nil 132 "\
  40. Byte code opcode for pop value and jump if it's not nil.")
  41. (defconst byte-goto-if-nil-else-pop 133 "\
  42. Byte code opcode for examine top-of-stack, jump and don't pop it if it's nil,
  43. otherwise pop it.")
  44. (defconst byte-goto-if-not-nil-else-pop 134 "\
  45. Byte code opcode for examine top-of-stack, jump and don't pop it if it's not nil,
  46. otherwise pop it.")
  47. (defconst byte-return 135 "\
  48. Byte code opcode for pop value and return it from byte code interpreter.")
  49. (defconst byte-discard 136 "\
  50. Byte code opcode to discard one value from stack.")
  51. (defconst byte-dup 137 "\
  52. Byte code opcode to duplicate the top of the stack.")
  53. (defconst byte-save-excursion 138 "\
  54. Byte code opcode to make a binding to record the buffer, point and mark.")
  55. (defconst byte-save-window-excursion 139 "\
  56. Byte code opcode to make a binding to record entire window configuration.")
  57. (defconst byte-save-restriction 140 "\
  58. Byte code opcode to make a binding to record the current buffer clipping restrictions.")
  59. (defconst byte-catch 141 "\
  60. Byte code opcode for catch. Takes, on stack, the tag and an expression for the body.")
  61. (defconst byte-unwind-protect 142 "\
  62. Byte code opcode for unwind-protect. Takes, on stack, an expression for the body
  63. and an expression for the unwind-action.")
  64. (defconst byte-condition-case 143 "\
  65. Byte code opcode for condition-case. Takes, on stack, the variable to bind,
  66. an expression for the body, and a list of clauses.")
  67. (defconst byte-temp-output-buffer-setup 144 "\
  68. Byte code opcode for entry to with-output-to-temp-buffer.
  69. Takes, on stack, the buffer name.
  70. Binds standard-output and does some other things.
  71. Returns with temp buffer on the stack in place of buffer name.")
  72. (defconst byte-temp-output-buffer-show 145 "\
  73. Byte code opcode for exit from with-output-to-temp-buffer.
  74. Expects the temp buffer on the stack underneath value to return.
  75. Pops them both, then pushes the value back on.
  76. Unbinds standard-output and makes the temp buffer visible.")
  77. (defconst byte-nth 56)
  78. (defconst byte-symbolp 57)
  79. (defconst byte-consp 58)
  80. (defconst byte-stringp 59)
  81. (defconst byte-listp 60)
  82. (defconst byte-eq 61)
  83. (defconst byte-memq 62)
  84. (defconst byte-not 63)
  85. (defconst byte-car 64)
  86. (defconst byte-cdr 65)
  87. (defconst byte-cons 66)
  88. (defconst byte-list1 67)
  89. (defconst byte-list2 68)
  90. (defconst byte-list3 69)
  91. (defconst byte-list4 70)
  92. (defconst byte-length 71)
  93. (defconst byte-aref 72)
  94. (defconst byte-aset 73)
  95. (defconst byte-symbol-value 74)
  96. (defconst byte-symbol-function 75)
  97. (defconst byte-set 76)
  98. (defconst byte-fset 77)
  99. (defconst byte-get 78)
  100. (defconst byte-substring 79)
  101. (defconst byte-concat2 80)
  102. (defconst byte-concat3 81)
  103. (defconst byte-concat4 82)
  104. (defconst byte-sub1 83)
  105. (defconst byte-add1 84)
  106. (defconst byte-eqlsign 85)
  107. (defconst byte-gtr 86)
  108. (defconst byte-lss 87)
  109. (defconst byte-leq 88)
  110. (defconst byte-geq 89)
  111. (defconst byte-diff 90)
  112. (defconst byte-negate 91)
  113. (defconst byte-plus 92)
  114. (defconst byte-max 93)
  115. (defconst byte-min 94)
  116. (defconst byte-point 96)
  117. (defconst byte-goto-char 98)
  118. (defconst byte-insert 99)
  119. (defconst byte-point-max 100)
  120. (defconst byte-point-min 101)
  121. (defconst byte-char-after 102)
  122. (defconst byte-following-char 103)
  123. (defconst byte-preceding-char 104)
  124. (defconst byte-current-column 105)
  125. (defconst byte-indent-to 106)
  126. (defconst byte-eolp 108)
  127. (defconst byte-eobp 109)
  128. (defconst byte-bolp 110)
  129. (defconst byte-bobp 111)
  130. (defconst byte-current-buffer 112)
  131. (defconst byte-set-buffer 113)
  132. (defconst byte-read-char 114)
  133. (defconst byte-interactive-p 116)
  134. (defun byte-recompile-directory (directory &optional arg) "\
  135. Recompile every .el file in DIRECTORY that needs recompilation.
  136. This is if a .elc file exists but is older than the .el file.
  137. If the .elc file does not exist, offer to compile the .el file
  138. only if a prefix argument has been specified." (interactive "DByte recompile directory:
  139. P") (byte-code "ÂˆÆ ˆÇ!‰ˆÈÂÉ#Ê …ZË @!?…FÇ @\"‰…FÌ ÍP!ƒ<Î ÍP\"‚F …FÏÐ ÑQ!…QÒ !ˆ T‰ˆ A‰ˆ‚ˆÓÔ ÕUƒhÖ‚i×#+‡" [directory files nil count source arg save-some-buffers expand-file-name directory-files "\\.el\\'" 0 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"] 14))
  140. (defun byte-compile-file (filename) "\
  141. Compile a file of Lisp code named FILENAME into a file of byte code.
  142. The output file's name is made by appending \"c\" to the end of FILENAME." (interactive "fByte compile file: ") (byte-code "ĈÊ!‰ˆËÌ\"ˆÍÎ!ÍÏ!ÄÄÄŠ qˆÐ ˆÑ!ˆÒbˆ
  143. qˆÓ ˆÐ ˆŠ qˆÔÕ!ˆÖ×!…HØÒ!ˆ‚7ˆm?)…aÙ !‰ˆÚÛ!
  144. \"ˆ‚3ˆ
  145. qˆÒbˆÜÝÄÇ#…ŽÖÞ!…Šßà!ˆÔá!ˆÖâ!…ŠãÒ!ˆäcˆ‚hˆÒbˆÜÝÄÇ#…ÌÖå!…È`SÄæç�…ÇÔá!ˆŠè ˆ`)=…ÇÖâ!…ÇãÒ!ˆäc)ˆ‚’ˆÇ éÒdêP#)ˆëp!ˆë !)-ˆÇ‡" [filename inbuffer outbuffer byte-compile-macro-environment nil case-fold-search sexp t this-line vms-stmlf-recfm expand-file-name message "Compiling %s..." get-buffer-create " *Compiler Input*" " *Compiler Output*" erase-buffer insert-file-contents 1 emacs-lisp-mode skip-chars-forward "
  146. " looking-at ";" forward-line read print byte-compile-file-form search-forward "
  147. (" "defun \\|autoload " forward-sexp 3 " " "\"" forward-char "\\
  148. " "defvar \\|defconst " (byte-code "ÁÂ!ˆÀ‡" [t forward-sexp 3] 2) ((error (byte-code "À‡" [nil] 1))) beginning-of-line write-region "c" kill-buffer] 31))
  149. (defun byte-compile-file-form (form) (byte-code "<?ƒ
  150. ‚”@È>ƒ„A@É \"@Ê=ƒ_ËÌ Í8#ˆ
  151. ƒ4Î
  152. Å\"‚JÏ !…@Ð K!Ñ=…J ÅB B‰ˆÊÒA!B?…[ËÓ \"ˆ‚€
  153. ƒnÎ
  154. ÔAAB\"‚y ÔAABB B‰ˆÕÒA!B*‚”@Ö=ƒ“×!ˆ‚”‡" [form name tem byte-compile-macro-environment filename nil noninteractive t (defun defmacro) assq defun message "Compiling %s (%s)..." 1 setcdr fboundp car-safe macro byte-compile-lambda "Compiling %s..." lambda defmacro require eval] 11))
  155. (defun byte-compile (funname) "\
  156. Byte-compile the definition of function FUNNAME (a symbol)." (byte-code "Á!… ÂK!Ã=…ÄK!M‡" [funname fboundp car-safe lambda byte-compile-lambda] 5))
  157. (defun byte-compile-lambda (fun) (byte-code " AÄÅA\"ÆA@;…A‰ˆÇÈAB!C‰ˆ
  158. …B
  159. A@;†0
  160. A@?ƒ7
  161. ‚>ÅÇ
  162. A@!D B‰ˆ A=?…RÉ 8 B‰ˆ @ A@ BB+‡" [bodyptr fun int newbody assq interactive nil byte-compile-top-level progn 2] 6))
  163. (defun byte-compile-top-level (form) (byte-code "ÁÁÍÍÍÁÁÁÁÁÎ 
  164.  Ï !‰
  165. ˆ
  166. @‰ ˆÐ
  167. A!‰ ˆ …U T‰ ˆ @ BB‰ˆ A‰ ˆ‚4ˆ ‰+ˆÑ !ˆÒÓÍ\"ˆÔ
  168. TÁ\"‰ˆ……@A@@IˆA‰ˆ‚oˆÕ Í\"‰ˆ…©@@@AIˆA‰ˆ‚ŽˆÖ F.‡" [byte-compile-constants nil byte-compile-constnum byte-compile-pc byte-compile-depth byte-compile-maxdepth byte-compile-output byte-compile-string byte-compile-vector vars temp i form 0 -1 byte-compile-find-vars nreverse byte-compile-form byte-compile-out byte-return make-vector make-string byte-code] 10))
  169. (defun byte-compile-find-vars (form) (byte-code "ÁÃ
  170. !B)‡" [all-vars nil form byte-compile-find-vars-1] 3))
  171. (defun byte-compile-find-vars-1 (form) (byte-code "9ƒ >?… B‰ˆ‚ :?† @È=ƒ'‚ @É>ƒ�ÊA@!AA
  172.  …‚ @9ƒU @ >?…R @ B‰‚y @:…y @@ >?…k @@ B‰ˆË @@Ì @A@!D\"ˆ A‰ˆ‚:ˆ@
  173. ÍÌ \"BB+‚ @Î=†›@Ï=ƒ¢‚ @Ð=ƒ¸ÐÌÑ8!ÒÓ\"BB‚ @Ô=ƒãÊA!  …ÛË ÍÌ @\"\"ˆ A‰ˆ‚ÆˆÔ B*‚ Õ\"‰=?ƒöÌ!‚ @9ƒ@ÍÌA\"B‚ ÍÌ\"‡" [form all-vars binds body tail clauses byte-compile-macro-environment t quote (let let*) copy-sequence setcar byte-compile-find-vars-1 mapcar function condition-case catch 1 nthcdr 2 cond macroexpand] 15))
  174. (defun byte-compile-form (form) (byte-code "Æ \"‰ˆÇ=ƒÈ!‚KÂ=ƒÈ!‚K9ƒ+ÉÊ\"‚K:?ƒ7È!‚K@ËN ƒGÌ \"‚JÍ!)ˆ T‰]‰‡" [form byte-compile-macro-environment t handler byte-compile-maxdepth byte-compile-depth macroexpand nil byte-compile-constant byte-compile-variable-ref byte-varref byte-compile funcall byte-compile-normal-call] 10))
  175. (defun byte-compile-normal-call (form) (byte-code "Ã@!ˆA …Ä @!ˆ A‰ˆ‚)ˆÅÆAG\"ˆ
  176. AGZ‰‡" [form copy byte-compile-depth byte-compile-push-constant byte-compile-form byte-compile-out byte-call] 5))
  177. (defun byte-compile-variable-ref (base-op var) (byte-code "Ä
  178. \"ƒÅ A\"‚ÆÇÈÉ !\"!)‡" [data var byte-compile-constants base-op assq byte-compile-out error format "Variable %s seen on pass 2 of byte compiler but not pass 1" prin1-to-string] 7))
  179. (defun byte-compile-constant (const) (byte-code " ;ƒ Ä
  180. \"‚Å
  181. \"ƒÆA!‚* T‰B
  182. B‰ˆÆ !)‡" [data const byte-compile-constants byte-compile-constnum assoc assq byte-compile-out-const] 6))
  183. (defun byte-compile-push-constant (const) (byte-code "Ã!ˆ
  184. T‰]‰‡" [const byte-compile-maxdepth byte-compile-depth byte-compile-constant] 4))
  185. (put (quote point) (quote byte-compile) (quote byte-compile-no-args))
  186. (put (quote point) (quote byte-opcode) (quote byte-point))
  187. (put (quote dot) (quote byte-compile) (quote byte-compile-no-args))
  188. (put (quote dot) (quote byte-opcode) (quote byte-point))
  189. (put (quote point-max) (quote byte-compile) (quote byte-compile-no-args))
  190. (put (quote point-max) (quote byte-opcode) (quote byte-point-max))
  191. (put (quote point-min) (quote byte-compile) (quote byte-compile-no-args))
  192. (put (quote point-min) (quote byte-opcode) (quote byte-point-min))
  193. (put (quote dot-max) (quote byte-compile) (quote byte-compile-no-args))
  194. (put (quote dot-max) (quote byte-opcode) (quote byte-point-max))
  195. (put (quote dot-min) (quote byte-compile) (quote byte-compile-no-args))
  196. (put (quote dot-min) (quote byte-opcode) (quote byte-point-min))
  197. (put (quote following-char) (quote byte-compile) (quote byte-compile-no-args))
  198. (put (quote following-char) (quote byte-opcode) (quote byte-following-char))
  199. (put (quote preceding-char) (quote byte-compile) (quote byte-compile-no-args))
  200. (put (quote preceding-char) (quote byte-opcode) (quote byte-preceding-char))
  201. (put (quote current-column) (quote byte-compile) (quote byte-compile-no-args))
  202. (put (quote current-column) (quote byte-opcode) (quote byte-current-column))
  203. (put (quote eolp) (quote byte-compile) (quote byte-compile-no-args))
  204. (put (quote eolp) (quote byte-opcode) (quote byte-eolp))
  205. (put (quote eobp) (quote byte-compile) (quote byte-compile-no-args))
  206. (put (quote eobp) (quote byte-opcode) (quote byte-eobp))
  207. (put (quote bolp) (quote byte-compile) (quote byte-compile-no-args))
  208. (put (quote bolp) (quote byte-opcode) (quote byte-bolp))
  209. (put (quote bobp) (quote byte-compile) (quote byte-compile-no-args))
  210. (put (quote bobp) (quote byte-opcode) (quote byte-bobp))
  211. (put (quote current-buffer) (quote byte-compile) (quote byte-compile-no-args))
  212. (put (quote current-buffer) (quote byte-opcode) (quote byte-current-buffer))
  213. (put (quote read-char) (quote byte-compile) (quote byte-compile-no-args))
  214. (put (quote read-char) (quote byte-opcode) (quote byte-read-char))
  215. (put (quote symbolp) (quote byte-compile) (quote byte-compile-one-arg))
  216. (put (quote symbolp) (quote byte-opcode) (quote byte-symbolp))
  217. (put (quote consp) (quote byte-compile) (quote byte-compile-one-arg))
  218. (put (quote consp) (quote byte-opcode) (quote byte-consp))
  219. (put (quote stringp) (quote byte-compile) (quote byte-compile-one-arg))
  220. (put (quote stringp) (quote byte-opcode) (quote byte-stringp))
  221. (put (quote listp) (quote byte-compile) (quote byte-compile-one-arg))
  222. (put (quote listp) (quote byte-opcode) (quote byte-listp))
  223. (put (quote not) (quote byte-compile) (quote byte-compile-one-arg))
  224. (put (quote not) (quote byte-opcode) (quote byte-not))
  225. (put (quote null) (quote byte-compile) (quote byte-compile-one-arg))
  226. (put (quote null) (quote byte-opcode) (quote byte-not))
  227. (put (quote car) (quote byte-compile) (quote byte-compile-one-arg))
  228. (put (quote car) (quote byte-opcode) (quote byte-car))
  229. (put (quote cdr) (quote byte-compile) (quote byte-compile-one-arg))
  230. (put (quote cdr) (quote byte-opcode) (quote byte-cdr))
  231. (put (quote length) (quote byte-compile) (quote byte-compile-one-arg))
  232. (put (quote length) (quote byte-opcode) (quote byte-length))
  233. (put (quote symbol-value) (quote byte-compile) (quote byte-compile-one-arg))
  234. (put (quote symbol-value) (quote byte-opcode) (quote byte-symbol-value))
  235. (put (quote symbol-function) (quote byte-compile) (quote byte-compile-one-arg))
  236. (put (quote symbol-function) (quote byte-opcode) (quote byte-symbol-function))
  237. (put (quote 1+) (quote byte-compile) (quote byte-compile-one-arg))
  238. (put (quote 1+) (quote byte-opcode) (quote byte-add1))
  239. (put (quote 1-) (quote byte-compile) (quote byte-compile-one-arg))
  240. (put (quote 1-) (quote byte-opcode) (quote byte-sub1))
  241. (put (quote goto-char) (quote byte-compile) (quote byte-compile-one-arg))
  242. (put (quote goto-char) (quote byte-opcode) (quote byte-goto-char))
  243. (put (quote char-after) (quote byte-compile) (quote byte-compile-one-arg))
  244. (put (quote char-after) (quote byte-opcode) (quote byte-char-after))
  245. (put (quote set-buffer) (quote byte-compile) (quote byte-compile-one-arg))
  246. (put (quote set-buffer) (quote byte-opcode) (quote byte-set-buffer))
  247. (put (quote eq) (quote byte-compile) (quote byte-compile-two-args))
  248. (put (quote eq) (quote byte-opcode) (quote byte-eq))
  249. (put (quote eql) (quote byte-compile) (quote byte-compile-two-args))
  250. (put (quote eql) (quote byte-opcode) (quote byte-eq))
  251. (put (quote memq) (quote byte-compile) (quote byte-compile-two-args))
  252. (put (quote memq) (quote byte-opcode) (quote byte-memq))
  253. (put (quote cons) (quote byte-compile) (quote byte-compile-two-args))
  254. (put (quote cons) (quote byte-opcode) (quote byte-cons))
  255. (put (quote aref) (quote byte-compile) (quote byte-compile-two-args))
  256. (put (quote aref) (quote byte-opcode) (quote byte-aref))
  257. (put (quote set) (quote byte-compile) (quote byte-compile-two-args))
  258. (put (quote set) (quote byte-opcode) (quote byte-set))
  259. (put (quote fset) (quote byte-compile) (quote byte-compile-two-args))
  260. (put (quote fset) (quote byte-opcode) (quote byte-fset))
  261. (put (quote =) (quote byte-compile) (quote byte-compile-two-args))
  262. (put (quote =) (quote byte-opcode) (quote byte-eqlsign))
  263. (put (quote <) (quote byte-compile) (quote byte-compile-two-args))
  264. (put (quote <) (quote byte-opcode) (quote byte-lss))
  265. (put (quote >) (quote byte-compile) (quote byte-compile-two-args))
  266. (put (quote >) (quote byte-opcode) (quote byte-gtr))
  267. (put (quote <=) (quote byte-compile) (quote byte-compile-two-args))
  268. (put (quote <=) (quote byte-opcode) (quote byte-leq))
  269. (put (quote >=) (quote byte-compile) (quote byte-compile-two-args))
  270. (put (quote >=) (quote byte-opcode) (quote byte-geq))
  271. (put (quote get) (quote byte-compile) (quote byte-compile-two-args))
  272. (put (quote get) (quote byte-opcode) (quote byte-get))
  273. (put (quote nth) (quote byte-compile) (quote byte-compile-two-args))
  274. (put (quote nth) (quote byte-opcode) (quote byte-nth))
  275. (put (quote aset) (quote byte-compile) (quote byte-compile-three-args))
  276. (put (quote aset) (quote byte-opcode) (quote byte-aset))
  277. (defun byte-compile-no-args (form) (byte-code "ÁGÂ\"ƒÃ!‚Ä@ÅNJÆ\"‡" [form /= 1 byte-compile-normal-call byte-compile-out byte-opcode 0] 5))
  278. (defun byte-compile-one-arg (form) (byte-code "ÂGÃ\"ƒÄ!‚!ÅA@!ˆ S‰ˆÆ@ÇNJÈ\"‡" [form byte-compile-depth /= 2 byte-compile-normal-call byte-compile-form byte-compile-out byte-opcode 0] 6))
  279. (defun byte-compile-two-args (form) (byte-code "ÂGÃ\"ƒÄ!‚(ÅA@!ˆÅÆ8!ˆ ÆZ‰ˆÇ@ÈNJÉ\"‡" [form byte-compile-depth /= 3 byte-compile-normal-call byte-compile-form 2 byte-compile-out byte-opcode 0] 7))
  280. (defun byte-compile-three-args (form) (byte-code "ÂGÃ\"ƒÄ!‚.ÅA@!ˆÅÆ8!ˆÅÇ8!ˆ ÇZ‰ˆÈ@ÉNJÊ\"‡" [form byte-compile-depth /= 4 byte-compile-normal-call byte-compile-form 2 3 byte-compile-out byte-opcode 0] 8))
  281. (put (quote substring) (quote byte-compile) (quote byte-compile-substring))
  282. (defun byte-compile-substring (form) (byte-code "GÃV† GÄWƒÅ!‚8ÆÇ8!ˆÆÄ8†\"È!ˆÆÉ8†,Ê!ˆ ÉZ‰ˆË
  283. Ì\"‡" [form byte-compile-depth byte-substring 4 2 byte-compile-normal-call byte-compile-form 1 (quote nil) 3 (quote nil) byte-compile-out 0] 7))
  284. (put (quote interactive-p) (quote byte-compile) (quote byte-compile-interactive-p))
  285. (defun byte-compile-interactive-p (form) (byte-code "ÁÂ\"‡" [byte-interactive-p byte-compile-out 0] 3))
  286. (put (quote list) (quote byte-compile) (quote byte-compile-list))
  287. (defun byte-compile-list (form) (byte-code " GÅUƒÆÂ!‚AÇWƒ> A …)È @!ˆ A‰ˆ‚ˆ SZ‰ˆÉÊZË8JÌ\")‚AÍ !)‡" [len form nil args byte-compile-depth 1 byte-compile-constant 6 byte-compile-form byte-compile-out 2 (byte-list1 byte-list2 byte-list3 byte-list4) 0 byte-compile-normal-call] 5))
  288. (put (quote concat) (quote byte-compile) (quote byte-compile-concat))
  289. (defun byte-compile-concat (form) (byte-code " GÅUƒÆÇ!‚MÈUƒÉ !‚MÊWƒJ A
  290. …5Æ
  291. @!ˆ
  292. A‰ˆ‚$ˆ SZ‰ˆËÌZÍ8JÎ\")‚MÉ !)‡" [len form args byte-compile-depth t 1 byte-compile-form "" 2 byte-compile-normal-call 6 byte-compile-out 3 (byte-concat2 byte-concat3 byte-concat4) 0] 6))
  293. (put (quote -) (quote byte-compile) (quote byte-compile-minus))
  294. (defun byte-compile-minus (form) (byte-code " GÆUƒÇ A@!ˆ
  295. ÈZ‰ˆÉ Ê\"‚>ËUƒ;Ç A@!ˆÇÆ 8!ˆ
  296. ÆZ‰ˆÉ Ê\"‚>Ì !)‡" [len form byte-compile-depth byte-negate byte-diff t 2 byte-compile-form 1 byte-compile-out 0 3 byte-compile-normal-call] 7))
  297. (put (quote +) (quote byte-compile) (quote byte-compile-maybe-two-args))
  298. (put (quote +) (quote byte-opcode) (quote byte-plus))
  299. (put (quote max) (quote byte-compile) (quote byte-compile-maybe-two-args))
  300. (put (quote max) (quote byte-opcode) (quote byte-max))
  301. (put (quote min) (quote byte-compile) (quote byte-compile-maybe-two-args))
  302. (put (quote min) (quote byte-opcode) (quote byte-min))
  303. (defun byte-compile-maybe-two-args (form) (byte-code " GÃUƒ&Ä A@!ˆÄÅ 8!ˆ
  304. ÅZ‰ˆÆ @ÇNJÈ\"‚)É !)‡" [len form byte-compile-depth 3 byte-compile-form 2 byte-compile-out byte-opcode 0 byte-compile-normal-call] 5))
  305. (put (quote function) (quote byte-compile) (quote byte-compile-function-form))
  306. (defun byte-compile-function-form (form) (byte-code "A@9ƒÂÃÄÅ8DD!‚ÆÇA@!!‡" [form t byte-compile-form symbol-function quote 1 byte-compile-constant byte-compile-lambda] 5))
  307. (put (quote indent-to) (quote byte-compile) (quote byte-compile-indent-to))
  308. (defun byte-compile-indent-to (form) (byte-code " GÄUƒÅ A@!ˆ
  309. ÆZ‰ˆÇ È\"‚É !)‡" [len form byte-compile-depth byte-indent-to 2 byte-compile-form 1 byte-compile-out 0 byte-compile-normal-call] 4))
  310. (put (quote insert) (quote byte-compile) (quote byte-compile-insert))
  311. (defun byte-compile-insert (form) (byte-code " GÅWƒ, A
  312. …(Æ
  313. @!ˆ ÇZ‰ˆÈ É\"ˆ
  314. A‰ˆ‚ )‚/Ê !)‡" [len form args byte-compile-depth byte-insert 3 byte-compile-form 1 byte-compile-out 0 byte-compile-normal-call] 5))
  315. (put (quote setq-default) (quote byte-compile) (quote byte-compile-setq-default))
  316. (defun byte-compile-setq-default (form) (byte-code "ÁÂÃÄ8DÅÆ\"BB!‡" [form byte-compile-form set-default quote 1 nthcdr 2] 6))
  317. (put (quote quote) (quote byte-compile) (quote byte-compile-quote))
  318. (defun byte-compile-quote (form) (byte-code "ÁA@!‡" [form byte-compile-constant] 2))
  319. (put (quote setq) (quote byte-compile) (quote byte-compile-setq))
  320. (defun byte-compile-setq (form) (byte-code " Aƒ;…8ÅA@!ˆAA?…#ÆÇÈ\"ˆ
  321. T]‰ˆ S‰ˆÉÊ@\"ˆAA‰ˆ‚‚>ËÄ!)‡" [args form byte-compile-maxdepth byte-compile-depth nil byte-compile-form byte-compile-out byte-dup 0 byte-compile-variable-ref byte-varset byte-compile-constant] 6))
  322. (put (quote let) (quote byte-compile) (quote byte-compile-let))
  323. (defun byte-compile-let (form) (byte-code " A@…#@9ƒÄÂ!‚Å@A@!ˆA‰ˆ‚)ˆÆ A@! GZ‰ˆ…S@9ƒDÇÈ@\"‚JÇÈ@@\"ˆA‰ˆ‚2)ˆÉ AA!ˆÊË A@G\"‡" [varlist form nil byte-compile-depth byte-compile-push-constant byte-compile-form reverse byte-compile-variable-ref byte-varbind byte-compile-body byte-compile-out byte-unbind] 9))
  324. (put (quote let*) (quote byte-compile) (quote byte-compile-let*))
  325. (defun byte-compile-let* (form) (byte-code " A@…=@9ƒÄÂ!‚Å@A@!ˆ S‰ˆ@9ƒ.ÆÇ@\"‚4ÆÇ@@\"ˆA‰ˆ‚)ˆÈ AA!ˆÉÊ A@G\"‡" [varlist form nil byte-compile-depth byte-compile-push-constant byte-compile-form byte-compile-variable-ref byte-varbind byte-compile-body byte-compile-out byte-unbind] 8))
  326. (put (quote save-excursion) (quote byte-compile) (quote byte-compile-save-excursion))
  327. (defun byte-compile-save-excursion (form) (byte-code "ÁÂÃ\"ˆÄA!ˆÁÅÆ\"‡" [form byte-compile-out byte-save-excursion 0 byte-compile-body byte-unbind 1] 5))
  328. (put (quote save-restriction) (quote byte-compile) (quote byte-compile-save-restriction))
  329. (defun byte-compile-save-restriction (form) (byte-code "ÁÂÃ\"ˆÄA!ˆÁÅÆ\"‡" [form byte-compile-out byte-save-restriction 0 byte-compile-body byte-unbind 1] 5))
  330. (put (quote with-output-to-temp-buffer) (quote byte-compile) (quote byte-compile-with-output-to-temp-buffer))
  331. (defun byte-compile-with-output-to-temp-buffer (form) (byte-code "ÂA@!ˆÃÄÅ\"ˆÆAA!ˆÃÇÅ\"ˆ S‰‡" [form byte-compile-depth byte-compile-form byte-compile-out byte-temp-output-buffer-setup 0 byte-compile-body byte-temp-output-buffer-show] 6))
  332. (put (quote progn) (quote byte-compile) (quote byte-compile-progn))
  333. (defun byte-compile-progn (form) (byte-code "ÁA!‡" [form byte-compile-body] 2))
  334. (put (quote interactive) (quote byte-compile) (quote byte-compile-noop))
  335. (defun byte-compile-noop (form) (byte-code "ÁÀ!‡" [nil byte-compile-constant] 2))
  336. (defun byte-compile-body (body) (byte-code "?ƒ ÃÁ!‚+…+Ä@!ˆAƒÅ ‚\"
  337. S‰ˆA‰ˆ‚ ‡" [body nil byte-compile-depth byte-compile-constant byte-compile-form byte-compile-discard] 6))
  338. (put (quote prog1) (quote byte-compile) (quote byte-compile-prog1))
  339. (defun byte-compile-prog1 (form) (byte-code "ÁA@!ˆAA…ÂAA!ˆÃ ‡" [form byte-compile-form byte-compile-body byte-compile-discard] 4))
  340. (put (quote prog2) (quote byte-compile) (quote byte-compile-prog2))
  341. (defun byte-compile-prog2 (form) (byte-code "ÁA@!ˆÂ ˆÁÃ8!ˆAAA…ÄAAA!ˆÂ ‡" [form byte-compile-form byte-compile-discard 2 byte-compile-body] 6))
  342. (defun byte-compile-discard nil (byte-code "ÁÂÃ\"ˆS‰‡" [byte-compile-depth byte-compile-out byte-discard 0] 3))
  343. (put (quote if) (quote byte-compile) (quote byte-compile-if))
  344. (defun byte-compile-if (form) (byte-code "ÄÅ\"?ƒ-Æ ÇA@!ˆÈÉ \"ˆ
  345. S‰ˆÇÊ8!ˆ
  346. S‰ˆË !)‚bÆ Æ ÇA@!ˆÈÌ \"ˆ
  347. S‰ˆÇÊ8!ˆ
  348. S‰ˆÈÍ \"ˆË !ˆÎAAA!ˆË !*‡" [form donetag byte-compile-depth elsetag nthcdr 3 byte-compile-make-tag byte-compile-form byte-compile-goto byte-goto-if-nil-else-pop 2 byte-compile-out-tag byte-goto-if-nil byte-goto byte-compile-body] 16))
  349. (put (quote cond) (quote byte-compile) (quote byte-compile-cond))
  350. (defun byte-compile-cond (form) (byte-code "Aƒ ÂA!‚ÃÁ!‡" [form nil byte-compile-cond-1 byte-compile-constant] 3))
  351. (defun byte-compile-cond-1 (clauses) (byte-code "@@Á=†Å@@!Æ=ƒÇ@A!‚‡A?ƒFÈ É@@!ˆ@A…BÊË
  352. \"ˆ S‰ˆÇ@A!ˆÌ
  353. !)‚‡È È É@@!ˆ@A?ƒeÊÍ
  354. \"ˆ S‰‚}ÊÎ \"ˆ S‰ˆÇ@A!ˆÊÏ
  355. \"ˆÌ !ˆÐA!ˆÌ
  356. !*‡" [clauses t donetag byte-compile-depth elsetag car-safe quote byte-compile-body byte-compile-make-tag byte-compile-form byte-compile-goto byte-goto-if-nil-else-pop byte-compile-out-tag byte-goto-if-not-nil-else-pop byte-goto-if-nil byte-goto byte-compile-cond-1] 18))
  357. (put (quote and) (quote byte-compile) (quote byte-compile-and))
  358. (defun byte-compile-and (form) (byte-code "Å
  359. A ?ƒÆÃ!ˆ S‰‚= …=Æ @!ˆ S‰ˆ A?ƒ0Ç!‚4ÈÉ\"ˆ A‰ˆ‚*‡" [failtag args form t byte-compile-depth byte-compile-make-tag byte-compile-form byte-compile-out-tag byte-compile-goto byte-goto-if-nil-else-pop] 8))
  360. (put (quote or) (quote byte-compile) (quote byte-compile-or))
  361. (defun byte-compile-or (form) (byte-code "Å
  362. A ?ƒÆÃ!‚8 …8Ç @!ˆ S‰ˆ A?ƒ+È!‚/ÉÊ\"ˆ A‰ˆ‚*‡" [wintag args form nil byte-compile-depth byte-compile-make-tag byte-compile-constant byte-compile-form byte-compile-out-tag byte-compile-goto byte-goto-if-not-nil-else-pop] 8))
  363. (put (quote while) (quote byte-compile) (quote byte-compile-while))
  364. (defun byte-compile-while (form) (byte-code "Ä Ä AAÅ !ˆÆ A@!ˆÇÈ\"ˆÉ AA!ˆÊ ˆÇË \"ˆÅ!+‡" [endtag looptag args form byte-compile-make-tag byte-compile-out-tag byte-compile-form byte-compile-goto byte-goto-if-nil-else-pop byte-compile-body byte-compile-discard byte-goto] 10))
  365. (put (quote catch) (quote byte-compile) (quote byte-compile-catch))
  366. (defun byte-compile-catch (form) (byte-code "ÂA@!ˆÃÄÅAAB!!ˆ ÆZ‰ˆÇÈÉ\"‡" [form byte-compile-depth byte-compile-form byte-compile-push-constant byte-compile-top-level progn 2 byte-compile-out byte-catch 0] 6))
  367. (put (quote save-window-excursion) (quote byte-compile) (quote byte-compile-save-window-excursion))
  368. (defun byte-compile-save-window-excursion (form) (byte-code "ÂÃÄAB!C!ˆ S‰ˆÅÆÇ\"‡" [form byte-compile-depth byte-compile-push-constant byte-compile-top-level progn byte-compile-out byte-save-window-excursion 0] 5))
  369. (put (quote unwind-protect) (quote byte-compile) (quote byte-compile-unwind-protect))
  370. (defun byte-compile-unwind-protect (form) (byte-code "ÂÃÄAAB!C!ˆ S‰ˆÅÆÇ\"ˆÈA@!ˆ S‰ˆÅÉÊ\"‡" [form byte-compile-depth byte-compile-push-constant byte-compile-top-level progn byte-compile-out byte-unwind-protect 0 byte-compile-form byte-unbind 1] 7))
  371. (put (quote condition-case) (quote byte-compile) (quote byte-compile-condition-case))
  372. (defun byte-compile-condition-case (form) (byte-code "ÅA@!ˆÅÆÇ8!!ˆAAAÈ …3 @ @ÆÉ AB!D
  373. B‰)ˆ A‰ˆ‚ˆÅÊ
  374. !!*ˆ ËZ‰ˆÌÍÎ\"‡" [form clauses compiled-clauses clause byte-compile-depth byte-compile-push-constant byte-compile-top-level 2 nil progn nreverse 3 byte-compile-out byte-condition-case 0] 9))
  375. (defun byte-compile-make-tag nil (byte-code "ÀÀB‡" [nil] 2))
  376. (defun byte-compile-out-tag (tag) (byte-code " @Ã
  377. \"ˆ…Ä@
  378. \"ˆA‰ˆ‚)‡" [uses tag byte-compile-pc setcar byte-compile-store-goto] 5))
  379. (defun byte-compile-goto (opcode tag) (byte-code "ÃÄ\"ˆÅ @!ƒÆ
  380. @\"‚Ç
  381. @B\"ˆ
  382. È\\‰‡" [opcode tag byte-compile-pc byte-compile-out 0 integerp byte-compile-store-goto setcar 2] 7))
  383. (defun byte-compile-store-goto (at-pc to-pc) (byte-code " Ã
  384. Ä\"BB‰ˆ TÅ
  385. Æ\"BB‰‡" [byte-compile-output at-pc to-pc logand 255 lsh -8] 5))
  386. (defun byte-compile-out (opcode offset) (byte-code "Â!‰ˆ ÃWƒÄ \\!‚9 ÅWƒ&ÄÃ\\!ˆÄ !‚9ÄÆ\\!ˆÄÇ È\"!ˆÄÉ Ê\"!‡" [opcode offset eval 6 byte-compile-out-1 256 7 logand 255 lsh -8] 11))
  387. (defun byte-compile-out-const (offset) (byte-code " WĀ
  388. \\!‚Ä !ˆÄÅÆ\"!ˆÄÇÈ\"!‡" [offset byte-constant-limit byte-constant byte-constant2 byte-compile-out-1 logand 255 lsh -8] 8))
  389. (defun byte-compile-out-1 (code) (byte-code "
  390. BB‰ˆ T‰‡" [byte-compile-output byte-compile-pc code] 2))
  391. (defun batch-byte-compile nil "\
  392. Runs byte-compile-file on the files remaining on the command line.
  393. Must be used only with -batch, and kills emacs on completion.
  394. Each file will be processed even if an error occurred previously.
  395. For example, invoke \"emacs -batch -f batch-byte-compile $emacs/ ~/*.el\"" (byte-code "?…ÁÇ!ˆÂ …zÈÉ @!!ƒfÊ @! …bËÌ @\"…LÍ @!?…LÉ @ @\"‰…LÎ ÏP!…LÐ ÏP\"…YÑ !?…YƉˆ A‰ˆ‚*‚qÑ @!?…qƉˆ A‰ˆ‚ ˆÒÓ!ˆÔ ƒˆÕ‚‰Ö!)‡" [noninteractive error nil command-line-args-left files source t "batch-byte-compile is to be used only with -batch" file-directory-p expand-file-name directory-files string-match ".el$" auto-save-file-name-p file-exists-p "c" file-newer-than-file-p batch-byte-compile-file message "Done" kill-emacs 1 0] 14))
  396. (defun batch-byte-compile-file (file) (byte-code "ÀÁÂ�‡" [err (byte-code "Â!ˆÁ‡" [file t byte-compile-file] 2) ((error (byte-code "ÃAƒ
  397. Ä‚ Å @ÆNÇA!$ˆÂ‡" [err file nil message ">>Error occurred processing %s: %s (%s)" ">>Error occurred processing %s: %s" error-message prin1-to-string] 6)))] 3))