Revision: 4477
Author: hans
URL: http://bknr.net/trac/changeset/4477
New API for extending request processing without interferring with
Hunchentoot's internal variable binding, provided by Frode V. Fjeld.
U trunk/thirdparty/hunchentoot/doc/index.xml
U trunk/thirdparty/hunchentoot/packages.lisp
U trunk/thirdparty/hunchentoot/request.lisp
Modified: trunk/thirdparty/hunchentoot/doc/index.xml
===================================================================
--- trunk/thirdparty/hunchentoot/doc/index.xml 2009-11-25 17:03:40 UTC (rev 4476)
+++ trunk/thirdparty/hunchentoot/doc/index.xml 2009-11-30 13:24:17 UTC (rev 4477)
@@ -1594,17 +1594,33 @@
</clix:returns>
<clix:description>
This function is called by <clix:ref>PROCESS-CONNECTION</clix:ref>
-after the incoming headers have been read. It selects and calls a
-<a href="#handlers">handler</a> and sends the output of this handler
-to the client. It also sets up simple error handling for the request
-handler. Note that <clix:ref>PROCESS-CONNECTION</clix:ref> is called
-once per connection and loops in case of a persistent connection
+after the incoming headers have been read. It
+calls <clix:ref>DISPATCH-REQUEST</clix:ref> and sends its output to
+the client. It also sets up simple error handling for the request
+handler.
+<p>
+The return value of this function is ignored.
+</p>
+ </clix:description>
+ </clix:function>
+
+ <clix:function generic='true' name='dispatch-request'>
+ <clix:lambda-list>request
+ </clix:lambda-list>
+ <clix:returns>nil
+ </clix:returns>
+ <clix:description>
+This function is called by <clix:ref>PROCESS-REQUEST</clix:ref>. It
+selects and calls a
+<a href="#handlers">handler</a> to process the request.
+<p>
+This might be a good place to introduce around methods which bind
+special variables or do other interesting things that are relevant to
+the particular request. Note
+that <clix:ref>DISPATCH-REQUEST</clix:ref> is called once per
+connection and loops in case of a persistent connection,
while <clix:ref>PROCESS-REQUEST</clix:ref> is called anew for each
request.
-<p>
-Like <clix:ref>PROCESS-CONNECTION</clix:ref>, this might be a good
-place to introduce around methods which bind special variables or do
-other interesting things.
</p>
<p>
The return value of this function is ignored.
Modified: trunk/thirdparty/hunchentoot/packages.lisp
===================================================================
--- trunk/thirdparty/hunchentoot/packages.lisp 2009-11-25 17:03:40 UTC (rev 4476)
+++ trunk/thirdparty/hunchentoot/packages.lisp 2009-11-30 13:24:17 UTC (rev 4477)
@@ -168,6 +168,7 @@
"DELETE-AUX-REQUEST-VALUE"
"DELETE-SESSION-VALUE"
"DISPATCH-EASY-HANDLERS"
+ "DISPATCH-REQUEST"
"ESCAPE-FOR-HTML"
"EXECUTE-ACCEPTOR"
"GET-PARAMETER"
Modified: trunk/thirdparty/hunchentoot/request.lisp
===================================================================
--- trunk/thirdparty/hunchentoot/request.lisp 2009-11-25 17:03:40 UTC (rev 4476)
+++ trunk/thirdparty/hunchentoot/request.lisp 2009-11-30 13:24:17 UTC (rev 4477)
@@ -95,21 +95,22 @@
can subclass REQUEST in order to implement your own behaviour. See
the REQUEST-CLASS slot of the ACCEPTOR class."))
+(defgeneric dispatch-request (request)
+ (:documentation "This function is called by PROCESS-REQUEST. It
+selects and calls a handler to process the request.
+
+This might be a good place to introduce around methods which bind
+special variables or do other interesting things that are relevant to
+the particular request. Note that DISPATCH-REQUEST is called once per
+connection and loops in case of a persistent connection, while
+PROCESS-REQUEST is called anew for each request."))
+
(defgeneric process-request (request)
(:documentation "This function is called by PROCESS-CONNECTION after
-the incoming headers have been read. It selects and calls a handler
-and sends the output of this handler to the client using START-OUTPUT.
-It also sets up simple error handling for the request handler. Note
-that PROCESS-CONNECTION is called once per connection and loops in
-case of a persistent connection while PROCESS-REQUEST is called anew
-for each request.
+the incoming headers have been read. It calls DISPATCH-REQUEST and
+sends its output to the client. It also sets up simple error handling
+for the request handler."))
-Like PROCESS-CONNECTION, this might be a good place to introduce
-around methods which bind special variables or do other interesting
-things.
-
-The return value of this function is ignored."))
-
(defun convert-hack (string external-format)
"The rfc2388 package is buggy in that it operates on a character
stream and thus only accepts encodings which are 8 bit transparent.
@@ -210,6 +211,12 @@
;; we assume it's not our fault...
(setf (return-code*) +http-bad-request+)))))
+(defmethod dispatch-request (request)
+ "Standard implementation of dispatching a request to the appropriate
+handler."
+ (funcall (acceptor-request-dispatcher *acceptor*)
+ request))
+
(defmethod process-request (request)
"Standard implementation for processing a request. You should not
change or replace this functionality unless you know what you're
@@ -227,7 +234,7 @@
;; skip dispatch if bad request
(when (eql (return-code *reply*) +http-ok+)
;; now do the work
- (funcall (acceptor-request-dispatcher *acceptor*) *request*)))))
+ (dispatch-request request)))))
(when error
(setf (return-code *reply*)
+http-internal-server-error+))
Revision: 4472
Author: edi
URL: http://bknr.net/trac/changeset/4472
Changes for 0.5.7 release
U trunk/thirdparty/cl-gd/CHANGELOG
U trunk/thirdparty/cl-gd/cl-gd-glue.c
U trunk/thirdparty/cl-gd/cl-gd-test.asd
U trunk/thirdparty/cl-gd/cl-gd-test.lisp
U trunk/thirdparty/cl-gd/cl-gd.asd
U trunk/thirdparty/cl-gd/colors-aux.lisp
U trunk/thirdparty/cl-gd/colors.lisp
U trunk/thirdparty/cl-gd/doc/index.html
U trunk/thirdparty/cl-gd/drawing.lisp
U trunk/thirdparty/cl-gd/gd-uffi.lisp
U trunk/thirdparty/cl-gd/images.lisp
U trunk/thirdparty/cl-gd/init.lisp
U trunk/thirdparty/cl-gd/misc.lisp
U trunk/thirdparty/cl-gd/specials.lisp
U trunk/thirdparty/cl-gd/strings.lisp
U trunk/thirdparty/cl-gd/transform.lisp
U trunk/thirdparty/cl-gd/util.lisp
Modified: trunk/thirdparty/cl-gd/CHANGELOG
===================================================================
--- trunk/thirdparty/cl-gd/CHANGELOG 2009-11-16 07:14:00 UTC (rev 4471)
+++ trunk/thirdparty/cl-gd/CHANGELOG 2009-11-23 17:16:56 UTC (rev 4472)
@@ -1,10 +1,15 @@
+Version 0.5.7
+2009-11-22
+Changes WITH-TRANSFORMATIONS so that SBCL doesn't complain (Jeff Cunningham)
+Fixed typo in documentation (caught by J.P. Larocque)
+
Version 0.5.6
2007-07-29
-Make WITH-TRANSFORMATIONS thread-safe (thanks to Alain Picard)
+Made WITH-TRANSFORMATIONS thread-safe (thanks to Alain Picard)
Version 0.5.5
2007-04-24
-Ugh, fix the fix once more (again thanks to Jong-won Choi)
+Ugh, fixed the fix once more (again thanks to Jong-won Choi)
Version 0.5.4
2007-04-06
@@ -16,7 +21,7 @@
Version 0.5.2
2007-02-28
-Fix CONVERT-TO-CHAR-REFERENCES (bug caught by Luo Yong)
+Fixed CONVERT-TO-CHAR-REFERENCES (bug caught by Luo Yong)
Documentation fixes (thanks to Yoni Rabkin Katzenell)
Version 0.5.1
Modified: trunk/thirdparty/cl-gd/cl-gd-glue.c
===================================================================
--- trunk/thirdparty/cl-gd/cl-gd-glue.c 2009-11-16 07:14:00 UTC (rev 4471)
+++ trunk/thirdparty/cl-gd/cl-gd-glue.c 2009-11-23 17:16:56 UTC (rev 4472)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2003-2007, Dr. Edmund Weitz. All rights reserved.
+/* Copyright (c) 2003-2009, Dr. Edmund Weitz. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
Modified: trunk/thirdparty/cl-gd/cl-gd-test.asd
===================================================================
--- trunk/thirdparty/cl-gd/cl-gd-test.asd 2009-11-16 07:14:00 UTC (rev 4471)
+++ trunk/thirdparty/cl-gd/cl-gd-test.asd 2009-11-23 17:16:56 UTC (rev 4472)
@@ -1,7 +1,7 @@
;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-USER; Base: 10 -*-
-;;; $Header: /usr/local/cvsrep/gd/cl-gd-test.asd,v 1.11 2007/01/01 23:41:00 edi Exp $
+;;; $Header: /usr/local/cvsrep/gd/cl-gd-test.asd,v 1.12 2009/11/23 17:05:38 edi Exp $
-;;; Copyright (c) 2003-2007, Dr. Edmund Weitz. All rights reserved.
+;;; Copyright (c) 2003-2009, Dr. Edmund Weitz. All rights reserved.
;;; Redistribution and use in source and binary forms, with or without
;;; modification, are permitted provided that the following conditions
Modified: trunk/thirdparty/cl-gd/cl-gd-test.lisp
===================================================================
--- trunk/thirdparty/cl-gd/cl-gd-test.lisp 2009-11-16 07:14:00 UTC (rev 4471)
+++ trunk/thirdparty/cl-gd/cl-gd-test.lisp 2009-11-23 17:16:56 UTC (rev 4472)
@@ -1,7 +1,7 @@
;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-GD; Base: 10 -*-
-;;; $Header: /usr/local/cvsrep/gd/cl-gd-test.lisp,v 1.26 2007/01/01 23:41:00 edi Exp $
+;;; $Header: /usr/local/cvsrep/gd/cl-gd-test.lisp,v 1.27 2009/11/23 17:05:38 edi Exp $
-;;; Copyright (c) 2003-2007, Dr. Edmund Weitz. All rights reserved.
+;;; Copyright (c) 2003-2009, Dr. Edmund Weitz. All rights reserved.
;;; Redistribution and use in source and binary forms, with or without
;;; modification, are permitted provided that the following conditions
Modified: trunk/thirdparty/cl-gd/cl-gd.asd
===================================================================
--- trunk/thirdparty/cl-gd/cl-gd.asd 2009-11-16 07:14:00 UTC (rev 4471)
+++ trunk/thirdparty/cl-gd/cl-gd.asd 2009-11-23 17:16:56 UTC (rev 4472)
@@ -1,7 +1,7 @@
;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-USER; Base: 10 -*-
-;;; $Header: /usr/local/cvsrep/gd/cl-gd.asd,v 1.18 2007/07/29 16:37:13 edi Exp $
+;;; $Header: /usr/local/cvsrep/gd/cl-gd.asd,v 1.20 2009/11/23 17:05:38 edi Exp $
-;;; Copyright (c) 2003-2007, Dr. Edmund Weitz. All rights reserved.
+;;; Copyright (c) 2003-2009, Dr. Edmund Weitz. All rights reserved.
;;; Redistribution and use in source and binary forms, with or without
;;; modification, are permitted provided that the following conditions
@@ -40,7 +40,7 @@
:defaults (parse-namestring *load-truename*)))
(defsystem :cl-gd
- :version "0.5.6"
+ :version "0.5.7"
:serial t
:components ((:file "packages")
(:file "util")
@@ -54,5 +54,5 @@
(:file "drawing")
(:file "strings")
(:file "misc"))
- :depends-on (#-clisp :uffi
- #+clisp :cffi-uffi-compat))
+ :depends-on (#-(or :clisp :openmcl) :uffi
+ #+(or :clisp :openmcl) :cffi-uffi-compat))
Modified: trunk/thirdparty/cl-gd/colors-aux.lisp
===================================================================
--- trunk/thirdparty/cl-gd/colors-aux.lisp 2009-11-16 07:14:00 UTC (rev 4471)
+++ trunk/thirdparty/cl-gd/colors-aux.lisp 2009-11-23 17:16:56 UTC (rev 4472)
@@ -1,7 +1,7 @@
;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-GD; Base: 10 -*-
-;;; $Header: /usr/local/cvsrep/gd/colors-aux.lisp,v 1.12 2007/01/01 23:41:00 edi Exp $
+;;; $Header: /usr/local/cvsrep/gd/colors-aux.lisp,v 1.13 2009/11/23 17:05:38 edi Exp $
-;;; Copyright (c) 2003-2007, Dr. Edmund Weitz. All rights reserved.
+;;; Copyright (c) 2003-2009, Dr. Edmund Weitz. All rights reserved.
;;; Redistribution and use in source and binary forms, with or without
;;; modification, are permitted provided that the following conditions
Modified: trunk/thirdparty/cl-gd/colors.lisp
===================================================================
--- trunk/thirdparty/cl-gd/colors.lisp 2009-11-16 07:14:00 UTC (rev 4471)
+++ trunk/thirdparty/cl-gd/colors.lisp 2009-11-23 17:16:56 UTC (rev 4472)
@@ -1,7 +1,7 @@
;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-GD; Base: 10 -*-
-;;; $Header: /usr/local/cvsrep/gd/colors.lisp,v 1.25 2007/01/01 23:41:00 edi Exp $
+;;; $Header: /usr/local/cvsrep/gd/colors.lisp,v 1.26 2009/11/23 17:05:38 edi Exp $
-;;; Copyright (c) 2003-2007, Dr. Edmund Weitz. All rights reserved.
+;;; Copyright (c) 2003-2009, Dr. Edmund Weitz. All rights reserved.
;;; Redistribution and use in source and binary forms, with or without
;;; modification, are permitted provided that the following conditions
Modified: trunk/thirdparty/cl-gd/doc/index.html
===================================================================
--- trunk/thirdparty/cl-gd/doc/index.html 2009-11-16 07:14:00 UTC (rev 4471)
+++ trunk/thirdparty/cl-gd/doc/index.html 2009-11-23 17:16:56 UTC (rev 4472)
@@ -203,7 +203,7 @@
CL-GD together with this documentation can be downloaded from <a
href="http://weitz.de/files/cl-gd.tar.gz">http://weitz.de/files/cl-gd.tar.gz</a>. The
-current version is 0.5.6. A <a href="http://packages.debian.org/cgi-bin/search_packages.pl?keywords=cl-gd&se…">Debian package</a> is available thanks to <a href="http://pvaneynd.mailworks.org/">Peter van Eynde</a> and <a href="http://b9.com/">Kevin Rosenberg</a>, so if you're on Debian you should have no problems installing CL-GD. There's also a port
+current version is 0.5.7. A <a href="http://packages.debian.org/cgi-bin/search_packages.pl?keywords=cl-gd&se…">Debian package</a> is available thanks to <a href="http://pvaneynd.mailworks.org/">Peter van Eynde</a> and <a href="http://b9.com/">Kevin Rosenberg</a>, so if you're on Debian you should have no problems installing CL-GD. There's also a port
for <a href="http://www.gentoo.org/proj/en/common-lisp/index.xml">Gentoo Linux</a> thanks to Matthew Kennedy. Otherwise, proceed like this:
<ul>
<li>Download and install a recent version of <a href="http://www.cliki.net/asdf">asdf</a>.
@@ -618,7 +618,7 @@
</blockquote>
<p><br>[Function]
-<br><a class=none name="color-component"><b>color-component</b> <i>color component <tt>&key</tt> image</i> => <i>component</i></a>
+<br><a class=none name="color-component"><b>color-component</b> <i>component color <tt>&key</tt> image</i> => <i>component</i></a>
<blockquote><br>
Returns the specified color component of <code><i>color</i></code>. <code><i>component</i></code> can be
@@ -1434,7 +1434,7 @@
Hübner</a> for the GIF patches. Thanks to <a href='http://bl0rg.net/'>Manuel Odendahl</a> for lots of useful patches.
Thanks to Luis Oliveira for CLISP/CFFI support and to Bryan O'Connor for OpenMCL support.
<p>
-$Header: /usr/local/cvsrep/gd/doc/index.html,v 1.75 2007/07/29 16:37:15 edi Exp $
+$Header: /usr/local/cvsrep/gd/doc/index.html,v 1.77 2009/11/23 17:04:47 edi Exp $
<p><a href="http://weitz.de/index.html">BACK TO MY HOMEPAGE</a>
</body>
Modified: trunk/thirdparty/cl-gd/drawing.lisp
===================================================================
--- trunk/thirdparty/cl-gd/drawing.lisp 2009-11-16 07:14:00 UTC (rev 4471)
+++ trunk/thirdparty/cl-gd/drawing.lisp 2009-11-23 17:16:56 UTC (rev 4472)
@@ -1,7 +1,7 @@
;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-GD; Base: 10 -*-
-;;; $Header: /usr/local/cvsrep/gd/drawing.lisp,v 1.28 2007/01/01 23:41:00 edi Exp $
+;;; $Header: /usr/local/cvsrep/gd/drawing.lisp,v 1.29 2009/11/23 17:05:38 edi Exp $
-;;; Copyright (c) 2003-2007, Dr. Edmund Weitz. All rights reserved.
+;;; Copyright (c) 2003-2009, Dr. Edmund Weitz. All rights reserved.
;;; Redistribution and use in source and binary forms, with or without
;;; modification, are permitted provided that the following conditions
Modified: trunk/thirdparty/cl-gd/gd-uffi.lisp
===================================================================
--- trunk/thirdparty/cl-gd/gd-uffi.lisp 2009-11-16 07:14:00 UTC (rev 4471)
+++ trunk/thirdparty/cl-gd/gd-uffi.lisp 2009-11-23 17:16:56 UTC (rev 4472)
@@ -1,7 +1,7 @@
;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-GD; Base: 10 -*-
-;;; $Header: /usr/local/cvsrep/gd/gd-uffi.lisp,v 1.32 2007/04/05 23:22:24 edi Exp $
+;;; $Header: /usr/local/cvsrep/gd/gd-uffi.lisp,v 1.33 2009/11/23 17:05:39 edi Exp $
-;;; Copyright (c) 2003-2007, Dr. Edmund Weitz. All rights reserved.
+;;; Copyright (c) 2003-2009, Dr. Edmund Weitz. All rights reserved.
;;; Redistribution and use in source and binary forms, with or without
;;; modification, are permitted provided that the following conditions
Modified: trunk/thirdparty/cl-gd/images.lisp
===================================================================
--- trunk/thirdparty/cl-gd/images.lisp 2009-11-16 07:14:00 UTC (rev 4471)
+++ trunk/thirdparty/cl-gd/images.lisp 2009-11-23 17:16:56 UTC (rev 4472)
@@ -1,7 +1,7 @@
;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-GD; Base: 10 -*-
-;;; $Header: /usr/local/cvsrep/gd/images.lisp,v 1.33 2007/01/01 23:41:00 edi Exp $
+;;; $Header: /usr/local/cvsrep/gd/images.lisp,v 1.34 2009/11/23 17:05:39 edi Exp $
-;;; Copyright (c) 2003-2007, Dr. Edmund Weitz. All rights reserved.
+;;; Copyright (c) 2003-2009, Dr. Edmund Weitz. All rights reserved.
;;; Redistribution and use in source and binary forms, with or without
;;; modification, are permitted provided that the following conditions
@@ -86,8 +86,7 @@
FILE-NAME. You are responsible for destroying the image after you're
done with it. It is advisable to use WITH-IMAGE-FROM-FILE instead."
(check-type file-name (or pathname string))
- (let* ((file-name (truename file-name))
- (pathname-type (pathname-type file-name))
+ (let* ((pathname-type (pathname-type file-name))
(%type (or type
(cond ((or (string-equal pathname-type "jpg")
(string-equal pathname-type "jpeg"))
Modified: trunk/thirdparty/cl-gd/init.lisp
===================================================================
--- trunk/thirdparty/cl-gd/init.lisp 2009-11-16 07:14:00 UTC (rev 4471)
+++ trunk/thirdparty/cl-gd/init.lisp 2009-11-23 17:16:56 UTC (rev 4472)
@@ -1,7 +1,7 @@
;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-GD; Base: 10 -*-
-;;; $Header: /usr/local/cvsrep/gd/init.lisp,v 1.12 2007/01/01 23:41:00 edi Exp $
+;;; $Header: /usr/local/cvsrep/gd/init.lisp,v 1.13 2009/11/23 17:05:39 edi Exp $
-;;; Copyright (c) 2003-2007, Dr. Edmund Weitz. All rights reserved.
+;;; Copyright (c) 2003-2009, Dr. Edmund Weitz. All rights reserved.
;;; Redistribution and use in source and binary forms, with or without
;;; modification, are permitted provided that the following conditions
Modified: trunk/thirdparty/cl-gd/misc.lisp
===================================================================
--- trunk/thirdparty/cl-gd/misc.lisp 2009-11-16 07:14:00 UTC (rev 4471)
+++ trunk/thirdparty/cl-gd/misc.lisp 2009-11-23 17:16:56 UTC (rev 4472)
@@ -1,7 +1,7 @@
;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-GD; Base: 10 -*-
-;;; $Header: /usr/local/cvsrep/gd/misc.lisp,v 1.15 2007/01/01 23:41:00 edi Exp $
+;;; $Header: /usr/local/cvsrep/gd/misc.lisp,v 1.16 2009/11/23 17:05:39 edi Exp $
-;;; Copyright (c) 2003-2007, Dr. Edmund Weitz. All rights reserved.
+;;; Copyright (c) 2003-2009, Dr. Edmund Weitz. All rights reserved.
;;; Redistribution and use in source and binary forms, with or without
;;; modification, are permitted provided that the following conditions
@@ -220,12 +220,12 @@
(let ((,raw-pixels (get-slot-value ,img 'gd-image 'pixels)))
(declare (type pixels-array ,raw-pixels))
(dotimes (,y-var ,height)
- (let ((,row (deref-array ,raw-pixels '(:array (* :unsigned-byte)) ,y-var)))
+ (let ((,row (deref-array ,raw-pixels '(:array (* :unsigned-char)) ,y-var)))
(declare (type pixels-row ,row))
(macrolet ((do-pixels-in-row ((,x-var) &body ,inner-body)
`(dotimes (,,x-var ,',width)
(macrolet ((raw-pixel ()
- `(deref-array ,',',row '(:array :unsigned-byte) ,',,x-var)))
+ `(deref-array ,',',row '(:array :unsigned-char) ,',,x-var)))
(locally
,@,inner-body)))))
(locally
Modified: trunk/thirdparty/cl-gd/specials.lisp
===================================================================
--- trunk/thirdparty/cl-gd/specials.lisp 2009-11-16 07:14:00 UTC (rev 4471)
+++ trunk/thirdparty/cl-gd/specials.lisp 2009-11-23 17:16:56 UTC (rev 4472)
@@ -1,7 +1,7 @@
;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-GD; Base: 10 -*-
-;;; $Header: /usr/local/cvsrep/gd/specials.lisp,v 1.29 2007/01/01 23:41:00 edi Exp $
+;;; $Header: /usr/local/cvsrep/gd/specials.lisp,v 1.30 2009/11/23 17:05:39 edi Exp $
-;;; Copyright (c) 2003-2007, Dr. Edmund Weitz. All rights reserved.
+;;; Copyright (c) 2003-2009, Dr. Edmund Weitz. All rights reserved.
;;; Redistribution and use in source and binary forms, with or without
;;; modification, are permitted provided that the following conditions
Modified: trunk/thirdparty/cl-gd/strings.lisp
===================================================================
--- trunk/thirdparty/cl-gd/strings.lisp 2009-11-16 07:14:00 UTC (rev 4471)
+++ trunk/thirdparty/cl-gd/strings.lisp 2009-11-23 17:16:56 UTC (rev 4472)
@@ -1,7 +1,7 @@
;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-GD; Base: 10 -*-
-;;; $Header: /usr/local/cvsrep/gd/strings.lisp,v 1.23 2007/04/24 09:01:39 edi Exp $
+;;; $Header: /usr/local/cvsrep/gd/strings.lisp,v 1.24 2009/11/23 17:05:39 edi Exp $
-;;; Copyright (c) 2003-2007, Dr. Edmund Weitz. All rights reserved.
+;;; Copyright (c) 2003-2009, Dr. Edmund Weitz. All rights reserved.
;;; Redistribution and use in source and binary forms, with or without
;;; modification, are permitted provided that the following conditions
Modified: trunk/thirdparty/cl-gd/transform.lisp
===================================================================
--- trunk/thirdparty/cl-gd/transform.lisp 2009-11-16 07:14:00 UTC (rev 4471)
+++ trunk/thirdparty/cl-gd/transform.lisp 2009-11-23 17:16:56 UTC (rev 4472)
@@ -1,7 +1,7 @@
;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-GD; Base: 10 -*-
-;;; $Header: /usr/local/cvsrep/gd/transform.lisp,v 1.21 2007/07/29 16:37:13 edi Exp $
+;;; $Header: /usr/local/cvsrep/gd/transform.lisp,v 1.23 2009/11/23 17:05:39 edi Exp $
-;;; Copyright (c) 2003-2007, Dr. Edmund Weitz. All rights reserved.
+;;; Copyright (c) 2003-2009, Dr. Edmund Weitz. All rights reserved.
;;; Redistribution and use in source and binary forms, with or without
;;; modification, are permitted provided that the following conditions
@@ -72,7 +72,10 @@
"Like ROUND but make sure result isn't longer than 32 bits."
(mod (round x) +most-positive-unsigned-byte-32+))
-(defmacro with-transformation ((&key x1 x2 width y1 y2 height reverse-x reverse-y (radians t) (image '*default-image*)) &body body)
+(defmacro with-transformation ((&key (x1 0 x1set) (x2 0 x2set) (width 0 wset)
+ (y1 0 y1set) (y2 0 y2set) (height 0 hset)
+ reverse-x reverse-y (radians t) (image '*default-image*))
+ &body body)
"Executes BODY such that all points and width/height data are
subject to a simple affine transformation defined by the keyword
parameters. The new x-axis of IMAGE will start at X1 and end at X2 and
@@ -93,24 +96,19 @@
angle-transformer)
;; rebind for thread safety
`(let ((*transformers* *transformers*))
- (unless (<= 2 (count-if #'identity (list ,x1 ,x2 ,width)))
- (error "You must provide at least two of X1, X2, and WIDTH."))
- (unless (<= 2 (count-if #'identity (list ,y1 ,y2 ,height)))
- (error "You must provide at least two of Y1, Y2, and HEIGHT."))
- (when (and ,x1 ,x2 ,width
- (/= ,width (- ,x2 ,x1)))
- (error "X1, X2, and WIDTH don't match. Try to provide just two of the three arguments."))
- (when (and ,y1 ,y2 ,height
- (/= ,height (- ,y2 ,y1)))
- (error "Y1, Y2, and HEIGHT don't match. Try to provide just two of the three arguments."))
- ;; kludgy code to keep SBCL quiet
- (unless ,x1 (setq ,x1 (- ,x2 ,width)))
- (unless ,x2 (setq ,x2 (+ ,x1 ,width)))
- (unless ,width (setq ,width (- ,x2 ,x1)))
- (unless ,y1 (setq ,y1 (- ,y2 ,height)))
- (unless ,y2 (setq ,y2 (+ ,y1 ,height)))
- (unless ,height (setq ,height (- ,y2 ,y1)))
- (multiple-value-bind (,image-width ,image-height)
+ (macrolet ((checkargs (a1 a1set a2 a2set aspan aspanset c lbl)
+ `(progn
+ (cond ((and ,a1set ,a2set) (setq ,aspan (- ,a2 ,a1)))
+ ((and ,a1set ,aspanset) (setq ,a2 (+ ,a1 ,aspan)))
+ ((and ,a2set ,aspanset) (setq ,a1 (- ,a2 ,aspan)))
+ (t (error "Two of ~c1, ~:*~c2, or ~a must be provided." ,c ,lbl)))
+ (unless (> ,aspan 0)
+ (error "~c1 must be smaller than ~:*~c2." ,c))
+ (unless (< (abs (/ (- ,a2 (+ ,a1 ,aspan)) ,aspan)) 1.e-5)
+ (error "~c1, ~:*~c2, and ~a don't match. Try to provide just two of the three arguments." ,c ,lbl)))))
+ (checkargs ,x1 ,x1set ,x2 ,x2set ,width ,wset #\x "width")
+ (checkargs ,y1 ,y1set ,y2 ,y2set ,height ,hset #\y "height"))
+ (multiple-value-bind (,image-width ,image-height)
(without-transformations
(image-size ,image))
(let* ((,stretch-x (/ ,image-width ,width))
Modified: trunk/thirdparty/cl-gd/util.lisp
===================================================================
--- trunk/thirdparty/cl-gd/util.lisp 2009-11-16 07:14:00 UTC (rev 4471)
+++ trunk/thirdparty/cl-gd/util.lisp 2009-11-23 17:16:56 UTC (rev 4472)
@@ -1,7 +1,7 @@
;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-GD; Base: 10 -*-
-;;; $Header: /usr/local/cvsrep/gd/util.lisp,v 1.15 2007/02/28 15:47:58 edi Exp $
+;;; $Header: /usr/local/cvsrep/gd/util.lisp,v 1.16 2009/11/23 17:05:39 edi Exp $
-;;; Copyright (c) 2003-2007, Dr. Edmund Weitz. All rights reserved.
+;;; Copyright (c) 2003-2009, Dr. Edmund Weitz. All rights reserved.
;;; Redistribution and use in source and binary forms, with or without
;;; modification, are permitted provided that the following conditions
Revision: 4471
Author: edi
URL: http://bknr.net/trac/changeset/4471
Use abort-request-handler
U trunk/thirdparty/cl-webdav/doc/index.html
U trunk/thirdparty/cl-webdav/handlers.lisp
U trunk/thirdparty/cl-webdav/util.lisp
Modified: trunk/thirdparty/cl-webdav/doc/index.html
===================================================================
--- trunk/thirdparty/cl-webdav/doc/index.html 2009-11-16 07:04:07 UTC (rev 4470)
+++ trunk/thirdparty/cl-webdav/doc/index.html 2009-11-16 07:14:00 UTC (rev 4471)
@@ -724,10 +724,9 @@
allowed. If <code><i>root-name</i></code> is given, it should be the
local name (a string) of a DAV node. In this case, the XML is
validated. This function is expected to be called from within a
-Hunchentoot request and throws to
-the <a
-href="http://weitz.de/hunchentoot/#handler-done"><code>HANDLER-DONE</code></a>
-tag with a return code of
+Hunchentoot request and
+calls <a href="http://weitz.de/hunchentoot/#abort-request-handler"><code>ABORT-REQUEST-HANDLER</code></a>
+with a return code of
<a href="http://weitz.de/hunchentoot/#+http-bad-request+"><code>+HTTP-BAD-REQUEST+</code></a> if a parsing error occurs or if the XML is
invalid.
<p>
Modified: trunk/thirdparty/cl-webdav/handlers.lisp
===================================================================
--- trunk/thirdparty/cl-webdav/handlers.lisp 2009-11-16 07:04:07 UTC (rev 4470)
+++ trunk/thirdparty/cl-webdav/handlers.lisp 2009-11-16 07:14:00 UTC (rev 4471)
@@ -174,12 +174,10 @@
(setf (header-out :etag) etag))
(when content-language
(setf (header-out :content-language) content-language))
- (catch 'handler-done
- (handle-if-modified-since write-date)
- (when (equal etag (header-in* :if-none-match))
- (setf (return-code) +http-not-modified+)))
- (when (eql (return-code) +http-not-modified+)
- (throw 'handler-done nil))
+ (handle-if-modified-since write-date)
+ (when (equal etag (header-in* :if-none-match))
+ (setf (return-code) +http-not-modified+)
+ (abort-request-handler))
(setf (header-out :last-modified) (rfc-1123-date write-date)
(content-length) (resource-length resource))
(unless head-request-p
@@ -199,7 +197,7 @@
instead."
(unless results
(setf (return-code) default-return-code)
- (throw 'handler-done nil))
+ (abort-request-handler))
(setf (content-type) "text/xml; charset=utf-8"
(return-code) +http-multi-status+)
;; use a hash table to group by status code
Modified: trunk/thirdparty/cl-webdav/util.lisp
===================================================================
--- trunk/thirdparty/cl-webdav/util.lisp 2009-11-16 07:04:07 UTC (rev 4470)
+++ trunk/thirdparty/cl-webdav/util.lisp 2009-11-16 07:14:00 UTC (rev 4471)
@@ -30,14 +30,14 @@
(in-package :cl-webdav)
(defmacro define-return-code-shortcut (name return-code)
- "Defines a function called NAME which just sets the HTTP return
-code to RETURN-CODE and then ends the current handler by throwing
-NIL to the catch tag HANDLER-DONE."
+ "Defines a function called NAME which just sets the HTTP return code
+to RETURN-CODE and then ends the current handler by calling
+ABORT-REQUEST-HANDLER."
`(defun ,name ()
- ,(format nil "Sets RETURN-CODE to ~A and then throws NIL to
-the HANDLER-DONE catch tag." return-code)
+ ,(format nil "Sets RETURN-CODE to ~A and then calls ABORT-REQUEST-HANDLER."
+ return-code)
(setf (return-code) ,return-code)
- (throw 'handler-done nil)))
+ (abort-request-handler)))
(define-return-code-shortcut not-implemented +http-not-implemented+)
(define-return-code-shortcut bad-request +http-bad-request+)
Revision: 4470
Author: edi
URL: http://bknr.net/trac/changeset/4470
Copyright update
U trunk/thirdparty/cl-webdav/authorized-file-resources.lisp
U trunk/thirdparty/cl-webdav/cl-webdav.asd
U trunk/thirdparty/cl-webdav/file-resources.lisp
U trunk/thirdparty/cl-webdav/handlers.lisp
U trunk/thirdparty/cl-webdav/packages.lisp
U trunk/thirdparty/cl-webdav/properties.lisp
U trunk/thirdparty/cl-webdav/resources.lisp
U trunk/thirdparty/cl-webdav/specials.lisp
U trunk/thirdparty/cl-webdav/util.lisp
U trunk/thirdparty/cl-webdav/xml.lisp
Modified: trunk/thirdparty/cl-webdav/authorized-file-resources.lisp
===================================================================
--- trunk/thirdparty/cl-webdav/authorized-file-resources.lisp 2009-11-16 07:03:10 UTC (rev 4469)
+++ trunk/thirdparty/cl-webdav/authorized-file-resources.lisp 2009-11-16 07:04:07 UTC (rev 4470)
@@ -1,7 +1,7 @@
;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-WEBDAV; Base: 10 -*-
;;; $Header: /usr/local/cvsrep/cl-webdav/authorized-file-resources.lisp,v 1.7 2007/04/18 19:21:00 edi Exp $
-;;; Copyright (c) 2007-2008, Dr. Edmund Weitz. All rights reserved.
+;;; Copyright (c) 2007-2009, Dr. Edmund Weitz. All rights reserved.
;;; Redistribution and use in source and binary forms, with or without
;;; modification, are permitted provided that the following conditions
Modified: trunk/thirdparty/cl-webdav/cl-webdav.asd
===================================================================
--- trunk/thirdparty/cl-webdav/cl-webdav.asd 2009-11-16 07:03:10 UTC (rev 4469)
+++ trunk/thirdparty/cl-webdav/cl-webdav.asd 2009-11-16 07:04:07 UTC (rev 4470)
@@ -1,7 +1,7 @@
;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-USER; Base: 10 -*-
;;; $Header: /usr/local/cvsrep/cl-webdav/cl-webdav.asd,v 1.7 2007/10/21 21:20:56 edi Exp $
-;;; Copyright (c) 2007-2008, Dr. Edmund Weitz. All rights reserved.
+;;; Copyright (c) 2007-2009, Dr. Edmund Weitz. All rights reserved.
;;; Redistribution and use in source and binary forms, with or without
;;; modification, are permitted provided that the following conditions
Modified: trunk/thirdparty/cl-webdav/file-resources.lisp
===================================================================
--- trunk/thirdparty/cl-webdav/file-resources.lisp 2009-11-16 07:03:10 UTC (rev 4469)
+++ trunk/thirdparty/cl-webdav/file-resources.lisp 2009-11-16 07:04:07 UTC (rev 4470)
@@ -1,7 +1,7 @@
;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-WEBDAV; Base: 10 -*-
;;; $Header: /usr/local/cvsrep/cl-webdav/file-resources.lisp,v 1.7 2007/04/18 19:21:00 edi Exp $
-;;; Copyright (c) 2007-2008, Dr. Edmund Weitz. All rights reserved.
+;;; Copyright (c) 2007-2009, Dr. Edmund Weitz. All rights reserved.
;;; Redistribution and use in source and binary forms, with or without
;;; modification, are permitted provided that the following conditions
Modified: trunk/thirdparty/cl-webdav/handlers.lisp
===================================================================
--- trunk/thirdparty/cl-webdav/handlers.lisp 2009-11-16 07:03:10 UTC (rev 4469)
+++ trunk/thirdparty/cl-webdav/handlers.lisp 2009-11-16 07:04:07 UTC (rev 4470)
@@ -1,7 +1,7 @@
;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-WEBDAV; Base: 10 -*-
;;; $Header: /usr/local/cvsrep/cl-webdav/handlers.lisp,v 1.13 2007/05/19 22:34:35 edi Exp $
-;;; Copyright (c) 2007-2008, Dr. Edmund Weitz. All rights reserved.
+;;; Copyright (c) 2007-2009, Dr. Edmund Weitz. All rights reserved.
;;; Redistribution and use in source and binary forms, with or without
;;; modification, are permitted provided that the following conditions
Modified: trunk/thirdparty/cl-webdav/packages.lisp
===================================================================
--- trunk/thirdparty/cl-webdav/packages.lisp 2009-11-16 07:03:10 UTC (rev 4469)
+++ trunk/thirdparty/cl-webdav/packages.lisp 2009-11-16 07:04:07 UTC (rev 4470)
@@ -1,7 +1,7 @@
;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-USER; Base: 10 -*-
;;; $Header: /usr/local/cvsrep/cl-webdav/packages.lisp,v 1.16 2007/04/18 19:49:32 edi Exp $
-;;; Copyright (c) 2007-2008, Dr. Edmund Weitz. All rights reserved.
+;;; Copyright (c) 2007-2009, Dr. Edmund Weitz. All rights reserved.
;;; Redistribution and use in source and binary forms, with or without
;;; modification, are permitted provided that the following conditions
Modified: trunk/thirdparty/cl-webdav/properties.lisp
===================================================================
--- trunk/thirdparty/cl-webdav/properties.lisp 2009-11-16 07:03:10 UTC (rev 4469)
+++ trunk/thirdparty/cl-webdav/properties.lisp 2009-11-16 07:04:07 UTC (rev 4470)
@@ -1,7 +1,7 @@
;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-WEBDAV; Base: 10 -*-
;;; $Header: /usr/local/cvsrep/cl-webdav/properties.lisp,v 1.9 2008/06/25 08:04:25 edi Exp $
-;;; Copyright (c) 2007-2008, Dr. Edmund Weitz. All rights reserved.
+;;; Copyright (c) 2007-2009, Dr. Edmund Weitz. All rights reserved.
;;; Redistribution and use in source and binary forms, with or without
;;; modification, are permitted provided that the following conditions
Modified: trunk/thirdparty/cl-webdav/resources.lisp
===================================================================
--- trunk/thirdparty/cl-webdav/resources.lisp 2009-11-16 07:03:10 UTC (rev 4469)
+++ trunk/thirdparty/cl-webdav/resources.lisp 2009-11-16 07:04:07 UTC (rev 4470)
@@ -1,7 +1,7 @@
;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-WEBDAV; Base: 10 -*-
;;; $Header: /usr/local/cvsrep/cl-webdav/resources.lisp,v 1.12 2007/04/18 19:21:00 edi Exp $
-;;; Copyright (c) 2007-2008, Dr. Edmund Weitz. All rights reserved.
+;;; Copyright (c) 2007-2009, Dr. Edmund Weitz. All rights reserved.
;;; Redistribution and use in source and binary forms, with or without
;;; modification, are permitted provided that the following conditions
Modified: trunk/thirdparty/cl-webdav/specials.lisp
===================================================================
--- trunk/thirdparty/cl-webdav/specials.lisp 2009-11-16 07:03:10 UTC (rev 4469)
+++ trunk/thirdparty/cl-webdav/specials.lisp 2009-11-16 07:04:07 UTC (rev 4470)
@@ -1,7 +1,7 @@
;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-WEBDAV; Base: 10 -*-
;;; $Header: /usr/local/cvsrep/cl-webdav/specials.lisp,v 1.10 2008/06/25 08:02:17 edi Exp $
-;;; Copyright (c) 2007-2008, Dr. Edmund Weitz. All rights reserved.
+;;; Copyright (c) 2007-2009, Dr. Edmund Weitz. All rights reserved.
;;; Redistribution and use in source and binary forms, with or without
;;; modification, are permitted provided that the following conditions
Modified: trunk/thirdparty/cl-webdav/util.lisp
===================================================================
--- trunk/thirdparty/cl-webdav/util.lisp 2009-11-16 07:03:10 UTC (rev 4469)
+++ trunk/thirdparty/cl-webdav/util.lisp 2009-11-16 07:04:07 UTC (rev 4470)
@@ -1,7 +1,7 @@
;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-WEBDAV; Base: 10 -*-
;;; $Header: /usr/local/cvsrep/cl-webdav/util.lisp,v 1.3 2007/04/17 07:42:08 edi Exp $
-;;; Copyright (c) 2007-2008, Dr. Edmund Weitz. All rights reserved.
+;;; Copyright (c) 2007-2009, Dr. Edmund Weitz. All rights reserved.
;;; Redistribution and use in source and binary forms, with or without
;;; modification, are permitted provided that the following conditions
Modified: trunk/thirdparty/cl-webdav/xml.lisp
===================================================================
--- trunk/thirdparty/cl-webdav/xml.lisp 2009-11-16 07:03:10 UTC (rev 4469)
+++ trunk/thirdparty/cl-webdav/xml.lisp 2009-11-16 07:04:07 UTC (rev 4470)
@@ -1,7 +1,7 @@
;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-WEBDAV; Base: 10 -*-
;;; $Header: /usr/local/cvsrep/cl-webdav/xml.lisp,v 1.10 2007/10/21 21:20:56 edi Exp $
-;;; Copyright (c) 2007-2008, Dr. Edmund Weitz. All rights reserved.
+;;; Copyright (c) 2007-2009, Dr. Edmund Weitz. All rights reserved.
;;; Redistribution and use in source and binary forms, with or without
;;; modification, are permitted provided that the following conditions
Revision: 4469
Author: edi
URL: http://bknr.net/trac/changeset/4469
More compatibility changes
U trunk/thirdparty/cl-webdav/CHANGELOG.txt
Modified: trunk/thirdparty/cl-webdav/CHANGELOG.txt
===================================================================
--- trunk/thirdparty/cl-webdav/CHANGELOG.txt 2009-11-15 19:42:18 UTC (rev 4468)
+++ trunk/thirdparty/cl-webdav/CHANGELOG.txt 2009-11-16 07:03:10 UTC (rev 4469)
@@ -1,3 +1,5 @@
+Changes to make CL-WEBDAV compatible with new Hunchentoot (Cyrus Harmon and Matthew Curry)
+
Version 0.1.2
2007-10-21
Made compatible with current CXML (patch by David Lichteblau)