Okay, here are my tests so far.
Normal, single-line S&R: Works.
Regex, single-line S&R: Works.
Normal, multi-line S&R: Works.
Regex, multi-line S&R: Works.
Did you check your Editor settings? I've tried with both "Extended Regex search" checked and unchecked, and handling files with both LF and CRLF endings. This on both Linux and Windows. (I think CR-only line endings are quite obsolete now. I don't think C::B has been fully tested in this case, mac OS now uses LF ending as default since the Freebsd adoption).
I've also noticed some issues, both in C::B and in my patch.
1) (C::B) In single-line S&R, (.*) INCLUDES the EOL chars. I need to use ([^\r\n])* to do a good find&replace. Perhaps we should add another option to EXCLUDE the CR and LF from regex search. Just a thought.
2) (My patch) The S&R in files uses a different approach than the single file S&R to fix line endings. The single-file changes the file's EOL according to the global editor settings (or at least to the value of Manager::Get()->GetConfigManager(_T("editor"))->ReadInt(_T("/eol/eolmode"). The multiple file S&R changes only the search and replace expression's EOL mode. I think that in single-file, we should convert the file's line endings not to the global line endings, but to the file's line endings (just to change as few lines as possible before searching) and still achieve an effective S&R.
3) (My patch) This problem happens in the S&R dialog. First, if you enter a very large regex expression in the combos, the dialog becomes HUGE because it adjusts the width AFTER loading the data, not BEFORE. I need to fix that.
4) (My patch) Another problem I've noticed is that tab navigation doesn't work correctly on Windows. It jumps from "search from:" to the options, and i have to press shift-tab to jump to "replace to:". This doesn't happen under Linux. WTH??
5) I'm also considering making a change in cbFindReplaceData and give it methods for EOL conversion. I plan to add it an EOLMode variable and methods for conversion, like SetEOLMode(int mode). This will clean up EOL conversion in replacedlg.cpp and will prepare for a multiline Find-only dialog in the future. I'll work on it tonight.
So, how do I commit to Jens' server? I want to share my patch and allow others to help me fixing the UI problems. Jens, I might need you to give me an authentication so we can all fix this patch's issues.
Jens, please pm me with the data on your repo. Meanwhile, feel free to commit my patch on your server, but I might change some code again.
Thanks!