New Code! (horrible quick hack edition)
When I stumbled over the complete and total inability to compile rgrep on a rhel5 box last week, I did some fairly extensive hunting around to see if I could find a replacement that could be tweaked into looking like the baseline version. Well, I couldn't. But while I was looking around, I also spent some time looking at the manpage and started to think "this doesn't look like it's that difficult to do; I should go and see if I can reinvent the wheel here in Chateau Chaos."
So, this Sunday I spent about 5 hours writing my own version of the code, and got it to work on my local MacOS box (and some FreeBSD boxes. Whoopee; MacOS is basically freebsd spliced brutally onto a Mach baseplate, so it should work there.) The regular expression code was not sufficient (it didn't include “?” or “+”) plus the regcomp() you find on the BSDs is not quite as non-featured as the regcomp() that's inflicted on you with gl*bc, so I spent about 3 hours tonight grabbing a copy of Henry Spencer's BSD-regex library, gluing in “?” and “+”, wrapping a configure script around it, and knocking it into shape so that it compiles on both FreeBSD and MacOS. (Due to d_namlen and using terminfo, it doesn't even come close to compiling on pell, so I have to actually make it portable when I've got the time.) But, even taking the lack of portability, the painfully slow BSD regex library (the FSF grep is approximately 5 times as fast as rgrep,) and not having it be portable to Pell just yet, it has actually become useful code that I can use to replace the doesn't-even-come-close-to-compiling SLang version of rgrep.
And since I did it on my own time, I can release it under a Berkeley-style license. So I did, and I am, and it's New Code! that you can use to make your system appear to be much much slower than it actually is.