Update of /project/cl-utilities/cvsroot/cl-utilities
In directory common-lisp.net:/tmp/cvs-serv3004
Modified Files:
cl-utilities.asd package.lisp package.sh rotate-byte.lisp
Log Message:
1. Now this doesn't assume that SBCL has sb-rotate-byte, which was
causing some problems. Thanks to Gary King and John Wiseman for
finding this problem in a certain version of SBCL on ppc.
2. If :split-sequence-deprecated is added to *features* before
compiling cl-utilities, it will create a :split-sequence package which
exports the usual split-sequence interface. This is for easy backward
compatibility. If you do not add :split-sequence-deprecated to
*features*, it will leave split-sequence alone. Thanks to Greg Pfeil
for the idea and some of the code.
Date: Thu Dec 29 00:34:29 2005
Author: pscott
Index: cl-utilities/cl-utilities.asd
diff -u cl-utilities/cl-utilities.asd:1.3 cl-utilities/cl-utilities.asd:1.4
--- cl-utilities/cl-utilities.asd:1.3 Mon Aug 29 22:14:47 2005
+++ cl-utilities/cl-utilities.asd Thu Dec 29 00:34:28 2005
@@ -21,7 +21,13 @@
(:file "once-only" :depends-on ("package"))
(:file "rotate-byte" :depends-on ("package"))
(:file "copy-array" :depends-on ("package"))
- (:file "compose" :depends-on ("package")))
- ;; 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
+ (:file "compose" :depends-on ("package"))))
+
+;; Sometimes we can accelerate byte rotation on SBCL by using the
+;; SB-ROTATE-BYTE extension. This loads it.
+#+sbcl
+(eval-when (:compile-toplevel :load-toplevel :execute)
+ (handler-case (progn
+ (require :sb-rotate-byte)
+ (pushnew :sbcl-uses-sb-rotate-byte *features*))
+ (error () (delete :sbcl-uses-sb-rotate-byte *features*))))
\ No newline at end of file
Index: cl-utilities/package.lisp
diff -u cl-utilities/package.lisp:1.5 cl-utilities/package.lisp:1.6
--- cl-utilities/package.lisp:1.5 Mon Nov 28 22:45:49 2005
+++ cl-utilities/package.lisp Thu Dec 29 00:34:29 2005
@@ -39,4 +39,11 @@
#:copy-array
- #:compose))
\ No newline at end of file
+ #:compose))
+
+#+split-sequence-deprecated
+(defpackage :split-sequence
+ (:documentation "This package mimics SPLIT-SEQUENCE for compatibility with
+packages that expect that system.")
+ (:use :cl-utilities)
+ (:export #:split-sequence #:split-sequence-if #:split-sequence-if-not))
Index: cl-utilities/package.sh
diff -u cl-utilities/package.sh:1.6 cl-utilities/package.sh:1.7
--- cl-utilities/package.sh:1.6 Wed Dec 14 22:44:12 2005
+++ cl-utilities/package.sh Thu Dec 29 00:34:29 2005
@@ -1,19 +1,21 @@
#!/bin/sh
-mkdir cl-utilities-1.2.1
-mkdir cl-utilities-1.2.1/doc
-cp cl-utilities.asd package.sh collecting.lisp split-sequence.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.2.1/
-cp doc/collecting.html doc/expt-mod.html doc/read-delimited.html doc/with-unique-names.html doc/compose.html doc/extremum.html doc/rotate-byte.html doc/copy-array.html doc/index.html doc/split-sequence.html doc/once-only.html doc/style.css cl-utilities-1.2.1/doc/
+mkdir cl-utilities-1.2.3
+mkdir cl-utilities-1.2.3/doc
+cp cl-utilities.asd package.sh collecting.lisp split-sequence.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.2.3/
+cp doc/collecting.html doc/expt-mod.html doc/read-delimited.html doc/with-unique-names.html doc/compose.html doc/extremum.html doc/rotate-byte.html doc/copy-array.html doc/index.html doc/split-sequence.html doc/once-only.html doc/style.css cl-utilities-1.2.3/doc/
rm -f cl-utilities-latest.tar.gz cl-utilities-latest.tar.gz.asc
-tar -czvf cl-utilities-1.2.1.tar.gz cl-utilities-1.2.1/
-ln -s ~/hacking/lisp/cl-utilities/cl-utilities-1.2.1.tar.gz ~/hacking/lisp/cl-utilities/cl-utilities-latest.tar.gz
-gpg -b -a ~/hacking/lisp/cl-utilities/cl-utilities-1.2.1.tar.gz
-ln -s ~/hacking/lisp/cl-utilities/cl-utilities-1.2.1.tar.gz.asc ~/hacking/lisp/cl-utilities/cl-utilities-latest.tar.gz.asc
-rm -Rf cl-utilities-1.2.1/
+tar -czvf cl-utilities-1.2.3.tar.gz cl-utilities-1.2.3/
+ln -s ~/hacking/lisp/cl-utilities/cl-utilities-1.2.3.tar.gz ~/hacking/lisp/cl-utilities/cl-utilities-latest.tar.gz
+gpg -b -a ~/hacking/lisp/cl-utilities/cl-utilities-1.2.3.tar.gz
+ln -s ~/hacking/lisp/cl-utilities/cl-utilities-1.2.3.tar.gz.asc ~/hacking/lisp/cl-utilities/cl-utilities-latest.tar.gz.asc
+rm -Rf cl-utilities-1.2.3/
-scp cl-utilities-1.2.1.tar.gz pscott@common-lisp.net:/project/cl-utilities/public_html/cl-utilities-1.2.1.tar.gz
-scp cl-utilities-1.2.1.tar.gz.asc pscott@common-lisp.net:/project/cl-utilities/public_html/cl-utilities-1.2.1.tar.gz.asc
+scp cl-utilities-1.2.3.tar.gz pscott@common-lisp.net:/project/cl-utilities/public_html/cl-utilities-1.2.3.tar.gz
+scp cl-utilities-1.2.3.tar.gz.asc pscott@common-lisp.net:/project/cl-utilities/public_html/cl-utilities-1.2.3.tar.gz.asc
+scp cl-utilities-latest.tar.gz pscott@common-lisp.net:/project/cl-utilities/ftp/cl-utilities-1.2.3.tar.gz
+scp cl-utilities-latest.tar.gz.asc pscott@common-lisp.net:/project/cl-utilities/ftp/cl-utilities-1.2.3.tar.gz.asc
scp cl-utilities-latest.tar.gz pscott@common-lisp.net:/project/cl-utilities/public_html/cl-utilities-latest.tar.gz
scp cl-utilities-latest.tar.gz.asc pscott@common-lisp.net:/project/cl-utilities/public_html/cl-utilities-latest.tar.gz.asc
Index: cl-utilities/rotate-byte.lisp
diff -u cl-utilities/rotate-byte.lisp:1.1.1.1 cl-utilities/rotate-byte.lisp:1.2
--- cl-utilities/rotate-byte.lisp:1.1.1.1 Mon May 9 23:26:29 2005
+++ cl-utilities/rotate-byte.lisp Thu Dec 29 00:34:29 2005
@@ -22,8 +22,8 @@
bytespec
integer))))
;; On SBCL, we use the SB-ROTATE-BYTE extension.
- #+sbcl (sb-rotate-byte:rotate-byte count bytespec integer))
+ #+sbcl-uses-sb-rotate-byte (sb-rotate-byte:rotate-byte count bytespec integer))
;; If we're using the SB-ROTATE-BYTE extension, we should inline our
;; call and let SBCL handle optimization from there.
-#+sbcl (declaim (inline rotate-byte))
\ No newline at end of file
+#+sbcl-uses-sb-rotate-byte (declaim (inline rotate-byte))
\ No newline at end of file