[version 0.6.1 ediware**20070309060016] { hunk ./CHANGELOG.txt 1 +Version 0.6.1 +2006-03-08 +Changed SPLIT-STRING so that it doesn't rely on unspecified behaviour (reported by Jianshi Huang) + hunk ./CHANGELOG.txt 27 -Adher to user-provided content length if FORM-DATA is true +Adhere to user-provided content length if FORM-DATA is true hunk ./doc/index.html 636 -The current version is 0.6.0. Drakma can be installed +The current version is 0.6.1. Drakma can be installed hunk ./doc/index.html 662 +
+Luís Oliveira maintains a darcs
+repository of Drakma
+at http://common-lisp.net/~loliveira/ediware/.
hunk ./doc/index.html 797
+ ;; the following line is only needed if the receiving server doesn't accept
+ ;; chunked transfer encoding (like for example Apache 1.x)
+ :content-length t
hunk ./doc/index.html 856
-A non-NIL
content-length
argument
+A non-NIL
content-length
argument
hunk ./doc/index.html 1353
-$Header: /usr/local/cvsrep/drakma/doc/index.html,v 1.57 2007/02/08 14:35:00 edi Exp $
+$Header: /usr/local/cvsrep/drakma/doc/index.html,v 1.62 2007/03/08 19:32:03 edi Exp $
hunk ./drakma.asd 2
-;;; $Header: /usr/local/cvsrep/drakma/drakma.asd,v 1.30 2007/02/08 14:34:58 edi Exp $
+;;; $Header: /usr/local/cvsrep/drakma/drakma.asd,v 1.31 2007/03/08 19:32:01 edi Exp $
hunk ./drakma.asd 37
-(defvar *drakma-version-string* "0.6.0"
+(defvar *drakma-version-string* "0.6.1"
hunk ./util.lisp 2
-;;; $Header: /usr/local/cvsrep/drakma/util.lisp,v 1.29 2007/02/08 08:22:10 edi Exp $
+;;; $Header: /usr/local/cvsrep/drakma/util.lisp,v 1.30 2007/03/08 19:32:01 edi Exp $
hunk ./util.lisp 200
- "Splits STRING into substrings separated by the characters in the
-sequence SEPARATORS. Empty substrings aren't collected."
- (loop for char across string
- when (find char separators :test #'char=)
- when collector
- collect (coerce collector 'string) into result
- and do (setq collector nil) end
- else
- collect char into collector
- finally (return (if collector
- (append result (list (coerce collector 'string)))
- result))))
+ "Splits STRING into a list of substrings \(which is returned)
+separated by the characters in the sequence SEPARATORS. Empty
+substrings aren't collected."
+ (flet ((make-collector ()
+ (make-array 0
+ :adjustable t
+ :fill-pointer t
+ :element-type #+:lispworks 'lw:simple-char
+ #-:lispworks 'character)))
+ (loop with collector = (make-collector)
+ for char across string
+ for counter downfrom (1- (length string))
+ when (find char separators :test #'char=)
+ when (plusp (length collector))
+ collect collector
+ and do (setq collector (make-collector)) end
+ else
+ do (vector-push-extend char collector)
+ and when (zerop counter)
+ collect collector)))
}