All,
In a couple of places (compilation-mode, message-headers), I get errors
about stack overflow in regexp pattern matching. The first one was in
compile mode, which builds a looking-at regexp from:
mode1\|mode2\|mode3\|...\|mode99. When given a compile line that is very
long (lots of -I, ~>1000 chars), I get the error.
I had figured that maybe the union of the regexps was too complicated for
the regexp engine. However, I got some almost-department-wide email
addressed to lots of recipients (~300), and got the error. The
header-highlighting was barfing on a find-the-header regexp:
highlight-headers.el:215:
(looking-at "^\\([^ \t\n:]+[ \t]*:\\) *\\(.*\\(\n[ \t].*\\)*\n\\)")
header ws : space field (continued field)*
The regexp isn't that complicated, but it caused the highlighting to barf.
Questions:
a) Is there anyway to make the regexp stack larger?
b) Does a larger regexp stack hurt performance? (a little memory isn't
that expensive, but I wouldn't want to slow things down)
I imagine these might be GNU regexp questions.
-Justin
vallon(a)mindspring.com
Show replies by date