Common Lisp X11 interface
Switch branches/tags
release10.1_t6 release10.1_t5 release10.1_t4 release10.1_t3 release10.1_t2 release10.1_t1 release10.1_release_point release10.1_rc5 release10.1_rc4 release10.1_rc3 release10.1_rc2 release10.1_rc1 release10.1_beta3_release_point release10.1.beta2_release_point release10.1.beta_t6 release10.1.beta_t5 release10.1.beta_t4 release10.1.beta_t3 release10.1.beta_t2 release10.1.beta_t1 release10.1.beta_release_point release10.1.beta_rc4 release10.1.beta_rc3 release10.1.beta_rc2 release10.1.beta_rc1 release10.0_t3 release10.0_t2 release10.0_t1 release10.0_rc9 release10.0_rc8 release10.0_rc7 release10.0_rc6 release10.0_rc5 release10.0_rc4 release10.0_rc3 release10.0_rc2 release10.0_rc1 release10.0.pre-final.30_release_point release10.0.pre-final.17_release_point release10.0.beta_t13 release10.0.beta_t12 release10.0.beta_t11 release10.0.beta_t10 release10.0.beta_t9 release10.0.beta_t8 release10.0.beta_t7 release10.0.beta_t6 release10.0.beta_t5 release10.0.beta_t4 release10.0.beta_t3 release10.0.beta_t2 release10.0.beta_t1 release10.0.beta_release_point release10.0.beta_rc2 release10.0.beta_rc1 release_aclt2 release_acl100b14t8 release_acl100b11t7 release_acl100b10t6 release_acl100b8t5 release_acl100b7t4 release_acl100b6t3 release_acl100b4t2 release_acl100b2t1 release_acl90b21rc5 release_acl90b20_release_point release_acl90b20rc4 release_acl90b19rc3 release_acl90b18rc2 release_acl90b15_release_point release_acl90b15rc1 release_acl90b13t1 release_acl90b11t1 release_acl90b9t1 release_acl90b8t1 release_acl90b6_release_point release_acl90b6rc2 release_acl90b_release_point release_acl90a52rc1 release_acl90a44rc2 release_acl90a43rc1 release_acl90a39 release_acl90a39rc2 release_acl90a32 release_acl90a27 release_acl90a25 release_acl90a24 release_acl90a23 release_acl90a20 release_acl90a18 documentation_for_acl90_201200717 documentation_for_acl90_20120614 documentation_for_acl90b_20120323 documentation_for_acl90b_20120313 documentation_for_acl90b_20120214 documentation_for_acl10.1_20170309 documentation_for_acl10.1b_20160928 documentation_for_acl10.0_20150813 documentation_for_acl10b_20150506 acl100express_Dec2015update1202_rc1
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


     This file contains instructions on how to make CLX work with Franz
Allegro Common Lisp.  CLX should work on any machine that supports
ACL version 3.1.10 or greater.  For running on Windows NT with X display
software such as Hummingbird's Exceed or StarNet's XWin32, skip to the

 NOTE:  Normally you will not need to follow the instructions in this file.
	We supply a pre-built copy of CLX with your Allegro CL tape.  You
	should only need to rebuild CLX if you make changes to the source,
	or load patches that change the behaviour of the Allegro compiler.
	(If we send you any such patches, we will let you know so that you
	can recompile your application).

 NOTE:  We now include the TI CLX documentation -- see the doc/ directory.

 NOTE:  This distribution is not exactly the same as the one provided by MIT.
	Specifically, this distribution will *ONLY* work with Allegro versions
	greater than 3.1.10 (includes most released versions of 3.1, 4.0, and
	4.1).  If you need CLX for an older version of Allegro, please use
	the one available from the X Consortium at MIT.

     There are two steps to compile and install CLX.  The first is compiling
the source files into fasl files.  The fasl files will be combined into one
big fasl file, CLX.fasl.  This file is then installed in your Common Lisp
library directory in the next step.  You may need to edit the Makefile to
select the proper CFLAGS for your machine -- look in Makefile for examples.
Then just:

% make

     Now you must move the CLX.fasl file into the standard CL library.
This is normally "/usr/local/lib/cl/code", but you can find out for sure
by typing:

<cl> (directory-namestring excl::*library-code-pathname*)

to a running Lisp.  If it prints something other than "/usr/local/lib/cl/code"
substitute what it prints in the below instructions.

% mv CLX.fasl /usr/local/lib/cl/code/clx.fasl
% mv *.o /usr/local/lib/cl/code

Now you can just start up Lisp and type:

<cl> (load "clx")

to load in CLX.  You may want to dump a lisp at this point since CLX is a large
package and can take some time to load into Lisp.  You probably also want to
set the :generation-spread to 1 while loading CLX.  Please see your Allegro CL
User Guide for more information on :generation-spread.

     Sophisticated users may wish to peruse the Makefile and
and note how things are set up.  For example we hardwire the compiler
interrupt check switch on, so that CL can still be interrupted while it
is reading from the X11 socket.  Please see chapter 7 of the CL User's
guide for more information on compiler switches and their effects.

Please report Franz specific CLX bugs to:


Building and running on Windows NT

(1) With ACL 4.3.2 or later, :cd to the directory containing the clx

(2) :ld - this should create winclx.fasl in that
directory.  Feel free to move winclx.fasl to a convenient location.

(3) In a fresh lisp, :ld winclx.fasl.  You should now be able to
open your display, assuming your X display software is running and
tcp/ip is installed, with: (xlib:open-display "localhost")