diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2011-03-09 22:48:44 -0500 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2011-03-09 22:48:44 -0500 |
commit | 6c075cd7c07d8f7f2ae52ab4369e709d7664043e (patch) | |
tree | 6b3defb08f7f0cb78f48d7fed4a7ef55d09426bc /lisp/emacs-lisp/byte-opt.el | |
parent | 0d6459dfb52188481bfd6bb53f1b2f653ecd6a5d (diff) | |
download | emacs-6c075cd7c07d8f7f2ae52ab4369e709d7664043e.tar.gz emacs-6c075cd7c07d8f7f2ae52ab4369e709d7664043e.tar.bz2 emacs-6c075cd7c07d8f7f2ae52ab4369e709d7664043e.zip |
Rewrite the cconv conversion algorithm, for clarity.
* lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Adjust check for
new byte-code representation.
* lisp/emacs-lisp/cconv.el (cconv--convert-function): Rename from
cconv-closure-convert-function.
(cconv-convert): Rename from cconv-closure-convert-rec.
(cconv--analyse-use): Rename from cconv-analyse-use.
(cconv--analyse-function): Rename from cconv-analyse-function.
(cconv--analyse-use): Change some patterns to silence compiler.
(cconv-convert, cconv--convert-function): Rewrite.
* test/automated/lexbind-tests.el: New file.
Diffstat (limited to 'lisp/emacs-lisp/byte-opt.el')
-rw-r--r-- | lisp/emacs-lisp/byte-opt.el | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/lisp/emacs-lisp/byte-opt.el b/lisp/emacs-lisp/byte-opt.el index 6d6eb68535e..a49218fe02d 100644 --- a/lisp/emacs-lisp/byte-opt.el +++ b/lisp/emacs-lisp/byte-opt.el @@ -287,8 +287,7 @@ ;; old-style-byte-codes, but not mixed cases (not sure ;; about new-style into new-style). (not lexical-binding) - (not (and (>= (length fn) 7) - (aref fn 6)))) ;6 = COMPILED_PUSH_ARGS + (not (integerp (aref fn 0)))) ;New lexical byte-code. ;; (message "Inlining %S byte-code" name) (fetch-bytecode fn) (let ((string (aref fn 1))) |