Index: emacs/lisp/emacs-lisp/bytecomp.el
diff -c emacs/lisp/emacs-lisp/bytecomp.el:2.172 
emacs/lisp/emacs-lisp/bytecomp.el:2.173
*** emacs/lisp/emacs-lisp/bytecomp.el:2.172     Sat Jul 16 18:02:07 2005
--- emacs/lisp/emacs-lisp/bytecomp.el   Sat Jul 16 18:27:25 2005
***************
*** 3377,3384 ****
           (if bound
               (cons bound byte-compile-bound-variables)
             byte-compile-bound-variables))
          (byte-compile-warnings
!          (if (equal ,condition '(featurep 'xemacs))
               nil byte-compile-warnings)))
       (unwind-protect
         (progn ,@body)
--- 3377,3386 ----
           (if bound
               (cons bound byte-compile-bound-variables)
             byte-compile-bound-variables))
+         ;; Suppress all warnings, for code not used in Emacs.
          (byte-compile-warnings
!          (if (member ,condition '((featurep 'xemacs)
!                                   (not (featurep 'emacs))))
               nil byte-compile-warnings)))
       (unwind-protect
         (progn ,@body)
***************
*** 3450,3456 ****
        (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)
--- 3452,3458 ----
        (byte-compile-form-do-effect t)
        (byte-compile-and-recursion args failtag))))
  
! ;; Handle compilation of a nontrivial `and' call.
  ;; We use tail recursion so we can use byte-compile-maybe-guarded.
  (defun byte-compile-and-recursion (rest failtag)
    (if (cdr rest)
***************
*** 3467,3478 ****
        (args (cdr form)))
      (if (null args)
        (byte-compile-form-do-effect nil)
!       (while (cdr args)
!       (byte-compile-form (car args))
        (byte-compile-goto-if t for-effect wintag)
!       (setq args (cdr args)))
!       (byte-compile-form-do-effect (car args))
!       (byte-compile-out-tag wintag))))
  
  (defun byte-compile-while (form)
    (let ((endtag (byte-compile-make-tag))
--- 3469,3487 ----
        (args (cdr form)))
      (if (null args)
        (byte-compile-form-do-effect nil)
!       (byte-compile-or-recursion args wintag))))
! 
! ;; Handle compilation of a nontrivial `or' call.
! ;; We use tail recursion so we can use byte-compile-maybe-guarded.
! (defun byte-compile-or-recursion (rest wintag)
!   (if (cdr rest)
!       (progn
!       (byte-compile-form (car rest))
        (byte-compile-goto-if t for-effect wintag)
!       (byte-compile-maybe-guarded (list 'not (car rest))
!         (byte-compile-or-recursion (cdr rest) wintag)))
!     (byte-compile-form-do-effect (car rest))
!     (byte-compile-out-tag wintag)))
  
  (defun byte-compile-while (form)
    (let ((endtag (byte-compile-make-tag))


_______________________________________________
Emacs-diffs mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/emacs-diffs

Reply via email to