On Mon, Dec 27, 2010 at 08:59:40AM -0600, James Ashley wrote:
On Mon, Dec 27, 2010 at 5:44 AM, rm@tuxteam.de wrote:
On Mon, Dec 27, 2010 at 11:36:24AM +0100, Frank G?nninger wrote:
Hi all: Using Quicklisp I loaded the required packages:
Why do you perform such a selective load? So far I had better luck just doing a:
(ql:quickload "mcclim")
;;; OK, so far. Now let's define CLX as the backend...
? (setq clim:*default-server-path* '(:clx))
(:CLX)
Without (ql:quickload "clim-clx") this won't work. CLX by itself only provides the API to communicate with a X server, the X backend is defined inclim-cxl.
So is this a bug in the ASD (not specifying some required package), a limitation of ASDF (can't specify that package x depends on variable y), or just a matter of understanding the tools (load the package you want, don't mess around with the dependencies)?
I'd say it's a missunderstanding: CLIM is an abstract user interface API that can (and does) run on different backends (X/Gtk/Genera/Windows/MAc Toolbox ...). Clim for shure does need _one_ backend loaded to be operable, but how to express this in ASDF? Maybe (find-port ...) should throw an error for an unloaded backend?
Looking at mcclim's code for find-port, blindly funcalling the return value of (get (first server-path) :server-path-parser) looks like an error to me.
Where's the best place to document this so it doesn't bite someone else in the future?
(cliki seems like the most obvious to me, but what do I know?)
McClim's Wiki?
Cheers, RalfD
Respectfully, James
HTH Ralf Mattes
;;; Following the McCLIM's Chapter 3 "The First Application" I ;;; tried the sample app:
? (app::app-main)
Error: NIL is not of type (OR SYMBOL FUNCTION), and can't be FUNCALLed or APPLYed While executing: CLIM:FIND-PORT, in process Listener(6). Type cmd-. to abort, cmd-\ for a list of available restarts. Type :? for other options.
;;; Hmpf ?!? Ok, CLX seems to be the problem. Backtrace shows:
1 > :b *(161D78B8) : 0 (FIND-PORT :SERVER-PATH (:CLX)) 265 (161D7930) : 1 (FIND-FRAME-MANAGER) 509 (161D7968) : 2 (FUNCALL #'#<#<STANDARD-METHOD CLIM:RUN-FRAME-TOP-LEVEL :AROUND (CLIM:APPLICATION-FRAME)>> #<APP::SUPERAPP #x302003283C0D>) 405 (161D7A40) : 3 (%%STANDARD-COMBINED-METHOD-DCODE (#<STANDARD-METHOD CLIM:RUN-FRAME-TOP-LEVEL :AROUND #> #<STANDARD-METHOD CLIM:RUN-FRAME-TOP-LEVEL #>) 46378838) 693 (161D7AC0) : 4 (CALL-CHECK-REGS APP:APP-MAIN) 221
(161D7AF8) : 5 (TOPLEVEL-EVAL (APP:APP-MAIN) NIL) 701 (161D7B98) : 6 (READ-LOOP :INPUT-STREAM #<SYNONYM-STREAM to *TERMINAL-IO* #x302000B013BD> :OUTPUT-STREAM #<SYNONYM-STREAM to *TERMINAL-IO* #x302000B0125D> :BREAK-LEVEL 0 :PROMPT-FUNCTION #<Compiled-function (:INTERNAL CCL::READ-LOOP) (Non-Global) #x30000058146F>) 2269 (161D7DF0) : 7 (TOPLEVEL-LOOP) 101 (161D7E18) : 8 (FUNCALL #'#<(:INTERNAL CCL::MAKE-MCL-LISTENER-PROCESS)>) 741 (161D7EB8) : 9 (RUN-PROCESS-INITIAL-FORM #<COCOA-LISTENER-PROCESS Listener(6) [Active] #x302000B63D7D> (#<COMPILED-LEXICAL-CLOSURE # #x302000B6372F>)) 677 (161D7F48) : 10 (FUNCALL #'#<(:INTERNAL (CCL::%PROCESS-PRESET-INTERNAL (PROCESS)))> #<COCOA-LISTENER-PROCESS Listener(6) [Active] #x302000B63D7D> (#<COMPILED-LEXICAL-CLOSURE # #x302000B6372F>)) 389 (161D7F98) : 11 (FUNCALL #'#<(:INTERNAL CCL::THREAD-MAKE-STARTUP-FUNCTION)>) 301 1 >
I'd have to dig deeper but maybe there's someone on here you already can point in the right direction ?!?
THX!
Best, Frank
mcclim-devel mailing list mcclim-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/mcclim-devel
mcclim-devel mailing list mcclim-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/mcclim-devel
mcclim-devel mailing list mcclim-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/mcclim-devel