- I read in http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16444 that *"in which a patch was installed that tries to work around some of the MinGW deficiency; unfortunately the patch broke a lot of things and was backed out. I'm not optimistic about a fix this time either."* Does the patch proposed here exhibit these breakage, whatever it is? Or does it misses some stuff?
To be honest, I don't know. Also I don't know what exact breakage the quote refers to. I assume, but it's really just a guess, there were problems with the patch in combination with support of other platforms or so. On the other hand, while the inode handling part of the patch is easy enough, I'm not completely sure what impact making the directory enter/leave functions NO-OPs has. It seems to work fine after quick testing but it might also introduce bigger issues.
- what happens when actually encountering directory loops? It's probably very rare, especially on Windows, but still, we probably better have some way out. Can we stop Grep from inside Geany? (I'm afraid not currently)
Sorry, I wasn't clear enough about the real issue: it's not only the warning which shows up, grep actually doesn't find any matches in sub directories if `--recurse` is used. I just updated the commit message in the PR to reflect this. And yes, we cannot stop grep in case it ran into a real directory loop. But this is independent from the patch, as directory loop detection based on inodes simply doesn't work on Windows, or at the very least not with Mingw. To say it clearly, if there is a directory loop, the patched version will most probably run into it and loop forever. I don't know if this is possible at all and how, but I guess there is a risk. Without the patch, `--recurse` is unusable.
- It's probably a question showing my ignorance in how we do Windows, but how comes this is new? How comes it used to work? And if it did, can't we simply do like we used to? (I don't know, compiling on native Windows, or MSYS2, or whatever)
Before we distributed an older version of grep (from UnxUtils, grep 2.5) which was either not affected by this issue because it didn't have the inode checks or was already patched/modified for Windows. We updated the distributed version of grep because of issues #789 and #560.