]> git.eshelyaron.com Git - emacs.git/commitdiff
(byte-compile-trueconstp, byte-compile-nilconstp): No recursion in defsubst.
authorStefan Monnier <monnier@iro.umontreal.ca>
Mon, 3 Mar 2008 21:07:12 +0000 (21:07 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Mon, 3 Mar 2008 21:07:12 +0000 (21:07 +0000)
lisp/ChangeLog
lisp/emacs-lisp/byte-opt.el

index 7ca350a1a7fef1031a352a797fabf08083fcbc9b..417b4de04d0e1157752aa2f5f606f3a4f9961b0e 100644 (file)
@@ -1,5 +1,8 @@
 2008-03-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 
+       * emacs-lisp/byte-opt.el (byte-compile-trueconstp)
+       (byte-compile-nilconstp): Can't use recursion in a defsubst.
+
        * textmodes/tex-mode.el (latex-mode): Remove % from paragraph-separate
        so that M-q can fill comments.
        (tex-executable-exists-p, tex-compile): Extend with special syntax for
index 92d83b0ef67eae48f532e8d248feb69463d46a22..d65cf3904e9a29c0ae56c1c814647631c212763c 100644 (file)
 
 (defsubst byte-compile-trueconstp (form)
   "Return non-nil if FORM always evaluates to a non-nil value."
+  (while (eq (car-safe form) 'progn)
+    (setq form (car (last (cdr form)))))
   (cond ((consp form)
          (case (car form)
            (quote (cadr form))
-           (progn (byte-compile-trueconstp (car (last (cdr form)))))))
+           ;; Can't use recursion in a defsubst.
+           ;; (progn (byte-compile-trueconstp (car (last (cdr form)))))
+           ))
         ((not (symbolp form)))
         ((eq form t))
         ((keywordp form))))
 
 (defsubst byte-compile-nilconstp (form)
   "Return non-nil if FORM always evaluates to a nil value."
+  (while (eq (car-safe form) 'progn)
+    (setq form (car (last (cdr form)))))
   (cond ((consp form)
          (case (car form)
            (quote (null (cadr form)))
-           (progn (byte-compile-nilconstp (car (last (cdr form)))))))
+           ;; Can't use recursion in a defsubst.
+           ;; (progn (byte-compile-nilconstp (car (last (cdr form)))))
+           ))
         ((not (symbolp form)) nil)
         ((null form))))