[mcclim-devel] small Allegro issues

Willem Broekema metawilm at gmail.com
Sat Oct 28 23:52:56 UTC 2006


Hi,

There are some issues with current CVS version that make it not work
with Allegro 8 (Ansi mode) yet:

 - (load "..") inside (eval-when (compile load eval) ..) fails, if
current directory is not the McClim root directory (as is usually
happens if McClim is loaded using asdf). This can be fixed by binding
*default-pathname-defaults* as in the patch below, althogh I'm not
sure this is the right solution.

- In port.lisp there is (in a #+allegro piece) reference to
*x-tcp-port* where probably xlib::*x-tcp-port* is meant (which has
value 6000).

With these changes McClim compiles (Allegro 8, Ansi Mode, Mac OS X).
As I have yet to configure X11 on this Mac, I can't check whether the
demos work.

- Willem


- - - fix loading of files in eval-when - - -

banaan:~/dev/mcclim willem$ cvs diff -c *.lisp
Index: commands.lisp
===================================================================
RCS file: /project/mcclim/cvsroot/mcclim/commands.lisp,v
retrieving revision 1.64
diff -c -r1.64 commands.lisp
*** commands.lisp	17 Sep 2006 20:34:39 -0000	1.64
--- commands.lisp	28 Oct 2006 22:46:30 -0000
***************
*** 21,26 ****
--- 21,36 ----

  (in-package :clim-internals)

+ (eval-when (compile load eval)
+   #+allegro
+   (let ((*default-pathname-defaults* (or *compile-file-truename*
*load-truename*)))
+     (load "presentations")
+     (load "presentation-defs"))
+   #-allegro
+   (progn
+     (load "presentations")
+     (load "presentation-defs")))
+
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;;;
  ;;; Command tables
Index: package.lisp
===================================================================
RCS file: /project/mcclim/cvsroot/mcclim/package.lisp,v
retrieving revision 1.55
diff -c -r1.55 package.lisp
*** package.lisp	29 Jun 2006 08:16:02 -0000	1.55
--- package.lisp	28 Oct 2006 22:46:32 -0000
***************
*** 2,7 ****
--- 2,14 ----

  (in-package :common-lisp-user)

+ (eval-when (compile load eval)
+   #+allegro
+   (let ((*default-pathname-defaults* (or *compile-file-truename*
*load-truename*)))
+     (load "patch"))
+   #-allegro
+   (load "patch"))
+
  ;;;
  ;;; CLIM-LISP
  ;;;



- - - fix socket port number - - -

banaan:~/dev/mcclim/Backends/CLX willem$ cvs diff -c
cvs diff: Diffing .
Index: port.lisp
===================================================================
RCS file: /project/mcclim/cvsroot/mcclim/Backends/CLX/port.lisp,v
retrieving revision 1.122
diff -c -r1.122 port.lisp
*** port.lisp	23 Mar 2006 08:45:26 -0000	1.122
--- port.lisp	28 Oct 2006 23:02:36 -0000
***************
*** 1428,1434 ****
  		     :remote-filename (format nil "/tmp/.X11-unix/X~D" display)
  		     :format :binary)
  		    (socket:make-socket :remote-host (string host)
! 					:remote-port (+ *x-tcp-port* display)
  					:format :binary))))
      (if (streamp stream)
  	stream
--- 1428,1434 ----
  		     :remote-filename (format nil "/tmp/.X11-unix/X~D" display)
  		     :format :binary)
  		    (socket:make-socket :remote-host (string host)
! 					:remote-port (+ xlib::*x-tcp-port* display)
  					:format :binary))))
      (if (streamp stream)
  	stream



More information about the mcclim-devel mailing list