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: Thu, 31 Jan 2002 23:14:15 -0500

Index: emacs/lisp/emacs-lisp/bytecomp.el
diff -c emacs/lisp/emacs-lisp/bytecomp.el:2.93 
emacs/lisp/emacs-lisp/bytecomp.el:2.94
*** emacs/lisp/emacs-lisp/bytecomp.el:2.93      Fri Nov 16 19:54:36 2001
--- emacs/lisp/emacs-lisp/bytecomp.el   Thu Jan 31 23:14:14 2002
***************
*** 10,16 ****
  
  ;;; This version incorporates changes up to version 2.10 of the
  ;;; Zawinski-Furuseth compiler.
! (defconst byte-compile-version "$Revision: 2.93 $")
  
  ;; This file is part of GNU Emacs.
  
--- 10,16 ----
  
  ;;; This version incorporates changes up to version 2.10 of the
  ;;; Zawinski-Furuseth compiler.
! (defconst byte-compile-version "$Revision: 2.94 $")
  
  ;; This file is part of GNU Emacs.
  
***************
*** 3554,3568 ****
      ))
  
  
  ;;; by address@hidden
  ;;;  Only works noninteractively.
  ;;;###autoload
! (defun batch-byte-compile ()
    "Run `byte-compile-file' on the files remaining on the command line.
  Use this from the command line, with `-batch';
  it won't work in an interactive Emacs.
  Each file is processed even if an error occurred previously.
! For example, invoke \"emacs -batch -f batch-byte-compile $emacs/ ~/*.el\""
    ;; command-line-args-left is what is left of the command line (from 
startup.el)
    (defvar command-line-args-left)     ;Avoid 'free variable' warning
    (if (not noninteractive)
--- 3554,3576 ----
      ))
  
  
+ (defun batch-byte-compile-if-not-done ()
+   "Like `byte-compile-file' but doesn't recompile if already up to date.
+ Use this from the command line, with `-batch';
+ it won't work in an interactive Emacs."
+   (batch-byte-compile t))
+ 
  ;;; by address@hidden
  ;;;  Only works noninteractively.
  ;;;###autoload
! (defun batch-byte-compile (&optional noforce)
    "Run `byte-compile-file' on the files remaining on the command line.
  Use this from the command line, with `-batch';
  it won't work in an interactive Emacs.
  Each file is processed even if an error occurred previously.
! For example, invoke \"emacs -batch -f batch-byte-compile $emacs/ ~/*.el\".
! If NOFORCE is non-nil, don't recompile a file that seems to be
! already up-to-date."
    ;; command-line-args-left is what is left of the command line (from 
startup.el)
    (defvar command-line-args-left)     ;Avoid 'free variable' warning
    (if (not noninteractive)
***************
*** 3570,3575 ****
--- 3578,3584 ----
    (let ((error nil))
      (while command-line-args-left
        (if (file-directory-p (expand-file-name (car command-line-args-left)))
+         ;; Directory as argument.
          (let ((files (directory-files (car command-line-args-left)))
                source dest)
            (dolist (file files)
***************
*** 3582,3589 ****
                       (file-newer-than-file-p source dest))
                  (if (null (batch-byte-compile-file source))
                      (setq error t)))))
!       (if (null (batch-byte-compile-file (car command-line-args-left)))
!           (setq error t)))
        (setq command-line-args-left (cdr command-line-args-left)))
      (kill-emacs (if error 1 0))))
  
--- 3591,3604 ----
                       (file-newer-than-file-p source dest))
                  (if (null (batch-byte-compile-file source))
                      (setq error t)))))
!       ;; Specific file argument
!       (if (or (not noforce)
!               (let* ((source (car command-line-args-left))
!                      (dest (byte-compile-dest-file source)))
!                 (or (not (file-exists-p dest))
!                     (file-newer-than-file-p source dest))))
!           (if (null (batch-byte-compile-file (car command-line-args-left)))
!               (setq error t))))
        (setq command-line-args-left (cdr command-line-args-left)))
      (kill-emacs (if error 1 0))))
  



reply via email to

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