diff options
author | Karl Heuer <kwzh@gnu.org> | 1995-04-05 03:04:02 +0000 |
---|---|---|
committer | Karl Heuer <kwzh@gnu.org> | 1995-04-05 03:04:02 +0000 |
commit | 2b29a37688ebdfc4725d2fd075d3639da81ea8c8 (patch) | |
tree | 17a2b0b3669e7dbbe5f365e568bb60c5cb6f4914 /lisp | |
parent | 7f4d3657161068861dccbcc6c009922ce4a18097 (diff) | |
download | emacs-2b29a37688ebdfc4725d2fd075d3639da81ea8c8.tar.gz |
(byte-compile-inline-expand): Fetch actual bytecode
before inlining a lazy function.
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/emacs-lisp/byte-opt.el | 8 |
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 @@ (if (symbolp fn) (byte-compile-inline-expand (cons fn (cdr form))) (if (byte-code-function-p fn) - (cons (list 'lambda (aref fn 0) - (list 'byte-code (aref fn 1) (aref fn 2) (aref fn 3))) - (cdr form)) + (progn + (fetch-bytecode fn) + (cons (list 'lambda (aref fn 0) + (list 'byte-code (aref fn 1) (aref fn 2) (aref fn 3))) + (cdr form))) (if (not (eq (car fn) 'lambda)) (error "%s is not a lambda" name)) (cons fn (cdr form))))))) |