aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKarl Heuer1995-04-05 03:04:02 +0000
committerKarl Heuer1995-04-05 03:04:02 +0000
commit2b29a37688ebdfc4725d2fd075d3639da81ea8c8 (patch)
tree17a2b0b3669e7dbbe5f365e568bb60c5cb6f4914
parent7f4d3657161068861dccbcc6c009922ce4a18097 (diff)
downloademacs-2b29a37688ebdfc4725d2fd075d3639da81ea8c8.tar.gz
emacs-2b29a37688ebdfc4725d2fd075d3639da81ea8c8.zip
(byte-compile-inline-expand): Fetch actual bytecode
before inlining a lazy function.
-rw-r--r--lisp/emacs-lisp/byte-opt.el8
1 files changed, 5 insertions, 3 deletions
diff --git a/lisp/emacs-lisp/byte-opt.el b/lisp/emacs-lisp/byte-opt.el
index 7bfa75dbaaf..1d394511c96 100644
--- a/lisp/emacs-lisp/byte-opt.el
+++ b/lisp/emacs-lisp/byte-opt.el
@@ -221,9 +221,11 @@
221 (if (symbolp fn) 221 (if (symbolp fn)
222 (byte-compile-inline-expand (cons fn (cdr form))) 222 (byte-compile-inline-expand (cons fn (cdr form)))
223 (if (byte-code-function-p fn) 223 (if (byte-code-function-p fn)
224 (cons (list 'lambda (aref fn 0) 224 (progn
225 (list 'byte-code (aref fn 1) (aref fn 2) (aref fn 3))) 225 (fetch-bytecode fn)
226 (cdr form)) 226 (cons (list 'lambda (aref fn 0)
227 (list 'byte-code (aref fn 1) (aref fn 2) (aref fn 3)))
228 (cdr form)))
227 (if (not (eq (car fn) 'lambda)) (error "%s is not a lambda" name)) 229 (if (not (eq (car fn) 'lambda)) (error "%s is not a lambda" name))
228 (cons fn (cdr form))))))) 230 (cons fn (cdr form)))))))
229 231