[Bese-devel] action-dispatcher creation fix

Alexey Antipov door at lcpi.ru
Mon Jun 19 07:39:42 UTC 2006


action-dispatcher created with nil priority

this variant use class :initform

(defun action-dispatcher (&optional (priority nil priorityp))
  (apply #'make-instance 'action-dispatcher
        (when priorityp
          :priority priority)))

-------------- next part --------------

New patches:

[action-dispatcher created with nil priority
Alexey Antipov <door at lcpi.ru>**20060619073557] {
hunk ./src/rerl/standard-dispatcher.lisp 392
-(defun action-dispatcher (&optional priority)
-  (make-instance 'action-dispatcher
-		 :priority priority))
+(defun action-dispatcher (&optional (priority nil priorityp))
+  (apply #'make-instance 'action-dispatcher
+	 (when priorityp
+	   :priority priority)))
}

Context:

[- 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] 
[Display the locale preference list in the l10n example
attila.lendvai at gmail.com**20060618211355] 
[Merge dev/ajax conflict in l10n example
attila.lendvai at gmail.com**20060618154956] 
[Make the l10n tal example an embeddable non-window component
attila.lendvai at gmail.com**20060618153512] 
[Use indefinit articles in l10n example
attila.lendvai at gmail.com**20060618143451] 
[Backport examples to the dev branch (fix it :)
attila.lendvai at gmail.com**20060618142159] 
[Better way to load the examples in the README
attila.lendvai at gmail.com**20060618142128] 
[New l10n and i18n example
attila.lendvai at gmail.com**20060618134812] 
[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] 
[Some more l10n work
attila.lendvai at gmail.com**20060617175729] 
[Export make-request-context and cookie-session-request-context
attila.lendvai at gmail.com**20060617132000] 
[Small i18n fix and comment
attila.lendvai at gmail.com**20060616123417] 
[Fix last patch (by Alberto Santini <albertosantini at gmail.com>)
Maciek Pasternacki <maciekp at japhy.fnord.org>**20060617173114] 
[Fix an IE date header problem (by Lou Vanek <vanek at acd.net>)
Maciek Pasternacki <maciekp at japhy.fnord.org>**20060617134808] 
[Rename i18n to l10n. restructure files. move cl-l10n dependncy to ucw.l10n system (off of ucw)
Marco Baringer <mb at bese.it>**20060617123925] 
[Added :initarg to extension slot of tal-dispatcher
Marco Baringer <mb at bese.it>**20060616153433] 
[Use IF instead of AIF since the it binding is nevere referenced.
Marco Baringer <mb at bese.it>**20060616153418] 
[Remover spurious cons in read-from-client-string
Marco Baringer <mb at bese.it>**20060616153209] 
[Update (setf container.current-component)'s docstring
Marco Baringer <mb at bese.it>**20060616153139] 
[set arnesi:*warn-undefined* to NIL to avoid problems with asdf+sbcl
Marco Baringer <mb at bese.it>**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 <mb at bese.it>**20060607120319] 
[Changed the tal-dispatcher to only look for tals files for specific urls (defaults to those ending in .ucw)
Marco Baringer <mb at bese.it>**20060607120228] 
[Lazy create the isolate-hash hashtable
attila.lendvai at gmail.com**20060616150043] 
[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] 
[Since we're alread using dojo we might as well use all the shortcuts it provides
Marco Baringer <mb at bese.it>**20060607120422] 
[Cache the cl-ppcre:scanner for the url-string in a regexp dispatcher.
Nathan Bird <nathan at acceleration.net>**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.
] 
[httpd now skips empry request params in map-parameters
attila.lendvai at gmail.com**20060613152005] 
[- :initarg :dispatchers added std-application.
evrim at core.gen.tr**20060612171540] 
[Added comments to the cache examples
attila.lendvai at gmail.com**20060610114956] 
[- 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.
] 
[Fix config.lisp dependency in ucw.asd
attila.lendvai at gmail.com**20060609213216] 
[Tiny doc fix
attila.lendvai at gmail.com**20060609205951] 
[Added tooltip support to form fields
attila.lendvai at gmail.com**20060609151248] 
[Fix return value of remove-component switching-container
attila.lendvai at gmail.com**20060607145208] 
[- export #:window-component.content-type
evrim at core.gen.tr**20060608112655] 
[- 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] 
[Modify setf component.current-component to return (values new-value happened)
attila.lendvai at gmail.com**20060607134355] 
[(setf container.current-component) returns t when the set actually happened
attila.lendvai at gmail.com**20060606195958] 
[Fix dynamic forms example delete
attila.lendvai at gmail.com**20060604201256] 
[Split ucw.css and examples.css
attila.lendvai at gmail.com**20060604200705] 
[Added child-components to container, WARNING: small api change
attila.lendvai at gmail.com**20060604185229
 
 In the process renamed the :pred kayword argument to :predicate
] 
[Doc/comment fixes
attila.lendvai at gmail.com**20060604185138] 
[Add typecheck to s-c s-v-u-c and also set the parent slot
attila.lendvai at gmail.com**20060604172617] 
[Export get-paremeter and map-parameters
Marco Baringer <mb at bese.it>**20060604171847] 
[When adding the ucw-form-field-invalid class remeber to remove the ucw-form-field-valid class (Patch by: Marijn Haverbeke <marijnh at gmail.com>)
Marco Baringer <mb at bese.it>**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 <mb at bese.it>**20060604141410] 
[Added :class attributes to all the form elements
Marco Baringer <mb at bese.it>**20060604140146] 
[Allow for component-slot definition with :component nil
Nathan Bird <nathan at acceleration.net>**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.
] 
[Bind swank::*sldb-quit-restart* to 'fail-miserably
Nathan Bird <nathan at acceleration.net>**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 <nathan at acceleration.net>**20060531155026] 
[made the remove component :after be correctly specialized
Russ Tyndall <russ at acceleration.net>**20060529222215] 
[added pass through for optional args in read client string
Russ Tyndall <russ at acceleration.net>**20060525223940] 
[made it correctly out put human number strings rather than lisp number strings (aka no more 1.23d0)
Russ Tyndall <russ at acceleration.net>**20060517164149] 
[provide #'meta-refresh
Nathan Bird <nathan at acceleration.net>**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 <nathan at acceleration.net>**20060508161431] 
[Add a child-components function
Nathan Bird <nathan at acceleration.net>**20060508160149] 
[Export ucw::get-header
Marco Baringer <mb at bese.it>**20060530233436] 
[Added render-option specialized on nil
attila.lendvai at gmail.com**20060530213435] 
[Don't specialize slot-value-using-class on the value parameter
Marco Baringer <mb at bese.it>**20060530105600] 
[write-uri-sans-query needs to deal with 'special' characters in the query-part
Marco Baringer <mb at bese.it>**20060529182043] 
[Added logging statements which report the action being evaluated.
Marco Baringer <mb at bese.it>**20060529080637] 
[Add "_" prefix to all ucw defined query parameters.
Marco Baringer <mb at bese.it>**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 <mb at bese.it>**20060529072632] 
[Tiny doc fix
attila.lendvai at gmail.com**20060525225601] 
[Added remove-component to container
attila.lendvai at gmail.com**20060523154055] 
[Set arnesi:*warn-undefined* to T in the start.lisp script
Marco Baringer <mb at bese.it>**20060526192721] 
[Fix erroneous evaluation bug in ucw-tags.lisp
Marco Baringer <mb at bese.it>**20060526192234
 
 the code which checked for the precesne of an action parameter in a
 <ucw:form was calling the action at runtime, instead of checking for
 the precense of an action parameter at compile time.
] 
[Added (setf container.current-component)
attila.lendvai at gmail.com**20060519175132] 
[POST is post in the standard
attila.lendvai at gmail.com**20060518220542] 
[Make per-application.js matching regex strict
attila.lendvai at gmail.com**20060518214310] 
[fixes several buglike things in forms:
cjstuij at gmail.com**20060516123951
 
 - the javascript number validator now accepts fractions
 - the javascript integer validator now disallows floating points
 - fixed the email validator
 - allows <ucw:month-select to have other attributes than just accessor
 - in month-select changed Dicember to December
 
] 
[Changed widget-component's render from :wrapping to :wrap-around
attila.lendvai at gmail.com**20060516144443] 
[Move binding of *current-component* into render :wrap-around
attila.lendvai at gmail.com**20060516112354] 
[Tiny doc fix
attila.lendvai at gmail.com**20060511145417] 
[merge the `:ucw.default' and `:ucw.config' systems into the `:ucw' one
Luca Capello <luca at pca.it>**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 <maciekp at japhy.fnord.org>**20060514232653] 
[Add message slot to validator class to contain an error message.
Maciek Pasternacki <maciekp at japhy.fnord.org>**20060514232631] 
[switch from bare-bones dojo to ajax edition. To fix dependency errors where ucw expects the dojo.html namespace or whatever you want to call it to be present.
cjstuij at gmail.com**20060510220528] 
[Read-from-client-string
Nathan Bird <nathan at acceleration.net>**20060430215547
 Useful for reading data from questionable origins where *read-eval* needs to be false.
] 
[Indentation fixup in tabbed-pane.lisp
Marco Baringer <mb at bese.it>**20060509102104] 
[Minor refactoring in container.lisp
Marco Baringer <mb at bese.it>**20060509102050] 
[Mention the difference between (setf application.dispathers) and (setf (slot-value app 'dispatchers)) in the docstring
Marco Baringer <mb at bese.it>**20060509101051] 
[Add a <ucw:simple-submit and <ucw:simple-form that do not require javascript.
Drew Crampsie <drewc at tech.coop>**20060506233602
 
 <ucw:simple-submit uses a BUTTON tag to render a submit button that does not require javascript
 
 To make this happen, i added a method to find-action that operates on a list, 
 grabbing the car and using it as the action id. When a form is submitted with an extra action parameter, 
 the last one submitted (first in the list) is taken to be the action-id.
 
 This allows forms without javascript!! SIMPLE-SUBMIT will work in the standard UCW:FORM, 
 SIMPLE-FORM is a form without the JS cruft, but will not work with standard <UCW:* submit buttons.
 
 
 
] 
[Fix serve-file
attila.lendvai at gmail.com**20060509132443] 
[Added serve-sequence next to serve file with a defserve macrolet
attila.lendvai at gmail.com**20060508220833] 
[Resolve conflicts with "Don't send headers set to NIL (especially Content-Length:) in response."
attila.lendvai at gmail.com**20060508203035] 
[Add dojo.js to standard-window to avoid user surprises
attila.lendvai at gmail.com**20060508202328] 
[Ensure in shared-initialize of standard-application that the required dispatchers exists
attila.lendvai at gmail.com**20060508202029
 
 action dispatcher and a parenscript-dispatcher is crucial for UCW to function properly.
 To make sure things work fine in the normal situations add them in shared-initialize.
 For full control one can still use the application.dispatchers accessor...
] 
[Use context.cookie-value to acces session cookie, also rename the cookie constant to +ucw-session-cookie-name+
attila.lendvai at gmail.com**20060508190228] 
[Added parenscript-dispatcher
attila.lendvai at gmail.com**20060508185842
 
 It lazily compiles a parenscript file at the first request and tehn serves it.
] 
[Added a per-application parenscript file
attila.lendvai at gmail.com**20060506225010] 
[Added encoding method to response
attila.lendvai at gmail.com**20060506174248] 
[Added context.cookies and context.cookie-value
attila.lendvai at gmail.com**20060505223724] 
[Use widget-component.css-* accessors when rendering, so that it can be overridden
attila.lendvai at gmail.com**20060504151409] 
[Do not render the ol/li elements when the container has only one member
attila.lendvai at gmail.com**20060504120248] 
[Resolve conflicts
attila.lendvai at gmail.com**20060423184525] 
[Added tabindex support for form-fields
attila.lendvai at gmail.com**20060414130400] 
[Docfix for net-telent-date dependency.
Maciek Pasternacki <maciekp at japhy.fnord.org>**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 <maciekp at japhy.fnord.org>**20060503013844] 
[Don't send headers set to NIL (especially Content-Length:) in response.
Maciek Pasternacki <maciekp at japhy.fnord.org>**20060503013648] 
[New function (delete-header message header-name).
Maciek Pasternacki <maciekp at japhy.fnord.org>**20060503011904] 
[Don't send body if HTTP method is HEAD.
Maciek Pasternacki <maciekp at japhy.fnord.org>**20060502222010] 
[Save HTTP method of request as string.
Maciek Pasternacki <maciekp at japhy.fnord.org>**20060502221955] 
[Initform for (request response).
Maciek Pasternacki <maciekp at japhy.fnord.org>**20060502221939] 
[Include in httpd response a request associated with it.
Maciek Pasternacki <maciekp at japhy.fnord.org>**20060502221158] 
[changed docs to get up to date and add some info
cjstuij at gmail.com**20060503094055] 
[Added send-redirect function.
Marco Baringer <mb at bese.it>**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 <mb at bese.it>**20060501135314] 
[Using (when (whatever) T) is weird, use (whatever) instead
Marco Baringer <mb at bese.it>**20060501135000] 
[Minor indentation/whitespace fixups in src/components/form.lisp
Marco Baringer <mb at bese.it>**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 <nathan at acceleration.net>**20060428165829] 
[the value of a number-field should be nil, not 0, if nothing was entered.
Nathan Bird <nathan at acceleration.net>**20060428164949] 
[bin/ucwctl: allow a custom ucwctl.conf via -u|--ucwctl-file
Luca Capello <luca at pca.it>**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 <mb at bese.it>**20060428103114] 
[Adding documentation to form.lisp
Nathan Bird <nathan at acceleration.net>**20060428023256] 
[Rearranging file contents to reduce style-warnings
Nathan Bird <nathan at acceleration.net>**20060428022511] 
[Implementing value-validators
Nathan Bird <nathan at acceleration.net>**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 <nathan at acceleration.net>**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 <nathan at acceleration.net>**20060427173259] 
[Added missing id param that got lost in my <ucw:form changes
attila.lendvai at gmail.com**20060424150549] 
[TAG 2006-04-25
Marco Baringer <mb at bese.it>**20060425145623] 
Patch bundle hash:
e36f1f393d230625220944109016d8d165541461


More information about the bese-devel mailing list