[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

Peter Scott pscott at common-lisp.net
Mon Aug 29 20:14:57 UTC 2005


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))))




More information about the Cl-utilities-cvs mailing list