[mcclim-cvs] CVS mcclim
thenriksen
thenriksen at common-lisp.net
Fri Dec 21 12:31:56 UTC 2007
Update of /project/mcclim/cvsroot/mcclim
In directory clnet:/tmp/cvs-serv32321
Modified Files:
mcclim.asd
Log Message:
Added nasty hack to inform CLISP users of their sub-par CLX, and offer a fix.
--- /project/mcclim/cvsroot/mcclim/mcclim.asd 2007/12/20 08:07:16 1.65
+++ /project/mcclim/cvsroot/mcclim/mcclim.asd 2007/12/21 12:31:56 1.66
@@ -383,6 +383,19 @@
(:file "medium" :depends-on ("port" "keysyms" "package"))
(:file "graft" :depends-on ("port" "package"))
(:file "frame-manager" :depends-on ("medium" "port" "package"))))))
+#+clisp
+(defmethod asdf::traverse :around ((op compile-op) (c (eql (find-system :clim-clx))))
+ ;; Just some random symbol I know is unexported in CLISP's CLX.
+ (if (eq (nth-value 1 (find-symbol "SET-SELECTION-OWNER" :xlib))
+ :external)
+ (call-next-method)
+ (restart-case (error "Your CLX is not capable of running the McCLIM CLX backend")
+ (load-clx-via-asdf ()
+ :report "Try replacing your CLX with a CLX loaded through ASDF, hopefully this will be Telent CLX."
+ (ext:without-package-lock ("XLIB")
+ (delete-package :xlib)
+ (asdf:oos 'asdf:load-op :clx))
+ (call-next-method)))))
(defsystem :clim-beagle
:depends-on (clim)
More information about the Mcclim-cvs
mailing list