* bug#11391: wrong-type-argument error in vc-bzr operations
2012-05-01 23:28 bug#11391: wrong-type-argument error in vc-bzr operations Juanma Barranquero
@ 2012-05-03 2:42 ` Stefan Monnier
0 siblings, 0 replies; 2+ messages in thread
From: Stefan Monnier @ 2012-05-03 2:42 UTC (permalink / raw)
To: Juanma Barranquero; +Cc: 11391-done
> Debugger entered--Lisp error: (wrong-type-argument sequencep lambda)
> #[(s) "..." [s 20 0 2 "..."] 3](lambda)
> (etc)
Good catch, thank you.
I've installed the patch below which should fix it,
Stefan
=== modified file 'lisp/ChangeLog'
--- lisp/ChangeLog 2012-04-29 01:48:23 +0000
+++ lisp/ChangeLog 2012-05-03 02:37:04 +0000
@@ -1,3 +1,11 @@
+2012-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/bytecomp.el
+ (byte-compile-file-form-custom-declare-variable): Compile all elements,
+ since cconv.el might have introduced :fun-body, internal-make-closure,
+ and friends for bytecomp to handle (bug#11391).
+ * custom.el (defcustom): Avoid ((λ ..) ..).
+
2012-04-29 Chong Yidong <cyd@gnu.org>
* follow.el (follow-calc-win-end): Rewrite to handle partial
=== modified file 'lisp/custom.el'
--- lisp/custom.el 2012-04-14 01:46:06 +0000
+++ lisp/custom.el 2012-05-03 02:12:56 +0000
@@ -335,7 +335,7 @@
;; expression is checked by the byte-compiler, and that
;; lexical-binding is obeyed, so quote the expression with
;; `lambda' rather than with `quote'.
- `(list (lambda () ,standard))
+ ``(funcall #',(lambda () ,standard))
`',standard)
,doc
,@args))
=== modified file 'lisp/emacs-lisp/bytecomp.el'
--- lisp/emacs-lisp/bytecomp.el 2012-03-26 19:10:00 +0000
+++ lisp/emacs-lisp/bytecomp.el 2012-05-03 02:28:14 +0000
@@ -2267,19 +2267,7 @@
(when (byte-compile-warning-enabled-p 'callargs)
(byte-compile-nogroup-warn form))
(push (nth 1 (nth 1 form)) byte-compile-bound-variables)
- ;; Don't compile the expression because it may be displayed to the user.
- ;; (when (eq (car-safe (nth 2 form)) 'quote)
- ;; ;; (nth 2 form) is meant to evaluate to an expression, so if we have the
- ;; ;; final value already, we can byte-compile it.
- ;; (setcar (cdr (nth 2 form))
- ;; (byte-compile-top-level (cadr (nth 2 form)) nil 'file)))
- (let ((tail (nthcdr 4 form)))
- (while tail
- (unless (keywordp (car tail)) ;No point optimizing keywords.
- ;; Compile the keyword arguments.
- (setcar tail (byte-compile-top-level (car tail) nil 'file)))
- (setq tail (cdr tail))))
- form)
+ (byte-compile-keep-pending form))
(put 'require 'byte-hunk-handler 'byte-compile-file-form-require)
(defun byte-compile-file-form-require (form)
^ permalink raw reply [flat|nested] 2+ messages in thread