From mbaringer at common-lisp.net Sat Jul 1 04:00:10 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Sat, 1 Jul 2006 00:00:10 -0400 (EDT) Subject: [Bese-devel] New patches to arnesi_dev: 30-Jun-2006 Message-ID: <20060701040010.0366746113@common-lisp.net> Fri Jun 30 10:27:09 EDT 2006 attila.lendvai at gmail.com * Fix thinko in previous io.lisp patch M ./src/io.lisp -9 +21 Fri Jun 30 09:13:14 EDT 2006 attila.lendvai at gmail.com * Make stuff in io.lisp encoding-aware M ./src/io.lisp -9 +29 Thu Jun 29 21:29:18 EDT 2006 attila.lendvai at gmail.com * Moved make-displaced-array from ucw to arnesi M ./src/packages.lisp +1 M ./src/sequence.lisp +6 An updated tarball of arnesi_dev's source can be downloaded here: http://common-lisp.net/project/bese/tarballs/arnesi_dev-20060630.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=arnesi_dev;a=summary From mbaringer at common-lisp.net Sat Jul 1 04:30:10 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Sat, 1 Jul 2006 00:30:10 -0400 (EDT) Subject: [Bese-devel] New patches to ucw_dev: 30-Jun-2006 Message-ID: <20060701043010.D965561052@common-lisp.net> Fri Jun 30 14:42:17 EDT 2006 Nathan Bird * use the *ucw-swank-port* as default swank port M ./src/control.lisp -1 +1 Fri Jun 30 14:41:57 EDT 2006 Nathan Bird * eval-when goodness to facilitate ucwctl loading M ./etc/start.lisp -1 +2 Fri Jun 30 12:52:26 EDT 2006 attila.lendvai at gmail.com * Further simplify loading mostly based on Nathan Bird's ideas M ./etc/conf.lisp -7 +8 M ./etc/start.lisp -20 +4 M ./examples/examples.lisp -2 M ./examples/l10n.lisp -2 M ./src/config.lisp -22 +8 M ./src/control.lisp -31 +25 M ./src/default.lisp -5 +17 M ./ucw.asd -26 +16 Fri Jun 30 04:13:27 EDT 2006 attila.lendvai at gmail.com * make-displaced-array has been moved to arnesi M ./src/backend/common.lisp -6 An updated tarball of ucw_dev's source can be downloaded here: http://common-lisp.net/project/ucw/tarballs/ucw_dev-20060630.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_dev;a=summary From mbaringer at common-lisp.net Sat Jul 1 04:30:11 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Sat, 1 Jul 2006 00:30:11 -0400 (EDT) Subject: [Bese-devel] New patches to ucw_ajax: 30-Jun-2006 Message-ID: <20060701043011.4BCDC61052@common-lisp.net> Fri Jun 30 15:43:42 EDT 2006 Nathan Bird * removing now unused default.lisp R ./src/default.lisp Fri Jun 30 15:37:56 EDT 2006 Nathan Bird * moving configuration into :ucw package, merging default.lisp into vars.lisp M ./etc/conf.lisp -5 +5 M ./src/config.lisp -1 +1 M ./src/control.lisp -7 +7 M ./src/helpers.lisp -6 M ./src/rerl/protocol.lisp -15 M ./src/vars.lisp -2 +70 M ./ucw.asd -4 +3 Fri Jun 30 14:42:17 EDT 2006 Nathan Bird * use the *ucw-swank-port* as default swank port M ./src/control.lisp -1 +1 Fri Jun 30 14:41:57 EDT 2006 Nathan Bird * eval-when goodness to facilitate ucwctl loading M ./etc/start.lisp -1 +2 Fri Jun 30 13:52:41 EDT 2006 attila.lendvai at gmail.com * Merge conflicts with start refactor in ucw_dev M ./examples/examples.lisp -10 +5 M ./ucw.asd -6 +4 Fri Jun 30 12:52:26 EDT 2006 attila.lendvai at gmail.com * Further simplify loading mostly based on Nathan Bird's ideas M ./etc/conf.lisp -7 +8 M ./etc/start.lisp -20 +4 M! ./examples/examples.lisp -5 +8 M ./examples/l10n.lisp -2 M ./src/config.lisp -22 +8 M ./src/control.lisp -31 +25 M ./src/default.lisp -5 +17 M! ./ucw.asd -25 +18 Fri Jun 30 04:13:27 EDT 2006 attila.lendvai at gmail.com * make-displaced-array has been moved to arnesi M ./src/backend/common.lisp -6 Thu Jun 29 19:42:04 EDT 2006 attila.lendvai at gmail.com * Use iter in split-on-space and avoid an nreverse M ./src/backend/common.lisp -11 +9 An updated tarball of ucw_ajax's source can be downloaded here: http://common-lisp.net/project/ucw/tarballs/ucw_ajax-20060630.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_ajax;a=summary From mbaringer at common-lisp.net Sun Jul 2 04:30:10 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Sun, 2 Jul 2006 00:30:10 -0400 (EDT) Subject: [Bese-devel] New patches to ucw_dev: 1-Jul-2006 Message-ID: <20060702043010.1CD9D63032@common-lisp.net> Sat Jul 1 20:30:00 EDT 2006 attila.lendvai at gmail.com * Fix flush-request-response call in tal-handler M ./src/rerl/standard-dispatcher.lisp -2 +2 Sat Jul 1 20:01:59 EDT 2006 attila.lendvai at gmail.com * Moved back debug-on-error into protocol.lisp M ./src/rerl/protocol.lisp +4 M ./src/vars.lisp -4 Sat Jul 1 19:31:38 EDT 2006 attila.lendvai at gmail.com * Fix cache examples M ./examples/cache.lisp -2 +2 Sat Jul 1 18:51:23 EDT 2006 attila.lendvai at gmail.com * Issue an (in-package :ucw-user) after loading the example system M ./ucw.asd +3 Thu Jun 29 19:42:04 EDT 2006 attila.lendvai at gmail.com * Use iter in split-on-space and avoid an nreverse M ./src/backend/common.lisp -11 +9 Thu Jun 29 19:10:51 EDT 2006 attila.lendvai at gmail.com * Fix read-line-from-network in httpd backend M ./src/backend/httpd.lisp -5 +4 Fri Jun 30 15:43:42 EDT 2006 Nathan Bird * removing now unused default.lisp R ./src/default.lisp Fri Jun 30 15:37:56 EDT 2006 Nathan Bird * moving configuration into :ucw package, merging default.lisp into vars.lisp M ./etc/conf.lisp -5 +5 M ./src/config.lisp -1 +1 M ./src/control.lisp -7 +7 M ./src/helpers.lisp -6 M ./src/rerl/protocol.lisp -15 M ./src/vars.lisp -2 +70 M ./ucw.asd -4 +3 An updated tarball of ucw_dev's source can be downloaded here: http://common-lisp.net/project/ucw/tarballs/ucw_dev-20060701.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_dev;a=summary From mbaringer at common-lisp.net Sun Jul 2 04:30:10 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Sun, 2 Jul 2006 00:30:10 -0400 (EDT) Subject: [Bese-devel] New patches to ucw_ajax: 1-Jul-2006 Message-ID: <20060702043010.4687F63035@common-lisp.net> Sat Jul 1 19:33:29 EDT 2006 attila.lendvai at gmail.com * Added extensive examples describing action isolation and backtracking with and without ajax M ./examples/examples.lisp -8 +94 Sat Jul 1 19:32:10 EDT 2006 attila.lendvai at gmail.com * Do not render <:html and <:body in info-message if there's a parent M ./src/components/message.lisp -10 +14 Sat Jul 1 19:31:38 EDT 2006 attila.lendvai at gmail.com * Fix cache examples M ./examples/cache.lisp -2 +2 Sat Jul 1 18:51:23 EDT 2006 attila.lendvai at gmail.com * Issue an (in-package :ucw-user) after loading the example system M ./ucw.asd +3 Sat Jul 1 18:46:42 EDT 2006 attila.lendvai at gmail.com * Implemented invocation-isolated actions These actions are guaranteed to be executed once per user action. For details see next patch that adds examples with extensive descriptions. M ./src/per-application-parenscript.lisp +8 M ./src/rerl/protocol.lisp +10 M ./src/rerl/standard-dispatcher.lisp -40 +54 M ./src/rerl/standard-request-context.lisp +3 M ./src/rerl/standard-session-frame.lisp -1 +15 M ./src/rerl/standard-vars.lisp +3 M ./src/yaclml/ucw-tags.lisp -12 +25 An updated tarball of ucw_ajax's source can be downloaded here: http://common-lisp.net/project/ucw/tarballs/ucw_ajax-20060701.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_ajax;a=summary From albertosantini at gmail.com Sun Jul 2 08:35:11 2006 From: albertosantini at gmail.com (Alberto Santini) Date: Sun, 2 Jul 2006 10:35:11 +0200 Subject: [Bese-devel] encoding-keyword-to-native... Message-ID: <6a066ca20607020135m307e69a2l359d2fe1a7c22950@mail.gmail.com> Hello. Using openmcl (rel. 1.0) the function encoding-keyword-to-native (arnesi_dev, string.lisp) is undefined. I added it after the comment "Default Implementation", copying the sbcl code. I don't if it's correct. ... ;;;; *** Default Implementation #-(or (and sbcl sb-unicode) (and clisp unicode)) (progn (defun encoding-keyword-to-native (encoding) (case encoding (:utf-8 :utf8) (:utf-16 :utf16) (:us-ascii :us-ascii) (t encoding))) (defun %string-to-octets (string encoding) ... Then restarting UCW, I catch these error: 10:23 L10N-LOGGER/+INFO+: Loading locale from /Users/albertosantini/My/Dev/Lisp/ucw_libs/cl-l10n/locales/POSIX ; Warning: *resource-package* is not set, skipped loading resource file /Users/albertosantini/My/Dev/Lisp/ucw_libs/cl-l10n/resources/common.lisp ; While executing: LOAD-RESOURCE Read error between positions 769 and 1220 in /Users/albertosantini/My/Dev/Lisp/ucw_libs/cl-l10n/languages/common.lisp. > Error in process listener(1): Unknown character name - "LATIN_SMALL_LETTER_A_WITH_ACUTE" . Do I miss anything in my start.lisp for *resource-package*? Thanks in advance? Alberto Santini From attila.lendvai at gmail.com Sun Jul 2 10:00:19 2006 From: attila.lendvai at gmail.com (Attila Lendvai) Date: Sun, 2 Jul 2006 12:00:19 +0200 Subject: [Bese-devel] encoding-keyword-to-native... In-Reply-To: <6a066ca20607020135m307e69a2l359d2fe1a7c22950@mail.gmail.com> References: <6a066ca20607020135m307e69a2l359d2fe1a7c22950@mail.gmail.com> Message-ID: > Using openmcl (rel. 1.0) the function encoding-keyword-to-native > (arnesi_dev, string.lisp) > is undefined. I added it after the comment "Default Implementation", > copying the sbcl code. I don't if it's correct. > > ... > ;;;; *** Default Implementation > > #-(or (and sbcl sb-unicode) (and clisp unicode)) > (progn > (defun encoding-keyword-to-native (encoding) > (case encoding > (:utf-8 :utf8) > (:utf-16 :utf16) > (:us-ascii :us-ascii) > (t encoding))) > (defun %string-to-octets (string encoding) it would be good if you could test its correctness and we could add it to arnesi. try to find some openmcl docs/examples. is openmcl unicode ready at all? also make sure you use the latest version from: ftp://clozure.com/pub/testing/ you can easily test it the result with lines like these: (arnesi:write-string-to-file "?????" #P"/tmp/x" :external-format :utf-8) (arnesi:read-string-from-file #P"/tmp/x" :external-format :utf-8) Then restarting UCW, I catch these error: > > 10:23 L10N-LOGGER/+INFO+: Loading locale from > /Users/albertosantini/My/Dev/Lisp/ucw_libs/cl-l10n/locales/POSIX > ; Warning: *resource-package* is not set, skipped loading resource > file > /Users/albertosantini/My/Dev/Lisp/ucw_libs/cl-l10n/resources/common.lisp > ; While executing: LOAD-RESOURCE > Read error between positions 769 and 1220 in > /Users/albertosantini/My/Dev/Lisp/ucw_libs/cl-l10n/languages/common.lisp. > > Error in process listener(1): Unknown character name - > "LATIN_SMALL_LETTER_A_WITH_ACUTE" . > > Do I miss anything in my start.lisp for *resource-package*? nope, that warning is normal. the resources are later reloaded when the appropiate package (ucw.lang) is available. the problem is that openmcl does not seem to understand utf character names. you may safely comment out some of the character constants in cl-l10n/languages/common.lisp (the hungarian plural will not work correctly. but i guess you won't really care... :) if you can send a patch or paste the part of the file that shows what is unsupported on openmcl then i'll add it to the repos. Thanks in advance? > Alberto Santini if you are looking for the easiest solution then just try another lisp, sbcl should work if it's available. hth, -- - attila "- The truth is that I've been too considerate, and so became unintentionally cruel... - I understand. - No, you don't understand! We don't speak the same language!" Ingmar Bergman - Smultronst?llet (Wild Strawberries) -------------- next part -------------- An HTML attachment was scrubbed... URL: From mbaringer at common-lisp.net Mon Jul 3 04:30:08 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Mon, 3 Jul 2006 00:30:08 -0400 (EDT) Subject: [Bese-devel] New patches to ucw_dev: 2-Jul-2006 Message-ID: <20060703043008.4169236014@common-lisp.net> Sun Jul 2 08:06:42 EDT 2006 attila.lendvai at gmail.com * Fix loading the l10n example so that cl-l10n doesn't warn M ./examples/l10n.lisp -1 +3 M ./ucw.asd -1 +1 An updated tarball of ucw_dev's source can be downloaded here: http://common-lisp.net/project/ucw/tarballs/ucw_dev-20060702.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_dev;a=summary From henrik at evahjelte.com Mon Jul 3 11:55:43 2006 From: henrik at evahjelte.com (Henrik Hjelte) Date: Mon, 03 Jul 2006 13:55:43 +0200 Subject: [Bese-devel] encoding-keyword-to-native... In-Reply-To: <6a066ca20607020135m307e69a2l359d2fe1a7c22950@mail.gmail.com> References: <6a066ca20607020135m307e69a2l359d2fe1a7c22950@mail.gmail.com> Message-ID: <1151927743.5770.99.camel@trinidad> According to the README in cl-l10n it doesn't say it works with OpenMcl. I had problems with Allegro too, so I have patched the conf.lisp file in ucw_dev so it doesn't load the cl-l10n examples for openmcl or allegro. In the long run this could probably be fixed of course, but at least now you can start the default ucw on allegro and OpenMcl. /Henrik Hjelte On Sun, 2006-07-02 at 10:35 +0200, Alberto Santini wrote: > Hello. > > Using openmcl (rel. 1.0) the function encoding-keyword-to-native > (arnesi_dev, string.lisp) > is undefined. I added it after the comment "Default Implementation", > copying the sbcl code. I don't if it's correct. > > ... > ;;;; *** Default Implementation > > #-(or (and sbcl sb-unicode) (and clisp unicode)) > (progn > (defun encoding-keyword-to-native (encoding) > (case encoding > (:utf-8 :utf8) > (:utf-16 :utf16) > (:us-ascii :us-ascii) > (t encoding))) > (defun %string-to-octets (string encoding) > ... > > Then restarting UCW, I catch these error: > > 10:23 L10N-LOGGER/+INFO+: Loading locale from > /Users/albertosantini/My/Dev/Lisp/ucw_libs/cl-l10n/locales/POSIX > ; Warning: *resource-package* is not set, skipped loading resource > file /Users/albertosantini/My/Dev/Lisp/ucw_libs/cl-l10n/resources/common.lisp > ; While executing: LOAD-RESOURCE > Read error between positions 769 and 1220 in > /Users/albertosantini/My/Dev/Lisp/ucw_libs/cl-l10n/languages/common.lisp. > > Error in process listener(1): Unknown character name - "LATIN_SMALL_LETTER_A_WITH_ACUTE" . > > Do I miss anything in my start.lisp for *resource-package*? > > Thanks in advance? > Alberto Santini > _______________________________________________ > bese-devel mailing list > bese-devel at common-lisp.net > http://common-lisp.net/cgi-bin/mailman/listinfo/bese-devel > > From cjstuij at gmail.com Mon Jul 3 12:24:16 2006 From: cjstuij at gmail.com (Ties Stuij) Date: Mon, 3 Jul 2006 14:24:16 +0200 Subject: [Bese-devel] encoding-keyword-to-native... In-Reply-To: <1151927743.5770.99.camel@trinidad> References: <6a066ca20607020135m307e69a2l359d2fe1a7c22950@mail.gmail.com> <1151927743.5770.99.camel@trinidad> Message-ID: > I had problems with Allegro too, so I have patched the conf.lisp file in > ucw_dev so it doesn't load the cl-l10n examples for openmcl or allegro. Might as well want to do that for clisp; catches the same error. Which makes me wonder why it actually does work under sbcl. greets, Ties From mb at bese.it Mon Jul 3 12:26:51 2006 From: mb at bese.it (Marco Baringer) Date: Mon, 03 Jul 2006 14:26:51 +0200 Subject: [Bese-devel] Re: encoding-keyword-to-native... References: <6a066ca20607020135m307e69a2l359d2fe1a7c22950@mail.gmail.com> Message-ID: "Attila Lendvai" writes: > #-(or (and sbcl sb-unicode) (and clisp unicode)) > (progn > (defun encoding-keyword-to-native (encoding) > (case encoding > (:utf-8 :utf8) > (:utf-16 :utf16) > (:us-ascii :us-ascii) > (t encoding))) > (defun %string-to-octets (string encoding) i could have sworn this was already implemented :( btw, it should probably be: (defun encoding-keyword-to-native (encoding) encoding) > it would be good if you could test its correctness and we could add it to > arnesi. try to find some openmcl docs/examples. is openmcl unicode ready at > all? openmcl is not unicode aware. > (arnesi:write-string-to-file "?????" #P"/tmp/x" :external-format :utf-8) > (arnesi:read-string-from-file #P"/tmp/x" :external-format :utf-8) openmcl is latin-9 only > if you are looking for the easiest solution then just try another lisp, sbcl > should work if it's available. this is not a valid option considering sbcl's lack of threads on ppc. :( -- -Marco Ring the bells that still can ring. Forget your perfect offering. There is a crack in everything. That's how the light gets in. -Leonard Cohen From attila.lendvai at gmail.com Mon Jul 3 13:22:49 2006 From: attila.lendvai at gmail.com (Attila Lendvai) Date: Mon, 3 Jul 2006 15:22:49 +0200 Subject: [Bese-devel] encoding-keyword-to-native... In-Reply-To: <1151927743.5770.99.camel@trinidad> References: <6a066ca20607020135m307e69a2l359d2fe1a7c22950@mail.gmail.com> <1151927743.5770.99.camel@trinidad> Message-ID: On 7/3/06, Henrik Hjelte wrote: > > According to the README in cl-l10n it doesn't say it works with OpenMcl. > I had problems with Allegro too, so I have patched the conf.lisp file in > ucw_dev so it doesn't load the cl-l10n examples for openmcl or allegro. > In the long run this could probably be fixed of course, but at least now > you can start the default ucw on allegro and OpenMcl. ok, according to this i added a patch that only loads the l10n examples when #+(or (and sbcl sb-unicode) (and clisp unicode)) Marco, what do you think about adding code to Arnesi that conditionally pushes :proper-unicode-support into *features* at load time? or maybe simply pushnew :unicode so we can easily check for #+unicode as opposed hairy expressions like the one above? -- - attila "- The truth is that I've been too considerate, and so became unintentionally cruel... - I understand. - No, you don't understand! We don't speak the same language!" Ingmar Bergman - Smultronst?llet (Wild Strawberries) -------------- next part -------------- An HTML attachment was scrubbed... URL: From maillaxa at gmail.com Mon Jul 3 22:57:52 2006 From: maillaxa at gmail.com (Xavier Maillard) Date: Mon, 3 Jul 2006 22:57:52 +0000 Subject: [Bese-devel] Need informations about the different projects Message-ID: <1839ad060607031557w5beb86dcmd840e4aed6c51214@mail.gmail.com> Hi, I just discovered ucw which sounds great and that I will clearly use here. Though I have several question to submit: 1. are there any good and serious application developed with UCW to see what is doable ? 2. can someone explain what is the ucw_ajax stuff I see here from time to time ? Regards. -- Xavier Maillard -------------- next part -------------- An HTML attachment was scrubbed... URL: From attila.lendvai at gmail.com Tue Jul 4 00:29:40 2006 From: attila.lendvai at gmail.com (Attila Lendvai) Date: Tue, 4 Jul 2006 02:29:40 +0200 Subject: [Bese-devel] Need informations about the different projects In-Reply-To: <1839ad060607031557w5beb86dcmd840e4aed6c51214@mail.gmail.com> References: <1839ad060607031557w5beb86dcmd840e4aed6c51214@mail.gmail.com> Message-ID: > > 2. can someone explain what is the ucw_ajax stuff I see here from time to > time ? > a darcs branch into which i could commit all nasty things without the crowd chopping my head off... :) the two branches are going to be merged real-soon-now (Marco will probably work with the ajax features in the near future). merging basically means that the ajax branch will replace the dev branch, breaking some backwards compatibility (afaik, only search/replace stuff). and while we are at it, it would be cool if a fellow ucw user with a non-trivial application would port it to the ajax branch and note all incompatibilities in a document. i've made notes in the commit logs about incompatible changes, but they are certainly not like a real port. it's not a big thing... the easiest way i know to see the differences between the two darcs branches is to start a pull from the ajax branch into a dev branch and check the details of the log messages. the first entry should be this: Thu May 4 17:14:55 CEST 2006 attila.lendvai at gmail.com * Store an action-struct instead of a simple lambda when making actions make sure you answer yes to all pull? questions, because darcs skips dependent patches. and be patient when darcs tries to resolve the conflicts, it can take minutes until the first question appears. at the last question you can stop the pulling process. -- - attila "- The truth is that I've been too considerate, and so became unintentionally cruel... - I understand. - No, you don't understand! We don't speak the same language!" Ingmar Bergman - Smultronst?llet (Wild Strawberries) -------------- next part -------------- An HTML attachment was scrubbed... URL: From mbaringer at common-lisp.net Tue Jul 4 04:00:08 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Tue, 4 Jul 2006 00:00:08 -0400 (EDT) Subject: [Bese-devel] New patches to arnesi_dev: 3-Jul-2006 Message-ID: <20060704040008.4FE0F64094@common-lisp.net> Mon Jul 3 15:43:33 EDT 2006 attila.lendvai at gmail.com * Fix typo and backward compatibility of loggers M ./src/log.lisp -9 +12 Mon Jul 3 13:22:47 EDT 2006 attila.lendvai at gmail.com * Turned the previous logger change into a foll-blown compile-time-level on loggers Added a compile-time-level slot to loggers. Log expressions whose level is below the compile-time-level of the logger at compilation will macroexpand to NIL. In other words, setting the compile time level to +debug+ will drop all dribble messages so that they can't even be enabled at runtime. M ./src/log.lisp -2 +39 M ./src/packages.lisp +1 Mon Jul 3 12:31:19 EDT 2006 Henrik Hjelte * allegro quick fix M ./src/one-liners.lisp -2 +9 Mon Jul 3 11:46:20 EDT 2006 Marco Baringer * Added defalut implementation of encoding-keyword-to-native and declare the 'wrapper' functions inline M ./src/string.lisp -2 +17 Mon Jul 3 08:59:18 EDT 2006 attila.lendvai at gmail.com * Add an enabledp check in deflogger at compile-time This means that when a logger is defined with a given level then the messages below this level will be expanded to nil at compile time, so they'll have no performance penalties at runtime. An example setup: (deflogger foo :level +debug+) ; +debug+ level at compile-time (setf (log.level 'foo) +info+) ; set runtime level to +info+ (foo.dribble "foo: ~S" (some-expensive-calculation)) ; expands to nil (foo.debug ...) ; will log if the runtime level is appropiate M ./src/log.lisp -4 +8 Mon Jul 3 05:35:46 EDT 2006 Hoan Ton-That * Fix walking FLET M ./src/lisp1.lisp -20 +57 Mon Jul 3 04:40:10 EDT 2006 Hoan Ton-That * Fix walking PROGV M ./src/lisp1.lisp -1 +1 Mon Jul 3 04:38:20 EDT 2006 Hoan Ton-That * Document lisp1.lisp M ./src/lisp1.lisp -4 +33 Mon Jul 3 04:00:15 EDT 2006 Hoan Ton-That * Fix unbound variable handling in DEFUN1 and DEFMETHOD1 M ./src/lisp1.lisp -12 +23 Mon Jul 3 03:59:40 EDT 2006 Hoan Ton-That * Refactor functions into lambda-list.lisp M ./arnesi.asd -4 +4 M ./src/call-cc/generic-functions.lisp -55 +1 A ./src/lambda-list.lisp An updated tarball of arnesi_dev's source can be downloaded here: http://common-lisp.net/project/bese/tarballs/arnesi_dev-20060703.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=arnesi_dev;a=summary From mbaringer at common-lisp.net Tue Jul 4 04:20:02 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Tue, 4 Jul 2006 00:20:02 -0400 (EDT) Subject: [Bese-devel] New patches to parenscript: 3-Jul-2006 Message-ID: <20060704042002.BE3704035@common-lisp.net> Mon Jul 3 20:33:15 EDT 2006 attila.lendvai at gmail.com * Don't use loop's initially clause to avoid a clisp bug For details see http://sourceforge.net/tracker/index.php?func=detail&aid=1516684&group_id=1355&atid=101355 M ./src/js.lisp -1 +1 An updated tarball of parenscript's source can be downloaded here: http://common-lisp.net/project/ucw/tarballs/parenscript-20060703.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=parenscript;a=summary From mbaringer at common-lisp.net Tue Jul 4 04:30:07 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Tue, 4 Jul 2006 00:30:07 -0400 (EDT) Subject: [Bese-devel] New patches to ucw_dev: 3-Jul-2006 Message-ID: <20060704043007.D34021B000@common-lisp.net> Mon Jul 3 13:23:28 EDT 2006 attila.lendvai at gmail.com * Follow compile-time-level logger changes in Arnesi M ./src/loggers.lisp -3 +1 M ./src/vars.lisp -1 +1 Mon Jul 3 09:49:48 EDT 2006 attila.lendvai at gmail.com * Added missing load-op of :ucw in start.lisp M ./etc/start.lisp +1 Mon Jul 3 09:24:01 EDT 2006 attila.lendvai at gmail.com * Alter example loading description in the README M ./README -4 +2 Mon Jul 3 09:16:52 EDT 2006 attila.lendvai at gmail.com * Only load the l10n examples on clisp and sbcl M ./etc/start.lisp +2 Mon Jul 3 08:49:21 EDT 2006 attila.lendvai at gmail.com * Export config variables in the ucw.system package Which makes it possible to set the variables between (asdf:find-system :ucw) and (asdf:oos 'asdf:load-op :ucw) when loading UCW programmatically in a customized way. M ./src/packages.lisp +1 M ./ucw.asd +26 Mon Jul 3 08:29:07 EDT 2006 attila.lendvai at gmail.com * Clear some config vars, so asdf-loading :ucw has no other side effects M ./etc/start.lisp -14 +17 M ./src/vars.lisp -8 +4 Sun Jul 2 18:19:50 EDT 2006 attila.lendvai at gmail.com * Added a *ucw-compile-time-log-level*, see docstring for details M ./src/loggers.lisp -15 +19 M ./src/vars.lisp -1 +4 M ./ucw.asd -1 +1 Sun Jul 2 18:19:10 EDT 2006 attila.lendvai at gmail.com * Minor indentation fix M ./src/backend/common.lisp -6 +6 Mon Jul 3 07:29:38 EDT 2006 Henrik Hjelte * removed dependency on cl-l10n for allegro and openmcl M ./etc/conf.lisp -4 +12 An updated tarball of ucw_dev's source can be downloaded here: http://common-lisp.net/project/ucw/tarballs/ucw_dev-20060703.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_dev;a=summary From mbaringer at common-lisp.net Tue Jul 4 04:30:08 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Tue, 4 Jul 2006 00:30:08 -0400 (EDT) Subject: [Bese-devel] New patches to ucw_ajax: 3-Jul-2006 Message-ID: <20060704043008.18E821B000@common-lisp.net> Mon Jul 3 17:59:52 EDT 2006 attila.lendvai at gmail.com * Fix: silly js needs explicit returns... M ./src/per-application-parenscript.lisp -1 +1 Mon Jul 3 15:57:22 EDT 2006 attila.lendvai at gmail.com * Fix * removed dependency on cl-l10n for allegro and openmcl M ./etc/conf.lisp -4 +12 Mon Jul 3 14:58:25 EDT 2006 attila.lendvai at gmail.com * Support invocation-isolated actions when submitted through forms M ./src/per-application-parenscript.lisp -2 +6 M ./src/yaclml/ucw-tags.lisp -1 +3 Mon Jul 3 09:49:48 EDT 2006 attila.lendvai at gmail.com * Added missing load-op of :ucw in start.lisp M ./etc/start.lisp +1 Mon Jul 3 09:24:01 EDT 2006 attila.lendvai at gmail.com * Alter example loading description in the README M ./README -4 +2 Mon Jul 3 13:23:28 EDT 2006 attila.lendvai at gmail.com * Follow compile-time-level logger changes in Arnesi M ./src/loggers.lisp -3 +1 M ./src/vars.lisp -1 +1 Mon Jul 3 09:16:52 EDT 2006 attila.lendvai at gmail.com * Only load the l10n examples on clisp and sbcl M ./etc/start.lisp +2 Mon Jul 3 08:49:21 EDT 2006 attila.lendvai at gmail.com * Export config variables in the ucw.system package Which makes it possible to set the variables between (asdf:find-system :ucw) and (asdf:oos 'asdf:load-op :ucw) when loading UCW programmatically in a customized way. M ./src/packages.lisp +1 M ./ucw.asd +26 Mon Jul 3 08:29:07 EDT 2006 attila.lendvai at gmail.com * Clear some config vars, so asdf-loading :ucw has no other side effects M ./etc/start.lisp -14 +17 M ./src/vars.lisp -8 +4 Sun Jul 2 18:19:50 EDT 2006 attila.lendvai at gmail.com * Added a *ucw-compile-time-log-level*, see docstring for details M ./src/loggers.lisp -15 +19 M ./src/vars.lisp -1 +4 M ./ucw.asd -1 +1 Sun Jul 2 18:19:10 EDT 2006 attila.lendvai at gmail.com * Minor indentation fix M ./src/backend/common.lisp -6 +6 Sun Jul 2 08:06:42 EDT 2006 attila.lendvai at gmail.com * Fix loading the l10n example so that cl-l10n doesn't warn M ./examples/l10n.lisp -1 +3 M ./ucw.asd -1 +1 Sat Jul 1 20:30:00 EDT 2006 attila.lendvai at gmail.com * Fix flush-request-response call in tal-handler M ./src/rerl/standard-dispatcher.lisp -2 +2 Sat Jul 1 20:01:59 EDT 2006 attila.lendvai at gmail.com * Moved back debug-on-error into protocol.lisp M ./src/rerl/protocol.lisp +4 M ./src/vars.lisp -4 An updated tarball of ucw_ajax's source can be downloaded here: http://common-lisp.net/project/ucw/tarballs/ucw_ajax-20060703.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_ajax;a=summary From mb at bese.it Tue Jul 4 11:35:29 2006 From: mb at bese.it (Marco Baringer) Date: Tue, 04 Jul 2006 13:35:29 +0200 Subject: [Bese-devel] Re: Need informations about the different projects References: <1839ad060607031557w5beb86dcmd840e4aed6c51214@mail.gmail.com> Message-ID: "Xavier Maillard" writes: > 1. are there any good and serious application developed with UCW to > see what is doable ? most ucw apps are, afaik, intranet only web applications. the major exception to this is animaliter.it which is, unfortunetly for you, in italian. i have another project using ucw, in english, but to get at the cool ucw-ness requires a 500euro/year subscription fee and they would boil me alive if i gave out the developer and testing accounts... as far as showcasing ucw's features the examples are actually pretty good (if a bit trivial), if anyone else has a public ucw app i'd be happy to hear about it. -- -Marco Ring the bells that still can ring. Forget your perfect offering. There is a crack in everything. That's how the light gets in. -Leonard Cohen From cjstuij at gmail.com Tue Jul 4 16:27:20 2006 From: cjstuij at gmail.com (Ties Stuij) Date: Tue, 4 Jul 2006 18:27:20 +0200 Subject: [Bese-devel] Re: Need informations about the different projects In-Reply-To: References: <1839ad060607031557w5beb86dcmd840e4aed6c51214@mail.gmail.com> Message-ID: On 7/4/06, Marco Baringer wrote: > "Xavier Maillard" writes: > > > 1. are there any good and serious application developed with UCW to > > see what is doable ? > > > as far as showcasing ucw's features the examples are actually pretty > good (if a bit trivial), if anyone else has a public ucw app i'd be > happy to hear about it. > Well, maybe not good and serious, but just a few days ago i got a simple site up and running at the tech.coop: www.sp-eskilstuna.se don't mind the place-holder text and there's a layout bug in ie i noticed. It's still in early stages and it doesnt have to be that complicated, but what i liked was the sheer ease of developing it. I've hooked it up with elephant for object persistance and cl-markdown for easy webbrowser editing. It's got some edit in place functionality helped by some extra code to propagate login information. some numbers: - reusable login and login propagate functionality, based on the ucw login code, but is self sufficient: 63 loc - reusable edit in place code, inclusive cl-markdown and elephant integration: 110 loc - the actual site code: 53 loc, and no html in sight and it was a blast to program. and yes i also would like to see some other ucw sites. greets, Ties From maillaxa at gmail.com Tue Jul 4 17:33:29 2006 From: maillaxa at gmail.com (Xavier Maillard) Date: Tue, 4 Jul 2006 17:33:29 +0000 Subject: [Bese-devel] Re: Need informations about the different projects In-Reply-To: References: <1839ad060607031557w5beb86dcmd840e4aed6c51214@mail.gmail.com> Message-ID: <1839ad060607041033p430077c7u84ce45cfc73590b9@mail.gmail.com> 2006/7/4, Marco Baringer : > > "Xavier Maillard" writes: > > > 1. are there any good and serious application developed with UCW to > > see what is doable ? > > most ucw apps are, afaik, intranet only web applications. the major > exception to this is animaliter.it which is, unfortunetly for you, in > italian. Gosh ! This is ucw ? Oh man I am impressed then !! How long did it take to code it ? -- Xavier Maillard -------------- next part -------------- An HTML attachment was scrubbed... URL: From maillaxa at gmail.com Tue Jul 4 17:32:37 2006 From: maillaxa at gmail.com (Xavier Maillard) Date: Tue, 4 Jul 2006 17:32:37 +0000 Subject: [Bese-devel] Re: Need informations about the different projects In-Reply-To: References: <1839ad060607031557w5beb86dcmd840e4aed6c51214@mail.gmail.com> Message-ID: <1839ad060607041032y12eb3cc0w653bb854646a07c9@mail.gmail.com> 2006/7/4, Ties Stuij : > > On 7/4/06, Marco Baringer wrote: > > "Xavier Maillard" writes: > > > > > 1. are there any good and serious application developed with UCW to > > > see what is doable ? > > > > > > > as far as showcasing ucw's features the examples are actually pretty > > good (if a bit trivial), if anyone else has a public ucw app i'd be > > happy to hear about it. > > > > Well, maybe not good and serious, but just a few days ago i got a > simple site up and running at the tech.coop: www.sp-eskilstuna.se That's nice ! Thank you. -- Xavier Maillard -------------- next part -------------- An HTML attachment was scrubbed... URL: From mbaringer at common-lisp.net Wed Jul 5 04:00:07 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Wed, 5 Jul 2006 00:00:07 -0400 (EDT) Subject: [Bese-devel] New patches to arnesi_dev: 4-Jul-2006 Message-ID: <20060705040007.31A18301F@common-lisp.net> Tue Jul 4 05:44:07 EDT 2006 attila.lendvai at gmail.com * Added defprint-object M ./src/io.lisp +14 M ./src/packages.lisp +1 An updated tarball of arnesi_dev's source can be downloaded here: http://common-lisp.net/project/bese/tarballs/arnesi_dev-20060704.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=arnesi_dev;a=summary From mbaringer at common-lisp.net Wed Jul 5 04:30:08 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Wed, 5 Jul 2006 00:30:08 -0400 (EDT) Subject: [Bese-devel] New patches to ucw_dev: 4-Jul-2006 Message-ID: <20060705043008.F344720012@common-lisp.net> Tue Jul 4 10:42:37 EDT 2006 evrim at core.gen.tr * keyword definitions of session,frame,action parameters added to std-vars. M ./src/rerl/standard-vars.lisp +6 Tue Jul 4 12:01:01 EDT 2006 attila.lendvai at gmail.com * Disable <:html's :prologue, UCW renders its own DOCTYPE line M ./src/components/window.lisp -1 +1 Tue Jul 4 07:34:07 EDT 2006 attila.lendvai at gmail.com * Added some TODO entries M ./docs/TODO +12 An updated tarball of ucw_dev's source can be downloaded here: http://common-lisp.net/project/ucw/tarballs/ucw_dev-20060704.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_dev;a=summary From mbaringer at common-lisp.net Wed Jul 5 04:30:09 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Wed, 5 Jul 2006 00:30:09 -0400 (EDT) Subject: [Bese-devel] New patches to ucw_ajax: 4-Jul-2006 Message-ID: <20060705043009.E5EC620012@common-lisp.net> Tue Jul 4 12:11:03 EDT 2006 attila.lendvai at gmail.com * Add invocation id also when actions are invocated with AJAX M ./src/per-application-parenscript.lisp -4 +6 Tue Jul 4 12:01:01 EDT 2006 attila.lendvai at gmail.com * Disable <:html's :prologue, UCW renders its own DOCTYPE line M ./src/components/window.lisp -1 +1 Tue Jul 4 11:58:59 EDT 2006 attila.lendvai at gmail.com * Added a allow-ajax-rendering-restart to ajax-component-mixin, see docstring for details M ./src/components/ajax.lisp -8 +17 M ./src/yaclml/ucw-tags.lisp +2 Tue Jul 4 07:34:07 EDT 2006 attila.lendvai at gmail.com * Added some TODO entries M ./docs/TODO +12 Tue Jul 4 06:58:50 EDT 2006 attila.lendvai at gmail.com * Some fixups for the AJAX version of the dispatchers M ./src/rerl/protocol.lisp -1 +2 M ./src/rerl/standard-dispatcher.lisp -66 +95 M ./src/rerl/standard-session-frame.lisp -2 +7 M ./ucw.asd -1 +2 An updated tarball of ucw_ajax's source can be downloaded here: http://common-lisp.net/project/ucw/tarballs/ucw_ajax-20060704.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_ajax;a=summary From marijnh at gmail.com Wed Jul 5 17:21:01 2006 From: marijnh at gmail.com (Marijn Haverbeke) Date: Wed, 5 Jul 2006 19:21:01 +0200 Subject: [Bese-devel] Changing the doctype of a simple-window-component Message-ID: Hi, I came across a situation where I needed to give my page another doctype, but the functionality of simple-window-component was still useful, so I made this patch which adds a field doctype to simple-window-component that can be used to change what is rendered in the tag. (Also, I'm still curious whether my patch for select fields is anywhere close to being eligible for being comitted to the repo.) Regards, Marijn -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: doctype-patch Type: application/octet-stream Size: 21763 bytes Desc: not available URL: From mb at bese.it Wed Jul 5 17:45:58 2006 From: mb at bese.it (Marco Baringer) Date: Wed, 05 Jul 2006 19:45:58 +0200 Subject: [Bese-devel] Re: Changing the doctype of a simple-window-component References: Message-ID: "Marijn Haverbeke" writes: > I came across a situation where I needed to give my page another doctype, but > the functionality of simple-window-component was still useful, so I made this > patch which adds a field doctype to simple-window-component that can be used to > change what is rendered in the tag. applied. thanks. -- -Marco Ring the bells that still can ring. Forget your perfect offering. There is a crack in everything. That's how the light gets in. -Leonard Cohen From mbaringer at common-lisp.net Thu Jul 6 04:20:02 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Thu, 6 Jul 2006 00:20:02 -0400 (EDT) Subject: [Bese-devel] New patches to parenscript: 5-Jul-2006 Message-ID: <20060706042002.2457E402D@common-lisp.net> Wed Jul 5 14:23:51 EDT 2006 attila.lendvai at gmail.com * Added map and map-into M ./src/js.lisp +31 Wed Jul 5 14:20:46 EDT 2006 attila.lendvai at gmail.com * Shortened default gensym constant M ./src/js.lisp -2 +2 An updated tarball of parenscript's source can be downloaded here: http://common-lisp.net/project/ucw/tarballs/parenscript-20060705.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=parenscript;a=summary From mbaringer at common-lisp.net Thu Jul 6 04:30:10 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Thu, 6 Jul 2006 00:30:10 -0400 (EDT) Subject: [Bese-devel] New patches to ucw_ajax: 5-Jul-2006 Message-ID: <20060706043010.1F3B519002@common-lisp.net> Wed Jul 5 14:37:41 EDT 2006 attila.lendvai at gmail.com * Fix AJAX form submission not to ask the form being submitted for approval M ./src/per-application-parenscript.lisp -8 +10 Wed Jul 5 14:09:57 EDT 2006 attila.lendvai at gmail.com * Smartened up Message-ID: <000f01c6a0c4$cf76a050$0302a8c0@p4> Hello guys. Time to time I download ucw-boxset to play with it. Usualy it ends with some error, so I give up. But not this time!! To my great surprise this time ucw loaded without any error and gave a message that server is up and running. When I tried localhost:8080 I get in response html page with "/ not found". So obviously server is responding, but just cannot find applications (examples etc) Any idea where to look ? Regards, Vagif Verdi From mb at bese.it Thu Jul 6 11:08:59 2006 From: mb at bese.it (Marco Baringer) Date: Thu, 06 Jul 2006 13:08:59 +0200 Subject: [Bese-devel] Re: ucw on windows+lispworks References: <20060706043010.1F3B519002@common-lisp.net> <000f01c6a0c4$cf76a050$0302a8c0@p4> Message-ID: "Vagif Hagverdiyev" writes: > Any idea where to look ? what backend? (httpd right?) try 127.0.0.1:8080/index.ucw or localhost:8080/index.ucw and see if those work. -- -Marco Ring the bells that still can ring. Forget your perfect offering. There is a crack in everything. That's how the light gets in. -Leonard Cohen From mbaringer at common-lisp.net Fri Jul 7 04:00:06 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Fri, 7 Jul 2006 00:00:06 -0400 (EDT) Subject: [Bese-devel] New patches to arnesi_dev: 6-Jul-2006 Message-ID: <20060707040006.982A21C00A@common-lisp.net> Thu Jul 6 23:13:16 EDT 2006 Hoan Ton-That * Fix bug with EXTRACT-ARGUMENT-NAMES, thanks to Attila Lendvai M ./src/lambda-list.lisp -3 +4 An updated tarball of arnesi_dev's source can be downloaded here: http://common-lisp.net/project/bese/tarballs/arnesi_dev-20060706.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=arnesi_dev;a=summary From mbaringer at common-lisp.net Fri Jul 7 04:20:02 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Fri, 7 Jul 2006 00:20:02 -0400 (EDT) Subject: [Bese-devel] New patches to parenscript: 6-Jul-2006 Message-ID: <20060707042002.BDA182E1B8@common-lisp.net> Thu Jul 6 18:55:47 EDT 2006 attila.lendvai at gmail.com * Fix the return value of map-into M ./src/js.lisp -1 +1 Thu Jul 6 18:51:47 EDT 2006 attila.lendvai at gmail.com * Moved some macros towards the top of the file due to dependencies In the long run we should cut js.lisp into several files. One dealing with the basic infrastructure like macro expansion, and the rest implementing the compiler based on this infrastructure/utilities. M ./src/js.lisp -46 +44 An updated tarball of parenscript's source can be downloaded here: http://common-lisp.net/project/ucw/tarballs/parenscript-20060706.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=parenscript;a=summary From pupeno at pupeno.com Fri Jul 7 00:03:24 2006 From: pupeno at pupeno.com (Pupeno) Date: Fri, 7 Jul 2006 00:03:24 +0000 Subject: [Bese-devel] Re: Need informations about the different projects In-Reply-To: References: <1839ad060607031557w5beb86dcmd840e4aed6c51214@mail.gmail.com> Message-ID: <200607070003.27091.pupeno@pupeno.com> On Tuesday 04 July 2006 16:27, Ties Stuij wrote: > I've hooked it up with elephant for object persistance Last time I checked Elephant it was totally unmaintained and it didn't even work. I talked with some guy with the typical floating-patches nobody would apply. Has that changed ? Thanks. -- Pupeno (http://pupeno.com) -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 191 bytes Desc: not available URL: From cjstuij at gmail.com Fri Jul 7 10:20:37 2006 From: cjstuij at gmail.com (Ties Stuij) Date: Fri, 7 Jul 2006 12:20:37 +0200 Subject: [Bese-devel] Re: Need informations about the different projects In-Reply-To: <200607070003.27091.pupeno@pupeno.com> References: <1839ad060607031557w5beb86dcmd840e4aed6c51214@mail.gmail.com> <200607070003.27091.pupeno@pupeno.com> Message-ID: On 7/7/06, Pupeno wrote: > On Tuesday 04 July 2006 16:27, Ties Stuij wrote: > > I've hooked it up with elephant for object persistance > Last time I checked Elephant it was totally unmaintained and it didn't even > work. I talked with some guy with the typical floating-patches nobody would > apply. Has that changed ? Yes very much. check the site. In the last couple of months two guys have been working quite heavily on it. Mainly Ian Eslick at the moment i think. They almost get annoyed when nobody responds on their request for testing their new releases. They're quite helpful also. Greets, Ties From evrim at core.gen.tr Fri Jul 7 10:14:33 2006 From: evrim at core.gen.tr (Evrim ULU) Date: Fri, 07 Jul 2006 13:14:33 +0300 Subject: [Bese-devel] yaclml wrong comment tag Message-ID: <44AE3409.1080806@core.gen.tr> Hi marco, could you apply this? Fri Jul 7 13:11:33 EEST 2006 evrim at core.gen.tr * comment tag was but it must be -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: yaclml.comment.patch URL: From eslick at csail.mit.edu Fri Jul 7 13:46:17 2006 From: eslick at csail.mit.edu (Ian Eslick) Date: Fri, 07 Jul 2006 09:46:17 -0400 Subject: [Bese-devel] Re: Need informations about the different projects In-Reply-To: References: <1839ad060607031557w5beb86dcmd840e4aed6c51214@mail.gmail.com> <200607070003.27091.pupeno@pupeno.com> Message-ID: <44AE65A9.9070808@csail.mit.edu> Thanks for the vote of confidence! I've been using Elephant heavily in my research and added a bunch of features to make common operations easy. As a result I got sucked into being a virtual maintainer, although Robert Read is the lead maintainer and enforces testing and compatibility hygiene. We would really like to see Elephant and Rucksack, the two free active true persistent object solutions make it into mainstream use so anything I can do to support new users I'm up for. We have a rough release plan for the next year in the TODO file, although the timing is dependent on the available free time. We welcome other people's contributions, suggestions, patches. We're especially interested in people looking to do small projects to improve the code base. I have a long list of such things. Currently we're working up to an incremental release (0.6.1) to improve stability. After that we're focusing on serializer performance and perhaps some additions to cleanly integrate prevalence-like or managed-object functionality so you can get in-memory performance with write-through persistence. I'd also like to adapt some of the infrastructure in Rucksack to do a native Elephant backend. The two systems make very different commitments to supporting persistente and I think there's plenty of room for both. Elephant is the more mature system today, however. Rucksack isn't ready for production use yet. On my own system I have a several gigabyte database that's been up for several months on which I regularly do thousands of transactions per minute. Berkeley DB isn't the best system in the world, but I think we've got rid of most of the inconveniences. We only get a little annoyed when people request complex features and then don't show up to test them when they're done. :) Let me know if you need help getting started, Ian Ties Stuij wrote: > On 7/7/06, Pupeno wrote: >> On Tuesday 04 July 2006 16:27, Ties Stuij wrote: >> > I've hooked it up with elephant for object persistance >> Last time I checked Elephant it was totally unmaintained and it >> didn't even >> work. I talked with some guy with the typical floating-patches nobody >> would >> apply. Has that changed ? > > Yes very much. check the site. In the last couple of months two guys > have been working quite heavily on it. Mainly Ian Eslick at the moment > i think. They almost get annoyed when nobody responds on their request > for testing their new releases. They're quite helpful also. > > Greets, > Ties > _______________________________________________ > bese-devel mailing list > bese-devel at common-lisp.net > http://common-lisp.net/cgi-bin/mailman/listinfo/bese-devel From mb at bese.it Fri Jul 7 18:01:33 2006 From: mb at bese.it (Marco Baringer) Date: Fri, 07 Jul 2006 20:01:33 +0200 Subject: [Bese-devel] ucw_dev, ucw_ajax and ucw_stable Message-ID: hi, just to let people know that a few things regarding the various development branchs will happen shortly: 1) ucw_dev will become ucw_stable. This repository is going to contain the version of ucw that I use for some of my production apps, it will therefore lag about 3 or 4 months behind ucw_dev but should be relativly bug free and will have changes applied at well declared intervals. 2) ucw_ajax will become ucw_dev. 3) ucw_ajax, as a seperate repo, will disappear. -- -Marco Ring the bells that still can ring. Forget your perfect offering. There is a crack in everything. That's how the light gets in. -Leonard Cohen From evrim at core.gen.tr Fri Jul 7 17:36:32 2006 From: evrim at core.gen.tr (Evrim ULU) Date: Fri, 07 Jul 2006 20:36:32 +0300 Subject: [bese-devel] ucw_dev, ucw_ajax and ucw_stable In-Reply-To: References: Message-ID: <44AE9BA0.7080007@core.gen.tr> Marco Baringer wrote: > 1) ucw_dev will become ucw_stable. This repository is going to > contain the version of ucw that I use for some of my production > apps, it will therefore lag about 3 or 4 months behind ucw_dev > but should be relativly bug free and will have changes applied at > well declared intervals. > Hi Marco, Does that mean latest patches will disappear? i.e. new dispatcher impl, modular apps. i'm happy with the current ucw_dev stablility. evrim. From mb at bese.it Fri Jul 7 19:51:31 2006 From: mb at bese.it (Marco Baringer) Date: Fri, 07 Jul 2006 21:51:31 +0200 Subject: [Bese-devel] Re: ucw_dev, ucw_ajax and ucw_stable References: <44AE9BA0.7080007@core.gen.tr> Message-ID: Evrim ULU writes: > Does that mean latest patches will disappear? i.e. new dispatcher impl, > modular apps. i'm happy with the current ucw_dev stablility. not at all. what it means is that, as soon as ucw_ajax is 'ready', i will make a copy of ucw_dev and call it ucw_stable. ucw_ajax will be renamed ucw_dev. patches will be applied to ucw_stable only after i, or someone else with a production app, has used the now patches for a while and shown them to be reliable. ucw_dev will continue to be constantly updated with new and incredible features :) -- -Marco Ring the bells that still can ring. Forget your perfect offering. There is a crack in everything. That's how the light gets in. -Leonard Cohen From mbaringer at common-lisp.net Sat Jul 8 04:15:04 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Sat, 8 Jul 2006 00:15:04 -0400 (EDT) Subject: [Bese-devel] New patches to yaclml: 7-Jul-2006 Message-ID: <20060708041504.51AD522008@common-lisp.net> Fri Jul 7 12:56:08 EDT 2006 attila.lendvai at gmail.com * Added accesskey to <:select M ./src/tags/html4.lisp -1 +2 Fri Jul 7 06:11:33 EDT 2006 evrim at core.gen.tr * comment tag was but it must be M ./src/tags/html+.lisp -1 +1 An updated tarball of yaclml's source can be downloaded here: http://common-lisp.net/project/bese/tarballs/yaclml-20060707.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=yaclml;a=summary From mbaringer at common-lisp.net Sat Jul 8 04:20:02 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Sat, 8 Jul 2006 00:20:02 -0400 (EDT) Subject: [Bese-devel] New patches to parenscript: 7-Jul-2006 Message-ID: <20060708042002.0B23928077@common-lisp.net> Fri Jul 7 18:37:11 EDT 2006 attila.lendvai at gmail.com * Fix screwed-up asd file M ./parenscript.asd -3 +3 Fri Jul 7 11:18:26 EDT 2006 attila.lendvai at gmail.com * Fixed instanceof M ./src/js.lisp -1 +20 Fri Jul 7 11:13:21 EDT 2006 attila.lendvai at gmail.com * Added src/lib/functional.lisp This is a first element of an parenscript library. The contents of this file is to be compiled with parenscript and the result js included in the host environment in one way or another. M ./parenscript.asd -1 +3 M ./src/js.lisp -31 A ./src/lib/ A ./src/lib/functional.lisp Fri Jul 7 11:12:31 EDT 2006 attila.lendvai at gmail.com * Added :eval-forms-p to compile-parenscript-file M ./src/compile-js.lisp -35 +40 An updated tarball of parenscript's source can be downloaded here: http://common-lisp.net/project/ucw/tarballs/parenscript-20060707.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=parenscript;a=summary From mbaringer at common-lisp.net Sat Jul 8 04:30:08 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Sat, 8 Jul 2006 00:30:08 -0400 (EDT) Subject: [Bese-devel] New patches to ucw_ajax: 7-Jul-2006 Message-ID: <20060708043008.44B4338003@common-lisp.net> Fri Jul 7 17:50:04 EDT 2006 attila.lendvai at gmail.com * Pulled missing patches from _dev and undo'd them by hand M ./src/rerl/standard-application.lisp -16 M ./src/rerl/standard-classes.lisp +1 Mon Jun 26 18:06:00 EDT 2006 attila.lendvai at gmail.com UNDO: Added a with-url-prefix keyword param to :src javascript entries M! ./src/components/window.lisp -14 +24 Mon Jun 26 18:06:00 EDT 2006 attila.lendvai at gmail.com * Added a with-url-prefix keyword param to :src javascript entries M! ./src/components/window.lisp -24 +14 Fri Jun 23 05:12:56 EDT 2006 attila.lendvai at gmail.com tagged 2006-06-23 Sun Jun 18 11:49:56 EDT 2006 attila.lendvai at gmail.com * Merge dev/ajax conflict in l10n example M ./examples/l10n.lisp -3 Sun Jun 18 10:21:59 EDT 2006 attila.lendvai at gmail.com * Backport examples to the dev branch (fix it :) M! ./examples/l10n.lisp +3 Mon Jun 12 13:15:40 EDT 2006 evrim at core.gen.tr * - :initarg :dispatchers added std-application. Wed Jun 7 08:50:15 EDT 2006 evrim at core.gen.tr * - std-application default dispatchers are now provided from via initform. M! ./src/rerl/standard-classes.lisp -1 Wed Jun 7 08:49:39 EDT 2006 evrim at core.gen.tr * - removed shared-init :after method of std-application, default dispathers are now in :initform M! ./src/rerl/standard-application.lisp +16 Fri Jul 7 13:33:29 EDT 2006 attila.lendvai at gmail.com * Support abandon-handlers in simple-form M ./src/components/form.lisp -1 +5 Fri Jul 7 13:33:19 EDT 2006 attila.lendvai at gmail.com * Support various form abandon handlers When the page will be abandoned UCW checks the pendings forms. Each modified form is asked for approval. There are three standard policies for Hi, js:compile-parenscript-file-to-string is not working anymore. i'm getting: The assertion (TYPEP JS::RES 'JS::STATEMENT) failed. [Condition of type SIMPLE-ERROR] This also breaks parenscript-dispatcher. Attila? evrim. From attila.lendvai at gmail.com Sat Jul 8 08:19:09 2006 From: attila.lendvai at gmail.com (Attila Lendvai) Date: Sat, 8 Jul 2006 10:19:09 +0200 Subject: [Bese-devel] parenscript broken In-Reply-To: <44AF2DF5.6070401@core.gen.tr> References: <44AF2DF5.6070401@core.gen.tr> Message-ID: > > js:compile-parenscript-file-to-string is not working anymore. i'm getting: > The assertion (TYPEP JS::RES 'JS::STATEMENT) failed. > [Condition of type SIMPLE-ERROR] > > This also breaks parenscript-dispatcher. Attila? > there's a new keyword argument that controls the evaluation of forms read from the file. previously forms were always evaluated before compilation, but that is the less common case, so when i introduced the :eval-forms-p flag i gave it nil as default. i didn't expect that people are using it, sorry for the lack of warning in the commit log! to have the old behaviour just add :eval-forms-p t to the call. for details: http://www.uncommon-web.com/darcsweb/darcsweb.cgi?r=parenscript;a=commitdiff;h=20060707151231-6b9e8-db25863e2848bd55e1e3e80677ff1db0e636ddaa.gz now the dispatcher is a more problematic issue... in the ajax branch i've changed it to pass through all unknown keyword args to js:compile but this patch does not apply to _dev yet due to dependencies. there are two solutions: if your parenscript files are constant (do not have any ,(check some *context* stuff) in them) then simply remove the quote from the top level forms. if it's not possible then apply the relevant parts of the ajax patch (or simply an :eval-forms-p t) on your local repo by hand temporarily. for details: http://www.uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_ajax;a=filediff;h=20060707171855-6b9e8-d680ce0ebac3fc2912ef8dc486f21ff2734bec8d.gz;f=src/rerl/standard-dispatcher.lisp hth, and sorry for the inconvenience -- - attila "- The truth is that I've been too considerate, and so became unintentionally cruel... - I understand. - No, you don't understand! We don't speak the same language!" Ingmar Bergman - Smultronst?llet (Wild Strawberries) -------------- next part -------------- An HTML attachment was scrubbed... URL: From evrim at core.gen.tr Sat Jul 8 07:00:32 2006 From: evrim at core.gen.tr (Evrim ULU) Date: Sat, 08 Jul 2006 10:00:32 +0300 Subject: [Bese-devel] say a warm welcome to ucw+, event-based ucw implementing ajax. Message-ID: <44AF5810.3010609@core.gen.tr> Hi, I'm very proud to announce ucw+ implementing ajax. * What is ucw+? This is an add-on to ucw_dev repository implementing event-based web programming. It makes easier to write web applications and provides a desktop like programming style to web applications. * What is event-based/event-driven programming? Event based programming is the idea that decouples controller from the view. Current References: <44AF5810.3010609@core.gen.tr> Message-ID: <44AF5E47.3030507@core.gen.tr> Oh i forgot one nice feature, i've imlemented a session-updater which will call server every 5 minutes like Gmail. If the browser window is open, user session will never expire. evrim. From attila.lendvai at gmail.com Sat Jul 8 09:22:18 2006 From: attila.lendvai at gmail.com (Attila Lendvai) Date: Sat, 8 Jul 2006 11:22:18 +0200 Subject: [Bese-devel] say a warm welcome to ucw+, event-based ucw implementing ajax. In-Reply-To: <44AF5810.3010609@core.gen.tr> References: <44AF5810.3010609@core.gen.tr> Message-ID: let me drop in a few details about the non-subjective stuff. - Coupling controller and view makes "back-button" support impossible to > implement since frames are going to expire and ucw will tell you "No > Frame/Action found". This is a very big design handicap since average > web users will use "backbutton" a lot. I'vent implemented back-button > support yet since i couldn't able to run backbutton support of > dojo.io.bind but the rest is trivial, just go to previous frame and call > render method of the current-window. that's what the :make-new-frame parameter is for. if an action only changes a bit on the server or submits a form without any actions then you most probably don't need to create a new frame for it. and then having less actions create a new frame then the frames will not expire and back button works as usual... (and automatic frame creation is a TODO entry currently) the example apps in ajax demonstrate it. - Current ucw_ajax supports only onclick event which is not enough to > implement an interactive web application. To hook another type of > event, users have to implement additional js stack and modify which is a hard task for average user to do. the event handling coverage in i'm wrong, dojo.dom.textContent fails in IE6) unfortunately i'm working with ff only. this is due to not having an extra machine and not having a linux version of ie... :) but recently i tested opera 9/linux and it worked fine without paying any attention to it. so i think making it work on a recent windoze ie is probably going to be easy. (i must note here a small but tricky fix from Alexander Kjeldaas that makes the dom stuff work on opera, thanks!) *Currently*, as 07.07.2006, parenscript is broken. So, please unpull the > patches belonging to that date. I'm sure Attila Lendvai is going to fix > it soon. > it's not broken, it's just changed... :) (although in a not 100% backward compatible way, see the corresponding mail for details) -- - attila "- The truth is that I've been too considerate, and so became unintentionally cruel... - I understand. - No, you don't understand! We don't speak the same language!" Ingmar Bergman - Smultronst?llet (Wild Strawberries) -------------- next part -------------- An HTML attachment was scrubbed... URL: From attila.lendvai at gmail.com Sat Jul 8 11:21:41 2006 From: attila.lendvai at gmail.com (Attila Lendvai) Date: Sat, 8 Jul 2006 13:21:41 +0200 Subject: [Bese-devel] say a warm welcome to ucw+, event-based ucw implementing ajax. In-Reply-To: References: <44AF5810.3010609@core.gen.tr> Message-ID: > the event handling coverage in concentrated on those events first that i needed myself, but there's already > on-change support for "unmaintainable hairy macro" it's 3 lines to add support for new events. > i must add here that there is certainly room in the ajax branch (or in ucw in general) for features like transparently propagating client side events to the correspoding components on the server. these features could seamlessly integrate with the rest of the From mbaringer at common-lisp.net Sun Jul 9 04:30:04 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Sun, 9 Jul 2006 00:30:04 -0400 (EDT) Subject: [Bese-devel] New patches to ucw_ajax: 8-Jul-2006 Message-ID: <20060709043004.0646938004@common-lisp.net> Sat Jul 8 10:42:06 EDT 2006 attila.lendvai at gmail.com * Added default onbeforeunload event handler that checks for dirty forms when leaving the page M ./src/components/window.lisp +2 M ./src/per-application-parenscript.lisp -22 +57 M ./src/yaclml/ucw-tags.lisp -18 +30 Sat Jul 8 10:41:15 EDT 2006 attila.lendvai at gmail.com * Do not intern gensymed stuff at compile time in parenscript-utils.lisp M ./src/parenscript-utils.lisp -9 +9 An updated tarball of ucw_ajax's source can be downloaded here: http://common-lisp.net/project/ucw/tarballs/ucw_ajax-20060708.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_ajax;a=summary From evrim at core.gen.tr Sun Jul 9 10:31:13 2006 From: evrim at core.gen.tr (Evrim ULU) Date: Sun, 09 Jul 2006 13:31:13 +0300 Subject: [Bese-devel] _dev & parenscript-dispatcher & js:compile-parenscript-to-string Message-ID: <44B0DAF1.9030308@core.gen.tr> Hi, I've fixed the glitch we'd yesterday by looking Attila's new parencscript class. Sun Jul 9 13:27:12 EEST 2006 evrim at core.gen.tr * parenscript-handler updated to reflect new js:compile-parenscript-file-to-string changes. (parenscript-dispatcher) function is updated to reflect changes. *Warning* API changed. evrim. From evrim at core.gen.tr Sun Jul 9 19:53:30 2006 From: evrim at core.gen.tr (Evrim ULU) Date: Sun, 09 Jul 2006 22:53:30 +0300 Subject: [Bese-devel] yaclml, (<:a :href "abc.ucw?a=1&b=1") -> abc.ucw?a=1& b=2 Message-ID: <44B15EBA.6080200@core.gen.tr> Hi, Is there a way to disable &->& transformation? I'm having difficulties while linking. (<:a :href "abc.ucw?a=1&b=2") outputs "abc.ucw?a=1&b=2". It's very ugly to have a code segment like: (<:ai ~% "" ~%) Thanks. Evrim. From evrim at core.gen.tr Sun Jul 9 20:10:18 2006 From: evrim at core.gen.tr (Evrim ULU) Date: Sun, 09 Jul 2006 23:10:18 +0300 Subject: [Bese-devel] yaclml, (<:a :href "abc.ucw?a=1&b=1") -> abc.ucw?a=1& b=2 In-Reply-To: <44B15EBA.6080200@core.gen.tr> References: <44B15EBA.6080200@core.gen.tr> Message-ID: <44B162AA.8070000@core.gen.tr> Evrim ULU wrote: > Hi, > > Is there a way to disable &->& transformation? I'm having > difficulties while linking. > > (<:a :href "abc.ucw?a=1&b=2") outputs "abc.ucw?a=1&b=2". It's > very ugly to have a code segment like: Aycan pointed me the xhtml standard at http://www.w3.org/TR/xhtml1/ which reads: C.12. Using Ampersands in Attribute Values (and Elsewhere) In both SGML and XML, the ampersand character ("&") declares the beginning of an entity reference (e.g., ® for the registered trademark symbol "?"). Unfortunately, many HTML user agents have silently ignored incorrect usage of the ampersand character in HTML documents - treating ampersands that do not look like entity references as literal ampersands. XML-based user agents will not tolerate this incorrect usage, and any document that uses an ampersand incorrectly will not be "valid", and consequently will not conform to this specification. In order to ensure that documents are compatible with historical HTML user agents and XML-based user agents, ampersands used in a document that are to be treated as literal characters must be expressed themselves as an entity reference (e.g. "|&|"). For example, when the |href| attribute of the |a| element refers to a CGI script that takes parameters, it must be expressed as |http://my.site.dom/cgi-bin/myscript.pl?class=guest&name=user| rather than as |http://my.site.dom/cgi-bin/myscript.pl?class=guest&name=user|. evrim. From luismbo at gmail.com Sun Jul 9 21:39:32 2006 From: luismbo at gmail.com (=?utf-8?Q?Lu=C3=ADs?= Oliveira) Date: Sun, 09 Jul 2006 22:39:32 +0100 Subject: [Bese-devel] Re: yaclml, (<:a :href "abc.ucw?a=1&b=1") -> abc.ucw?a=1& b=2 References: <44B15EBA.6080200@core.gen.tr> Message-ID: Evrim ULU writes: > Is there a way to disable &->& transformation? I'm having > difficulties while linking. > > (<:a :href "abc.ucw?a=1&b=2") outputs "abc.ucw?a=1&b=2". What's wrong with that? That output looks correct to me. See -- Lu?s Oliveira luismbo (@) gmail (.) com http://student.dei.uc.pt/~lmoliv/ From evrim at core.gen.tr Sun Jul 9 20:22:25 2006 From: evrim at core.gen.tr (Evrim ULU) Date: Sun, 09 Jul 2006 23:22:25 +0300 Subject: [Bese-devel] Re: yaclml, (<:a :href "abc.ucw?a=1&b=1") -> abc.ucw?a=1& b=2 In-Reply-To: References: <44B15EBA.6080200@core.gen.tr> Message-ID: <44B16581.5080006@core.gen.tr> Lu?s Oliveira wrote: > Evrim ULU writes: > >> Is there a way to disable &->& transformation? I'm having >> difficulties while linking. >> >> (<:a :href "abc.ucw?a=1&b=2") outputs "abc.ucw?a=1&b=2". > > > What's wrong with that? That output looks correct to me. See > > Nothing. i thought i would lead to a problem but it's now working for mozilla, don't sure about IE though. Thanks for pointing me the link. evrim. From mbaringer at common-lisp.net Mon Jul 10 04:30:09 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Mon, 10 Jul 2006 00:30:09 -0400 (EDT) Subject: [Bese-devel] New patches to ucw_dev: 9-Jul-2006 Message-ID: <20060710043009.1896B1A010@common-lisp.net> Sun Jul 9 10:48:01 EDT 2006 evrim at core.gen.tr * Introducing a new generic method for std-component: (defgeneric descendant-p (parent child &optional recursive-p) (:documentation "Predicate to use whether child is a child of parent.")) M ./src/rerl/standard-component/standard-component.lisp +8 Sun Jul 9 06:27:12 EDT 2006 evrim at core.gen.tr * parenscript-handler updated to reflect new js:compile-parenscript-file-to-string changes. (parenscript-dispatcher) function is updated to reflect changes. *Warning* API changed. M ./src/rerl/standard-dispatcher.lisp -3 +7 An updated tarball of ucw_dev's source can be downloaded here: http://common-lisp.net/project/ucw/tarballs/ucw_dev-20060709.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_dev;a=summary From mbaringer at common-lisp.net Mon Jul 10 04:30:10 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Mon, 10 Jul 2006 00:30:10 -0400 (EDT) Subject: [Bese-devel] New patches to ucw_ajax: 9-Jul-2006 Message-ID: <20060710043010.922811A010@common-lisp.net> Sun Jul 9 20:07:55 EDT 2006 attila.lendvai at gmail.com * Fix some indentations M ./src/backend/common.lisp -3 +2 M ./src/vars.lisp -1 +1 Sun Jul 9 20:04:15 EDT 2006 attila.lendvai at gmail.com * Made the AJAX stuff work on ie 6.0.2900 (ie sp2) M ./src/components/form.lisp -1 +1 M ./src/per-application-parenscript.lisp -21 +38 An updated tarball of ucw_ajax's source can be downloaded here: http://common-lisp.net/project/ucw/tarballs/ucw_ajax-20060709.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_ajax;a=summary From maillaxa at gmail.com Mon Jul 10 17:29:02 2006 From: maillaxa at gmail.com (Xavier Maillard) Date: Mon, 10 Jul 2006 19:29:02 +0200 Subject: [Bese-devel] can't load ucw-boxset anymore Message-ID: <1839ad060607101029l534b56d5l5214b377fa2a647c@mail.gmail.com> Hello, I update my ucw-boxset today and it no longer wants to load. I removed my old fasl files and reloaded the whole thing but it just hangs on this: debugger invoked on a SIMPLE-ERROR in thread #: Error during processing of --eval option (LOAD #P"start.lisp"): The file "/var/cache/common-lisp-controller/0/sbcl/local/home/zedek/sys/var/tm p/ucw-boxset/ucw-boxset/dependencies/slime/swank-backend.lisp" does not exist. Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL. restarts (invokable by number or by possibly-abbreviated name): 0: [RETRY ] Retry performing # on #. 1: [ACCEPT ] Continue, treating # on # as having been successful. 2: [CONTINUE] Ignore and continue with next --eval option. 3: [ABORT ] Skip rest of --eval options. 4: Skip to toplevel READ/EVAL/PRINT loop. 5: [QUIT ] Quit SBCL (calling #'QUIT, killing the process). ((LAMBDA (SB-IMPL::E)) #) 0] This is with sbcl 0.9.14 on a Debian GNU/linux system. I launched it with sbcl --no-userinit --load start.lisp What can I do ? -- Xavier Maillard -------------- next part -------------- An HTML attachment was scrubbed... URL: From attila.lendvai at gmail.com Mon Jul 10 18:47:54 2006 From: attila.lendvai at gmail.com (Attila Lendvai) Date: Mon, 10 Jul 2006 20:47:54 +0200 Subject: [Bese-devel] can't load ucw-boxset anymore In-Reply-To: <1839ad060607101029l534b56d5l5214b377fa2a647c@mail.gmail.com> References: <1839ad060607101029l534b56d5l5214b377fa2a647c@mail.gmail.com> Message-ID: the problem seems to be with loading a recent slime with asdf when common lisp controller is acting in the background. in my experience clc was a pita, and ended up uninstalling and managing cl packages myself. as a quick fix you may try: sbcl --no-sysinit --no-userinit --load start.lisp please report back if it works, because then i'll update the note at the beginning of start.lisp. i handle the similar case of asdf-binary-location like this: (when (asdf:find-system :asdf-binary-locations nil) (write-line "*** ASDF Binary Locations detected, we'll try to disable it for Slime/Swank") (terpri) ;; turn off asdf-binary-locations for slime if it's happened to be loaded (eval `(pushnew (list (merge-pathnames #P"slime/" *ucw-boxset-home-directory*) nil) ,(read-from-string "asdf:*source-to-target-mappings*") :test #'equal))) if someone knows the equivalent for clc, we could add that to start.lisp, too. hth, -- - attila "- The truth is that I've been too considerate, and so became unintentionally cruel... - I understand. - No, you don't understand! We don't speak the same language!" Ingmar Bergman - Smultronst?llet (Wild Strawberries) -------------- next part -------------- An HTML attachment was scrubbed... URL: From attila.lendvai at gmail.com Mon Jul 10 20:50:11 2006 From: attila.lendvai at gmail.com (Attila Lendvai) Date: Mon, 10 Jul 2006 22:50:11 +0200 Subject: [Bese-devel] Patch for select fields In-Reply-To: References: Message-ID: On 6/19/06, Marijn Haverbeke wrote: > > Attached is a patch that makes some rather big changes to the selectfields in components/form.lisp, a small one to checkbox fields, and adds > hidden fields. Because it seems there is little animo for overhauling the > make-new-callback system, and the ucw_ajax branch uses hidden fields for > callbacks that are allways needed, I decided to just hack stuff with hidden > fields. Later, these hacks can be combined with the callback mechanisms in > ucw_ajax. > i tried to apply this patch to ajax, but there were more bitrot issues then i can handle now. but imho this patch were a useful addition. could you take a look at it again? i can help with the ajax features on irc if we arrange a 'meeting'... some quick comments: - there's get-parameter for the backends - i'd use iter stuff instead of do - record the independent changes in different records when easy/possible - Setting the value of mapping select fields now work like you'd expect it - > you give it a value of the kind that you would get if you call value, > instead of giving it a text label. > i dropped an onchange auto ajax submit feature in the form example due to (the lack of) this... I added a function next-anon-field-name that generates unique field names, > because the hidden-input trick requires some kind of name for the element > even when none is specified. Radio buttons also use this function now - they > used random strings before and a comment indicated that the person who put > that there didn't think this was a very good approach either. > we can work out these, but always leave a TODO comment (as you did) -- - attila "- The truth is that I've been too considerate, and so became unintentionally cruel... - I understand. - No, you don't understand! We don't speak the same language!" Ingmar Bergman - Smultronst?llet (Wild Strawberries) -------------- next part -------------- An HTML attachment was scrubbed... URL: From newsgroup at bontempi.net Tue Jul 11 01:58:37 2006 From: newsgroup at bontempi.net (Priyadarshan) Date: Mon, 10 Jul 2006 21:58:37 -0400 Subject: [Bese-devel] Re: Need informations about the different projects In-Reply-To: <1839ad060607031557w5beb86dcmd840e4aed6c51214@mail.gmail.com> References: <1839ad060607031557w5beb86dcmd840e4aed6c51214@mail.gmail.com> Message-ID: Xavier Maillard wrote: > 1. are there any good and serious application developed with UCW to see > what is doable ? You can Google it: allinurl: "index.ucw" Try also other page names, like home.ucw Priyadarshan From mbaringer at common-lisp.net Tue Jul 11 04:30:09 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Tue, 11 Jul 2006 00:30:09 -0400 (EDT) Subject: [Bese-devel] New patches to ucw_ajax: 10-Jul-2006 Message-ID: <20060711043009.D363C1F012@common-lisp.net> Mon Jul 10 07:18:28 EDT 2006 attila.lendvai at gmail.com * Integrated modular-application into standard-application (WARNING: api) The changes are: - modular-application and modular-application-mixin are gone - *-module -> *-mixin - effective-context-definition -> request-context-class ./src/rerl/modular-application -> ./src/application-mixins ./src/application-mixins/cookie-module.lisp -> ./src/application-mixins/cookie-session-application.lisp ./src/application-mixins/l10n-module.lisp -> ./src/application-mixins/l10n-application.lisp ./src/application-mixins/security-module.lisp -> ./src/application-mixins/secure-application.lisp M ./src/application-mixins/cookie-session-application.lisp -4 +4 M ./src/application-mixins/l10n-application.lisp -13 +13 R ./src/application-mixins/modular-application.lisp M ./src/application-mixins/secure-application.lisp -10 +10 M ./src/packages.lisp -7 +5 M ./src/rerl/protocol.lisp +8 M ./src/rerl/standard-application.lisp -4 +13 M ./src/rerl/standard-classes.lisp +2 M ./ucw.asd -11 +8 Sun Jul 9 06:27:12 EDT 2006 evrim at core.gen.tr UNDO: parenscript-handler updated to reflect new js:compile-parenscript-file-to-string changes. (parenscript-dispatcher) function is updated to reflect changes. *Warning* API changed. M! ./src/rerl/standard-dispatcher.lisp -65 +20 Tue Jul 4 10:42:37 EDT 2006 evrim at core.gen.tr * keyword definitions of session,frame,action parameters added to std-vars. M ./src/rerl/standard-vars.lisp +6 Sun Jul 9 10:48:01 EDT 2006 evrim at core.gen.tr * Introducing a new generic method for std-component: (defgeneric descendant-p (parent child &optional recursive-p) (:documentation "Predicate to use whether child is a child of parent.")) M ./src/rerl/standard-component/standard-component.lisp +8 Sun Jul 9 06:27:12 EDT 2006 evrim at core.gen.tr * parenscript-handler updated to reflect new js:compile-parenscript-file-to-string changes. (parenscript-dispatcher) function is updated to reflect changes. *Warning* API changed. M! ./src/rerl/standard-dispatcher.lisp -20 +65 An updated tarball of ucw_ajax's source can be downloaded here: http://common-lisp.net/project/ucw/tarballs/ucw_ajax-20060710.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_ajax;a=summary From rsi at panix.com Tue Jul 11 08:35:30 2006 From: rsi at panix.com (Rajappa Iyer) Date: Tue, 11 Jul 2006 01:35:30 -0700 Subject: [Bese-devel] A newbie question Message-ID: <868xn035f1.fsf@panix.com> I am sure that this must be the result of a boneheaded mistake on my part, but for the life of me, I can't figure it out. So any help would be most appreciated. Platform: cmucl 19c on FreeBSD 6.1 In a directory hello-world, I have the following files (shown here with contents): hello-world.asd (defpackage :hello-world.system (:use :cl :asdf)) (in-package :hello-world.system) (defsystem hello-world :version "0.1" :depends-on (:ucw) :author "Rajappa Iyer " :components ((:file "packages") (:file "hello-world" :depends-on ("packages")))) packages.lisp (in-package :cl-user) (defpackage :hello-world (:use :common-lisp :it.bese.ucw :it.bese.arnesi :it.bese.yaclml) (:export :*hello-world-application*)) hello-world.lisp (in-package :hello-world) (defvar *hello-world-application* (make-instance 'cookie-session-application :url-prefix "/" :dispatchers (list (url-dispatcher "hello.ucw" (call 'hello-world))) :debug-on-error t)) (defcomponent hello-world (simple-window-component) () (:default-initargs :title "Hello!")) (defmethod render ((h hello-world)) (<:p "Hello world")) start.lisp (in-package :cl-user) (eval-when (:compile-toplevel :load-toplevel :execute) (asdf:oos 'asdf:load-op :ucw) (asdf:oos 'asdf:load-op :hello-world)) (setf ucw.system:*ucw-applications* '(hello-world:*hello-world-application*)) (ucw:start-swank) (ucw:create-server) Then when I point my browser to http://localhost:8080/hello.ucw, here's what I get in the REPL: * 01:16 UCW.BACKEND/+INFO+: Handling request for "/hello.ucw" 01:16 UCW-LOGGER/+INFO+: URL-MATCHER matched against url-string: "hello.ucw". 01:16 UCW-LOGGER/+INFO+: ENTRY-POINT-HANDLER directing control to ACTION-HANDLER. 01:16 UCW-LOGGER/+INFO+: ACTION-HANDLER, handling action: #. 01:16 UCW-LOGGER/+INFO+: CALL'ing to /# 01:16 UCW-LOGGER/+ERROR+: Got request error #. After which I have to abort the request. What am I doing wrong? Thanks, Rajappa -- a.k.a. Rajappa Iyer. Absinthe makes the tart grow fonder. From attila.lendvai at gmail.com Tue Jul 11 09:18:00 2006 From: attila.lendvai at gmail.com (Attila Lendvai) Date: Tue, 11 Jul 2006 11:18:00 +0200 Subject: [Bese-devel] A newbie question In-Reply-To: <868xn035f1.fsf@panix.com> References: <868xn035f1.fsf@panix.com> Message-ID: On 7/11/06, Rajappa Iyer wrote: > > I am sure that this must be the result of a boneheaded mistake on my > part, but for the life of me, I can't figure it out. So any help > would be most appreciated. i quickly pasted this code at the slime repl from the mail and it worked fine for me on sbcl/linux. it was with the ajax branch but that shouldn't make any difference in this case... * 01:16 UCW.BACKEND/+INFO+: Handling request for "/hello.ucw" > 01:16 UCW-LOGGER/+INFO+: URL-MATCHER matched against url-string: " > hello.ucw". > 01:16 UCW-LOGGER/+INFO+: ENTRY-POINT-HANDLER directing control to > ACTION-HANDLER. > 01:16 UCW-LOGGER/+INFO+: ACTION-HANDLER, handling action: # "DEFVAR *HELLO-WORLD-APPLICATION*" > {49B0C309}>. > 01:16 UCW-LOGGER/+INFO+: CALL'ing to /# {486FBAF5}> > 01:16 UCW-LOGGER/+ERROR+: Got request error #. i suggest to look for the string "Got request error" in the ucw sources ( standard-server.lisp), add a breakpoint and inspect the condition object. (assuming here that the debugger didn't come up by default which happens in some situations that we should address. i keep two breakpoints locally for this...). if you can't find anything helpful there then send the backtrace (from the brakepoint if the debugger didn't come up), it may ring some bells... hth, -- - attila "- The truth is that I've been too considerate, and so became unintentionally cruel... - I understand. - No, you don't understand! We don't speak the same language!" Ingmar Bergman - Smultronst?llet (Wild Strawberries) -------------- next part -------------- An HTML attachment was scrubbed... URL: From cjstuij at gmail.com Tue Jul 11 12:21:47 2006 From: cjstuij at gmail.com (Ties Stuij) Date: Tue, 11 Jul 2006 14:21:47 +0200 Subject: [Bese-devel] A newbie question In-Reply-To: <868xn035f1.fsf@panix.com> References: <868xn035f1.fsf@panix.com> Message-ID: On 7/11/06, Rajappa Iyer wrote: > I am sure that this must be the result of a boneheaded mistake on my > part, but for the life of me, I can't figure it out. So any help > would be most appreciated. > > Platform: cmucl 19c on FreeBSD 6.1 > > In a directory hello-world, I have the following files (shown here > with contents): > > hello-world.asd > (defpackage :hello-world.system > (:use :cl :asdf)) > > (in-package :hello-world.system) > > (defsystem hello-world > :version "0.1" > :depends-on (:ucw) > :author "Rajappa Iyer " > :components ((:file "packages") > (:file "hello-world" :depends-on ("packages")))) > > > packages.lisp > (in-package :cl-user) > > (defpackage :hello-world > (:use :common-lisp > :it.bese.ucw > :it.bese.arnesi > :it.bese.yaclml) > (:export :*hello-world-application*)) > > hello-world.lisp > > (in-package :hello-world) > > (defvar *hello-world-application* > (make-instance 'cookie-session-application > :url-prefix "/" > :dispatchers (list > (url-dispatcher "hello.ucw" > (call 'hello-world))) > :debug-on-error t)) > :dispatchers (list (action-dispatcher) ;; <-- add this one (url-dispatcher "hello-world.ucw" (call 'hello-world)) try adding the (action-dispatcher) like in the code above. The funny thing is that first marco introduced the :dispatcher option in which (action-dispatcher) was required like above, than he pushed it behind the scenes. A week ago or so i updated ucw again and found that a required action-dispatcher was needed again. I'm sure the knowledgable and thoughtfull ucw devs had a good reason. I should update the ucw tutorial; someone has already been prodding. But, as with a lot of real world or computer shooting action, the best tactic seems to be to sit still and wait for the opponent to make a move. greets, Ties From henrik at evahjelte.com Tue Jul 11 14:18:44 2006 From: henrik at evahjelte.com (Henrik Hjelte) Date: Tue, 11 Jul 2006 16:18:44 +0200 Subject: [bese-devel] parenscript regexps In-Reply-To: References: Message-ID: <1152627524.22762.31.camel@trinidad> My reply one month later... On Tue, 2006-06-13 at 14:53 +0000, Lou Vanek wrote: > ;; Maybe this makes more sense? > > (defun first-slash-p (string) > (and (> (length string) 0) > (eq (char string 0) '#\/))) > > (defmethod js-to-strings ((regex regex) start-pos) > (declare (ignore start-pos)) > (let ((slash (if (first-slash-p (value regex)) nil "/"))) > (list (format nil (concatenate 'string slash "~A" slash) (value > regex))))) > > Lou Vanek On Tue, 2006-06-13 at 20:01 +0200, Marijn Haverbeke wrote: > On 6/13/06, Attila Lendvai wrote: > > So think the UCW version shouldn't do that either. Simply a > matter of > > changing > > > > (defmethod js-to-strings ((regex regex) start-pos) > > (declare (ignore start-pos)) > > (list (format nil "/~A/" (value regex)))) > > or maybe changing the manual... that noone cared about much > because > you have the code that sais it all (at least about the nifty > details > like this). Actually parenscript is one of few projects where the manual can be trusted almost as much as the code. Or it could be that way if everyone that makes syntax changes to parenscript updates the reference.lisp file in the docs directory. From this file the pdf documentation can be generated, and testcases for the syntax (reference-tests.lisp) The autogenerated testcases makes it easy to hack parenscript while being sure that nothing breaks. If stuff gets added that is not in the documentation and not in the tests, it will be more difficult to maintain parenscript. As in this case, when the documentation was not updated when the first syntax change to regex was introduced. > > > Well - that will not solve the problem of not being able to add > options after the second slash. I guess Lou's idea works best. I also vote for Lou's idea, since it enables the full power of javascript again. Three votes for and one against counts as a for, so I checked it in. /Henrik Hjelte From attila.lendvai at gmail.com Tue Jul 11 17:04:08 2006 From: attila.lendvai at gmail.com (Attila Lendvai) Date: Tue, 11 Jul 2006 19:04:08 +0200 Subject: [Bese-devel] A newbie question In-Reply-To: References: <868xn035f1.fsf@panix.com> Message-ID: > > The funny thing is that first marco introduced the :dispatcher option > in which (action-dispatcher) was required like above, than he pushed > it behind the scenes. A week ago or so i updated ucw again and found > that a required action-dispatcher was needed again. I'm sure the > knowledgable and thoughtfull ucw devs had a good reason. the full story is that i've added a shared-initialize that always added the crucial ucw dispatchers (a parenscipt dispatcher and the action dispatcher) but due to user complaints about hard overridability (which is in fact one user :) we ended up with the old solution plus a make-standard-ucw-dispatchers function (which is only in the soon-to-be-dev but still ajax branch). so if you want to add your own dispatchers with :dispatchers then you must :dispatchers (append (make-standard-ucw-dispatchers) yourstuff) -- - attila "- The truth is that I've been too considerate, and so became unintentionally cruel... - I understand. - No, you don't understand! We don't speak the same language!" Ingmar Bergman - Smultronst?llet (Wild Strawberries) -------------- next part -------------- An HTML attachment was scrubbed... URL: From vanek at acd.net Tue Jul 11 17:06:33 2006 From: vanek at acd.net (Lou Vanek) Date: Tue, 11 Jul 2006 17:06:33 +0000 Subject: [Bese-devel] next parenscript bug Message-ID: <44B3DA99.3070502@acd.net> in js.lisp, 'default is never matched because 'val' is a class object, not a plain value (at least on clisp 2.38). The result is that the "default" switch statement is never printed. (defmethod js-to-statement-strings ((case js-switch) start-pos) (let ((body (mapcan #'(lambda (clause) (let ((val (car clause)) (body (second clause))) (dwim-join (list (if (eql val 'default) (list "") (js-to-strings val (+ start-pos 2))) (js-to-statement-strings body (+ start-pos 2))) (- 80 start-pos 2) :start (if (eql val 'default) " default" " case ") :white-space " " :join-after ":"))) (case-clauses case)))) I would include my patch but it is kinda hackish... no, it IS hackish and I'm sure others with more lisp experience than me can come up with a better solution. I think there's a similar problem in the macro directly 'above' this one, too. Lou Vanek From rsi at panix.com Tue Jul 11 20:47:14 2006 From: rsi at panix.com (Rajappa Iyer) Date: Tue, 11 Jul 2006 13:47:14 -0700 Subject: [Bese-devel] A newbie question References: <868xn035f1.fsf@panix.com> Message-ID: <86ac7fj2ct.fsf@panix.com> "Attila Lendvai" writes: > On 7/11/06, Rajappa Iyer wrote: > * 01:16 UCW.BACKEND/+INFO+: Handling request for "/hello.ucw" >> 01:16 UCW-LOGGER/+INFO+: URL-MATCHER matched against url-string: " >> hello.ucw". >> 01:16 UCW-LOGGER/+INFO+: ENTRY-POINT-HANDLER directing control to >> ACTION-HANDLER. >> 01:16 UCW-LOGGER/+INFO+: ACTION-HANDLER, handling action: #> "DEFVAR *HELLO-WORLD-APPLICATION*" >> {49B0C309}>. >> 01:16 UCW-LOGGER/+INFO+: CALL'ing to /#> {486FBAF5}> >> 01:16 UCW-LOGGER/+ERROR+: Got request error #. > > > i suggest to look for the string "Got request error" in the ucw sources ( > standard-server.lisp), add a breakpoint and inspect the condition object. > (assuming here that the debugger didn't come up by default which happens in > some situations that we should address. i keep two breakpoints locally for > this...). > if you can't find anything helpful there then send the backtrace (from the > brakepoint if the debugger didn't come up), it may ring some > bells... Hm. I made the change that Ties suggested (i.e. putting action-dispatcher in front of the url-dispatcher) but it does not seem to change things. Here's the backtrace: 0: ("DEFMETHOD HANDLE-REQUEST (STANDARD-SERVER REQUEST RESPONSE)" #) 1: (SIGNAL #) 2: (ERROR TYPE-ERROR :FUNCTION-NAME "LAMBDA (G5410 G5411)" :DATUM ...) 3: (KERNEL::OBJECT-NOT-TYPE-ERROR-HANDLER "LAMBDA (G5410 G5411)" #.(SYSTEM:INT-SAP #x47FD7A50) # (206 14)) 4: (KERNEL::INTERNAL-ERROR #.(SYSTEM:INT-SAP #x47FD78AC) #) 5: ("Foreign function call land") 6: ("Foreign function call land") 7: ("Foreign function call land") 8: ("Foreign function call land") 9: ("LAMBDA (G5410 G5411)" # # #) 10: ((METHOD IT.BESE.UCW:RENDER (:WRAP-AROUND) (IT.BESE.UCW:STANDARD-COMPONENT)) # #S(PCL::FAST-METHOD-CALL :FUNCTION # :PV-CELL NIL :NEXT-METHOD-CALL NIL :ARG-INFO (1)) #) 11: ((METHOD IT.BESE.UCW::RENDER-LOOP NIL (IT.BESE.UCW:STANDARD-COMPONENT)) (#() . #(#)) # #) 12: ((METHOD IT.BESE.UCW::HANDLER-HANDLE NIL (IT.BESE.UCW::ACTION-HANDLER IT.BESE.UCW:STANDARD-APPLICATION IT.BESE.UCW::STANDARD-REQUEST-CONTEXT T)) (#(4) . #(# #)) # # # ...) 13: ((METHOD IT.BESE.UCW::DISPATCH NIL (IT.BESE.UCW::ABSTRACT-DISPATCHER IT.BESE.UCW:STANDARD-APPLICATION IT.BESE.UCW::STANDARD-REQUEST-CONTEXT)) (#() . #(#)) # # # ...) 14: ((METHOD IT.BESE.UCW::SERVICE NIL (IT.BESE.UCW:STANDARD-APPLICATION IT.BESE.UCW::REQUEST-CONTEXT)) (#() . #(#)) # # #) 15: ((METHOD IT.BESE.UCW::HANDLE-REQUEST NIL (IT.BESE.UCW:STANDARD-SERVER IT.BESE.UCW:REQUEST IT.BESE.UCW:RESPONSE)) (#() . #(# # #)) # # # ...) 16: ((METHOD IT.BESE.UCW::HANDLE-REQUEST NIL (IT.BESE.UCW:HTTPD-BACKEND IT.BESE.UCW::HTTPD-REQUEST IT.BESE.UCW::HTTPD-RESPONSE)) (#(4 3 4 3) . #()) # # # ...) 17: (IT.BESE.UCW::HTTPD-WORKER-LOOP/HANDLE # # #) 18: (IT.BESE.UCW::HTTPD-WORKER-LOOP #) 19: ("DEFUN MAKE-PROCESS") The odd thing is that sometimes when I try the request twice, it seems to work. Here's a transcript: --TIME MARK 2006-07-11-- 13:44 UCW-LOGGER/+INFO+: Registered: # 13:44 UCW-LOGGER/+INFO+: Starting up standard server #. CMU Common Lisp 19c Release (19C), running on placebo.hoodbuzz.org With core: /usr/local/lib/cmucl/lib/lisp.core Dumped on: Mon, 2006-07-10 21:58:53-07:00 on placebo.hoodbuzz.org See for support information. Loaded subsystems: Python 1.1, target Intel x86 CLOS based on Gerd's PCL 2004/04/14 03:32:47 * 13:45 UCW.BACKEND/+INFO+: Handling request for "/hello.ucw" 13:45 UCW-LOGGER/+INFO+: URL-MATCHER matched against url-string: "hello.ucw". 13:45 UCW-LOGGER/+INFO+: ENTRY-POINT-HANDLER directing control to ACTION-HANDLER. 13:45 UCW-LOGGER/+INFO+: ACTION-HANDLER, handling action: #. ; [GC threshold exceeded with 29,021,072 bytes in use. Commencing GC.] ; [GC completed with 18,859,568 bytes retained and 10,161,504 bytes freed.] ; [GC will next occur when at least 30,859,568 bytes are in use.] 13:45 UCW-LOGGER/+INFO+: CALL'ing to /# 13:45 UCW-LOGGER/+ERROR+: Got request error #. 13:45 UCW-LOGGER/+INFO+: Aborting request. ; Compiling LAMBDA NIL: ; Compiling Top-Level Form: 13:45 UCW.BACKEND/+INFO+: Handling request for "/hello.ucw" 13:45 UCW-LOGGER/+INFO+: URL-MATCHER matched against url-string: "hello.ucw". 13:45 UCW-LOGGER/+INFO+: ENTRY-POINT-HANDLER directing control to ACTION-HANDLER. 13:45 UCW-LOGGER/+INFO+: ACTION-HANDLER, handling action: #. 13:45 UCW-LOGGER/+INFO+: CALL'ing to /# 13:45 UCW.BACKEND/+INFO+: Handling request for "/dojo/dojo.js" 13:45 UCW.BACKEND/+INFO+: Handling request for "/ucw/js/per-application.js" I tried running the boxset examples with CMUCL and it failed. But SBCL succeeded. I'll try running this with SBCL and report the results. Thanks, Rajappa -- a.k.a. Rajappa Iyer. Absinthe makes the tart grow fonder. From rsi at panix.com Tue Jul 11 21:24:48 2006 From: rsi at panix.com (Rajappa Iyer) Date: Tue, 11 Jul 2006 14:24:48 -0700 Subject: [Bese-devel] A newbie question References: <868xn035f1.fsf@panix.com> Message-ID: <864pxnj0m6.fsf@panix.com> Rajappa Iyer writes: > I tried running the boxset examples with CMUCL and it failed. But > SBCL succeeded. I'll try running this with SBCL and report the results. SBCL 0.9.14 on FreeBSD 6.1 seems to work. --TIME MARK 2006-07-11-- 14:20 UCW-LOGGER/+INFO+: Registered: # 14:20 UCW-LOGGER/+INFO+: Starting up standard server #. 14:20 UCW.BACKEND/+INFO+: Handling request for "/hello.ucw" 14:20 UCW-LOGGER/+INFO+: URL-MATCHER matched against url-string: "hello.ucw". 14:20 UCW-LOGGER/+INFO+: ENTRY-POINT-HANDLER directing control to ACTION-HANDLER. 14:20 UCW-LOGGER/+INFO+: ACTION-HANDLER, handling action: #. 14:21 UCW-LOGGER/+INFO+: CALL'ing to /# 14:21 UCW.BACKEND/+INFO+: Handling request for "/dojo/dojo.js" 14:21 UCW.BACKEND/+INFO+: Handling request for "/ucw/js/per-application.js" So for now, I'll switch to SBCL. But I'll be happy to test any suggestions on how to fix it for CMUCL. Thanks for the help. Rajappa -- a.k.a. Rajappa Iyer. Absinthe makes the tart grow fonder. From vanek at acd.net Tue Jul 11 23:16:35 2006 From: vanek at acd.net (Lou Vanek) Date: Tue, 11 Jul 2006 23:16:35 +0000 Subject: [Bese-devel] say a warm welcome to ucw+, event-based ucw implementing ajax. In-Reply-To: <44AF5810.3010609@core.gen.tr> References: <44AF5810.3010609@core.gen.tr> Message-ID: <44B43153.7060304@acd.net> wow! it took me awhile to process and integrate, but with not too much effort it seems to do everything you say. I've appended a new 02_dom file to get around an IE7b3 security constraint. IE7 uses mime sniffing (http://www.microsoft.com/technet/prodtechnol/winxppro/maintain/mangxpsp2/mngieps.mspx) so trying to load an ajax 'text/html' response in ie7 will immediately abort if a javascript tag is parsed at read time. The 02 file also corrects the problem of accidentally inserting a whitespace dom node instead of the nodeType 1 dom node that contains the actual html/script/css. The corresponding server-side code is slightly revised to sneak the javascript past ie7 by embedding it in a DIV: (defmethod render-ajax ((window ajax-window)) (let ((dirty-components (context.dirty-components *context*))) (dolist (ajax-widget dirty-components) ;;; walk dirty-components list and look for self's parent nodes. we ;;; don't need to render html if a parent node already exists. ;;; this is not the case with css, we render css if it's dirty ;;; anyway. (let ((found-p nil)) (dolist (parent-component dirty-components) (when (and (not found-p) (descendant-p parent-component ajax-widget t)) (setf found-p t))) (<:div :class "component" :id (dom-id ajax-widget) (when (not found-p) (<:div :class "html" (render ajax-widget))) (<:div :class "css" (<:style :type "text/css" (render-css ajax-widget))))))) ;; All javascript which is to be immediately evaluated is embedded within ;; a div to sneak past IE7's mime sniffer. ;; Otherwise IE7 will stop loading the file if the mime type isn't text/javascript. ;; (Dojo would try to immediately eval this entire script if it ;; thought the whole file was javascript, which it isn't because there's also html.) (<:div :class "script" (render-javascript window)) ;; This works on ff but not ie7 (see above comment). ;(<:script :type "text/javascript" ; (<:as-is ~% "// " ~%)) ) ;; render-ajax ;; Adding 'typeof' fixes an ie7 problem where if the javascript object has already been defined ;; jscript will error-out instead of just overwriting the previous object. ;; FF doesn't have this problem, but the fix wont hurt. (defmethod render-javascript :before ((self ajax-widget)) (<:ai (js:js* `(when (= (typeof ,(js-component-id self)) "undefined") (setf ,(js-component-id self) (new (*object))))))) In your test application you probably want to change ":www-root" to ":www-roots". That bug cost me almost 2 hours of my life. heh. And you may want to revise the 01 file to something like the following. This keeps the encoding from being set to 'NIL', which i had problems with. :call-action (lambda (action-id element-id) (let ((url (+ window.location.pathname "?" ,+session-parameter-name+ "=" server.current-session "&" ,+frame-parameter-name+ "=" server.current-frame "&" ,+action-parameter-name+ "=" action-id)) (enc ,(or (and ( application.charset (context.application *context*)) (symbol-name (application.charset (context.application *context*)))) "UTF-8"))) (dojo.debug "calling-action:" url) (if (= "FORM" (slot-value ($ element-id) 'node-name)) (dojo.io.bind (create :url url :load server.dom.eval-response :prevent-cache t :form-node element-id :method "post" ;; don't change this to 'text/javascript' or else dojo will try to eval ;; the entire blob that is returned to the client as javascript! :mimetype "text/html" :encoding enc)) (dojo.io.bind (create :url url :load server.dom.eval-response :prevent-cache t :mimetype "text/html" :encoding enc))) (return false))) Nice work, Lou Vanek Evrim ULU wrote: > Hi, > > I'm very proud to announce ucw+ implementing ajax. > > * What is ucw+? > > This is an add-on to ucw_dev repository implementing event-based web > programming. It makes easier to write web applications and provides a > desktop like programming style to web applications. [snip] > > Have a nice day. > Evrim. > _______________________________________________ > bese-devel mailing list > bese-devel at common-lisp.net > http://common-lisp.net/cgi-bin/mailman/listinfo/bese-devel > revised 02_dom.lisp (works with ie7b3 and ff 1.5.0.4): ;; One note of caution: the code below may break if using broken-parenscript ;; that is unable to accurately generate 'default' cases on switch statements. ;; If working with broken-parenscript you should be able to just comment out ;; the default case. `(setf server.dom (create :is-script-node (lambda (node) (return (and (not (= nil node)) (= (slot-value node 'node-name) "SCRIPT") (= "text/javascript" (node.get-attribute "type"))))) :is-embedded-script-node (lambda (node) (return (= (dojo.html.get-class node) "script"))) :is-component-node (lambda (node) (dj_debug (+ "is-component-node: " (dojo.html.get-class node))) (return (= (dojo.html.get-class node) "component"))) ;;;; This function parses ajax response and calls specific ;;;; loading functions. Ajax response is: ;;;;
;;;;
;;;; HTML Content rendered by render-html ;;;;
;;;;
;;;; CSS Content rendered by render-css ;;;;
;;;;
;;;;
;;;; .... similar to above ;;;;
;;;;
;;;; controller for this window, evaluated automagically ;;;; to refresh actions and frames. ;;;;
;;;; Ajax response is created by refresh-coretal-component action. :eval-response (lambda (type result evt) (setf root (document.create-element "div")) (setf root.inner-h-t-m-l result) (server.event.disconnect-events) (dolist (child root.child-nodes) (dj_debug (+ "* current child innerHTML: " child.inner-h-t-m-l)) (when (server.dom.is-script-node child) (try (dj_eval child.inner-h-t-m-l) (:catch (error) (dj_debug (+ "error while evaluating controller:" error)))) continue) (when (server.dom.is-embedded-script-node child) (dj_debug "found embedded script node") (try (dolist (script-node (slot-value child 'child-nodes)) (when (= 1 script-node.node-type) ;; skip over whitespace text nodes (dj_debug "found embedded script node with node type 1; eval it.") (dj_eval script-node.inner-h-t-m-l) break)) (:catch (error) (dj_debug (+ "error while evaluating controller for embedded script:" error)))) continue) (when (server.dom.is-component-node child) (try (server.dom.parse-component child) (:catch (error) (dj_debug (+ "got error while parsing component response:" error)))) continue) (dj_debug "evalResponse: neither script nor component node.") ) (server.event.connect-events) (dj_debug "ended eval response")) ;;;; This function parses any
and loads ;;;; the data into current document. :parse-component (lambda (item) (let ((id (dojo.html.get-attribute item "id"))) (dj_debug (+ "parsing component:" item ", id:" id)) (dolist (sub-item (slot-value item 'child-nodes)) (dj_debug (+ "parse-component: class: " (dojo.html.get-class sub-item))) (case (dojo.html.get-class sub-item) ("html" (progn ;debugger (this.parse-html id sub-item))) ("css" (this.parse-css id sub-item)) (default (dj_debug "ALERT: invalid class? (or no class).")) )))) ;;;; This function parses html element and ;;;; loads css into current document via modifying browsers style ;;;; cache. (lambda (id new-style-node) (let ((css-index (slot-value this.style-index id)) new-node (head (aref (document.get-elements-by-tag-name "head") 0))) (dolist (a-child (slot-value new-style-node 'child-nodes)) (when (= 1 a-child.node-type) ;; skip over whitespace text nodes (setf new-node a-child) break)) (if (and new-node (> css-index -1)) (let ((old-style-node (aref (document.get-elements-by-tag-name "style") css-index))) (head.replace-child new-node old-style-node)) (let ((css-index (this.style-index-size))) (head.append-child new-node);;new-style-node) (setf (slot-value server.dom.style-index id) css-index))))))) From mbaringer at common-lisp.net Wed Jul 12 04:20:02 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Wed, 12 Jul 2006 00:20:02 -0400 (EDT) Subject: [Bese-devel] New patches to parenscript: 11-Jul-2006 Message-ID: <20060712042002.43DC137002@common-lisp.net> Tue Jul 11 17:17:50 EDT 2006 attila.lendvai at gmail.com * Rebind var in dolist to make also clisp happy (import-macros-from-lisp was broken due to this) M ./src/js.lisp -4 +5 Tue Jul 11 09:47:05 EDT 2006 Henrik Hjelte * regex patch suggested by Lou Vanek M ./docs/manual.pdf M ./docs/reference.lisp -3 +8 M ./src/js.lisp -2 +7 M ./t/ref2test.lisp -2 +2 M ./t/reference-tests.lisp +4 Tue Jul 11 06:09:52 EDT 2006 Henrik Hjelte * documentation updated about dollar char M ./docs/manual.pdf M ./docs/reference.lisp -4 +4 M ./t/reference-tests.lisp -2 +2 Tue Jul 11 04:49:15 EDT 2006 Henrik Hjelte * Made ref2test work with cl-launch M ./t/ref2test.lisp -6 +9 An updated tarball of parenscript's source can be downloaded here: http://common-lisp.net/project/ucw/tarballs/parenscript-20060711.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=parenscript;a=summary From mbaringer at common-lisp.net Wed Jul 12 04:30:10 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Wed, 12 Jul 2006 00:30:10 -0400 (EDT) Subject: [Bese-devel] New patches to ucw_ajax: 11-Jul-2006 Message-ID: <20060712043010.A80E537002@common-lisp.net> Tue Jul 11 04:01:27 EDT 2006 attila.lendvai at gmail.com * Added new-callback-id to get a unique callback id in a given frame M ./src/helpers.lisp -4 +4 M ./src/rerl/standard-session-frame.lisp -2 +6 An updated tarball of ucw_ajax's source can be downloaded here: http://common-lisp.net/project/ucw/tarballs/ucw_ajax-20060711.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_ajax;a=summary From tomelam at gmail.com Wed Jul 12 07:20:37 2006 From: tomelam at gmail.com (Thomas Elam) Date: Wed, 12 Jul 2006 12:50:37 +0530 Subject: [Bese-devel] Fwd: After a hiatus, came back to UCW & `UCW Intro'; having problems with `UCW Intro' In-Reply-To: <6251c7160607111511k46717240i43d08fabd58e69f@mail.gmail.com> References: <6251c7160607111511k46717240i43d08fabd58e69f@mail.gmail.com> Message-ID: <6251c7160607120020wf8ccdd4oee093fc32a56580a@mail.gmail.com> I hope this is considered spamming. I hope to get an answer quickly so I can get into the meat of ucw. I haven't got an answer from Stuij yet. An answer to this mailing list would be quite sufficient. Thanks. ---------- Forwarded message ---------- From: Thomas Elam Date: Jul 12, 2006 3:41 AM Subject: After a hiatus, came back to UCW & `UCW Intro'; having problems with `UCW Intro' To: stuij at fallenfrukt.com Cc: thomas.elam at wipro.com Stuij, Thanks for `UCW Intro'. After advice from Marco and Atilla, I have given up trying to use ucwctl to start ucw -- for the time being. I take a plain untarred copy of ucw-boxset (10 July version), cd to its top directory, and, with only the latest sbcl installed, do this: # sbcl --load start.lisp If I browse http://127.0.0.1:8080 and then click on the admin link and login (admin/admin), I can open a SLIME port by clicking on the appropriate link. I can connect emacs to the port. For ucw-intro, I downloaded the tarball from the `UCW Intro' page, untarred it to the same directory where I untarred ucw-boxset, and create the directory /etc/ucw/applications.d, wherein I created a symlink to ucw-intro.asd . I quit ucw and restarted it as before. I could then successfully do a (in-package :ucw-intro), but when I try to browse http://127.0.0.1:8080/ucw-intro/hello-world.ucw I am unsuccessful. Can you see any part that I'm missing? Please reply to this address and CC: thomas.elam at wipro.com . Thanks! Tom -- Lisp humour: LISP> (setf god (symbol-value god)) Warning: Declaring GOD special. Error: GOD is unbound. -------------- next part -------------- An HTML attachment was scrubbed... URL: From cjstuij at gmail.com Wed Jul 12 10:39:49 2006 From: cjstuij at gmail.com (Ties Stuij) Date: Wed, 12 Jul 2006 12:39:49 +0200 Subject: [Bese-devel] Fwd: After a hiatus, came back to UCW & `UCW Intro'; having problems with `UCW Intro' In-Reply-To: <6251c7160607120020wf8ccdd4oee093fc32a56580a@mail.gmail.com> References: <6251c7160607111511k46717240i43d08fabd58e69f@mail.gmail.com> <6251c7160607120020wf8ccdd4oee093fc32a56580a@mail.gmail.com> Message-ID: On 7/12/06, Thomas Elam wrote: > I hope this is considered spamming. I hope to get an answer quickly so I can > get into the meat of ucw. I haven't got an answer from Stuij yet. > > An answer to this mailing list would be quite sufficient. Thanks. > Damn. Sorry for sleeping and working. I'll try to quit my job, have to set my priorities ;o) > ---------- Forwarded message ---------- > From: Thomas Elam > Date: Jul 12, 2006 3:41 AM > Subject: After a hiatus, came back to UCW & `UCW Intro'; having problems > with `UCW Intro' > To: stuij at fallenfrukt.com > Cc: thomas.elam at wipro.com > > Stuij, > > Thanks for `UCW Intro'. > > For ucw-intro, I downloaded the tarball from the `UCW Intro' page, untarred > it to the same directory where I untarred ucw-boxset, and create the > directory /etc/ucw/applications.d, wherein I created a symlink to > ucw-intro.asd . I quit ucw and restarted it as before. I could then > successfully do a (in-package :ucw-intro), but when I try to browse > http://127.0.0.1:8080/ucw-intro/hello-world.ucw I am > unsuccessful. Well, you didn't give me much to go on. The showstopper i know of is the one i pointed at yesterday, eg add (action-dispatcher) to your list of dispatchers. If that doesn't help, could you give some more details. I on my part will update ucw and see what happens on my side of the line. Darn, didn't think anyone read that crappy tutorial anymore. Sorry. I'll update it soon. Greets, Ties From thomas.elam at wipro.com Wed Jul 12 12:04:48 2006 From: thomas.elam at wipro.com (thomas.elam at wipro.com) Date: Wed, 12 Jul 2006 17:34:48 +0530 Subject: [Bese-devel] Fwd: After a hiatus, came back to UCW & `UCW Intro'; having problems with `UCW Intro' References: <6251c7160607111511k46717240i43d08fabd58e69f@mail.gmail.com><6251c7160607120020wf8ccdd4oee093fc32a56580a@mail.gmail.com> Message-ID: Ties, Thanks for your help. I am sorry if I sounded presumptuous. I didn't mean to. I appreciate volunteerism and try to do a little of it when I can. Now I will try the suggestions you gave today (and yesterday). As for giving you more to go on, I will work on that too, but offhand I wouldn't know what information you might need. I would be interested in helping with a UCW tutorial (especially if it will help me get UCW working!), either yours or Friedrich's or a new one. I believe I can write fairly well in English, even on technical subjects. Maybe I could even work a bit on release engineering, but I don't think I am Lisp-savvy enough for that part. I don't think I'll be much good on reading a lot of complex Lisp code either (of the kind that is full of macros and MOP things, for example). If I work on a tutorial for UCW, I would want to stick to a known ucw-boxset tarball, even if it gets way out of date -- and a very late version of SBCL (or whatever the UCW developers would like me to use on Linux) on top of a late 2.6.x version of the Linux kernel. Maybe the out-of-date ucw-boxset tarball could be stored on the tutorial page. For the purposes of getting a full set of compatible software for the tutorial, I would just download standard binaries where possible and use compilation from source where it is not possible to use standard binaries. (I would not use the Debian packages, even though my computer runs on Debian). I really appreciate UCW, since I built a small, personalised website without web continuations and can see the clarity to be obtained from a more linear logic. Regards, Tom -- `Never doubt that a small group of thoughtful, committed citizens can change the world; indeed, it's the only thing that ever has.' -- Margaret Mead -----Original Message----- From: Ties Stuij [mailto:cjstuij at gmail.com] Sent: Wed 7/12/2006 4:09 PM To: Thomas Elam; Thomas Elam(WT01 - Product Engineering Solutions) Cc: bese-devel at common-lisp.net Subject: Re: [Bese-devel] Fwd: After a hiatus, came back to UCW & `UCW Intro'; having problems with `UCW Intro' On 7/12/06, Thomas Elam wrote: > I hope this is considered spamming. I hope to get an answer quickly so I can > get into the meat of ucw. I haven't got an answer from Stuij yet. > > An answer to this mailing list would be quite sufficient. Thanks. > Damn. Sorry for sleeping and working. I'll try to quit my job, have to set my priorities ;o) > ---------- Forwarded message ---------- > From: Thomas Elam > Date: Jul 12, 2006 3:41 AM > Subject: After a hiatus, came back to UCW & `UCW Intro'; having problems > with `UCW Intro' > To: stuij at fallenfrukt.com > Cc: thomas.elam at wipro.com > > Stuij, > > Thanks for `UCW Intro'. > > For ucw-intro, I downloaded the tarball from the `UCW Intro' page, untarred > it to the same directory where I untarred ucw-boxset, and create the > directory /etc/ucw/applications.d, wherein I created a symlink to > ucw-intro.asd . I quit ucw and restarted it as before. I could then > successfully do a (in-package :ucw-intro), but when I try to browse > http://127.0.0.1:8080/ucw-intro/hello-world.ucw I am > unsuccessful. Well, you didn't give me much to go on. The showstopper i know of is the one i pointed at yesterday, eg add (action-dispatcher) to your list of dispatchers. If that doesn't help, could you give some more details. I on my part will update ucw and see what happens on my side of the line. Darn, didn't think anyone read that crappy tutorial anymore. Sorry. I'll update it soon. Greets, Ties The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain proprietary, confidential or privileged information. If you are not the intended recipient, you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately and destroy all copies of this message and any attachments. WARNING: Computer viruses can be transmitted via email. The recipient should check this email and any attachments for the presence of viruses. The company accepts no liability for any damage caused by any virus transmitted by this email. www.wipro.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From vanek at acd.net Wed Jul 12 16:34:31 2006 From: vanek at acd.net (Lou Vanek) Date: Wed, 12 Jul 2006 16:34:31 +0000 Subject: [Bese-devel] Re: say a warm welcome to ucw+, event-based ucw implementing ajax. In-Reply-To: <44B43153.7060304@acd.net> References: <44AF5810.3010609@core.gen.tr> <44B43153.7060304@acd.net> Message-ID: <44B52497.1010500@acd.net> Evrim, After a darcs pull on today's ucw+ test1 breaks with this error (clisp 2.38): SLOT-VALUE: The slot TRACED-SLOTS of #1=# has no value I'm pretty sure it's dieing on, (defmethod shared-initialize :after ((self ajax-widget) slot-names &key &allow-other-keys) (setf (slot-value self 'traced-slots) <== DIES ON THIS LINE! (mapcar #'(lambda (x) (mopp:slot-definition-name x)) (set-difference (mopp:compute-slots (class-of self)) (mopp:compute-slots (find-class 'ajax-widget)) :test #'(lambda (a b) (equal (mopp:slot-definition-name a) (mopp:slot-definition-name b))))))) after calling: (defentry-point "^test1.*$" (:application *ucw+-test-application* :class regexp-dispatcher) () (call 'test-window)) <= this line is where the test1 widget is being instantiated and dies The way I fixed it is to revert the following method to the way it was previously defined. I wish I could follow the mop-magic logic but i can't. Thought you should know. Lou Vanek ;; new(er) definition (is broke): (defmethod (setf mopp:slot-value-using-class) :after (new-value (class standard-component-class) (instance ajax-widget) (slot-def standard-component-effective-slot)) (awhen (find-if #'(lambda (a) (equal (mopp:slot-definition-name a) 'traced-slots)) (mopp:compute-slots (find-class 'ajax-widget))) (when (and (mopp:slot-boundp-using-class class instance it) (not (null (traced-slots instance))) (member (mopp:slot-definition-name slot-def) (traced-slots instance)) (not (member instance (ucw::context.dirty-components ucw::*context*)))) (pushnew instance (ucw::context.dirty-components ucw::*context*))))) ;; old(er) definition (works *AOK*): ;; for some reason this method either creates 'traced-slots slot or doesn't wipe the ;; field out like the newer version of this method does. (defmethod (setf mopp:slot-value-using-class) :after (new-value (class standard-class) (instance ajax-widget) (slot-def mopp:standard-effective-slot-definition)) (when (and (slot-boundp instance 'traced-slots) (not (null (traced-slots instance))) (member (mopp:slot-definition-name slot-def) (traced-slots instance))) ;;;; i've tried to call refresh-component here but it seems it ;;;; impossible to use it. -evrim. ;;;; let's queue this as dirty. (when (not (member instance (context.dirty-components *context*))) (pushnew instance (context.dirty-components *context*))))) From evrim at core.gen.tr Wed Jul 12 16:42:40 2006 From: evrim at core.gen.tr (Evrim ULU) Date: Wed, 12 Jul 2006 19:42:40 +0300 Subject: [Bese-devel] Re: say a warm welcome to ucw+, event-based ucw implementing ajax. In-Reply-To: <44B52497.1010500@acd.net> References: <44AF5810.3010609@core.gen.tr> <44B43153.7060304@acd.net> <44B52497.1010500@acd.net> Message-ID: <44B52680.5000504@core.gen.tr> Lou Vanek wrote: > Evrim, > > After a darcs pull on today's ucw+ test1 breaks with this error (clisp > 2.38): > SLOT-VALUE: The slot TRACED-SLOTS of #1=# #x1ECD264D> has no value > > I'm pretty sure it's dieing on, Hi Lou, I was so busy with some samba/ldap installation, so sorry about late reply. This patch aims to get rid of all refresh-components stuff and tried to support more smooth programming. Now we don't need to call refreh-component every time but just setf a slot of a component. It'll catch the dirty component and refresh it accordinly. I've also removed refresh-component's from the tests. The problem is my being lazy that one is not allowed to use slot-boundp inside slot-value-using-class. I've replaced it with slot-valus-using-class and error is gone. Please pull the latest and try it again. I'm sure this is not a clisp specific problem. Evrim. From evrim at core.gen.tr Wed Jul 12 16:43:54 2006 From: evrim at core.gen.tr (Evrim ULU) Date: Wed, 12 Jul 2006 19:43:54 +0300 Subject: [Bese-devel] Re: say a warm welcome to ucw+, event-based ucw implementing ajax. In-Reply-To: <44B52497.1010500@acd.net> References: <44AF5810.3010609@core.gen.tr> <44B43153.7060304@acd.net> <44B52497.1010500@acd.net> Message-ID: <44B526CA.80500@core.gen.tr> Lou Vanek wrote: > Evrim, > > After a darcs pull on today's ucw+ test1 breaks with this error (clisp > 2.38): > SLOT-VALUE: The slot TRACED-SLOTS of #1=# #x1ECD264D> has no value > > I'm pretty sure it's dieing on, Hi Lou, I was so busy with some samba/ldap installation, so sorry about late reply. This patch aims to get rid of all refresh-components stuff and tried to support more smooth programming. Now we don't need to call refreh-component every time but just setf a slot of a component. It'll catch the dirty component and refresh it accordinly. I've also removed refresh-component's from the tests. The problem is my being lazy that one is not allowed to use slot-boundp inside slot-value-using-class. I've replaced it with slot-valus-using-class and error is gone. Please pull the latest and try it again. I'm sure this is not a clisp specific problem. You may like to register to core-services-devel@ mailing list. We'll be discussing ucw+ soon on that lists. Evrim. From evrim at core.gen.tr Wed Jul 12 16:48:49 2006 From: evrim at core.gen.tr (Evrim ULU) Date: Wed, 12 Jul 2006 19:48:49 +0300 Subject: [Bese-devel] say a warm welcome to ucw+, event-based ucw implementing ajax. In-Reply-To: <44B43153.7060304@acd.net> References: <44AF5810.3010609@core.gen.tr> <44B43153.7060304@acd.net> Message-ID: <44B527F1.2050200@core.gen.tr> Lou Vanek wrote: > wow! > > it took me awhile to process and integrate, but with not too much > effort it seems to do everything you say. > > I've appended a new 02_dom file to get around an IE7b3 security > constraint. IE7 uses mime sniffing > (http://www.microsoft.com/technet/prodtechnol/winxppro/maintain/mangxpsp2/mngieps.mspx) > > so trying to load an ajax 'text/html' response in ie7 will immediately > abort if > a javascript tag is parsed at read time. The 02 file also corrects > the problem of accidentally inserting a whitespace dom node instead of > the nodeType 1 dom node that contains the actual html/script/css. > Ok great, yesterday we've been discussing this on Irc with oudelis and to make this work on safari, similar thing must be applied to style node. I'll try to fix this during this week and after that, it'll work on ie6, moz, ff, safarai which is i think enough. Thanks fo rfeedback. evrim. From cjstuij at gmail.com Wed Jul 12 17:38:38 2006 From: cjstuij at gmail.com (Ties Stuij) Date: Wed, 12 Jul 2006 19:38:38 +0200 Subject: [Bese-devel] Fwd: After a hiatus, came back to UCW & `UCW Intro'; having problems with `UCW Intro' In-Reply-To: References: <6251c7160607111511k46717240i43d08fabd58e69f@mail.gmail.com> <6251c7160607120020wf8ccdd4oee093fc32a56580a@mail.gmail.com> Message-ID: > Thanks for your help. I am sorry if I sounded presumptuous. I didn't mean > to. I appreciate volunteerism and try to do a little of it when I can. > If anyone should feel sorry it's me for making you feel guilty. Just thought the situation was quite comical. > I would be interested in helping with a UCW tutorial (especially if it > will help me get UCW working!), either yours or Friedrich's or a new one. I > believe I can write fairly well in English, even on technical subjects. > Maybe I could even work a bit on release engineering, but I don't think I am > Lisp-savvy enough for that part. > Sure, help out. Would be appreciated. I've seem to have run a bit out of steam on the tutorial. The thing is, i have the sources in a slightly hacked up gigamonkeys markup format, so: - i can put the thing up on the ucw trac wiki. I believe it accepts html, but i can't find an edit button somewhere (is it not public anymore?). might be handy for others to participate easily. - i can send the sources of my markup software. That way the text would be easy to edit, but the text should be put in a darcs repository or something. I'd be for the first. Any ideas? If I work on a tutorial for UCW, I would want to stick to a known ucw-boxset > tarball, even if it gets way out of date -- and a very late version of SBCL > (or whatever the UCW developers would like me to use on Linux) on top of a > late 2.6.x version of the Linux kernel. Maybe the out-of-date ucw-boxset > tarball could be stored on the tutorial page. > Good idea. > For the purposes of getting a full set of compatible software for the > tutorial, I would just download standard binaries where possible and use > compilation from source where it is not possible to use standard binaries. > (I would not use the Debian packages, even though my computer runs on > Debian). > But than you would have to support all the relevant cl implementation times versions, or? Doesn't seem practical to me. Greets, Ties -------------- next part -------------- An HTML attachment was scrubbed... URL: From vanek at acd.net Wed Jul 12 19:20:37 2006 From: vanek at acd.net (Lou Vanek) Date: Wed, 12 Jul 2006 19:20:37 +0000 Subject: [Bese-devel] Re: say a warm welcome to ucw+, event-based ucw implementing ajax. In-Reply-To: <44B52680.5000504@core.gen.tr> References: <44AF5810.3010609@core.gen.tr> <44B43153.7060304@acd.net> <44B52497.1010500@acd.net> <44B52680.5000504@core.gen.tr> Message-ID: <44B54B85.3060000@acd.net> Evrim, darcs tells me there is nothing new to pull, and when i look at the ajax-component file it still has the method that is causing the described problem. i'm pulling from http://common-lisp.net/project/core-services/repos/ucw+/src/rerl/ajax-component.lisp maybe there's another repo? The method using slot-boundp _works_ for my setup. The method using slot-boundp-using-class doesn't. OK to just stick with the old method then (that uses slot-boundp)? Lou Evrim ULU wrote: > Lou Vanek wrote: > > >>Evrim, >> >>After a darcs pull on today's ucw+ test1 breaks with this error (clisp >>2.38): >> SLOT-VALUE: The slot TRACED-SLOTS of #1=#>#x1ECD264D> has no value >> >>I'm pretty sure it's dieing on, > > > Hi Lou, > > I was so busy with some samba/ldap installation, so sorry about late reply. > > This patch aims to get rid of all refresh-components stuff and tried to > support more smooth programming. Now we don't need to call > refreh-component every time but just setf a slot of a component. It'll > catch the dirty component and refresh it accordinly. I've also removed > refresh-component's from the tests. > > The problem is my being lazy that one is not allowed to use slot-boundp > inside slot-value-using-class. I've replaced it with > slot-valus-using-class and error is gone. Please pull the latest and try > it again. I'm sure this is not a clisp specific problem. > > Evrim. From nathan at acceleration.net Wed Jul 12 22:38:58 2006 From: nathan at acceleration.net (Nathan Bird) Date: Wed, 12 Jul 2006 18:38:58 -0400 Subject: [Bese-devel] Fwd: After a hiatus, came back to UCW & `UCW Intro'; having problems with `UCW Intro' In-Reply-To: References: <6251c7160607111511k46717240i43d08fabd58e69f@mail.gmail.com> <6251c7160607120020wf8ccdd4oee093fc32a56580a@mail.gmail.com> Message-ID: <44B57A02.8020803@acceleration.net> Ties Stuij wrote: > - i can put the thing up on the ucw trac wiki. I believe it accepts html, > but i can't find an edit button somewhere (is it not public anymore?). > might > be handy for others to participate easily. In order to use it you need to get a user on common-lisp.net, unfortunately spam bots have started targeting trac (the trac team is reportedly trying to improve that). Nathan Bird From attila.lendvai at gmail.com Thu Jul 13 15:14:29 2006 From: attila.lendvai at gmail.com (Attila Lendvai) Date: Thu, 13 Jul 2006 17:14:29 +0200 Subject: [Bese-devel] yaclml feature idea Message-ID: hi! i've tried to implement :allow-other-attributes support at invocation points, so that one can write (<:div :allow-other-attributes t :dojo-type "FloatingPane") but i gave up and wrote this letter... :) in the hope that Marco (or someone else) finds this idea useful and picks it up. also there are problems with SVG (an possible other formats) that treat the xml names case sensitively. yaclml should support writing tags like dojoType. how about the syntax used by parenscript? (camelcase at '-' and initial capital when the name starts with a star). unfortunately it may cause trouble with tags that contain '-' and are case sensitive at the same time, and it would also break backward compatibility. oh well, i guess we'll get back to this at irc... - attila (alias 101 on irc &no 'its not lisp code :) From hbabcockos1 at mac.com Fri Jul 14 01:04:49 2006 From: hbabcockos1 at mac.com (hbabcockos1 at mac.com) Date: Thu, 13 Jul 2006 21:04:49 -0400 Subject: [Bese-devel] javascript suppression? Message-ID: <2D9BD83A-41C4-4FB5-BCD4-4F5F5D426F18@mac.com> Hello, If I define a component as: (defcomponent flashcard (simple-window-component) ((content :accessor content :initform nil)) (:default-initargs :title "Test" :content-type "text/html; charset=utf-8;" :javascript nil)) When I look at the generated html I see that it adds both "dojo.js" and "per-application.js". I thought that setting ":javascript nil" might suppress javascript, but apparently it does not. Is there a way to specify that you want a "pure" HTML app? I'm using " Message-ID: hbabcockos1 at mac.com writes: > Hello, > > If I define a component as: > > (defcomponent flashcard (simple-window-component) > ((content :accessor content > :initform nil)) > (:default-initargs > :title "Test" > :content-type "text/html; charset=utf-8;" > :javascript nil)) > > When I look at the generated html I see that it adds both "dojo.js" > and "per-application.js". I thought that setting ":javascript nil" > might suppress javascript, but apparently it does not. Is there a way > to specify that you want a "pure" HTML app? I'm using " form" for my forms so I don't think I need javascript. don't use simple-window-component. since it's your own custom component and some generic be-all-end-all it'll be much simpler for you to do this: (defcomponent flashcard () ((content :accessor content :initform nil))) (defmethod render ((flashcard flashcard)) (<:as-is "" #\Newline) (<:html :prologue nil (<:head (<:meta :http-equiv "Content-Type" :content (window-component.content-type window)) (<:title "Test")) (<:body (render (content flashcard))))) simpler, shorter, and clearer. -- -Marco Ring the bells that still can ring. Forget your perfect offering. There is a crack in everything. That's how the light gets in. -Leonard Cohen From attila.lendvai at gmail.com Fri Jul 14 10:46:28 2006 From: attila.lendvai at gmail.com (Attila Lendvai) Date: Fri, 14 Jul 2006 12:46:28 +0200 Subject: [Bese-devel] Re: javascript suppression? In-Reply-To: References: <2D9BD83A-41C4-4FB5-BCD4-4F5F5D426F18@mac.com> Message-ID: On 7/14/06, Marco Baringer wrote: > > hbabcockos1 at mac.com writes: > > > Hello, > > > > If I define a component as: > > > > (defcomponent flashcard (simple-window-component) > > ((content :accessor content > > :initform nil)) > > (:default-initargs > > :title "Test" > > :content-type "text/html; charset=utf-8;" > > :javascript nil)) > > > > When I look at the generated html I see that it adds both "dojo.js" > > and "per-application.js". I thought that setting ":javascript nil" > > might suppress javascript, but apparently it does not. Is there a way > > to specify that you want a "pure" HTML app? I'm using " > form" for my forms so I don't think I need javascript. or you may look around in an ajax branch near you... :) i had some pending changes that i committed. now you can have your own window like this: (defcomponent my-window (basic-window-features-mixin window-component) ()) and it'll know everythng that simple-window knows except it doesn't add the default js includes. -- - attila "- The truth is that I've been too considerate, and so became unintentionally cruel... - I understand. - No, you don't understand! We don't speak the same language!" Ingmar Bergman - Smultronst?llet (Wild Strawberries) -------------- next part -------------- An HTML attachment was scrubbed... URL: From hbabcockos1 at mac.com Fri Jul 14 23:32:42 2006 From: hbabcockos1 at mac.com (hbabcockos1 at mac.com) Date: Fri, 14 Jul 2006 19:32:42 -0400 Subject: [Bese-devel] Re: javascript suppression? In-Reply-To: References: <2D9BD83A-41C4-4FB5-BCD4-4F5F5D426F18@mac.com> Message-ID: On Jul 14, 2006, at 6:46 AM, Attila Lendvai wrote: > > or you may look around in an ajax branch near you... :) > > i had some pending changes that i committed. now you can have your > own window like this: > > (defcomponent my-window (basic-window-features-mixin window-component) > ()) > > and it'll know everythng that simple-window knows except it doesn't > add the default js includes. > Nice! How long till that is part of the boxset? -Hazen From mbaringer at common-lisp.net Sat Jul 15 04:15:05 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Sat, 15 Jul 2006 00:15:05 -0400 (EDT) Subject: [Bese-devel] New patches to yaclml: 14-Jul-2006 Message-ID: <20060715041505.4F3D21201A@common-lisp.net> Fri Jul 14 06:32:15 EDT 2006 attila.lendvai at gmail.com * Added :quotedp to <:as-is M ./src/tags/standard-yaclml.lisp -2 +6 An updated tarball of yaclml's source can be downloaded here: http://common-lisp.net/project/bese/tarballs/yaclml-20060714.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=yaclml;a=summary From mbaringer at common-lisp.net Sat Jul 15 04:25:02 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Sat, 15 Jul 2006 00:25:02 -0400 (EDT) Subject: [Bese-devel] New patches to rfc2388: 14-Jul-2006 Message-ID: <20060715042502.507FE1A005@common-lisp.net> Fri Jul 14 09:09:02 EDT 2006 Henrik Hjelte * allegro stops complaining when safety is zero M ./source/rfc2388.lisp -1 +2 An updated tarball of rfc2388's source can be downloaded here: http://common-lisp.net/project/ucw/tarballs/rfc2388-20060714.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=rfc2388;a=summary From mbaringer at common-lisp.net Sat Jul 15 04:30:10 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Sat, 15 Jul 2006 00:30:10 -0400 (EDT) Subject: [Bese-devel] New patches to ucw_dev: 14-Jul-2006 Message-ID: <20060715043010.6BC861F015@common-lisp.net> Fri Jul 14 06:53:19 EDT 2006 Maciek Pasternacki * Add MAXLENGTH slot to STRING-FIELD. M ./src/components/form.lisp -1 +5 An updated tarball of ucw_dev's source can be downloaded here: http://common-lisp.net/project/ucw/tarballs/ucw_dev-20060714.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_dev;a=summary From mbaringer at common-lisp.net Sat Jul 15 04:30:10 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Sat, 15 Jul 2006 00:30:10 -0400 (EDT) Subject: [Bese-devel] New patches to ucw_ajax: 14-Jul-2006 Message-ID: <20060715043010.D540F1F015@common-lisp.net> Fri Jul 14 06:34:37 EDT 2006 attila.lendvai at gmail.com * Added basic-window-features-mixin and smartened up simple-window The new mixin provides all the features simple-window used to provide without the default JS includes that UCW requires. simple-window adds the JS includes that are needed for UCW to function properly. window title may be a lambda with one arg, the window object :js scripts are now xml-quoted M ./src/components/window.lisp -24 +51 M ./src/packages.lisp +1 M ./src/yaclml/ucw-tags.lisp -3 +2 Mon Jul 10 15:47:38 EDT 2006 attila.lendvai at gmail.com * Various smallies, mostly cosmetic changes M ./src/components/form.lisp -9 +6 M ./src/helpers.lisp -3 +2 M ./src/rerl/standard-action.lisp -4 +4 M ./src/rerl/standard-application.lisp -5 +4 M ./src/rerl/standard-classes.lisp -16 +12 M ./src/rerl/standard-dispatcher.lisp -3 +2 M ./src/rerl/standard-server.lisp -3 +2 M ./ucw.asd -2 +3 Mon Jul 10 15:29:01 EDT 2006 attila.lendvai at gmail.com * Use dojo.event.connect to register handlers in Hi, I'm having problems while compilling parenscripts. It seems parenscript js:js misses ";" characters at the end. CL-USER> (js:js* `(setf gee (lambda () nil)) `(setf eeg (lambda () t))) "gee = function () { null; } eeg = function () { true; }" If this is case and newlines inside the code is omitted, IE does not compile this js code and complains about missing ";" between two declerations. If there exists a newline, no error is thrown. Is there a way to "formalize" parenscript js code by adding ; to the end of the statements? evrim. From henrik at evahjelte.com Sat Jul 15 20:31:51 2006 From: henrik at evahjelte.com (Henrik Hjelte) Date: Sat, 15 Jul 2006 22:31:51 +0200 Subject: [Bese-devel] parenscript & missing ";" In-Reply-To: <44B90577.9080803@core.gen.tr> References: <44B90577.9080803@core.gen.tr> Message-ID: <1152995511.22762.54.camel@trinidad> On Sat, 2006-07-15 at 18:10 +0300, Evrim ULU wrote: > Hi, > > I'm having problems while compilling parenscripts. It seems parenscript > js:js misses ";" characters at the end. > > CL-USER> (js:js* `(setf gee (lambda () nil)) `(setf eeg (lambda () t))) > "gee = > function () { > null; > } > eeg = > function () { > true; > }" > > If this is case and newlines inside the code is omitted, IE does not > compile this js code and complains about missing ";" between two > declerations. If there exists a newline, no error is thrown. > > Is there a way to "formalize" parenscript js code by adding ; to the end > of the statements? This was a bug in parenscript, the suspicious looking function special-append-to-last just skipped semicolons if the statement ended with any of #\, #\} or #\; . I have pushed a bugfix to the darcs repository, hope it doesn't break anything in parenscripts strange dwim-join code.. /Henrik Hjelte > > evrim. > _______________________________________________ > 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 Sun Jul 16 04:00:12 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Sun, 16 Jul 2006 00:00:12 -0400 (EDT) Subject: [Bese-devel] New patches to arnesi_dev: 15-Jul-2006 Message-ID: <20060716040012.287271F003@common-lisp.net> Wed Jul 12 01:39:22 EDT 2006 Hoan Ton-That * Export the accessors and slots of the walker If there are any conflicts with other packages, please tell me and I'll comment it out with that package name in the comment. M ./src/packages.lisp -2 +41 Wed Jul 12 01:04:34 EDT 2006 Hoan Ton-That * Added AWHILE M ./src/flow-control.lisp -6 +26 M ./src/packages.lisp +3 An updated tarball of arnesi_dev's source can be downloaded here: http://common-lisp.net/project/bese/tarballs/arnesi_dev-20060715.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=arnesi_dev;a=summary From mbaringer at common-lisp.net Sun Jul 16 04:20:04 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Sun, 16 Jul 2006 00:20:04 -0400 (EDT) Subject: [Bese-devel] New patches to parenscript: 15-Jul-2006 Message-ID: <20060716042004.267D438003@common-lisp.net> Sat Jul 15 16:13:44 EDT 2006 Henrik Hjelte * bugfix sometimes missing semicolons when joining js-body M ./docs/reference.lisp -1 +1 M ./src/js.lisp -2 +1 M ./t/reference-tests.lisp -1 +1 An updated tarball of parenscript's source can be downloaded here: http://common-lisp.net/project/ucw/tarballs/parenscript-20060715.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=parenscript;a=summary From mbaringer at common-lisp.net Sun Jul 16 04:30:10 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Sun, 16 Jul 2006 00:30:10 -0400 (EDT) Subject: [Bese-devel] New patches to ucw_ajax: 15-Jul-2006 Message-ID: <20060716043010.147513E001@common-lisp.net> Sat Jul 15 15:43:50 EDT 2006 attila.lendvai at gmail.com * Some more AJAX rendering infrastructure for later patches M ./src/components/ajax.lisp -10 +43 M ./src/packages.lisp +2 Sat Jul 15 13:01:18 EDT 2006 attila.lendvai at gmail.com * Added a dojo-tab-container example M ./examples/examples.lisp +26 M ./examples/sum.lisp -3 +3 Sat Jul 15 12:59:46 EDT 2006 attila.lendvai at gmail.com * Added dojo-widgets.lisp M ./etc/ucw.profile.js +3 A ./src/components/dojo-widgets.lisp M ./src/packages.lisp +8 M ./src/per-application-parenscript.lisp -1 +5 M ./src/yaclml/ucw-tags.lisp -4 +6 M ./ucw.asd +1 M ./wwwroot/ucw/ucw.css +4 Sat Jul 15 12:57:50 EDT 2006 attila.lendvai at gmail.com * Updated dojo.js, included TabContainer templates M ./wwwroot/dojo/dojo.js A ./wwwroot/dojo/src/widget/ A ./wwwroot/dojo/src/widget/templates/ A ./wwwroot/dojo/src/widget/templates/HtmlTabContainer.css A ./wwwroot/dojo/src/widget/templates/HtmlTabContainer.html A ./wwwroot/dojo/src/widget/templates/images/ A ./wwwroot/dojo/src/widget/templates/images/tab_bot_left.gif A ./wwwroot/dojo/src/widget/templates/images/tab_bot_left_curr.gif A ./wwwroot/dojo/src/widget/templates/images/tab_bot_right.gif A ./wwwroot/dojo/src/widget/templates/images/tab_bot_right_curr.gif A ./wwwroot/dojo/src/widget/templates/images/tab_close.gif A ./wwwroot/dojo/src/widget/templates/images/tab_close_h.gif A ./wwwroot/dojo/src/widget/templates/images/tab_left.gif A ./wwwroot/dojo/src/widget/templates/images/tab_left_r.gif A ./wwwroot/dojo/src/widget/templates/images/tab_left_r_curr.gif A ./wwwroot/dojo/src/widget/templates/images/tab_right.gif A ./wwwroot/dojo/src/widget/templates/images/tab_right_r.gif A ./wwwroot/dojo/src/widget/templates/images/tab_right_r_curr.gif A ./wwwroot/dojo/src/widget/templates/images/tab_top_left.gif A ./wwwroot/dojo/src/widget/templates/images/tab_top_right.gif Sat Jul 15 07:53:53 EDT 2006 attila.lendvai at gmail.com * It's not a smart idea to isolate entry point actions... M ./src/rerl/standard-dispatcher.lisp -1 +2 Sat Jul 15 07:53:08 EDT 2006 attila.lendvai at gmail.com * Better error reporting in the client side JS M ./src/per-application-parenscript.lisp -29 +34 Sat Jul 15 07:39:27 EDT 2006 attila.lendvai at gmail.com * Added render-widget-wrapper widget-component renders its wrapper tag in :wrap-around. this is the first method that is called and in least-specific-first order, so it was not possible to further wrap a widget. the upcoming dojo-widgets need finer control on this wrapping, therefore this method was introduced. i'm not too happy with this change, but i can't think of any other solution. the dojo widgets render two levels of wrapping, one for the dojo widget and most of the time when the dojo widget is also a simple widget then another level for the simple widget. the problem comes with ajax, because it's not allowed to replace the dom node of the dojo widget, so we must render a dojo widget so that the widget div is not rendered when ajax rendering is in progress, so the client side will replace the inner wrapper rendered by the simple widget. ehh, long story... M ./src/components/widget.lisp -7 +18 An updated tarball of ucw_ajax's source can be downloaded here: http://common-lisp.net/project/ucw/tarballs/ucw_ajax-20060715.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_ajax;a=summary From evrim at core.gen.tr Sun Jul 16 03:19:47 2006 From: evrim at core.gen.tr (Evrim ULU) Date: Sun, 16 Jul 2006 06:19:47 +0300 Subject: [Bese-devel] ucw+ changes Message-ID: <44B9B053.8020007@core.gen.tr> Hi, After Lou's comments about IE7 and discussion on #ucw with oudelis to run this on Safari, i've patched some of the code. tested with ff/moz/ie6 again. Hope it works. evrim. Sun Jul 16 06:10:39 EEST 2006 evrim at core.gen.tr * when changed with awhen in application.charset fix. Sun Jul 16 06:05:50 EEST 2006 evrim at core.gen.tr * check for client-side object availabllity, Don't create if exists. otherwise IE7 will complain. Patch by Lou Vanek. Sun Jul 16 06:00:05 EEST 2006 evrim at core.gen.tr * script/style tags removed from ajax response. we replaced them by divs. 02_dom.li sp refactored accordingly. Now we create style element on the fly. Fri Jul 14 18:01:31 EEST 2006 evrim at core.gen.tr * test application :www-root -> :www-roots fix. Fri Jul 14 17:56:04 EEST 2006 evrim at core.gen.tr * fixed encoding for dojo.io.bind. now if application.charset is nil, encoding is a ssumed to be UTF-8. Thanks Lou Vanek for pointing. Wed Jul 12 21:03:38 EEST 2006 evrim at core.gen.tr * fx duration 400->200. From mb at bese.it Sun Jul 16 13:09:28 2006 From: mb at bese.it (Marco Baringer) Date: Sun, 16 Jul 2006 15:09:28 +0200 Subject: [Bese-devel] ucw config stuff Message-ID: hi, i'd really like to drop the config stuff and all the associated *ucw-backend-...* variables. reasons: 1) afaik nobody's maintaing it (i definetly do not use it) 1a) afaki nobody's even using it ( 2) changing these variables, things like *ucw-log-level* and *ucw-wwwroot*, are only looked at when create-server is called, changing them later has no effect (this is confusing). 3) i don't see what advantage there is to editing etc/conf.lisp vs etc/start.lisp. comments? -- -Marco Ring the bells that still can ring. Forget your perfect offering. There is a crack in everything. That's how the light gets in. -Leonard Cohen From attila.lendvai at gmail.com Sun Jul 16 16:36:26 2006 From: attila.lendvai at gmail.com (Attila Lendvai) Date: Sun, 16 Jul 2006 18:36:26 +0200 Subject: [Bese-devel] ucw config stuff In-Reply-To: References: Message-ID: > > 2) changing these variables, things like *ucw-log-level* and > *ucw-wwwroot*, are only looked at when create-server is called, > changing them later has no effect (this is confusing). > > 3) i don't see what advantage there is to editing etc/conf.lisp vs > etc/start.lisp. > > comments? i mostly agree, but be careful with *ucw-compile-time-log-level* for obvious reasons this variable must be set after the ucw.asd file was loaded (after a (find-system :ucw), so that it's defined) and before loading ucw itself with (require :ucw). ofcourse this can be done in start.lisp, but the way it's defined in the ucw.asd file in the ucw-system package is a must-have as far as is can see. -- - attila "- The truth is that I've been too considerate, and so became unintentionally cruel... - I understand. - No, you don't understand! We don't speak the same language!" Ingmar Bergman - Smultronst?llet (Wild Strawberries) -------------- next part -------------- An HTML attachment was scrubbed... URL: From attila.lendvai at gmail.com Sun Jul 16 16:58:29 2006 From: attila.lendvai at gmail.com (Attila Lendvai) Date: Sun, 16 Jul 2006 18:58:29 +0200 Subject: [Bese-devel] my recent parenscript fixes Message-ID: hi! recently i had to fix several parenscript bugs. i don't know the codebase too well, but i have a feeling that i'm usually fixing a cornercase instead of the general problem. i usually leave a TODO entry at these points in the hope that someone with a better knowledge of parenscript will eventually take a look at these patches... -- - attila "- The truth is that I've been too considerate, and so became unintentionally cruel... - I understand. - No, you don't understand! We don't speak the same language!" Ingmar Bergman - Smultronst?llet (Wild Strawberries) -------------- next part -------------- An HTML attachment was scrubbed... URL: From mdanish at andrew.cmu.edu Sun Jul 16 18:19:46 2006 From: mdanish at andrew.cmu.edu (mrd) Date: Sun, 16 Jul 2006 14:19:46 -0400 Subject: [Bese-devel] possible memory issues with UCW Message-ID: <20060716181946.GB15631@mapcar.org> I had a short discussion on IRC about this, a quick summary: * I'm noticing that my application is slowly increasing its dynamic-space usage over a period of time, and eventually it seems to be hitting the top and crashing. * The backtracks list on some standard-session-frames is growing to be on the order of 4000 in length for some users. * In addition, the frames table count was around 200 in the standard-session. * Primary resource usage comes from simple-character-strings by far and then cons objects in 2nd. Everything else is below code objects. * I'm using SBCL in Linux 2.4. I'm not sure what causes this, or whether the problem is with my code or UCW. I was asked if I did anything special with containers, which I do: I use a container based on tabbed-pane for the main menu of user interaction. It's subclassed and modified such that the "tabs" are in a side-bar and it displays the current-component in the rest of the screen. For a while, you could switch between tabs without losing your state in another tab, which I thought was great but... users insisted on "normal web semantics" for this container, which means that it must start with a fresh component every time you click on a tab. So, I concocted this: (defcomponent admin-menu (tabbed-pane) ((original-contents :accessor original-contents)) (:default-initargs :current-component-name (caar (admin-menu-contents)) :contents (admin-menu-contents) :template-name "admin-menu.tal")) (defmethod shared-initialize :after ((c admin-menu) slot-names &rest initargs &key contents) (declare (ignore initargs slot-names)) (setf (original-contents c) contents)) (defaction switch-component-using-original ((c admin-menu) label) (switch-component c label) (setf (find-component c label) (make-instance (class-of (cdr (assoc label (original-contents c) :test (container.label-test c))))))) Another component takes care of displaying the sidebar and making calls to switch-component-using-original. As you can see, whenever a user clicks on a sidebar tab they invoke switch-component but also (setf find-component) which creates a new instance of the component to which is being switched. Not really understanding how the backtrack mechanism works, I think I could have easily caused trouble with it with code like the above. Though, I don't really know. From attila.lendvai at gmail.com Sun Jul 16 18:56:03 2006 From: attila.lendvai at gmail.com (Attila Lendvai) Date: Sun, 16 Jul 2006 20:56:03 +0200 Subject: [Bese-devel] possible memory issues with UCW In-Reply-To: <20060716181946.GB15631@mapcar.org> References: <20060716181946.GB15631@mapcar.org> Message-ID: > > I had a short discussion on IRC about this, a quick summary: i was looking at the ucw internals and it seems like there's a generic issue with apps that are heavy on dynamic component instantiation. seems like to me that at various occasions (a component is instantiated or when a component is added to a container) backtracked places are registered. this list is cloned into each frame in make-next-frame, so it constantly grows. assuming that i'm correct with the above and it really needs fixing, we could turn the backtrack collection into a weak collection and add a non-weak collection to each component holding its backtracked places, so that it's not gc'd. then container could remove the backtracks it registered, and as components go by the weak backtrack collection gets smaller in the frames. the problem with this is that sometimes a component is sitting in a backed-up backtracked place and it is the only reference to it. then the weak backtrack collection would let it go and a back button would miss the backtracking of that value. then we need another non-weak collection that is a per frame backtrack collection and holds those backtracks that were registered when this frame was the current frame. but i stop here, because i may be missing something from the big picture... -- - attila "- The truth is that I've been too considerate, and so became unintentionally cruel... - I understand. - No, you don't understand! We don't speak the same language!" Ingmar Bergman - Smultronst?llet (Wild Strawberries) -------------- next part -------------- An HTML attachment was scrubbed... URL: From hbabcockos1 at mac.com Sun Jul 16 19:53:30 2006 From: hbabcockos1 at mac.com (hbabcockos1 at mac.com) Date: Sun, 16 Jul 2006 15:53:30 -0400 Subject: [Bese-devel] ucw config stuff In-Reply-To: References: Message-ID: <030224A8-73C6-40BE-9B08-B976CACB0F00@mac.com> On Jul 16, 2006, at 9:09 AM, Marco Baringer wrote: > > hi, > > i'd really like to drop the config stuff and all the associated > *ucw-backend-...* variables. I do use them to specify what type of backend to use, what port to listen on, etc... Do you mean to make them into arguments that you would pass to ucw:create-server? Does there already exist another mechanism for specifying the backend? -Hazen From vanek at acd.net Sun Jul 16 22:37:30 2006 From: vanek at acd.net (Lou Vanek) Date: Sun, 16 Jul 2006 22:37:30 +0000 Subject: [Bese-devel] rfc2388 Message-ID: <44BABFAA.9050701@acd.net> if anybody out there is using clisp and needs an rfc2388 mime parser, the attached code will probably save you some time. character stream entry point: parse-mime-c binary stream entry point: parse-mime-b parse-mime-b is pretty much just a carbon copy of what's already in rfc2388; and parse-mime-c has a more robust parser to take care of clisp's end-of-line read quirks on windows systems. This code should work with all CLs since there is no clisp-specific code. There are two minor additional features: - parse-mime-c can parse dirtier mime headers - there is an option to set maximum mime size to avoid one form of DoS. Original code cribbed from Michael Weber michaelw+tbnl at foldr.org (thanks Michael!). -lv -------------- next part -------------- A non-text attachment was scrubbed... Name: rfc2388.lisp.gz Type: application/x-gzip Size: 10708 bytes Desc: not available URL: From hbabcockos1 at mac.com Sun Jul 16 22:57:55 2006 From: hbabcockos1 at mac.com (hbabcockos1 at mac.com) Date: Sun, 16 Jul 2006 18:57:55 -0400 Subject: [Bese-devel] Need informations about the different projects In-Reply-To: <1839ad060607031557w5beb86dcmd840e4aed6c51214@mail.gmail.com> References: <1839ad060607031557w5beb86dcmd840e4aed6c51214@mail.gmail.com> Message-ID: <88016590-6CF6-4B15-867E-853054167CA7@mac.com> On Jul 3, 2006, at 6:57 PM, Xavier Maillard wrote: > Hi, > > I just discovered ucw which sounds great and that I will clearly > use here. > > Though I have several question to submit: > > 1. are there any good and serious application developed with UCW to > see what is doable ? You might also look at: http://www.hbabcock.org/lisp/flash/flashcard.ucw The source code behind this site is available here: http://www.hbabcock.org/flashcards/notes.html This site is for the benefit of those who, like me, have an older iPod and are interested in using it to learn Chinese. It lets you make custom decks of flashcards that you can load onto your iPod (running iPod Linux) and review at your leisure. I believe that it demonstrates some UCW coolness :). -Hazen From vanek at acd.net Sun Jul 16 23:07:23 2006 From: vanek at acd.net (Lou Vanek) Date: Sun, 16 Jul 2006 23:07:23 +0000 Subject: [Bese-devel] ucw config stuff In-Reply-To: References: Message-ID: <44BAC6AB.7080907@acd.net> Marco Baringer wrote: > hi, > > i'd really like to drop the config stuff and all the associated > *ucw-backend-...* variables. > > reasons: > > 1) afaik nobody's maintaing it (i definetly do not use it) > > 1a) afaki nobody's even using it ( > > 2) changing these variables, things like *ucw-log-level* and > *ucw-wwwroot*, are only looked at when create-server is called, > changing them later has no effect (this is confusing). > > 3) i don't see what advantage there is to editing etc/conf.lisp vs > etc/start.lisp. > > comments? not to mention vars.lisp. merging all these configs would simplify things, but since my code base is diverging i really don't have much of an opinion. From mbaringer at common-lisp.net Mon Jul 17 04:15:03 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Mon, 17 Jul 2006 00:15:03 -0400 (EDT) Subject: [Bese-devel] New patches to yaclml: 16-Jul-2006 Message-ID: <20060717041503.5E6EC22007@common-lisp.net> Sat Jul 15 18:03:06 EDT 2006 attila.lendvai at gmail.com * Added support for custom attributes YACLML> (let ((x 42)) (<:test (@ "foo" "bar" "eLiTE" x) :dd "gg" "boddy")) boddy YACLML> (let ((customs (list "aSdF" 42 "Foo" "bar"))) (<:test (@ customs) :dd "gg" "body")) body M ./src/attribute-bind.lisp -47 +54 M ./src/yaclml.lisp -48 +86 An updated tarball of yaclml's source can be downloaded here: http://common-lisp.net/project/bese/tarballs/yaclml-20060716.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=yaclml;a=summary From mbaringer at common-lisp.net Mon Jul 17 04:20:02 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Mon, 17 Jul 2006 00:20:02 -0400 (EDT) Subject: [Bese-devel] New patches to parenscript: 16-Jul-2006 Message-ID: <20060717042002.A837B2817E@common-lisp.net> Sun Jul 16 13:07:49 EDT 2006 Marco Baringer * Drop unused js2.lisp R ./src/js2.lisp Sun Jul 16 12:47:17 EDT 2006 attila.lendvai at gmail.com * Fix compilation of (.call (lambda () ...) arg1 ...), add missing ()'s around the lambda M ./src/js.lisp -7 +14 Sun Jul 16 12:46:30 EDT 2006 attila.lendvai at gmail.com * Fix compilation of ((foo) bar) -> foo()(bar) M ./src/js.lisp -1 +8 Sun Jul 16 12:39:46 EDT 2006 attila.lendvai at gmail.com * Fixed js-with WARNING: this involves syntax change Previously the syntax of with was this: (with (object) body) now it's: (with object body) It was also broken when 'object' was an expression... M ./src/js.lisp -3 +3 An updated tarball of parenscript's source can be downloaded here: http://common-lisp.net/project/ucw/tarballs/parenscript-20060716.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=parenscript;a=summary From mbaringer at common-lisp.net Mon Jul 17 04:30:05 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Mon, 17 Jul 2006 00:30:05 -0400 (EDT) Subject: [Bese-devel] New patches to ucw_ajax: 16-Jul-2006 Message-ID: <20060717043005.B6A6732008@common-lisp.net> Sun Jul 16 14:39:44 EDT 2006 attila.lendvai at gmail.com * Added a dojo-split-container to the examples M ./examples/examples.lisp -64 +79 M ./wwwroot/ucw/examples/examples.css -9 +32 Sun Jul 16 14:35:16 EDT 2006 attila.lendvai at gmail.com * Added with-this js macro M ./src/parenscript-utils.lisp +8 M ./src/per-application-parenscript.lisp +1 Sun Jul 16 14:33:26 EDT 2006 attila.lendvai at gmail.com * Added dojo-split-container, and some dojo-widget features M ./src/components/dojo-widgets.lisp -39 +109 M ./src/packages.lisp +2 Sun Jul 16 14:28:25 EDT 2006 attila.lendvai at gmail.com * Updated dojo, added SplitContainer M ./etc/ucw.profile.js +3 M ./wwwroot/dojo/dojo.js A ./wwwroot/dojo/src/widget/templates/HtmlSplitContainer.css Sun Jul 16 12:59:35 EDT 2006 attila.lendvai at gmail.com * Introduce an 'orientation' slot on list-container, needed by dojo-split-container M ./src/components/container.lisp -16 +16 Sun Jul 16 04:41:18 EDT 2006 attila.lendvai at gmail.com * Added the dojo-tab-example to itself recursively M ./examples/examples.lisp -5 +9 M ./wwwroot/ucw/examples/examples.css -2 +6 An updated tarball of ucw_ajax's source can be downloaded here: http://common-lisp.net/project/ucw/tarballs/ucw_ajax-20060716.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_ajax;a=summary From henrik at evahjelte.com Mon Jul 17 08:14:40 2006 From: henrik at evahjelte.com (Henrik Hjelte) Date: Mon, 17 Jul 2006 10:14:40 +0200 Subject: [Bese-devel] my recent parenscript fixes In-Reply-To: References: Message-ID: <1153124080.22762.70.camel@trinidad> On Sun, 2006-07-16 at 18:58 +0200, Attila Lendvai wrote: > hi! > > recently i had to fix several parenscript bugs. i don't know the > codebase too well, but i have a feeling that i'm usually fixing a > cornercase instead of the general problem. i usually leave a TODO > entry at these points in the hope that someone with a better knowledge > of parenscript will eventually take a look at these patches... One comment: the reference tests fails (asdf:oos 'load-op :parenscript.test) because of the new syntax change to "with". What is missing is an update to the documentation in reference.lisp, and a rebuild of the reference tests like this: (js-test:js-test:make-reference-tests-dot-lisp) I'll have a look at the other changes later, they seem like good ideas. /Henrik Hjelte From mb at bese.it Mon Jul 17 14:23:30 2006 From: mb at bese.it (Marco Baringer) Date: Mon, 17 Jul 2006 16:23:30 +0200 Subject: [Bese-devel] Re: rfc2388 References: <44BABFAA.9050701@acd.net> Message-ID: Lou Vanek writes: > if anybody out there is using clisp and needs an rfc2388 mime parser, > the attached code will probably save you some time. does the current parser fail on clisp? > character stream entry point: parse-mime-c > binary stream entry point: parse-mime-b > > parse-mime-b is pretty much just a carbon copy of what's already in > rfc2388; and parse-mime-c has a more robust parser to take care of > clisp's end-of-line read quirks on windows systems. > This code should work with all CLs since there is no clisp-specific code. > There are two minor additional features: > - parse-mime-c can parse dirtier mime headers what's the definition of 'dirtier'? -- -Marco Ring the bells that still can ring. Forget your perfect offering. There is a crack in everything. That's how the light gets in. -Leonard Cohen From mb at bese.it Mon Jul 17 14:26:25 2006 From: mb at bese.it (Marco Baringer) Date: Mon, 17 Jul 2006 16:26:25 +0200 Subject: [Bese-devel] Re: ucw config stuff References: <030224A8-73C6-40BE-9B08-B976CACB0F00@mac.com> Message-ID: hbabcockos1 at mac.com writes: > I do use them to specify what type of backend to use, what port to > listen on, etc... Do you mean to make them into arguments that you > would pass to ucw:create-server? Does there already exist another > mechanism for specifying the backend? instead of having those variables you'd just change the arguments in ucw:create-server. instead of changing their values in config.lisp, or conf.lisp, you'd change the call to ucw:create-server in start.lisp. -- -Marco Ring the bells that still can ring. Forget your perfect offering. There is a crack in everything. That's how the light gets in. -Leonard Cohen From vanek at acd.net Mon Jul 17 15:16:44 2006 From: vanek at acd.net (Lou Vanek) Date: Mon, 17 Jul 2006 15:16:44 +0000 Subject: [Bese-devel] Re: rfc2388 In-Reply-To: References: <44BABFAA.9050701@acd.net> Message-ID: <44BBA9DC.7070203@acd.net> Marco Baringer wrote: > Lou Vanek writes: > >>if anybody out there is using clisp and needs an rfc2388 mime parser, >>the attached code will probably save you some time. > > > does the current parser fail on clisp? On the mime headers i get when running the upload file example, clisp cannot parse 'em, at least on windows. Two reasons below. Third reason: the stream i get from araneida (nonbuffered-character) is not readable via "read-byte", which is why i added the stream-reader function. But i still had problems with the parser, as detailed below. > >>character stream entry point: parse-mime-c >>binary stream entry point: parse-mime-b >> >>parse-mime-b is pretty much just a carbon copy of what's already in >>rfc2388; and parse-mime-c has a more robust parser to take care of >>clisp's end-of-line read quirks on windows systems. >>This code should work with all CLs since there is no clisp-specific code. >>There are two minor additional features: >>- parse-mime-c can parse dirtier mime headers > > > what's the definition of 'dirtier'? The binary parser cannot handle pure-unix line endings, and i believe the binary parser requires two dashes surrounding the boundary string. clisp coalesces into just on windows unless you are able to drop down into reading the stream in binary, which i wasn't able to do. I don't think that's possible in clisp for some types of streams. i think the binary parser expects the boundary to be both prefixed and suffixed with two dashes, but the mime boundary that i received didn't end with two dashes, and rfc2046 doesn't require it. i also don't think the binary parser currently is set up to restrict the size of the upload. hth From mb at bese.it Mon Jul 17 15:53:47 2006 From: mb at bese.it (Marco Baringer) Date: Mon, 17 Jul 2006 17:53:47 +0200 Subject: [Bese-devel] Re: rfc2388 References: <44BABFAA.9050701@acd.net> <44BBA9DC.7070203@acd.net> Message-ID: Lou Vanek writes: > Marco Baringer wrote: > >> Lou Vanek writes: >> >>>if anybody out there is using clisp and needs an rfc2388 mime parser, >>>the attached code will probably save you some time. >> does the current parser fail on clisp? > > On the mime headers i get when running the upload file example, > clisp cannot parse 'em, at least on windows. Two reasons below. > Third reason: the stream i get from araneida (nonbuffered-character) > is not readable via "read-byte", which is why i added the stream-reader > function. But i still had problems with the parser, as detailed below. yeah, araneida treats http as a text protocol. unfortunetely it is not :( the _solution_ is to fix araneida...btw that's where i think you should send this patch. > The binary parser cannot handle pure-unix line endings, > and i believe the binary parser requires two dashes surrounding > the boundary string. the binary parser doesn't know what a line ending is. it can handle CRLF sequences just fine. > clisp coalesces into just on windows unless > you are able to drop down into reading the stream in binary, > which i wasn't able to do. I don't think that's possible in clisp > for some types of streams. then we need to add an :external-format when araneida. if you're treating the http stream as text where do you setup the character encoding? one of the main reasons i wrote the new rfc2388 was to deal with non-ascii, non-utf data, i can not accept a change to rfc2388 which breaks this. > i think the binary parser expects the boundary to be > both prefixed and suffixed with two dashes, but the > mime boundary that i received didn't end with two dashes, > and rfc2046 doesn't require it. rfc2388 specifies two dashes on either side of the boundray as an end-of-data marker. between parts the boundry is only prefixed by the dashes. note that rfc2388 and rfc2046 are different standards (albeit very similar). rfc2388 does not purport to implement rfc2046. is there a browser out there sending rfc2046 in place of rfc2388? (explorer right?) > i also don't think the binary parser currently is set > up to restrict the size of the upload. no, but it is flexable enough to allow you do that without changing the parser itself: (defvar *maximum-size-limit* (- space-left-on-disk 1MB)) (read-mime binary-stream boundry (lambda (mime-part) (let ((counter 0)) (values (lambda (byte) (when (< *maximum-size-limit* counter) (error 'data-overflow)) (collect-byte-somewhere byte) (incf counter)) (lambda (mime-part) mime-part))))) ucw's callback function in is ucw/src/backend/common.lisp. -- -Marco Ring the bells that still can ring. Forget your perfect offering. There is a crack in everything. That's how the light gets in. -Leonard Cohen From mb at bese.it Mon Jul 17 15:58:14 2006 From: mb at bese.it (Marco Baringer) Date: Mon, 17 Jul 2006 17:58:14 +0200 Subject: [Bese-devel] Re: rfc2388 References: <44BABFAA.9050701@acd.net> <44BBA9DC.7070203@acd.net> Message-ID: Marco Baringer writes: > then we need to add an :external-format when araneida. um, sorry: then we need to add an :external-format argument when araneida opens the stream (i believe :unix will tell clisp to assume CR is #\Newline and LF is #\Linefeed). -- -Marco Ring the bells that still can ring. Forget your perfect offering. There is a crack in everything. That's how the light gets in. -Leonard Cohen From vanek at acd.net Mon Jul 17 18:09:34 2006 From: vanek at acd.net (Lou Vanek) Date: Mon, 17 Jul 2006 18:09:34 +0000 Subject: [Bese-devel] Re: rfc2388 In-Reply-To: References: <44BABFAA.9050701@acd.net> <44BBA9DC.7070203@acd.net> Message-ID: <44BBD25E.80209@acd.net> Marco Baringer wrote: > Lou Vanek writes: > > >>Marco Baringer wrote: >> >> >>>Lou Vanek writes: >>> >>> >>>>if anybody out there is using clisp and needs an rfc2388 mime parser, >>>>the attached code will probably save you some time. >>> >>>does the current parser fail on clisp? >> >>On the mime headers i get when running the upload file example, >>clisp cannot parse 'em, at least on windows. Two reasons below. >>Third reason: the stream i get from araneida (nonbuffered-character) >>is not readable via "read-byte", which is why i added the stream-reader >>function. But i still had problems with the parser, as detailed below. > > > yeah, araneida treats http as a text protocol. unfortunetely it is > not :( > > the _solution_ is to fix araneida...btw that's where i think you > should send this patch. i don't see how sending rfc2388 code to an http server project helps, but if i explained all the problems i'm having with their choice of streams that may be of some use. on second thought, maybe you're right. Maybe they'll add rfc2388 support directly into the http server. I didn't get the impression that araneida was maintained any more, though. >>The binary parser cannot handle pure-unix line endings, >>and i believe the binary parser requires two dashes surrounding >>the boundary string. > > > the binary parser doesn't know what a line ending is. it can handle > CRLF sequences just fine. but the state machine spends quite a bit of time dealing with line-end characters (or at least integers 13s and 10s) when parsing the mime headers. the mime headers that i was getting back from ff where getting lost in this state machine and (most of the time) not reaching the final state. it's just my opinion, but i don't think it's too much of a stretch to support unix line endings in addition to DOS. But that's only my opinion. It seems to work for me on windows on my wacky setup. >>clisp coalesces into just on windows unless >>you are able to drop down into reading the stream in binary, >>which i wasn't able to do. I don't think that's possible in clisp >>for some types of streams. > > > then we need to add an :external-format when araneida. i'm not having any more trouble supporting both unix and dos line endings. It doesn't require much code, and the version-c state machine is more robust. sam gave an explanation of why he coalesces the line-ending characters but i can't remember his explanation. It sounded good at the time. (saw it somewhere on c.l.l.) if you're > treating the http stream as text where do you setup the character > encoding? i'm just assuming character data is either ISO 8859-1 or a subset thereof, which is the way araneida is hard-coded and the mode i start clisp up in. not a perfect solution, i know, but i don't need a perfect solution. > one of the main reasons i wrote the new rfc2388 was to deal with > non-ascii, non-utf data, i can not accept a change to rfc2388 which > breaks this. ok. thanks for saying it. i don't see why having both a binary and character parser hurts, though, especially if somebody's in the situation where they have a character stream and you can't change it. And it needs to also work with rfc2046 headers. But i understand it's easier to support just one parser. >>i think the binary parser expects the boundary to be >>both prefixed and suffixed with two dashes, but the >>mime boundary that i received didn't end with two dashes, >>and rfc2046 doesn't require it. > > > rfc2388 specifies two dashes on either side of the boundray as an > end-of-data marker. between parts the boundry is only prefixed by the > dashes. note that rfc2388 and rfc2046 are different standards (albeit > very similar). rfc2388 does not purport to implement rfc2046. i didn't know that. Then i'm not receiving mime headers in rfc2388 back from my browsers. > is there a browser out there sending rfc2046 in place of rfc2388? > (explorer right?) every boundary i have inspected so far starts with dashes but ends with some sort of line ending character (no double-dash). i spend 90% of my time debugging in ff1.5.x/windows, and 10% of my time in ie7b3. Given up on opera. Don't have access to mac unless I pull the ol' SE30 out of the closet. Lost my linux dual boot in a terrible accident. >>i also don't think the binary parser currently is set >>up to restrict the size of the upload. > > > no, but it is flexable enough to allow you do that without changing > the parser itself: > > (defvar *maximum-size-limit* (- space-left-on-disk 1MB)) > > (read-mime binary-stream boundry > (lambda (mime-part) > (let ((counter 0)) > (values (lambda (byte) > (when (< *maximum-size-limit* counter) > (error 'data-overflow)) > (collect-byte-somewhere byte) > (incf counter)) > (lambda (mime-part) > mime-part))))) > > ucw's callback function in is ucw/src/backend/common.lisp. good to know. thanks, -lv From mdanish at andrew.cmu.edu Mon Jul 17 20:15:17 2006 From: mdanish at andrew.cmu.edu (mrd) Date: Mon, 17 Jul 2006 16:15:17 -0400 Subject: [Bese-devel] possible memory issues with UCW In-Reply-To: <20060716181946.GB15631@mapcar.org> References: <20060716181946.GB15631@mapcar.org> Message-ID: <20060717201517.GC15631@mapcar.org> I am starting to believe that my "use" of the container class is causing the memory allocation issues. Looking at the BACKTRACKS slot of the current frame, it grows from a length of 6 (at the login screen) to 680 (when the main admin menu first displays after log in). Because there are 16 or so components in the container, and each component is fairly complex, I think it is adding lots of unnecessary backtracks to the current frame due to the undisplayed components. -- ;; Matthew Danish -- user: mrd domain: cmu.edu ;; OpenPGP public key: C24B6010 on keyring.debian.org From mb at bese.it Mon Jul 17 21:05:05 2006 From: mb at bese.it (Marco Baringer) Date: Mon, 17 Jul 2006 23:05:05 +0200 Subject: [Bese-devel] Re: rfc2388 References: <44BABFAA.9050701@acd.net> <44BBA9DC.7070203@acd.net> <44BBD25E.80209@acd.net> Message-ID: Lou Vanek writes: > i don't see how sending rfc2388 code to an http server project helps, > but if i explained all the problems i'm having with their choice > of streams that may be of some use. > > on second thought, maybe you're right. Maybe they'll add rfc2388 support > directly into the http server. I didn't get the impression that araneida > was maintained any more, though. the problem revolves around the encoding for the data. let's say you have a form uploading a picture, if clisp tries to treat this as utf-8 encoded data you're going to get corruption. the only real solution is to explicitly manage the decoding of the various parts of the data and treat the input as binary, converting it only when you have enough info to do it properly. >>>The binary parser cannot handle pure-unix line endings, >>>and i believe the binary parser requires two dashes surrounding >>>the boundary string. >> the binary parser doesn't know what a line ending is. it can handle >> CRLF sequences just fine. > > but the state machine spends quite a bit of time dealing with line-end > characters (or at least integers 13s and 10s) when parsing the mime headers. > the mime headers that i was getting back from ff where getting lost in > this state machine and (most of the time) not reaching the final state. yeah, since the first thing in a boundry line is a CRLF sequence the state machine spends the vast vast majority of its time looking for boundries. > it's just my opinion, but i don't think it's too much of a stretch > to support unix line endings in addition to DOS. But that's only > my opinion. It seems to work for me on windows on my wacky setup. once you've decided to treat the data as character then you're right. my problem is with treating the data as chars. >>>clisp coalesces into just on windows unless >>>you are able to drop down into reading the stream in binary, >>>which i wasn't able to do. I don't think that's possible in clisp >>>for some types of streams. >> then we need to add an :external-format when araneida. > > i'm not having any more trouble supporting both > unix and dos line endings. It doesn't require much code, and the > version-c state machine is more robust. > > sam gave an explanation of why he coalesces the line-ending > characters but i can't remember his explanation. It sounded > good at the time. (saw it somewhere on c.l.l.) i agree that read-char, on windows, should return #\Newline for a cr-lf sequence, while on unix it will only consume the CR character. that's what people expect from a text oriented interface. however you'll notice that rcf2388 defines CR as byte 10, not as some code-point in a character space, it's a binary protocol. the real issue in all of this is that araneida treats http as text... > if you're >> treating the http stream as text where do you setup the character >> encoding? > > i'm just assuming character data is either ISO 8859-1 or a subset thereof, > which is the way araneida is hard-coded and the mode i start clisp up in. > not a perfect solution, i know, but i don't need a perfect solution. iso-8859-9 (not iso-8859-1) has the nice property of not changing the binary data when encoding/decoding (unlike utf-X), if you don't have a choice that's what you should use. >> one of the main reasons i wrote the new rfc2388 was to deal with >> non-ascii, non-utf data, i can not accept a change to rfc2388 which >> breaks this. > > ok. thanks for saying it. > i don't see why having both a binary and character parser hurts, though, > especially if somebody's in the situation where they have a character stream > and you can't change it. And it needs to also work with rfc2046 headers. > But i understand it's easier to support just one parser. it hurts because a character parser can not, by definiton, work correctly. sorry. if someone on araneida needs multipart/form-data support than your parser is a fine solution and should be included in araneida. at the same time i have issues with supporting in the generic rfc2388 parser (which is the reason you sent it to this list right?) >>>i think the binary parser expects the boundary to be >>>both prefixed and suffixed with two dashes, but the >>>mime boundary that i received didn't end with two dashes, >>>and rfc2046 doesn't require it. >> rfc2388 specifies two dashes on either side of the boundray as an >> end-of-data marker. between parts the boundry is only prefixed by the >> dashes. note that rfc2388 and rfc2046 are different standards (albeit >> very similar). rfc2388 does not purport to implement rfc2046. > > i didn't know that. Then i'm not receiving mime headers in rfc2388 > back from my browsers. > >> is there a browser out there sending rfc2046 in place of rfc2388? >> (explorer right?) > > every boundary i have inspected so far starts with dashes but ends with > some sort of line ending character (no double-dash). > > i spend 90% of my time debugging in ff1.5.x/windows, and 10% of my time > in ie7b3. Given up on opera. Don't have access to mac unless I pull the > ol' SE30 out of the closet. Lost my linux dual boot in a terrible accident. do you have some data you could post? i've tested with ff on various platforms (even windows) and have never seen this behaviour. -- -Marco Ring the bells that still can ring. Forget your perfect offering. There is a crack in everything. That's how the light gets in. -Leonard Cohen From mbaringer at common-lisp.net Tue Jul 18 04:00:13 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Tue, 18 Jul 2006 00:00:13 -0400 (EDT) Subject: [Bese-devel] New patches to arnesi_dev: 17-Jul-2006 Message-ID: <20060718040013.E7D1979000@common-lisp.net> Mon Jul 10 15:48:35 EDT 2006 attila.lendvai at gmail.com * Pass keywords to print-unreadable-object from defprint-object M ./src/io.lisp -2 +3 An updated tarball of arnesi_dev's source can be downloaded here: http://common-lisp.net/project/bese/tarballs/arnesi_dev-20060717.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=arnesi_dev;a=summary From mbaringer at common-lisp.net Tue Jul 18 04:30:08 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Tue, 18 Jul 2006 00:30:08 -0400 (EDT) Subject: [Bese-devel] New patches to ucw_ajax: 17-Jul-2006 Message-ID: <20060718043008.C62A71B001@common-lisp.net> Mon Jul 17 07:04:04 EDT 2006 attila.lendvai at gmail.com * Hrm, update dojo again and do not include Firebug M ./etc/ucw.profile.js -1 M ./examples/examples.lisp -1 +6 M ./wwwroot/dojo/dojo.js A ./wwwroot/dojo/src/debug/ A ./wwwroot/dojo/src/debug/Firebug.js An updated tarball of ucw_ajax's source can be downloaded here: http://common-lisp.net/project/ucw/tarballs/ucw_ajax-20060717.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_ajax;a=summary From aja at clanarmstrong.com Tue Jul 18 16:12:41 2006 From: aja at clanarmstrong.com (AJ Armstrong) Date: Tue, 18 Jul 2006 10:12:41 -0600 Subject: [Bese-devel] Re: ucw config stuff Message-ID: With regard to Marco's desire to drop the "config stuff": I'm currently cleaning up a set of ebuilds (gentoo install scripts) for ucw-dev (and they will likely serve as templates for ucw-ajax, etc.) and its various dependancies. Just at the moment, I'm using a global server install, including the /etc/ucw files, a /var/lib/ucw/wwwroot, and the ucwctl scripts. The idea is that ucw will start as a service and get its configuration from the contents of /etc/ucw. An interesting co-incidence is that what I working on right now is the configuration stuff - patching it for gentoo, etc. I have no issue with the global configuration stuff moving around, but I want to make sure that it is present *somewhere* and request that some time be spent deciding on a consistent and standard implementation that we can be reasonably comfortable isn't going to change every time a commit happens. I'd also welcome anyone's comments and advice about whether my endeavors are useful (or doomed). -- -------------- AJ Armstrong (aja) aja at clanarmstrong.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From evrim at core.gen.tr Tue Jul 18 18:04:25 2006 From: evrim at core.gen.tr (Evrim ULU) Date: Tue, 18 Jul 2006 21:04:25 +0300 Subject: [Bese-devel] ucw+ form support Message-ID: <44BD22A9.3010309@core.gen.tr> Hi, I've pushed form support for ucw+. Updated test4.lisp accordingly. Currently, it supports textfield, checkbox, combobox, mutliple-select, radio form fields. What is missing is the file upload field and textarea. Also, for an unknown reason, when form is posted IE6 kills itself. Besides, it does not have validation yet. After stating what is missing, it's good to state what is in the repo. http://common-lisp.net/project/core-services/repos/ucw+/test/test4.lisp contains the test4.lisp for viewing what is new. Here is the main idea, render the form as html without putting any logic in it. Afterwards, bind controller via render-javascript using input-connect. Input-connect is a macro as: (defmacro input-connect (dom-id &key accessor reader writer) ...) One may suppy form element dom-id (or multiple id's for radio groups) and the accessor to make form field work. All bindings are done via 05_form.lisp/initFormField js function. I've put form example to http://labs.core.gen.tr/ucw-plus/test4.ucw for testing. That's all for now. Here is the short changelog: Tue Jul 18 16:52:47 EEST 2006 evrim at core.gen.tr * added input-connect to exports. Shall I push this patch? (1/6) [ynWvpxqadjk], or ? for help: y Tue Jul 18 16:53:11 EEST 2006 evrim at core.gen.tr * 05_form.lisp added to repository as form handling js stack. Shall I push this patch? (2/6) [ynWvpxqadjk], or ? for help: y Tue Jul 18 16:53:43 EEST 2006 evrim at core.gen.tr * new form base tests added to test4.lisp. Shall I push this patch? (3/6) [ynWvpxqadjk], or ? for help: y Tue Jul 18 16:54:02 EEST 2006 evrim at core.gen.tr * added 05_form to js includes of ajax-window. Shall I push this patch? (4/6) [ynWvpxqadjk], or ? for help: y Tue Jul 18 16:54:29 EEST 2006 evrim at core.gen.tr * 05_form dispatcher added to ajax-application. Shall I push this patch? (5/6) [ynWvpxqadjk], or ? for help: y Tue Jul 18 16:54:51 EEST 2006 evrim at core.gen.tr * input-connect added. From now on, input-connect can be used for form input field handling. Shall I push this patch? (6/6) [ynWvpxqadjk], or ? for help: y From mdanish at andrew.cmu.edu Tue Jul 18 20:00:32 2006 From: mdanish at andrew.cmu.edu (mrd) Date: Tue, 18 Jul 2006 16:00:32 -0400 Subject: [Bese-devel] ucw:form, onSubmit, and ucw:simple-form Message-ID: <20060718200032.GE15631@mapcar.org> I am using the TAL template language for a particular form. Prior to updates I was using an onSubmit javascript method in the ucw:form element. Now it seems that is disallowed because of some new changes. In any case, it was suggested that I use ucw:simple-form instead. However, I cannot figure out how to get it to work in TAL. causes ERROR: ucw:simple-form falls through ecase! Which is in tal.lisp under the def-attribute handler thingy for ucw:action. Ok. How about: Nothing, doesn't register as a UCW action. So I'm not clear what should be done. Is this a bug in the def-attribute handler for ucw:action? From newsgroup at bontempi.net Tue Jul 18 20:22:34 2006 From: newsgroup at bontempi.net (Priyadarshan) Date: Tue, 18 Jul 2006 16:22:34 -0400 Subject: [Bese-devel] Re: ucw config stuff In-Reply-To: References: Message-ID: AJ Armstrong wrote: > > With regard to Marco's desire to drop the "config stuff": [...] > Just at the moment, I'm using a global server install, including the > /etc/ucw files, a /var/lib/ucw/wwwroot, and the ucwctl scripts. The > idea is that ucw will start as a service and get its configuration from > the contents of /etc/ucw. An interesting co-incidence is that what I > working on right now is the configuration stuff - patching it for > gentoo, etc. > [...] > I'd also welcome anyone's comments and advice about whether my endeavors > are useful (or doomed). I am new to ucw, but I am following it with the greatest interest. As far I understand ucw uses a modified version of TAL, which relates very closely to Zope. Maybe you could have a look at how the Zope app machinery handles those other issues? I believe the Zope people stumbled on the same road blocks as you guys, and spent quite some resources in ironing out lots of things in a very UNIX way. Priyadarshan Bontempi From vanek at acd.net Tue Jul 18 21:00:08 2006 From: vanek at acd.net (Lou Vanek) Date: Tue, 18 Jul 2006 21:00:08 +0000 Subject: [Bese-devel] ucw:form, onSubmit, and ucw:simple-form In-Reply-To: <20060718200032.GE15631@mapcar.org> References: <20060718200032.GE15631@mapcar.org> Message-ID: <44BD4BD8.3070001@acd.net> mrd wrote: > I am using the TAL template language for a particular form. Prior to > updates I was using an onSubmit javascript method in the ucw:form > element. Now it seems that is disallowed because of some new changes. > In any case, it was suggested that I use ucw:simple-form instead. > However, I cannot figure out how to get it to work in TAL. > > > > causes ERROR: ucw:simple-form falls through ecase! Which is in tal.lisp > under the def-attribute handler thingy for ucw:action. > > Ok. How about: > > > > Nothing, doesn't register as a UCW action. > > So I'm not clear what should be done. Is this a bug in the > def-attribute handler for ucw:action? > > _______________________________________________ > bese-devel mailing list > bese-devel at common-lisp.net > http://common-lisp.net/cgi-bin/mailman/listinfo/bese-devel The "upload.tal" file gives an example of using ucw:action within a tal form. This tal file is part of the standard examples that are shipped with ucw, and is used in the "Form upload example." The action the tal file calls is defined in forms.lisp. -lv From mdanish at andrew.cmu.edu Tue Jul 18 21:35:42 2006 From: mdanish at andrew.cmu.edu (mrd) Date: Tue, 18 Jul 2006 17:35:42 -0400 Subject: [Bese-devel] ucw:form, onSubmit, and ucw:simple-form In-Reply-To: <44BD4BD8.3070001@acd.net> References: <20060718200032.GE15631@mapcar.org> <44BD4BD8.3070001@acd.net> Message-ID: <20060718213542.GF15631@mapcar.org> On Tue, Jul 18, 2006 at 09:00:08PM +0000, Lou Vanek wrote: > mrd wrote: > >I am using the TAL template language for a particular form. Prior to > >updates I was using an onSubmit javascript method in the ucw:form > >element. Now it seems that is disallowed because of some new changes. > >In any case, it was suggested that I use ucw:simple-form instead. > >However, I cannot figure out how to get it to work in TAL. > The "upload.tal" file gives an example of using ucw:action > within a tal form. This tal file is part of the standard examples > that are shipped with ucw, and is used in the "Form upload > example." The action the tal file calls is defined in > forms.lisp. Re-read that first paragraph, please. From luca at pca.it Tue Jul 18 21:36:08 2006 From: luca at pca.it (Luca Capello) Date: Tue, 18 Jul 2006 23:36:08 +0200 Subject: [Bese-devel] Re: ucw config stuff In-Reply-To: (AJ Armstrong's message of "Tue, 18 Jul 2006 10:12:41 -0600") References: Message-ID: <87mzb67fzr.fsf@gismo.pca.it> Hello! On Tue, 18 Jul 2006 18:12:41 +0200, AJ Armstrong wrote: > With regard to Marco's desire to drop the "config stuff": And it seems I need to speak up, too, as the first author of the whole "config stuff"... :-D > Just at the moment, I'm using a global server install, including the > /etc/ucw files, a /var/lib/ucw/wwwroot, and the ucwctl scripts. The > idea is that ucw will start as a service and get its configuration > from the contents of /etc/ucw. This was the idea behind my patches: prepare ucw as a global server service, ? la Apache, still letting a "normal" user to start it. > I have no issue with the global configuration stuff moving around, > but I want to make sure that it is present *somewhere* and request > that some time be spent deciding on a consistent and standard > implementation that we can be reasonably comfortable isn't going to > change every time a commit happens. FWIW, I think that configuration stuff belongs to /etc (or, obviously, ~/.ucw in case of non-wide ones). And that was the plan behind ucwctl... I think that in case of deletion of the config stuff, I'll probably re-add it with a Debian-specific patch, as soon as I'll finish the package. This because not the local admin neither a normal user are allowed to modify files in /usr (except /usr/local), as ucw will be probably installed in /usr/share/common-lisp/source/ucw/ (or something similar). Obviously, I'm for sure for a upstream (and general) solution :-) Thx, bye, Gismo / Luca -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 188 bytes Desc: not available URL: From vanek at acd.net Tue Jul 18 21:52:13 2006 From: vanek at acd.net (Lou Vanek) Date: Tue, 18 Jul 2006 21:52:13 +0000 Subject: [Bese-devel] Re: ucw:form, onSubmit, and ucw:simple-form In-Reply-To: <20060718213542.GF15631@mapcar.org> References: <20060718200032.GE15631@mapcar.org> <44BD4BD8.3070001@acd.net> <20060718213542.GF15631@mapcar.org> Message-ID: <44BD580D.3060506@acd.net> mrd wrote: > On Tue, Jul 18, 2006 at 09:00:08PM +0000, Lou Vanek wrote: > >> mrd wrote: > > > >>> I am using the TAL template language for a particular form. Prior to >>> updates I was using an onSubmit javascript method in the ucw:form >>> element. Now it seems that is disallowed because of some new changes. >>> In any case, it was suggested that I use ucw:simple-form instead. >>> However, I cannot figure out how to get it to work in TAL. > > > >> The "upload.tal" file gives an example of using ucw:action >> within a tal form. This tal file is part of the standard examples >> that are shipped with ucw, and is used in the "Form upload >> example." The action the tal file calls is defined in >> forms.lisp. > > > > Re-read that first paragraph, please. The sited forms example works for me, with all patches sans one: the yaclml 'added support to custom attributes' patch. That patch made clisp go into an endless tail spin. Might fix your problems, too. -lv From mbaringer at common-lisp.net Wed Jul 19 04:30:09 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Wed, 19 Jul 2006 00:30:09 -0400 (EDT) Subject: [Bese-devel] New patches to ucw_dev: 18-Jul-2006 Message-ID: <20060719043009.1DA3458318@common-lisp.net> Tue Jul 18 09:43:35 EDT 2006 evrim at core.gen.tr * fixed a bug in accumulate-parameters, single values were returning as lists. M ./src/backend/httpd.lisp -1 +1 Tue Jul 18 08:51:53 EDT 2006 evrim at core.gen.tr * fix for read-request method of httpd, mod-lisp, multithread-http backends. now request parameters are accumulated as lists if same named parameters exists in the request header. this allows us to use multiple-selection lists which sends different values with the same parameter name several times. * l10n/yaclml integration fixed. - Actually define It seems the following somewhat obscure parenscript expression does not parenthize the output correctly: (js:js* '(setf (slot-value (setf my-function (lambda () (return 22))) "NAME") "myFunction")) ==> myFunction = function () { return 22; }['NAME'] = 'myFunction'; The assignment to myFunction should be parenthized (with the object index outside the parentheses), or it will just be assigned a string instead of a function. This is a rather weird corner case, but as you probably guessed from the example, I'm trying to write a macro to define member functions and automatically name them in the same statement so they show up properly in FireBug backtraces. I'm rather intimidated by the internals of parenscript, but I'm wondering if this would be easy to fix. Marijn -------------- next part -------------- An HTML attachment was scrubbed... URL: From mbaringer at common-lisp.net Thu Jul 20 04:30:10 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Thu, 20 Jul 2006 00:30:10 -0400 (EDT) Subject: [Bese-devel] New patches to ucw_dev: 19-Jul-2006 Message-ID: <20060720043010.668D3671A2@common-lisp.net> Wed Jul 19 15:18:43 EDT 2006 Maciek Pasternacki * Reverse messages in STATUS-BAR's (RENDER) method to print them out in original order. M ./src/components/status-bar.lisp -1 +1 Wed Jul 19 13:38:11 EDT 2006 Maciek Pasternacki * Return from (VALIDP FORM) second value with list of conses (INVALID-FIELD . FAILED-VALIDATOR). M ./src/components/form.lisp -11 +21 An updated tarball of ucw_dev's source can be downloaded here: http://common-lisp.net/project/ucw/tarballs/ucw_dev-20060719.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_dev;a=summary From door at lcpi.ru Thu Jul 20 08:06:38 2006 From: door at lcpi.ru (Alexey Antipov) Date: Thu, 20 Jul 2006 12:06:38 +0400 Subject: [Bese-devel] flet/labels does not create implict block? Message-ID: <20060720080638.GA13886@rabbit.loc> (walk-form '(flet ((foo (x) (return-from foo x))) (foo 1))) results with "Unable to return from block named FOO.". suggestions? From door at lcpi.ru Thu Jul 20 12:41:22 2006 From: door at lcpi.ru (Alexey Antipov) Date: Thu, 20 Jul 2006 16:41:22 +0400 Subject: [Bese-devel] %defaction logging error Message-ID: <20060720124122.GA14644@rabbit.loc> in %defaction (list ,@(arnesi:extract-argument-names other-args)))) expands into (list (var class)), which result is "The variable CLASS is unbound." can this be fixed with simple quoting? - (list ,@(arnesi:extract-argument-names other-args)))) + (list ',@(arnesi:extract-argument-names other-args)))) From evrim at core.gen.tr Thu Jul 20 18:53:43 2006 From: evrim at core.gen.tr (Evrim ULU) Date: Thu, 20 Jul 2006 21:53:43 +0300 Subject: [Bese-devel] ucw+ changes Message-ID: <44BFD137.3070907@core.gen.tr> Hi, what a week. I was very busy to fix bugs in ucw+ and finally i've got something to show. I've added all necessary basic form field support to ucw+. The bug that crashed IE is solved, which was in null css parsing. I've added null check to 02_dom.lisp & parseCss() js function. Now ucw+ can handle ajax file uploads gracefully. To handle file uploads, IframeTransport is added to dojo profile, so please rebuild dojo. It's only used when there is a file field in form. Remember, It's rather slow than browserIO. Also, i've removed the depreciated uses of dojo and applied the api changes like new dojo.lfx. I'm using now dojo revision 4826 from dojo svn repo. I've tested the current code with mozilla/ff on linux, ff/ie6/opera on win32. I've added short changelog to the end of message. Ah, about to forget, i've added a small feature to avoid a general html fault. I always forget to set enctype of the file upload form to "multipart/form-data". To solve this, when input-connect sees a file input, it changes forms enctype to multipart. Have a nice day. Evrim. Thu Jul 20 21:38:53 EEST 2006 evrim at core.gen.tr * darcs bug, same code but wants to record. Thu Jul 20 21:34:55 EEST 2006 evrim at core.gen.tr * test4 fixed for IE6. Added dummy names to radio button, no way around, sorry. Thu Jul 20 21:34:30 EEST 2006 evrim at core.gen.tr * fix for file upload & dojo.io.IframeIO transport Thu Jul 20 21:34:09 EEST 2006 evrim at core.gen.tr * radio and checkboxs fixed for IE. Thu Jul 20 20:46:40 EEST 2006 evrim at core.gen.tr * fix IE crash due to empty css parsing. Wed Jul 19 18:07:41 EEST 2006 evrim at core.gen.tr * added server.event.disconnect-events() to document.onunload to avoid memleak on IE. Wed Jul 19 17:58:44 EEST 2006 evrim at core.gen.tr * added rfc2388 to asdf deps. needed for form file field decoding. Wed Jul 19 17:58:08 EEST 2006 evrim at core.gen.tr * dojo API changes applied. use dojo from svn. Wed Jul 19 17:30:22 EEST 2006 evrim at core.gen.tr * added check for availability of input field in initFormField. Wed Jul 19 15:28:30 EEST 2006 evrim at core.gen.tr * added (describe (file-input self)) to refresh-my-form of test4. now it shows the existence of uploaded file. Wed Jul 19 15:19:41 EEST 2006 evrim at core.gen.tr * input-connect updated to handle file input field. Wed Jul 19 15:19:25 EEST 2006 evrim at core.gen.tr * 05_form updated to handle file input field. Wed Jul 19 15:19:06 EEST 2006 evrim at core.gen.tr * test4 updated for file input field. Wed Jul 19 15:18:42 EEST 2006 evrim at core.gen.tr * fix for dojo.io.IframeTransport. Now we use iframeIO to send multipart forms (i.e . files) Wed Jul 19 12:20:11 EEST 2006 evrim at core.gen.tr * dojo.io.IframeIO added in order file upload to work. Wed Jul 19 11:14:28 EEST 2006 evrim at core.gen.tr * added checkForMultipartForm to 05_form.lisp to ensure that form.enctype is multip art/form-data. Tue Jul 18 22:50:59 EEST 2006 evrim at core.gen.tr * debug messages added to initFormField Tue Jul 18 22:14:33 EEST 2006 evrim at core.gen.tr * password input field support. Tue Jul 18 22:14:28 EEST 2006 evrim at core.gen.tr * password input field tests Tue Jul 18 21:54:02 EEST 2006 evrim at core.gen.tr * textarea support done. Tue Jul 18 21:53:47 EEST 2006 evrim at core.gen.tr * textarea input field tests added. Tue Jul 18 21:48:42 EEST 2006 evrim at core.gen.tr * updated README +form support. Tue Jul 18 21:13:27 EEST 2006 evrim at core.gen.tr * fixed callback-lambda of input-connect when used with :reader & :writer. From evrim at core.gen.tr Thu Jul 20 19:05:55 2006 From: evrim at core.gen.tr (Evrim ULU) Date: Thu, 20 Jul 2006 22:05:55 +0300 Subject: [Bese-devel] ucw+ changes In-Reply-To: <74616B27-F8CF-49DF-B065-067A65E51F4F@infoway.net> References: <44BFD137.3070907@core.gen.tr> <74616B27-F8CF-49DF-B065-067A65E51F4F@infoway.net> Message-ID: <44BFD413.5070906@core.gen.tr> Daniel Salama wrote: > Hi, > > I've been offline for some time and disconnected from UCW, so please > pardon my questions: > > 1) How would I be able to download this latest version of ucw+? > Should I use the CVS version or the boxed version? > 2) Are there new examples included to show all these new features? You should better use boxset for ucw. ucw+ is an add-on for ucw_dev which has a seperate repo. To get the ucw boxset: darcs get http://common-lisp.net/project/ucw/repos/ucw-boxset/ and run get-all.sh to get all dependencies. To get ucw+: darcs get http://common-lisp.net/project/core-services/repos/ucw+ evrim. From lists at infoway.net Thu Jul 20 20:26:15 2006 From: lists at infoway.net (Daniel Salama) Date: Thu, 20 Jul 2006 16:26:15 -0400 Subject: [Bese-devel] ucw+ changes In-Reply-To: <44BFD137.3070907@core.gen.tr> References: <44BFD137.3070907@core.gen.tr> Message-ID: <74616B27-F8CF-49DF-B065-067A65E51F4F@infoway.net> Hi, I've been offline for some time and disconnected from UCW, so please pardon my questions: 1) How would I be able to download this latest version of ucw+? Should I use the CVS version or the boxed version? 2) Are there new examples included to show all these new features? Thanks, Daniel On Jul 20, 2006, at 2:53 PM, Evrim ULU wrote: > Hi, what a week. > > I was very busy to fix bugs in ucw+ and finally i've got something to > show. I've added all necessary basic form field support to ucw+. > > The bug that crashed IE is solved, which was in null css parsing. I've > added null check to 02_dom.lisp & parseCss() js function. > > Now ucw+ can handle ajax file uploads gracefully. To handle file > uploads, IframeTransport is added to dojo profile, so please rebuild > dojo. It's only used when there is a file field in form. Remember, > It's > rather slow than browserIO. > > Also, i've removed the depreciated uses of dojo and applied the api > changes like new dojo.lfx. I'm using now dojo revision 4826 from dojo > svn repo. > > I've tested the current code with mozilla/ff on linux, ff/ie6/opera on > win32. I've added short changelog to the end of message. > > Ah, about to forget, i've added a small feature to avoid a general > html > fault. I always forget to set enctype of the file upload form to > "multipart/form-data". To solve this, when input-connect sees a file > input, it changes forms enctype to multipart. > > Have a nice day. > Evrim. > > Thu Jul 20 21:38:53 EEST 2006 evrim at core.gen.tr > * darcs bug, same code but wants to record. > > Thu Jul 20 21:34:55 EEST 2006 evrim at core.gen.tr > * test4 fixed for IE6. Added dummy names to radio button, no way > around, sorry. > > Thu Jul 20 21:34:30 EEST 2006 evrim at core.gen.tr > * fix for file upload & dojo.io.IframeIO transport > > Thu Jul 20 21:34:09 EEST 2006 evrim at core.gen.tr > * radio and checkboxs fixed for IE. > > Thu Jul 20 20:46:40 EEST 2006 evrim at core.gen.tr > * fix IE crash due to empty css parsing. > > Wed Jul 19 18:07:41 EEST 2006 evrim at core.gen.tr > * added server.event.disconnect-events() to document.onunload to > avoid > memleak on IE. > > Wed Jul 19 17:58:44 EEST 2006 evrim at core.gen.tr > * added rfc2388 to asdf deps. needed for form file field decoding. > > Wed Jul 19 17:58:08 EEST 2006 evrim at core.gen.tr > * dojo API changes applied. use dojo from svn. > > Wed Jul 19 17:30:22 EEST 2006 evrim at core.gen.tr > * added check for availability of input field in initFormField. > > Wed Jul 19 15:28:30 EEST 2006 evrim at core.gen.tr > * added (describe (file-input self)) to refresh-my-form of test4. > now > it shows the > existence of uploaded file. > > Wed Jul 19 15:19:41 EEST 2006 evrim at core.gen.tr > * input-connect updated to handle file input field. > > Wed Jul 19 15:19:25 EEST 2006 evrim at core.gen.tr > * 05_form updated to handle file input field. > > Wed Jul 19 15:19:06 EEST 2006 evrim at core.gen.tr > * test4 updated for file input field. > > Wed Jul 19 15:18:42 EEST 2006 evrim at core.gen.tr > * fix for dojo.io.IframeTransport. Now we use iframeIO to send > multipart forms (i.e > . files) > > Wed Jul 19 12:20:11 EEST 2006 evrim at core.gen.tr > * dojo.io.IframeIO added in order file upload to work. > > Wed Jul 19 11:14:28 EEST 2006 evrim at core.gen.tr > * added checkForMultipartForm to 05_form.lisp to ensure that > form.enctype is multip > art/form-data. > > Tue Jul 18 22:50:59 EEST 2006 evrim at core.gen.tr > * debug messages added to initFormField > > Tue Jul 18 22:14:33 EEST 2006 evrim at core.gen.tr > * password input field support. > > Tue Jul 18 22:14:28 EEST 2006 evrim at core.gen.tr > * password input field tests > > Tue Jul 18 21:54:02 EEST 2006 evrim at core.gen.tr > * textarea support done. > > Tue Jul 18 21:53:47 EEST 2006 evrim at core.gen.tr > * textarea input field tests added. > > Tue Jul 18 21:48:42 EEST 2006 evrim at core.gen.tr > * updated README +form support. > > Tue Jul 18 21:13:27 EEST 2006 evrim at core.gen.tr > * fixed callback-lambda of input-connect when used with :reader > & :writer. > > > _______________________________________________ > bese-devel mailing list > bese-devel at common-lisp.net > http://common-lisp.net/cgi-bin/mailman/listinfo/bese-devel From luca at pca.it Thu Jul 20 23:20:16 2006 From: luca at pca.it (Luca Capello) Date: Fri, 21 Jul 2006 01:20:16 +0200 Subject: [Bese-devel] rfc2109: upstream alive? Message-ID: <87k667g8y7.fsf@gismo.pca.it> Hello! I noticed that Attila committed some changes to the upstream rfc2109 repository [1], mainly modifying the test suite. As from [2], I tried with no success to contact its author before (cc:ed in this mail, too), because I'm the Debian maintainer and I had implemented a similar test suite, (available at [3]) as I didn't like the hardcoded SBCL dependency in test.sh. The current implementation lets two files, unused IMO: test.sh and the file loaded by it, runner.lisp (try to load it and you see the output a bit different that the rfc2109.test ASDF system). I think they should be removed or the test suite could load runner.lisp (renamed to test.lisp, as I did at [3]). Moreover, as rfc2109.lisp contains RFC documents, I removed them from the Debian package [4] (they are against the DFSG [5]) and I'll propose the same for upstream (but this is a _very_personal_opinion_). Just FYI. Thx, bye, Gismo / Luca [1] http://common-lisp.net/project/rfc2109/rfc2109 [2] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=359348 [3] http://cl-debian.alioth.debian.org/repository/lcapello/rfc2109-gismo [4] http://cl-debian.alioth.debian.org/repository/lcapello/rfc2109-upstream [5] http://www.debian.org/social_contract#guidelines -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 188 bytes Desc: not available URL: From marijnh at gmail.com Fri Jul 21 07:57:24 2006 From: marijnh at gmail.com (Marijn Haverbeke) Date: Fri, 21 Jul 2006 09:57:24 +0200 Subject: [Bese-devel] Parenscript patch / Allowing strings and numbers for slot names in CREATE construct Message-ID: I ran across a problem where a javascript library wanted me to pass an object with the attributes for a DOM object (MochiKit's createDOM), in which I wanted to include a 'class' attribute. But IE decides to choke on javascript that uses the word class in an object literal, unless it is escaped as a string. Since the javascript standard allows you to use strings and numbers as slot names in object literals, but parenscript's (create ....) didn't, I made this patch which fixes that, and allows one to do (create "class" "foobar"). Regards, Marijn -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: strings-and-numbers-as-slot-names-patch Type: application/octet-stream Size: 10543 bytes Desc: not available URL: From eirikald at pvv.ntnu.no Wed Jul 12 19:00:37 2006 From: eirikald at pvv.ntnu.no (Eirik A. Nygaard) Date: Wed, 12 Jul 2006 21:00:37 +0200 Subject: [Bese-devel] Error loading UCW from emacs/slime Message-ID: <20060712190037.GH21978@stud.ntnu.no> Hi, when I try to load ucw (downloaded the boxset) from emacs with slime I get: "component "ucw" not found, required by # References: <87k667g8y7.fsf@gismo.pca.it> Message-ID: <20060721005616.GI15462@alan.shields.name> On Fri, Jul 21, 2006 at 01:20:16AM +0200, Luca Capello wrote: > I noticed that Attila committed some changes to the upstream rfc2109 > repository [1], mainly modifying the test suite. > > As from [2], I tried with no success to contact its author before > (cc:ed in this mail, too), because I'm the Debian maintainer and I had > implemented a similar test suite, (available at [3]) as I didn't like > the hardcoded SBCL dependency in test.sh. Luca, my apologies. I'm under the weather something fierce. That and I receive over 50 spam emails an hour - I found your old mails and will go through them this weekend. Along with the other patches I've received. > The current implementation lets two files, unused IMO: test.sh and the > file loaded by it, runner.lisp (try to load it and you see the output > a bit different that the rfc2109.test ASDF system). I think they > should be removed or the test suite could load runner.lisp (renamed to > test.lisp, as I did at [3]). > > Moreover, as rfc2109.lisp contains RFC documents, I removed them from > the Debian package [4] (they are against the DFSG [5]) and I'll > propose the same for upstream (but this is a _very_personal_opinion_). Stripping these is fine, though they're there to be the best form of documentation (in my opinion). Which clause of the DFSG do they violate? Any pointers from Debian Legal? I admit confusion. If anyone has any advice on the test suite, I'm all ears. Eyes. Whatever. Lastly, thank you very much for packaging this. Your efforts are appreciated, however much unsung. Alan -- "There are some folks that, if they don't know, you can't tell 'em." -- Louis Armstrong From attila.lendvai at gmail.com Fri Jul 21 09:25:12 2006 From: attila.lendvai at gmail.com (Attila Lendvai) Date: Fri, 21 Jul 2006 11:25:12 +0200 Subject: [Bese-devel] Re: rfc2109: upstream alive? In-Reply-To: <20060721005616.GI15462@alan.shields.name> References: <87k667g8y7.fsf@gismo.pca.it> <20060721005616.GI15462@alan.shields.name> Message-ID: > Moreover, as rfc2109.lisp contains RFC documents, I removed them from > > the Debian package [4] (they are against the DFSG [5]) and I'll > > propose the same for upstream (but this is a _very_personal_opinion_). > > Stripping these is fine, though they're there to be the best form of > documentation (in my opinion). i would vote against that, for the same reason. > > If anyone has any advice on the test suite, I'm all ears. Eyes. Whatever. i had a hard time to create a setup that causes the least trouble and has the tests in the same file as the main code togather with the standard. (for reference the trouble was that when the project was loaded while 5am was also loaded then the tests were loaded and compiled into the fasl. which failed to load when next time the 5am was not in the vm...) -- - attila "- The truth is that I've been too considerate, and so became unintentionally cruel... - I understand. - No, you don't understand! We don't speak the same language!" Ingmar Bergman - Smultronst?llet (Wild Strawberries) -------------- next part -------------- An HTML attachment was scrubbed... URL: From hbabcockos1 at mac.com Sat Jul 22 01:35:55 2006 From: hbabcockos1 at mac.com (hbabcockos1 at mac.com) Date: Fri, 21 Jul 2006 21:35:55 -0400 Subject: [Bese-devel] simple-form question Message-ID: Hello, I'm trying to create forms as needed to get values from the user, but have run into the following puzzling behavior: This doesn't work: (I get the error message "The variable FORM- TEST::FORM1 is unbound" when I click on the submit button) (defcomponent form1 (simple-form) ((field1 :accessor field1 :initform (make-instance 'string-field :input-size 10)))) (defcomponent form-test (simple-window-component) ((content :accessor content :initform nil) (result :accessor result :initform nil)) (:default-initargs :title "Form Test" :content-type "text/html; charset=utf-8;" :javascript nil)) (defaction handle-form-1 ((session form-test) (form form1)) (setf (result session) (value (field1 form1))) (setf *debug* (result session))) (defmethod render ((session form-test)) (let ((the-form (make-instance 'form1))) ( Hi, UnCommon Web has a great and no doubt a useful feature: javascript-based form validation. But I always was scared by an amount of javascript generated for validation purposes. Today I tried to optimize that code the results are pretty good: the javascript code shrunk with a factor between 2 and 3. I believe it is possible to reduce it even more. What I did: * pulled as much javascript code from individual validators to the top * pulled as much as possible from input field scripts to the form-related script * used dojo.byId instead of document.getElementById What I did not yet: * pulling common code into a separate static javascript file (I am not sure how to do it in a proper manner, because the javascript should be loaded only when there are UCW forms in the document) * pulling out generic code like a check if a number is between two other numbers (it would be laconic to write something like isNumberBetween (field.value, 2, 10);) * fixing bugs which were found in the process The bugs which seems to exist in the original version: * A change to a selected field does not revalidate the rest of the fields. The bug can be seen in the example "Form demo": change the form so that both "Password" and "String" are filled with the same text and then remove the text in "String" -> both "String" and "Password" will look like valid, while in fact the "Password" is invalid because it's value is not the same as the value of "String". * In the form-specific javascript the "form" variable is global. Theoretically, this can lead to very bad consequences if there are more than one form on a page. =================================================================== As an example of the results I achieved today I attach old and new versions of one of the input field validators. OLD version: ------------ document.getElementById('_ucw_3').ucwValidate = function () { if ((function () { var value = document.getElementById('_ucw_3').value; return !value || (!isNaN(value) || value.split('/').length == 2 && !isNaN(value.split('/')[0]) && !isNaN(value.split('/')[1]) && 0 != value.split('/')[0] && 0 != value.split('/')[1]); }) ()) { (function (element) { dojo.html.removeClass (document.getElementById('_ucw_3'), 'ucw-form-field-invalid'); dojo.html.addClass (document.getElementById('_ucw_3'), 'ucw-form-field-valid'); }) (document.getElementById('_ucw_3')); } else { (function (element) { var element = document.getElementById('_ucw_3'); if (!dojo.html.hasClass(element, 'ucw-form-field-invalid')) { dojo.html.removeClass(element, 'ucw-form-field-valid'); dojo.html.addClass(element, 'ucw-form-field-invalid'); }; }) (document.getElementById('_ucw_3')); return null; }; }; dojo.event.connect (dojo.byId('_ucw_3'), 'onkeyup', function (event) { document.getElementById('_ucw_3').ucwValidate(); }); document.getElementById('_ucw_3').ucwValidate(); NEW version: ------------ (function (f) { form.registerField (f, function () { var value = f.value; return (function () { return !value || (!isNaN(value) || value.split('/').length == 2 && !isNaN(value.split('/')[0]) && !isNaN(value.split('/')[1]) && 0 != value.split('/')[0] && 0 != value.split('/')[1]); }) (); }); f.ucwValidate(); }) (dojo.byId('_ucw_3')); =================================================================== I'd like to share the changes I did with anybody interested. The changes will definitely need a review, because I am new to LISP and maybe I have removed something I should not. Probably I should create a patch and send it to somebody? With best regards, Denys R From hbabcockos1 at mac.com Sat Jul 22 16:45:53 2006 From: hbabcockos1 at mac.com (Hazen Babcock) Date: Sat, 22 Jul 2006 12:45:53 -0400 Subject: [Bese-devel] simple-form question In-Reply-To: References: Message-ID: <2D278136-5348-4D58-939E-1D8A5B8A4648@mac.com> On Jul 22, 2006, at 10:45 AM, Attila Lendvai wrote: > i suggest giving more descriptive names... form1 is a type not a > variable at the (value ...) call Sorry, I was trying to create a simple example of the behavior (Thanks also to Matthew for pointing out my typo). At the risk of further embarrassment, I submit that the following example will throw the same error, "The variable FORM-TEST::STRING-FORM is unbound. [Condition of type UNBOUND-VARIABLE]". (defcomponent string-form (simple-form) ((string-input :accessor string-input :initform (make-instance 'string-field :input-size 10)))) (defcomponent form-test (simple-window-component) ((result :accessor result :initform nil)) (:default-initargs :title "Form Test" :content-type "text/html; charset=utf-8;" :javascript nil)) (defaction handle-string-form ((session form-test) (my-form string- form)) (setf (result session) (value (string-input my-form)))) (defmethod render ((session form-test)) (let ((the-form (make-instance 'string-form))) ( References: <1153584220.18989.21.camel@blackfire> Message-ID: some fyi's... * used dojo.byId instead of document.getElementById there's a macro named $ in the ajax branch for this > What I did not yet: > * pulling common code into a separate static javascript file (I am not > sure how to do it in a proper manner, because the javascript should be > loaded only when there are UCW forms in the document) > you can stuff into a global js as much as you want and have the browser cache the js file for you. see per-application-parenscript.lispespecially in the ajax branch where it's full of stuff already. * pulling out generic code like a check if a number is between two other > numbers (it would be laconic to write something like isNumberBetween > (field.value, 2, 10);) don't know what you mean here, but having an ( ucw.forms.validators.number.between field-id 10 20) does not seem to be that bad. again, the ajax branch has many similar constructs... * fixing bugs which were found in the process there's a pending form field patch by Marijn that fixes several bugs but it's being updated for the new infrastructure in the ajax branch that simplifies it. * In the form-specific javascript the "form" variable is global. > Theoretically, this can lead to very bad consequences if there are more > than one form on a page. fixed in ajax: From rtvd at mail.ru Sat Jul 22 18:31:37 2006 From: rtvd at mail.ru (Denys Rtveliashvili) Date: Sat, 22 Jul 2006 22:31:37 +0400 Subject: [Bese-devel] reducing amount of javascript code for form validation In-Reply-To: References: <1153584220.18989.21.camel@blackfire> Message-ID: <1153593097.18989.33.camel@blackfire> > some fyi's... > > * used dojo.byId instead of document.getElementById > > there's a macro named $ in the ajax branch for this > > What I did not yet: > * pulling common code into a separate static javascript file > (I am not > sure how to do it in a proper manner, because the javascript > should be > loaded only when there are UCW forms in the document) > > you can stuff into a global js as much as you want and have the > browser cache the js file for you. see > per-application-parenscript.lisp especially in the ajax branch where > it's full of stuff already. Thank you for the hint! As I see, it is possible to use some of the ajax branch features to improve the code even more. What is unclear though is how to do it in practice: - On one hand, if my changes are used in original ucw branch that seems to be good. But I do not know how to put them there. - And maybe it is possible to put them into ajax branch too. - But if I try to modify my changes to benefit from ajax branch features, they will become incompatible with the original ucw branch, won't they? > * pulling out generic code like a check if a number is between > two other > numbers (it would be laconic to write something like > isNumberBetween > (field.value, 2, 10);) > > don't know what you mean here, but having an > ( ucw.forms.validators.number.between field-id 10 20) does not seem to > be that bad. again, the ajax branch has many similar constructs... Well.. (ucw.forms.validators.number.between field-id 10 20) is a LISP notation in the LISP code. It is eventually translated into JavaScript. And that JavaScript code seems to be rather large. I think it is possible to create a small library of useful functions and call them if it is necessary. That would reduce page size and improve readability. > * fixing bugs which were found in the process > > there's a pending form field patch by Marijn that fixes several bugs > but it's being updated for the new infrastructure in the ajax branch > that simplifies it. > * In the form-specific javascript the "form" variable is > global. > Theoretically, this can lead to very bad consequences if there > are more > than one form on a page. > > fixed in ajax: the opposite and it can also be asked to compile the parenscript at > compile-time. Does it mean, that these patches won't be put into original ucw branch and will exist only in ajax branch? Thank you, Denys R From attila.lendvai at gmail.com Sat Jul 22 18:58:49 2006 From: attila.lendvai at gmail.com (Attila Lendvai) Date: Sat, 22 Jul 2006 20:58:49 +0200 Subject: [Bese-devel] reducing amount of javascript code for form validation In-Reply-To: <1153593097.18989.33.camel@blackfire> References: <1153584220.18989.21.camel@blackfire> <1153593097.18989.33.camel@blackfire> Message-ID: > Thank you for the hint! As I see, it is possible to use some of the ajax > branch features to improve the code even more. What is unclear though is > how to do it in practice: _ajax will be _dev and _dev will be _stable. the current ajax branch is only temporary, not a fork. there were some backwards incompatible changes with some refactorings that were much easier to manage in a different branch. - On one hand, if my changes are used in original ucw branch that seems > to be good. But I do not know how to put them there. > - And maybe it is possible to put them into ajax branch too. > - But if I try to modify my changes to benefit from ajax branch > features, they will become incompatible with the original ucw branch, > won't they? almost all patches will reach the _stable branch sooner or later so it's wiser to do new development in the ajax branch. if Marco is happy with the code and there are no more pending large-scale changes then the branch renames will be done in the following weeks. Well.. (ucw.forms.validators.number.between field-id 10 20) is a LISP > notation in the LISP code. It is eventually translated into JavaScript. > And that JavaScript code seems to be rather large. I think it is > possible to create a small library of useful functions and call them if > it is necessary. That would reduce page size and improve readability. as a personal opinion, readability of the lisp code is far more important then the generated page size or the readability of the generated js. of course it does not mean that the latter two are not important at all... > fixed in ajax: > the opposite and it can also be asked to compile the parenscript at > > compile-time. > > Does it mean, that these patches won't be put into original ucw branch > and will exist only in ajax branch? > see above -- - attila "- The truth is that I've been too considerate, and so became unintentionally cruel... - I understand. - No, you don't understand! We don't speak the same language!" Ingmar Bergman - Smultronst?llet (Wild Strawberries) -------------- next part -------------- An HTML attachment was scrubbed... URL: From rtvd at mail.ru Sat Jul 22 19:36:12 2006 From: rtvd at mail.ru (Denys Rtveliashvili) Date: Sat, 22 Jul 2006 23:36:12 +0400 Subject: [Bese-devel] reducing amount of javascript code for form validation In-Reply-To: References: <1153584220.18989.21.camel@blackfire> <1153593097.18989.33.camel@blackfire> Message-ID: <1153596972.18989.42.camel@blackfire> > almost all patches will reach the _stable branch sooner or later so > it's wiser to do new development in the ajax branch. if Marco is happy > with the code and there are no more pending large-scale changes then > the branch renames will be done in the following weeks. Atilla, how may I put my changes into ajax branch? Is there a standard procedure for it? I suppose that if I "push" the changes using darcs, that might be not the right thing... Maybe I should "send" the patch to somebody? > as a personal opinion, readability of the lisp code is far more important then the generated page size or the readability of the generated js. of course it does not mean that the latter two are not important at all... I agree with you. The LISP code should be absolutely clear. On the other hand, why not make the HTML output more clean and clear also if it does not make the LISP code dirty? With best regards, Denys R From rtvd at mail.ru Sat Jul 22 21:24:25 2006 From: rtvd at mail.ru (Denys Rtveliashvili) Date: Sun, 23 Jul 2006 01:24:25 +0400 Subject: [Bese-devel] ucw_ajax does not build Message-ID: <1153603465.18989.47.camel@blackfire> I tried to download and build the ajax branch of UnCommon Web. After getting it from http://common-lisp.net/project/ucw/repos/ucw_ajax, removing .fasl files from cache and rebuilding I saw the following error: --------------- debugger invoked on a SB-INT:COMPILED-PROGRAM-ERROR in thread #: Execution of a form compiled with errors. Form: (DEFPRINT-OBJECT (URI URI IDENTITY NIL) (WRITE-URI URI *STANDARD-OUTPUT*)) Compile-time error: (during macroexpansion of (DEFPRINT-OBJECT (URI URI ...) ...)) error while parsing arguments to DEFMACRO DEFPRINT-OBJECT: invalid number of elements in (URI URI :IDENTITY NIL) to satisfy lambda list (IT.BESE.ARNESI::SELF CLASS-NAME): exactly 2 expected, but 4 found --------------- I suppose that ajax branch has broke. With best regards, Denys R From attila.lendvai at gmail.com Sun Jul 23 08:27:46 2006 From: attila.lendvai at gmail.com (Attila Lendvai) Date: Sun, 23 Jul 2006 10:27:46 +0200 Subject: [Bese-devel] ucw_ajax does not build In-Reply-To: <1153603465.18989.47.camel@blackfire> References: <1153603465.18989.47.camel@blackfire> Message-ID: > > invalid number of elements in > (URI URI :IDENTITY NIL) > to satisfy lambda list > (IT.BESE.ARNESI::SELF CLASS-NAME): > exactly 2 expected, but 4 found pull arnesi... it's always a good first try to pull the close dependencies when errors pop up. fyi, i might be away for the next few days... -- - attila "- The truth is that I've been too considerate, and so became unintentionally cruel... - I understand. - No, you don't understand! We don't speak the same language!" Ingmar Bergman - Smultronst?llet (Wild Strawberries) -------------- next part -------------- An HTML attachment was scrubbed... URL: From rtvd at mail.ru Sun Jul 23 19:23:25 2006 From: rtvd at mail.ru (Denys Rtveliashvili) Date: Sun, 23 Jul 2006 23:23:25 +0400 Subject: [Bese-devel] ucw_ajax does not build In-Reply-To: References: <1153603465.18989.47.camel@blackfire> Message-ID: <1153682605.747.12.camel@blackfire> > invalid number of elements in > (URI URI :IDENTITY NIL) > to satisfy lambda list > (IT.BESE.ARNESI::SELF CLASS-NAME): > exactly 2 expected, but 4 found > > pull arnesi... it's always a good first try to pull the close > dependencies when errors pop up. I tried to pull ucw_ajax and arnesi but no updates came. Maybe I should use another branch of arnesi if it exists? Meanwhile continue to experiment in the ucw branch. I already pulled out much javascript code into a separate static .js file. It becomes something like a complementary to dojo.js. As for the generated HTML, it becomes thinner every moment. For instance, the form-related javascript code is just a call to a function which does everything necessary on it's own. With best regards, Denys R From vanek at acd.net Sun Jul 23 20:09:59 2006 From: vanek at acd.net (Lou Vanek) Date: Sun, 23 Jul 2006 20:09:59 +0000 Subject: [Bese-devel] ucw_ajax does not build In-Reply-To: <1153682605.747.12.camel@blackfire> References: <1153603465.18989.47.camel@blackfire> <1153682605.747.12.camel@blackfire> Message-ID: <44C3D797.5050008@acd.net> it sounds like your lisp is trying to call the following function in (arnesi_dev) io.lisp: (defmacro defprint-object ((self class-name &key (identity t) (type t)) &body body) if that's the case, the lamba list "(uri uri :identity nil) body" is a valid macro call. maybe your version of sbcl is old? Denys Rtveliashvili wrote: >> invalid number of elements in >> (URI URI :IDENTITY NIL) >> to satisfy lambda list >> (IT.BESE.ARNESI::SELF CLASS-NAME): >> exactly 2 expected, but 4 found >> >>pull arnesi... it's always a good first try to pull the close >>dependencies when errors pop up. > > > I tried to pull ucw_ajax and arnesi but no updates came. Maybe I should > use another branch of arnesi if it exists? all public versions can be accessed at, http://uncommon-web.com/darcsweb/darcsweb.cgi there are only two public branches that i'm aware of that are maintained: ucw_dev, ucw_ajax > Meanwhile continue to experiment in the ucw branch. I already pulled out > much javascript code into a separate static .js file. It becomes > something like a complementary to dojo.js. As for the generated HTML, it > becomes thinner every moment. For instance, the form-related javascript > code is just a call to a function which does everything necessary on > it's own. > > With best regards, > Denys R i like your idea of minimizing javascript. Javascript runs so slow and takes so long to download that it's a real drain when you're trying to create an application with fast response times. i'd be more impressed, however, if you were able to shrink dojo.js. Dojo seems to be a great way to build intranet apps, but not convinced it's lean enough to work in the wild. I've been experimenting with jquery and ucw. Getting much better response times. good luck, -lv From marijnh at gmail.com Mon Jul 24 08:00:25 2006 From: marijnh at gmail.com (Marijn Haverbeke) Date: Mon, 24 Jul 2006 10:00:25 +0200 Subject: [Bese-devel] Keeping the core library separate from the extensions Message-ID: I'd like to hear people's thoughts about the idea of making a clear distinction between the core UCW library (request-response loop, frames, components, actions), andl the extensions to this system (input fields, validators, dojo stuff, some of the things Attila is brewing up in the ajax branch), possibly also separating the extensions into different modules. I personally think this would have the advantage of clarity, and of being able to re-use the core in widely different ways (we're all hackers who like to re-invent stuff) without having to 'fight' the library. For one thing, I feel that the javascript that is generated when you make a form call an action should be optional. It doesn't really serve a purpose in the general case, and I'm not using it, but it is dragging in the whole dojo dependency. I know just including dojo.js won;'t kill me, but I'm something of an HTML minimalist who hates to have cruft in his pages that is not necessary. (I can't help it.) I still haven't really studied the ajax branch, but I'm a bit worried that there will be a rather strong coupling between Attila vision of an UCW app and the library itself. Hope to hear your reactions, Marijn -------------- next part -------------- An HTML attachment was scrubbed... URL: From vanek at acd.net Mon Jul 24 13:23:44 2006 From: vanek at acd.net (Lou Vanek) Date: Mon, 24 Jul 2006 13:23:44 +0000 Subject: [Bese-devel] Keeping the core library separate from the extensions In-Reply-To: References: Message-ID: <44C4C9E0.7020202@acd.net> Marijn Haverbeke wrote: > I'd like to hear people's thoughts about the idea of making a clear > distinction between the core UCW library (request-response loop, frames, > components, actions), andl the extensions to this system (input fields, > validators, dojo stuff, some of the things Attila is brewing up in the > ajax branch), possibly also separating the extensions into different > modules. I personally think this would have the advantage of clarity, > and of being able to re-use the core in widely different ways (we're all > hackers who like to re-invent stuff) without having to 'fight' the library. > > For one thing, I feel that the javascript that is generated when you > make a form call an action should be optional. It doesn't really serve a > purpose in the general case, and I'm not using it, but it is dragging in > the whole dojo dependency. I know just including dojo.js won;'t kill me, > but I'm something of an HTML minimalist who hates to have cruft in his > pages that is not necessary. (I can't help it.) I still haven't really > studied the ajax branch, but I'm a bit worried that there will be a > rather strong coupling between Attila vision of an UCW app and the > library itself. > > > Hope to hear your reactions, > Marijn I completely agree. You've put into words what I have only recently come to understand. UCW is turning into an intranet framework, which wouldn't bother me at all if the extra cruft were optional, but in some cases it isn't. Just to do a 302 redirect you have to make sure you've downloaded a 130K+ javascript file first, and this op can happen frequently. I know the js should have been cached, but this is a symptom of how the framework is requiring too much bandwidth. I have to admit I haven't tried the ucw_ajax branch, though, so maybe Attila has successfully incorporated dojo. If ucw_ajax were a module i would have already downloaded and seen first hand. FOR YOUR CONSIDERATION I would like to see ucw_ajax modularized just like Evrim has done with ucw+. I think ucw+ is wonderful but i have recently decided it's too heavy for some conventional web sites. I don't know exactly why dojo is taking so long to download and configure itself, but it's noticable and probably not an acceptable time delay. Even on my 3GHz computer with 0 wire-delay I get a little anxious waiting for some pages that have dojo in them to load. Over a LAN this wouldn't worry me. Over a WAN it does. If ucw_dev needs js at all it should be at a bare minimum (say 10K compressed js library code). That would mean dojo would no longer be apart of the ucw_dev branch unless it can be completely turned off or alternatively mixed in. Changing validation so that it isn't a drain on page loads is not that hard: just load the validation code AFTER the form has completely loaded in the browser. I've done this in the past and this solves several problems. The validation code doesn't have to be super-small because the download is being done in the background, and the page appears to load quicker. (BTW, an excellant 'delay-eval' module can be found at http://www.thefutureoftheweb.com/blog/2006/6/adddomloadevent. It's less than 900 bytes.) If ucw continues on its current path it will splinter--the main branch may appear intact but the devs and hobbyists using the code base will be forced to hack it to be more internet-friendly. Evrim has already proven that it's possible to modularize the heavy js out. Now the core team should decide whether to modularize ucw_ajax or instead turn it into the trunk and thus make dojo a fixed requirement. I hope they choose the former, but maybe somebody else knows of a better solution. I wish this weren't necessary but apparently it is. 99% of everything I said is just opinion and may be entirely wrong, at least from other people's perspectives. Just one data point. -lv From hbabcockos1 at mac.com Tue Jul 25 02:07:41 2006 From: hbabcockos1 at mac.com (hbabcockos1 at mac.com) Date: Mon, 24 Jul 2006 22:07:41 -0400 Subject: [Bese-devel] Keeping the core library separate from the extensions In-Reply-To: <44C4C9E0.7020202@acd.net> References: <44C4C9E0.7020202@acd.net> Message-ID: <5E2695C8-FF53-437D-8B48-820A80244646@mac.com> On Jul 24, 2006, at 9:23 AM, Lou Vanek wrote: > Marijn Haverbeke wrote: >> I'd like to hear people's thoughts about the idea of making a >> clear distinction between the core UCW library (request-response >> loop, frames, components, actions), andl the extensions to this >> system (input fields, validators, dojo stuff, some of the things >> Attila is brewing up in the ajax branch), possibly also separating >> the extensions into different modules. I personally think this >> would have the advantage of clarity, and of being able to re-use >> the core in widely different ways (we're all hackers who like to >> re-invent stuff) without having to 'fight' the library. >> For one thing, I feel that the javascript that is generated when >> you make a form call an action should be optional. It doesn't >> really serve a purpose in the general case, and I'm not using it, >> but it is dragging in the whole dojo dependency. I know just >> including dojo.js won;'t kill me, but I'm something of an HTML >> minimalist who hates to have cruft in his pages that is not >> necessary. (I can't help it.) I still haven't really studied the >> ajax branch, but I'm a bit worried that there will be a rather >> strong coupling between Attila vision of an UCW app and the >> library itself. >> Hope to hear your reactions, >> Marijn > > I completely agree. You've put into words what I have only recently > come to understand. UCW is turning into an intranet framework, which > wouldn't bother me at all if the extra cruft were optional, but > in some cases it isn't. Just to do a 302 redirect you have to make > sure you've downloaded a 130K+ javascript file first, and this op can > happen frequently. I know the js should have been cached, but this > is a symptom of how the framework is requiring too much bandwidth. I > have to admit I haven't tried the ucw_ajax branch, though, so maybe > Attila has successfully incorporated dojo. If ucw_ajax were a module > i would have already downloaded and seen first hand. I also agree with the sentiment. However, my impression is that UCW isn't so far away from this right now. UCW already has simple-form for javascript free forms. I understand that Attila has a simple- window class in ucw_ajax for creating components that don't automatically put a request for dojo.js into the HTML page header. That, I believe, only leaves actions, but those don't seem to use/ require javascript at the moment. -Hazen From lists at infoway.net Tue Jul 25 03:51:02 2006 From: lists at infoway.net (Daniel Salama) Date: Mon, 24 Jul 2006 23:51:02 -0400 Subject: [Bese-devel] Keeping the core library separate from the extensions In-Reply-To: <5E2695C8-FF53-437D-8B48-820A80244646@mac.com> References: <44C4C9E0.7020202@acd.net> <5E2695C8-FF53-437D-8B48-820A80244646@mac.com> Message-ID: <53420435-FFAC-4945-9611-4FF3A4C95F4F@infoway.net> On Jul 24, 2006, at 10:07 PM, hbabcockos1 at mac.com wrote: > > On Jul 24, 2006, at 9:23 AM, Lou Vanek wrote: > >> Marijn Haverbeke wrote: >>> I'd like to hear people's thoughts about the idea of making a >>> clear distinction between the core UCW library (request-response >>> loop, frames, components, actions), andl the extensions to this >>> system (input fields, validators, dojo stuff, some of the things >>> Attila is brewing up in the ajax branch), possibly also >>> separating the extensions into different modules. I personally >>> think this would have the advantage of clarity, and of being able >>> to re-use the core in widely different ways (we're all hackers >>> who like to re-invent stuff) without having to 'fight' the library. >>> For one thing, I feel that the javascript that is generated when >>> you make a form call an action should be optional. It doesn't >>> really serve a purpose in the general case, and I'm not using it, >>> but it is dragging in the whole dojo dependency. I know just >>> including dojo.js won;'t kill me, but I'm something of an HTML >>> minimalist who hates to have cruft in his pages that is not >>> necessary. (I can't help it.) I still haven't really studied the >>> ajax branch, but I'm a bit worried that there will be a rather >>> strong coupling between Attila vision of an UCW app and the >>> library itself. >>> Hope to hear your reactions, >>> Marijn >> >> I completely agree. You've put into words what I have only recently >> come to understand. UCW is turning into an intranet framework, which >> wouldn't bother me at all if the extra cruft were optional, but >> in some cases it isn't. Just to do a 302 redirect you have to make >> sure you've downloaded a 130K+ javascript file first, and this op can >> happen frequently. I know the js should have been cached, but this >> is a symptom of how the framework is requiring too much bandwidth. I >> have to admit I haven't tried the ucw_ajax branch, though, so maybe >> Attila has successfully incorporated dojo. If ucw_ajax were a module >> i would have already downloaded and seen first hand. > > I also agree with the sentiment. However, my impression is that UCW > isn't so far away from this right now. UCW already has simple-form > for javascript free forms. I understand that Attila has a simple- > window class in ucw_ajax for creating components that don't > automatically put a request for dojo.js into the HTML page header. > That, I believe, only leaves actions, but those don't seem to use/ > require javascript at the moment. > > -Hazen Being still somewhat of a newbie and haven't really developed any ucw or ucw+ app worth describing, I do come from the Rails world. Coming from that world, I would tend to agree that you would need JS in order to make anything semi-useful and appealing to the web-user community, since that the best that the Rails-alike can do. I was mainly sold on the ucw idea because of the implementation of a continuation framework and the advantages that has over the Rails- alike (aside from the benefit of the whole LISP-based development mindset). I haven't used ucw much yet, but I have had more experience with Seaside/Squeak, and personally think that adding too much JS or mixing too much of the core with the ajax world, sort of takes credit away from what ucw and it's concept in general have come to achieve thus far. From what I've read and seen, I only feel that the nicer effects that the ajax world offers (fades, visual effects, etc) would be the only thing I would eventually consider using, since I personally don't rely on JS to do any sort of real-life, mission critical application validation and always rely on back-end processing, which is what I love the most about ucw. I also want to make sure not to take credit away from anyone's effort, specially Attila. The work done thus far is really nice. It's just my personal preference of using ajax vs what ucw was offering before ajax. Just my $0.02 - Daniel From vanek at acd.net Tue Jul 25 16:23:17 2006 From: vanek at acd.net (Lou Vanek) Date: Tue, 25 Jul 2006 16:23:17 +0000 Subject: [Bese-devel] ucw_ajax does not build In-Reply-To: <1153843813.14441.3.camel@blackfire> References: <1153843813.14441.3.camel@blackfire> Message-ID: <44C64575.8080609@acd.net> Denys Rtveliashvili wrote: > Dear Lou, > > I have SBCL 0.9.14 which is, as I understand, the latest stable version. Well, 0.9.16 should be out w/in the next few days. Maybe that will fix this compilation problem. I still think it's a problem with SBCL. You may want to see if you can reproduce this problem by writing a similar macro that captures the essence of the problem and submit this to the sbcl mailing list. They may have more information, or be willing to fix it (if they haven't already). > It's interesting if somebody else experiences the same problem with ajax > branch or I am the only one... I know other people using SBCL have had problems with compilation in the past. Don't know whether they were able to work them all out or whether they switched lisps. > Regards, > Denys From rtvd at mail.ru Tue Jul 25 16:42:50 2006 From: rtvd at mail.ru (Denys Rtveliashvili) Date: Tue, 25 Jul 2006 20:42:50 +0400 Subject: [Bese-devel] javscript files, large dojo.js and modularization Message-ID: <1153845770.14441.29.camel@blackfire> Hi, Taking another look into the source of the "Form demo" page I noticed that even though the dojo.js was loaded and "dojo.event.*" was requested, there was no strong reason to use dojo there. For instance, the only use of dojo was to find a page element by it's name. Of course, dojo.byId is much shorter than document.getElementById, but I think it's possible to get rid of dojo in this case of usage. So, it seems that it is possible to evade dojo in some cases, even if it seems that a complex javascript is needed there. Probably I could reduce the dojo code if I spend some time, but: - as I see, dojo is a completely separate project and it's interesting what dojo authors think about making dojo.js thin. - it seems that the dojo.js is generated automatically. You can notice strange variable names like _85f. So maybe it will be necessary to improve the javascript generator, not dojo.js itself. The dojo.js I have in my version of ucw_ajax is more than 200KB large. But after gzipping it becomes smaller and it's size is less than 60KB. If UCW can handle static content properly so that web clients can use a cached version, that will partially improve situation. And if UCW can transparently zip the files that are sent to client side then it is even better. But I did not check that yet. I also believe that modularization is a good thing to have. Sometimes it's difficult to achieve it, but if it exists, the results are usually beautiful. Its not only a possibility to use only that parts of functionality which are really necessary. It is also an easier to read code (but for me the major difficulty is the LISP syntax :)) and a smaller amount of bugs, because they tend to lurk in a dark places where all pieces of program are bound together in strange ways. As for my progress, I extracted almost everything into a separate .js and now I am thinking about doing another change: merging all form-related javascript into a single piece of code to evade duplication of tags. By the way, if somebody is interested to see what I have already done, please let me know and I will send you a patch. I am still not familiar with development process in UCW, so I do not know where should the patches be sent to and what are "DOs" and "DONTs" in the development. -- Thank you, Denys R From lists at infoway.net Tue Jul 25 17:52:49 2006 From: lists at infoway.net (Daniel Salama) Date: Tue, 25 Jul 2006 13:52:49 -0400 Subject: [Bese-devel] Success Stories Message-ID: I'm building a case for migrating an application to UCW and would like to know if there are any public or shareable success stories of people using it for large projects, and in particular, intranet-like applications. References to demos, screenshots, and/or publicly accessible sites would me greatly appreciated as well. Thanks, Daniel From rtvd at mail.ru Tue Jul 25 16:10:13 2006 From: rtvd at mail.ru (Denys Rtveliashvili) Date: Tue, 25 Jul 2006 20:10:13 +0400 Subject: [Bese-devel] ucw_ajax does not build Message-ID: <1153843813.14441.3.camel@blackfire> Dear Lou, I have SBCL 0.9.14 which is, as I understand, the latest stable version. It's interesting if somebody else experiences the same problem with ajax branch or I am the only one... Regards, Denys From door at lcpi.ru Wed Jul 26 07:41:04 2006 From: door at lcpi.ru (Alexey Antipov) Date: Wed, 26 Jul 2006 11:41:04 +0400 Subject: [Bese-devel] (fix) flet/labels does not create implict block? In-Reply-To: <20060720080638.GA13886@rabbit.loc> References: <20060720080638.GA13886@rabbit.loc> Message-ID: <20060726074104.GA30993@rabbit.loc> On Thu, Jul 20, 2006 at 12:06:38PM +0400, Alexey Antipov wrote: > (walk-form > '(flet ((foo (x) > (return-from foo x))) > (foo 1))) > > results with "Unable to return from block named FOO.". this patch fixes the problem: block created around each function body (unwalk-form (walk-form '(flet ((foo (x) (return-from foo x))) (foo 1)))) => (FLET ((FOO (X) (BLOCK FOO (RETURN-FROM FOO X)))) (FOO 1)) -------------- next part -------------- New patches: [flet/labels walkers: enclose body of each function in block with its name Alexey Antipov **20060726073526] { hunk ./src/walk.lisp 645 - collect (cons name (walk-form `(lambda ,args , at body) flet env)) into bindings + collect (cons name (walk-form `(lambda ,args (block ,name , at body)) flet env)) into bindings hunk ./src/walk.lisp 681 - for tmp-lambda = (walk-lambda `(lambda ,arguments , at body) labels env) + for tmp-lambda = (walk-lambda `(lambda ,arguments (block ,(car binding) , at body)) labels env) } Context: [Pass keywords to print-unreadable-object from defprint-object attila.lendvai at gmail.com**20060710194835] [Export the accessors and slots of the walker Hoan Ton-That **20060712053922 If there are any conflicts with other packages, please tell me and I'll comment it out with that package name in the comment. ] [Added AWHILE Hoan Ton-That **20060712050434] [Fix bug with EXTRACT-ARGUMENT-NAMES, thanks to Attila Lendvai Hoan Ton-That **20060707031316] [Added defprint-object attila.lendvai at gmail.com**20060704094407] [Fix typo and backward compatibility of loggers attila.lendvai at gmail.com**20060703194333] [Turned the previous logger change into a foll-blown compile-time-level on loggers attila.lendvai at gmail.com**20060703172247 Added a compile-time-level slot to loggers. Log expressions whose level is below the compile-time-level of the logger at compilation will macroexpand to NIL. In other words, setting the compile time level to +debug+ will drop all dribble messages so that they can't even be enabled at runtime. ] [allegro quick fix Henrik Hjelte **20060703163119] [Added defalut implementation of encoding-keyword-to-native and declare the 'wrapper' functions inline Marco Baringer **20060703154620] [Add an enabledp check in deflogger at compile-time attila.lendvai at gmail.com**20060703125918 This means that when a logger is defined with a given level then the messages below this level will be expanded to nil at compile time, so they'll have no performance penalties at runtime. An example setup: (deflogger foo :level +debug+) ; +debug+ level at compile-time (setf (log.level 'foo) +info+) ; set runtime level to +info+ (foo.dribble "foo: ~S" (some-expensive-calculation)) ; expands to nil (foo.debug ...) ; will log if the runtime level is appropiate ] [Fix walking FLET Hoan Ton-That **20060703093546] [Fix walking PROGV Hoan Ton-That **20060703084010] [Document lisp1.lisp Hoan Ton-That **20060703083820] [Fix unbound variable handling in DEFUN1 and DEFMETHOD1 Hoan Ton-That **20060703080015] [Refactor functions into lambda-list.lisp Hoan Ton-That **20060703075940] [Fix thinko in previous io.lisp patch attila.lendvai at gmail.com**20060630142709] [Make stuff in io.lisp encoding-aware attila.lendvai at gmail.com**20060630131314] [Moved make-displaced-array from ucw to arnesi attila.lendvai at gmail.com**20060630012918] [Export encoding-keyword-to-native attila.lendvai at gmail.com**20060630012811] [Don't export WHILE and UNTIL. Marco Baringer **20060621153819 Arnesi if often used in conjunction with iterate, which also exports the symbols while and until. If you want while and until just do arnesi::while or import the symbols manually. ] [io.lisp depends on string.lisp Marco Baringer **20060621104245] [Updated read-string-from-file's docstring Marco Baringer **20060621104204] [Added copy-array Marco Baringer **20060621102333] [Added `while' and `until' Hoan Ton-That **20060620125308] [Added `aif2', which tests on the second value Hoan Ton-That **20060620094448] [Deleted listify and consify from the exports attila.lendvai at gmail.com**20060618113838] [Added :execute to enable-bracket-reader eval-when attila.lendvai at gmail.com**20060617180148] [Added external-format keyword to read-string-from-file attila.lendvai at gmail.com**20060617180142] [Added eval-when support for the unwalker, fixed some lisp1 bugs Hoan Ton-That **20060613120932] [Support missing result forms in cond-bind and acond Chris Dean **20060601165635 The CLHS says that COND results in: the values of the forms in the first clause whose test-form yields true, or the primary value of the test-form if there are no forms in that clause Meaning (among other things) that (cond (1)) => 1 This is a patch to give COND-BIND and ACOND the same behavior. Before this patch they would return NIL. ] [Make sure the walker doesn't call fboundp on non symbols Marco Baringer **20060531195843] [Export `_' Hoan Ton-That **20060530105625] [Convenience, Lisp-1 support, and partial application syntax Hoan Ton-That **20060522112451] [Added queue->list method (Patch by: Chris Dean ) Marco Baringer **20060517090847] [Added docstring on log-file slot Marco Baringer **20060517090828] [Fix enable-bracket-reader attila.lendvai at gmail.com**20060515173051] [Define apply-lambda/cc method on symbols. Marco Baringer **20060515135717 This new method just calls apply-lambda/cc passing it the symbol-function of the operator. ] [Added remf-keywords macro to remove keyword args attila.lendvai at gmail.com**20060511150622] [implement walker for eval-when Marco Baringer **20060509145223] [Change defclss-struct to allow class-options Marco Baringer **20060509144410] [Fix the return value of compose for fn > 4 attila.lendvai at gmail.com**20060502104311] [Skip nil's in strcat attila.lendvai at gmail.com**20060213230204] [Export *warn-undefined* Marco Baringer **20060427131316] [Signal warning for undefined functions Marco Baringer **20060427131248] [Added the *warn-undenifed* variable. Marco Baringer **20060427131102 We can now check for undenfined varibales/functions at walk time ] [Find-symbol SYSTEM::*HTTP-ENCODING* only if there is a SYSTEM package. Maciek Pasternacki **20060425195734] [Added the REBIND macro (Patch by: Attila Lendvai ) Marco Baringer **20060423105838] [Pass the env argument to make-load-form Marco Baringer **20060423105632] [Fix encoding-keyword-to-native for clisp. (Patch by: Pascal Bourguignon ) Marco Baringer **20060413140523] [src/posixenv.lisp: define `getenv' Luca Capello **20060412132403 ATM, this is the only POSIX function present in src/posixenv.lisp. I also added "getenv" to the list of features in the ASDF file, in order to depend on it in other project (first of all, UCW). ] [Use class-slots instead of our custom 'walk class hierarchy and collect slot defs' code. Marco Baringer **20060405120648 This change should fix problems with allegro. Nathan Bird reported this and suggested the proper solution. ] [Unwalker mistakes Hoan Ton-That **20060401084803] [Let the implementation use the default value. SBCL seems to only accept a real readtable there. levente.meszaros at gmail.com**20060325233110] [Change with-package read-macro specifier so that it returns a progn. Marco Baringer **20060324115026] [Added read-macros.lisp to asdf Marco Baringer **20060324114744] [Added doc strings for the read-macro stuff Marco Baringer **20060324113104] [Added bracket reader and with-package function Marco Baringer **20060324111610] [Dropped our trim-string function, common lisp already provides string-trim Marco Baringer **20060324104938] [Fix typo in walk.lisp Marco Baringer **20060313222523] [Added print-object method for log-category Marco Baringer **20060313222510] [Added copy-stream function Marco Baringer **20060313222455] [matcher ext :AND, :ACCESSORS, :PLIST Kilian Sprotte **20060304195313] [A code UnWalker Hoan Ton-That **20060301075456] [Typo in do-all-elements macro when the indexe parameter is nil Marco Baringer **20060226184405] [Added a print-object method for function-argument-form objects Marco Baringer **20060226184343] [Make the cc interpreter 'see' special variables Marco Baringer **20060224155153 If a symbol is globally bound, and isn't locally overridden, we assume it's a global special and treat it as such. ] [Added enqueue-or-move-to-front method to the lru-queue class Marco Baringer **20060224154525] [Added lru-queue Marco Baringer **20060224145245] [Implement peek-queue Marco Baringer **20060224145231] [Create the queue's buffer to be 1+ the required size Marco Baringer **20060224142145 The length of the buffer is actually one less than the total number of elements we can hold. Since the :size initarg means 'numbor of elements we can store without resizing' we need to create the buffer slightly larger. ] [Added vector based queue implementation Marco Baringer **20060224141820] [Added missing ignore declarations Marco Baringer **20060224121944] [escape html unicode characters henrik.hjelte at poboxes.com*-20060215141526 Not all unicode characters fit the latin-1 encoding, escaping them helps out. ] [escape html unicode characters henrik.hjelte at poboxes.com**20060215141526 Not all unicode characters fit the latin-1 encoding, escaping them helps out. ] [Eliminate runtime call to eval when exporting special variables from cc code to lisp code. levente.meszaros at gmail.com**20060214210552] [Split stream-log-append into brief-stream-log-appender and verbose-stream-log-appender Marco Baringer **20060213185541 The stream-log-appender was wasting too much space on extremly reptative information. The new hierarchy contains three classes: the abstract base class stream-log-appender; a verbose out class (exactly the same output as the original stream-log-appender) called verbose-stream-log-appender and a quieter append called brief-stream-log-appender. NB: This change breaks backwards compatability. All occurences of "make-instance 'stream-log-appender" will need to be replaced with "make-instance 'verbose-stream-log-appender" ] [Fix infinite loop in (setf log.level) Marco Baringer **20060213173230 argh. we'd defined a method for (setf log.level) specialized on SYMBOLs, this method called (get-logger symbol) and passed that back again to (setf log.level). However, when get-logger returned nil (which happens the symbol didn't specify a logging category) we'd again call the same method (since nil is a symbol), and not the one specialized on category objects :( ] [conflict resolution with levente's special variable patch Marco Baringer **20060213181217] [Rework test cases for special variable handling. Levente M??sz??ros **20060211205154] [Make importing and exporting specials explicit functions, plus support importing in defun/cc. Levente M??sz??ros **20060211205043] [Add test cases for dynamic variable handling Levente M??sz??ros **20060209215158] [Fixed bug in with-call/cc's handling of multiple-value-call. (Reported by: Matthew Danish ) Marco Baringer **20060211165654 When the function in a multiple-value-call form was a literal lambda we were accidentaly passing _all_ the arguments passed to m-v-c to the function (the first of these arguments is always the function itself). ] [(setf log.level) needs to, as all setf methods, return the new-value Marco Baringer **20060210154819] [Add test cases for dynamic variable handling Levente M??sz??ros **20060209213739] [Support capturing dynamic variables from lisp via declare. Levente M??sz??ros **20060208214015] [Makes visible the dynamic variables defined in cc code for normal lisp code. Levente M??sz??ros **20060206224603 This has some performance issues when dynamic variables are defined in cc code. ] [Support (declare (special var)) declarations and put variable values in the dynamic environment. Levente M??sz??ros **20060206224208 This patch allows to access dynamic variables defined in cc code from cc code. ] [Ecase->case typo. Maciek Pasternacki **20060130230302] [minor docstring fix Marco Baringer **20060202145727] [Move test suite into its own package Marco Baringer **20060202114156] [Change names of parameters in MULF and DIVF to match documentation Marco Baringer **20060202114140] [Added log.level methods specialized on symbols Marco Baringer **20060202114058] [Added time.lisp Marco Baringer **20060202114049] [Export levenshtein-distance Marco Baringer **20060202114018] [Use FiveAM's new random testing for the parse-float test Marco Baringer **20060124140012] [Reimplement intern-concat to accept only strings and symbols as string designators. Marco Baringer **20060124135505 Simply using PRINC can have different semantics on different lisps. Explicitly allowing only strings and symbols resoles this issue and makes clearer what inter-concat is intended to deal with. (passing objects or numberns to inter-concat was never intentional anyway). ] [Fix thinko in definition of test-op Marco Baringer **20060124131555] [Update copyright dates Marco Baringer **20060123125009] [Added test for escape/unescape-uri using fiveam's new random checking Marco Baringer **20060120110709] [In recent clisps the convert-bytes-to-string function has been renamed to convert-string-from-bytes Marco Baringer **20060113113449] [Stop trying to convert keywords directly to charset symbols. Marco Baringer **20060113113430] [Enable unicode on clisp only if :UNICODE is in *features* Marco Baringer **20060109140827] [Don't use uppercase names for list-matcher symbols. not all lisps have :upcase readtable-case (Reported by: BAM ) Marco Baringer **20051220000456] [Drop char->hex-value. digit-char-p does the exact same thing. Marco Baringer **20051220000406] [Implement QUIT for allegro. (Patch by: BAM ) Marco Baringer **20051220000154] [Use the new octets-to-string function in http.lisp Marco Baringer **20051218124500] [Declare char->hex-value to be inlined Marco Baringer **20051218124425] [Fix previous eswitch/cswitch patch Marco Baringer **20051218124148] [Conditionalize on (and sbcl sb-unicode), not just sbcl Marco Baringer **20051218123532] [remove unneeded escapes svg at surnet.ru**20051213204631] [Implement and export STRING-TO-OCTETS and OCTETS-TO-STRING Marco Baringer **20051218123215 Currently these do something only on SBCL and CLISP. ] [Use &body, instead of &rest, in the lambda lists of ESWITCH and CSWITCH Marco Baringer **20051218122248 This change makes slime add the proper indentation for these forms ] [Export extract-argument-names and walk-lambda-list Marco Baringer **20051211135308] [Fix generation of lambda list from a list of argument-parameter objects (in the walker) Marco Baringer **20051211135245] [Fix handling of &allow-other-keys and lambda lists with only (&key &allow-other-keys) Marco Baringer **20051211131145] [Also make a debug logger Chris Dean **20051209072439] [Fix spelling in log.lisp comments Chris Dean **20051209072321] [Added :wrap-aronud method types ot wrapping-standard method combination Marco Baringer **20051204162319] [added a walker for load-time-value Marco Baringer **20051201170253] [Document the slots of the log-category class Marco Baringer **20051201170222] [Fix walking of macrolet forms Marco Baringer **20051126162913] [include walk.lisp in qbook's autput Marco Baringer **20051126162859] [minor fix in wrapping-standard's docstring Marco Baringer **20051126162847] [Minor change in with-unique-names' docstring Marco Baringer **20051125173827] [Make docs/Makefile easier to adapat to different lisps and systems Marco Baringer **20051125173801] [Document the #L read macro Marco Baringer **20051125173744] [Removed all texinfo syntax from docstrings Marco Baringer **20051125173708] [Added a walker for unwind-protect Marco Baringer **20051118193044] [Make the 'return from unknown block' error a restartable condition Marco Baringer **20051118193020] [Added lispworks specific walk handlers Marco Baringer **20051115122956] [yet another yet another trace cc thinko Marco Baringer **20051112122930] [We had an etypecase form with a T clasue, changed to typecase (Reported by: Luigi Panzeri ) Marco Baringer **20051111171221] [Yet another trace-statement patch by our resident Q&A expert. (Patch by: Aleksandar Bakic ) Marco Baringer **20051110195739] [More fixs to trace-statements (Patch by: Aleksandar Bakic ) Marco Baringer **20051110115953] [thinko in cc trace-statement (Patch by: Aleksandar Bakic ) Marco Baringer **20051110094851] [Drop the :ALL option for *trace-cc* Marco Baringer **20051108131116] [Added a few more trace statements Marco Baringer **20051108130243] [Added *trace-cc* parameter (and supporitng code). See docstring for details. Marco Baringer **20051108125255] [Escape { and } in boring regexps Marco Baringer **20051105152003] [Removed qbook include to non existent file scr/cps.lisp Marco Baringer **20051105151143] [Remove duplicate export of arnesi:form Marco Baringer **20051105151130] [Changed lambda list of IF-BIND so that slime will ident it better. Marco Baringer **20051105150656] [Exported all the symbols related to the walker Marco Baringer **20051028122648] [remove debian/ folder Luca Capello **20051028103802 The CL-Debian group decided to avoid Debian native packages. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=310665 ] [CMUCL lexical-variables global var detection svg at surnet.ru**20051024191615] [Added dyn-env parameter to sbcl's call to apply-lambda/cc Marco Baringer **20051021153948] [Added tests for parse-float Marco Baringer **20051021153936] [Specify result element-type in radix-values Marco Baringer **20051018102502] [Typo in last patch Marco Baringer **20051018102126] [Rewrote parse-float in order to support tho :decimal-character keyword parameter Marco Baringer **20051018101950] [Minor fixup to wrapping-standard's docstring Marco Baringer **20051014094112] [Remove ignore declarations for unused variable DYNAMIC-ENVIRONMENT Marco Baringer **20051012141417] [lex-env support for lispworks on windows (Patch by: Mac Chan ) Marco Baringer **20051009103654] [Added the :return-suffix parameter to starts-with Marco Baringer **20051007190426] [Add dynamic-environment to the cc interpreter Marco Baringer **20051007174859 This patch changes the api for evaluate/cc (and associated functions) by adding a dynamic-environment parameter and fixs the catch handler to use this dynamic-environment (and not the lexical environment). ] [Added nfasl to .boring Marco Baringer **20051007174421] [Teach the walker to handle global symbol macros Marco Baringer **20050925155112] [Added if-does-not-exist parameter to write-string-to-file Marco Baringer **20050925155049] [More lexical-(variables|functions) for lispworks (Patch by: Asbj??rn Bj??rnstad ) Marco Baringer **20050906140657] [Fix silly mistake in previous docstring for defmethod/cc patch Marco Baringer **20050903140254] [When a defmethod/cc form has somethnig which looks like a comment we 'pass' that to the underlying defmethod form Marco Baringer **20050901100340] [Added generic error-reporting method on evaluate/cc Marco Baringer **20050901100314] [More lexical-(variables|functions) methods for lispworks (Patch by: Asbj??rn Bj??rnstad ) Marco Baringer **20050831094750] [Fix handling of special operator FUNCTION in the faco of defun/cc functions Marco Baringer **20050831094727] [enhanced defmethod/cc to work in the case of a null argument list and missing body. drewc at tech.coop**20050819201500 ] [Minor whitespace fix to previous patch Marco Baringer **20050827194602] [When sb-unicode is avaible don't encode characters with codes > 127 as html entities binarin at gmail.com**20050827134518] [Make nunescape-as-uri accept external-format parameter binarin at gmail.com**20050827134456] [Use &key instead of &optional in the test suite for the cc interpreter Marco Baringer **20050827184725] [Minor refactoring to avoid sbcl's "deleting unreachable code" warning Marco Baringer **20050827121814] [Introduce the distinction between a keyword argument's name and the effective-keyword used to pass the value. Marco Baringer **20050827111706 we now can tell if the user supplied a keyword name (different from the argument's name) and proceed accordingly. this patch works around cmucl's bug in the handling of generic lambda lists. ] [Fix LEXICAL-FUNCTIONS on cmucl (Patch by: Fabricio Chalub ) Marco Baringer **20050827110128] [Added hash-table-keys and hash-table-values functions Marco Baringer **20050825062935] [Added in a few more tests Marco Baringer **20050824165751] [Fix local-function application Marco Baringer **20050824164938] [Added lexical-variables and lexical-functions for Allegro. (Patch by: Slawek Zak ) Marco Baringer **20050824123802] [Added delete/remove family of functions to common-lisp-cc Marco Baringer **20050817100128] [fixed typo smoof-ra at elder-gods.org**20050816174806] [Added copyright notices Marco Baringer **20050816141938] [Added initial version of lex-env function for lispworks Marco Baringer **20050816141839] [Convert (setf env (register env ...)) into (extend env ...) Marco Baringer **20050816084720] [Moved register/lookup/(setf lookup) into one-liners.lisp, added the extend macro Marco Baringer **20050816084654] [more usefull declaration objects smoof-ra at elder-gods.org**20050815202603] [Change the name of the walker handler for atom so that it doesn't used to walk forms whose car is CL:ATOM. Marco Baringer **20050812114613] [Added required specifier :primary to cc-standard method combination Marco Baringer **20050812114343 This prevents people from accidentaly using defmethod on a cc generic function. You must now either use defmethod/cc (which retains the same API as before), or pass the :primary method qualifier (and if you do we'll assume you know what you're doing). ] [Update the list of exported symbols Marco Baringer **20050812102709] [Two minor indentation fixups Marco Baringer **20050812102429] [Remove type declarations form join-string (ucw passes in strings which violate some of the type declarations) Marco Baringer **20050812102333] [JOIN-STRINGS was not returning the result :( Marco Baringer **20050812070730] [Added more tests for cc-standard method combination Marco Baringer **20050811152516] [Make the arguments to a continuation all option (the equivalent of evaluating (values)) Marco Baringer **20050811152449] [Added cc definintions of common standard functions whcih take functions as parameters (assoc and mapXYZ) Marco Baringer **20050811152400] [Added missing cleane-argument-list function and tests Marco Baringer **20050811130722] [Fix generic/method/function lambda list handling and manipulation in walker and cc-interpreter Marco Baringer **20050811130002] [Added support for &key, &allow-other-keys in lambda/cc (and therefore defun/cc and defmethod/cc) Marco Baringer **20050810140725] [keyword-function-argument-form is not a subclass of optional-argument-form, even though they are superficially similar Marco Baringer **20050810140659] [Move debugging code into DEFK where have access to the name of the continuation we're calling (as apposed to KLAMBDA) Marco Baringer **20050810121305] [Refactor cc-interpreter into a few smaller files in the call-cc directory Marco Baringer **20050810104819] [Refactor FOLD-STRING (Patch by: Janis Dzerins ) Marco Baringer **20050810103438] [the fdefinition/cc table must remeber, other than the def, whether it was a function or a method (since we treat those two differently) Marco Baringer **20050810101541] [Added :method-combination option to the expaniosn of the defgeneric/cc macro Marco Baringer **20050810101446] [Added *debug-evaluate/cc* and related functions Marco Baringer **20050810063228] [Use fedinition/cc, not fdefinition, for defun/cc Marco Baringer **20050810055126] [Typo in name of k-for-apply/cc/optional-argument-default-value continuation Marco Baringer **20050810055105] [Don't use GET so that we don't break package locks. Add now function fdefinition/cc Marco Baringer **20050810054327 Basically it's a bad idea to use #'get and #'(setf get) on standard symbols, however this is something we're going to want to do. We know have our own hash-table (*cc-functions*) which maps symbols to closure objects. ] [ method combination smoof-ra at elder-gods.org**20050810035825] [make closure/cc a funcallable instance (in sbcl) smoof-ra at elder-gods.org**20050809182900 funcalling a closure/cc will just call it with a toplevel continuation that way cc closures can be called totally transparently by non-cc code as long as the cc-closure doesn't call/cc. ] [Added copyright notice to cc-interpreter.lisp Marco Baringer **20050809151738] [Remove occurences of 'cps' in the api. We don't actually cps transforme anymore so this is misleading. Marco Baringer **20050809125933] [Remove 'cps' from test suite, replace it with 'call/cc' Marco Baringer **20050809104818] [Rename cps.lisp to cc-interpreter.lisp Marco Baringer **20050809104737] [Fix typo in fold-strings' docstring Marco Baringer **20050809083006] [Trivial change to the name of the gensym generated by DOLIST* Marco Baringer **20050809061102] [Fix lexical-variables and lexical-functions on clisp Marco Baringer **20050807223244] [Use FDEFINITION instead of SYMBOL-FUNCTION to get a function from a function name. Marco Baringer **20050807222932] [Make sure we only pass symbols to functions like GET and MACRO-FUNCTION Marco Baringer **20050807222905] [Implement lexical-functions for CLISP Marco Baringer **20050807204738] [Implement lexical-variables and lexical-functions for NIL environments Marco Baringer **20050807204711] [Remove arnesi.el from ssytem def Marco Baringer **20050807204654] [Fix evaluation of #'(foo bar) in cps interpreter Marco Baringer **20050806182653] [Delete arnesi.el. SLIME is perfectly able to figure out the indententation by itself. Marco Baringer **20050807075500] [aparently global variables can be found in sbcl lexical environments smoof-ra at elder-gods.org**20050804164859] [Implement environment-p and lexical-variables for CLISP Marco Baringer **20050804165821] [Make the lexenv stuff use generic-functions and methods Marco Baringer **20050804161857] [Fixup lexical-variables and lexical-functions for OpenMCL Marco Baringer **20050804152727 This patch causes lexical-variables to no longer return ignored variables and symbol-macrolets. We've also implemented lexical-functions (though we do some hackery to convert functions names to something "normal" (ie SETF::|FOO::BAR| ==> (SETF FOO::BAR)) ] [Typo in lexical-variables for sbcl (we were accessing lexenv-funs instead of lexenv-vars) Marco Baringer **20050804152051] [Change lexical-variables for sbcl so that it doesn't return ignored variables Marco Baringer **20050804150841] [Fix lexical-variables for cmucl to not return ignored variables Marco Baringer **20050804150256] [Typo in previous patch Marco Baringer **20050804150242] [Implement lexical-functions for cmucl Marco Baringer **20050804143350] [recognise flets from the lexical environment (on sbcl) smoof-ra at elder-gods.org**20050803222732] [Rewrite multiple-value-setf so that my simple mind can understand it. Marco Baringer **20050803104652] [Added cps evaluation of THE forms Marco Baringer **20050803092059] [minor comment fixup Marco Baringer **20050803085322] [Moved defclass progv-form to keep the walker classes defined in alphabetical order Marco Baringer **20050803085254] [Added walker class for THE forms Marco Baringer **20050803085210] [allow new special forms to be added to the walker by shadowing *walker-handlers* smoof-ra at elder-gods.org**20050802165355] [Minor spacing fixs to the previous patch Marco Baringer **20050802152421] [progv smoof-ra at elder-gods.org**20050802150342] [labels can have declarations inside the body smoof-ra at elder-gods.org**20050801193433] [declares needs to be copied in the labels handler just like the other lambda-function-form slots smoof-ra at elder-gods.org**20050801193107] [oops i forgot to actually make the declaration-form instances smoof-ra at elder-gods.org**20050801185641] [initial support for remembering declarations smoof-ra at elder-gods.org**20050801184329 this patch adds a mixin called implicit-progn-with-declare-mixin and uses it instead of implicit-progn-mixin in all the places that allow declares. It has slot which should contain a list of the declares at the top of the implicit-progn. This patch doesn't do anything clever with the declares, it just creates declaration-form objects and points their source slots at the original declares, however it would be easy to modify parse-declaration to generate more usefull declaration objects. ] [Call the property :FEATURES, not FEATURES Marco Baringer **20050729103229] [Rename asdf property version to features, add "cps-interpreter" Marco Baringer **20050728120238] [dont need to register allow-other-keys because its not a binding smoof-ra at elder-gods.org**20050727153603] [fixed type name mismatch for allow-other-keys-function-arguement-form smoof-ra at elder-gods.org**20050727152456] [defmethod arguments should be ignorable, not ignore (openmcl warns whenever you ignore a specialized argument) Marco Baringer **20050726090308] [Typo in extract-argument-names Marco Baringer **20050726090256] [Fix generation of defmethod froms from defmethod/cc; added tests Marco Baringer **20050726085226] [Fix handling of optional arguments in apply-cps-lambda Marco Baringer **20050726085155] [More tests Marco Baringer **20050723133158] [Fix a bug in the handling of the case when LOOKUP finds a value for a name but the value is NIL Marco Baringer **20050723133106] [Export the symbol KALL Marco Baringer **20050723133052] [Change the test for constant-form'ness in walk.lisp Marco Baringer **20050723113019] [Extend the walker to handle #'(setf foo) function names Marco Baringer **20050723104431] [Fix bug in the lambda generated for method forms Marco Baringer **20050720144450] [Added ignore declarations to defun/cc and defmethod/cc to make the compiler happy Marco Baringer **20050720110112] [Temporarily comment out the log tests Marco Baringer **20050720092312] [Rename (optional|keyword|rest)-argument-form classes to include the -form suffix Marco Baringer **20050720092124] [Allow defun/cc defined functions te be called outside of a with-call/cc Marco Baringer **20050720091826] [Added support for &optional arguments in cps closures Marco Baringer **20050720091658] [Added defgeneric/cc Marco Baringer **20050719153441] [Move the error checking code for lambda arguments into apply, not lambda (in cps interpreter) Marco Baringer **20050719153121] [More cps tests Marco Baringer **20050719152327] [Fix openmcl's definition of lexical-variables to deal with ccl::definition-environment Marco Baringer **20050719152230] [Added support to the cps interpreter forl communicating with lexical variables Marco Baringer **20050707094608] [walk.lisp depends on lexenv.lisp Marco Baringer **20050707093140] [added support for walking local varibales in the lexical environment Marco Baringer **20050707093027 this applies to all those variables defined the envorinment object grabbed via an &environment macro argument. ] [mistyped #+openmcl in lexenv.lisp Marco Baringer **20050707092959] [added src/lexenv.lisp to arnesi.asd Marco Baringer **20050707091127] [Rename src/environment.lisp Marco Baringer **20050707091114] [Initial version of environment.lisp Marco Baringer **20050707091019] [Minor docstring fixup for with-call/cc Marco Baringer **20050707090619] [Big patch including all the cps interpreter stuff upto now Marco Baringer **20050707083739] [Fix bug in handling of defclass-struct's :predicate option Marco Baringer **20050706105324] [Initial Import Marco Baringer **20050706101657 This import moves arnesi from arch to darcs. Nothing has actually changed since bese-2004 at common-lisp.net/arnesi--dev--1.4--patch-14 ] [added arch stuff to boring file Marco Baringer **20050706101630] [Setup boring file Marco Baringer **20050706100535] Patch bundle hash: c782fad974161e7857220172e094498db893834a From svg at surnet.ru Thu Jul 27 18:18:06 2006 From: svg at surnet.ru (Vladimir Sekissov) Date: Fri, 28 Jul 2006 00:18:06 +0600 (YEKST) Subject: [Bese-devel] [PATCH ucw-dev] Araneida backend, common backend, arnesi_dev Message-ID: <20060728.001806.69825057.svg@surnet.ru> Good day, First patch in the attachments fixes UCW Araneida backend and byte lengths for network streams. Second - small fix for nonunicode SBCL. Input for SBCL bivalent stream is treated as binary only if stream element type is '(unsigned-byte 8). All were tested with SBCL-0.9.14, araneida-0.90+patche_for_element_typ and latest UCW_DEV repository. Best Regards, Vladimir Sekissov -------------- next part -------------- A non-text attachment was scrubbed... Name: CHANGESET.gz Type: application/octet-stream Size: 3840 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: ARNESI-CHANGESET.gz Type: application/octet-stream Size: 11233 bytes Desc: not available URL: From svg at surnet.ru Fri Jul 28 00:02:11 2006 From: svg at surnet.ru (Vladimir Sekissov) Date: Fri, 28 Jul 2006 06:02:11 +0600 (YEKST) Subject: [Bese-devel] [PATCH ucw-dev] Fix typo in defaction Message-ID: <20060728.060211.22954357.svg@surnet.ru> Good day, This small patch fix a typo in defaction which caused an error if action was specialized on more than one argument. Best Regards, Vladimir Sekissov -------------- next part -------------- A non-text attachment was scrubbed... Name: CHANGESET.gz Type: application/octet-stream Size: 2765 bytes Desc: not available URL: From aja at clanarmstrong.com Fri Jul 28 04:57:23 2006 From: aja at clanarmstrong.com (AJ Armstrong) Date: Thu, 27 Jul 2006 22:57:23 -0600 Subject: [Bese-devel] Configuring New Applications to Launch with ucwctl Message-ID: Hello, all I am developing an install script (ebuild) for ucw-dev for Gentoo. Everything is working fine, including dependancy building, and the example, l10n and admin applications work fine out of the box - both if launched from sbcl (using (load "start.lisp")) and if launched as a service (using /usr/bin/ucwctl -l sbcl start). Notably, when launched using ucwctl, the settings in /etc/ucw/conf.lisp seem to be significant. The issue appears when I install the ucw-intro application (from Ties Stuij's UCW Intro). It loads just fine when launched from sbcl (load " start.lisp"), but launching with ucwctl fails with the errors listed at the end of this post (in the ucw.dribble log). To install the ucw-intro sample code, I did the following: (1) Created a directory with the asd file and lisp files. (2) Made a symlink to the asd file from the /etc/ucw/applications.d directory (3) Changed /etc/ucw/start.lisp to include the following: (eval-when (:compile-toplevel :load-toplevel :execute) (asdf:oos 'asdf:load-op :ucw) (asdf:oos 'asdf:load-op :ucw.admin) (asdf:oos 'asdf:load-op :ucw.examples) #+(or (and sbcl sb-unicode) (and clisp unicode)) (asdf:oos 'asdf:load-op :ucw.examples.l10n) (asdf:oos 'asdf:load-op :ucw-intro)) ;;;; Tell UCW which apps to serve (setf ucw.system:*ucw-applications* '(ucw-user::*example-application* #+(or (and sbcl sb-unicode) (and clisp unicode)) ucw-user::*l10n-example-application* ucw::*admin-application* ucw-intro::*ucw-intro-application*)) (4) Changed /etc/ucw/conf.lisp to include the following: (setf *ucw-applications-directory* "/etc/ucw/applications.d/") ... #+ (or allegro openmcl) (progn (setf *ucw-systems* '(:ucw.admin :ucw.examples :ucw-intro)) (setf *ucw-applications* '(ucw-user::*example-application* ucw::*admin-application* ucw-intro::*ucw-intro-application*))) (5) Other than that, things are as per the latest ucw-dev tarball. LAST SEVERAL EVENTS FROM UCW.DRIBBLE (Apologies for Long Post) ------------------------------------------------------------------------------------------ 35: (SB-FASL::INTERNAL-LOAD #P"/etc/ucw/start.lisp" #P"/etc/ucw/start.lisp" :ERROR NIL NIL NIL :DEFAULT) 36: (LOAD "/etc/ucw/start.lisp") 37: (SB-INT:EVAL-IN-LEXENV (LOAD (POP CL-LAUNCH:*ARGUMENTS*)) #) 38: (SB-FASL::LOAD-AS-SOURCE # NIL NIL) 39: (LOAD #) 40: (CL-LAUNCH::LOAD-STRING "(load (pop cl-launch:*arguments*))") 41: (CL-LAUNCH::RUN :PATHS ("/etc/ucw/applications.d/") :LOAD NIL :SYSTEM NIL :DUMP NIL :RESTART NIL :INIT "(load (pop cl-launch:*arguments*))" :QUIT NIL) 42: (SB-INT:EVAL-IN-LEXENV (FUNCALL (INTERN (STRING :RUN) :CL-LAUNCH) :PATHS '("/etc/ucw/applications.d/") :INIT "(load (pop cl-launch:*arguments*))" :QUIT NIL) #) 43: (SB-INT:EVAL-IN-LEXENV (PROGN (SET-DISPATCH-MACRO-CHARACTER #\# #\! #'(LAMBDA (STREAM CHAR SB-DEBUG:ARG) (DECLARE (IGNORE CHAR SB-DEBUG:ARG)) (VALUES (READ-LINE STREAM)))) (LOAD "/usr/bin/cl-launch" :VERBOSE NIL :PRINT NIL) (FUNCALL (INTERN (STRING :RUN) :CL-LAUNCH) :PATHS '("/etc/ucw/applications.d/") :INIT "(load (pop cl-launch:*arguments*))" :QUIT NIL)) #) 44: (SB-IMPL::PROCESS-EVAL-OPTIONS ((SB-EXT:DISABLE-DEBUGGER) "(progn(set-dispatch-macro-character #\\# #\\! #'(lambda(stream char arg)(declare(ignore char arg))(values (read-line stream))))(load \"/usr/bin/cl-launch\" :verbose nil :print nil) (funcall(intern(string :run):cl-launch) :paths '(\"/etc/ucw/applications.d/\" ) :init \"(load (pop cl-launch:*arguments*))\" :quit nil))")) 45: (SB-IMPL::TOPLEVEL-INIT) 46: ((LABELS SB-IMPL::RESTART-LISP)) unhandled condition in --disable-debugger mode, quitting ; ; compilation unit aborted ; caught 1 fatal ERROR condition ; caught 2 STYLE-WARNING conditions -- -------------- AJ Armstrong (aja) aja at clanarmstrong.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From cjstuij at gmail.com Fri Jul 28 07:35:30 2006 From: cjstuij at gmail.com (Ties Stuij) Date: Fri, 28 Jul 2006 09:35:30 +0200 Subject: [Bese-devel] Configuring New Applications to Launch with ucwctl In-Reply-To: References: Message-ID: On 7/28/06, AJ Armstrong wrote: > Hello, all > > I am developing an install script (ebuild) for ucw-dev for Gentoo. > Everything is working fine, including dependancy building, and the example, > l10n and admin applications work fine out of the box - both if launched from > sbcl (using (load " start.lisp")) and if launched as a service (using > /usr/bin/ucwctl -l sbcl start). > > Notably, when launched using ucwctl, the settings in /etc/ucw/conf.lisp seem > to be significant. > > The issue appears when I install the ucw-intro application (from Ties > Stuij's UCW Intro). It loads just fine when launched from sbcl (load " > start.lisp"), but launching with ucwctl fails with the errors listed at the > end of this post (in the ucw.dribble log). Well, yes, api changes abundant. It was mentioned on this list that the current complex ucwctl way will perhaps/probably disappear in the near future. I don't know what's the status on that, but then again, luca (who made the setup) wants to keep it for debian anyway it seems. You should talk to him perhaps. You packagers/ebuilders might have more use for this kind of thing than the avarage user (i actually use it but i don't really care if it stays in or if it goes). Concerning applications that get loaded through applications.d, i don't get the error you get with sbcl 9.14 on linux. usually what i do is not make the changes you made in start.lisp, because that's the point of applications.d i thought, but if you do it my way, you need to add (ucw:register-application ucw:*default-server* ucw-intro::*ucw-intro-application*) At the bottom of start.lisp after (ucw:create-server)... due to some ucw code changes i guess. This also goes against the ucwctl purpose i'd say but alas. I just changed the intro to conform. But also with your setup i don't get errors, not with the downloadable ucw-intro sources anyway. Maybe there's an inconcistency in the text. ps if you find bugs or want to add info in the text, whole chapters perhaps, you might have noticed the intro is on the ucw trac wiki nowadays. By all means EDIT IT!! Ask Erik Enge for a common-lisp.net account and log in. greets, Ties From aja at clanarmstrong.com Fri Jul 28 15:54:56 2006 From: aja at clanarmstrong.com (AJ Armstrong) Date: Fri, 28 Jul 2006 09:54:56 -0600 Subject: [Bese-devel] Configuring New Applications to Launch with ucwctl In-Reply-To: References: Message-ID: On 28/07/06, Ties Stuij wrote: > > Well, yes, api changes abundant. It was mentioned on this list that > the current complex ucwctl way will perhaps/probably disappear in the > near future. I don't know what's the status on that, but then again, > luca (who made the setup) wants to keep it for debian anyway it seems. > You should talk to him perhaps. You packagers/ebuilders might have > more use for this kind of thing than the avarage user (i actually use > it but i don't really care if it stays in or if it goes). Thanks, Ties. Yes, I'm getting the sense that I might be better off writing a new launcher for the gentoo init scripts that uses the start.lisp alone. Whether or not the ucwctl/conf.lisp stuff stays in or not, I'm getting the sense that supporting it and seeing that it doesn't break won't be a high priority. That's not a complaint - it makes more sense if I try to keep the gentoo package as close as possible to the way most people are using ucw. I'll see if others (including luca) can offer some advice first - it troubles me that I don't understand what is going wrong, and I don't want to bounce off this again. Also, if luca is comitting to keeping this stuff alive for Debian, maybe I can work with him on maintaining it for both of our distros. Luca? (It might be time for me to fire up a debian vm and see how things work there). Concerning applications that get loaded through applications.d, i > don't get the error you get with sbcl 9.14 on linux. usually what i do > is not make the changes you made in start.lisp, because that's the > point of applications.d i thought, but if you do it my way, you need > to add > > (ucw:register-application ucw:*default-server* > ucw-intro::*ucw-intro-application*) I'm on sbcl 9.14, too. I tried your change, including removing the changes to start.lisp and it didn't have an effect (but thanks, anyway, I've left it in). Notably, there is no apparent attempt to compile the ucw-intro *.lisp files - I think it is failing before it loads the asd file. ps if you find bugs or want to add info in the text, whole chapters > perhaps, you might have noticed the intro is on the ucw trac wiki > nowadays. By all means EDIT IT!! Ask Erik Enge for a common-lisp.net > account and log in. I'll do that - especially once I become more comfortable with this stuff. Thanks, again. -- -------------- AJ Armstrong (aja) aja at clanarmstrong.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From mbaringer at common-lisp.net Sat Jul 29 04:00:05 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Sat, 29 Jul 2006 00:00:05 -0400 (EDT) Subject: [Bese-devel] New patches to arnesi_dev: 28-Jul-2006 Message-ID: <20060729040005.62C023A008@common-lisp.net> Fri Jul 28 23:10:48 EDT 2006 Hoan Ton-That * Export more of the walker M ./src/packages.lisp -1 +6 An updated tarball of arnesi_dev's source can be downloaded here: http://common-lisp.net/project/bese/tarballs/arnesi_dev-20060728.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=arnesi_dev;a=summary From aja at clanarmstrong.com Sat Jul 29 05:35:45 2006 From: aja at clanarmstrong.com (AJ Armstrong) Date: Fri, 28 Jul 2006 23:35:45 -0600 Subject: [Bese-devel] Configuring New Applications to Launch with ucwctl In-Reply-To: References: Message-ID: On 28/07/06, AJ Armstrong wrote: > I'm on sbcl 9.14, too. I tried your change, including removing the changes > to start.lisp and it didn't have an effect (but thanks, anyway, I've left it > in). Notably, there is no apparent attempt to compile the ucw-intro *.lisp > files - I think it is failing before it loads the asd file. I love responding to myself. To anyone who is spending time trying to track this down for me - I've been doing some judicious repl'ing and tweaking environment settings and its starting to look like it might be a paths or environment issue. (At the moment, I can sort-of make it go away, but not fully replicate the problem). Give me some time to run it down and I'll post again, quite possibly with details on what detail I missed. -aja From mbaringer at common-lisp.net Sun Jul 30 04:00:13 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Sun, 30 Jul 2006 00:00:13 -0400 (EDT) Subject: [Bese-devel] New patches to arnesi_dev: 29-Jul-2006 Message-ID: <20060730040013.972672F028@common-lisp.net> Sat Jul 29 19:45:54 EDT 2006 Hoan Ton-That * Added SYMBOL-MACROLET and MACROLET tests M ./t/walk.lisp +41 Sat Jul 29 19:30:14 EDT 2006 Hoan Ton-That * Unwalk SYMBOL-MACROLET-FORM M ./src/unwalk.lisp -4 +5 Sat Jul 29 19:29:36 EDT 2006 Hoan Ton-That * Unwalk MACROLET-FORM M ./src/unwalk.lisp -3 +5 An updated tarball of arnesi_dev's source can be downloaded here: http://common-lisp.net/project/bese/tarballs/arnesi_dev-20060729.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=arnesi_dev;a=summary From luca at pca.it Sun Jul 30 23:17:28 2006 From: luca at pca.it (Luca Capello) Date: Mon, 31 Jul 2006 01:17:28 +0200 Subject: [Bese-devel] Re: rfc2109: upstream alive? References: <87k667g8y7.fsf@gismo.pca.it> <20060721005616.GI15462@alan.shields.name> Message-ID: <87u04yvg1j.fsf@gismo.pca.it> Hello, sorry for the (very) late reply, I was a bit busy with real life... On Fri, 21 Jul 2006 02:56:16 +0200, Alan Shields wrote: > Luca, my apologies. I'm under the weather something fierce. That and > I receive over 50 spam emails an hour - I found your old mails and > will go through them this weekend. Along with the other patches I've > received. No problem at all, usually I tried to get in contact with upstream authors of the packages I maintain in Debian, because I think a strict collaboration (or, at least, discussion) is necessary. > On Fri, Jul 21, 2006 at 01:20:16AM +0200, Luca Capello wrote: >> Moreover, as rfc2109.lisp contains RFC documents, I removed them >> from the Debian package [4] (they are against the DFSG [5]) and >> I'll propose the same for upstream (but this is a >> _very_personal_opinion_). > > Stripping these is fine, though they're there to be the best form of > documentation (in my opinion). > > Which clause of the DFSG do they violate? Any pointers from Debian > Legal? I admit confusion. I never asked on Debian Legal, but a similar discussion is at [1]. The problem is about the license and redistribution, as stated in [2]. Specifically, in your case and IMHO [3], the problem with rfc2109 is that the RFCs are included verbatim, but interleaved in the source code (thus, "modified" and so against DFSG #3 [4]). Moreover, as there's no license attached to every single RFC, an end-user could think that the whole source code (i.e, the lisp code and the interleaved RFCs) are under the BSD license, which is absolutely wrong. I agree that in term of documentation the interleaved format is the best, but maybe you can just include something as my patch [5] plus a doc/ folder where the RFCs land (similar to rfc2388 [6]). HTH :-) Thx, bye, Gismo / Luca [1] http://lists.debian.org/debian-legal/2002/03/msg00002.html [2] http://josefsson.org/bcp78broken/ [3] disclaimer: I never studied law and it's not my best interest [4] http://www.debian.org/social_contract#guidelines 3. Derived Works The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software. [5] http://cl-debian.alioth.debian.org/repository/lcapello/rfc2109-upstream/_darcs/patches/20060720210407-f6b0c-b84ff59374546e09173fadd6ec1b249db30b6fd2.gz [6] http://common-lisp.net/project/rfc2388/ -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 188 bytes Desc: not available URL: From joseph at mammalia.net Mon Jul 31 04:59:41 2006 From: joseph at mammalia.net (Joseph Wright) Date: Sun, 30 Jul 2006 21:59:41 -0700 Subject: [Bese-devel] error starting with ucwctl - problem with cl-launch? Message-ID: <187B5F39-5673-484A-A016-9C4251123A18@mammalia.net> Hi, I'm trying to start ucw using ucwctl on recent debian unstable (because it has recent sbcl and threads). I may downgrade or try it on another system such as redhat to see if I get similar results. This is pretty lengthy, so I cut out a chunk of the backtrace. unhandled SIMPLE-ERROR in thread #: Error during processing of --eval option "(progn(set-dispatch- macro-character #\\# #\\! #'(lambda(stream char arg)(declare(ignore char arg))(values (read-line stream))))(load \"/usr/bin/cl-launch \" :verbose nil :print nil) (funcall(intern(string :run):cl-launch) :init \"(cl-launch::compile- and-load-file (pop cl-launch::*arguments*))\" :quit nil))": couldn't write to #: Bad file descriptor 0: (BACKTRACE 128 #) 1: (SB-DEBUG::DEBUGGER-DISABLED-HOOK # #) 2: (INVOKE-DEBUGGER #) 3: (ERROR "Error during processing of --eval ~ option ~S:~%~% ~A") 4: ((LAMBDA (SB-IMPL::E)) #) 5: ((LAMBDA (SB-IMPL::E)) #) 6: (SIGNAL #) 7: (ERROR SB-INT:SIMPLE-STREAM-ERROR) 8: (SB-IMPL::SIMPLE-STREAM-PERROR "couldn't write to ~S" # 9) 9: (SB-IMPL::FLUSH-OUTPUT-BUFFER #) 10: (SB-IMPL::OUTPUT-CHAR-ASCII-LINE-BUFFERED # #\Newline) 11: (WRITE-CHAR #\Newline #) <--snip--> 35: (SB-IMPL::PROCESS-EVAL-OPTIONS ((DISABLE-DEBUGGER) "(progn(set-dispatch-macro-character #\\# #\\! #'(lambda (stream char arg)(declare(ignore char arg))(values (read-line stream))))(load \"/usr/bin/cl-launch\" :verbose nil :print nil) (funcall(intern(string :run):cl-launch) :init \"(cl-launch::compile- and-load-file (pop cl-launch::*arguments*))\" :quit nil))")) 36: (SB-IMPL::TOPLEVEL-INIT) 37: ((LABELS SB-IMPL::RESTART-LISP)) unhandled condition in --disable-debugger mode, quitting unhandled SB-INT:SIMPLE-STREAM-ERROR in thread #: couldn't write to #: Bad file descriptor 0: (BACKTRACE 128 #) 1: (SB-DEBUG::DEBUGGER-DISABLED-HOOK # #) 2: (INVOKE-DEBUGGER #) 3: (ERROR SB-INT:SIMPLE-STREAM-ERROR) 4: (SB-IMPL::SIMPLE-STREAM-PERROR "couldn't write to ~S" # 9) 5: (SB-IMPL::FLUSH-OUTPUT-BUFFER #) 6: (FORCE-OUTPUT #) 7: (SB-INT:FLUSH-STANDARD-OUTPUT-STREAMS) 8: ((LABELS SB-IMPL::RESTART-LISP)) unhandled condition in --disable-debugger mode, quitting Argh! error within --disable-debugger error handling (\_/) Joseph (o,o) Those are my principles. If you don't like them I have others. ()_() --Groucho Marx " " From rtvd at mail.ru Sat Jul 29 18:30:47 2006 From: rtvd at mail.ru (Denys Rtveliashvili) Date: Sat, 29 Jul 2006 22:30:47 +0400 Subject: [Bese-devel] Patches for ucw_ajax to reduce javascript size Message-ID: <1154197847.1264.10.camel@blackfire> Hi Attila, I made two patches for ucw_ajax that reduce the javascript size on pages. When applied together, they reduce the "Form example" page size from approximately 38 000 to 18 000 bytes. And there are some optimizations which can be additionally made, but I did not do them yet. One of the patches extracts and simplifies much of javascript code for registering fields, creating validators and so on. Another one makes it possible to collect javascript code within an HTML form or another region of a page and then write it as a single piece, thus removing a lot of tags. Could you, please, take a look at the patches attached to this email and include them into ucw_ajax if it is appropriate? I suppose I may not push the patches to the ucw_ajax repository myself. Thank you, Denys R P.S. I am leaving for vacations, so I will be unavailable for 7-10 days. -------------- next part -------------- New patches: [Added a special marco that collects JavaScript code and emits it only at the end. Wrapped **20060728050347] { hunk ./src/packages.lisp 384 - #:script)) + #:script + #:collect-scripts)) hunk ./src/yaclml/ucw-tags.lisp 76 +(defvar *javascript-collector* nil) + +; set *collect-javascript* to T if you want (length ,collected-value-name) 0)) + (if *javascript-collector* + (setf *javascript-collector* + (concatenate 'string *javascript-collector* ,collected-value-name)) + (<:script :type "text/javascript" + (<:as-is :quotedp t ,collected-value-name))))))) + hunk ./src/yaclml/ucw-tags.lisp 130 - `(<:script :type "text/javascript" - (<:as-is :quotedp t - ,(if compile-time-p - (iter (for expr in body) - (collect (js:js* (eval expr)) :into result) - (finally (return (apply #'concatenate 'string result)))) - `(js:js* , at body))))) + `(let ((javascript-code + ,(if compile-time-p + (iter (for expr in body) + (collect (js:js* (eval expr)) :into result) + (finally (return (apply #'concatenate 'string result)))) + `(js:js* , at body)))) + (if *javascript-collector* + (setf *javascript-collector* + (concatenate 'string *javascript-collector* javascript-code)) + (<:script :type "text/javascript" + (<:as-is :quotedp t javascript-code))))) hunk ./src/yaclml/ucw-tags.lisp 342 + ( *-mixin - effective-context-definition -> request-context-class ] [parenscript-handler updated to reflect new js:compile-parenscript-file-to-string changes. evrim at core.gen.tr*-20060709102712 (parenscript-dispatcher) function is updated to reflect changes. *Warning* API changed. ] [keyword definitions of session,frame,action parameters added to std-vars. evrim at core.gen.tr**20060704144237] [Introducing a new generic method for std-component: evrim at core.gen.tr**20060709144801 (defgeneric descendant-p (parent child &optional recursive-p) (:documentation "Predicate to use whether child is a child of parent.")) ] [parenscript-handler updated to reflect new js:compile-parenscript-file-to-string changes. evrim at core.gen.tr**20060709102712 (parenscript-dispatcher) function is updated to reflect changes. *Warning* API changed. ] [Fix some indentations attila.lendvai at gmail.com**20060710000755] [Made the AJAX stuff work on ie 6.0.2900 (ie sp2) attila.lendvai at gmail.com**20060710000415] [Added default onbeforeunload event handler that checks for dirty forms when leaving the page attila.lendvai at gmail.com**20060708144206] [Do not intern gensymed stuff at compile time in parenscript-utils.lisp attila.lendvai at gmail.com**20060708144115] [Pulled missing patches from _dev and undo'd them by hand attila.lendvai at gmail.com**20060707215004] [Added a with-url-prefix keyword param to :src javascript entries attila.lendvai at gmail.com*-20060626220600] [Added a with-url-prefix keyword param to :src javascript entries attila.lendvai at gmail.com**20060626220600] [TAG 2006-06-23 attila.lendvai at gmail.com**20060623091256] [Merge dev/ajax conflict in l10n example attila.lendvai at gmail.com**20060618154956] [Backport examples to the dev branch (fix it :) attila.lendvai at gmail.com**20060618142159] [- :initarg :dispatchers added std-application. evrim at core.gen.tr**20060612171540] [- std-application default dispatchers are now provided from via initform. evrim at core.gen.tr**20060607125015] [- removed shared-init :after method of std-application, default dispathers are now in :initform evrim at core.gen.tr**20060607124939] [Support abandon-handlers in simple-form attila.lendvai at gmail.com**20060707173329] [Support various form abandon handlers attila.lendvai at gmail.com**20060707173319 When the page will be abandoned UCW checks the pendings forms. Each modified form is asked for approval. There are three standard policies for **20060703112938] [Support invocation-isolated actions when submitted through forms attila.lendvai at gmail.com**20060703185825] [Added missing load-op of :ucw in start.lisp attila.lendvai at gmail.com**20060703134948] [Alter example loading description in the README attila.lendvai at gmail.com**20060703132401] [Follow compile-time-level logger changes in Arnesi attila.lendvai at gmail.com**20060703172328] [Only load the l10n examples on clisp and sbcl attila.lendvai at gmail.com**20060703131652] [Export config variables in the ucw.system package attila.lendvai at gmail.com**20060703124921 Which makes it possible to set the variables between (asdf:find-system :ucw) and (asdf:oos 'asdf:load-op :ucw) when loading UCW programmatically in a customized way. ] [Clear some config vars, so asdf-loading :ucw has no other side effects attila.lendvai at gmail.com**20060703122907] [Added a *ucw-compile-time-log-level*, see docstring for details attila.lendvai at gmail.com**20060702221950] [Minor indentation fix attila.lendvai at gmail.com**20060702221910] [Fix loading the l10n example so that cl-l10n doesn't warn attila.lendvai at gmail.com**20060702120642] [Fix flush-request-response call in tal-handler attila.lendvai at gmail.com**20060702003000] [Moved back debug-on-error into protocol.lisp attila.lendvai at gmail.com**20060702000159] [Added extensive examples describing action isolation and backtracking with and without ajax attila.lendvai at gmail.com**20060701233329] [Do not render <:html and <:body in info-message if there's a parent attila.lendvai at gmail.com**20060701233210] [Fix cache examples attila.lendvai at gmail.com**20060701233138] [Issue an (in-package :ucw-user) after loading the example system attila.lendvai at gmail.com**20060701225123] [Implemented invocation-isolated actions attila.lendvai at gmail.com**20060701224642 These actions are guaranteed to be executed once per user action. For details see next patch that adds examples with extensive descriptions. ] [removing now unused default.lisp Nathan Bird **20060630194342] [moving configuration into :ucw package, merging default.lisp into vars.lisp Nathan Bird **20060630193756] [use the *ucw-swank-port* as default swank port Nathan Bird **20060630184217] [eval-when goodness to facilitate ucwctl loading Nathan Bird **20060630184157] [Merge conflicts with start refactor in ucw_dev attila.lendvai at gmail.com**20060630175241] [Further simplify loading mostly based on Nathan Bird's ideas attila.lendvai at gmail.com**20060630165226] [make-displaced-array has been moved to arnesi attila.lendvai at gmail.com**20060630081327] [Use iter in split-on-space and avoid an nreverse attila.lendvai at gmail.com**20060629234204] [Only start swank from the asd when *ucw-swank-port* is not nil attila.lendvai at gmail.com**20060630001834] [Fix read-line-from-network in httpd backend attila.lendvai at gmail.com**20060629231051] [Resolve conflicts with the dev branch with find-action attila.lendvai at gmail.com**20060629221634] [- fixed %100 cpu utilization when action-id is not specified in the URL. evrim at core.gen.tr**20060628205417] [- effective-context-definition exported for external app-module definitions. evrim at core.gen.tr**20060627150948] [Added missing parenscript-utils dependency to components in the asd attila.lendvai at gmail.com**20060629220033] [Fix isolated action handling attila.lendvai at gmail.com**20060629215837] [Move some stuff from start.lisp into ucw.asd attila.lendvai at gmail.com**20060628084944] [Convert external-format-for into a defun attila.lendvai at gmail.com**20060627141634] [Fix application-directory handling in config.lisp attila.lendvai at gmail.com**20060626075804] [exports for modular-application aycan.irican at core.gen.tr**20060625164051] [Added a :with-url-prefix keyword param to javascript entries in window.lisp attila.lendvai at gmail.com**20060626231522] [Call threaded-lisp-p at load-time to avoid a warning attila.lendvai at gmail.com**20060625130223] [Get rid of the eval defclass in modular-application attila.lendvai at gmail.com**20060625124728] [Merge dispatcher and application refactor with the dev branch attila.lendvai at gmail.com**20060625122021] [Make sure context.locale is always a list attila.lendvai at gmail.com**20060625105538] [fixed asd file for modular-applications. evrim at core.gen.tr**20060624092237] [added security-module.lisp evrim at core.gen.tr**20060624092227] [added modular-application.lisp which specifies modular applications. evrim at core.gen.tr**20060624092154] [added l10n-module.lisp evrim at core.gen.tr**20060624092113] [cookie-module.lisp added. evrim at core.gen.tr**20060624092045] [added LICENCE file. evrim at core.gen.tr**20060624092032] [fixed type in l10n-example -> *l10n-example-appication* evrim at core.gen.tr**20060624083531] [added src/rerl/modular-application direcorty. evrim at core.gen.tr**20060624083452] [l10n.lisp removed. moved to modular-applications. evrim at core.gen.tr**20060623201634] [secure-application.lisp removed. moved to modular-applications. evrim at core.gen.tr**20060623201102] [cookie-session.lisp removed. moved to modular-applications. evrim at core.gen.tr**20060623200752] [Define shared-initialize :after, not a shared-initialize whose first form in (call-next-method) Marco Baringer **20060622121056] [Fix the fix for dispatcher priority attila.lendvai at gmail.com**20060619095536] [action-dispatcher created with nil priority Alexey Antipov **20060619073557] [- merged conflicts with current dev-branch. tal-matcher updated according to marcos's ends-width patch. evrim at core.gen.tr**20060618232521] [- Introducing the new dispatcher implementation. now we have reusable evrim at core.gen.tr**20060618201426 matchers and handlers. API didn't change a lot for now. Only change is two arg'ed handler lambda()'s are replaced with zero arg-ed one's to form up a standard. Old arguments like application and context can be reached via special *context*. Please see also previous patch comments for more info about what may have changed. ] [- ucw example application fixed to reflect changes in new dispacther evrim at core.gen.tr**20060618174543 api. ] [- ucw admin application dispatchers fixed to reflect new dispatcher evrim at core.gen.tr**20060618174507 api. ] [- ensure-session moved to std-application class. evrim at core.gen.tr**20060618174430] [- defentry-point fixed accoring to new disaptcher implementation. It evrim at core.gen.tr**20060618174311 now creates a zero-arged lambda function for action handling. ] [- fixed exports for new dispatcher implementaion. exported dispatchers: evrim at core.gen.tr**20060618174208 * action-dispatcher * minimal-dispatcher * simple-dispatcher * parenscript-dispatcher * url-dispatcher * regexp-dispatcher * tal-dispatcher - *dispatcher-registers* is un-exported since it does not exists anymore. ] [- flush-request-response() moved to object std-request-context. evrim at core.gen.tr**20060618173902] [Render custom checkbox images so that the page is not scrolled when they are clicked attila.lendvai at gmail.com**20060623214228] [Merge conflicts with dev branch in forms.lisp attila.lendvai at gmail.com**20060623083756] [Merge conflicts with Pupeno's last patch Marco Baringer **20060622123735] [Be able to define accesskey in other input fields than text. Jos?? Pablo Ezequiel "Pupeno" Fern??ndez Silva **20060621132840] [Be able to specify accesskey for input elemnts. Jos?? Pablo Ezequiel "Pupeno" Fern??ndez Silva **20060621131657] [Re-place comments (email and regexp validator). Jos?? Pablo Ezequiel "Pupeno" Fern??ndez Silva **20060621124750] [Export min and max -length for the length-validator. Jos?? Pablo Ezequiel "Pupeno" Fern??ndez Silva **20060621122848] [Err, really fix the content-length header this time attila.lendvai at gmail.com**20060620193145] [Fix content-length header in serv-* backend methods attila.lendvai at gmail.com**20060620134510] [Esperanto translation. Jos?? Pablo Ezequiel "Pupeno" Fern??ndez Silva **20060619101131] [Spanish translation. Jos?? Pablo Ezequiel "Pupeno" Fern??ndez Silva **20060619095043] [Display the locale preference list in the l10n example attila.lendvai at gmail.com**20060618211355] [Make the l10n tal example an embeddable non-window component attila.lendvai at gmail.com**20060618153512] [Better way to load the examples in the README attila.lendvai at gmail.com**20060618142128] [Fix last patch (by Alberto Santini ) Maciek Pasternacki **20060617173114] [Fix an IE date header problem (by Lou Vanek ) Maciek Pasternacki **20060617134808] [Use indefinit articles in l10n example attila.lendvai at gmail.com**20060618143451] [Fix simple-form and simple-submit attila.lendvai at gmail.com**20060618135049] [New l10n and i18n example attila.lendvai at gmail.com**20060618134812] [Add :www-roots default initarg attila.lendvai at gmail.com**20060618134443] [Fixed some glitches to make (progn (require :ucw) (load "ucw/etc/start.lisp")) work out of the box attila.lendvai at gmail.com**20060618114506] [Get rid of accidental listify, use ensure-list attila.lendvai at gmail.com**20060618114006] [Added with-ucw-error-handler js macro attila.lendvai at gmail.com**20060617175926] [Some more l10n work attila.lendvai at gmail.com**20060617175729] [Merge ajax/dev branch conflicts attila.lendvai at gmail.com**20060617143355] [Export make-request-context and cookie-session-request-context attila.lendvai at gmail.com**20060617132000] [Rename i18n to l10n. restructure files. move cl-l10n dependncy to ucw.l10n system (off of ucw) Marco Baringer **20060617123925] [Added :initarg to extension slot of tal-dispatcher Marco Baringer **20060616153433] [Use IF instead of AIF since the it binding is nevere referenced. Marco Baringer **20060616153418] [Remover spurious cons in read-from-client-string Marco Baringer **20060616153209] [Update (setf container.current-component)'s docstring Marco Baringer **20060616153139] [set arnesi:*warn-undefined* to NIL to avoid problems with asdf+sbcl Marco Baringer **20060616152852] [Adds a class html-element and makes it superclass of the widgets and form inputs. Also fixes some inconsistencies in marijn at haverbeke.nl**20060613220202 components/form.lisp. ] [Minor indentation fix Marco Baringer **20060607120319] [Changed the tal-dispatcher to only look for tals files for specific urls (defaults to those ending in .ucw) Marco Baringer **20060607120228] [Lazy create the isolate-hash hashtable attila.lendvai at gmail.com**20060616150043] [Use the $ js macro in form.lisp attila.lendvai at gmail.com**20060616140112] [Since we're alread using dojo we might as well use all the shortcuts it provides Marco Baringer **20060607120422] [Small i18n fix and comment attila.lendvai at gmail.com**20060616123417] [Added enabled/disabled image/tooltip support to checkbox attila.lendvai at gmail.com**20060614152854] [Add cl-l10n dependency to the docs attila.lendvai at gmail.com**20060616115153] [cl-l10n integration (WARNING: i18n api change) attila.lendvai at gmail.com**20060616111739 The stuff in i18n.lisp has been revisited. Most of the locale values are cl-l10n locale instances or locale names that the cl-l10n locale function understands. If you subclass i18n-application then each request will bind *locale* according to the client's browser settings. Most of the time it's a list in which case *locale* will be bound to this list and resource lookups will try each locale in this list until the resource is found. The application's default locale is always appended to the end of this list when it's not already in it. ] [Only return the (absolute) path in map-query-path-to-file when it has a filename part attila.lendvai at gmail.com**20060616110635] [Cache the cl-ppcre:scanner for the url-string in a regexp dispatcher. Nathan Bird **20060613151409 Profiling showed that a LOT of time and memory was spent creating scanners. Do the regexp compilation once, and reuse the scanner for all requests. If the url-string on the regexp-dispatcher is changed then the scanner will be recreated. ] [Fix call-callbacks dependencies attila.lendvai at gmail.com**20060613161714] [Smarten up callbacks (WARNING: api change) attila.lendvai at gmail.com**20060613155947 With this patch callbacks are stored in a defstruct. (defstruct (callback-entry (:conc-name callback-) (:constructor %make-callback-entry)) (lambda nil :type function) (dependencies '() :type list) ; a list of callbacks that should be run before this one (executed nil :type boolean) ; while callbacks are processed this flag is used to mark execution (priority 0 :type fixnum) ; callbacks will be called in the order determined by this priority (id nil :type string)) Also fixed submit-callbacks, they are now garanteed to be called after normal callbacks (their priority is -100) The API change is that make-new-callback became register-callback, and its :name parameter is renamed to :id. ] [httpd now skips empry request params in map-parameters attila.lendvai at gmail.com**20060613152005] [Added build-dojo.sh and updated dojo.js as a binary file attila.lendvai at gmail.com**20060612104009 When updating dojo.js _darcs/prefs/bianries should have a line at the end like this: dojo\.js so that it's updated as a binary file when someone updates dojo.js. The iuncluded build-dojo.sh builds a cvs dojo and copies the src dir into the ucw wwwroot. In the ucw repo only debug.js is included. If you build your own dojo then you can use the dojo include facility to include stuff that is now in the dojo.js. ] [Got rid of regex matching in parenscript dispatcher attila.lendvai at gmail.com**20060612091130] [Added comments to the cache examples attila.lendvai at gmail.com**20060610114956] [- resolved conflicts for previous parenscript-dispatcher patch. evrim at core.gen.tr**20060611151202] [- parenscript-dispatcher: no need for a dynamic handler function since evrim at core.gen.tr**20060611145936 it's static. Parenscript disptacher was using function-dispatcher and a (lambda (app context)) to dispatch. I've implemented a usual dispatch method to dispatch paresncript js files. The reason is, it's easier to debug now since handler lambda's are not instantiated across applications. ] [Use both ajax and non-ajax submitting in the add numbers example attila.lendvai at gmail.com**20060610112733] [Added :focused support to some **20060604171847] [When adding the ucw-form-field-invalid class remeber to remove the ucw-form-field-valid class (Patch by: Marijn Haverbeke ) Marco Baringer **20060604171146] [- secure-application#exit-user is broken due to removal of find-entry-point. evrim at core.gen.tr**20060531115550] [Silly typos in previous patch Marco Baringer **20060604141410] [Added :class attributes to all the form elements Marco Baringer **20060604140146] [Allow for component-slot definition with :component nil Nathan Bird **20060508155758 This patch changes the way the component-class.component-sltos list is built. It should now be in the same order as the class-slots which is hopefully the same order they were defined in. Additionally (the bigger reason) is so that slots that were declared with ':component nil' are marked as being component-slots but are left unbound. ] [Fix form default action stuff in per-application js attila.lendvai at gmail.com**20060609150905] [Export collapsedp, other stylistic changes attila.lendvai at gmail.com**20060608123140] [Support
**20060531193531 Now when the slime debug buffer pops up while handling a web request, 'q' (sldb-quit) will cause the 'fail-miserably restart to be invoked. ] [fixing logging message typo Nathan Bird **20060531155026] [made the remove component :after be correctly specialized Russ Tyndall **20060529222215] [added pass through for optional args in read client string Russ Tyndall **20060525223940] [made it correctly out put human number strings rather than lisp number strings (aka no more 1.23d0) Russ Tyndall **20060517164149] [provide #'meta-refresh Nathan Bird **20060529215502 Cause a meta-refresh (a freshly got (GET) url) at this point. This is useful in order to have a GET url after a form POST's actions have completed running. The user can then refresh to his heart's content. ] [Adding child-components export Nathan Bird **20060508161431] [Add a child-components function Nathan Bird **20060508160149] [Export ucw::get-header Marco Baringer **20060530233436] [Added render-option specialized on nil attila.lendvai at gmail.com**20060530213435] [Merge conflicts with Added logging statements which report the action being... attila.lendvai at gmail.com**20060530142740] [Added logging statements which report the action being evaluated. Marco Baringer **20060529080637] [Don't specialize slot-value-using-class on the value parameter Marco Baringer **20060530105600] [write-uri-sans-query needs to deal with 'special' characters in the query-part Marco Baringer **20060529182043] [Add "_" prefix to all ucw defined query parameters. Marco Baringer **20060529072846 This helps aliviate (but does not completly remove) the probablitily of a ucw defined parameter conflicting with a user defined parameter. I'll admit that the odds of one of ucw's randomly defined parameter names being the same as a user defined parameter name are slim, but when it does happen it's a once-every-1000-totally-unreproducable-100%untractable error :( ] [Implement radio-button widget Marco Baringer **20060529072632] [Added load-relative-url and absolute-url-from attila.lendvai at gmail.com**20060528111238] [Some more work on with-action-args macro attila.lendvai at gmail.com**20060528000045] [Added debug support for parenscript stuff attila.lendvai at gmail.com**20060527235747] [Merge conflict in ucw-tags attila.lendvai at gmail.com**20060527123809] [Set arnesi:*warn-undefined* to T in the start.lisp script Marco Baringer **20060526192721] [Fix erroneous evaluation bug in ucw-tags.lisp Marco Baringer **20060526192234 the code which checked for the precesne of an action parameter in a **20060514233614 To simplify things, the two systems used by bin/ucwctl are merged into the general `:ucw' one. As a side-effect, etc/start.lisp now loads the `*ucw-config-file*' when present or set the `*ucw-systems*' and `*ucw-applications*' variables. http://common-lisp.net/pipermail/bese-devel/2006-May/002122.html ] [Export ucw:is-an-integer-validator. Maciek Pasternacki **20060514232653] [Add message slot to validator class to contain an error message. Maciek Pasternacki **20060514232631] [ucw:ajax-action now understands :invalidate which is a component to be rendered and pushed to the client attila.lendvai at gmail.com**20060515094744] [Added AJAX increment/decrement buttons to the counter example attila.lendvai at gmail.com**20060515091412] [Some more stuff for AJAX attila.lendvai at gmail.com**20060515091346 Most **20060430215547 Useful for reading data from questionable origins where *read-eval* needs to be false. ] [Indentation fixup in tabbed-pane.lisp Marco Baringer **20060509102104] [Minor refactoring in container.lisp Marco Baringer **20060509102050] [Mention the difference between (setf application.dispathers) and (setf (slot-value app 'dispatchers)) in the docstring Marco Baringer **20060509101051] [Some more changes to action handling attila.lendvai at gmail.com**20060508201646 Introduced the following parameters for actions: :call-render-loop - you can turn off ralling render loop after the action returns :make-new-frame - you can turn off backtracking, the same frame remains after the action :manage-response - when nil it's up to the action to manage response sending action-href now works with a lambda or a string action id Also make sure frame and session is only set when they would change the value. Think of users overriding teh protocol like cookie-session-application setting the session cookie, etc... ] [Store an action-struct instead of a simple lambda when making actions attila.lendvai at gmail.com**20060504151455 The new action-entry struct looks like this: (defstruct (action-entry (:conc-name action-)) (lambda nil :type function) (valid-p t :type boolean) (isolated-p nil :type boolean) (ajax-p nil :type boolean) (id nil :type (or nil string))) make-new-action returns an instance of this, register-action returns only the action-id. Both of them accept the :isolate and :ajax parameters. :ajax means that the action will be processed much simpler then normal actions. For example the render-loop will not be called after the action returned. Some other code that I use and is still waiting to get mature: (defmacro handle-ajax-request ((&key (content-type "text/xml") (raw nil)) &body body) (with-unique-names (yaclml-stream request response) `(let* ((,request (ucw:context.request *context*)) (,response (ucw:context.response *context*)) ,@(unless raw `((,yaclml-stream (make-string-output-stream))))) (setf (ucw::get-header ,response "Status") "200 OK" (ucw::get-header ,response "Content-Type") ,content-type) (send-headers ,response) ,@(if raw body `((yaclml::with-yaclml-stream ,yaclml-stream ,(when (string= content-type "text/xml") `(<:as-is "")) , at body) (write-sequence (string-to-octets (get-output-stream-string ,yaclml-stream) :utf-8) (ucw::network-stream ,request)))) (close-request ,request)))) ;; this is rendered with (action-href ... :ajax t) (" yaclml:*yaclml-stream*) (render ajax-component) (princ "" yaclml:*yaclml-stream*))) ] [Add a **20060506233602 **20060504233324] [INCOMPATIBLE CHANGE: add NET-TELENT-DATE dependency, send out Date: header, make SERVE-FILE cache-friendly (use Date:, Last-Modified:, Expires: and If-Modified-Since: headers). Maciek Pasternacki **20060503013844] [Don't send headers set to NIL (especially Content-Length:) in response. Maciek Pasternacki **20060503013648] [New function (delete-header message header-name). Maciek Pasternacki **20060503011904] [Don't send body if HTTP method is HEAD. Maciek Pasternacki **20060502222010] [Save HTTP method of request as string. Maciek Pasternacki **20060502221955] [Initform for (request response). Maciek Pasternacki **20060502221939] [Include in httpd response a request associated with it. Maciek Pasternacki **20060502221158] [changed docs to get up to date and add some info cjstuij at gmail.com**20060503094055] [Added send-redirect function. Marco Baringer **20060501154250 send-redirect does what redirect-component's render method did but it's usable from a simple-dispatcher (or anywhere else we don't have ucw's component context machinery). ] [Use dolist*, not dolist, in tabbed-pane's render method. Marco Baringer **20060501135314] [Using (when (whatever) T) is weird, use (whatever) instead Marco Baringer **20060501135000] [Minor indentation/whitespace fixups in src/components/form.lisp Marco Baringer **20060501134849] [make-with-dummy-request-nicer cjstuij at gmail.com**20060501001756] [tabbed-pane-makeover - tabbed panes are now wrapped in divs in stead of a table, for more design flexibility. Is no longer tied to a tal file. cjstuij at gmail.com**20060430233920] [Removing integer-range-validator, use number-range-validator instead. Nathan Bird **20060428165829] [the value of a number-field should be nil, not 0, if nothing was entered. Nathan Bird **20060428164949] [bin/ucwctl: allow a custom ucwctl.conf via -u|--ucwctl-file Luca Capello **20060501110031 This adds the possibility to specify a different ucwctl.conf file instead of the default /etc/ucw/ucwctl.conf. Moreover, by default ucwctl now reads ~/.ucw/ucwctl.conf it it exists, overriding the values in the general /etc/ucw/ucwctl.conf, and the same happens if the ucwctl.conf is specified via the command line option. All command line options override the values present in any ucwctl.conf files. The order is the following: 1) /etc/ucw/ucwctl.conf (if it exists) 2) ~/.ucw/ucwctl.conf (if it exists) 3) -u|--ucwctl-file (if specified, exit if it cannot be read) 4) command line options A deeper discussion is available at: http://common-lisp.net/pipermail/bese-devel/2006-April/001932.html http://common-lisp.net/pipermail/bese-devel/2006-April/001961.html ] [In the phone and email validators instead of defining a new slot we just use the :default-initargs class option Marco Baringer **20060428103114] [Adding documentation to form.lisp Nathan Bird **20060428023256] [Rearranging file contents to reduce style-warnings Nathan Bird **20060428022511] [Implementing value-validators Nathan Bird **20060428020403 Value-validators are a category of validators that are only applied if there is actually a value. This was done to provide a more systematic scheme since there were several different ways it was being handled previously. Javascript validation in this patch is untested. ] [Expanded the forms example to include a number-field and number-range-validated field. Nathan Bird **20060428014551] [added a standard regular exprexpression validator then made e-mail-validator use it. E-mail-validator IS NO LONGER INVALID IF EMPTY. Adde d an international phonenumber validator russ at acceleration.net**20060425154947] [added regex exports russ at acceleration.net**20060424225714] [Comment fixup Nathan Bird **20060427173259] [Added missing id param that got lost in my **20060425145623] Patch bundle hash: d25d6e0fe005e09638aac49ec019a2b895c1a1be -------------- next part -------------- New patches: [Extracted a lot of form-related javascript from dynamic HTML pages into static per-application javascript file. Denys Rtveliashvili **20060729181037] { hunk ./src/components/form.lisp 40 -(defgeneric generate-javascript (field validator) - (:documentation "Generate all the javascript for a given field and validator")) hunk ./src/components/form.lisp 56 - (flet ((connect (events handler) - (iter (for event in (ensure-list events)) - (collect `(dojo.event.connect ($ ,id) ,event ,handler))))) - ( *-mixin - effective-context-definition -> request-context-class ] [parenscript-handler updated to reflect new js:compile-parenscript-file-to-string changes. evrim at core.gen.tr*-20060709102712 (parenscript-dispatcher) function is updated to reflect changes. *Warning* API changed. ] [keyword definitions of session,frame,action parameters added to std-vars. evrim at core.gen.tr**20060704144237] [Introducing a new generic method for std-component: evrim at core.gen.tr**20060709144801 (defgeneric descendant-p (parent child &optional recursive-p) (:documentation "Predicate to use whether child is a child of parent.")) ] [parenscript-handler updated to reflect new js:compile-parenscript-file-to-string changes. evrim at core.gen.tr**20060709102712 (parenscript-dispatcher) function is updated to reflect changes. *Warning* API changed. ] [Fix some indentations attila.lendvai at gmail.com**20060710000755] [Made the AJAX stuff work on ie 6.0.2900 (ie sp2) attila.lendvai at gmail.com**20060710000415] [Added default onbeforeunload event handler that checks for dirty forms when leaving the page attila.lendvai at gmail.com**20060708144206] [Do not intern gensymed stuff at compile time in parenscript-utils.lisp attila.lendvai at gmail.com**20060708144115] [Pulled missing patches from _dev and undo'd them by hand attila.lendvai at gmail.com**20060707215004] [Added a with-url-prefix keyword param to :src javascript entries attila.lendvai at gmail.com*-20060626220600] [Added a with-url-prefix keyword param to :src javascript entries attila.lendvai at gmail.com**20060626220600] [TAG 2006-06-23 attila.lendvai at gmail.com**20060623091256] [Merge dev/ajax conflict in l10n example attila.lendvai at gmail.com**20060618154956] [Backport examples to the dev branch (fix it :) attila.lendvai at gmail.com**20060618142159] [- :initarg :dispatchers added std-application. evrim at core.gen.tr**20060612171540] [- std-application default dispatchers are now provided from via initform. evrim at core.gen.tr**20060607125015] [- removed shared-init :after method of std-application, default dispathers are now in :initform evrim at core.gen.tr**20060607124939] [Support abandon-handlers in simple-form attila.lendvai at gmail.com**20060707173329] [Support various form abandon handlers attila.lendvai at gmail.com**20060707173319 When the page will be abandoned UCW checks the pendings forms. Each modified form is asked for approval. There are three standard policies for **20060703112938] [Support invocation-isolated actions when submitted through forms attila.lendvai at gmail.com**20060703185825] [Added missing load-op of :ucw in start.lisp attila.lendvai at gmail.com**20060703134948] [Alter example loading description in the README attila.lendvai at gmail.com**20060703132401] [Follow compile-time-level logger changes in Arnesi attila.lendvai at gmail.com**20060703172328] [Only load the l10n examples on clisp and sbcl attila.lendvai at gmail.com**20060703131652] [Export config variables in the ucw.system package attila.lendvai at gmail.com**20060703124921 Which makes it possible to set the variables between (asdf:find-system :ucw) and (asdf:oos 'asdf:load-op :ucw) when loading UCW programmatically in a customized way. ] [Clear some config vars, so asdf-loading :ucw has no other side effects attila.lendvai at gmail.com**20060703122907] [Added a *ucw-compile-time-log-level*, see docstring for details attila.lendvai at gmail.com**20060702221950] [Minor indentation fix attila.lendvai at gmail.com**20060702221910] [Fix loading the l10n example so that cl-l10n doesn't warn attila.lendvai at gmail.com**20060702120642] [Fix flush-request-response call in tal-handler attila.lendvai at gmail.com**20060702003000] [Moved back debug-on-error into protocol.lisp attila.lendvai at gmail.com**20060702000159] [Added extensive examples describing action isolation and backtracking with and without ajax attila.lendvai at gmail.com**20060701233329] [Do not render <:html and <:body in info-message if there's a parent attila.lendvai at gmail.com**20060701233210] [Fix cache examples attila.lendvai at gmail.com**20060701233138] [Issue an (in-package :ucw-user) after loading the example system attila.lendvai at gmail.com**20060701225123] [Implemented invocation-isolated actions attila.lendvai at gmail.com**20060701224642 These actions are guaranteed to be executed once per user action. For details see next patch that adds examples with extensive descriptions. ] [removing now unused default.lisp Nathan Bird **20060630194342] [moving configuration into :ucw package, merging default.lisp into vars.lisp Nathan Bird **20060630193756] [use the *ucw-swank-port* as default swank port Nathan Bird **20060630184217] [eval-when goodness to facilitate ucwctl loading Nathan Bird **20060630184157] [Merge conflicts with start refactor in ucw_dev attila.lendvai at gmail.com**20060630175241] [Further simplify loading mostly based on Nathan Bird's ideas attila.lendvai at gmail.com**20060630165226] [make-displaced-array has been moved to arnesi attila.lendvai at gmail.com**20060630081327] [Use iter in split-on-space and avoid an nreverse attila.lendvai at gmail.com**20060629234204] [Only start swank from the asd when *ucw-swank-port* is not nil attila.lendvai at gmail.com**20060630001834] [Fix read-line-from-network in httpd backend attila.lendvai at gmail.com**20060629231051] [Resolve conflicts with the dev branch with find-action attila.lendvai at gmail.com**20060629221634] [- fixed %100 cpu utilization when action-id is not specified in the URL. evrim at core.gen.tr**20060628205417] [- effective-context-definition exported for external app-module definitions. evrim at core.gen.tr**20060627150948] [Added missing parenscript-utils dependency to components in the asd attila.lendvai at gmail.com**20060629220033] [Fix isolated action handling attila.lendvai at gmail.com**20060629215837] [Move some stuff from start.lisp into ucw.asd attila.lendvai at gmail.com**20060628084944] [Convert external-format-for into a defun attila.lendvai at gmail.com**20060627141634] [Fix application-directory handling in config.lisp attila.lendvai at gmail.com**20060626075804] [exports for modular-application aycan.irican at core.gen.tr**20060625164051] [Added a :with-url-prefix keyword param to javascript entries in window.lisp attila.lendvai at gmail.com**20060626231522] [Call threaded-lisp-p at load-time to avoid a warning attila.lendvai at gmail.com**20060625130223] [Get rid of the eval defclass in modular-application attila.lendvai at gmail.com**20060625124728] [Merge dispatcher and application refactor with the dev branch attila.lendvai at gmail.com**20060625122021] [Make sure context.locale is always a list attila.lendvai at gmail.com**20060625105538] [fixed asd file for modular-applications. evrim at core.gen.tr**20060624092237] [added security-module.lisp evrim at core.gen.tr**20060624092227] [added modular-application.lisp which specifies modular applications. evrim at core.gen.tr**20060624092154] [added l10n-module.lisp evrim at core.gen.tr**20060624092113] [cookie-module.lisp added. evrim at core.gen.tr**20060624092045] [added LICENCE file. evrim at core.gen.tr**20060624092032] [fixed type in l10n-example -> *l10n-example-appication* evrim at core.gen.tr**20060624083531] [added src/rerl/modular-application direcorty. evrim at core.gen.tr**20060624083452] [l10n.lisp removed. moved to modular-applications. evrim at core.gen.tr**20060623201634] [secure-application.lisp removed. moved to modular-applications. evrim at core.gen.tr**20060623201102] [cookie-session.lisp removed. moved to modular-applications. evrim at core.gen.tr**20060623200752] [Define shared-initialize :after, not a shared-initialize whose first form in (call-next-method) Marco Baringer **20060622121056] [Fix the fix for dispatcher priority attila.lendvai at gmail.com**20060619095536] [action-dispatcher created with nil priority Alexey Antipov **20060619073557] [- merged conflicts with current dev-branch. tal-matcher updated according to marcos's ends-width patch. evrim at core.gen.tr**20060618232521] [- Introducing the new dispatcher implementation. now we have reusable evrim at core.gen.tr**20060618201426 matchers and handlers. API didn't change a lot for now. Only change is two arg'ed handler lambda()'s are replaced with zero arg-ed one's to form up a standard. Old arguments like application and context can be reached via special *context*. Please see also previous patch comments for more info about what may have changed. ] [- ucw example application fixed to reflect changes in new dispacther evrim at core.gen.tr**20060618174543 api. ] [- ucw admin application dispatchers fixed to reflect new dispatcher evrim at core.gen.tr**20060618174507 api. ] [- ensure-session moved to std-application class. evrim at core.gen.tr**20060618174430] [- defentry-point fixed accoring to new disaptcher implementation. It evrim at core.gen.tr**20060618174311 now creates a zero-arged lambda function for action handling. ] [- fixed exports for new dispatcher implementaion. exported dispatchers: evrim at core.gen.tr**20060618174208 * action-dispatcher * minimal-dispatcher * simple-dispatcher * parenscript-dispatcher * url-dispatcher * regexp-dispatcher * tal-dispatcher - *dispatcher-registers* is un-exported since it does not exists anymore. ] [- flush-request-response() moved to object std-request-context. evrim at core.gen.tr**20060618173902] [Render custom checkbox images so that the page is not scrolled when they are clicked attila.lendvai at gmail.com**20060623214228] [Merge conflicts with dev branch in forms.lisp attila.lendvai at gmail.com**20060623083756] [Merge conflicts with Pupeno's last patch Marco Baringer **20060622123735] [Be able to define accesskey in other input fields than text. Jos?? Pablo Ezequiel "Pupeno" Fern??ndez Silva **20060621132840] [Be able to specify accesskey for input elemnts. Jos?? Pablo Ezequiel "Pupeno" Fern??ndez Silva **20060621131657] [Re-place comments (email and regexp validator). Jos?? Pablo Ezequiel "Pupeno" Fern??ndez Silva **20060621124750] [Export min and max -length for the length-validator. Jos?? Pablo Ezequiel "Pupeno" Fern??ndez Silva **20060621122848] [Err, really fix the content-length header this time attila.lendvai at gmail.com**20060620193145] [Fix content-length header in serv-* backend methods attila.lendvai at gmail.com**20060620134510] [Esperanto translation. Jos?? Pablo Ezequiel "Pupeno" Fern??ndez Silva **20060619101131] [Spanish translation. Jos?? Pablo Ezequiel "Pupeno" Fern??ndez Silva **20060619095043] [Display the locale preference list in the l10n example attila.lendvai at gmail.com**20060618211355] [Make the l10n tal example an embeddable non-window component attila.lendvai at gmail.com**20060618153512] [Better way to load the examples in the README attila.lendvai at gmail.com**20060618142128] [Fix last patch (by Alberto Santini ) Maciek Pasternacki **20060617173114] [Fix an IE date header problem (by Lou Vanek ) Maciek Pasternacki **20060617134808] [Use indefinit articles in l10n example attila.lendvai at gmail.com**20060618143451] [Fix simple-form and simple-submit attila.lendvai at gmail.com**20060618135049] [New l10n and i18n example attila.lendvai at gmail.com**20060618134812] [Add :www-roots default initarg attila.lendvai at gmail.com**20060618134443] [Fixed some glitches to make (progn (require :ucw) (load "ucw/etc/start.lisp")) work out of the box attila.lendvai at gmail.com**20060618114506] [Get rid of accidental listify, use ensure-list attila.lendvai at gmail.com**20060618114006] [Added with-ucw-error-handler js macro attila.lendvai at gmail.com**20060617175926] [Some more l10n work attila.lendvai at gmail.com**20060617175729] [Merge ajax/dev branch conflicts attila.lendvai at gmail.com**20060617143355] [Export make-request-context and cookie-session-request-context attila.lendvai at gmail.com**20060617132000] [Rename i18n to l10n. restructure files. move cl-l10n dependncy to ucw.l10n system (off of ucw) Marco Baringer **20060617123925] [Added :initarg to extension slot of tal-dispatcher Marco Baringer **20060616153433] [Use IF instead of AIF since the it binding is nevere referenced. Marco Baringer **20060616153418] [Remover spurious cons in read-from-client-string Marco Baringer **20060616153209] [Update (setf container.current-component)'s docstring Marco Baringer **20060616153139] [set arnesi:*warn-undefined* to NIL to avoid problems with asdf+sbcl Marco Baringer **20060616152852] [Adds a class html-element and makes it superclass of the widgets and form inputs. Also fixes some inconsistencies in marijn at haverbeke.nl**20060613220202 components/form.lisp. ] [Minor indentation fix Marco Baringer **20060607120319] [Changed the tal-dispatcher to only look for tals files for specific urls (defaults to those ending in .ucw) Marco Baringer **20060607120228] [Lazy create the isolate-hash hashtable attila.lendvai at gmail.com**20060616150043] [Use the $ js macro in form.lisp attila.lendvai at gmail.com**20060616140112] [Since we're alread using dojo we might as well use all the shortcuts it provides Marco Baringer **20060607120422] [Small i18n fix and comment attila.lendvai at gmail.com**20060616123417] [Added enabled/disabled image/tooltip support to checkbox attila.lendvai at gmail.com**20060614152854] [Add cl-l10n dependency to the docs attila.lendvai at gmail.com**20060616115153] [cl-l10n integration (WARNING: i18n api change) attila.lendvai at gmail.com**20060616111739 The stuff in i18n.lisp has been revisited. Most of the locale values are cl-l10n locale instances or locale names that the cl-l10n locale function understands. If you subclass i18n-application then each request will bind *locale* according to the client's browser settings. Most of the time it's a list in which case *locale* will be bound to this list and resource lookups will try each locale in this list until the resource is found. The application's default locale is always appended to the end of this list when it's not already in it. ] [Only return the (absolute) path in map-query-path-to-file when it has a filename part attila.lendvai at gmail.com**20060616110635] [Cache the cl-ppcre:scanner for the url-string in a regexp dispatcher. Nathan Bird **20060613151409 Profiling showed that a LOT of time and memory was spent creating scanners. Do the regexp compilation once, and reuse the scanner for all requests. If the url-string on the regexp-dispatcher is changed then the scanner will be recreated. ] [Fix call-callbacks dependencies attila.lendvai at gmail.com**20060613161714] [Smarten up callbacks (WARNING: api change) attila.lendvai at gmail.com**20060613155947 With this patch callbacks are stored in a defstruct. (defstruct (callback-entry (:conc-name callback-) (:constructor %make-callback-entry)) (lambda nil :type function) (dependencies '() :type list) ; a list of callbacks that should be run before this one (executed nil :type boolean) ; while callbacks are processed this flag is used to mark execution (priority 0 :type fixnum) ; callbacks will be called in the order determined by this priority (id nil :type string)) Also fixed submit-callbacks, they are now garanteed to be called after normal callbacks (their priority is -100) The API change is that make-new-callback became register-callback, and its :name parameter is renamed to :id. ] [httpd now skips empry request params in map-parameters attila.lendvai at gmail.com**20060613152005] [Added build-dojo.sh and updated dojo.js as a binary file attila.lendvai at gmail.com**20060612104009 When updating dojo.js _darcs/prefs/bianries should have a line at the end like this: dojo\.js so that it's updated as a binary file when someone updates dojo.js. The iuncluded build-dojo.sh builds a cvs dojo and copies the src dir into the ucw wwwroot. In the ucw repo only debug.js is included. If you build your own dojo then you can use the dojo include facility to include stuff that is now in the dojo.js. ] [Got rid of regex matching in parenscript dispatcher attila.lendvai at gmail.com**20060612091130] [Added comments to the cache examples attila.lendvai at gmail.com**20060610114956] [- resolved conflicts for previous parenscript-dispatcher patch. evrim at core.gen.tr**20060611151202] [- parenscript-dispatcher: no need for a dynamic handler function since evrim at core.gen.tr**20060611145936 it's static. Parenscript disptacher was using function-dispatcher and a (lambda (app context)) to dispatch. I've implemented a usual dispatch method to dispatch paresncript js files. The reason is, it's easier to debug now since handler lambda's are not instantiated across applications. ] [Use both ajax and non-ajax submitting in the add numbers example attila.lendvai at gmail.com**20060610112733] [Added :focused support to some **20060604171847] [When adding the ucw-form-field-invalid class remeber to remove the ucw-form-field-valid class (Patch by: Marijn Haverbeke ) Marco Baringer **20060604171146] [- secure-application#exit-user is broken due to removal of find-entry-point. evrim at core.gen.tr**20060531115550] [Silly typos in previous patch Marco Baringer **20060604141410] [Added :class attributes to all the form elements Marco Baringer **20060604140146] [Allow for component-slot definition with :component nil Nathan Bird **20060508155758 This patch changes the way the component-class.component-sltos list is built. It should now be in the same order as the class-slots which is hopefully the same order they were defined in. Additionally (the bigger reason) is so that slots that were declared with ':component nil' are marked as being component-slots but are left unbound. ] [Fix form default action stuff in per-application js attila.lendvai at gmail.com**20060609150905] [Export collapsedp, other stylistic changes attila.lendvai at gmail.com**20060608123140] [Support **20060531193531 Now when the slime debug buffer pops up while handling a web request, 'q' (sldb-quit) will cause the 'fail-miserably restart to be invoked. ] [fixing logging message typo Nathan Bird **20060531155026] [made the remove component :after be correctly specialized Russ Tyndall **20060529222215] [added pass through for optional args in read client string Russ Tyndall **20060525223940] [made it correctly out put human number strings rather than lisp number strings (aka no more 1.23d0) Russ Tyndall **20060517164149] [provide #'meta-refresh Nathan Bird **20060529215502 Cause a meta-refresh (a freshly got (GET) url) at this point. This is useful in order to have a GET url after a form POST's actions have completed running. The user can then refresh to his heart's content. ] [Adding child-components export Nathan Bird **20060508161431] [Add a child-components function Nathan Bird **20060508160149] [Export ucw::get-header Marco Baringer **20060530233436] [Added render-option specialized on nil attila.lendvai at gmail.com**20060530213435] [Merge conflicts with Added logging statements which report the action being... attila.lendvai at gmail.com**20060530142740] [Added logging statements which report the action being evaluated. Marco Baringer **20060529080637] [Don't specialize slot-value-using-class on the value parameter Marco Baringer **20060530105600] [write-uri-sans-query needs to deal with 'special' characters in the query-part Marco Baringer **20060529182043] [Add "_" prefix to all ucw defined query parameters. Marco Baringer **20060529072846 This helps aliviate (but does not completly remove) the probablitily of a ucw defined parameter conflicting with a user defined parameter. I'll admit that the odds of one of ucw's randomly defined parameter names being the same as a user defined parameter name are slim, but when it does happen it's a once-every-1000-totally-unreproducable-100%untractable error :( ] [Implement radio-button widget Marco Baringer **20060529072632] [Added load-relative-url and absolute-url-from attila.lendvai at gmail.com**20060528111238] [Some more work on with-action-args macro attila.lendvai at gmail.com**20060528000045] [Added debug support for parenscript stuff attila.lendvai at gmail.com**20060527235747] [Merge conflict in ucw-tags attila.lendvai at gmail.com**20060527123809] [Set arnesi:*warn-undefined* to T in the start.lisp script Marco Baringer **20060526192721] [Fix erroneous evaluation bug in ucw-tags.lisp Marco Baringer **20060526192234 the code which checked for the precesne of an action parameter in a **20060514233614 To simplify things, the two systems used by bin/ucwctl are merged into the general `:ucw' one. As a side-effect, etc/start.lisp now loads the `*ucw-config-file*' when present or set the `*ucw-systems*' and `*ucw-applications*' variables. http://common-lisp.net/pipermail/bese-devel/2006-May/002122.html ] [Export ucw:is-an-integer-validator. Maciek Pasternacki **20060514232653] [Add message slot to validator class to contain an error message. Maciek Pasternacki **20060514232631] [ucw:ajax-action now understands :invalidate which is a component to be rendered and pushed to the client attila.lendvai at gmail.com**20060515094744] [Added AJAX increment/decrement buttons to the counter example attila.lendvai at gmail.com**20060515091412] [Some more stuff for AJAX attila.lendvai at gmail.com**20060515091346 Most **20060430215547 Useful for reading data from questionable origins where *read-eval* needs to be false. ] [Indentation fixup in tabbed-pane.lisp Marco Baringer **20060509102104] [Minor refactoring in container.lisp Marco Baringer **20060509102050] [Mention the difference between (setf application.dispathers) and (setf (slot-value app 'dispatchers)) in the docstring Marco Baringer **20060509101051] [Some more changes to action handling attila.lendvai at gmail.com**20060508201646 Introduced the following parameters for actions: :call-render-loop - you can turn off ralling render loop after the action returns :make-new-frame - you can turn off backtracking, the same frame remains after the action :manage-response - when nil it's up to the action to manage response sending action-href now works with a lambda or a string action id Also make sure frame and session is only set when they would change the value. Think of users overriding teh protocol like cookie-session-application setting the session cookie, etc... ] [Store an action-struct instead of a simple lambda when making actions attila.lendvai at gmail.com**20060504151455 The new action-entry struct looks like this: (defstruct (action-entry (:conc-name action-)) (lambda nil :type function) (valid-p t :type boolean) (isolated-p nil :type boolean) (ajax-p nil :type boolean) (id nil :type (or nil string))) make-new-action returns an instance of this, register-action returns only the action-id. Both of them accept the :isolate and :ajax parameters. :ajax means that the action will be processed much simpler then normal actions. For example the render-loop will not be called after the action returned. Some other code that I use and is still waiting to get mature: (defmacro handle-ajax-request ((&key (content-type "text/xml") (raw nil)) &body body) (with-unique-names (yaclml-stream request response) `(let* ((,request (ucw:context.request *context*)) (,response (ucw:context.response *context*)) ,@(unless raw `((,yaclml-stream (make-string-output-stream))))) (setf (ucw::get-header ,response "Status") "200 OK" (ucw::get-header ,response "Content-Type") ,content-type) (send-headers ,response) ,@(if raw body `((yaclml::with-yaclml-stream ,yaclml-stream ,(when (string= content-type "text/xml") `(<:as-is "")) , at body) (write-sequence (string-to-octets (get-output-stream-string ,yaclml-stream) :utf-8) (ucw::network-stream ,request)))) (close-request ,request)))) ;; this is rendered with (action-href ... :ajax t) (" yaclml:*yaclml-stream*) (render ajax-component) (princ "" yaclml:*yaclml-stream*))) ] [Add a **20060506233602 **20060504233324] [INCOMPATIBLE CHANGE: add NET-TELENT-DATE dependency, send out Date: header, make SERVE-FILE cache-friendly (use Date:, Last-Modified:, Expires: and If-Modified-Since: headers). Maciek Pasternacki **20060503013844] [Don't send headers set to NIL (especially Content-Length:) in response. Maciek Pasternacki **20060503013648] [New function (delete-header message header-name). Maciek Pasternacki **20060503011904] [Don't send body if HTTP method is HEAD. Maciek Pasternacki **20060502222010] [Save HTTP method of request as string. Maciek Pasternacki **20060502221955] [Initform for (request response). Maciek Pasternacki **20060502221939] [Include in httpd response a request associated with it. Maciek Pasternacki **20060502221158] [changed docs to get up to date and add some info cjstuij at gmail.com**20060503094055] [Added send-redirect function. Marco Baringer **20060501154250 send-redirect does what redirect-component's render method did but it's usable from a simple-dispatcher (or anywhere else we don't have ucw's component context machinery). ] [Use dolist*, not dolist, in tabbed-pane's render method. Marco Baringer **20060501135314] [Using (when (whatever) T) is weird, use (whatever) instead Marco Baringer **20060501135000] [Minor indentation/whitespace fixups in src/components/form.lisp Marco Baringer **20060501134849] [make-with-dummy-request-nicer cjstuij at gmail.com**20060501001756] [tabbed-pane-makeover - tabbed panes are now wrapped in divs in stead of a table, for more design flexibility. Is no longer tied to a tal file. cjstuij at gmail.com**20060430233920] [Removing integer-range-validator, use number-range-validator instead. Nathan Bird **20060428165829] [the value of a number-field should be nil, not 0, if nothing was entered. Nathan Bird **20060428164949] [bin/ucwctl: allow a custom ucwctl.conf via -u|--ucwctl-file Luca Capello **20060501110031 This adds the possibility to specify a different ucwctl.conf file instead of the default /etc/ucw/ucwctl.conf. Moreover, by default ucwctl now reads ~/.ucw/ucwctl.conf it it exists, overriding the values in the general /etc/ucw/ucwctl.conf, and the same happens if the ucwctl.conf is specified via the command line option. All command line options override the values present in any ucwctl.conf files. The order is the following: 1) /etc/ucw/ucwctl.conf (if it exists) 2) ~/.ucw/ucwctl.conf (if it exists) 3) -u|--ucwctl-file (if specified, exit if it cannot be read) 4) command line options A deeper discussion is available at: http://common-lisp.net/pipermail/bese-devel/2006-April/001932.html http://common-lisp.net/pipermail/bese-devel/2006-April/001961.html ] [In the phone and email validators instead of defining a new slot we just use the :default-initargs class option Marco Baringer **20060428103114] [Adding documentation to form.lisp Nathan Bird **20060428023256] [Rearranging file contents to reduce style-warnings Nathan Bird **20060428022511] [Implementing value-validators Nathan Bird **20060428020403 Value-validators are a category of validators that are only applied if there is actually a value. This was done to provide a more systematic scheme since there were several different ways it was being handled previously. Javascript validation in this patch is untested. ] [Expanded the forms example to include a number-field and number-range-validated field. Nathan Bird **20060428014551] [added a standard regular exprexpression validator then made e-mail-validator use it. E-mail-validator IS NO LONGER INVALID IF EMPTY. Adde d an international phonenumber validator russ at acceleration.net**20060425154947] [added regex exports russ at acceleration.net**20060424225714] [Comment fixup Nathan Bird **20060427173259] [Added missing id param that got lost in my **20060425145623] Patch bundle hash: 4f6d66aa4142ecadc8657518d4c6c939573251cf From Holger.Schauer at gmx.de Fri Jul 28 11:03:11 2006 From: Holger.Schauer at gmx.de (Holger Schauer) Date: Fri, 28 Jul 2006 13:03:11 +0200 Subject: [Bese-devel] Fwd: After a hiatus, came back to UCW & `UCW Intro'; having problems with `UCW Intro' Message-ID: <20060728110311.GA3045@elendil.holgi.priv> Hi, I'm only reading bese-devel via the Web archive, so jsut as a quick note: I had similar problems when rolling my own hello-world example, following the intro. When you start the boxset in the way it's described in the tutorial, /etc/ucw/* or /ucw_dev/etc/conf* will be ignored (at least with the version 2006-05-24): you'll need to add your example application in the start.lisp file. I.e., I have [elendil->ucw-boxset]diff -u start.lisp~ start.lisp --- start.lisp~ 2006-05-20 05:43:24.000000000 +0200 +++ start.lisp 2006-07-21 10:59:51.000000000 +0200 @@ -42,6 +42,7 @@ ;;;; Load up the UCW default system (asdf:oos 'asdf:load-op :ucw.examples) (asdf:oos 'asdf:load-op :ucw.admin) +(asdf:oos 'asdf:load-op :holger-ucw-test) ;;;; Let there be swank. (ucw:start-swank) @@ -49,7 +50,8 @@ ;;;; * Finally startup the server (ucw:create-server :backend '(:httpd :host "127.0.0.1" :port 8080) :applications (list it.bese.ucw-user::*example-application* - it.bese.ucw::*admin-application*) + it.bese.ucw::*admin-application* + holger-ucw-test:*holger-ucw-test-application*) :inspect-components nil :debug-on-error t :log-root-directory (make-pathname :name nil :type nil Note that for the asdf load, you'll need to add your example app to where the boxset expects it (your normal asdf settings will be ignored), i.e. /systems/ HTH, Holger -- --- http://www.coling.uni-freiburg.de/~schauer/ --- "I don't know what to say, you don't care anyway." -- New Order, "Crystal" From cjstuij at gmail.com Mon Jul 31 13:04:05 2006 From: cjstuij at gmail.com (Ties Stuij) Date: Mon, 31 Jul 2006 15:04:05 +0200 Subject: [Bese-devel] Fwd: After a hiatus, came back to UCW & `UCW Intro'; having problems with `UCW Intro' In-Reply-To: <20060728110311.GA3045@elendil.holgi.priv> References: <20060728110311.GA3045@elendil.holgi.priv> Message-ID: On 7/28/06, Holger Schauer wrote: > Hi, > > I'm only reading bese-devel via the Web archive, > so jsut as a quick note: I had similar problems > when rolling my own hello-world example, following > the intro. > > When you start the boxset in the way it's described > in the tutorial, /etc/ucw/* or > /ucw_dev/etc/conf* will be ignored > (at least with the version 2006-05-24): you'll > need to add your example application in > the start.lisp file. I.e., I have > > [elendil->ucw-boxset]diff -u start.lisp~ start.lisp > --- start.lisp~ 2006-05-20 05:43:24.000000000 +0200 > +++ start.lisp 2006-07-21 10:59:51.000000000 +0200 > @@ -42,6 +42,7 @@ > ;;;; Load up the UCW default system > (asdf:oos 'asdf:load-op :ucw.examples) > (asdf:oos 'asdf:load-op :ucw.admin) > +(asdf:oos 'asdf:load-op :holger-ucw-test) > > ;;;; Let there be swank. > (ucw:start-swank) > @@ -49,7 +50,8 @@ > ;;;; * Finally startup the server > (ucw:create-server :backend '(:httpd :host "127.0.0.1" :port 8080) > :applications (list it.bese.ucw-user::*example-application* > - it.bese.ucw::*admin-application*) > + it.bese.ucw::*admin-application* > + holger-ucw-test:*holger-ucw-test-application*) > :inspect-components nil > :debug-on-error t > :log-root-directory (make-pathname :name nil :type nil > > Note that for the asdf load, you'll need to add your example app > to where the boxset expects it (your normal asdf settings will > be ignored), i.e. /systems/ You're talking about ucwctl right? Yes indeed ../ucw_dev/etc/conf* are ignored because they are not in it's searchpath. It says so in the intro tutorial i thought. It's all a bit confusing, that's why i put in a section about loading an app in the way you described about a week ago. But thanks for the notice. Feedback is nice. If you feel the text is still not clear enough, get a common-lisp.net account and change the text to your liking. greets, ties From svg at surnet.ru Mon Jul 31 23:36:46 2006 From: svg at surnet.ru (Vladimir Sekissov) Date: Tue, 01 Aug 2006 05:36:46 +0600 (YEKST) Subject: [Bese-devel] [PATCH ucw_dev] Minor fixes for backtracking and ucw-tags Message-ID: <20060801.053646.210000237.svg@surnet.ru> Good day, This patch contains: - removing attribute value escaping from UCW-TAGS because it is now in YACLML; - minor optimisation for backtracking - using COPY-ALIST instead of COPY-TREE. It is faster and tail-recursive opposite to COPY-TREE. Shallow copy as COPY-ALIST do would be probably enough because place values are already copied before backtracks. Best Regards, Vladimir Sekissov -------------- next part -------------- A non-text attachment was scrubbed... Name: CHANGESET.gz Type: application/octet-stream Size: 2942 bytes Desc: not available URL: From evrim at core.gen.tr Mon Jul 31 22:29:12 2006 From: evrim at core.gen.tr (Evrim ULU) Date: Tue, 01 Aug 2006 01:29:12 +0300 Subject: [Bese-devel] [PATCH ucw_dev] Minor fixes for backtracking and ucw-tags In-Reply-To: <20060801.053646.210000237.svg@surnet.ru> References: <20060801.053646.210000237.svg@surnet.ru> Message-ID: <44CE8438.7060602@core.gen.tr> Vladimir Sekissov wrote: >This patch contains: > >- removing attribute value escaping from UCW-TAGS because it is now in > YACLML; > >- minor optimisation for backtracking - using COPY-ALIST instead of > COPY-TREE. It is faster and tail-recursive opposite to COPY-TREE. > Shallow copy as COPY-ALIST do would be probably enough because > place values are already copied before backtracks. > > applied. thnx. evrim. From evrim at core.gen.tr Mon Jul 31 22:29:37 2006 From: evrim at core.gen.tr (Evrim ULU) Date: Tue, 01 Aug 2006 01:29:37 +0300 Subject: [Bese-devel] [PATCH ucw-dev] Fix typo in defaction In-Reply-To: <20060728.060211.22954357.svg@surnet.ru> References: <20060728.060211.22954357.svg@surnet.ru> Message-ID: <44CE8451.90209@core.gen.tr> Vladimir Sekissov wrote: >This small patch fix a typo in defaction which caused an error if >action was specialized on more than one argument. > > applied, thnx. evrim.