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
cl-utilities-cvs@common-lisp.net