From pscott at common-lisp.net Mon Aug 29 20:14:57 2005 From: pscott at common-lisp.net (Peter Scott) Date: Mon, 29 Aug 2005 22:14:57 +0200 (CEST) Subject: [cl-utilities-cvs] CVS update: cl-utilities/cl-utilities.asd cl-utilities/collecting.lisp cl-utilities/extremum.lisp cl-utilities/package.lisp cl-utilities/package.sh cl-utilities/split-sequence.lisp Message-ID: <20050829201457.0FB2188542@common-lisp.net> Update of /project/cl-utilities/cvsroot/cl-utilities In directory common-lisp.net:/tmp/cvs-serv4286 Modified Files: cl-utilities.asd collecting.lisp extremum.lisp package.lisp package.sh split-sequence.lisp Log Message: Added split-sequence, made slight changes, updated package.sh to match my current machine. Date: Mon Aug 29 22:14:47 2005 Author: pscott Index: cl-utilities/cl-utilities.asd diff -u cl-utilities/cl-utilities.asd:1.2 cl-utilities/cl-utilities.asd:1.3 --- cl-utilities/cl-utilities.asd:1.2 Thu May 26 22:10:56 2005 +++ cl-utilities/cl-utilities.asd Mon Aug 29 22:14:47 2005 @@ -8,6 +8,7 @@ (defsystem cl-utilities :author "Maintained by Peter Scott" :components ((:file "package") + (:file "split-sequence" :depends-on ("package")) (:file "extremum" :depends-on ("package" "with-unique-names" "once-only")) @@ -21,4 +22,6 @@ (:file "rotate-byte" :depends-on ("package")) (:file "copy-array" :depends-on ("package")) (:file "compose" :depends-on ("package"))) - :depends-on (split-sequence #+sbcl :sb-rotate-byte)) \ No newline at end of file + ;; On SBCL, we can speed up byte rotation by using its + ;; implementation of rotate-byte. + :depends-on (#+sbcl :sb-rotate-byte)) \ No newline at end of file Index: cl-utilities/collecting.lisp diff -u cl-utilities/collecting.lisp:1.2 cl-utilities/collecting.lisp:1.3 --- cl-utilities/collecting.lisp:1.2 Thu May 26 22:16:47 2005 +++ cl-utilities/collecting.lisp Mon Aug 29 22:14:47 2005 @@ -1,5 +1,5 @@ ;; Opinions differ on how a collection macro should work. There are -;; two main points for discussion: multiple collection variables and +;; two major points for discussion: multiple collection variables and ;; implementation method. ;; ;; There are two main ways of implementing collection: sticking Index: cl-utilities/extremum.lisp diff -u cl-utilities/extremum.lisp:1.6 cl-utilities/extremum.lisp:1.7 --- cl-utilities/extremum.lisp:1.6 Thu May 26 21:20:28 2005 +++ cl-utilities/extremum.lisp Mon Aug 29 22:14:47 2005 @@ -19,6 +19,7 @@ &optional (key #'identity)) (if (eql key #'identity) `(lambda (a b) + (declare (optimize (speed 3) (safety 0) (space 0) (debug 1))) (if (funcall ,test a b) a b)) whole)) Index: cl-utilities/package.lisp diff -u cl-utilities/package.lisp:1.2 cl-utilities/package.lisp:1.3 --- cl-utilities/package.lisp:1.2 Thu May 12 23:17:50 2005 +++ cl-utilities/package.lisp Mon Aug 29 22:14:47 2005 @@ -1,5 +1,5 @@ (defpackage :cl-utilities - (:use :common-lisp :split-sequence) + (:use :common-lisp) (:export #:split-sequence #:split-sequence-if #:split-sequence-if-not Index: cl-utilities/package.sh diff -u cl-utilities/package.sh:1.3 cl-utilities/package.sh:1.4 --- cl-utilities/package.sh:1.3 Thu May 26 22:29:24 2005 +++ cl-utilities/package.sh Mon Aug 29 22:14:47 2005 @@ -1,17 +1,17 @@ #!/bin/sh -mkdir cl-utilities-1.1 -cp cl-utilities.asd package.sh collecting.lisp expt-mod.lisp package.lisp split-sequence.lisp compose.lisp extremum.lisp read-delimited.lisp test.lisp copy-array.lisp once-only.lisp rotate-byte.lisp with-unique-names.lisp README cl-utilities-1.1/ +mkdir cl-utilities-1.1.1 +cp cl-utilities.asd package.sh collecting.lisp expt-mod.lisp package.lisp compose.lisp extremum.lisp read-delimited.lisp test.lisp copy-array.lisp once-only.lisp rotate-byte.lisp with-unique-names.lisp README cl-utilities-1.1.1/ rm -f cl-utilities-latest.tar.gz cl-utilities-latest.tar.gz.asc -tar -czvf cl-utilities-1.1.tar.gz cl-utilities-1.1/ -ln -s /root/lisp/cl-utilities/cl-utilities-1.1.tar.gz /root/lisp/cl-utilities/cl-utilities-latest.tar.gz -/usr/bin/xterm -e gpg -b -a /root/lisp/cl-utilities/cl-utilities-1.1.tar.gz -ln -s /root/lisp/cl-utilities/cl-utilities-1.1.tar.gz.asc /root/lisp/cl-utilities/cl-utilities-latest.tar.gz.asc -rm -Rf cl-utilities-1.1/ +tar -czvf cl-utilities-1.1.1.tar.gz cl-utilities-1.1.1/ +ln -s ~/hacking/lisp/cl-utilities/cl-utilities-1.1.1.tar.gz ~/hacking/lisp/cl-utilities/cl-utilities-latest.tar.gz +gpg -b -a ~/hacking/lisp/cl-utilities/cl-utilities-1.1.1.tar.gz +ln -s ~/hacking/lisp/cl-utilities/cl-utilities-1.1.1.tar.gz.asc ~/hacking/lisp/cl-utilities/cl-utilities-latest.tar.gz.asc +rm -Rf cl-utilities-1.1.1/ -scp cl-utilities-1.1.tar.gz pscott at common-lisp.net:/project/cl-utilities/public_html/cl-utilities-1.1.tar.gz -scp cl-utilities-1.1.tar.gz.asc pscott at common-lisp.net:/project/cl-utilities/public_html/cl-utilities-1.1.tar.gz.asc +scp cl-utilities-1.1.1.tar.gz pscott at common-lisp.net:/project/cl-utilities/public_html/cl-utilities-1.1.1.tar.gz +scp cl-utilities-1.1.1.tar.gz.asc pscott at common-lisp.net:/project/cl-utilities/public_html/cl-utilities-1.1.1.tar.gz.asc scp cl-utilities-latest.tar.gz pscott at common-lisp.net:/project/cl-utilities/public_html/cl-utilities-latest.tar.gz -scp cl-utilities-latest.tar.gz.asc pscott at common-lisp.net:/project/cl-utilities/public_html/cl-utilities-latest.tar.gz.asc \ No newline at end of file +scp cl-utilities-latest.tar.gz.asc pscott at common-lisp.net:/project/cl-utilities/public_html/cl-utilities-latest.tar.gz.asc Index: cl-utilities/split-sequence.lisp diff -u cl-utilities/split-sequence.lisp:1.1.1.1 cl-utilities/split-sequence.lisp:1.2 --- cl-utilities/split-sequence.lisp:1.1.1.1 Mon May 9 23:26:29 2005 +++ cl-utilities/split-sequence.lisp Mon Aug 29 22:14:47 2005 @@ -50,6 +50,13 @@ ;;; * (split-sequence #\; ";oo;bar;ba;" :start 1 :end 9) ;;; -> ("oo" "bar" "b"), 9 +;; cl-utilities note: the license of this file is unclear, and I don't +;; even know whom to contact to clarify it. If anybody objects to my +;; assumption that it is public domain, please contact me so I can do +;; something about it. Previously I required the split-sequence + ; package as a dependency, but that was so unwieldy that it was *the* +;; sore spot sticking out in the design of cl-utilities. -Peter Scott + (in-package :cl-utilities) (defun split-sequence (delimiter seq &key (count nil) (remove-empty-subseqs nil) (from-end nil) (start 0) (end nil) (test nil test-supplied) (test-not nil test-not-supplied) (key nil key-supplied)) @@ -168,7 +175,7 @@ of this function; :from-end values of NIL and T are equivalent unless :count is supplied. The second return value is an index suitable as an argument to CL:SUBSEQ into the sequence indicating where processing -stopped." +stopped." ; Emacs syntax highlighting is broken, and this helps: " (let ((len (length seq)) (other-keys (when key-supplied (list :key key)))) From pscott at common-lisp.net Mon Aug 29 20:15:41 2005 From: pscott at common-lisp.net (Peter Scott) Date: Mon, 29 Aug 2005 22:15:41 +0200 (CEST) Subject: [cl-utilities-cvs] CVS update: Directory change: cl-utilities/doc Message-ID: <20050829201541.AC9E088542@common-lisp.net> Update of /project/cl-utilities/cvsroot/cl-utilities/doc In directory common-lisp.net:/tmp/cvs-serv4750/doc Log Message: Directory /project/cl-utilities/cvsroot/cl-utilities/doc added to the repository Date: Mon Aug 29 22:15:41 2005 Author: pscott New directory cl-utilities/doc added From pscott at common-lisp.net Mon Aug 29 20:18:20 2005 From: pscott at common-lisp.net (Peter Scott) Date: Mon, 29 Aug 2005 22:18:20 +0200 (CEST) Subject: [cl-utilities-cvs] CVS update: cl-utilities/doc/collecting.html cl-utilities/doc/extremum.html cl-utilities/doc/read-delimited.html cl-utilities/doc/split-sequence.html Message-ID: <20050829201820.5ADB488542@common-lisp.net> Update of /project/cl-utilities/cvsroot/cl-utilities/doc In directory common-lisp.net:/tmp/cvs-serv5304 Added Files: collecting.html extremum.html read-delimited.html split-sequence.html Log Message: Initial commit. Date: Mon Aug 29 22:18:18 2005 Author: pscott