• Stefan Monnier's avatar
    Let cconv use :fun-body in special forms that need it. · 295fb2ac
    Stefan Monnier authored
    * lisp/emacs-lisp/cconv.el (cconv-closure-convert): Drop `toplevel' arg.
    (cconv-closure-convert-toplevel): Remove.
    (cconv-lookup-let): New fun.
    (cconv-closure-convert-rec): Don't bother with defs-are-legal.
    Use :fun-body to handle special forms that require closing their forms.
    * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form, byte-compile):
    Use cconv-closure-convert instead of cconv-closure-convert-toplevel.
    (byte-compile-lambda, byte-compile-make-closure):
    * lisp/emacs-lisp/byte-lexbind.el (byte-compile-maybe-push-heap-environment):
    Make sure cconv did its job.
    * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): Check stack-depth
    before using it.
    * lisp/dired.el (dired-desktop-buffer-misc-data): Don't use a dynamic var as
    function argument.
byte-lexbind.el 29.6 KB