Newsgroups: mod.sources
Subject: regexp(3)
Date: 19 Jan 86 14:32:53 GMT

Mod.sources:  Volume 3, Issue 89
Submitted by: decvax!utzoo!henry

Below is an almost-public-domain re-implementation of the V8 regexp(3)
routines.

				Henry Spencer @ U of Toronto Zoology
				{allegra,ihnp4,linus,decvax}!utzoo!henry

======================================================================

Newsgroups: mod.sources
Subject: bug in regexp(3), and fix
Date: 6 Feb 86 14:16:21 GMT

Mod.sources:  Volume 3, Issue 105
Submitted by: genrad!decvax!utzoo!henry

Drat!  Chris Siebenmann at CSRI just found a bug in my regexp(3) routines.
The problem is that the code for character classes does not check properly
for the possibility that it might be looking at the end of the string.  By
simple bad luck none of my test cases hit this.

My thanks to Chris for finding this.

				Henry Spencer @ U of Toronto Zoology
				{allegra,ihnp4,linus,decvax}!utzoo!henry

======================================================================

Newsgroups: mod.sources
Subject: 2nd bug fix for regexp(3), in regsub()
Date: 15 Mar 86 14:36:46 GMT

Mod.sources:  Volume 4, Issue 33
Submitted by: genrad!decvax!utzoo!henry

I cringe with embarrassment!  Another bug in regexp!

This shows up as an occasional spurious complaint from regsub about
"damaged match string"... *if* the program invoking it, and the compiler
compiling it, happen to interact just right.  It didn't show in any of
my tests because mine don't.

My thanks to H}vard Eidnes for finding this.

				Henry Spencer @ U of Toronto Zoology
				{allegra,ihnp4,linus,decvax}!utzoo!henry

======================================================================

Newsgroups: mod.sources
Subject: regexp(3) improvement
Date: 4 Apr 86 14:12:00 GMT

Mod.sources:  Volume 4, Issue 49
Submitted by: utzoo!henry (Henry Spencer)

One flaw of my regexp(3) as distributed is that there is no way to get
a literal `&' or '\n' (n a digit) past regsub().  The V8 manual page
made no mention of an escape convention.  It turns out that this is a
deficiency in the documentation rather than the software.  Accordingly,
the following update should be applied to my regexp(3) to preserve full
compatibility and to add this useful facility.

My thanks to Mike Lutz at Rochester Institute of Technology for noticing
this issue and alerting me to it.

				Henry Spencer @ U of Toronto Zoology
				{allegra,ihnp4,decvax,pyramid}!utzoo!henry

======================================================================

Newsgroups: comp.sources.unix
Subject: v10i097:  Bug-fix for regexp() library
Date: 7 Aug 87 11:20:15 GMT

Submitted-by: seismo!ai.toronto.edu!utzoo!henry
Posting-number: Volume 10, Issue 97
Archive-name: regexp.pch

Jeff Mc Carrell at Berkeley has found (gasp! choke! the horror! the horror!)
another bug in my regexp functions.  One thing my test set did not include
was very large regular expressions.  The bug is in the NEXT macro, which
digs out the offset to the next node of the regexp:  a parenthesization
botch makes trouble if the offset is ever larger than 255.  How humiliating.

Just to let people know:  there is some prospect of me coming out with
a second edition of my regexp stuff, including a number of improvements
that various people have suggested/contributed.  However, it will not be
soon, because I'm very busy right now.  I can't spare the time to sort
it all out, decide what belongs and what doesn't, write the missing bits
of code, and integrate it all.  Sometime later this year, maybe.

				Henry Spencer @ U of Toronto Zoology
				{allegra,ihnp4,decvax,pyramid}!utzoo!henry
