Commit 7a18e15b authored by Robert Goldman's avatar Robert Goldman
Browse files

Merge branch 'master' into 'master'

uiop/run-program: fix abcl version identifier for development releases

Without this patch, Elias' recent work on UIOP/RUN-PROGRAM won't be utilized on any ABCL which is built from development source.

ABCL uses the convention that development versions start appending strings separated via #\- characters to the primary value returned by CL:LISP-IMPLEMENTATION-VERSION (e.g. '1.5.0-dev'). Such values cause the UIOP/UTILITY:PARSE-VERSION function to return nil, meaning that this is not a suitable conditional for whether LAUNCH-PROGRAM is invoked.

This patch uses the value of `UIOP/OS:IMPLEMENTATION-IDENTIFIER` to identify version.  Unknown whether this would work on MKCL/ECL, which might simplify the code path here.

See merge request !57
parents fa91ae7b a65deb43
......@@ -1012,7 +1012,12 @@ or :error-output."
(declare (ignorable keys directory input if-input-does-not-exist output
if-output-exists error-output if-error-output-exists))
#+(or abcl allegro clozure cmucl ecl (and lispworks os-unix) mkcl sbcl scl)
(let (#+(or abcl ecl mkcl) (version (parse-version (lisp-implementation-version))))
(let (#+(or abcl ecl mkcl)
(version (parse-version
(second (split-string (implementation-identifier) :separator '(#\-))))))
#+abcl (unless (lexicographic< '< version '(1 4 0)))
#+ecl (unless (lexicographic<= '< version '(16 0 0)))
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment