ChangeLog

0.13.1 (2024-04-29)

0.13.0 (2021-09-04)

0.12.1 (2021-08-24)

Thanks to Alessio Stalla!

0.12.0 (2021-06-05)

0.11.0 (2021-05-08)

Backward incompatible change!

Now the name of a function given to the defmain:defmain macro, should be a list, because it can carry optional keyword arguments, such as PROGRAM-NAME argument.

Other changes

0.10.0 (2021-04-25)

0.9.1 (2021-01-27)

0.9.0 (2018-12-07)

Previously, only roswell was supported, but now you can define your system as:


(defsystem work-hours
  :class :package-inferred-system
  :build-operation "program-op"
  :build-pathname "work-hours"
  :entry-point "work-hours/main:main"
  :depends-on ("work-hours/main"))

And then call in the command line something like:

qlot exec ros run -L sbcl -e '(asdf:make :work-hours)'

0.8.0 (2018-10-15)

0.7.2 (2018-07-14)

0.7.1 (2018-06-15)

Error Undeclared free variable DEFMAIN/DEFMAIN:HELP-COMMANDS was fixed for cases where there is no defmain:defcommand calls beside defmain:defmain.

0.7.0 (2018-06-13)

Defmain macro now restores temporary pathnames inside of cl-fad and uiop packages by setting logical-pathname-translations for "TEMPORARY-FILES" and by calling (uiop:setup-temporary-directory).

This solves issues in programs which use (uiop:run-program ...) or (cl-fad:with-output-to-temporary-file ...) for example.

0.6.1 (2018-06-08)

0.6.0 (2018-06-07)

0.5.0 (2018-06-02)

0.4.0 (2018-05-18)

Previously, programs just started debugger and if built with CCL it was impossible to interrupt it. * Now it is possible to overwrite a short name of a parameter. For example:

lisp (defmain main ((verbose "Show more informaition" :flag t) ;; by default -v will be used (version "Show version" :flag t :short "V")) ...)

Also, you can pass NIL as a value to disable short name:

lisp (defmain main ((verbose "Show more informaition" :flag t) ;; by default -v will be used (version "Show version" :flag t :short "V")) ...)

0.3.0 (2018-05-12)

0.2.0 (2018-02-09)

0.1.0