New patches: [Add precise control of external format used for url unescaping, slime and http intercommunication binarin@gmail.com**20050827134632] { hunk ./bin/start.lisp 32 +#+(and sbcl sb-unicode) +(setf (external-format-for :slime) :utf-8-unix + (external-format-for :url) :utf-8 + (external-format-for :http) :utf-8-unix) + hunk ./bin/start.lisp 75 - (swank:create-server :dont-close t) + (swank:create-server :dont-close t + :external-format (external-format-for :slime)) hunk ./src/backend/httpd.lisp 247 - for stream = (swank-backend:accept-connection (socket backend)) + for stream = (swank-backend:accept-connection (socket backend) + :external-format (external-format-for :http)) hunk ./src/backend/httpd.lisp 423 - (nunescape-as-uri (subseq param-string key-start key-end)) + (nunescape-as-uri (subseq param-string key-start key-end) (external-format-for :url)) hunk ./src/backend/httpd.lisp 436 - (nunescape-as-uri (subseq param-string value-start value-end))) + (nunescape-as-uri (subseq param-string value-start value-end) (external-format-for :url))) hunk ./src/helpers.lisp 80 +(defmacro external-format-for (what) + `(getf ucw::*external-formats* ,what)) + hunk ./src/packages.lisp 24 + #:external-format-for hunk ./src/vars.lisp 17 +(defvar *external-formats* '(:url :latin-1 + :slime :iso-latin-1-unix + :http :iso-latin-1-unix) + "The external formats used for url-unescaping, slime and http(via swank) intercommunication") + } [Argument for ucw.backend.dribble was missing binarin@gmail.com**20050827135018] { hunk ./src/backend/httpd.lisp 501 - headers body) + (cdr it) headers body) } Context: [Rewrite the sum examples to act as we expect it to in the presence of back tracking Marco Baringer **20050824170029] [Use parenscript instead of (concatenate 'string ... Marco Baringer **20050824125546] [Adde convenience functions to change ucw's logging levels Marco Baringer **20050824125459] [Refactoring in httpd backend Marco Baringer **20050824125423] [Added a logging statement in httpd backend Marco Baringer **20050824125337] [minor updates to TODO Marco Baringer **20050824125306] [Removed have-threads-p from bin/start.lisp. Use the threaded-lisp-p function from control.lisp instead. Marco Baringer **20050824125007] [Fix shutdown-backend method for araneida. (Patch by: Friedrich Dominicus ) (only two months late...) Marco Baringer **20050819082155] [Use prin1 (instead of the default princ) for printing the admin-repl's values. (Reported by: Pascal Bourguignon ) Marco Baringer **20050818145347] [The macro SHOW was being defined in standard-action.lisp, it' already defined with the template component. removed it. Marco Baringer **20050817100830] [Use swank-backend:close-socket to close the httpd backend's socket, not cl:close. Marco Baringer **20050814163132] [Use parenscript. New tag **20050814141501] [Added dependency on parenscript Marco Baringer **20050814135145] [Fix typos in README Marco Baringer **20050814135114] [Make the transaction-example component a task-component Marco Baringer **20050814111842] [standard-session-frame depends on macros defined in request-loop-error Marco Baringer **20050814111809] [Wrap calls to transaction continuations in with-call/cc, used kall and not funcall to continue a continuation. Marco Baringer **20050814111715] [The class is not called arnesi::cps-closure anymore, it's closure/cc Marco Baringer **20050812174701] [Added the Status header to the mod_lisp backend Marco Baringer **20050812122805] [Use arnesi:+cr-lf+ to get a CR-LF string Marco Baringer **20050812122742] [Change the logging statements so they're clearer and so that +info+ gives decent information Marco Baringer **20050812122701] [indentation fixup Marco Baringer **20050812114933] [form-component's submit action needs to use defaction, not just defmethod Marco Baringer **20050812114907] [Deal with method qualifiers in defaction forms Marco Baringer **20050812114752] [When serving files we try to infer the file type from the file's extension Marco Baringer **20050812114718] [Added a few debugging statements to the httpd backend Marco Baringer **20050812114647] [The Status header isn't really a header and the httpd backend needs to deal with it differently Marco Baringer **20050812113758] [Implement publish-directory for the httpd backend. Changed how handlers work in this backend. Marco Baringer **20050812090052] [The www-root for the damin app is "/ucw/admin/", not "/ucw/examples/" :( Marco Baringer **20050812071421] [Fix hint text for when yaclml is missing a required feature Marco Baringer **20050810053746] [Fix bug in DEFCOMPONENT's handling of :metaclass option (Reported by: Friedrich Dominicus ) Marco Baringer **20050809130342] [fix bug in ensure-system-has-feature Marco Baringer **20050809122624] [Added hint parameter to ensure-system-has-feature Marco Baringer **20050809112951] [Fix bug in log messages in araneida backend (Reported by: Friedrich Dominicus ) Marco Baringer **20050809064728] [When a component-slot is passed the :component keyword we need to setup the slot for backtracking Marco Baringer **20050809055756] [Minor refactoring in initialize-backtracking Marco Baringer **20050809054005] [Minor formatting touchup in generate-backtrace-for-emacs Marco Baringer **20050807140906] [Setup *current-condition* and *current-backtrace* in the server's handler-bind (the one which takes care of internal ucw errors) Marco Baringer **20050807135042] [Added the generate-backtrace-for-emacs restart Marco Baringer **20050807134832 This new restart requires some really hacky stuff that we'll probably need to redo later on (we pass the condition and the backtrace from the handler to the restart via two special variables). ] [Rework error handling methods Marco Baringer **20050807122844 We've changed the API of handle-request-error and handle-action-error from (condition request response) to (conndition backtrace). we now collect the backtrace as soon as the error handler kicks, this removes some useless frames whcih were previously being inserted. we've also introduced the with-action-error-handler macro and a defgeneric form for handle-action-error. the methods on handle-request-error have been rewritten to use the new with-error-page macro. ] [Use DEFCOMPONENT's new options in the examples Marco Baringer **20050807122639] [Extend and refactor the DEFCOMPONENT macro. (see new docstring for details) Marco Baringer **20050807121844] [Added a few logging statements Marco Baringer **20050807091151] [Don't use ITERATE around **20050807075849] [Don't copy backtrack values in save-backtrack (this isn't neccessary for proper backtracking) Marco Baringer **20050806093402] [Fix backtracking on non immediate objects Marco Baringer **20050806090550 This changes the times when values are copied in the backtracking stuff. Previously we'd copy when saving the bt list and when cloning it, we now copy when saving, when restoring, but not when cloning. The previous implementation caused already stored backtracked values to be modified, when they'd later be restorted they'd have values which didn't reflect what the user (and the developer) expects (this is bad). ] [Added, and initialized, the generating-frame slot to standard-session-frame. Marco Baringer **20050806090059] [removed standard-application's service :after method Marco Baringer **20050806085933 The method was just calling save-backtracked, standard-session-frame already does that and is the 'proper' place for thaht stuff. ] [Fix various typos/thinkos on control.lisp Marco Baringer **20050806082907] [Make the inspector output more readable (Patch by: William Halliburton ) Marco Baringer **20050806054207] [Fix slot options for deleteablep in list-presentation (Reported by: Pascal Bourguignon ) Marco Baringer **20050805073024] [Properly deal with the backtracking of unbound slots Marco Baringer **20050803095347] [Remove the update.sh script Marco Baringer **20050802161726] [Change API of MAKE-BACKEND Marco Baringer **20050802111231] [Another type in the defgeneric form for make-backend Marco Baringer **20050802110327] [Fix typo and change error message in the default method for MAKE-BACKEND Marco Baringer **20050802110151] [Need to wrap the form passed on <:select :on-change in a with-call/cc Marco Baringer **20050729105241] [Since call-inspector is a /cc method we need to call it within a with-call/cc form Marco Baringer **20050726095455] [Since the getter/setter of a PLACE object can be cps-closure objects we need to treat them explicitly Marco Baringer **20050726095425] [Even window components must use KALL and not FUNCALL for their continutation :) Marco Baringer **20050726095333] [Removed call to arnesi:assert-cc Marco Baringer **20050725121348] [Wrap call to the cc method START in a with-call/cc Marco Baringer **20050723133329] [Continuations are now called using ARNESI:KALL, not FUNCALL Marco Baringer **20050723133311] [Actions need to be wrapped in with-call/cc Marco Baringer **20050723113039] [Rename GET-BACKEND to MAKE-BACKEND Marco Baringer **20050801143643] [Edit CREATE-SERVER so that it properly updates *debug-on-error* and *inspect-components* Marco Baringer **20050801143254] [Remove spurious double lines between method definitions Marco Baringer **20050801142440] [Minor doc string fixups to GET-BACKEND Marco Baringer **20050801142247] [Added copyright notice to src/control.lisp Marco Baringer **20050801134638] [Lisp startable UCW Robert Marlow **20050801050720 This should allow UCW to be easily startable from within lisp rather than from loading lisp start.lisp. The function for doing this is named create-server. ucwctl has been changed to make use of the new functionality but should work as it did before. defentry-point can now be used before its application has been attached to a server - when the application is attached to a server its entry points will then automatically be added. This makes it possible to load up system definitions containing defentry-points without having a running server beforehand. Thus lisp images can then be dumped containing full applications rather than just UCW. A get-backend method has been defined which creates a backend according to its arguments. It is also able to automatically choose a sensible default from currently loaded backends. It can also accept an existing, running server as a backend in which case it simply wraps it with a sensible UCW backend and returns it. This allows UCW applications to be attached to already running HTTP servers rather than requiring fresh servers be started by UCW. So far it's only been implemented for Araneida. I've only really tested the araneida and (briefly) HTTPD backends but the method of starting the backends should be similar to how start.lisp worked so I'm hoping I haven't broken anything. ] [bash -> sh Julian Stecklina **20050731145119] [Use defcomponent instead of defclass for simple-template-component Marco Baringer **20050726095406] [When creating the string for request paramteers use the same element-type as the raw-uri array Marco Baringer **20050730114429] [Instead of looking for a property named VERSIONS we now call it :FEATURES. Updated the error message accordingly Marco Baringer **20050729103158] [Renamed 'version' to 'feature' in asdf property check. added check for cps-interpreter Marco Baringer **20050728120322] [Changes to the stylesheet Marco Baringer **20050728120129] [Added the "top-level" retry render-on restart Marco Baringer **20050726122803] [When printing the 'retry rendering' restart added the component object which caused the error Marco Baringer **20050726122740] [template-component-environment methods must always return a fresh list Marco Baringer **20050725121551] [Make the wiki example use the show-window macro Marco Baringer **20050725121447] [Added SHOW and SHOW-WINDOW macros Marco Baringer **20050725121421] [Post method for login component matley@innerloop.it**20050724142609] [Added initarg to client-value (form-component) matley@innerloop.it**20050723142419] [Little typo bugfix matley@innerloop.it**20050722200835] [Change the CALL macro to check for window-component'ness when used in entry-points Marco Baringer **20050723102841] [Fix the upload example Marco Baringer **20050721155417] [Only create a mime-part object for those mime-parts which have headers other than just "name" Marco Baringer **20050721155338] [Only use copy-seq on the request parameters if thay are strings (as opposed to mime-part objects) Marco Baringer **20050721154259] [Export the mime-part accessors Marco Baringer **20050721154124] [Update component slots and backtrack slots when reinitializing component classes Marco Baringer **20050718172834] [Allow defcomponent slot forms to be symbols (some effect as with defclass) Marco Baringer **20050718171831] [More accurate information regarding versions and how to get the software. José Pablo Ezequiel Fernández **20050718033950] [More changes regarding dependencies. José Pablo Ezequiel Fernández **20050717214720] [Some clear statements about the dependencies (more is still neede). José Pablo Ezequiel Fernández **20050717213407] [Make ucw's installation directory an explicit configuration variable in make-image.lisp Marco Baringer **20050717191936] [Remove useless debugging code from ucw-tags.lisp Marco Baringer **20050717191301] [Fix handling of HTTR response status codes in aserve backend (Patch by: Antonio Menezes Leitao ) Marco Baringer **20050717190254] [Fix handling of HTTP request/respons headers in aserve backend. (Patch by: Antonio Menezes Leitao ) Marco Baringer **20050717185826] [Initial Import from arch Marco Baringer **20050706133829 This patch is exactly equal to ucw-2004@common-lisp.net/ucw--dev--0.3--patch-426 it simply represents the move over to darcs. ] [Added boring file Marco Baringer **20050706132641] Patch bundle hash: 17d92217d2a5bc6e8f2c7025c64bac6e95824da1