[Git][cmucl/cmucl][master] Update to asdf 3.3.1

Raymond Toy rtoy at common-lisp.net
Thu Nov 16 05:06:38 UTC 2017


Raymond Toy pushed to branch master at cmucl / cmucl


Commits:
42192ed3 by Raymond Toy at 2017-11-15T21:06:19-08:00
Update to asdf 3.3.1

- - - - -


1 changed file:

- src/contrib/asdf/asdf.lisp


Changes:

=====================================
src/contrib/asdf/asdf.lisp
=====================================
--- a/src/contrib/asdf/asdf.lisp
+++ b/src/contrib/asdf/asdf.lisp
@@ -1,5 +1,5 @@
 ;;; -*- mode: Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp ; buffer-read-only: t; -*-
-;;; This is ASDF 3.3.0: Another System Definition Facility.
+;;; This is ASDF 3.3.1: Another System Definition Facility.
 ;;;
 ;;; Feedback, bug reports, and patches are all welcome:
 ;;; please mail to <asdf-devel at common-lisp.net>.
@@ -1030,9 +1030,9 @@ Return a string made of the parts not omitted or emitted by FROB."
    #:string-prefix-p #:string-enclosed-p #:string-suffix-p
    #:standard-case-symbol-name #:find-standard-case-symbol ;; symbols
    #:coerce-class ;; CLOS
-   #:stamp< #:stamps< #:stamp*< #:stamp<= ;; stamps
-   #:earlier-stamp #:stamps-earliest #:earliest-stamp
-   #:later-stamp #:stamps-latest #:latest-stamp #:latest-stamp-f
+   #:timestamp< #:timestamps< #:timestamp*< #:timestamp<= ;; timestamps
+   #:earlier-timestamp #:timestamps-earliest #:earliest-timestamp
+   #:later-timestamp #:timestamps-latest #:latest-timestamp #:latest-timestamp-f
    #:list-to-hash-set #:ensure-gethash ;; hash-table
    #:ensure-function #:access-at #:access-at-count ;; functions
    #:call-function #:call-functions #:register-hook-function
@@ -1380,11 +1380,11 @@ If optional ERROR argument is NIL, return NIL instead of an error when the symbo
                     (string (standard-case-symbol-name package-designator)))
                   error)))
 
