lisp - CMU Common Lisp programming environment
lisp [input-files] [switch-list]
lisp Starts up CMU Common Lisp. If switch-list is
empty, then Lisp will enter a read-eval-print loop using stdin, stdout and
stderr. The optional input-files provide operands for some switches.
These switches are defined:
- -help
- Prints out the command line options and exits.
- --help
- Same as -help.
- -core filename
- Specifies the suspended Lisp image (or `core file') to start up.
- -lib libpath
- A colon-separated list of directories to be used for the library:
search-list.
- -batch
- Causes Lisp to run in batch mode, where all input is directed from
standard-input. A unix return code of 0 is returned upon encountering an
EOF, while any unhandled error condition will cause an immediate exit with
a return code of 1, instead of entering the debugger.
- -quiet
- Causes Lisp to start up silently, disabling printing of the herald, and
causing most unnecessary noise, like GC messages, load messages, etc. to
be suppressed.
- -dynamic-space-size
- Requires an argument that should be the number of megabytes (1048576
bytes) that should be allocated to the heap. If not specified, a
platform-specific default is used. The actual maximum allowed heap size is
platform-specific.
- -read-only-space-size
- Requires an argument that should be the number of megabytes (1048576
bytes) that should be allocated to the read-only space. If not specified,
a platform-specific default is used.
- -static-space-size
- Requires an argument that should be the number of megabytes (1048576
bytes) that should be allocated to the static-space. If not specified, a
platform-specific default is used. The actual maximum allowed heap size is
platform-specific.
- -control-stack-size
- Requires an argument that should be the number of megabytes (1048576
bytes) that should be allocated for the control stack. If not specified, a
platform-specific default is used. The actual maximum allowed heap size is
platform-specific.
- -binding-stack-size
- Requires an argument that should be the number of megabytes (1048576
bytes) that should be allocated for the binding stack. If not specified, a
platform-specific default is used. The actual maximum allowed heap size is
platform-specific. -edit Causes Lisp to enter the Hemlock
editor. A file to edit may be specified by placing the name of the file
between the program name (usually `lisp') and the first switch.
- -eval
expression
- Evaluates the specified Lisp expression during the start up
sequence. The value of the form will not be printed unless it is wrapped
in a form that does output.
- -init filename
- Specifies the name of a file containing user customizations that is to be
loaded each time Lisp starts up (default ~/init or ~/.cmucl-init.) The
loader loads any existing compiled binary, or the ".lisp" source
if none.
- -hinit
filename
- Similar to -init, but specifies the name of the Hemlock init file
(default `~/hemlock-init' or ~/.hemlock-init), which is loaded only when
Hemlock is started.
- -noinit
- Suppresses loading of the init file, and also prevents -edit from loading
the Hemlock init file.
- -nositeinit
- Suppresses loading of the site-init site specific initialization
file.
- -load filename
- Loads the specified file into Lisp before entering Lisp's read-eval-print
loop.
- -slave
editor-name
- Specifies that Lisp should start up as a slave Lisp and try to
connect to an editor Lisp. The name of the editor to connect to must be
specified. To find the editor's name, use the Hemlock `Accept Slave
Connections' command. editor-name is of the form
`machine-name:socket', where machine-name is the internet host name
for the machine and socket is the decimal number of the socket to
connect to.
- -debug-lisp-search
- Enables printing of messages indicating how CMUCL is searching for its
core file. This is useful if CMUCL is not finding its core file for some
reason.
- --
- If this option is given, CMUCL's argument processing is stopped, and
anything after "--" is placed in
EXT:*COMMAND-LINE-APPLICATION-ARGUMENTS*. This allows the application to
its own processing of any special options.
- CMUCLLIB
- This variable points to the `lib/' directory holding `lisp.core' and other
files used by Lisp at run-time. This can be overridden by using the -lib
commandline option.
- CMUCLCORE
- This variable holds the path to the `lisp.core' that that should be used.
This can be overridden by using the -core commandline option.
- CMUCL_EMPTYFILE
- [SunOS only] If `df /tmp' shows `swap' as the filesystem for the `/tmp'
directory, then you have a "tmpfs" filesystem. In this case, you
must setenv CMUCL_EMPTYFILE to point into a pathname on a non-TMPFS
filesystem that can be used instead of `/tmp/empty'.
- XKEYSYMDB
- In order to use Motif (and the graphical debugger) with X servers from
non-OSF vendors (like Sun) you may need to set the environment variable
XKEYSYMDB to point to the file `lib/XKeysymDB'. Otherwise, you will get
many error messages every time a new connection is opened to the CMU CL
motifd. This file is read by the X11R5 Xt in order to augment the keysym
database with certain OSF vendor keysyms that Motif wants to use.
When no core file is specified (either by the CMUCLCORE
environment variable or by the -core option), CMUCL will search in various
places to find a possible core file.
When the environment variable CMUCLLIB is set or the -lib option
is given, the lisp core file is searched in the places specified therein.
This is a colon-separated list of directories, just like PATH. This list of
directories is searched in order for a file named `lisp.core'. The first one
found will be the core to be used.
When the CMUCLLIB is not set and -lib is not given, a set of
default paths is used to initialize the library: search-list, and this list
is also used to search for the core file. Let the lisp C executable be
located at `<bin>/lisp'. Then the following directories are searched
for the core file:
- `<bin>'
- `<bin>/../lib/cmucl/lib'
- `<bin>/../lib'
- `/usr/local/lib/cmucl/lib'
-
- /usr/share/doc/cmucl/*
- Various postscript and text documentation files.
- /usr/bin/lisp
- The lisp startup program. This directory should be in PATH.
- /usr/lib/cmucl/sample-wrapper
- An example shell script that setups up the environment and run lisp. This
is not normally needed unless you want some special configuration.
- /usr/lib/cmucl/lisp.core
- The suspended Lisp image. But for x86 machines the suspended core is named
lisp-x87.core or lisp-sse2.core, depending on whether the x87 or sse2 core
is used.
- /etc/common-lisp/cmucl/site-init.lisp,generic-site.lisp
- Site specific initialization (see README file.) The generic-site.lisp file
is a template that can be used to create site-init.lisp. (Note:
installation of CMUCL does not create or destroy any site-init.lisp
file.)
- /usr/lib/cmucl/lib/lisp.a
- An archive file of all of the C runtime code. This is needed when creating
and executable image.
- /usr/lib/cmucl/lib/linker.sh,linker-x86.sh
- Shell scripts to perform the necessary linking to create an executable
image.
- /usr/lib/cmucl/hemlock11.*,/usr/lib/cmucl/mh-scan,/usr/lib/cmucl/spell-dictionary.bin
- Hemlock files.
- /usr/lib/cmucl/lib/fonts/
- X11 fonts for Hemlock.
- /usr/lib/cmucl/lib/locale
- This directory contains template files for CMUCL messages. Translations of
the CMUCL messages are also stored here.
- /usr/lib/cmucl/lib/XKeysymDB
- Database of X Keysym names for Motif.
- /usr/lib/cmucl/lib/load-foreign.csh
- Script used by LOAD-FOREIGN to run "ld" on some platforms.
- /usr/lib/cmucl/lib/contrib
- This directory contains contrib modules, including asdf2 and
mk-defsystem.
- /usr/lib/cmucl/lib/ext-formats
- This directory contains lisp files that implement the various external
formats supported by CMUCL.
- /usr/lib/cmucl/lib/subsystems
- This directory contains the subsystems for CMUCL. The subsystems include
CLX, CLM, Gray streams, Hemlock, and Simple Streams.
- ~/init.lisp,~/.cmucl-init.lisp
- User customization files loaded at lisp startup; either name is
acceptable. Init files can be compiled.
- ~/hemlock-init.lisp,~/.hemlock-init.lisp
- Hemlock initialization file, loaded when Hemlock starts.
cmucl(1), README
The ``CMU Common Lisp User's Manual'',
the ``Hemlock User's Manual'', and
the ``Hemlock Command Implementor's Manual''
Consult http://www.cons.org/cmucl/support.html for support
information, including mechanisms for bug reporting. Please consult your
local CMU CL maintainer or Common Lisp expert if any to verify that a
problem really is a bug before reporting it.
Known problems with this version:
- --
- Detection of stack overflow is not very graceful. You get many "map
failure" errors on stderr.
- --
- If file descriptors are used up, then Lisp will die.
- --
- Several proposed ANSI Common Lisp (CLtL II) features are not implemented:
Any CLOS features not implemented by PCL, and features added since the
first ANSI draft.
- --
- The interpreter's pre-processing freezes in the macro definitions in
effect at the time an interpreted function is defined.