Update to 2.0.3

git-svn-id: svn://bknr.net/svn/trunk/thirdparty/cl-ppcre@4461 4281704c-cde7-0310-8518-8e2dc76b1ff0
This commit is contained in:
Edi Weitz
2009-10-29 15:00:44 +00:00
parent 7f5f0de87c
commit 3cc7b592d9
6 changed files with 31 additions and 12 deletions

View File

@ -1,3 +1,7 @@
Version 2.0.3
2009-10-28
Use LW:SIMPLE-TEXT-STRING throughout for LispWorks
Version 2.0.2 Version 2.0.2
2009-09-17 2009-09-17
Fixed typo in chartest.lisp (caught by Peter Seibel) Fixed typo in chartest.lisp (caught by Peter Seibel)

View File

@ -1,5 +1,5 @@
;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-USER; Base: 10 -*- ;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-USER; Base: 10 -*-
;;; $Header: /usr/local/cvsrep/cl-ppcre/cl-ppcre.asd,v 1.48 2009/09/17 19:17:30 edi Exp $ ;;; $Header: /usr/local/cvsrep/cl-ppcre/cl-ppcre.asd,v 1.49 2009/10/28 07:36:15 edi Exp $
;;; This ASDF system definition was kindly provided by Marco Baringer. ;;; This ASDF system definition was kindly provided by Marco Baringer.
@ -37,7 +37,7 @@
(in-package :cl-ppcre-asd) (in-package :cl-ppcre-asd)
(defsystem :cl-ppcre (defsystem :cl-ppcre
:version "2.0.2" :version "2.0.3"
:serial t :serial t
:components ((:file "packages") :components ((:file "packages")
(:file "specials") (:file "specials")

View File

@ -151,7 +151,7 @@ href="http://weitz.de/regex-coach/">The Regex Coach</a>.
CL-PPCRE together with this documentation can be downloaded from <a CL-PPCRE together with this documentation can be downloaded from <a
href="http://weitz.de/files/cl-ppcre.tar.gz">http://weitz.de/files/cl-ppcre.tar.gz</a>. The href="http://weitz.de/files/cl-ppcre.tar.gz">http://weitz.de/files/cl-ppcre.tar.gz</a>. The
current version is 2.0.2. current version is 2.0.3.
<p> <p>
CL-PPCRE comes with a system definition CL-PPCRE comes with a system definition
for <a href="http://www.cliki.net/asdf">ASDF</a> and you compile and for <a href="http://www.cliki.net/asdf">ASDF</a> and you compile and
@ -2208,7 +2208,7 @@ me her PowerBook to test early versions of CL-PPCRE with MCL and
OpenMCL. OpenMCL.
<p> <p>
$Header: /usr/local/cvsrep/cl-ppcre/doc/index.html,v 1.199 2009/09/17 19:13:00 edi Exp $ $Header: /usr/local/cvsrep/cl-ppcre/doc/index.html,v 1.200 2009/10/28 07:36:31 edi Exp $
<p><a href="http://weitz.de/index.html">BACK TO MY HOMEPAGE</a> <p><a href="http://weitz.de/index.html">BACK TO MY HOMEPAGE</a>
</body> </body>

View File

@ -1,5 +1,5 @@
;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-PPCRE; Base: 10 -*- ;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-PPCRE; Base: 10 -*-
;;; $Header: /usr/local/cvsrep/cl-ppcre/regex-class.lisp,v 1.43 2009/09/17 19:17:31 edi Exp $ ;;; $Header: /usr/local/cvsrep/cl-ppcre/regex-class.lisp,v 1.44 2009/10/28 07:36:15 edi Exp $
;;; This file defines the REGEX class. REGEX objects are used to ;;; This file defines the REGEX class. REGEX objects are used to
;;; represent the (transformed) parse trees internally ;;; represent the (transformed) parse trees internally
@ -248,7 +248,12 @@ defined by the user."))
(declare (ignore init-args)) (declare (ignore init-args))
"Automatically computes the length of a STR after initialization." "Automatically computes the length of a STR after initialization."
(let ((str-slot (slot-value str 'str))) (let ((str-slot (slot-value str 'str)))
(unless (typep str-slot 'simple-string) (unless (typep str-slot
(setf (slot-value str 'str) (coerce str-slot 'simple-string)))) #-:lispworks 'simple-string
#+:lispworks 'lw:simple-text-string)
(setf (slot-value str 'str)
(coerce str-slot
#-:lispworks 'simple-string
#+:lispworks 'lw:simple-text-string))))
(setf (len str) (length (str str)))) (setf (len str) (length (str str))))

View File

@ -1,5 +1,5 @@
;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-PPCRE; Base: 10 -*- ;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-PPCRE; Base: 10 -*-
;;; $Header: /usr/local/cvsrep/cl-ppcre/specials.lisp,v 1.42 2009/09/17 19:17:32 edi Exp $ ;;; $Header: /usr/local/cvsrep/cl-ppcre/specials.lisp,v 1.43 2009/10/28 07:36:15 edi Exp $
;;; globally declared special variables ;;; globally declared special variables
@ -65,6 +65,9 @@ implementations like AllegroCL, CLISP, LispWorks, or SBCL.")
(defvar *string* "" (defvar *string* ""
"The string which is currently scanned by SCAN. "The string which is currently scanned by SCAN.
Will always be coerced to a SIMPLE-STRING.") Will always be coerced to a SIMPLE-STRING.")
#+:lispworks
(declaim (lw:simple-text-string *string*))
#-:lispworks
(declaim (simple-string *string*)) (declaim (simple-string *string*))
(defvar *start-pos* 0 (defvar *start-pos* 0

View File

@ -1,5 +1,5 @@
;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-PPCRE; Base: 10 -*- ;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-PPCRE; Base: 10 -*-
;;; $Header: /usr/local/cvsrep/cl-ppcre/util.lisp,v 1.47 2009/09/17 19:17:32 edi Exp $ ;;; $Header: /usr/local/cvsrep/cl-ppcre/util.lisp,v 1.48 2009/10/28 07:36:15 edi Exp $
;;; Utility functions and constants dealing with the character sets we ;;; Utility functions and constants dealing with the character sets we
;;; use to encode character classes ;;; use to encode character classes
@ -137,10 +137,15 @@ match [\\s] in Perl."
"Coerces STRING to a simple STRING unless it already is one." "Coerces STRING to a simple STRING unless it already is one."
(with-unique-names (=string=) (with-unique-names (=string=)
`(let ((,=string= ,string)) `(let ((,=string= ,string))
(cond ((simple-string-p ,=string=) (cond (#+:lispworks
(lw:simple-text-string-p ,=string=)
#-:lispworks
(simple-string-p ,=string=)
,=string=) ,=string=)
(t (t
(coerce ,=string= 'simple-string)))))) (coerce ,=string=
#+:lispworks 'lw:simple-text-string
#-:lispworks 'simple-string))))))
(declaim (inline nsubseq)) (declaim (inline nsubseq))
(defun nsubseq (sequence start &optional (end (length sequence))) (defun nsubseq (sequence start &optional (end (length sequence)))
@ -171,7 +176,9 @@ short form of VAR-LIST."
(dolist (string string-list) (dolist (string string-list)
#-:genera (declare (string string)) #-:genera (declare (string string))
(incf total-size (length string))) (incf total-size (length string)))
(let ((result-string (make-sequence 'simple-string total-size)) (let ((result-string (make-sequence #-:lispworks 'simple-string
#+:lispworks 'lw:simple-text-string
total-size))
(curr-pos 0)) (curr-pos 0))
(declare (fixnum curr-pos)) (declare (fixnum curr-pos))
(dolist (string string-list) (dolist (string string-list)