8.3 Version Numbering

As Clon evolves over time, you might one day feel the need for conditionalizing your code on the version of the library. While the end-user of your application has limited means to access the current version number of Clon (see Clonification in The Clon End-User Manual and the built-in option --clon-version), you, the application programmer and Clon user, have a finer grained access to it.

The first thing you can do to access the current version number of Clon is use the version function (this is in fact the function bound to the --clon-version option).

Function: version &optional (TYPE :number)

Return the current version number of Clon. TYPE can be one of :number, :short or :long. For :number, the returned value is a fixnum. Otherwise, it is a string.

A Clon version is characterized by 4 elements as described below.

In addition to that, each version of Clon (in the sense major.minor, regardless of the status) has a name, stored in the parameter *release-name*. The general naming theme for Clon is “Great Jazz Musicians”. Anyone daring to mention Kenny G at that point will be shot on sight.

Here is how the version function computes its value.

Incidentally, but you will probably never need to use it, Clon also exports a variable named *copyright-years*, which, as its name suggests, is a string denoting the copyright years for the whole project.