cl-script Release 0.1

Released version 0.1 of cl-script today. This version, compared to the version from a week ago adds rc (init) file handling and cleans up the logic a bit (I think there were some bugs, but at least the logic was not clear).

Now, for all Lisp implementations, no implementation specific init files are loaded. Instead all implementations load the same init file (controlled by the loader script cl-script.lisp which does most of the work of setting up a common environment and then loading the desired Lisp script).

Which init file is loaded can be controlled by the environment variable COMMON_LISP_RC, but has defaults:

  • If COMMON_LISP_RC is not set, or set to the empty string, first ~/.common-lisp-rc.lisp is tried, then, if it's not found, /etc/.common-lisp-rc.lisp.
  • If COMMON_LISP_RC is set to "-", no init file is loaded.
  • If COMMON_LISP_RC is set to a file name, this file is loaded as an init file, if it exists. If not, it's not loaded, but this isn't an error either.

In order to facilitate writing scripts that do not depend on whatever a user might have added to their init files, a command line switch --norc can be added to the cl-script invocation to suppress loading of the init file:

#!/usr/bin/env -S cl-script --norc

For platforms which do not implement the -S​/​--split-string options, cl-script can be called as cl-script-norc to achieve the same effect.

#!/usr/bin/env -S cl-script-norc