Re: Regexp errors on OpenBSD
Emilio Lopes <[email protected]> Tue, 31 Oct 2006 09:43:09 +0000 (UTC)
| Newsgroups | gmane.lisp.scheme.scsh |
|---|---|
| Message-ID | <[email protected]> |
Michael Sperber <sperber <at> informatik.uni-tuebingen.de> writes: > Emilio Lopes <eclig <at> gmx.net> writes: > > > I tracked the problem down to this change in scsh/rx/parse.scm, in the > > procedure `char-set-ein-pair': > > > > <at> <at> -709,7 +714,7 <at> <at> > > . ,ranges)))) > > (values loose ranges))))) > > > > - (let lp ((i 127) (from #f) (to #f) (loose '()) (ranges '())) > > + (let lp ((i 255) (from #f) (to #f) (loose '()) (ranges '())) > > (if (< i 0) > > (add-range from to loose ranges) > > > > I've not found any evil effects after reverting this one change some > > months ago (dreimal klopfen auf den Kopf!). > > Except you get unwanted effects with non-ASCII characters. Michael is right. The right thing to do is to link Scsh against a POSIX compliant regexp library. One can use the GNU regexp library, as described e.g. in http://www.openldap.org/faq/data/cache/148.html. It's really simple and worked for me on our old Cygwin version. I guess it would also work on OpenBSD. I'll upload Cygwin binaries for Scsh-0.6.7 to my web site in the next days. -- EmÃlio C. Lopes Munich, Germany