aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorStefan Monnier <[email protected]>2011-03-13 18:31:49 -0400
committerStefan Monnier <[email protected]>2011-03-13 18:31:49 -0400
commit23aba0ea0e4922cfd8534f43667d3a758f2d2974 (patch)
tree798c1de793ca32e93da9edac4705bcdb93aeecc7 /lisp/emacs-lisp
parent2ec42da9f0ddaaa9197617eb3e5a9d18ad2ba942 (diff)
* 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.el2
-rw-r--r--lisp/emacs-lisp/disass.el3
2 files changed, 2 insertions, 3 deletions
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
index 729d91eb1c..69733ed2e8 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 9ee02a98e5..9318876fe6 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)))