]> git.eshelyaron.com Git - emacs.git/commitdiff
(byte-optimize-if): Don't presume `clause' is a list.
authorStefan Monnier <monnier@iro.umontreal.ca>
Fri, 24 Aug 2007 14:39:25 +0000 (14:39 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Fri, 24 Aug 2007 14:39:25 +0000 (14:39 +0000)
lisp/ChangeLog
lisp/emacs-lisp/byte-opt.el

index a97ee9a2621837298ae1fbbb02412567d9e2d03e..4601d4a6d76daa4f5ac9d32ee5d3f61e29772543 100644 (file)
@@ -1,3 +1,8 @@
+2007-08-24  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * emacs-lisp/byte-opt.el (byte-optimize-if): Don't presume `clause' is
+       a list.
+
 2007-08-24  Thien-Thi Nguyen  <ttn@gnuvola.org>
 
        * progmodes/hideshow.el (hs-match-data): Delete alias.
@@ -39,8 +44,8 @@
 
 2007-08-23  Masatake YAMATO  <jet@gyve.org>
 
-       * progmodes/cc-fonts.el (gtkdoc-font-lock-doc-comments): Highlight
-       name of parameters in document body.
+       * progmodes/cc-fonts.el (gtkdoc-font-lock-doc-comments):
+       Highlight name of parameters in document body.
 
 2007-08-23  Stefan Monnier  <monnier@iro.umontreal.ca>
 
index b4eaf4ff5ebf15827771abeefd6ee11abf2439b4..80a6ad595b23ca8a14649e06ad958ff946bf9e9e 100644 (file)
   ;; (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)))