diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2011-03-13 18:31:49 -0400 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2011-03-13 18:31:49 -0400 |
commit | 23aba0ea0e4922cfd8534f43667d3a758f2d2974 (patch) | |
tree | 798c1de793ca32e93da9edac4705bcdb93aeecc7 /lisp/emacs-lisp | |
parent | 2ec42da9f0ddaaa9197617eb3e5a9d18ad2ba942 (diff) | |
download | emacs-23aba0ea0e4922cfd8534f43667d3a758f2d2974.tar.gz emacs-23aba0ea0e4922cfd8534f43667d3a758f2d2974.tar.bz2 emacs-23aba0ea0e4922cfd8534f43667d3a758f2d2974.zip |
* src/eval.c (Ffunction): Use simpler format for closures.
(Fcommandp, funcall_lambda):
* src/doc.c (Fdocumentation, store_function_docstring):
* src/data.c (Finteractive_form):
* lisp/help-fns.el (help-function-arglist):
* lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
* lisp/subr.el (apply-partially): Adjust to new closure format.
* lisp/emacs-lisp/disass.el (disassemble-internal): Catch closures.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r-- | lisp/emacs-lisp/bytecomp.el | 2 | ||||
-rw-r--r-- | lisp/emacs-lisp/disass.el | 3 |
2 files changed, 2 insertions, 3 deletions
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index 729d91eb1c5..69733ed2e8e 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el @@ -1345,7 +1345,7 @@ extra args." (let ((sig1 (byte-compile-arglist-signature (pcase old (`(lambda ,args . ,_) args) - (`(closure ,_ ,_ ,args . ,_) args) + (`(closure ,_ ,args . ,_) args) ((pred byte-code-function-p) (aref old 0)) (t '(&rest def))))) (sig2 (byte-compile-arglist-signature (nth 2 form)))) diff --git a/lisp/emacs-lisp/disass.el b/lisp/emacs-lisp/disass.el index 9ee02a98e5e..9318876fe61 100644 --- a/lisp/emacs-lisp/disass.el +++ b/lisp/emacs-lisp/disass.el @@ -86,8 +86,7 @@ redefine OBJECT if it is a symbol." (setq macro t obj (cdr obj))) (when (and (listp obj) (eq (car obj) 'closure)) - (setq lexical-binding t) - (setq obj (cddr obj))) + (error "Don't know how to compile an interpreted closure")) (if (and (listp obj) (eq (car obj) 'byte-code)) (setq obj (list 'lambda nil obj))) (if (and (listp obj) (not (eq (car obj) 'lambda))) |