Thank you both. I'll try the patch to see if it changes anything. The conan recipe pulls from https://ftp.gnu.org/gnu/m4/m4-1.4.19.tar.gz and I suppose that's preconfigured sources or something, so I need to figure out how to get to that point from the sources already.
If you wanted to actually shut these dialog box, I think you need `_CrtSetReportMode`. This proposed patch on my PR to conan-center-index does that early in main() (in m4.c) and will not display the dialog box, instead it prints to the console. https://github.com/conan-io/conan-center-index/pull/8984/files#diff-ccc0213dad321989f54ebce565d4f15fad8e8010d9fa47a09ef1e007e87083bf As far as the 'n' format specifier and co, see how the conan recipe works around it when MSVC is used here: https://github.com/conan-io/conan-center-index/blob/051d449332db77854cf56650d2c92dff8a207d9b/recipes/m4/all/conanfile.py#L54-L61 Basically it passes conf args `["gl_cv_func_printf_directive_n=no", "gl_cv_func_snprintf_directive_n=no", "gl_cv_func_snprintf_directive_n=no"]`. Perhaps you could default the same directly when MSVC is encountered? Best, Julien -- Julien Marrec, EBCP, BPI MFBA Owner at EffiBEM <http://www.effibem.com> T: +33 6 95 14 42 13 LinkedIn (en <https://www.linkedin.com/in/julienmarrec>) *| *(fr <https://fr.linkedin.com/in/julienmarrec/fr>) : <http://www.linkedin.com/in/julienmarrec> Le dim. 30 janv. 2022 à 00:51, Bruno Haible <br...@clisp.org> a écrit : > Paul Eggert wrote: > > I installed the attached patch into Gnulib and propagated this into m4 > > on Savannah so it should appear in the next m4 release. > > The patch is fine. In the case of the GNU m4 binary, however, it has no > effect, since the module 'fclose' is used for m4 already since 2011-02-05. > Even with libm4_a-fclose.obj compiled in, "./m4.exe --version" (compiled > with '-MDd') still presents an dialog > "Debug Assertion Failed! > File: minkernel\crts\ucrt\src\appcrt\lowio\close.cpp > Line: 49 > Expression: (_osfile(fh) & FOPEN)" > three times. > > > In the meantime you can build with /MD instead of /MDd. > > Yes, exactly, that's the solution. There's no point for us in trying > to handle debug assertions in the Microsoft debug libraries, > when we already handle them in the source code and the only reason > you see dialogs is that in 'Debug' mode these dialogs appear *even though* > we have installed handlers. > > Other such dialogs that I see (during configure, in 'Debug' mode only) are: > Expression: ("'n' format specifier disabled", 0) > Expression: ("Invalid file open mode", 0) > > Bruno > > > 2022-01-29 Bruno Haible <br...@clisp.org> > > doc: Clarify MSVC support. > * doc/gnulib-intro.texi (Supported Platforms): Document that > "debug" > builds are unsupported. > > diff --git a/doc/gnulib-intro.texi b/doc/gnulib-intro.texi > index 049c8ab3d7..a80c0995f5 100644 > --- a/doc/gnulib-intro.texi > +++ b/doc/gnulib-intro.texi > @@ -158,7 +158,8 @@ GNU Hurd 0.7 is rarely tested. > @item > Native Windows, with MSVC as compiler, is rarely tested and low priority. > The versions of MSVC that are supported are MSVC 14 (Visual Studio 2015) > or > -newer. > +newer. Furthermore only ``release'' builds (compiler option @samp{-MD}) > are > +supported, not ``debug'' builds (compiler option @samp{-MDd}). > @item > @c There is musl-gcc on Ubuntu, and Alpine Linux 3.3.3. > musl libc is rarely tested. > > > >