Loading doc/asdf.texinfo +52 −10 Original line number Diff line number Diff line Loading @@ -668,7 +668,7 @@ usually be saved as @file{hello-lisp.asd}: (defsystem "hello-lisp" :description "hello-lisp: a sample Lisp system." :version "0.2" :version "0.2.1" :author "Joe User <joe@@example.com>" :licence "Public Domain" :components ((:file "packages") Loading Loading @@ -724,6 +724,19 @@ It is possible, though almost never necessary, to override this behaviour.}. This is a good thing because the user can move the system sources without having to edit the system definition. @c FIXME: Should have cross-reference to "Version specifiers" in the @c defsystem grammar, but the cross-referencing is so broken by @c insufficient node breakdown that I have not put one in. @item Make sure you know how the @code{:version} numbers will be parsed! They are parsed as period-separated lists of integers. I.e., in the example, @code{0.2.1} is to be interpreted, roughly speaking, as @code{(0 2 1)}. In particular, version @code{0.2.1} is interpreted the same as @code{0.0002.1} and is strictly version-less-than version @code{0.20.1}, even though the two are the same when interpreted as decimal fractions. @cindex version specifiers @cindex :version @end itemize @node A more involved example, The defsystem grammar, The defsystem form, Defining systems with defsystem Loading @@ -735,7 +748,7 @@ slightly convoluted example: @lisp (defsystem "foo" :version "1.0" :version "1.0.0" :components ((:module "mod" :components ((:file "bar") (:file"baz") Loading Loading @@ -853,7 +866,6 @@ component-dep-fail-option := :fail | :try-next | :ignore @end example @subsection Component names Component names (@code{simple-component-name}) Loading Loading @@ -954,6 +966,22 @@ fulfills whatever constraints are required from that component type on the other hand, you can circumvent the file type that would otherwise be forced upon you if you were specifying a string. @subsection Version specifiers @cindex version specifiers @cindex :version Version specifiers are parsed as period-separated lists of integers. I.e., in the example, @code{0.2.1} is to be interpreted, roughly speaking, as @code{(0 2 1)}. In particular, version @code{0.2.1} is interpreted the same as @code{0.0002.1} and is strictly version-less-than version @code{0.20.1}, even though the two are the same when interpreted as decimal fractions. System definers are encouraged to use version identifiers of the form @var{x}.@var{y}.@var{z} for major version, minor version (compatible API) and patch level. @xref{Common attributes of components}. @subsection Warning about logical pathnames @cindex logical pathnames Loading Loading @@ -1392,17 +1420,23 @@ to a Unix-style syntax. @xref{The defsystem grammar,,Pathname specifiers}. @subsubsection Version identifier @findex version-satisfies @cindex :version This optional attribute is used by the @code{test-system-version} operation. @xref{Predefined operations of ASDF}. For the default method of @code{test-system-version}, This optional attribute is used by the generic function @code{version-satisfies}, which tests to see if @code{:version} dependencies are satisfied. the version should be a string of integers separated by dots, for example @samp{1.0.11}. For more information on the semantics of version specifiers, see @ref{The defsystem grammar}. @c This optional attribute is intended to be used by the @code{test-system-version} operation. @c @xref{Predefined operations of ASDF}. @c @emph{Nota Bene}: @c This operation, planned for ASDF 1, @c is still not implemented yet as of ASDF 2. @c Don't hold your breath. @emph{Nota Bene}: This operation, planned for ASDF 1, is still not implement yet as of ASDF 2. Don't hold your breath. @subsubsection Required features Loading Loading @@ -1509,6 +1543,14 @@ If you have the time for some CLISP hacking, I'm sure they'd welcome your fixes. @c Doesn't CLISP now support LIST method combination? See the discussion of the semantics of @code{:version} in the defsystem grammar. @c FIXME: Should have cross-reference to "Version specifiers" in the @c defsystem grammar, but the cross-referencing is so broken by @c insufficient node breakdown that I have not put one in. @subsubsection pathname This attribute is optional and if absent (which is the usual case), Loading Loading
doc/asdf.texinfo +52 −10 Original line number Diff line number Diff line Loading @@ -668,7 +668,7 @@ usually be saved as @file{hello-lisp.asd}: (defsystem "hello-lisp" :description "hello-lisp: a sample Lisp system." :version "0.2" :version "0.2.1" :author "Joe User <joe@@example.com>" :licence "Public Domain" :components ((:file "packages") Loading Loading @@ -724,6 +724,19 @@ It is possible, though almost never necessary, to override this behaviour.}. This is a good thing because the user can move the system sources without having to edit the system definition. @c FIXME: Should have cross-reference to "Version specifiers" in the @c defsystem grammar, but the cross-referencing is so broken by @c insufficient node breakdown that I have not put one in. @item Make sure you know how the @code{:version} numbers will be parsed! They are parsed as period-separated lists of integers. I.e., in the example, @code{0.2.1} is to be interpreted, roughly speaking, as @code{(0 2 1)}. In particular, version @code{0.2.1} is interpreted the same as @code{0.0002.1} and is strictly version-less-than version @code{0.20.1}, even though the two are the same when interpreted as decimal fractions. @cindex version specifiers @cindex :version @end itemize @node A more involved example, The defsystem grammar, The defsystem form, Defining systems with defsystem Loading @@ -735,7 +748,7 @@ slightly convoluted example: @lisp (defsystem "foo" :version "1.0" :version "1.0.0" :components ((:module "mod" :components ((:file "bar") (:file"baz") Loading Loading @@ -853,7 +866,6 @@ component-dep-fail-option := :fail | :try-next | :ignore @end example @subsection Component names Component names (@code{simple-component-name}) Loading Loading @@ -954,6 +966,22 @@ fulfills whatever constraints are required from that component type on the other hand, you can circumvent the file type that would otherwise be forced upon you if you were specifying a string. @subsection Version specifiers @cindex version specifiers @cindex :version Version specifiers are parsed as period-separated lists of integers. I.e., in the example, @code{0.2.1} is to be interpreted, roughly speaking, as @code{(0 2 1)}. In particular, version @code{0.2.1} is interpreted the same as @code{0.0002.1} and is strictly version-less-than version @code{0.20.1}, even though the two are the same when interpreted as decimal fractions. System definers are encouraged to use version identifiers of the form @var{x}.@var{y}.@var{z} for major version, minor version (compatible API) and patch level. @xref{Common attributes of components}. @subsection Warning about logical pathnames @cindex logical pathnames Loading Loading @@ -1392,17 +1420,23 @@ to a Unix-style syntax. @xref{The defsystem grammar,,Pathname specifiers}. @subsubsection Version identifier @findex version-satisfies @cindex :version This optional attribute is used by the @code{test-system-version} operation. @xref{Predefined operations of ASDF}. For the default method of @code{test-system-version}, This optional attribute is used by the generic function @code{version-satisfies}, which tests to see if @code{:version} dependencies are satisfied. the version should be a string of integers separated by dots, for example @samp{1.0.11}. For more information on the semantics of version specifiers, see @ref{The defsystem grammar}. @c This optional attribute is intended to be used by the @code{test-system-version} operation. @c @xref{Predefined operations of ASDF}. @c @emph{Nota Bene}: @c This operation, planned for ASDF 1, @c is still not implemented yet as of ASDF 2. @c Don't hold your breath. @emph{Nota Bene}: This operation, planned for ASDF 1, is still not implement yet as of ASDF 2. Don't hold your breath. @subsubsection Required features Loading Loading @@ -1509,6 +1543,14 @@ If you have the time for some CLISP hacking, I'm sure they'd welcome your fixes. @c Doesn't CLISP now support LIST method combination? See the discussion of the semantics of @code{:version} in the defsystem grammar. @c FIXME: Should have cross-reference to "Version specifiers" in the @c defsystem grammar, but the cross-referencing is so broken by @c insufficient node breakdown that I have not put one in. @subsubsection pathname This attribute is optional and if absent (which is the usual case), Loading