diff --git a/asdf.asd b/asdf.asd index 9c81622e4e02da47041817d2b4ec705c0caefed7..eb2633bd8b8a53c876fa1557ad1bbf3b25942a42 100644 --- a/asdf.asd +++ b/asdf.asd @@ -75,7 +75,7 @@ :licence "MIT" :description "Another System Definition Facility" :long-description "ASDF builds Common Lisp software organized into defined systems." - :version "3.1.0.75" ;; to be automatically updated by make bump-version + :version "3.1.0.76" ;; to be automatically updated by make bump-version :depends-on () #+asdf3 :encoding #+asdf3 :utf-8 :class #.(if (find-class 'package-system nil) 'package-system 'system) diff --git a/header.lisp b/header.lisp index 035dd09fa08dd61fa2e50a91e13bdd35e675f8b1..b7917bcd8299bc043dca59f0769f261bc894d7f4 100644 --- a/header.lisp +++ b/header.lisp @@ -1,5 +1,5 @@ ;;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp ; buffer-read-only: t; -*- -;;; This is ASDF 3.1.0.75: Another System Definition Facility. +;;; This is ASDF 3.1.0.76: Another System Definition Facility. ;;; ;;; Feedback, bug reports, and patches are all welcome: ;;; please mail to <asdf-devel@common-lisp.net>. diff --git a/test/test-run-program.script b/test/test-run-program.script index 76b1dc62bb103ca4aa5990d3abca7390aec8a3a9..39abbe4931120c450cab77556d29a23a3d981450 100644 --- a/test/test-run-program.script +++ b/test/test-run-program.script @@ -1,6 +1,11 @@ ;; -*- Lisp -*- (declaim (optimize (debug 3) (safety #-gcl 3 #+gcl 0))) +#+(and clisp os-windows) +(ext:without-package-lock () + (trace uiop:run-program uiop/run-program::%run-program uiop/run-program::%system + ext:shell ext:run-shell-command ext:run-program)) + ;; On Windows, normalize away CRLF into jut the unixy LF. (defun dewindowize (x) (block () diff --git a/uiop/filesystem.lisp b/uiop/filesystem.lisp index abad3624483a210b42fc2d77d1b8a3ff08bc4448..24152993c474ab6d22bac0fdf52f53e121a86cf4 100644 --- a/uiop/filesystem.lisp +++ b/uiop/filesystem.lisp @@ -116,7 +116,7 @@ or the original (parsed) pathname if it is false (the default)." (cond (truename foundtrue) (foundtrue p))))) - (let* ((fs (find-symbol* '#:file-stat :posix nil)) + (let* ((fs (or #-os-windows (find-symbol* '#:file-stat :posix nil))) (pp (find-symbol* '#:probe-pathname :ext nil)) (resolve (if pp `(ignore-errors (,pp p)) diff --git a/uiop/run-program.lisp b/uiop/run-program.lisp index 5102f7d67d4c8fa02564020b30820912229ce6b0..a11d6099c13b12c18cc4b4a8dcb07de29f37144f 100644 --- a/uiop/run-program.lisp +++ b/uiop/run-program.lisp @@ -410,7 +410,7 @@ It returns a process-info plist with possible keys: ;; NB: these implementations have unix vs windows set at compile-time. (declare (ignorable if-input-does-not-exist if-output-exists if-error-output-exists)) (assert (not (and wait (member :stream (list input output error-output))))) - #-(or allegro clozure cmu (and lispworks os-unix) sbcl scl) + #-(or allegro clisp clozure cmu (and lispworks os-unix) sbcl scl) (progn command keys directory (error "run-program not available")) #+(or allegro clisp clozure cmu (and lispworks os-unix) sbcl scl) @@ -435,10 +435,10 @@ It returns a process-info plist with possible keys: #-allegro (with-current-directory (#-sbcl directory) #+clisp - (flet ((run (f &rest args) + (flet ((run (f x &rest args) (multiple-value-list - (apply f :input %input :output %output - :allow-other-keys t `(,@args ,@keys))))) + (apply f x :input %input :output %output + :allow-other-keys t `(,@args ,@keys))))) (assert (eq %error-output :terminal)) ;;; since we now always return a code, we can't use this code path, anyway! (etypecase %command @@ -769,14 +769,17 @@ It returns a process-info plist with possible keys: #+(or allegro clozure cmu (and lispworks os-unix) sbcl scl) (%wait-process-result (apply '%run-program (%normalize-system-command command) :wait t keys)) - #+(or abcl clisp cormanlisp ecl gcl (and lispworks os-windows) mkcl xcl) + #+(or abcl cormanlisp clisp ecl gcl (and lispworks os-windows) mkcl xcl) (let ((%command (%redirected-system-command command input output error-output directory))) #+(and lispworks os-windows) (system:call-system %command :current-directory directory :wait t) - #-(and lispworks os-windows) + #+clisp + (%wait-process-result + (apply '%run-program %command :wait t + :input :interactive :output :interactive :error-output :interactive keys)) + #-(or clisp (and lispworks os-windows)) (with-current-directory ((unless (os-unix-p) directory)) #+abcl (ext:run-shell-command %command) - #+clisp (clisp-exit-code (ext:shell %command)) #+cormanlisp (win32:system %command) #+ecl (let ((*standard-input* *stdin*) (*standard-output* *stdout*) diff --git a/upgrade.lisp b/upgrade.lisp index c9030624ea81da1109a016b975b3e8ca3ad813f8..a13c8901b2e6c39bb04e834b11dbf9b48ae09f88 100644 --- a/upgrade.lisp +++ b/upgrade.lisp @@ -66,7 +66,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.1.0.75") + (asdf-version "3.1.0.76") (existing-version (asdf-version))) (setf *asdf-version* asdf-version) (when (and existing-version (not (equal asdf-version existing-version))) diff --git a/version.lisp-expr b/version.lisp-expr index f8ccda332f2279e830a4a5a0f30968fe07c4bd21..f18ed040311a1bb4e7182ae8e58134381c3a5fc3 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -1,2 +1,2 @@ -"3.1.0.75" +"3.1.0.76"