This chapter gets you started. Most likely if you are reading this document VLS is already installed and you do not need to read the section on Installing VLS. The Lisp Modes section is only important if you are using a non-lisp-mode Lisp such as Scheme.
The Sample Lisp Shell Command section, See section Sample Lisp Shell Command,
will show you how to use the sample VLS Lisp shell command vlsc.
You might actually want to use this sample Lisp shell command as your
permanent command. Other varieties of Lisp shell commands are also
possible with VLS, See section Creating VLS Shell Commands.
To make VLS unpack it in some directory with
tar -zxvf tar-file
where tar-file is the VLS tar file with the tgz file
extension. This will create a vls sub-directory there. Change
to the vls sub-directory and type either
./configure
or
./configure --prefix=PATH
By default the first will prepare to install VLS under the default
directory /usr/local. The second will prepare to install VLS
under a directory PATH that you provide.
Then type
make
To install the made VLS system depending on the operating system and installation PATH you may need to log in as a super user. Then type
make install
The key files that get installed are
PATH/share/emacs/site-lisp/vls.el PATH/share/emacs/site-lisp/vls.elc PATH/lib/vls/types PATH/lib/vls/extra PATH/info/vls.info PATH/doc/vls/vls.html
where PATH is the installation directory.
To get started you should read the VLS user document. A quick start can
be tried by just reading the Getting Started chapter. The
vls.html file can be read in a web browser. So for example if
the above PATH was /usr/local you can use the URL
file:/usr/local/doc/vls/vls.html
Or if you want to read the VLS user document in Emacs with the
info command, while in Emacs type
C-u C-h i /usr/local/info/vls
You can also get a PostScript copy of the VLS document by changing to
the directory where you typed ./configure and then change to the
sub-directory doc and type
make ps
which will create a PostScript version of the VLS user document called
vls.ps
If your Lisp files use lisp-mode then you do not need to
read this section. If while visiting one of your Lisp code files you
look at the variable major-mode (C-h v major-mode) and it reports
its value as lisp-mode then your are using lisp-mode.
However if your Lisps uses a Lisp mode other than lisp-mode, for
example Scheme uses scheme-mode, then it is important to VLS that
this be known before VLS is loaded. This is so that VLS can set its
default key bindings into the user's preferred mode. To make this
happen easily VLS provides a variable vls-modes that is a list of
the viable lisp mode that VLS should use. But default it is simply the
list
(lisp-mode)
If you intend to use other than the lisp-mode with VLS then you
need to set vls-modes before you load VLS. For example if
you intended to use Scheme and Common Lisp your need to set in your
~/.emacs file
(setq vls-modes '(lisp-mode scheme-mode))
and then load and run VLS.
VLS provides a sample Lisp shell command called vlsc. We call it
a "sample" since there are many possible kinds of lisp shell commands
possible. But the vlsc Lisp shell command described in this
section may be good enough for your permanent Lisp shell command. For a
new VLS user it is highly recommended that you start off with
vlsc and consider more interesting things later, See section Creating VLS Shell Commands.
To understand what to substitute for the variables $LISPDIR and
$VLSLIBDIR used in this section see the section on Notation
Conventions, See section Notation Conventions. You will want to put the
following in your ~/.emacs file
; Autoload vlsc command. (autoload 'vlsc "$LISPDIR/vls") ; Make C-z a prefix key. Note that suspend-emacs is also on C-xC-z. (if (not (keymapp (key-binding "\C-z"))) (global-unset-key "\C-z")) ; Bind vlsc command to keys. (global-set-key "\C-z\C-l" 'vlsc)
The autoload will allow VLS to be loaded when you invoke the
vlsc command and the global-set-key will bind the
vlsc command to the keys C-zC-l If you want to bind it to
something else change the \C-zs and \C-z\C-l to something
else.
The vlsc command picks a specific Lisp shell to run from a list
of shell specs. These shell specs are in a variable vlsc-shells
that the user must set. Each of these shell specs in turn is a list of
three items: a Lisp shell id, a Lisp executable and a Lisp types
specifics file. For example if addition to the above you put in your
~/.emacs
; Set my list of shells for vlsc command.
(setq vlsc-shells
'((allegro "lisp" "$VLSLIBDIR/types/allegro.el")
(allegro-1 "lisp" "$VLSLIBDIR/types/allegro.el")
(cmucl "cmucl" "$VLSLIBDIR/types/cmucl.el")))
the first entry says create a shell called allegro with a buffer
called "*allegro*" that then runs the executable lisp and sets up
that particular shell based on the contents of the Lisp types file
types/allegro.el. And the same for allegro-1 and
cmucl. If you want to run more or different Lisps edit the above
with differently named shell ids, Lisp executables and their associated
Lisp type file. If you look in the $VLSLIBDIR/types directory
you should find one compatible with your Lisp. If not you will have to
create your own Lisp type file, See section Type Specifics Files.
Then when you rerun Emacs you should be able to type the keys you bound
to vlsc and it should invoke the first shell you gave in
vlsc-shells. Typing that subsequently will return to that
established shell buffer. A numeric prefix argument N given to the
vlsc command will invoke the Nth shell. A C-u prefix
argument will list the Lisp shells invoked by prefix argument N where N
= 0 is the same as no prefix argument.
Go to the first, previous, next, last section, table of contents.