emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] Changes to emacs/lisp/emacs-lisp/bytecomp.el


From: Richard M . Stallman
Subject: [Emacs-diffs] Changes to emacs/lisp/emacs-lisp/bytecomp.el
Date: Sat, 16 Jul 2005 14:02:07 -0400

Index: emacs/lisp/emacs-lisp/bytecomp.el
diff -c emacs/lisp/emacs-lisp/bytecomp.el:2.171 
emacs/lisp/emacs-lisp/bytecomp.el:2.172
*** emacs/lisp/emacs-lisp/bytecomp.el:2.171     Fri Jul  8 22:49:47 2005
--- emacs/lisp/emacs-lisp/bytecomp.el   Sat Jul 16 18:02:07 2005
***************
*** 3448,3459 ****
        (args (cdr form)))
      (if (null args)
        (byte-compile-form-do-effect t)
!       (while (cdr args)
!       (byte-compile-form (car args))
        (byte-compile-goto-if nil for-effect failtag)
!       (setq args (cdr args)))
!       (byte-compile-form-do-effect (car args))
!       (byte-compile-out-tag failtag))))
  
  (defun byte-compile-or (form)
    (let ((wintag (byte-compile-make-tag))
--- 3448,3466 ----
        (args (cdr form)))
      (if (null args)
        (byte-compile-form-do-effect t)
!       (byte-compile-and-recursion args failtag))))
! 
! ;; Handle compilation of a multi-argument `and' call.
! ;; We use tail recursion so we can use byte-compile-maybe-guarded.
! (defun byte-compile-and-recursion (rest failtag)
!   (if (cdr rest)
!       (progn
!       (byte-compile-form (car rest))
        (byte-compile-goto-if nil for-effect failtag)
!       (byte-compile-maybe-guarded (car rest)
!         (byte-compile-and-recursion (cdr rest) failtag)))
!     (byte-compile-form-do-effect (car rest))
!     (byte-compile-out-tag failtag)))
  
  (defun byte-compile-or (form)
    (let ((wintag (byte-compile-make-tag))




reply via email to

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