>>>> "APA" == Adrian Aichner
<Adrian.Aichner(a)t-online.de> writes:
APA> "Albrecht DreX" <albrecht.dress(a)arcormail.de> writes:
> Now I middle-click on the error line, but I get a stack
> overflow in regexp matcher error.
APA> Sorry for the late confirmation, Albrecht.
APA> I can reproduce this in XEmacs 21.5 (beta18) "chestnut"
APA> (+CVS-20050202) [Lucid] (i586-pc-win32, Mule) of Fri Feb 04
APA> 2005 on D5DC120J when doing a make all in the xemacsweb
APA> module of the XEmacs website.
Wow. That is one obscene regexp!!
looking-at((concat "\\([^\n]*: Entering directory `\\([^\n]*\\)'$\\)"
"\\|\\([^\n]*: Leaving directory `\\([^\n]*\\)'$\\)"
"\\|\\(\\(\\([a-zA-Z]?:?[^:( \n]+\\)[:(][ ]*\\([0-9]+\\)\\([)
]\\|:\\([^0-9\n]\\|\\([0-9]+:\\)\\)\\)\\)"
"\\|\\(\\(\\([a-zA-Z]:\\)?[^:( \n-]+\\)[:(][ ]*\\([0-9]+\\)[:) ]\\)"
"\\|\\(\\(Error\\|Warning\\) \\([EW][0-9]+ \\)?\\([a-zA-Z]?:?[^:( \n]+\\)
\\([0-9]+\\)\\([) ]\\|:[^0-9\n]\\)\\)"
"\\|\\(.*[ :]\\([a-zA-Z]?:?[^:( \n]+\\)[:(](+[ ]*\\([0-9]+\\))[:) ]*$\\)"
"\\|\\(.*([ ]*\\([a-zA-Z]?:?[^:( \n]+\\)[:(][ ]*\\([0-9]+\\))\\)"
"\\|\\([^\n ]+ (\\([0-9]+\\)) in \\([^ \n]+\\)\\)"
"\\|\\(.*in \\([^(\n]+\\)(\\([0-9]+\\))$\\)"
"\\|\\(\\(cfe\\|fort\\): [^:\n]*: \\([^ \n]*\\), line \\([0-9]+\\):\\)"
"\\|\\(^cc-[0-9]* \\(cc\\|CC\\|f77\\): \\(REMARK\\|WARNING\\|ERROR\\) File =
\\(.*\\), Line = \\([0-9]*\\)\\)"
"\\|\\(\\(.* on \\)?[Ll]ine[ ]+\\([0-9]+\\)[ ]+of[
]+\"?\\([a-zA-Z]?:?[^\":\n]+\\)\"?:\\)"
"\\|\\(.*\"\\([^,\" \n ]+\\)\", lines?
\\([0-9]+\\)\\([(.]\\([0-9]+\\))?\\)?[:., (-]\\)"
"\\|\\(^File \"\\([^,\" \n ]+\\)\", line \\([0-9]+\\),\\)"
"\\|\\(^File \"\\([^,\" \n ]+\\)\", lines? \\([0-9]+\\)[-0-9]*,
characters? \\([0-9]+\\)\\)"
"\\|\\([a-z0-9/]+: \\([eE]rror\\|[wW]arning\\): \\([^,\" \n ]+\\)[,:] \\(line
\\)?\\([0-9]+\\):\\)"
"\\|\\(.*in line \\([0-9]+\\) of file \\([^ \n]+[^. \n]\\)\\.? \\)"
"\\|\\([EW], \\([^(\n]*\\)(\\([0-9]+\\),[ ]*\\([0-9]+\\)\\)"
"\\|\\([a-zA-Z]?:?[^0-9 \n :]+:[ ]*\\([^ \n :]+\\):\\([0-9]+\\):\\(\\([0-9]+\\)[:
]\\)?\\)"
"\\|\\([^0-9 \n :]+:[ ]*\\([^
\n :]+\\):\\([0-9]+\\):\\(\\([0-9]+\\):\\)?[A-Za-z]:\\)"
"\\|\\([^\n]* \\([^ \n,\"]+\\), line \\([0-9]+\\):\\)"
"\\|\\([^\n]*: \\([^ \n,\"]+\\): \\([0-9]+\\):\\)"
"\\|\\(\\(cc\\| cft\\)-[0-9]+ c\\(c\\|f77\\): ERROR \\([^,\n]+, \\)* File =
\\([^,\n]+\\), Line = \\([0-9]+\\)\\)"
"\\|\\(\\([^( \n ]+\\)(\\([0-9]+\\):\\([0-9]+\\)) : \\)"
"\\|\\(\"\\(.*\\)\",\\([0-9]+\\)\\s-+\\(Error\\|Warning\\)\\[[0-9]+\\]:\\)"
"\\|\\(\\([^, \n ]+\\), line \\([0-9]+\\), char \\([0-9]+\\)[:., (-]\\)"
"\\|\\(.* at \\([^ \n]+\\) line \\([0-9]+\\)[,.\n]\\)"
"\\|\\(Semantic error at line \\([0-9]+\\), column \\([0-9]+\\), file
\\(.*\\):\\)"
"\\|\\(Error [0-9]+ at (\\([0-9]*\\):\\([^)\n]+\\))\\)"
"\\|\\(.*: ERROR File = \\(.+\\), Line = \\([0-9]+\\)\\)"
"\\|\\(.*: WARNING File = \\(.+\\), Line = \\([0-9]+\\)\\)"
"\\|\\(.* ERROR [a-zA-Z0-9 ]+, File = \\(.+\\), Line = \\([0-9]+\\), Column =
\\([0-9]+\\)\\)"
"\\|\\(Error:.*\n.* line \\([0-9]+\\) char \\([0-9]+\\) of
file://\\(.+\\)\\)"
"\\|\\(Warning:.*\n.* line \\([0-9]+\\) char \\([0-9]+\\) of
file://\\(.+\\)\\)"
"\\|\\(^\\s-*\\[[^]]*\\]\\s-*\\(.+\\):\\([0-9]+\\):\\([0-9]+\\):[0-9]+:[0-9]+:\\)"
"\\|\\(^\\s-*\\[[^]]*\\]\\s-*\\(.+\\):\\([0-9]+\\):\\)"
"\\|\\(file:\\(\\([a-zA-Z]:\\)?[^:( \n]+\\):[ ]*\\([0-9]+\\)[: ]\\)\\)"))
Second and third to last lines above contain iterated negated (starts
with ^) character classes that match newline. Such a regexp will try
to swallow the whole buffer, pushing a retry point on the stack every
time it hits "]", IIRC. Try substituting "[^]\n]" for
"[^]]" in those
two expressions, especially if your *Compile* buffer contains lots of
[] pairs.
Ben? Is my analysis correct? Any other ideas, in case that doesn't
pan out?
--
Institute of Policy and Planning Sciences
http://turnbull.sk.tsukuba.ac.jp
University of Tsukuba Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
Ask not how you can "do" free software business;
ask what your business can "do for" free software.