diff --git a/.gitignore b/.gitignore index bcce63cd2b629c836d7051812f1bc18a6206beb3..7b8606d1776f1706181acf0c05b4d5793b6231c6 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ build asdf.lisp +doc/cmucl/ doc/asdf/ doc/asdf.aux doc/asdf.cp @@ -21,9 +22,13 @@ doc/asdf.tps doc/asdf.vr doc/asdf.vrs doc/asdf.t2d/ +doc/asdf.dvi +*.tmp LICENSE tmp/ +man/ +lib/ *.dribble *.fas[bcl] *.fas diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000000000000000000000000000000000000..16ec8002dc6d63d98978058423e3579e030ce0fe --- /dev/null +++ b/.gitmodules @@ -0,0 +1,30 @@ +[submodule "ext/fare-utils"] + path = ext/fare-utils + url = git://common-lisp.net/users/frideau/fare-utils.git +[submodule "ext/fare-quasiquote"] + path = ext/fare-quasiquote + url = git://common-lisp.net/users/frideau/fare-quasiquote.git +[submodule "ext/fare-mop"] + path = ext/fare-mop + url = git://common-lisp.net/users/frideau/fare-mop.git +[submodule "ext/closer-closer-mop"] + path = ext/closer-closer-mop + url = git://git.code.sf.net/p/closer/closer-mop +[submodule "ext/alexandria"] + path = ext/alexandria + url = git://common-lisp.net/projects/alexandria/alexandria.git +[submodule "ext/optima"] + path = ext/optima + url = https://github.com/m2ym/optima.git +[submodule "ext/named-readtables"] + path = ext/named-readtables + url = https://github.com/melisgl/named-readtables.git +[submodule "ext/inferior-shell"] + path = ext/inferior-shell + url = git://common-lisp.net/projects/qitab/inferior-shell.git +[submodule "ext/lisp-invocation"] + path = ext/lisp-invocation + url = git://common-lisp.net/projects/qitab/lisp-invocation.git +[submodule "ext/cl-ppcre"] + path = ext/cl-ppcre + url = https://github.com/edicl/cl-ppcre diff --git a/Makefile b/Makefile index 8fc83b3afdb0a50d7edf279d9868c65365bb837e..6dd75eb532c892c7bdecdd742b17e7286855e543 100644 --- a/Makefile +++ b/Makefile @@ -9,6 +9,8 @@ # Other targets are for maintainer use only. # +l ?= sbcl + # Default action: bootstrap asdf.lisp # That's the only thing that we really need before we may invoke asdf-builder. all: build/asdf.lisp @@ -87,6 +89,7 @@ help: install: install-asdf: link-archive: +list-source-registry: load: make-archive: makefile-targets: @@ -115,4 +118,3 @@ test-upgrade: u: wc: website: - diff --git a/asdf.asd b/asdf.asd index ad379da3eb66a15191e446be2cab7a431a045a33..a9c16fb43a041254612fec3d559ce790b8612b23 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.3" ;; to be automatically updated by make bump-version + :version "3.1.3.5" ;; to be automatically updated by make bump-version :depends-on () #+asdf3 :encoding #+asdf3 :utf-8 :class #.(if (find-class 'package-inferred-system nil) 'package-inferred-system 'system) diff --git a/bundle.lisp b/bundle.lisp index 5a119471c498066698a2b448e660a8ba6586df9d..222d0e56c021366d8885d6b60ace335a3f38e06b 100644 --- a/bundle.lisp +++ b/bundle.lisp @@ -10,7 +10,6 @@ #:bundle-op #:bundle-type #:program-system #:bundle-system #:bundle-pathname-type #:bundlable-file-p #:direct-dependency-files #:monolithic-op #:monolithic-bundle-op #:operation-monolithic-p - #:fasl-op #:load-fasl-op #:monolithic-fasl-op #:binary-op #:monolithic-binary-op #:basic-compile-bundle-op #:prepare-bundle-op #:compile-bundle-op #:load-bundle-op #:monolithic-compile-bundle-op #:monolithic-load-bundle-op #:lib-op #:monolithic-lib-op @@ -530,15 +529,15 @@ Please report to ASDF-DEVEL if this works for you."))) ;;; Backward compatibility with pre-3.1.2 names -(defclass fasl-op (selfward-operation) - ((selfward-operation :initform 'compile-bundle-op :allocation :class))) -(defclass load-fasl-op (selfward-operation) - ((selfward-operation :initform 'load-bundle-op :allocation :class))) -(defclass binary-op (selfward-operation) - ((selfward-operation :initform 'deliver-asd-op :allocation :class))) -(defclass monolithic-fasl-op (selfward-operation) - ((selfward-operation :initform 'monolithic-compile-bundle-op :allocation :class))) -(defclass monolithic-load-fasl-op (selfward-operation) - ((selfward-operation :initform 'monolithic-load-bundle-op :allocation :class))) -(defclass monolithic-binary-op (selfward-operation) - ((selfward-operation :initform 'monolithic-deliver-asd-op :allocation :class))) +;; (defclass fasl-op (selfward-operation) +;; ((selfward-operation :initform 'compile-bundle-op :allocation :class))) +;; (defclass load-fasl-op (selfward-operation) +;; ((selfward-operation :initform 'load-bundle-op :allocation :class))) +;; (defclass binary-op (selfward-operation) +;; ((selfward-operation :initform 'deliver-asd-op :allocation :class))) +;; (defclass monolithic-fasl-op (selfward-operation) +;; ((selfward-operation :initform 'monolithic-compile-bundle-op :allocation :class))) +;; (defclass monolithic-load-fasl-op (selfward-operation) +;; ((selfward-operation :initform 'monolithic-load-bundle-op :allocation :class))) +;; (defclass monolithic-binary-op (selfward-operation) +;; ((selfward-operation :initform 'monolithic-deliver-asd-op :allocation :class))) diff --git a/contrib/fasl-op.lisp b/contrib/fasl-op.lisp new file mode 100644 index 0000000000000000000000000000000000000000..acbd5cdf9975f05bb2af0f82436e66f0e0b541da --- /dev/null +++ b/contrib/fasl-op.lisp @@ -0,0 +1,31 @@ +(uiop:define-package :asdf/contrib/fasl-op + (:use :common-lisp :uiop + :asdf :asdf/component :asdf/operation :asdf/lisp-action :asdf/bundle)) + +(in-package :asdf/contrib/fasl-op) + +;;; Backward compatibility with pre-3.1.2 names + +(eval-when (:compile-toplevel :load-toplevel :execute) + (defun frob-symbol (sym) + (loop :for dest :in '(:asdf/bundle :asdf/interface) :do + (uiop/package::ensure-import + (symbol-name sym) (find-package dest) (symbol-package sym) + (make-hash-table :test 'equal) (make-hash-table :test 'equal))))) + +(defmacro declare-ops (&rest ops) + `(progn + ,@(loop :for (compat-name current-name) :in ops :append + `((defclass ,compat-name (selfward-operation) + ((selfward-operation :initform ',current-name :allocation :class))) + (defmethod output-files ((o ,compat-name) (c component)) + (output-files (find-operation o ',current-name) c)) + (frob-symbol ',compat-name))))) + +(declare-ops + (fasl-op compile-bundle-op) + (load-fasl-op load-bundle-op) + (binary-op deliver-asd-op) + (monolithic-fasl-op monolithic-compile-bundle-op) + (monolithic-load-fasl-op monolithic-load-bundle-op) + (monolithic-binary-op monolithic-deliver-asd-op)) diff --git a/doc/asdf.texinfo b/doc/asdf.texinfo index 77b98bfbf800fee9f53ab0b71284f6ec265bd8f9..901512083035199a83601fca98316b65e4cdd74f 100644 --- a/doc/asdf.texinfo +++ b/doc/asdf.texinfo @@ -2,6 +2,7 @@ @c %**start of header @setfilename asdf.info @settitle ASDF Manual +@syncodeindex tp fn @c %**end of header @c We use @&key, etc to escape & from TeX in lambda lists -- @@ -213,13 +214,13 @@ Miscellaneous additional functionality FAQ * Where do I report a bug?:: -* What has changed between ASDF 1 and ASDF 2?:: +* What has changed between ASDF 1 ASDF 2 and ASDF 3?:: * Issues with installing the proper version of ASDF:: * Issues with configuring ASDF:: * Issues with using and extending ASDF to define systems:: * ASDF development FAQs:: -``What has changed between ASDF 1, ASDF 2 and ASDF 3?'' +``What has changed between ASDF 1, ASDF 2, and ASDF 3?'' * What are ASDF 1 2 3?:: * How do I detect the ASDF version?:: @@ -232,6 +233,7 @@ FAQ * ASDF can be upgraded:: * Decoupled release cycle:: * Pitfalls of the transition to ASDF 2:: +* What happened to the bundle operations:: Issues with installing the proper version of ASDF @@ -4714,14 +4716,14 @@ mailing list @menu * Where do I report a bug?:: -* What has changed between ASDF 1 and ASDF 2?:: +* What has changed between ASDF 1 ASDF 2 and ASDF 3?:: * Issues with installing the proper version of ASDF:: * Issues with configuring ASDF:: * Issues with using and extending ASDF to define systems:: * ASDF development FAQs:: @end menu -@node Where do I report a bug?, What has changed between ASDF 1 and ASDF 2?, FAQ, FAQ +@node Where do I report a bug?, What has changed between ASDF 1 ASDF 2 and ASDF 3?, FAQ, FAQ @section ``Where do I report a bug?'' ASDF bugs are tracked on launchpad: @url{https://launchpad.net/asdf}. @@ -4730,8 +4732,8 @@ If you're unsure about whether something is a bug, or for general discussion, use the @url{http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel,asdf-devel mailing list} -@node What has changed between ASDF 1 and ASDF 2?, Issues with installing the proper version of ASDF, Where do I report a bug?, FAQ -@section ``What has changed between ASDF 1, ASDF 2 and ASDF 3?'' +@node What has changed between ASDF 1 ASDF 2 and ASDF 3?, Issues with installing the proper version of ASDF, Where do I report a bug?, FAQ +@section ``What has changed between ASDF 1, ASDF 2, and ASDF 3?'' We released ASDF 2.000 on May 31st 2010, and ASDF 3.0.0 on May 15th 2013. @@ -4767,9 +4769,10 @@ Release ASDF 3.1.2 and later also define the @code{:asdf3.1} feature. * ASDF can be upgraded:: * Decoupled release cycle:: * Pitfalls of the transition to ASDF 2:: +* What happened to the bundle operations:: @end menu -@node What are ASDF 1 2 3?, How do I detect the ASDF version?, What has changed between ASDF 1 and ASDF 2?, What has changed between ASDF 1 and ASDF 2? +@node What are ASDF 1 2 3?, How do I detect the ASDF version?, What has changed between ASDF 1 ASDF 2 and ASDF 3?, What has changed between ASDF 1 ASDF 2 and ASDF 3? @subsection What are ASDF 1, ASDF 2, and ASDF 3? ASDF 1 refers to any release earlier than 1.369 or so (from August 2001 to October 2009), @@ -4783,7 +4786,7 @@ and any development revision newer than ASDF 1 and older than 2.27 (Feb 1 2013). ASDF 3 refers to releases from 2.27 (Feb 1 2013) to 2.33 and 3.0.0 onward (May 15 2013). 2.27 to 2.33 count as pre-releases to ASDF 3. -@node How do I detect the ASDF version?, ASDF can portably name files in subdirectories, What are ASDF 1 2 3?, What has changed between ASDF 1 and ASDF 2? +@node How do I detect the ASDF version?, ASDF can portably name files in subdirectories, What are ASDF 1 2 3?, What has changed between ASDF 1 ASDF 2 and ASDF 3? @subsection How do I detect the ASDF version? @findex asdf-version @cindex *features* @@ -4810,7 +4813,7 @@ If you are experiencing problems or limitations of any sort with ASDF 1 or ASDF we recommend that you should upgrade to the latest release, be it ASDF 3 or other. -@node ASDF can portably name files in subdirectories, Output translations, How do I detect the ASDF version?, What has changed between ASDF 1 and ASDF 2? +@node ASDF can portably name files in subdirectories, Output translations, How do I detect the ASDF version?, What has changed between ASDF 1 ASDF 2 and ASDF 3? @subsection ASDF can portably name files in subdirectories Common Lisp namestrings are not portable, @@ -4841,7 +4844,7 @@ must now be written with the @code{#p} syntax: @xref{The defsystem grammar,,Pathname specifiers}. -@node Output translations, Source Registry Configuration, ASDF can portably name files in subdirectories, What has changed between ASDF 1 and ASDF 2? +@node Output translations, Source Registry Configuration, ASDF can portably name files in subdirectories, What has changed between ASDF 1 ASDF 2 and ASDF 3? @subsection Output translations A popular feature added to ASDF was output pathname translation: @@ -4863,7 +4866,7 @@ and support for non-Unix platforms. @xref{Controlling where ASDF saves compiled files}. -@node Source Registry Configuration, Usual operations are made easier to the user, Output translations, What has changed between ASDF 1 and ASDF 2? +@node Source Registry Configuration, Usual operations are made easier to the user, Output translations, What has changed between ASDF 1 ASDF 2 and ASDF 3? @subsection Source Registry Configuration Configuring ASDF used to require special magic @@ -4898,7 +4901,7 @@ and also allows for new magic, simpler and more powerful magic. @xref{Controlling where ASDF searches for systems}. -@node Usual operations are made easier to the user, Many bugs have been fixed, Source Registry Configuration, What has changed between ASDF 1 and ASDF 2? +@node Usual operations are made easier to the user, Many bugs have been fixed, Source Registry Configuration, What has changed between ASDF 1 ASDF 2 and ASDF 3? @subsection Usual operations are made easier to the user In ASDF 1, you had to use the awkward syntax @@ -4911,7 +4914,7 @@ In ASDF 2, you can use shortcuts for the usual operations: similarly for @code{compile-system}, @code{test-system}. -@node Many bugs have been fixed, ASDF itself is versioned, Usual operations are made easier to the user, What has changed between ASDF 1 and ASDF 2? +@node Many bugs have been fixed, ASDF itself is versioned, Usual operations are made easier to the user, What has changed between ASDF 1 ASDF 2 and ASDF 3? @subsection Many bugs have been fixed The following issues and many others have been fixed: @@ -4960,7 +4963,7 @@ The documentation was grossly out of date. @end itemize -@node ASDF itself is versioned, ASDF can be upgraded, Many bugs have been fixed, What has changed between ASDF 1 and ASDF 2? +@node ASDF itself is versioned, ASDF can be upgraded, Many bugs have been fixed, What has changed between ASDF 1 ASDF 2 and ASDF 3? @subsection ASDF itself is versioned Between new features, old bugs fixed, and new bugs introduced, @@ -4977,7 +4980,7 @@ Use @code{#+asdf2} to detect presence of ASDF 2, to check the availability of a version no earlier than required. -@node ASDF can be upgraded, Decoupled release cycle, ASDF itself is versioned, What has changed between ASDF 1 and ASDF 2? +@node ASDF can be upgraded, Decoupled release cycle, ASDF itself is versioned, What has changed between ASDF 1 ASDF 2 and ASDF 3? @subsection ASDF can be upgraded When an old version of ASDF was loaded, @@ -5002,7 +5005,7 @@ There are still limitations on upgrade, though, most notably the fact that after you upgrade ASDF, you must also reload or upgrade all ASDF extensions. -@node Decoupled release cycle, Pitfalls of the transition to ASDF 2, ASDF can be upgraded, What has changed between ASDF 1 and ASDF 2? +@node Decoupled release cycle, Pitfalls of the transition to ASDF 2, ASDF can be upgraded, What has changed between ASDF 1 ASDF 2 and ASDF 3? @subsection Decoupled release cycle When vendors were releasing their Lisp implementations with ASDF, @@ -5021,7 +5024,7 @@ the practical consequence of which will mean faster convergence towards the latest version for everyone. -@node Pitfalls of the transition to ASDF 2, , Decoupled release cycle, What has changed between ASDF 1 and ASDF 2? +@node Pitfalls of the transition to ASDF 2, What happened to the bundle operations, Decoupled release cycle, What has changed between ASDF 1 ASDF 2 and ASDF 3? @subsection Pitfalls of the transition to ASDF 2 The main pitfalls in upgrading to ASDF 2 seem to be related @@ -5116,8 +5119,44 @@ as detailed in a @pxref{FAQ,How do I create a system definition where all the so @end itemize +@node What happened to the bundle operations, , Pitfalls of the transition to ASDF 2, What has changed between ASDF 1 ASDF 2 and ASDF 3? +@subsection What happened to the bundle operations? + +@tindex fasl-op (obsolete) +@tindex load-fasl-op (obsolete) +@tindex binary-op (obsolete) +@tindex monolithic-fasl-op (obsolete) +@tindex monolithic-load-fasl-op (obsolete) +@tindex monolithic-binary-op (obsolete) +@tindex compile-bundle-op +@tindex load-bundle-op +@tindex deliver-asd-op +@tindex monolithic-compile-bundle-op +@tindex monolithic-load-bundle-op +@tindex monolithic-deliver-asd-op + +Some of the bundle operations were renamed after ASDF 3.1.3, and the old +names have been removed. Old bundle operations, and their modern +equivalents are: -@node Issues with installing the proper version of ASDF, Issues with configuring ASDF, What has changed between ASDF 1 and ASDF 2?, FAQ +@itemize +@item +@code{fasl-op} is now @code{compile-bundle-op} +@item +@code{load-fasl-op} is now @code{load-bundle-op} +@item +@code{binary-op} is now @code{deliver-asd-op} +@item +@code{monolithic-fasl-op} is now @code{monolithic-compile-bundle-op} +@item +@code{monolithic-load-fasl-op} is now @code{monolithic-load-bundle-op} +@item +@code{monolithic-binary-op} is now @code{monolithic-deliver-asd-op} +@end itemize + + + +@node Issues with installing the proper version of ASDF, Issues with configuring ASDF, What has changed between ASDF 1 ASDF 2 and ASDF 3?, FAQ @section Issues with installing the proper version of ASDF @menu diff --git a/doc/index.html b/doc/index.html index d0cb252f5803817c856abfbb70543bdab773aca4..b00580aab69a3396a97409f173f4c578346998a5 100644 --- a/doc/index.html +++ b/doc/index.html @@ -364,9 +364,9 @@ XCL (Peter Graves) <gnooth@gmail.com> allowed you to create a single-file bundle out of a system, for easier delivery. It is now a builtin part of <tt>asdf/defsystem</tt>, - and allows to deliver a single FASL for a system, - or (on supported implementations), a standalone executable program, - or an image containing part of your software precompiled. + and allows users to deliver a single FASL for a system, + a standalone executable program (on supported implementations), + or an image containing your system precompiled. </li> <li><tt>asdf-utils</tt> was a collection of utilities that originated with ASDF. It is now superseded by <tt>uiop</tt>, aka <tt>asdf/driver</tt>, @@ -396,20 +396,24 @@ XCL (Peter Graves) <gnooth@gmail.com> <a id="mailing-lists"></a> <h3>Mailing Lists</h3> <ul> - <li><b>asdf-devel</b><!-- <a href="http://lists.common-lisp.net/mailman/listinfo/asdf-devel">asdf-devel</a> -->: + <li><b>asdf-devel</b> A list for questions, suggestions, bug reports, patches, and so on. It's for everyone and everything. Please join the conversation! + <a + href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel">asdf-devel + mailman site to subscribe</a> </li> - <li><b>asdf-announce</b><!-- <a href="http://lists.common-lisp.net/mailman/listinfo/asdf-announce">asdf-announce</a> -->: + <li><b>asdf-announce</b> A low-volume mailing-list for announcements only, mostly regarding new releases. Posting is restricted to project administrators and to important notices. Please subscribe to it if you're a Lisp implementation or distribution vendor, who needs to know when to upgrade the ASDF you distribute, - but are otherwise not interested in day to day design and development. + but are otherwise not interested in day to day design and + development. + <a + href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/asdf-announce">asdf-announce + mailman site to subscribe</a> </li></ul> - <p>To subscribe to these mailing lists, send an email to, e.g., - asdf-devel+subscribe at common-lisp.net. For more information about - mailing lists at common-lisp.net, see <a href="http://common-lisp.net/listinfo.html">here</a>.</p> <h3>Contributing</h3> <p>Join our mailing list, check the code out from git, @@ -419,6 +423,10 @@ XCL (Peter Graves) <gnooth@gmail.com> <a id="news"></a> <h3>What is happening</h3> <dl> + <dt>August 2014</dt> + <dd>The ASDF mailing lists have been reestablished, in particular + asdf-announce, which should allow CL implementers better access to only + the information they want about ASDF development.</dd> <dt>May 2014 to July 2014</dt> <dd>ASDF bug fixing from 3.1.2 leads to release of 3.1.3, a major bug fix release. We strongly urge implementors that have shipped with 3.1.2 diff --git a/ext/alexandria b/ext/alexandria new file mode 160000 index 0000000000000000000000000000000000000000..b1c6ee03c41e0db97989ae38e70da4d8263e09d1 --- /dev/null +++ b/ext/alexandria @@ -0,0 +1 @@ +Subproject commit b1c6ee03c41e0db97989ae38e70da4d8263e09d1 diff --git a/ext/cl-ppcre b/ext/cl-ppcre new file mode 160000 index 0000000000000000000000000000000000000000..e6029ed103efe9656e948ef5eb3cb09aec87c58c --- /dev/null +++ b/ext/cl-ppcre @@ -0,0 +1 @@ +Subproject commit e6029ed103efe9656e948ef5eb3cb09aec87c58c diff --git a/ext/closer-closer-mop b/ext/closer-closer-mop new file mode 160000 index 0000000000000000000000000000000000000000..6bd277086ff95b0880f5f35aa074e1d35c21ab6f --- /dev/null +++ b/ext/closer-closer-mop @@ -0,0 +1 @@ +Subproject commit 6bd277086ff95b0880f5f35aa074e1d35c21ab6f diff --git a/ext/fare-mop b/ext/fare-mop new file mode 160000 index 0000000000000000000000000000000000000000..39b7ed607894c101ccf92cf95c307120ae18f004 --- /dev/null +++ b/ext/fare-mop @@ -0,0 +1 @@ +Subproject commit 39b7ed607894c101ccf92cf95c307120ae18f004 diff --git a/ext/fare-quasiquote b/ext/fare-quasiquote new file mode 160000 index 0000000000000000000000000000000000000000..8618c24924dec0a4d1008eaeca94f900644097af --- /dev/null +++ b/ext/fare-quasiquote @@ -0,0 +1 @@ +Subproject commit 8618c24924dec0a4d1008eaeca94f900644097af diff --git a/ext/fare-utils b/ext/fare-utils new file mode 160000 index 0000000000000000000000000000000000000000..f9c7f881e26bd1fe429c55d763964e87c3475294 --- /dev/null +++ b/ext/fare-utils @@ -0,0 +1 @@ +Subproject commit f9c7f881e26bd1fe429c55d763964e87c3475294 diff --git a/ext/inferior-shell b/ext/inferior-shell new file mode 160000 index 0000000000000000000000000000000000000000..d36a06eca4425853616e6ea53dd8b2a3cf477124 --- /dev/null +++ b/ext/inferior-shell @@ -0,0 +1 @@ +Subproject commit d36a06eca4425853616e6ea53dd8b2a3cf477124 diff --git a/ext/lisp-invocation b/ext/lisp-invocation new file mode 160000 index 0000000000000000000000000000000000000000..cae5fb1b51d44a718b1e93eb97f2eeb824ab6630 --- /dev/null +++ b/ext/lisp-invocation @@ -0,0 +1 @@ +Subproject commit cae5fb1b51d44a718b1e93eb97f2eeb824ab6630 diff --git a/ext/named-readtables b/ext/named-readtables new file mode 160000 index 0000000000000000000000000000000000000000..a52ddb9f9591dd58adc23f5fa83461376bf99982 --- /dev/null +++ b/ext/named-readtables @@ -0,0 +1 @@ +Subproject commit a52ddb9f9591dd58adc23f5fa83461376bf99982 diff --git a/ext/optima b/ext/optima new file mode 160000 index 0000000000000000000000000000000000000000..961211ad15b5ae3e207c7dde0b8cd40b2681f90f --- /dev/null +++ b/ext/optima @@ -0,0 +1 @@ +Subproject commit 961211ad15b5ae3e207c7dde0b8cd40b2681f90f diff --git a/header.lisp b/header.lisp index 5c2219699f3b4cfdda84cc82f12cfeedd14b0cde..8a4f8fea366bcc0b7210ca8b9ab1cc671579e55b 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.3: Another System Definition Facility. +;;; This is ASDF 3.1.3.5: Another System Definition Facility. ;;; ;;; Feedback, bug reports, and patches are all welcome: ;;; please mail to <asdf-devel@common-lisp.net>. diff --git a/interface.lisp b/interface.lisp index f637b3a818a84dbd47d1e36c44ac44c014d372d0..35db8c4ad3125e67badf7417045235fa92fc1cda 100644 --- a/interface.lisp +++ b/interface.lisp @@ -36,7 +36,6 @@ #:component-load-dependencies #:run-shell-command ; deprecated, do not use #:bundle-op #:monolithic-bundle-op #:precompiled-system #:compiled-file #:bundle-system #:program-system #:make-build - #:fasl-op #:load-fasl-op #:monolithic-fasl-op #:binary-op #:monolithic-binary-op #:basic-compile-bundle-op #:prepare-bundle-op #:compile-bundle-op #:load-bundle-op #:monolithic-compile-bundle-op #:monolithic-load-bundle-op #:lib-op #:dll-op #:deliver-asd-op #:program-op #:image-op diff --git a/operate.lisp b/operate.lisp index 370a4eebbdf6b11e344b2ba518d48a1db2998eea..e69e249ca6f1f36abc1b3abccc1dc55570794ecf 100644 --- a/operate.lisp +++ b/operate.lisp @@ -59,7 +59,7 @@ The :FORCE or :FORCE-NOT argument to OPERATE can be: (etypecase operation (operation (let ((name (type-of operation)) (initargs (operation-original-initargs operation))) - #'(lambda () (make-operation name :original-initargs initargs initargs)))) + #'(lambda () (apply 'make-operation name :original-initargs initargs initargs)))) ((or symbol string) (constantly operation)))) (component-path (typecase component ;; to remake the component after ASDF upgrade (component (component-find-path component)) diff --git a/test/make-hello-world.lisp b/test/make-hello-world.lisp index 11bef3ad5147ab7009f0b6ad93e5983066123d67..bcaa6e0308a3df845d5f686068bf022ea4ff1778 100644 --- a/test/make-hello-world.lisp +++ b/test/make-hello-world.lisp @@ -28,7 +28,7 @@ (defun make-hello-bundle (operation) - (operate 'load-fasl-op :hello-world-example) + (operate 'load-bundle-op :hello-world-example) (operate operation :hello-world-example) #+mkcl (add-mkcl-dll (asdf::output-file operation :hello-world-example))) diff --git a/test/test-operation-classes.script b/test/test-operation-classes.script index 90816d203dfef4f901d1b03732a211f5e0ff0d61..e780f327b3630037a81b820785c109dbaa73820a 100644 --- a/test/test-operation-classes.script +++ b/test/test-operation-classes.script @@ -17,20 +17,17 @@ concatenate-source-op deliver-asd-op dll-op - fasl-op image-op lib-op load-bundle-op load-compiled-concatenated-source-op load-concatenated-source-op - load-fasl-op load-op load-source-op monolithic-compile-concatenated-source-op monolithic-concatenate-source-op monolithic-deliver-asd-op monolithic-dll-op - monolithic-fasl-op monolithic-lib-op monolithic-load-compiled-concatenated-source-op monolithic-load-concatenated-source-op @@ -76,3 +73,6 @@ (trivial-operation "test-asdf/test-module-depend" "quux"))) (operate 'trivial-operation 'test-asdf/test-module-depend) +;;; this test intended to catch a bug in operate :around method in operate.lisp, +;;; thanks to Jan Moringen [2014/08/10:rpg] +(operate (make-instance 'trivial-operation) 'test-asdf/test-module-depend) diff --git a/tools/build.lisp b/tools/build.lisp index ec54a1f0b29c873dfde703fef9eb38a2d23e2bbb..fc06f9967f1b209cf29d0d96774eb104c09c2bf6 100644 --- a/tools/build.lisp +++ b/tools/build.lisp @@ -28,3 +28,10 @@ (terpri) (run `(pipe (wc header.lisp ,@driver-files ,@defsystem-files) (tail -n 1)))))) (values)) + + +;;; debug the source registry that is being used to execute these tools. +(defun list-source-registry () + "Display the source-registry cache" + (writeln (sort (alexandria:hash-table-alist asdf::*source-registry*) + 'string< :key 'car))) diff --git a/tools/load-asdf.lisp b/tools/load-asdf.lisp index 9125d95e707e37d211a008fdd73204da91dcc64d..a4e49179303e0e9e97ea559152f96d1979aec37b 100644 --- a/tools/load-asdf.lisp +++ b/tools/load-asdf.lisp @@ -106,7 +106,10 @@ (source-registry (or (asdf-call 'getenv "ASDF_DEVEL_SOURCE_REGISTRY") `(:source-registry - (:tree ,source-directory) + (:directory ,source-directory) + (:directory (,source-directory "uiop")) + (:directory (,source-directory "tools")) + (:tree (,source-directory "ext")) ;; In a fully controlled build, you'd :ignore-inherited-configuration instead: :inherit-configuration))) (output-directory diff --git a/uiop/filesystem.lisp b/uiop/filesystem.lisp index 0317c380631e23d6ca04f9db283499632c64efb6..dd016626a29632647ae720e62456eb16409d1dbd 100644 --- a/uiop/filesystem.lisp +++ b/uiop/filesystem.lisp @@ -267,10 +267,10 @@ permits this." on the directory if COLLECTP returns true when CALL-FUNCTION'ed with the directory, and recurse each of its subdirectories on which the RECURSEP returns true when CALL-FUNCTION'ed with them." (when (call-function collectp directory) - (call-function collector directory)) - (dolist (subdir (subdirectories directory)) - (when (call-function recursep subdir) - (collect-sub*directories subdir collectp recursep collector))))) + (call-function collector directory) + (dolist (subdir (subdirectories directory)) + (when (call-function recursep subdir) + (collect-sub*directories subdir collectp recursep collector)))))) ;;; Resolving symlinks somewhat (with-upgradability () diff --git a/uiop/image.lisp b/uiop/image.lisp index 6cbfd613816ef5d5a2e87a1dd623ec68e5ea1d0b..ff40573b3268a7cd04bd42fe09adcadcd0a9814c 100644 --- a/uiop/image.lisp +++ b/uiop/image.lisp @@ -227,7 +227,7 @@ depending on whether *LISP-INTERACTION* is set, enter debugger or die" #+abcl ext:*command-line-argument-list* ; Use 1.0.0 or later! #+allegro (sys:command-line-arguments) ; default: :application t #+clisp (coerce (ext:argv) 'list) - #+clozure (ccl::command-line-arguments) + #+clozure ccl:*command-line-argument-list* #+(or cmu scl) extensions:*command-line-strings* #+ecl (loop :for i :from 0 :below (si:argc) :collect (si:argv i)) #+gcl si:*command-args* diff --git a/uiop/os.lisp b/uiop/os.lisp index 522f4a388e3684ed2b8be4a45ae2713db45854b2..86ed3ba558b655b73b0f567d6deff79f4fb47ac7 100644 --- a/uiop/os.lisp +++ b/uiop/os.lisp @@ -262,7 +262,7 @@ suitable for use as a directory name to segregate Lisp FASLs, C dynamic librarie #+ecl (ext:getcwd) #+gcl (let ((*default-pathname-defaults* #p"")) (truename #p"")) #+genera *default-pathname-defaults* ;; on a Lisp OS, it *is* canonical! - #+lispworks (system:current-directory) + #+lispworks (hcl:get-working-directory) #+mkcl (mk-ext:getcwd) #+sbcl (sb-ext:parse-native-namestring (sb-unix:posix-getcwd/)) #+xcl (extensions:current-directory) diff --git a/uiop/stream.lisp b/uiop/stream.lisp index 7103dbdf800c33e88ad65c26939363ca80748db7..db7ae94e892f6b62b23fa5dea75dff9a8b268a4e 100644 --- a/uiop/stream.lisp +++ b/uiop/stream.lisp @@ -12,7 +12,7 @@ #:encoding-external-format #:*encoding-external-format-hook* #:default-encoding-external-format #:*default-encoding* #:*utf-8-external-format* #:with-safe-io-syntax #:call-with-safe-io-syntax #:safe-read-from-string - #:with-output #:output-string #:with-input + #:with-output #:output-string #:with-input #:input-string #:with-input-file #:call-with-input-file #:with-output-file #:call-with-output-file #:null-device-pathname #:call-with-null-input #:with-null-input #:call-with-null-output #:with-null-output @@ -263,8 +263,14 @@ Otherwise, signal an error." (defmacro with-input ((input-var &optional (value input-var)) &body body) "Bind INPUT-VAR to an input stream, coercing VALUE (default: previous binding of INPUT-VAR) as per CALL-WITH-INPUT, and evaluate BODY within the scope of this binding." - `(call-with-input ,value #'(lambda (,input-var) ,@body)))) - + `(call-with-input ,value #'(lambda (,input-var) ,@body))) + + (defun input-string (&optional input) + "If the desired INPUT is a string, return that string; otherwise slurp the INPUT into a string +and return that" + (if (stringp input) + input + (with-input (input) (funcall 'slurp-stream-string input))))) ;;; Null device (with-upgradability () diff --git a/uiop/utility.lisp b/uiop/utility.lisp index 74780f1e1033495707a84a980ba1a2a322a61ad3..e9dd0ca0f15ba2fd7a43fd8cd710fb7b5b310141 100644 --- a/uiop/utility.lisp +++ b/uiop/utility.lisp @@ -456,7 +456,7 @@ A symbol otherwise designates a class by name." (or (and found (or (eq super t) (#-cormanlisp subtypep #+cormanlisp cl::subclassp found super)) found) - (call-function error "Can't coerce ~S to a ~@[class~;subclass of ~:*~S]" class super))))) + (call-function error "Can't coerce ~S to a ~:[class~;subclass of ~:*~S~]" class super))))) ;;; Hash-tables diff --git a/upgrade.lisp b/upgrade.lisp index 16bcdddc0c6628fedd2ba46ce929ac48be65f7b5..82a077d9c956fb5152eef0f860c06b566baddeb5 100644 --- a/upgrade.lisp +++ b/upgrade.lisp @@ -67,7 +67,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.3") + (asdf-version "3.1.3.5") (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 c20549dc5c2a4cf84feba042232df55802797a90..22b558deb520b19d5db886838b42b27541510a40 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -1,2 +1,2 @@ -"3.1.3" +"3.1.3.5"