[Top][All Lists]
[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: |
Fri, 08 Jul 2005 18:49:48 -0400 |
Index: emacs/lisp/emacs-lisp/bytecomp.el
diff -c emacs/lisp/emacs-lisp/bytecomp.el:2.170
emacs/lisp/emacs-lisp/bytecomp.el:2.171
*** emacs/lisp/emacs-lisp/bytecomp.el:2.170 Mon Jul 4 17:33:35 2005
--- emacs/lisp/emacs-lisp/bytecomp.el Fri Jul 8 22:49:47 2005
***************
*** 3351,3361 ****
(defmacro byte-compile-maybe-guarded (condition &rest body)
"Execute forms in BODY, potentially guarded by CONDITION.
! CONDITION is the test in an `if' form or in a `cond' clause.
! BODY is to compile the first arm of the if or the body of the
! cond clause. If CONDITION is of the form `(foundp 'foo)'
or `(boundp 'foo)', the relevant warnings from BODY about foo
! being undefined will be suppressed."
(declare (indent 1) (debug t))
`(let* ((fbound
(if (eq 'fboundp (car-safe ,condition))
--- 3351,3364 ----
(defmacro byte-compile-maybe-guarded (condition &rest body)
"Execute forms in BODY, potentially guarded by CONDITION.
! CONDITION is a variable whose value is a test in an `if' or `cond'.
! BODY is the code to compile first arm of the if or the body of the
! cond clause. If CONDITION's value is of the form `(foundp 'foo)'
or `(boundp 'foo)', the relevant warnings from BODY about foo
! being undefined will be suppressed.
!
! If CONDITION's value is `(featurep 'xemacs)', that suppresses all
! warnings during execution of BODY."
(declare (indent 1) (debug t))
`(let* ((fbound
(if (eq 'fboundp (car-safe ,condition))
***************
*** 3373,3385 ****
(byte-compile-bound-variables
(if bound
(cons bound byte-compile-bound-variables)
! byte-compile-bound-variables)))
! (progn ,@body)
! ;; Maybe remove the function symbol from the unresolved list.
! (if fbound
! (setq byte-compile-unresolved-functions
! (delq (assq fbound byte-compile-unresolved-functions)
! byte-compile-unresolved-functions)))))
(defun byte-compile-if (form)
(byte-compile-form (car (cdr form)))
--- 3376,3392 ----
(byte-compile-bound-variables
(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)
! ;; Maybe remove the function symbol from the unresolved list.
! (if fbound
! (setq byte-compile-unresolved-functions
! (delq (assq fbound byte-compile-unresolved-functions)
! byte-compile-unresolved-functions))))))
(defun byte-compile-if (form)
(byte-compile-form (car (cdr form)))
***************
*** 3420,3431 ****
(if (null (cdr clause))
;; First clause is a singleton.
(byte-compile-goto-if t for-effect donetag)
! (setq nexttag (byte-compile-make-tag))
! (byte-compile-goto 'byte-goto-if-nil nexttag)
! (byte-compile-maybe-guarded (car clause)
! (byte-compile-body (cdr clause) for-effect))
! (byte-compile-goto 'byte-goto donetag)
! (byte-compile-out-tag nexttag)))))
;; Last clause
(let ((guard (car clause)))
(and (cdr clause) (not (eq guard t))
--- 3427,3438 ----
(if (null (cdr clause))
;; First clause is a singleton.
(byte-compile-goto-if t for-effect donetag)
! (setq nexttag (byte-compile-make-tag))
! (byte-compile-goto 'byte-goto-if-nil nexttag)
! (byte-compile-maybe-guarded (car clause)
! (byte-compile-body (cdr clause) for-effect))
! (byte-compile-goto 'byte-goto donetag)
! (byte-compile-out-tag nexttag)))))
;; Last clause
(let ((guard (car clause)))
(and (cdr clause) (not (eq guard t))
- [Emacs-diffs] Changes to emacs/lisp/emacs-lisp/bytecomp.el, Richard M . Stallman, 2005/07/03
- [Emacs-diffs] Changes to emacs/lisp/emacs-lisp/bytecomp.el, Juanma Barranquero, 2005/07/03
- [Emacs-diffs] Changes to emacs/lisp/emacs-lisp/bytecomp.el, Lute Kamstra, 2005/07/04
- [Emacs-diffs] Changes to emacs/lisp/emacs-lisp/bytecomp.el,
Richard M . Stallman <=
- [Emacs-diffs] Changes to emacs/lisp/emacs-lisp/bytecomp.el, Richard M . Stallman, 2005/07/16
- [Emacs-diffs] Changes to emacs/lisp/emacs-lisp/bytecomp.el, Richard M . Stallman, 2005/07/16
- [Emacs-diffs] Changes to emacs/lisp/emacs-lisp/bytecomp.el, Richard M . Stallman, 2005/07/16
- [Emacs-diffs] Changes to emacs/lisp/emacs-lisp/bytecomp.el, Richard M . Stallman, 2005/07/16
- [Emacs-diffs] Changes to emacs/lisp/emacs-lisp/bytecomp.el, Juanma Barranquero, 2005/07/16
- [Emacs-diffs] Changes to emacs/lisp/emacs-lisp/bytecomp.el, Stefan Monnier, 2005/07/29