[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/emacs-lisp/byte-opt.el,v
From: |
Stefan Monnier |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/emacs-lisp/byte-opt.el,v |
Date: |
Fri, 24 Aug 2007 14:39:28 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Changes by: Stefan Monnier <monnier> 07/08/24 14:39:27
Index: emacs-lisp/byte-opt.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/emacs-lisp/byte-opt.el,v
retrieving revision 1.99
retrieving revision 1.100
diff -u -b -r1.99 -r1.100
--- emacs-lisp/byte-opt.el 23 Aug 2007 19:56:15 -0000 1.99
+++ emacs-lisp/byte-opt.el 24 Aug 2007 14:39:25 -0000 1.100
@@ -1020,7 +1020,9 @@
;; (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)
+ (cond ((and (eq (car-safe clause) 'progn)
+ ;; `clause' is a proper list.
+ (null (cdr (last clause))))
(if (null (cddr clause))
;; A trivial `progn'.
(byte-optimize-if `(if ,(cadr clause) ,@(nthcdr 2 form)))