[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