Hello,
I've just got a fresh CVS checkout und built a new sbcl core with mcclim, mcclim-freetype, mcclim-examples, clouseau, clim-listener, swank-loader, and the clim-debugger. Sadly, if I start sbcl with this core and call the clim-listener I get:
-- zipp --
$ sbcl --core new-sbcl-asdf-install-clim-listener-clouseau-slime-swank-clim-debugger.core This is SBCL 0.9.1.65, an implementation of ANSI Common Lisp. More information about SBCL is available at http://www.sbcl.org/.
SBCL is free software, provided as is, with absolutely no warranty. It is mostly in the public domain; some portions are provided under BSD-style licenses. See the CREDITS and COPYING files in the distribution for more information. * (clim-listener::run-listener)
debugger invoked on a TYPE-ERROR in thread 3085365376: The value #<MCCLIM-FREETYPE::FREETYPE-FACE {94F0DD1}> is not of type (OR XLIB:FONT XLIB:GCONTEXT).
Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name): 0: [ABORT ] Return to application command loop 1: [RETURN-TO-LISTENER] Return to listener. 2: Exit debugger, returning to top level.
(XLIB:TEXT-EXTENTS #<MCCLIM-FREETYPE::FREETYPE-FACE {94F0DD1}> "mgr") 0]
-- zapp --
Note that my SBCL is about two months old but that was no problem until recently (my last test was slightly more than one week ago).
Bye, Max
PS: If you want to know, I usually build new cores with this command:
sbcl --core /usr/local/lib/sbcl/sbcl.core_org --userinit ~/.sbclrc_core-dumping --eval '(progn (require :mcclim) (require :mcclim-freetype) (require :clim-examples) (require :clouseau) (require :clim-listener) (load #p"lispdir:slime;swank-loader") (load (merge-pathnames "Apps/Debugger/clim-debugger" (truename #p"lispdir:site;mcclim"))) (save-lisp-and-die "new-sbcl-asdf-install-clim-listener-clouseau-slime-swank-clim-debugger.core"))'
~/.sbclrc_core-dumping is the following; it sets up my ASDF:
-- zipp --
;;; -*- Mode: LISP -*- (setf (logical-pathname-translations "coding") '(("**;*.*.*" #P"/home/mgr/daten/coding/lisp/**/*.*"))) (setf (logical-pathname-translations "sbcldir") '(("**;*.*.*" #P"/usr/src/lisp/sbcl/**/*.*"))) (setf (logical-pathname-translations "lispdir") '(("**;*.*.*" #P"/usr/src/lisp/**/*.*")))
;; (setf (logical-pathname-translations "lispdir") ;; `(("lispdir:**;*.*.*" ;; ,(make-pathname :directory ;; '(:absolute "usr" "src" "lisp" :wild-inferiors) ;; :name :wild :type :wild :version :wild))))
(require 'asdf) (push #p"lispdir:systems;" asdf:*central-registry*) (push #p"sbcldir:systems;" asdf:*central-registry*) (push #p"coding:systems;" asdf:*central-registry*)
(require 'asdf-install) (setf ASDF-INSTALL:*LOCATIONS* '((#p"coding:site;" #p"coding:systems;" "coding ASDF directory") (#p"lispdir:site;" #p"lispdir:systems;" "shared ASDF directory") (#p"sbcldir:site;" #p"sbcldir:systems;" "SBCL ASDF directory")))
-- zapp --
Max-Gerd Retzlaff m.retzlaff@gmx.net writes:
sbcl --core /usr/local/lib/sbcl/sbcl.core_org --userinit ~/.sbclrc_core-dumping --eval '(progn (require :mcclim) (require :mcclim-freetype) (require :clim-examples) (require :clouseau) (require :clim-listener) (load #p"lispdir:slime;swank-loader") (load (merge-pathnames "Apps/Debugger/clim-debugger" (truename #p"lispdir:site;mcclim"))) (save-lisp-and-die "new-sbcl-asdf-install-clim-listener-clouseau-slime-swank-clim-debugger.core"))'
Can you try making (require :mcclim-freetype) the last thing you do before SAVE-LISP-AND-DIE? At the moment, mcclim-freetype has to redefine various methods in the CLX backend -- and it's possible that the way you're loading it is causing those methods to be redefined back. Certainly your error message is from running the wrong :before method on SETF MEDIUM-TEXT-STYLE, I believe -- compare the version from Backends/CLX/medium.lisp and Experimental/freetype/freetype-fonts.lisp. (Fixing this false dichotomy is high on the list of priorities...)
(I have to say also that I can't reproduce what you're seeing on my system)
Cheers,
Christophe
Hello
On Tue, Aug 30, 2005 at 09:22:01AM +0100, Christophe Rhodes wrote:
Max-Gerd Retzlaff m.retzlaff@gmx.net writes:
sbcl --core /usr/local/lib/sbcl/sbcl.core_org --userinit ~/.sbclrc_core-dumping --eval '(progn (require :mcclim) (require :mcclim-freetype) (require :clim-examples) (require :clouseau) (require :clim-listener) (load #p"lispdir:slime;swank-loader") (load (merge-pathnames "Apps/Debugger/clim-debugger" (truename #p"lispdir:site;mcclim"))) (save-lisp-and-die "new-sbcl-asdf-install-clim-listener-clouseau-slime-swank-clim-debugger.core"))'
Can you try making (require :mcclim-freetype) the last thing you do before SAVE-LISP-AND-DIE? At the moment, mcclim-freetype has to redefine various methods in the CLX backend -- and it's possible that the way you're loading it is causing those methods to be redefined back.
Arr, sorry, my fault. I've had a symlink in my asdf:*central-registry* that pointed to the mcclim-freetype.asd of an older mcclim checkout... Sorry for bothering you.
Bye, Max