Hi SBCL developers,
The following program brings LDB> prompt for me.
sbcl-bug.lisp ----- (require 'asdf) (asdf:oos 'asdf:load-op 'cl-ppcre) (funcall (cl-ppcre:create-scanner "test") "This is a test") ---
victor@esculap:~/src/sbcl-1.0.13$ sbcl --no-userinit --no-sysinit --load ../lisp/sbcl-bug.lisp This is SBCL 1.0.13, an implementation of ANSI Common Lisp. More information about SBCL is available at http://www.sbcl.org/.
SBCL is free software, provided as is, with absolutely no warranty. It is mostly in the public domain; some portions are provided under BSD-style licenses. See the CREDITS and COPYING files in the distribution for more information. ; loading system definition from /home/victor/.sbcl/systems/cl-ppcre.asd into ; #<PACKAGE "ASDF0"> ; registering #<SYSTEM :CL-PPCRE {10024BF111}> as CL-PPCRE
fatal error encountered in SBCL pid 20308(tid 47999199878832): no scavenge function for object 0x00f670fc (widetag 0x0)
Welcome to LDB, a low-level debugger for the Lisp runtime environment. ldb>
I'm using Ubuntu 7.10 on x86-64: victor@esculap:~$ uname -a Linux esculap 2.6.22-14-generic #1 SMP Tue Dec 18 05:28:27 UTC 2007 x86_64 GNU/Linux
SBCL is 1.0.13 manually compiled from sources with :SB-THREAD enabled.
CL-PPCRE is Edi Weitz's library, version 1.3.2 (ASDF-installable, http://weitz.de).
I'd be happy to provide more info if needed.
-- Yours Sincerely, Victor Kryukov
On Sun, 6 Jan 2008 03:12:54 -0600, "Victor Kryukov" victor.kryukov@gmail.com wrote:
(funcall (cl-ppcre:create-scanner "test") "This is a test")
Why are you calling the scanner this way? That's not how it is intended to be done. If you call a highly optimized function with the wrong number of arguments, you shouldn't be surprised if the compiler is confused.
Edi.
Thanks for your clarification, Edi. Now that you mentioned it, I noticed the correct idiom to use create-scanner in scan documentation:
* (let ((s (cl-ppcre:create-scanner "(([a-c])+)x"))) (cl-ppcre:scan s "abcxy"))
I should say, though, the documentation was a bit unclear (at least to me): documentation for scan never mentioned that you can use a pre-computed scanner instead of regex, and documentation for create-scanner said that it returns a closure - and my interpretation was that you have to call it directly to scan for strings. It's probably my poor lisp knowledge and not your fault, but I'd say it would be helpful to include an example of correct create-scanner usage in the create-scanner section.
Thank you very much for all your libraries!
Best Regards, Victor.
PS. Is your Amazon wish list up-to-date?
On Jan 6, 2008 4:40 PM, Edi Weitz edi@agharta.de wrote:
On Sun, 6 Jan 2008 03:12:54 -0600, "Victor Kryukov" victor.kryukov@gmail.com wrote:
(funcall (cl-ppcre:create-scanner "test") "This is a test")
Why are you calling the scanner this way? That's not how it is intended to be done. If you call a highly optimized function with the wrong number of arguments, you shouldn't be surprised if the compiler is confused.
Edi. _______________________________________________ cl-ppcre-devel site list cl-ppcre-devel@common-lisp.net http://common-lisp.net/mailman/listinfo/cl-ppcre-devel
On Sun, 6 Jan 2008 17:03:59 -0600, "Victor Kryukov" victor.kryukov@gmail.com wrote:
I'd say it would be helpful to include an example of correct create-scanner usage in the create-scanner section.
You're right. I'll add that for the next release. Thanks for the note.
Thank you very much for all your libraries!
You're welcome... :)
PS. Is your Amazon wish list up-to-date?
Er, it is now... :)
I think I hadn't looked at it for quite some time.
Edi.
cl-ppcre-devel@common-lisp.net