-;;; stamps: a REAL or a boolean where T=-infinity, NIL=+infinity
+;;; timestamps: a REAL or a boolean where T=-infinity, NIL=+infinity
 (eval-when (#-lispworks :compile-toplevel :load-toplevel :execute)
-  (deftype stamp () '(or real boolean)))
+  (deftype timestamp () '(or real boolean)))
 (with-upgradability ()
-  (defun stamp< (x y)
+  (defun timestamp< (x y)
     (etypecase x
       ((eql t) (not (eql y t)))
       (real (etypecase y
@@ -1392,16 +1392,16 @@ If optional ERROR argument is NIL, return NIL instead of an error when the symbo
               (real (< x y))
               (null t)))
       (null nil)))
-  (defun stamps< (list) (loop :for y :in list :for x = nil :then y :always (stamp< x y)))
-  (defun stamp*< (&rest list) (stamps< list))
-  (defun stamp<= (x y) (not (stamp< y x)))
-  (defun earlier-stamp (x y) (if (stamp< x y) x y))
-  (defun stamps-earliest (list) (reduce 'earlier-stamp list :initial-value nil))
-  (defun earliest-stamp (&rest list) (stamps-earliest list))
-  (defun later-stamp (x y) (if (stamp< x y) y x))
-  (defun stamps-latest (list) (reduce 'later-stamp list :initial-value t))
-  (defun latest-stamp (&rest list) (stamps-latest list))
-  (define-modify-macro latest-stamp-f (&rest stamps) latest-stamp))
+  (defun timestamps< (list) (loop :for y :in list :for x = nil :then y :always (timestamp< x y)))
+  (defun timestamp*< (&rest list) (timestamps< list))
+  (defun timestamp<= (x y) (not (timestamp< y x)))
+  (defun earlier-timestamp (x y) (if (timestamp< x y) x y))
+  (defun timestamps-earliest (list) (reduce 'earlier-timestamp list :initial-value nil))
+  (defun earliest-timestamp (&rest list) (timestamps-earliest list))
+  (defun later-timestamp (x y) (if (timestamp< x y) y x))
+  (defun timestamps-latest (list) (reduce 'later-timestamp list :initial-value t))
+  (defun latest-timestamp (&rest list) (timestamps-latest list))
+  (define-modify-macro latest-timestamp-f (&rest timestamps) latest-timestamp))
 
 
 ;;; Function designators
@@ -1669,7 +1669,7 @@ message, that takes the functionality as its first argument (that can be skipped
 (in-package :uiop/version)
 
 (with-upgradability ()
-  (defparameter *uiop-version* "3.3.0")
+  (defparameter *uiop-version* "3.3.1")
 
   (defun unparse-version (version-list)
     "From a parsed version (a list of natural numbers), compute the version string"
@@ -6753,6 +6753,9 @@ or whether it's already taken care of by the implementation's underlying run-pro
     "A portable abstraction of a low-level call to libc's system()."
     (declare (ignorable keys directory input if-input-does-not-exist output
                         if-output-exists error-output if-error-output-exists))
+    (when (member :stream (list input output error-output))
+      (parameter-error "~S: ~S is not allowed as synchronous I/O redirection argument"
+                       'run-program :stream))
     #+(or abcl allegro clozure cmucl ecl (and lispworks os-unix) mkcl sbcl scl)
     (let (#+(or abcl ecl mkcl)
             (version (parse-version
@@ -7503,7 +7506,7 @@ previously-loaded version of ASDF."
          ;; "3.4.5.67" would be a development version in the official branch, on top of 3.4.5.
          ;; "3.4.5.0.8" would be your eighth local modification of official release 3.4.5
          ;; "3.4.5.67.8" would be your eighth local modification of development version 3.4.5.67
-         (asdf-version "3.3.0")
+         (asdf-version "3.3.1")
          (existing-version (asdf-version)))
     (setf *asdf-version* asdf-version)
     (when (and existing-version (not (equal asdf-version existing-version)))
@@ -9801,7 +9804,7 @@ unless identically to toplevel"
   (defmethod record-dependency ((plan sequential-plan) (o operation) (c component))
     (values)))
 
-(when-upgrading (:version "3.2.1")
+(when-upgrading (:version "3.3.0")
   (defmethod initialize-instance :after ((plan plan-traversal) &key &allow-other-keys)))
 
 
@@ -9889,7 +9892,7 @@ or NIL if no the status is considered outside of a specific plan."))
     "Return the earliest status later than both status1 and status2"
     (make-action-status
      :bits (logand (status-bits status1) (status-bits status2))
-     :stamp (latest-stamp (status-stamp status1) (status-stamp status2))
+     :stamp (latest-timestamp (status-stamp status1) (status-stamp status2))
      :level (min (status-level status1) (status-level status2))
      :index (or (status-index status1) (status-index status2))))
 
@@ -10042,22 +10045,22 @@ initialized with SEED."
             (in-files (input-files o c))
             (in-stamps (mapcar #'get-file-stamp in-files))
             (missing-in (loop :for f :in in-files :for s :in in-stamps :unless s :collect f))
-            (latest-in (stamps-latest (cons dep-stamp in-stamps))))
+            (latest-in (timestamps-latest (cons dep-stamp in-stamps))))
        (when (and missing-in (not just-done)) (return (values nil nil))))
      (let* (;; collect timestamps from outputs, and exit early if any is missing
             (out-files (remove-if 'null (output-files o c)))
             (out-stamps (mapcar (if just-done 'register-file-stamp 'get-file-stamp) out-files))
             (missing-out (loop :for f :in out-files :for s :in out-stamps :unless s :collect f))
-            (earliest-out (stamps-earliest out-stamps)))
+            (earliest-out (timestamps-earliest out-stamps)))
        (when (and missing-out (not just-done)) (return (values nil nil))))
      (let (;; Time stamps from the files at hand, and whether any is missing
            (all-present (not (or missing-in missing-out)))
            ;; Has any input changed since we last generated the files?
-           ;; Note that we use stamp<= instead of stamp< to play nice with generated files.
+           ;; Note that we use timestamp<= instead of timestamp< to play nice with generated files.
            ;; Any race condition is intrinsic to the limited timestamp resolution.
-           (up-to-date-p (stamp<= latest-in earliest-out))
+           (up-to-date-p (timestamp<= latest-in earliest-out))
            ;; If everything is up to date, the latest of inputs and outputs is our stamp
-           (done-stamp (stamps-latest (cons latest-in out-stamps))))
+           (done-stamp (timestamps-latest (cons latest-in out-stamps))))
        ;; Warn if some files are missing:
        ;; either our model is wrong or some other process is messing with our files.
        (when (and just-done (not all-present))
@@ -10686,14 +10689,16 @@ the implementation's REQUIRE rather than by internal ASDF mechanisms."))
     (assert (equal (coerce-name s) (primary-system-name s)))
     (nest
      (if-let ((pathname (first (input-files o s)))))
+     (let ((readtable *readtable*) ;; save outer syntax tables. TODO: proper syntax-control
+           (print-pprint-dispatch *print-pprint-dispatch*)))
      (with-standard-io-syntax)
      (let ((*print-readably* nil)
            ;; Note that our backward-compatible *readtable* is
            ;; a global readtable that gets globally side-effected. Ouch.
            ;; Same for the *print-pprint-dispatch* table.
            ;; We should do something about that for ASDF3 if possible, or else ASDF4.
-           (*readtable* *readtable*)
-           (*print-pprint-dispatch* *print-pprint-dispatch*)
+           (*readtable* readtable) ;; restore inside syntax table
+           (*print-pprint-dispatch* print-pprint-dispatch)
            (*package* (find-package :asdf-user))
            (*default-pathname-defaults*
             ;; resolve logical-pathnames so they won't wreak havoc in parsing namestrings.
@@ -10837,7 +10842,7 @@ PREVIOUS-TIME when not null is the time at which the PREVIOUS system was loaded.
           (let ((o (make-operation 'define-op)))
             (multiple-value-bind (stamp done-p)
                 (compute-action-stamp plan o system)
-              (return (and (stamp<= stamp (component-operation-time o system))
+              (return (and (timestamp<= stamp (component-operation-time o system))
                            done-p)))))
       (system-out-of-date () nil)))
 
@@ -10864,7 +10869,7 @@ PREVIOUS-TIME when not null is the time at which the PREVIOUS system was loaded.
                               (pathname-equal
                                (physicalize-pathname pathname)
                                (physicalize-pathname previous-pathname))))
-                     (stamp<= stamp previous-time)
+                     (timestamp<= stamp previous-time)
                      ;; TODO: check that all dependencies are up-to-date.
                      ;; This necessitates traversing them without triggering
                      ;; the adding of nodes to the plan.



View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/commit/42192ed35af09e9df691ec4d4728189ca65abf36

---
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/commit/42192ed35af09e9df691ec4d4728189ca65abf36
You're receiving this email because of your account on gitlab.common-lisp.net.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/cmucl-cvs/attachments/20171116/8c2e51c8/attachment-0001.html>


More information about the cmucl-cvs mailing list