I Forgot to CC m4-patches@gnu.org... (I'm new to mailing lists)
---------- Forwarded message --------- Van: Maarten Anonymous <anonymous.maar...@gmail.com> Date: do 30 jul. 2020 om 23:19 Subject: Re: [PATCH] Open files in binary mode. To: Eric Blake <ebl...@redhat.com> Op do 30 jul. 2020 om 22:33 schreef Eric Blake <ebl...@redhat.com>: > Thanks for the patch. However, I'm of the opinion that installing it > would be a violation of POSIX, which requires that m4 operate on text > files. Since m4 can insert or remove newlines as part of macro > definitions, operating in binary mode is very prone to creating > incorrect line endings for a text file. Yes, the POSIX definition of a > text file does NOT play nicely with Windows text files, but my > interpretation of POSIX is that using "rb" instead of "r" (on platforms > where it _does_ matter, since a true POSIX platform treats them > identically) is only safe to do in programs where POSIX requires the > utility to operate on all files, not just text files. Thanks for the quick reply! I'm now skimmed though the posix m4 spec at https://pubs.opengroup.org/onlinepubs/9699919799/utilities/m4.html. It indeed always refers to the input as `text file`. For reference, what this patch fixes, is errors like the log at https://github.com/conan-io/conan-center-index/pull/2103#issuecomment-653470881 Autoconf creates a frozen autoconf.m4f file that contains binary data. This patch allows m4 to load the frozen file containing binary data. e.g. the test file at https://github.com/conan-io/conan-center-index/blob/master/recipes/m4/all/test_package/frozen.m4f I think the origin of the binary data are these lines: https://git.savannah.gnu.org/cgit/autoconf.git/tree/lib/m4sugar/m4sugar.m4#n2210 So I think only opening m4f files in binary mode would be fine too. Maarten _______________________________________________ M4-patches mailing list M4-patches@gnu.org https://lists.gnu.org/mailman/listinfo/m4-patches