Edi Weitz [edi@agharta.de] wrote:
On Mon, 19 Apr 2004 13:40:29 -0500, Kick Damien-DKICK1 DKICK1@motorola.com wrote:
Can you reproduce this behavior on your GNU/Linux setup?
No. But I /think/ I've found the bug. The reason I couldn't reproduce your results seems to be that you either didn't compile CL-PPCRE or that you used a "safe core" or somesuch. [...]
<nod> Yeah, I compiled CL-PPCRE after having removed the optimization declarations via reader macros, #-:CL-PPCRE-SAFE-AND-SLOW, per the tar ball I sent you a while back. It was too difficult to try and determine from where the problem was originating with everything compiled with maximal optimization and minimal safety.
For example:
% diff -u scanner.lisp@@/main/kick_lti--e3-base/2 scanner.lisp --- scanner.lisp@@/main/kick_lti--e3-base/2 Fri Mar 5 02:36:37 2004 +++ scanner.lisp Sat Mar 6 17:35:27 2004 @@ -52,6 +52,7 @@ (return-from bmh-matcher (1+ i)))))))))
(defun create-bmh-matcher (pattern case-insensitive-p) + #-:cl-ppcre-safe-and-slow (declare (optimize speed (safety 0) (space 0) @@ -101,6 +102,7 @@ thereis (and (,char-compare (schar *string* i) chr) i)))))
(defun create-char-searcher (chr case-insensitive-p) + #-:cl-ppcre-safe-and-slow (declare (optimize speed (safety 0) (space 0) @@ -119,6 +121,7 @@ (declaim (inline newline-skipper))
(defun newline-skipper (start-pos) + #-:cl-ppcre-safe-and-slow (declare (optimize speed (safety 0) (space 0) @@ -328,6 +331,7 @@ rep-num zero-length-num reg-num) + #-:cl-ppcre-safe-and-slow (declare (optimize speed (safety 0) (space 0)
[...] Anyway, please try if you still get your bug with this version: [...]
I'll let you know the results as soon as I've had a chance to try it.