[Lxr-dev] [ lxr-Bugs-3382013 ] Missing dot in Generic.pm
Brought to you by:
ajlittoz
From: SourceForge.net <no...@so...> - 2011-07-30 07:54:41
|
Bugs item #3382013, was opened at 2011-07-29 12:30 Message generated for change (Comment added) made by ajlittoz You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=390117&aid=3382013&group_id=27350 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Lang support Group: v0.9.9 >Status: Pending Resolution: Invalid Priority: 5 Private: No Submitted By: Kevin Walls (kevinwalls) Assigned to: Andre-Littoz (ajlittoz) Summary: Missing dot in Generic.pm Initial Comment: LXR 0.9.9, but looks to be the same in 0.9.10 also. Nothing runs, basically. Sorry, lost the exact command but failure is: [Thu Jul 28 11:08:40 2011] [error] [client x.x.x.x] [Thu Jul 28 11:08:40 2011] fatal: main, line 224: Sequence (?|...) not recognized in regex; marked by <-- HERE in m/^\t\t\t\t\t# reminder: no initial space in the grammar, ...referrer info etc... This must need the following, a missing dot before a question-mark: diff -C 3 lib/LXR/Lang/Generic.pm.orig lib/LXR/Lang/Generic.pm *** lib/LXR/Lang/Generic.pm.orig Sun Mar 27 10:51:25 2011 --- lib/LXR/Lang/Generic.pm Fri Jul 29 11:27:50 2011 *************** *** 217,223 **** $source =~ s/^ # reminder: no initial space in the grammar ([\w\#]\s*[\w]*) # reserved keyword for include construct (\s+) # space ! (?| (\")(.+?)(\") # C syntax | (\0<)(.+?)(\0>) # C alternate syntax | ()([\w:]+)(\b) # Perl and others ) --- 217,223 ---- $source =~ s/^ # reminder: no initial space in the grammar ([\w\#]\s*[\w]*) # reserved keyword for include construct (\s+) # space ! (.?| (\")(.+?)(\") # C syntax | (\0<)(.+?)(\0>) # C alternate syntax | ()([\w:]+)(\b) # Perl and others ) ..which runs fine. The same statement is in lib/LXR/Lang.pm WITH the missing dot in place. ---------------------------------------------------------------------- >Comment By: Andre-Littoz (ajlittoz) Date: 2011-07-30 09:54 Message: I am upset by your comment: I checked both my working development copy and the reference I put on the lxr.sf.net site and found that the 0.9.9 and 0.9.10 versions of generic.pm and Lang.pm are identical. They have no dot in the (?| prefix flag construct. I didn't check the released tarball. Please verify your copy and tell me if I made an error. This would be a very serious bug. ---------------------------------------------------------------------- Comment By: Kevin Walls (kevinwalls) Date: 2011-07-29 23:47 Message: Ah right, thanks.. So I'm missing out on the include file stuff! I had wondered if I had a Perl version that was behind, but was happy things were running. 8-) (I just checked the same statement in lib/LXR/Lang.pm in 0.9.10 and I see now it has changed to REMOVE the dot, I guess I was fooled as I was looking at 0.9.9 and the dot was there.) ---------------------------------------------------------------------- Comment By: Andre-Littoz (ajlittoz) Date: 2011-07-29 23:01 Message: No, your suggested fix doesn't solve the bug. I don't exactly know what it does, but sure, it messes up #include processing: the file name is reduced to the first delimiter (i.e. " or >) and the hyperlink is not generated. The cause is in Perl. Your version is probably 5.8.8 whereas the syntax is 5.10. See comments # 3 & 4 in topic "Help on non-regression test" of forum Help. It is covered in depth in the discussion. Basically, (?| requests that all captures in the alternatives keep the same numbers. Your proposed change says a first alternative (.?| optionnally captures a single character and is followed by a series of alternatives. Since the first always succeeds, the others are never tested. If you think that 5.8.8-flavoured Perl is still ubiquitous, I can issue rather quickly a 0.9.11 release to downgrade the syntax. The easiest way to go is to upgrade your Perl. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=390117&aid=3382013&group_id=27350 |