From mbaringer at common-lisp.net Tue Oct 2 04:30:39 2007 From: mbaringer at common-lisp.net (Marco Baringer) Date: Tue, 2 Oct 2007 00:30:39 -0400 (EDT) Subject: [Bese-devel] New patches to ucw_ajax: 1-Oct-2007 Message-ID: <20071002043039.99E0A59097@common-lisp.net> Mon Oct 1 08:41:58 EDT 2007 attila.lendvai at gmail.com * added effective-window-stylesheets which is an nconc method that lets users customize the stylesheet list dynamically M ./src/components/window.lisp -1 +9 M ./src/packages.lisp +1 Mon Oct 1 08:41:09 EDT 2007 attila.lendvai at gmail.com * component-body-mixin tolerates nil body in which case it just doesn't render anything. M ./src/components/container.lisp -1 +2 Fri Sep 28 12:26:59 EDT 2007 attila.lendvai at gmail.com * Added support for extracting X-Forwarded-For header in a proxy setup to see the real remote address. M ./src/backend/basic-backend.lisp +21 M ./src/helpers.lisp +21 An updated tarball of ucw_ajax's source can be downloaded here: http://common-lisp.net/project/ucw/tarballs/ucw_ajax-20071001.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_ajax;a=summary From marianomontone at gmail.com Tue Oct 2 18:32:06 2007 From: marianomontone at gmail.com (Mariano Montone) Date: Tue, 2 Oct 2007 15:32:06 -0300 Subject: [Bese-devel] Convenient control flow Message-ID: <2677cc980710021132p23d8c432yada305248cac1b34@mail.gmail.com> Is there any way of intercepting a child answer and act upon that, other than embedding a task? I have experience with Seaside (the smalltalk framework) and they provide an onAnswer: method that I was able to invoke from the parent component (no need to embed any task). Hope the question is clear. I'll provide an example if it is not. Thanks, Mariano -------------- next part -------------- An HTML attachment was scrubbed... URL: From drewc at tech.coop Tue Oct 2 19:08:30 2007 From: drewc at tech.coop (Drew Crampsie) Date: Tue, 02 Oct 2007 12:08:30 -0700 Subject: [Bese-devel] Convenient control flow In-Reply-To: <2677cc980710021132p23d8c432yada305248cac1b34@mail.gmail.com> References: <2677cc980710021132p23d8c432yada305248cac1b34@mail.gmail.com> Message-ID: <4702972E.4020006@tech.coop> Mariano Montone wrote: > Is there any way of intercepting a child answer and act upon that, other > than embedding a task? > I have experience with Seaside (the smalltalk framework) and they provide an > onAnswer: method that I was able to invoke from the parent component (no > need to embed any task). Usually, I would do this intercept in the action itself, rather than specializing a method, something like (let ((answer (call 'foo))) (some-action-or-method self answer)) You could also specialize the answer-component* method, and you may be able to achieve what you want, but you're in nose-dragon area there. > > Hope the question is clear. I'll provide an example if it is not. If you can example of what it is you need to do (rather than how you are trying to do it), i'll try to tell you how we'd do that in UCW :). Cheers, drewc > > Thanks, Mariano > > > > ------------------------------------------------------------------------ > > _______________________________________________ > bese-devel mailing list > bese-devel at common-lisp.net > http://common-lisp.net/cgi-bin/mailman/listinfo/bese-devel From drewc at tech.coop Tue Oct 2 19:20:12 2007 From: drewc at tech.coop (Drew Crampsie) Date: Tue, 02 Oct 2007 12:20:12 -0700 Subject: [Bese-devel] Convenient control flow In-Reply-To: <4702972E.4020006@tech.coop> References: <2677cc980710021132p23d8c432yada305248cac1b34@mail.gmail.com> <4702972E.4020006@tech.coop> Message-ID: <470299EC.6030400@tech.coop> Replying to myself here ... with a useful addendum. Drew Crampsie wrote: > Mariano Montone wrote: >> Is there any way of intercepting a child answer and act upon that, other >> than embedding a task? Now that i think about this some more, the lispy way to do this is probably an :around method/cc on call-component. ie: (defcomponent on-answer-component-mixin () ()) (defmethod/cc on-answer ((on-answer-component-mixin) answer) "we might actually do something here, but i don't know what" nil) (defmethod/cc call-component :around ((from on-answer-component-mixin) to) (let ((answer (call-next-method))) (on-answer self answer))) That _should_ work, though i've not tested it. If it doesn't, post here again and i'll make it work :). Cheers, drewc >> I have experience with Seaside (the smalltalk framework) and they provide an >> onAnswer: method that I was able to invoke from the parent component (no >> need to embed any task). > > Usually, I would do this intercept in the action itself, rather than > specializing a method, something like > > (let ((answer (call 'foo))) > (some-action-or-method self answer)) > > You could also specialize the answer-component* method, and you may be > able to achieve what you want, but you're in nose-dragon area there. > >> Hope the question is clear. I'll provide an example if it is not. > > If you can example of what it is you need to do (rather than how you are > trying to do it), i'll try to tell you how we'd do that in UCW :). > > Cheers, > > drewc >> Thanks, Mariano >> >> >> >> ------------------------------------------------------------------------ >> >> _______________________________________________ >> bese-devel mailing list >> bese-devel at common-lisp.net >> http://common-lisp.net/cgi-bin/mailman/listinfo/bese-devel > > _______________________________________________ > bese-devel mailing list > bese-devel at common-lisp.net > http://common-lisp.net/cgi-bin/mailman/listinfo/bese-devel From mbaringer at common-lisp.net Thu Oct 4 04:30:19 2007 From: mbaringer at common-lisp.net (Marco Baringer) Date: Thu, 4 Oct 2007 00:30:19 -0400 (EDT) Subject: [Bese-devel] New patches to ucw_ajax: 3-Oct-2007 Message-ID: <20071004043019.0BFB9481A8@common-lisp.net> Wed Oct 3 12:43:36 EDT 2007 attila.lendvai at gmail.com * housekeeping M ./src/components/container.lisp +1 M ./src/components/form.lisp -1 +1 M ./src/components/html-element.lisp -6 +8 M ./src/rerl/basic-action.lisp -2 +5 Wed Oct 3 12:42:42 EDT 2007 attila.lendvai at gmail.com * render more info when errors happen M ./src/rerl/request-loop-error.lisp -1 +1 An updated tarball of ucw_ajax's source can be downloaded here: http://common-lisp.net/project/ucw/tarballs/ucw_ajax-20071003.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_ajax;a=summary From mbaringer at common-lisp.net Sat Oct 6 04:30:20 2007 From: mbaringer at common-lisp.net (Marco Baringer) Date: Sat, 6 Oct 2007 00:30:20 -0400 (EDT) Subject: [Bese-devel] New patches to ucw_ajax: 5-Oct-2007 Message-ID: <20071006043020.16AC449092@common-lisp.net> Fri Oct 5 10:38:33 EDT 2007 attila.lendvai at gmail.com * fix the previous ajax script tag lookup optimization M ./src/per-application-parenscript.lisp -9 +12 Fri Oct 5 10:04:04 EDT 2007 attila.lendvai at gmail.com * Follow rfc2388-binary changes (added an abort-callback to delete temp files, optimize file writing) M ./src/backend/common.lisp -6 +22 M ./src/helpers.lisp +4 Fri Oct 5 06:36:07 EDT 2007 attila.lendvai at gmail.com * speed up script tag evaluating in ajax answers on mozilla by using .get-elements-by-tag-name M ./src/per-application-parenscript.lisp -7 +17 Thu Oct 4 12:08:56 EDT 2007 attila.lendvai at gmail.com * add a few args to serve-file M ./src/backend/araneida.lisp -1 +1 M ./src/backend/basic-backend.lisp -1 +1 M ./src/backend/common.lisp -11 +19 Thu Oct 4 06:01:47 EDT 2007 attila.lendvai at gmail.com * fix: rerl-error only captures *context* when it's bound M ./src/rerl/conditions.lisp -1 +2 An updated tarball of ucw_ajax's source can be downloaded here: http://common-lisp.net/project/ucw/tarballs/ucw_ajax-20071005.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_ajax;a=summary From marianomontone at gmail.com Sat Oct 6 22:31:21 2007 From: marianomontone at gmail.com (Mariano Montone) Date: Sat, 6 Oct 2007 19:31:21 -0300 Subject: [Bese-devel] Some issues Message-ID: <2677cc980710061531i45e0db58l2c17278088ef509f@mail.gmail.com> Hello! I've been having some issues with UCW lately. Maybe someone can help me out. 1) Component initialization Have some problems embedding components which require initialization parameters that are not available. Example: I would like to do the following: (defcomponent welcome-component (simple-window-component) ((menu :accessor welcome-component.menu :component (standard-menu :title "Operaciones" :items `(("Requests" . ,(lambda () (switch-component ( welcome-component.body ) 'requests))))) ... But the welcome-component instance is not available and at the same time the 'items' initform is required. Besides, I have to indicate that the menu slot is a component, so I have to instance something there. Am I correct? So, when this happens (and this is happenning quite often), I do: (defcomponent welcome-component (simple-window-component) ((menu :accessor welcome-component.menu :component (standard-menu :title "" :items nil)) <--- I DO THIS JUST TO SAY I HAVE A COMPONENT IN MENU, maybe there's a better way ) and then: (defmethod initialize-instance :after ((comp welcome-component) &key) (setf (welcome-component.menu comp) (make-instance 'standard-menu :title "Sections" :items `(("Clients" . ,(lambda () (switch-component ( welcome-component.body comp) 'clients))))))) where I can access the welcome-component instance through the 'comp symbol. Maybe you can give me some advise about better idiom here. 2) Iterate and macrolet problems (binding issues) Sometimes some symbols seem to be unbound when I use iterate or macrolet. In general, I can fix that using lambda, but maybe you know why that happens and how to fix it. Examples: This won't work: (:render () (<:p (<:as-html (menu.title standard-menu))) (<:ul (iter (for (item-name . item-func) in (menu.items standard-menu)) ( From attila.lendvai at gmail.com Sun Oct 7 12:23:02 2007 From: attila.lendvai at gmail.com (Attila Lendvai) Date: Sun, 7 Oct 2007 13:23:02 +0100 Subject: [Bese-devel] Some issues In-Reply-To: <2677cc980710061531i45e0db58l2c17278088ef509f@mail.gmail.com> References: <2677cc980710061531i45e0db58l2c17278088ef509f@mail.gmail.com> Message-ID: > But the welcome-component instance is not available and at the same time the > 'items' initform is required. Besides, I have to indicate that the menu slot > is a component, so I have to instance something there. Am I correct? you can add an initialize-instance :after method to do the same. not too nice, but you can't access the instance when initforms are executed. > So, when this happens (and this is happenning quite often), I do: > (defcomponent welcome-component (simple-window-component) > ((menu :accessor welcome-component.menu :component > (standard-menu :title "" :items nil)) <--- I DO THIS JUST > TO SAY I HAVE A COMPONENT IN MENU, maybe there's a better way > ) add (myslot :component t) to the slot definition. > 2) Iterate and macrolet problems (binding issues) > > Sometimes some symbols seem to be unbound when I use iterate or macrolet. > In general, I can fix that using lambda, but maybe you know why that happens > and how to fix it. iterate does not add the variable it defines to the macroexpand environment. there's no easy way to fix this, iterate should use a compatibility layer above environments and update it. as of macrolet, it may be a deficiency of arnesi's code walker, but i seem to remember fixes recently. are you using the latest from darcs (the boxset does that)? > (:render () > (<:p (<:as-html (menu.title standard-menu))) > (<:ul > (iter > (for (item-name . item-func) in (menu.items standard-menu)) > ( > because item-func does not get bound when referring it from the action. you can workaround that by using a let outside the iter and setf-ing the var. also note that iter does not create a new binding (so all you action lambdas would capture the values from the last iteration if it worked... -- attila From slobodan.blazeski at gmail.com Mon Oct 8 20:00:16 2007 From: slobodan.blazeski at gmail.com (Slobodan Blazeski) Date: Mon, 8 Oct 2007 22:00:16 +0200 Subject: [Bese-devel] FiveAm unable to compile on windows XP with LW 5 Message-ID: <20773b800710081300y61a98365h8a9a18a2be091e1@mail.gmail.com> Hi All I have a problem compiling FiveAM under Windows XP with LW 5.01 Personal. This is the log I get from loading asd file. thanks Slobodan CL-USER 1 > (asdf :fiveam) ; loading system definition from C:\Program Files\LispWorks Personal\libraries\fiveam-20070814\fiveam.asd into ; # ; Loading text file C:\Program Files\LispWorks Personal\libraries\fiveam-20070814\fiveam.asd ; registering # as FIVEAM ; loading system definition from C:\Program Files\LispWorks Personal\libraries\arnesi_dev\arnesi.asd into ; # ; Loading text file C:\Program Files\LispWorks Personal\libraries\arnesi_dev\arnesi.asd ; registering # as ARNESI ; registering # as ARNESI.TEST ;; Creating system COMMON-LISP-USER::ARNESI.TEST->T ;; Creating system COMMON-LISP-USER::ARNESI.TEST ; registering # as ARNESI.CL-PPCRE-EXTRAS ;; Creating system COMMON-LISP-USER::ARNESI.CL-PPCRE-EXTRAS->SRC ;; Creating system COMMON-LISP-USER::ARNESI.CL-PPCRE-EXTRAS ; loading system definition from C:\Program Files\LispWorks Personal\libraries\slime\swank.asd into ; # ; Loading text file C:\Program Files\LispWorks Personal\libraries\slime\swank.asd ; registering # as SWANK ; Loading text file C:\Program Files\LispWorks Personal\libraries\slime\swank-loader.lisp Warning: Using DEFPACKAGE to modify #. Warning: (DEFVAR *SOURCE-DIRECTORY*) being redefined in C:\Program Files\LispWorks Personal\libraries\slime\swank-loader.lisp (previously in C:\Program Files\LispWorks Personal\libraries\slime\swank.asd). ; Loading fasl file C:\Program Files\LispWorks Personal\libraries\.slime\fasl\2007-09-27\lispworks- 5.0.1-mswindows-x86\swank-backend.ofasl ; Loading fasl file C:\Program Files\LispWorks Personal\libraries\.slime\fasl\2007-09-27\lispworks- 5.0.1-mswindows-x86\nregex.ofasl ; Loading fasl file C:\Program Files\LispWorks Personal\libraries\.slime\fasl\2007-09-27\lispworks- 5.0.1-mswindows-x86\swank-lispworks.ofasl ; Loading C:\Program Files\LispWorks Personal\lib\5-0-0-0\load-on-demand\processes\comm-defsys.lisp on demand... ;; Creating system COMM ; Loading text file C:\Program Files\LispWorks Personal\lib\5-0-0-0\load-on-demand\processes\comm-pkg.lisp ; Loading fasl file C:\Program Files\LispWorks Personal\lib\5-0-0-0\load-on-demand\processes\sockets.ofasl ; Loading fasl file C:\Program Files\LispWorks Personal\lib\5-0-0-0\load-on-demand\processes\ssl-constants.ofasl ; Loading fasl file C:\Program Files\LispWorks Personal\lib\5-0-0-0\load-on-demand\processes\ssl-foreign-types.ofasl ; Loading fasl file C:\Program Files\LispWorks Personal\lib\5-0-0-0\load-on-demand\processes\ssl.ofasl ; Loading fasl file C:\Program Files\LispWorks Personal\lib\5-0-0-0\load-on-demand\processes\ssl-certs.ofasl ; Loading fasl file C:\Program Files\LispWorks Personal\lib\5-0-0-0\patches\comm\0001\0001.ofasl ; Loaded public patch COMM 1.1 ; Loading fasl file C:\Program Files\LispWorks Personal\lib\5-0-0-0\patches\comm\0001\0002.ofasl ; Loaded public patch COMM 1.2 ; Loading fasl file C:\Program Files\LispWorks Personal\lib\5-0-0-0\patches\comm\0001\0003.ofasl ; Loaded public patch COMM 1.3 ; Loading fasl file C:\Program Files\LispWorks Personal\lib\5-0-0-0\patches\comm\0001\0004.ofasl ; Loaded public patch COMM 1.4 ; Loading fasl file C:\Program Files\LispWorks Personal\libraries\.slime\fasl\2007-09-27\lispworks- 5.0.1-mswindows-x86\swank-gray.ofasl ; Loading fasl file C:\Program Files\LispWorks Personal\libraries\.slime\fasl\2007-09-27\lispworks- 5.0.1-mswindows-x86\swank.ofasl Warning: These Swank interfaces are unimplemented: (ACTIVATE-STEPPING ADD-FD-HANDLER ADD-SIGIO-HANDLER DISASSEMBLE-FRAME LIST-CALLEES PROFILE PROFILE-PACKAGE PROFILE-REPORT PROFILE-RESET PROFILED-FUNCTIONS REMOVE-FD-HANDLERS REMOVE-SIGIO-HANDLERS SLDB-BREAK-AT-START SLDB-BREAK-ON-RETURN SLDB-STEP-INTO SLDB-STEP-NEXT SLDB-STEP-OUT UNPROFILE) ; Loading fasl file C:\Program Files\LispWorks Personal\libraries\arnesi_dev\src\packages.ofasl ; Loading fasl file C:\Program Files\LispWorks Personal\libraries\arnesi_dev\src\one-liners.ofasl ; Loading fasl file C:\Program Files\LispWorks Personal\libraries\arnesi_dev\src\flow-control.ofasl ; Loading fasl file C:\Program Files\LispWorks Personal\libraries\arnesi_dev\src\accumulation.ofasl ; Loading fasl file C:\Program Files\LispWorks Personal\libraries\arnesi_dev\src\list.ofasl ; Loading fasl file C:\Program Files\LispWorks Personal\libraries\arnesi_dev\src\mopp.ofasl Warning: Unimplemented MOP symbol: IT.BESE.ARNESI.MOPP:COMPUTE-APPLICABLE-METHODS-USING-CLASSES Warning: Unimplemented MOP symbol: IT.BESE.ARNESI.MOPP:FUNCALLABLE-STANDARD-INSTANCE-ACCESS Warning: Unimplemented MOP symbol: IT.BESE.ARNESI.MOPP:SLOT-DEFINITION-DOCUMENTATION Warning: Unimplemented MOP symbol: IT.BESE.ARNESI.MOPP:INTERN-EQL-SPECIALIZER ; Loading fasl file C:\Program Files\LispWorks Personal\libraries\arnesi_dev\src\lexenv.ofasl Error: Package LEXICAL not found. 1 Get another package name. 2 (continue) Try finding the LEXICAL package again. 3 Create the LEXICAL package. 4 Try loading C:\Program Files\LispWorks Personal\libraries\arnesi_dev\src\lexenv.ofasl again. 5 Give up loading C:\Program Files\LispWorks Personal\libraries\arnesi_dev\src\lexenv.ofasl. 6 Try loading another file instead of C:\Program Files\LispWorks Personal\libraries\arnesi_dev\src\lexenv.ofasl. 7 Retry performing # on #. 8 Continue, treating # on # as having been successful. 9 (abort) Return to level 0. 10 Return to top loop level 0. Type :b for backtrace, :c