In the function ematch(), expbuf is declared with the #define'd constant ESIZE (= 256). But, the function compile is called as follows: compile(p, expbuf, &expbuf[512], 0); The wired-in 512 should be changed to ESIZE. This bug is present in at least V7, System 3, and 4.1BSD. -- David Trueman @ U of Toronto Zoology {allegra,ihnp4,linus,decvax}!utzoo!david