emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: bootstrap fails in byte-op.el


From: Katsumi Yamaoka
Subject: Re: bootstrap fails in byte-op.el
Date: Fri, 24 Aug 2007 09:02:50 +0900
User-agent: Gnus/5.110007 (No Gnus v0.7) Emacs/22.1.50 (gnu/linux)

>>>>> Glenn Morris wrote:

> Bootstrapping current trunk fails compiling byte-opt.el:

> In toplevel form:
> emacs-lisp/byte-opt.el:288:51:Error: Wrong type argument: listp, restp
> make[2]: *** [compile] Error 1

It happens when the <test> element of a `(if <test>...)' form is
not a list.  How about this?

*** byte-opt.el~        Thu Aug 23 22:01:17 2007
--- byte-opt.el Thu Aug 23 23:52:04 2007
***************
*** 1020,1026 ****
    ;; (if <test> nil <else...>) ==> (if (not <test>) (progn <else...>))
    ;; (if <test> <then> nil) ==> (if <test> <then>)
    (let ((clause (nth 1 form)))
!     (cond ((eq (car clause) 'progn)
             (if (null (cddr clause))
                 ;; A trivial `progn'.
                 (byte-optimize-if `(if ,(cadr clause) ,@(nthcdr 2 form)))
--- 1020,1026 ----
    ;; (if <test> nil <else...>) ==> (if (not <test>) (progn <else...>))
    ;; (if <test> <then> nil) ==> (if <test> <then>)
    (let ((clause (nth 1 form)))
!     (cond ((eq (car-safe clause) 'progn)
             (if (null (cddr clause))
                 ;; A trivial `progn'.
                 (byte-optimize-if `(if ,(cadr clause) ,@(nthcdr 2 form)))





reply via email to

[Prev in Thread] Current Thread [Next in Thread]