Rename _regex.h to _mutt_regex.h to avoid name collision on Macs.
On Macs, <regex.h> includes <_regex.h>. Because Mutt defines '-I .' during compilation, our bundled version of _regex.h was being used instead of the system one. I have no idea how it managed to work before, but starting in Xcode 9.3, the differences in struct size and fields started to produce a crash and other strange behavior. The real issue is our use of '-I .' during compilation, which allows our local headers to override system ones. An easier fix for now is to rename the header. Many thanks to Charles Diza, Christian Ebert, and Fabian Groffen for their help trying things out and helping to debug the problem. Also, a huge thanks to Steve Karmeinsky for allowing me to ssh in to his Mac so I could track down the underlying issue.
Showing with 3 additions and 3 deletions