From mbaringer at common-lisp.net Fri Nov 3 05:00:08 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Fri, 3 Nov 2006 00:00:08 -0500 (EST) Subject: [Bese-devel] New patches to arnesi_dev: 2-Nov-2006 Message-ID: <20061103050008.500775B069@common-lisp.net> Thu Nov 2 09:30:49 EST 2006 attila.lendvai at gmail.com * Do not export log.debug and friends to avoid mass confusion: two packages both using arnesi defining a logger called 'log. M ./src/packages.lisp -6 Thu Nov 2 09:29:39 EST 2006 attila.lendvai at gmail.com * Print debug messages with *package* = :keyword (to fully qualify every symbol printed) M ./src/log.lisp -1 +2 An updated tarball of arnesi_dev's source can be downloaded here: http://common-lisp.net/project/bese/tarballs/arnesi_dev-20061102.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=arnesi_dev;a=summary From mbaringer at common-lisp.net Sun Nov 5 05:30:15 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Sun, 5 Nov 2006 00:30:15 -0500 (EST) Subject: [Bese-devel] New patches to ucw_ajax: 4-Nov-2006 Message-ID: <20061105053015.D7F8D2B13B@common-lisp.net> Sat Nov 4 09:36:45 EST 2006 attila.lendvai at gmail.com * Updated dojo M ./wwwroot/dojo/dojo.js M ./wwwroot/dojo/src/a11y.js -23 +21 M ./wwwroot/dojo/src/bootstrap1.js -2 +3 A ./wwwroot/dojo/src/cal/ A ./wwwroot/dojo/src/cal/iCalendar.js A ./wwwroot/dojo/src/cal/textDirectory.js A ./wwwroot/dojo/src/charting/ A ./wwwroot/dojo/src/charting/Axis.js A ./wwwroot/dojo/src/charting/Chart.js A ./wwwroot/dojo/src/charting/Plot.js A ./wwwroot/dojo/src/charting/PlotArea.js A ./wwwroot/dojo/src/charting/Plotters.js A ./wwwroot/dojo/src/charting/README.txt A ./wwwroot/dojo/src/charting/Series.js A ./wwwroot/dojo/src/charting/__package__.js A ./wwwroot/dojo/src/charting/svg/ A ./wwwroot/dojo/src/charting/svg/Axis.js A ./wwwroot/dojo/src/charting/svg/PlotArea.js A ./wwwroot/dojo/src/charting/svg/Plotters.js A ./wwwroot/dojo/src/charting/vml/ A ./wwwroot/dojo/src/charting/vml/Axis.js A ./wwwroot/dojo/src/charting/vml/PlotArea.js A ./wwwroot/dojo/src/charting/vml/Plotters.js M ./wwwroot/dojo/src/collections/Collections.js -1 +1 M ./wwwroot/dojo/src/collections/Store.js -10 +16 M ./wwwroot/dojo/src/data/Read.js -39 +53 M ./wwwroot/dojo/src/data/Result.js -44 +77 M ./wwwroot/dojo/src/data/Write.js -13 +30 M ./wwwroot/dojo/src/data/csv/CsvStore.js -17 +23 M ./wwwroot/dojo/src/data/csv/Result.js -33 +23 A ./wwwroot/dojo/src/date.js M ./wwwroot/dojo/src/date/common.js -19 +22 M ./wwwroot/dojo/src/date/format.js -84 +88 M ./wwwroot/dojo/src/date/serialize.js -35 +38 M ./wwwroot/dojo/src/date/supplemental.js -3 +6 M ./wwwroot/dojo/src/debug.js -9 +16 M ./wwwroot/dojo/src/debug/console.js -9 +8 M ./wwwroot/dojo/src/dnd/DragAndDrop.js -3 M ./wwwroot/dojo/src/dnd/HtmlDragAndDrop.js -21 +6 M ./wwwroot/dojo/src/dnd/HtmlDragCopy.js -13 +11 M ./wwwroot/dojo/src/dnd/HtmlDragMove.js -19 +40 M ./wwwroot/dojo/src/dnd/TreeDragAndDrop.js -3 M ./wwwroot/dojo/src/dnd/TreeDragAndDropV3.js -2 M ./wwwroot/dojo/src/docs.js -435 +58 M ./wwwroot/dojo/src/event/browser.js -23 +104 M ./wwwroot/dojo/src/event/common.js -69 +311 M ./wwwroot/dojo/src/event/topic.js -16 +110 M ./wwwroot/dojo/src/experimental.js -8 +17 M ./wwwroot/dojo/src/flash.js -9 +29 M ./wwwroot/dojo/src/gfx/common.js -167 +48 M ./wwwroot/dojo/src/gfx/matrix.js -75 +145 A ./wwwroot/dojo/src/gfx/path.js A ./wwwroot/dojo/src/gfx/shape.js M ./wwwroot/dojo/src/gfx/svg.js -109 +43 M ./wwwroot/dojo/src/gfx/vml.js -240 +578 M ./wwwroot/dojo/src/hostenv_adobesvg.js -63 +2 M ./wwwroot/dojo/src/hostenv_browser.js -13 +33 M ./wwwroot/dojo/src/hostenv_rhino.js +4 M ./wwwroot/dojo/src/hostenv_svg.js -1 +1 M ./wwwroot/dojo/src/html/common.js -1 +1 M ./wwwroot/dojo/src/html/iframe.js -2 +2 R ./wwwroot/dojo/src/html/images/shadowTR..png M ./wwwroot/dojo/src/html/metrics.js -1 +10 M ./wwwroot/dojo/src/html/style.js -1 +4 M ./wwwroot/dojo/src/html/util.js -37 +50 M ./wwwroot/dojo/src/i18n/common.js -5 +15 M ./wwwroot/dojo/src/iCalendar.js -805 +2 M ./wwwroot/dojo/src/io/BrowserIO.js -24 +37 M ./wwwroot/dojo/src/io/IframeIO.js -100 +112 M ./wwwroot/dojo/src/io/RepubsubIO.js -2 M ./wwwroot/dojo/src/io/RhinoIO.js -2 +2 M ./wwwroot/dojo/src/io/ScriptSrcIO.js -1 +1 M ./wwwroot/dojo/src/io/XhrIframeProxy.js -1 M ./wwwroot/dojo/src/io/cometd.js -8 +11 M ./wwwroot/dojo/src/io/common.js -23 +160 M ./wwwroot/dojo/src/json.js -2 +1 M ./wwwroot/dojo/src/lang/array.js -54 +57 M ./wwwroot/dojo/src/lang/assert.js -24 +29 M ./wwwroot/dojo/src/lang/common.js -37 +33 M ./wwwroot/dojo/src/lang/declare.js -43 +46 M ./wwwroot/dojo/src/lang/extras.js -53 +57 M ./wwwroot/dojo/src/lang/repr.js -20 +25 M ./wwwroot/dojo/src/lang/type.js -25 +17 M ./wwwroot/dojo/src/lfx/Animation.js -13 +64 M ./wwwroot/dojo/src/lfx/extras.js -6 +35 M ./wwwroot/dojo/src/lfx/html.js -47 +150 M ./wwwroot/dojo/src/lfx/rounded.js -2 +5 M ./wwwroot/dojo/src/lfx/shadow.js -3 +9 M ./wwwroot/dojo/src/loader.js -48 +107 M ./wwwroot/dojo/src/loader_xd.js +23 A ./wwwroot/dojo/src/logging/ConsoleLogger.js M ./wwwroot/dojo/src/logging/Logger.js -70 +60 R ./wwwroot/dojo/src/namespace.js M ./wwwroot/dojo/src/namespaces/dojo.js A ./wwwroot/dojo/src/ns.js M ./wwwroot/dojo/src/profile.js -4 +32 M ./wwwroot/dojo/src/regexp.js -7 +11 M ./wwwroot/dojo/src/rpc/JotService.js -5 +7 M ./wwwroot/dojo/src/rpc/JsonService.js +13 M ./wwwroot/dojo/src/rpc/YahooService.js +4 M ./wwwroot/dojo/src/rpc/yahoo.smd -3 +29 M ./wwwroot/dojo/src/storage.js -1 +4 M ./wwwroot/dojo/src/storage/browser.js -1 M ./wwwroot/dojo/src/string/Builder.js -1 M ./wwwroot/dojo/src/svg.js -23 +64 M ./wwwroot/dojo/src/text/__package__.js -1 +2 M ./wwwroot/dojo/src/text/textDirectory.js -71 +2 M ./wwwroot/dojo/src/uri/Uri.js -20 +21 M ./wwwroot/dojo/src/uuid/LightweightGenerator.js -15 +19 M ./wwwroot/dojo/src/uuid/NameBasedGenerator.js -3 +4 M ./wwwroot/dojo/src/uuid/NilGenerator.js -4 +5 M ./wwwroot/dojo/src/uuid/RandomGenerator.js -4 +5 M ./wwwroot/dojo/src/uuid/TimeBasedGenerator.js -37 +30 M ./wwwroot/dojo/src/uuid/Uuid.js -43 +46 M ./wwwroot/dojo/src/validate/check.js -90 +91 M ./wwwroot/dojo/src/validate/common.js -104 +100 M ./wwwroot/dojo/src/validate/creditCard.js +1 M ./wwwroot/dojo/src/validate/datetime.js +4 M ./wwwroot/dojo/src/widget/AccordionContainer.js -37 +143 R ./wwwroot/dojo/src/widget/AccordionPane.js M ./wwwroot/dojo/src/widget/AnimatedPng.js -17 +34 M ./wwwroot/dojo/src/widget/Button.js -65 +141 M ./wwwroot/dojo/src/widget/Chart.js -7 +8 M ./wwwroot/dojo/src/widget/Checkbox.js -47 +93 M ./wwwroot/dojo/src/widget/ColorPalette.js -41 +8 M ./wwwroot/dojo/src/widget/ComboBox.js -64 +82 M ./wwwroot/dojo/src/widget/ContentPane.js -54 +160 A ./wwwroot/dojo/src/widget/CurrencyTextbox.js M ./wwwroot/dojo/src/widget/DatePicker.js -53 +89 A ./wwwroot/dojo/src/widget/DateTextbox.js M ./wwwroot/dojo/src/widget/DebugConsole.js +1 M ./wwwroot/dojo/src/widget/Dialog.js -38 +97 M ./wwwroot/dojo/src/widget/DomWidget.js -193 +216 M ./wwwroot/dojo/src/widget/DropdownContainer.js -13 +29 M ./wwwroot/dojo/src/widget/DropdownDatePicker.js -51 +133 M ./wwwroot/dojo/src/widget/DropdownTimePicker.js -29 +181 M ./wwwroot/dojo/src/widget/Editor.js -1 M ./wwwroot/dojo/src/widget/Editor2.js -91 +227 M ./wwwroot/dojo/src/widget/Editor2Plugin/ContextMenu.js -4 +6 M ./wwwroot/dojo/src/widget/Editor2Plugin/CreateLinkDialog.js -4 +8 M ./wwwroot/dojo/src/widget/Editor2Plugin/FindReplaceDialog.js -2 M ./wwwroot/dojo/src/widget/Editor2Plugin/InsertImageDialog.js -4 +3 M ./wwwroot/dojo/src/widget/Editor2Plugin/InsertTableDialog.js -12 +11 M ./wwwroot/dojo/src/widget/Editor2Plugin/SimpleSignalCommands.js -6 +6 M ./wwwroot/dojo/src/widget/Editor2Plugin/TableOperation.js -15 +18 M ./wwwroot/dojo/src/widget/Editor2Toolbar.js -21 +58 M ./wwwroot/dojo/src/widget/FilteringTable.js -23 +87 M ./wwwroot/dojo/src/widget/FisheyeList.js -150 +151 M ./wwwroot/dojo/src/widget/FloatingPane.js -74 +138 A ./wwwroot/dojo/src/widget/Form.js R ./wwwroot/dojo/src/widget/FormContainer.js M ./wwwroot/dojo/src/widget/GoogleMap.js -9 +30 M ./wwwroot/dojo/src/widget/HtmlWidget.js -36 +49 M ./wwwroot/dojo/src/widget/InlineEditBox.js -11 +21 A ./wwwroot/dojo/src/widget/IntegerTextbox.js A ./wwwroot/dojo/src/widget/InternetTextbox.js M ./wwwroot/dojo/src/widget/LayoutContainer.js -4 +38 M ./wwwroot/dojo/src/widget/LinkPane.js -5 +6 M ./wwwroot/dojo/src/widget/Manager.js -9 +15 M ./wwwroot/dojo/src/widget/Menu2.js -72 +134 M ./wwwroot/dojo/src/widget/MonthlyCalendar.js -101 +108 M ./wwwroot/dojo/src/widget/PageContainer.js -63 +66 M ./wwwroot/dojo/src/widget/Parse.js -95 +100 M ./wwwroot/dojo/src/widget/PopupContainer.js -60 +86 M ./wwwroot/dojo/src/widget/ProgressBar.js -18 +90 M ./wwwroot/dojo/src/widget/RadioGroup.js -51 +61 A ./wwwroot/dojo/src/widget/RealNumberTextbox.js A ./wwwroot/dojo/src/widget/RegexpTextbox.js A ./wwwroot/dojo/src/widget/Repeater.js R ./wwwroot/dojo/src/widget/RepeaterContainer.js M ./wwwroot/dojo/src/widget/ResizableTextarea.js -24 +7 M ./wwwroot/dojo/src/widget/ResizeHandle.js -16 +17 M ./wwwroot/dojo/src/widget/RichText.js -277 +237 M ./wwwroot/dojo/src/widget/Select.js -17 +30 M ./wwwroot/dojo/src/widget/Show.js -4 +3 M ./wwwroot/dojo/src/widget/ShowAction.js -1 +7 M ./wwwroot/dojo/src/widget/ShowSlide.js -1 +6 M ./wwwroot/dojo/src/widget/SlideShow.js -54 +85 M ./wwwroot/dojo/src/widget/Slider.js -278 +290 M ./wwwroot/dojo/src/widget/Spinner.js -138 +163 M ./wwwroot/dojo/src/widget/SplitContainer.js -1 M ./wwwroot/dojo/src/widget/SvgWidget.js -17 +1 M ./wwwroot/dojo/src/widget/SwtWidget.js -2 +1 M ./wwwroot/dojo/src/widget/TabContainer.js -26 +28 M ./wwwroot/dojo/src/widget/TaskBar.js -7 +21 A ./wwwroot/dojo/src/widget/Textbox.js M ./wwwroot/dojo/src/widget/TimePicker.js -3 +17 M ./wwwroot/dojo/src/widget/TitlePane.js -17 +5 M ./wwwroot/dojo/src/widget/Toolbar.js -22 +45 M ./wwwroot/dojo/src/widget/Tooltip.js -1 +1 M ./wwwroot/dojo/src/widget/Tree.js -13 +3 M ./wwwroot/dojo/src/widget/TreeBasicController.js -13 +1 M ./wwwroot/dojo/src/widget/TreeBasicControllerV3.js -18 +38 M ./wwwroot/dojo/src/widget/TreeCommon.js +22 M ./wwwroot/dojo/src/widget/TreeContextMenu.js -39 +4 M ./wwwroot/dojo/src/widget/TreeContextMenuV3.js -40 +49 M ./wwwroot/dojo/src/widget/TreeDemo.js +7 M ./wwwroot/dojo/src/widget/TreeDeselectOnDblselect.js -1 +2 M ./wwwroot/dojo/src/widget/TreeDisableWrapExtension.js -1 +1 M ./wwwroot/dojo/src/widget/TreeDndControllerV3.js +3 M ./wwwroot/dojo/src/widget/TreeDocIconExtension.js -11 +11 R ./wwwroot/dojo/src/widget/TreeEmphaseOnSelect.js A ./wwwroot/dojo/src/widget/TreeEmphasizeOnSelect.js A ./wwwroot/dojo/src/widget/TreeExpandToNodeOnSelect.js M ./wwwroot/dojo/src/widget/TreeLoadingController.js -15 +1 M ./wwwroot/dojo/src/widget/TreeLoadingControllerV3.js -7 +41 M ./wwwroot/dojo/src/widget/TreeNode.js -14 +3 M ./wwwroot/dojo/src/widget/TreeNodeV3.js -9 +23 M ./wwwroot/dojo/src/widget/TreeRPCController.js -13 +1 M ./wwwroot/dojo/src/widget/TreeRpcControllerV3.js -2 +7 M ./wwwroot/dojo/src/widget/TreeSelector.js -15 +3 M ./wwwroot/dojo/src/widget/TreeSelectorV3.js -19 +82 A ./wwwroot/dojo/src/widget/TreeToggleOnSelect.js M ./wwwroot/dojo/src/widget/TreeV3.js -6 +10 M ./wwwroot/dojo/src/widget/TreeWithNode.js -2 +8 A ./wwwroot/dojo/src/widget/UsTextbox.js A ./wwwroot/dojo/src/widget/ValidationTextbox.js M ./wwwroot/dojo/src/widget/Widget.js -95 +24 M ./wwwroot/dojo/src/widget/YahooMap.js -6 +18 M ./wwwroot/dojo/src/widget/html/loader.js -21 +21 M ./wwwroot/dojo/src/widget/svg/Chart.js -20 +54 M ./wwwroot/dojo/src/widget/templates/AccordionPane.css -6 +8 M ./wwwroot/dojo/src/widget/templates/ButtonTemplate.css -1 +1 M ./wwwroot/dojo/src/widget/templates/Checkbox.css -10 +9 M ./wwwroot/dojo/src/widget/templates/Checkbox.html -4 +3 M ./wwwroot/dojo/src/widget/templates/CheckboxA11y.html -1 +1 M ./wwwroot/dojo/src/widget/templates/ComboBox.css -14 +28 M ./wwwroot/dojo/src/widget/templates/ComboBox.html -25 +16 M ./wwwroot/dojo/src/widget/templates/EditorToolbar.css -7 +6 M ./wwwroot/dojo/src/widget/templates/EditorToolbar.html -1 +1 M ./wwwroot/dojo/src/widget/templates/EditorToolbarLight.html -6 +6 M ./wwwroot/dojo/src/widget/templates/EditorToolbarOneline.html -24 +24 M ./wwwroot/dojo/src/widget/templates/Menu2.css -23 +10 M ./wwwroot/dojo/src/widget/templates/ProgressBar.css -5 +6 M ./wwwroot/dojo/src/widget/templates/Show.css -3 +3 M ./wwwroot/dojo/src/widget/templates/SlideShow.html -4 +4 M ./wwwroot/dojo/src/widget/templates/Slider.html -35 +37 M ./wwwroot/dojo/src/widget/templates/Spinner.html -20 +21 M ./wwwroot/dojo/src/widget/templates/TreeV3.css -13 +1 A ./wwwroot/dojo/src/widget/templates/Validate.css M ./wwwroot/dojo/src/widget/templates/check.gif M ./wwwroot/dojo/src/widget/templates/images/bar.gif M ./wwwroot/dojo/src/widget/templates/images/h-bar.gif A ./wwwroot/dojo/src/widget/templates/images/soriaAccordionOff.gif A ./wwwroot/dojo/src/widget/templates/images/soriaAccordionSelected.gif M ./wwwroot/dojo/src/widget/templates/images/soriaActive-c.gif M ./wwwroot/dojo/src/widget/templates/images/soriaActive-l.gif M ./wwwroot/dojo/src/widget/templates/images/soriaActive-r.gif M ./wwwroot/dojo/src/widget/templates/images/soriaButton-c.gif M ./wwwroot/dojo/src/widget/templates/images/soriaButton-l.gif M ./wwwroot/dojo/src/widget/templates/images/soriaButton-r.gif M ./wwwroot/dojo/src/widget/templates/images/soriaDisabled-c.gif M ./wwwroot/dojo/src/widget/templates/images/soriaDisabled-l.gif M ./wwwroot/dojo/src/widget/templates/images/soriaDisabled-r.gif M ./wwwroot/dojo/src/widget/templates/images/soriaMenuBg.gif M ./wwwroot/dojo/src/widget/templates/images/soriaPressed-c.gif M ./wwwroot/dojo/src/widget/templates/images/soriaPressed-l.gif M ./wwwroot/dojo/src/widget/templates/images/soriaPressed-r.gif A ./wwwroot/dojo/src/widget/templates/images/submenu_disabled.gif M ./wwwroot/dojo/src/widget/templates/images/submenu_off.gif M ./wwwroot/dojo/src/widget/templates/images/submenu_on.gif M ./wwwroot/dojo/src/widget/templates/images/timeIcon.gif M ./wwwroot/dojo/src/widget/templates/richtextframe.html -18 +21 R ./wwwroot/dojo/src/widget/validate/ M ./wwwroot/dojo/src/widget/validate.js -1 +1 R ./wwwroot/dojo/src/widget/validate/CurrencyTextbox.js R ./wwwroot/dojo/src/widget/validate/DateTextbox.js R ./wwwroot/dojo/src/widget/validate/EmailListTextbox.js R ./wwwroot/dojo/src/widget/validate/EmailTextbox.js R ./wwwroot/dojo/src/widget/validate/IntegerTextbox.js R ./wwwroot/dojo/src/widget/validate/IpAddressTextbox.js R ./wwwroot/dojo/src/widget/validate/RealNumberTextbox.js R ./wwwroot/dojo/src/widget/validate/RegexpTextbox.js R ./wwwroot/dojo/src/widget/validate/Textbox.js R ./wwwroot/dojo/src/widget/validate/TimeTextbox.js R ./wwwroot/dojo/src/widget/validate/UrlTextbox.js R ./wwwroot/dojo/src/widget/validate/UsPhoneNumberTextbox.js R ./wwwroot/dojo/src/widget/validate/UsSocialSecurityNumberTextbox.js R ./wwwroot/dojo/src/widget/validate/UsStateTextbox.js R ./wwwroot/dojo/src/widget/validate/UsZipTextbox.js R ./wwwroot/dojo/src/widget/validate/ValidationTextbox.js M ./wwwroot/dojo/src/widget/vml/Chart.js -23 +52 M ./wwwroot/dojo/src/xml/Parse.js -26 +13 Sat Nov 4 09:35:24 EST 2006 attila.lendvai at gmail.com * Follow dojo changes M ./examples/src/examples.lisp -1 +2 M ./src/components/dojo-widgets.lisp -6 +5 M ./src/per-application-parenscript.lisp -7 +7 Thu Nov 2 08:24:02 EST 2006 attila.lendvai at gmail.com * When in debug mode jump in the debugger in case of an ajax error M ./src/per-application-parenscript.lisp -1 +1 Thu Nov 2 08:23:38 EST 2006 attila.lendvai at gmail.com * Call dojo isValid() when available to validate dojo widget form elements M ./src/per-application-parenscript.lisp -15 +29 Thu Nov 2 07:45:27 EST 2006 attila.lendvai at gmail.com * Demo in the shared counter example how to customize the session class M ./examples/src/shared-counter.lisp +7 Sat Oct 28 18:00:23 EDT 2006 attila.lendvai at gmail.com * Further clean up (setf session.value). WARNING: default arg has been deleted M ./src/rerl/protocol.lisp -6 +1 Mon Oct 9 08:57:29 EDT 2006 attila.lendvai at gmail.com * Added local-time dependency and used it for the dojo date-picker widget M ./examples/src/forms.lisp -11 +8 M ./src/components/dojo-widgets.lisp -162 +22 M ./src/components/form.lisp -3 +21 M ./src/packages.lisp -1 +5 M ./ucw.asd -2 +2 An updated tarball of ucw_ajax's source can be downloaded here: http://common-lisp.net/project/ucw/tarballs/ucw_ajax-20061104.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_ajax;a=summary From mbaringer at common-lisp.net Sun Nov 5 05:30:15 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Sun, 5 Nov 2006 00:30:15 -0500 (EST) Subject: [Bese-devel] New patches to ucw_dev: 4-Nov-2006 Message-ID: <20061105053015.D12052B139@common-lisp.net> Sun Oct 22 11:44:09 EDT 2006 attila.lendvai at gmail.com * Use ~A for condition logging at a few more places M ./src/rerl/request-loop-error.lisp -3 +3 Tue Sep 19 17:34:58 EDT 2006 attila.lendvai at gmail.com * Convert "" client-value's to nil in form-elements by default M ./src/components/form.lisp -1 +4 Sat Oct 28 18:00:23 EDT 2006 attila.lendvai at gmail.com * Further clean up (setf session.value). WARNING: default arg has been deleted M ./src/rerl/protocol.lisp -6 +1 An updated tarball of ucw_dev's source can be downloaded here: http://common-lisp.net/project/ucw/tarballs/ucw_dev-20061104.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_dev;a=summary From mbaringer at common-lisp.net Wed Nov 8 05:05:03 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Wed, 8 Nov 2006 00:05:03 -0500 (EST) Subject: [Bese-devel] New patches to fiveam: 7-Nov-2006 Message-ID: <20061108050503.C1C52140AA@common-lisp.net> Tue Nov 7 09:21:17 EST 2006 attila.lendvai at gmail.com * Added debug! which is run! but enters the debugger on errors M ./src/packages.lisp +1 M ./src/run.lisp +6 An updated tarball of fiveam's source can be downloaded here: http://common-lisp.net/project/bese/tarballs/fiveam-20061107.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=fiveam;a=summary From lists at infoway.net Thu Nov 9 03:39:47 2006 From: lists at infoway.net (Daniel Salama) Date: Wed, 8 Nov 2006 22:39:47 -0500 Subject: [Bese-devel] Tutorial Message-ID: Can anyone point me into some tutorial site(s) showing how to use the latest and greatest of UCW (maybe the ucw_ajax branch which I think that's the direction UCW is going)? Thanks, Daniel From mbaringer at common-lisp.net Fri Nov 10 05:05:03 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Fri, 10 Nov 2006 00:05:03 -0500 (EST) Subject: [Bese-devel] New patches to fiveam: 9-Nov-2006 Message-ID: <20061110050503.A5F257E005@common-lisp.net> Thu Nov 9 06:10:33 EST 2006 attila.lendvai at gmail.com * FIX: gentree typo/unsaved file M ./src/random.lisp -1 +1 An updated tarball of fiveam's source can be downloaded here: http://common-lisp.net/project/bese/tarballs/fiveam-20061109.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=fiveam;a=summary From marijnh at gmail.com Fri Nov 10 12:13:32 2006 From: marijnh at gmail.com (Marijn Haverbeke) Date: Fri, 10 Nov 2006 13:13:32 +0100 Subject: [Bese-devel] Two Parenscript expansion bugs. Message-ID: Two cases in which the expanded code does not look the way it should: CL-USER> (js:js* '(.match (+ "" x) "foo")) "'' + x.match('foo');" CL-USER> (js:js* '(setf x (+ "before" x "after"))) "x += 'before' + 'after';" The first is missing parentheses around the "" + x part, the second shows that parenscript is trying to be a little too clever by realizing that + is commutative, except that for strings it isn't. Marijn -------------- next part -------------- An HTML attachment was scrubbed... URL: From mbaringer at common-lisp.net Wed Nov 15 05:30:19 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Wed, 15 Nov 2006 00:30:19 -0500 (EST) Subject: [Bese-devel] New patches to ucw_ajax: 14-Nov-2006 Message-ID: <20061115053019.B0B2861026@common-lisp.net> Tue Nov 14 18:13:01 EST 2006 attila.lendvai at gmail.com * FIX: rendered-a-form-p was not reset M ./src/components/ajax.lisp +4 Tue Nov 14 16:12:50 EST 2006 attila.lendvai at gmail.com * Clean up polling The poller does not go throught the handle-action-in-session anymore until there's actual work to be done. M ./src/application-mixins/single-frame-application.lisp -31 +32 M ./src/per-application-parenscript.lisp -10 +11 M ./src/rerl/protocol.lisp -2 +2 M ./src/rerl/request-loop-error.lisp +1 M ./src/rerl/standard-action.lisp -58 +9 M ./src/rerl/standard-dispatcher.lisp -14 +62 M ./src/rerl/standard-session.lisp -2 +2 Sat Nov 11 09:30:44 EST 2006 attila.lendvai at gmail.com * Added support for #+debug and (debug-only ...) forms M ./etc/start.lisp +7 M ./src/components/window.lisp -1 +1 M ./src/helpers.lisp +6 M ./src/parenscript-utils.lisp -7 +8 M ./src/rerl/standard-classes.lisp -1 +1 M ./src/vars.lisp -1 +1 M ./ucw.asd -10 +24 An updated tarball of ucw_ajax's source can be downloaded here: http://common-lisp.net/project/ucw/tarballs/ucw_ajax-20061114.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_ajax;a=summary From marijnh at gmail.com Wed Nov 15 07:45:35 2006 From: marijnh at gmail.com (Marijn Haverbeke) Date: Wed, 15 Nov 2006 08:45:35 +0100 Subject: [Bese-devel] Cond for parenscript Message-ID: Hi, Attached is a patch that adds a 'cond' form to parenscript for generating proper 'if' / 'else if ' / 'else' javascript forms. It could already be faked with a trivially simple parenscript macro, but that would output a nested bunch of ifs in the javascript, which was kind of ugly. This 'cond' is not integrated as well with 'if' as it could have been (express 'if' in terms of 'cond') but this is because 'if' has a special case when it is an expression - it expands into a (condition ? then : else) form. I could have made cond expand into a nested series of those in that case, but didn't have time for that. Marijn -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: js-cond.patch Type: application/octet-stream Size: 12202 bytes Desc: not available URL: From attila.lendvai at gmail.com Wed Nov 15 10:54:40 2006 From: attila.lendvai at gmail.com (Attila Lendvai) Date: Wed, 15 Nov 2006 11:54:40 +0100 Subject: [Bese-devel] Cond for parenscript In-Reply-To: References: Message-ID: > Hi, > > Attached is a patch that adds a 'cond' form to parenscript for generating > proper 'if' / 'else if ' / 'else' javascript forms. It could already be > faked with a trivially simple parenscript macro, but that would output a > nested bunch of ifs in the javascript, which was kind of ugly. This 'cond' > is not integrated as well with 'if' as it could have been (express 'if' in > terms of 'cond') but this is because 'if' has a special case when it is an > expression - it expands into a (condition ? then : else) form. I could have > made cond expand into a nested series of those in that case, but didn't have > time for that. i'm using (js:import-macros-from-lisp 'when-bind 'awhen 'if-bind 'aif 'cond) i've added import-macros-from-lisp for things like this. -- - 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) From henrik at evahjelte.com Thu Nov 16 00:02:26 2006 From: henrik at evahjelte.com (Henrik Hjelte) Date: Thu, 16 Nov 2006 01:02:26 +0100 Subject: [Bese-devel] Two Parenscript expansion bugs. In-Reply-To: References: Message-ID: <1163635346.5622.48.camel@trinidad> Both (and some related bugs) are fixed and in the darcs repo now. /Henrik Hjelte On Fri, 2006-11-10 at 13:13 +0100, Marijn Haverbeke wrote: > Two cases in which the expanded code does not look the way it should: > > CL-USER> (js:js* '(.match (+ "" x) "foo")) > "'' + x.match('foo');" > CL-USER> (js:js* '(setf x (+ "before" x "after"))) > "x += 'before' + 'after';" > > The first is missing parentheses around the "" + x part, the second > shows that parenscript is trying to be a little too clever by > realizing that + is commutative, except that for strings it isn't. > > > Marijn > > _______________________________________________ > bese-devel mailing list > bese-devel at common-lisp.net > http://common-lisp.net/cgi-bin/mailman/listinfo/bese-devel From mbaringer at common-lisp.net Thu Nov 16 05:20:03 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Thu, 16 Nov 2006 00:20:03 -0500 (EST) Subject: [Bese-devel] New patches to parenscript: 15-Nov-2006 Message-ID: <20061116052003.C386B56008@common-lisp.net> Wed Nov 15 18:54:41 EST 2006 Henrik Hjelte * docs updated for new setf optimization M ./docs/manual.pdf M ./docs/reference.lisp -1 +1 M ./t/reference-tests.lisp -2 +2 M ./t/test.lisp +1 Wed Nov 15 18:41:44 EST 2006 Henrik Hjelte * bugfix method-call problem M ./src/js.lisp -9 +14 M ./t/test.lisp -9 +15 Wed Nov 15 17:40:45 EST 2006 Henrik Hjelte * moretests for method-call (dot-notation) syntax M ./t/test.lisp +27 Wed Nov 15 16:35:02 EST 2006 Henrik Hjelte * bugfix commutative plus and minus M ./src/js.lisp -2 +3 M ./t/test.lisp -1 +30 Wed Nov 15 15:44:56 EST 2006 Henrik Hjelte * tests for some bugs, reported by Marijn Haverbeke M ./t/test.lisp +8 Wed Nov 15 14:27:20 EST 2006 Henrik Hjelte * asdf test-op added, (asdf:operate 'asdf:test-op :parenscript) M ./parenscript.asd +8 M ./t/ref2test.lisp -4 +2 M ./t/reference-tests.lisp -2 Wed Nov 15 11:46:03 EST 2006 Henrik Hjelte * updated pdf manual for new with syntax M ./docs/manual.pdf Wed Nov 15 11:43:39 EST 2006 Henrik Hjelte * build.sh for documentation A ./docs/build.sh Wed Nov 15 11:13:03 EST 2006 Henrik Hjelte * Updated documentation to reflect the new syntax of the with statement M ./docs/reference.lisp -2 +2 M ./t/reference-tests.lisp -1 +1 Wed Nov 15 10:58:46 EST 2006 Henrik Hjelte * make the test escape-sequences-in-string work again M ./t/test.lisp -3 +3 An updated tarball of parenscript's source can be downloaded here: http://common-lisp.net/project/ucw/tarballs/parenscript-20061115.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=parenscript;a=summary From attila.lendvai at gmail.com Mon Nov 20 15:52:10 2006 From: attila.lendvai at gmail.com (Attila Lendvai) Date: Mon, 20 Nov 2006 16:52:10 +0100 Subject: [Bese-devel] :component slots and the slot value Message-ID: hi! i was looking at the code that initializes :component slots, and i couldn't understand what it was meant to be doing. it was taking the slot value when available and passed it to the component to be created as initargs. (slot-name (list 1 2) :component (foo 3 4)) would end up in a (apply #'make-instance 'foo (list 3 4 1 2)) my question is: is anybody relaying on this? and am i the only one finding it confusing? i think this behaviour would be much more intuitive: a :component (foo 1 2) would end up in a (make-instance 'foo 1 2) iff the slot was not already initialized to something, iow it's unbound. otherwise the slot is left alone. i have this modification recorded here and if nobody speaks up for long enough, i'll push them. -- - 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) From vagif at cox.net Tue Nov 21 07:56:39 2006 From: vagif at cox.net (Vagif Verdi) Date: Mon, 20 Nov 2006 23:56:39 -0800 Subject: [Bese-devel] Access Control best practice Message-ID: <20061121075651.ISEZ97.fed1rmmtao02.cox.net@fed1rmimpo01.cox.net> Hello. What is the best/usual practice to control access to web site pages in ucw ? I mean how do you check if user logged in? At what point? Do you have a special component for that? Like url-mapper or action-mapper that checks credentials before running page? Or maybe components have specific slots that allow controlling access to component? I do not want to check that user logged in every page manually. Regards, Vagif Verdi. -------------- next part -------------- An HTML attachment was scrubbed... URL: From mb at bese.it Tue Nov 21 15:38:23 2006 From: mb at bese.it (Marco Baringer) Date: Tue, 21 Nov 2006 16:38:23 +0100 Subject: [Bese-devel] Re: Access Control best practice References: <20061121075651.ISEZ97.fed1rmmtao02.cox.net@fed1rmimpo01.cox.net> Message-ID: "Vagif Verdi" writes: > Hello. > > What is the best/usual practice to control access to web site pages in ucw ? > > I mean how do you check if user logged in? At what point? i generally have three parts to an app, the public part, the private part and the backoffice. by using a custom dispatcher and ordering the entry points i can "easily" (easy for me at least) control who sees what: (list action-handler public-entry-points ... (redirect-unless-logged-in) ... private-entry-points ... (redirect-unless-admin) ... backoffice) so i generally check for logged-in-ness whenever accessing a new entry-point. > Do you have a special component for that? Like url-mapper or action-mapper that > checks credentials before running page? not special components but i do have methods defined on actions which require a login: (defaction whatever :before ((comp my-private-component) &rest other-args) (declare (ignore other-args)) (unless (logged-in-p (get-session-value 'user)) (call 'login-component))) [:before actions rock! by doing this i can call my login component, which is sometimes a login-or-register component from anywhere in my app and have it do the Right Thing(TM)] > Or maybe components have specific slots that allow controlling access to > component? i've never done this, and i can't really see where it'd be usefull. > I do not want to check that user logged in every page manually. if you give some more info on how yoru app is structured i can provide better suggestions on how to structure 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 mb at bese.it Tue Nov 21 15:40:52 2006 From: mb at bese.it (Marco Baringer) Date: Tue, 21 Nov 2006 16:40:52 +0100 Subject: [Bese-devel] Re: :component slots and the slot value References: Message-ID: "Attila Lendvai" writes: > hi! > > i was looking at the code that initializes :component slots, and i > couldn't understand what it was meant to be doing. it was taking the > slot value when available and passed it to the component to be created > as initargs. > > (slot-name (list 1 2) :component (foo 3 4)) > > would end up in a (apply #'make-instance 'foo (list 3 4 1 2)) that's not what is supposed to happen.... > my question is: is anybody relaying on this? and am i the only one > finding it confusing? it's confusing and i hope nobody is relying on it. > i think this behaviour would be much more intuitive: a :component (foo > 1 2) would end up in a (make-instance 'foo 1 2) iff the slot was not > already initialized to something, iow it's unbound. otherwise the slot > is left alone. that was my intention with initialize-component-slots, it will only set the slot when the slot is bound and it's value isn't nil. anything else is a bug. > i have this modification recorded here and if nobody speaks up for > long enough, i'll push them. do 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 hbabcockos1 at mac.com Tue Nov 21 17:31:23 2006 From: hbabcockos1 at mac.com (hbabcockos1 at mac.com) Date: Tue, 21 Nov 2006 09:31:23 -0800 Subject: [Bese-devel] Creating a UCW component? Message-ID: <5F24C10A-010F-1000-B62F-286BD597EC40-Webmail-10022@mac.com> Hello, I've defined a component something like this: (defcomponent my-component (nil) ((value1 :accessor value1 :initarg :value1 :initform 0) (value2 :accessor value2 :initarg :value2 :initform 0))) And I'd like to be able to create a instance of the component "off-line", i.e. something like this: (make-instance 'my-component) However, this doesn't work and I get the error message: There is no applicable method for the generic function # when called with arguments (:UNBOUND). [Condition of type SIMPLE-ERROR] So, how does one do this? My purpose is that I've written an analysis app in UCW and I'd like to have the option of running the analysis directly, rather than via the web interface. However, since it was originally written as a UCW app most of the functions expect a UCW component as one of their arguments. thanks, -Hazen From mb at bese.it Tue Nov 21 17:42:07 2006 From: mb at bese.it (Marco Baringer) Date: Tue, 21 Nov 2006 18:42:07 +0100 Subject: [Bese-devel] Re: Creating a UCW component? References: <5F24C10A-010F-1000-B62F-286BD597EC40-Webmail-10022@mac.com> Message-ID: hbabcockos1 at mac.com writes: > So, how does one do this? (with-dummy-context (:render nil) (make-instance 'my-component)) > My purpose is that I've written an analysis app in UCW and I'd like > to have the option of running the analysis directly, rather than via > the web interface. However, since it was originally written as a UCW > app most of the functions expect a UCW component as one of their > arguments. though refactoring the app would be better in the long run :) -- -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 Tue Nov 21 17:56:39 2006 From: attila.lendvai at gmail.com (Attila Lendvai) Date: Tue, 21 Nov 2006 18:56:39 +0100 Subject: [Bese-devel] Creating a UCW component? In-Reply-To: <5F24C10A-010F-1000-B62F-286BD597EC40-Webmail-10022@mac.com> References: <5F24C10A-010F-1000-B62F-286BD597EC40-Webmail-10022@mac.com> Message-ID: > And I'd like to be able to create a instance of the component "off-line", i.e. something like this: > > (make-instance 'my-component) > > However, this doesn't work and I get the error message: i've got a single local patch that i considered not generally useful and therefore did not push to the official repos, and it is exactly this. it makes it possible to create components without a context/session. my usecase is components used as views. they are part of the component structure that describe what should be rendered, but they are not directly rendered themselves. (e.g. (render-poperty renderer view), where view holds some :component slots, etc, but 'render will never be called on it) some of these views are :stateless t, iow singletons, used for mere dispatch purposes and they are created at load-time. i still don't think that this patch should be in the official repo in it's current form, though. but i'll send it to you directly tomorrow (it's only a one-liner unless around some part of the initialize-instance of component) and after drewc's refactor is slowing down we may find a better solution for this. (this may be also ok, i just didn't invest the time to think through the consequences) -- - 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) From vagif at cox.net Tue Nov 21 21:52:10 2006 From: vagif at cox.net (Vagif Verdi) Date: Tue, 21 Nov 2006 13:52:10 -0800 Subject: [Bese-devel] Re: Access Control best practice In-Reply-To: Message-ID: <20061121215222.OJTB7494.fed1rmmtao04.cox.net@fed1rmimpo01.cox.net> i generally have three parts to an app, the public part, the private part and the backoffice. by using a custom dispatcher and ordering the entry points i can "easily" (easy for me at least) control who sees what: (list action-handler public-entry-points ... (redirect-unless-logged-in) ... private-entry-points ... (redirect-unless-admin) ... backoffice) so i generally check for logged-in-ness whenever accessing a new entry-point. I like this approach, because you are writing code to check if user logged in only one time. And it would be great to see particular example included into ucw. ...i do have methods defined on actions which require a login: (defaction whatever :before ((comp my-private-component) &rest other-args) (declare (ignore other-args)) (unless (logged-in-p (get-session-value 'user)) (call 'login-component))) [:before actions rock! by doing this i can call my login component, which is sometimes a login-or-register component from anywhere in my app and have it do the Right Thing(TM)] This approach I do not like (or maybe I misunderstand it) Do you mean that you have to write :before actions for every of your 50 pages ? Or do you write :before action only once and then it is fired for all 50 pages ? If latter, how do you do that? Regards, Vagif Verdi. From mb at bese.it Tue Nov 21 22:01:27 2006 From: mb at bese.it (Marco Baringer) Date: Tue, 21 Nov 2006 23:01:27 +0100 Subject: [Bese-devel] Re: Access Control best practice References: <20061121215222.OJTB7494.fed1rmmtao04.cox.net@fed1rmimpo01.cox.net> Message-ID: "Vagif Verdi" writes: > > i generally have three parts to an app, the public part, the private > part and the backoffice. by using a custom dispatcher and ordering the > entry points i can "easily" (easy for me at least) control who sees > what: > > (list > action-handler > public-entry-points > ... > (redirect-unless-logged-in) > ... > private-entry-points > ... > (redirect-unless-admin) > ... > backoffice) > > so i generally check for logged-in-ness whenever accessing a new > entry-point. > > > I like this approach, because you are writing code to check if user logged > in only one time. > And it would be great to see particular example included into ucw. ok, i'll dig up the for the custom dispatchers. > > ...i do have methods defined on actions which require a login: > > (defaction whatever :before ((comp my-private-component) &rest other-args) > (declare (ignore other-args)) > (unless (logged-in-p (get-session-value 'user)) > (call 'login-component))) > > [:before actions rock! by doing this i can call my login component, > which is sometimes a login-or-register component from anywhere in my > app and have it do the Right Thing(TM)] > > > This approach I do not like (or maybe I misunderstand it) > Do you mean that you have to write :before actions for every of your 50 > pages ? i have hundreds of pages, but only one (or three) way to get at them so i only write the before method once (or thrice) for the one (or three) components which present the 'main menu' for the backoffice. for example: whenever we want to add a new adopotion we need to be logged in, so the add-adpotion defaction has a before method like the on above. actually adding an adoption requires 5 different pages (and about 8 componets) but since there's only one way to get at them i only have one method to worry about. most of my 'pages' are just calls to component so the url is alway index.ucw?s=...&f=...&a=... do you actually have 50 different public pages all of which should be book-mark-able? if do you're slightly out of luck (unless you convert them all into tast-components) -- -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 vagif at cox.net Tue Nov 21 22:18:55 2006 From: vagif at cox.net (Vagif Verdi) Date: Tue, 21 Nov 2006 14:18:55 -0800 Subject: [Bese-devel] Re: Access Control best practice In-Reply-To: Message-ID: <20061121221907.XQMR18207.fed1rmmtao08.cox.net@fed1rmimpo01.cox.net> >i have hundreds of pages, but only one (or three) way to get at them >so i only write the before method once (or thrice) for the one (or >three) components which present the 'main menu' for the backoffice. >for example: whenever we want to add a new adopotion we need to be >logged in, so the add-adpotion defaction has a before method like the >on above. actually adding an adoption requires 5 different pages (and >about 8 componets) but since there's only one way to get at them i >only have one method to worry about. most of my 'pages' are just calls >to component so the url is alway index.ucw?s=...&f=...&a=... Oh, so you have only 1 "page" index.ucw for your entire web app. Yes, this would work of course. But I'd rather not loose RESTfulnes of my application, where users can send each other links to particular pages, instead of digging their way to them through series of clicks. So checking user account in central dispatch or url-handle method would be preferable for me. Another approach would be (I'm speculating here) assign :before actions to parent component, and then derive all components from that component. Would that fire :before action for all components that were derived from parent component ? From mb at bese.it Tue Nov 21 22:33:44 2006 From: mb at bese.it (Marco Baringer) Date: Tue, 21 Nov 2006 23:33:44 +0100 Subject: [Bese-devel] Re: Access Control best practice References: <20061121221907.XQMR18207.fed1rmmtao08.cox.net@fed1rmimpo01.cox.net> Message-ID: "Vagif Verdi" writes: > But I'd rather not loose RESTfulnes of my application, where users can send > each other links to particular pages, instead of digging their way to them > through series of clicks. you sure you want users to be able to send each other links to the backoffice? > Another approach would be (I'm speculating here) assign :before actions to > parent component, and then derive all components from that component. > Would that fire :before action for all components that were derived from > parent component ? that would be the task component. it calls a start action as soon as it's rendered so you'd have something like this: (defcomponent my-app-task/backoffice (task-component) ()) (defmethod start :before ((task my-app-task/backoffice)) (unless (get-session-value 'user) (call 'login))) (defcomponent product-editor/backoffire (template-component my-app-task/backoffice) (...)) (defmethod start ((task product-editor/backoffire)) (let ((product (call 'product-chooser))) (when (call 'option-dialog :question "Are you sure?") (update-record-from-instance product)))) or something....this will only work since task-component is designed to call the start method. -- -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 Nov 24 05:20:03 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Fri, 24 Nov 2006 00:20:03 -0500 (EST) Subject: [Bese-devel] New patches to parenscript: 23-Nov-2006 Message-ID: <20061124052003.C35FC14007@common-lisp.net> Wed Nov 22 14:30:27 EST 2006 Henrik Hjelte * Possible to make attributes conditionally rendered with js-html generator M ./t/reference-tests.lisp -1 +16 An updated tarball of parenscript's source can be downloaded here: http://common-lisp.net/project/ucw/tarballs/parenscript-20061123.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=parenscript;a=summary From marijnh at gmail.com Fri Nov 24 08:14:57 2006 From: marijnh at gmail.com (Marijn Haverbeke) Date: Fri, 24 Nov 2006 09:14:57 +0100 Subject: [Bese-devel] New patches to parenscript: 23-Nov-2006 In-Reply-To: <20061124052003.C35FC14007@common-lisp.net> References: <20061124052003.C35FC14007@common-lisp.net> Message-ID: Did my cond patch not make the cut? If that's the case, why not? Regards, Marijn On 11/24/06, Marco Baringer wrote: > > Wed Nov 22 14:30:27 EST 2006 Henrik Hjelte > * Possible to make attributes conditionally rendered with js-html generator > > M ./t/reference-tests.lisp -1 +16 > > > An updated tarball of parenscript's source can be downloaded here: > http://common-lisp.net/project/ucw/tarballs/parenscript-20061123.tar.gz > > Darcsweb URL: > http://uncommon-web.com/darcsweb/darcsweb.cgi?r=parenscript;a=summary > _______________________________________________ > 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 Nov 24 13:14:11 2006 From: mb at bese.it (Marco Baringer) Date: Fri, 24 Nov 2006 14:14:11 +0100 Subject: [Bese-devel] Re: New patches to parenscript: 23-Nov-2006 References: <20061124052003.C35FC14007@common-lisp.net> Message-ID: "Marijn Haverbeke" writes: > Did my cond patch not make the cut? If that's the case, why not? i think attila was suggesting to just use (js:import-macros-from-lisp 'cond), while this works your code generates much nicer output. i applied it (attila: if there were any other problems with this patch i missed please speak up) -- -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 Nov 24 13:28:14 2006 From: attila.lendvai at gmail.com (Attila Lendvai) Date: Fri, 24 Nov 2006 14:28:14 +0100 Subject: [Bese-devel] Re: New patches to parenscript: 23-Nov-2006 In-Reply-To: References: <20061124052003.C35FC14007@common-lisp.net> Message-ID: > i think attila was suggesting to just use (js:import-macros-from-lisp > 'cond), while this works your code generates much nicer output. i > applied it (attila: if there were any other problems with this patch i > missed please speak up) nothing, i just didn't want to decide because i don't look at the js output that much... :) -- - 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) From marijnh at gmail.com Fri Nov 24 13:52:58 2006 From: marijnh at gmail.com (Marijn Haverbeke) Date: Fri, 24 Nov 2006 14:52:58 +0100 Subject: [Bese-devel] Re: New patches to parenscript: 23-Nov-2006 In-Reply-To: References: <20061124052003.C35FC14007@common-lisp.net> Message-ID: > i think attila was suggesting to just use (js:import-macros-from-lisp > 'cond), while this works your code generates much nicer output. i > applied it (attila: if there were any other problems with this patch i > missed please speak up) Great, thanks. When debugging, I often end up looking at the actual javascript anyway, so it's nice to have it remain human-readable. ... Also -- technically CL's cond isn't even required to expand into nested ifs, so importing that one isn't entirely correct >:-) . Regards, Marijn From mbaringer at common-lisp.net Sat Nov 25 05:20:08 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Sat, 25 Nov 2006 00:20:08 -0500 (EST) Subject: [Bese-devel] New patches to parenscript: 24-Nov-2006 Message-ID: <20061125052008.44587A0F0@common-lisp.net> Wed Nov 15 02:38:22 EST 2006 marijnh at gmail.com * add proper cond construct M ./src/js.lisp +27 An updated tarball of parenscript's source can be downloaded here: http://common-lisp.net/project/ucw/tarballs/parenscript-20061124.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=parenscript;a=summary From marijnh at gmail.com Mon Nov 27 10:34:47 2006 From: marijnh at gmail.com (Marijn Haverbeke) Date: Mon, 27 Nov 2006 11:34:47 +0100 Subject: [Bese-devel] Another parenscript issue Message-ID: CL-USER> (js:js* '(- 2)) "2;" For + you can say that (+ x) = x, but for - this obviously doesn't hold. Regards, Marijn -------------- next part -------------- An HTML attachment was scrubbed... URL: From mb at bese.it Mon Nov 27 14:19:00 2006 From: mb at bese.it (Marco Baringer) Date: Mon, 27 Nov 2006 15:19:00 +0100 Subject: [Bese-devel] Re: Another parenscript issue References: Message-ID: "Marijn Haverbeke" writes: > CL-USER> (js:js* '(- 2)) > "2;" > > For + you can say that (+ x) = x, but for - this obviously doesn't hold. does this work: CL-USER> (js:js* '(- 4)) "-4;" CL-USER> (js:js* '(+ 4)) "+4;" CL-USER> (js:js* '(/ 4)) "/4;" CL-USER> (js:js* '(* 4)) "*4;" CL-USER> or do we want to be smart and special case just - ? -- -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 nowhere.man at levallois.eu.org Mon Nov 27 14:41:34 2006 From: nowhere.man at levallois.eu.org (Pierre THIERRY) Date: Mon, 27 Nov 2006 15:41:34 +0100 Subject: [Bese-devel] Re: Another parenscript issue In-Reply-To: References: Message-ID: <20061127144134.GE7498@bateleur.arcanes.fr.eu.org> Scribit Marco Baringer dies 27/11/2006 hora 15:19: > does this work: > > CL-USER> (js:js* '(- 4)) > "-4;" > CL-USER> (js:js* '(+ 4)) > "+4;" > CL-USER> (js:js* '(/ 4)) > "/4;" > CL-USER> (js:js* '(* 4)) > "*4;" > CL-USER> Well, maybe the notion of neutral operand (not sure if it's the correct ENglish term) would fit there: 0 for + and -, 1 for * and /: (js:js* '(- 4)) ==> "-4;" ; 0-4 (js:js* '(+ 4)) ==> "4;" ; 0+4 (js:js* '(/ 4)) ==> "1/4;" ; 1/4 (js:js* '(* 4)) ==> "4;" ; 1*4 > or do we want to be smart and special case just - ? I'll say special case either just '- or both '- and '/. If I'm not mistaken, in the former, the / wil just have no sense for javascript. Mathematically, Pierre -- nowhere.man at levallois.eu.org OpenPGP 0xD9D50D8A -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Digital signature URL: From luca at pca.it Mon Nov 27 15:22:21 2006 From: luca at pca.it (Luca Capello) Date: Mon, 27 Nov 2006 16:22:21 +0100 Subject: [Bese-devel] Re: Another parenscript issue In-Reply-To: <20061127144134.GE7498@bateleur.arcanes.fr.eu.org> References: <20061127144134.GE7498@bateleur.arcanes.fr.eu.org> Message-ID: <874pskoqxe.fsf@gismo.pca.it> Hello! On Mon, 27 Nov 2006 15:41:34 +0100, Pierre THIERRY wrote: > Scribit Marco Baringer dies 27/11/2006 hora 15:19: >> does this work: [...] > Well, maybe the notion of neutral operand (not sure if it's the correct > ENglish term) would fit there: 0 for + and -, 1 for * and /: > > (js:js* '(- 4)) ==> "-4;" ; 0-4 > (js:js* '(+ 4)) ==> "4;" ; 0+4 > (js:js* '(/ 4)) ==> "1/4;" ; 1/4 > (js:js* '(* 4)) ==> "4;" ; 1*4 > >> or do we want to be smart and special case just - ? > > I'll say special case either just '- or both '- and '/. FWIW, I'd prefer a similar output for the four cases, thus to be not smart neither special, it's just "better" at my sight ;-) 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 marijnh at gmail.com Tue Nov 28 13:41:33 2006 From: marijnh at gmail.com (Marijn Haverbeke) Date: Tue, 28 Nov 2006 14:41:33 +0100 Subject: [Bese-devel] Patch to rfc2388 to make IE file uploads work properly Message-ID: It seems our rfc2388 lib allowed backslashes to escape the next character when reading the attributes to a multipart header. IE passes the whole path of a file as the filename attribute to Content-Disposition, but this library behaviour stripped out these backslashes. After some looking at RFCs and scratching my head, Marco explained to me that this behaviour is wrong, so here is a patch to the library which removes the backslash-escaping behaviour. Regards, Marijn -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: no-backslash-escape.patch Type: application/octet-stream Size: 6905 bytes Desc: not available URL: From mbaringer at common-lisp.net Wed Nov 29 05:00:07 2006 From: mbaringer at common-lisp.net (Marco Baringer) Date: Wed, 29 Nov 2006 00:00:07 -0500 (EST) Subject: [Bese-devel] New patches to arnesi_dev: 28-Nov-2006 Message-ID: <20061129050007.2B8EA17038@common-lisp.net> Tue Nov 28 05:17:29 EST 2006 henrik at evahjelte.com * More detailed error reporting in unescape-as-uri Also a continue-as-is restart that allows parsing of invalid urls. M ./src/http.lisp -18 +38 M ./src/packages.lisp +4 An updated tarball of arnesi_dev's source can be downloaded here: http://common-lisp.net/project/bese/tarballs/arnesi_dev-20061128.tar.gz Darcsweb URL: http://uncommon-web.com/darcsweb/darcsweb.cgi?r=arnesi_dev;a=summary From mb at bese.it Wed Nov 29 16:05:35 2006 From: mb at bese.it (Marco Baringer) Date: Wed, 29 Nov 2006 17:05:35 +0100 Subject: [Bese-devel] Re: Patch to rfc2388 to make IE file uploads work properly References: Message-ID: "Marijn Haverbeke" writes: > It seems our rfc2388 lib allowed backslashes to escape the next character when > reading the attributes to a multipart header. IE passes the whole path of a > file as the filename attribute to Content-Disposition, but this library > behaviour stripped out these backslashes. After some looking at RFCs and > scratching my head, Marco explained to me that this behaviour is wrong, so here > is a patch to the library which removes the backslash-escaping behaviour. can anyone else confirm that our rfc2388 is wrong and ie is right? -- -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