Subject: 30.0.50; Build scripts break due to DOS-style line endings

From: "Divvy Cr." <[email-masked]>
Date: Wed, 6 Mar 2024 18:27:41 +0000

Currently, cloning the latest Emacs branches (namely, master and
emacs-29) fails to build via `./autogen.sh` with the following error:

zsh: ./autogen.sh: bad interpreter: /bin/sh^M: no such file or directory

Using Vim's `:set fileformat=unix` on autogen.sh, it still fails to
build with the following errors:

Checking whether you have the necessary tools...
(Read INSTALL.REPO for more details on building Emacs)
Checking for autoconf (need at least version 2.65) ... ok
Your system has the required tools.
Building aclocal.m4 ...
Running 'autoreconf -fi -I m4' ...
: not found
sh: 2: Syntax error: word unexpected (expecting "do")
configure.ac:7373: error: expected source file, required through
AC_LIBSOURCES, not found
./lib/autoconf/general.m4:2437: AC_FATAL is expanded from...
m4/gnulib-comp.m4:222: gl_INIT is expanded from...
configure.ac:7373: the top level
autom4te: error: /usr/bin/m4 failed with exit status: 1
autoreconf: error: /usr/bin/autoconf failed with exit status: 1

Now, the line ': not found' again hints at problems with DOS-vs-Unix
style formatting. I have managed to successfully build latest Emacs
after running the following on the repository:

git ls-files -z | xargs -0 dos2unix
git ls-files -z '*.bat' | xargs -0 unix2dos

Is this a bug in Emacs' build scripts, autoreconf, or just an
inconvenience of using the latest builds? Notably, my previous Emacs
30.0.50 build from December 2023 did not have these issues.