X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=src.lisp;h=ee5f5adc0b9dff8b9a91feb394c96abde2e14ed3;hb=ef5afb9e5286c8e952d4344f019c1a636a717b97;hp=d39d32b249b127e83b6ff8925472923998bb95f1;hpb=1c768744300916893c359ccf18cfe2dbb55b3978;p=puri.git diff --git a/src.lisp b/src.lisp index d39d32b..ee5f5ad 100644 --- a/src.lisp +++ b/src.lisp @@ -21,12 +21,10 @@ ;; but without any warranty; without even the implied warranty of ;; merchantability or fitness for a particular purpose. See the GNU ;; Lesser General Public License for more details. -;; -;; $Id$ (defpackage #:puri (:use #:cl) - #-allegro (:nicknames #:net.uri) + #-(or allegro zacl) (:nicknames #:net.uri) (:export #:uri ; the type and a function #:uri-p @@ -356,16 +354,18 @@ (defparameter *excluded-characters* (append + ;; exclude control characters (loop for i from 0 to #x1f collect (code-char i)) '(;; `delims' (except #\%, because it's handled specially): #\< #\> #\" #\space #\# - + #\Rubout ;; (code-char #x7f) ;; `unwise': - #\{ #\} #\| #\\ #\^ #\[ #\] #\`))) + #\{ #\} #\| #\\ #\^ #\[ #\] #\`)) + "Excluded charcters from RFC2369 (http://www.ietf.org/rfc/rfc2396.txt 2.4.3)") (defun reserved-char-vector (chars &key except) - (do* ((a (make-array 127 :element-type 'bit :initial-element 0)) + (do* ((a (make-array 128 :element-type 'bit :initial-element 0)) (chars chars (cdr chars)) (c (car chars) (car chars))) ((null chars) a) @@ -383,7 +383,7 @@ (defparameter *reserved-path-characters* (reserved-char-vector (append *excluded-characters* - '(#\; + '(#\; #\% ;;;;The rfc says this should be here, but it doesn't make sense. ;; #\= #\/ #\?))))