GNU bug report logs - #11391
wrong-type-argument error in vc-bzr operations

Previous Next

Package: emacs;

Reported by: Juanma Barranquero <lekktu <at> gmail.com>

Date: Tue, 1 May 2012 23:31:01 UTC

Severity: normal

Done: Stefan Monnier <monnier <at> IRO.UMontreal.CA>

Bug is archived. No further changes may be made.

Full log


Message #10 received at 11391-done <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
To: Juanma Barranquero <lekktu <at> gmail.com>
Cc: 11391-done <at> debbugs.gnu.org
Subject: Re: wrong-type-argument error in vc-bzr operations
Date: Wed, 02 May 2012 22:42:48 -0400
>   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 <at> 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 <at> 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)





This bug report was last modified 13 years and 81 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.