find in files problems

If reporting a bug with the Zeus IDE please post the details here. Please do not post questions here.
Post Reply
k10ck3r

find in files problems

Post by k10ck3r »

searching for static class member references gets a parsing error:

example:
find in files for "Utility::Log" gives this error:
(NOTE: regular find works - only find in files has the problem)

Debug: Command: xfgrep.exe -i -f -n "Utility::Log" *.*
Debug: Command Line: c:\winnt\system32\cmd.exe /c xfgrep.exe -i -f -n "Utility::Log" *.*
Debug: Started Process ID: 0x754

fgrep -i -f -n Utility::Log *.*
-GREP-E-Unknown : type, pattern is"Utility::Log"
-GREP-E-Stopped at byte 9, ':'
?GREP-E-Bad pattern
Guest

Post by Guest »

As is indicated by the debug output that you have posted, you will notice Zeus uses fgrep.exe to do the actually searching and one the great advantages of using fgrep.exe is the fact that you can use regular expression search strings :)

But the side effect of this is that some characters are reserved by the regular expression engine.

In this case the : is a reserved character and fgrep.exe is interpreting the string as a badly formed regular expression and hence the reason for the error message.

Fortunately this can be easliy fixed by delimiting the : character by changing the search string to the following:

Code: Select all

Utility\:\:Log
Cheers Jussi

PS: For more information about the fgrep.exe regular expression feature type in fgrep.exe ?.
k10ck3r

Post by k10ck3r »

ok ... but there is a check box in the GUI to enable the use of regular expressions. Given that the box is not checked, shouldn't that mean that the search does not use regular expressions?
jussij
Site Admin
Posts: 2650
Joined: Fri Aug 13, 2004 5:10 pm

Post by jussij »

Given that the box is not checked, shouldn't that mean that the search does not use regular expressions?
This looks like a bug in the find in files dialog box :(

The regular expression check box does nothing at all to the xfgrep.exe command line. The other check box options map to a xfgrep.exe command line option, but there is no regular expression command line option. I am not really sure why it is option is even there :?:

I think this might be a hangover from an earlier version of Zeus at which time a different fgrep tool (with a regular expression command line option) was used.

Thank you for highlighting this bug.

Cheers Jussi.
jussij
Site Admin
Posts: 2650
Joined: Fri Aug 13, 2004 5:10 pm

Post by jussij »

The Zeus for Windows Version 3.94 release should have fixed this bug :)

Cheers Jussi
bobweekend
Posts: 2
Joined: Wed Mar 02, 2005 3:59 pm

Post by bobweekend »

I just upgraded to the full registered version and now find in files no longer works

'xfgrep.exe' is not recognized as an internal or external command,
operable program or batch file.


I have 3.93d before.
bobweekend
Posts: 2
Joined: Wed Mar 02, 2005 3:59 pm

Post by bobweekend »

I closed and restarted and problem went away.

I have done the launch check box as part of the install.

Bob
jussij
Site Admin
Posts: 2650
Joined: Fri Aug 13, 2004 5:10 pm

Post by jussij »

Hi Bob,
I just upgraded to the full registered version and now find in files no longer works 'xfgrep.exe' is not recognized as an internal or external command, operable program or batch file.

I closed and restarted and problem went away.
You have found a know problem.

Just FYI what is happening is the installer creates a application registry entry that defines where Zeus is located. Windows is meant to uses this key to modify the path for the executable and this allows Zeus to find the xfgrep.exe file.

But for reasons only know to Microsoft, if you run the application from the installer the registry entries are ignored, the path is not modified and hence the reason for the error.

But as you point out if you restart Zeus, the registry entries work as designed, the path gets modified and the grep tool can be run. This is a rather annoying problem since it basically means there is no way to run Zeus correctly via the installer.

Jussi
Post Reply