indent-2.2.13 does not set a locale

Petr Pisar <[email protected]> Wed, 12 Apr 2023 12:21:13 +0200
Newsgroups gmane.comp.gnu.indent.bugs
Message-ID <[email protected]>
--EUtBf/v5gMbC0rDE
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

I noticed that indent-2.2.13 stopped printing localized messages:

    $ strace -e file ./src/indent --version
    execve("./src/indent", ["./src/indent", "--version"], 0x7ffcc7072328 /* 20 vars */) = 0
    access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
    openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
    newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=27589, ...}, AT_EMPTY_PATH) = 0
    openat(AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
    newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=2633640, ...}, AT_EMPTY_PATH) = 0
    openat(AT_FDCWD, ".indent.pro", O_RDONLY) = -1 ENOENT (No such file or directory)
    openat(AT_FDCWD, "/home/test/.indent.pro", O_RDONLY) = -1 ENOENT (No such file or directory)
    newfstatat(1, "", {st_mode=S_IFCHR|0620, st_rdev=makedev(0x88, 0x2), ...}, AT_EMPTY_PATH) = 0
    GNU indent 2.2.13
    +++ exited with 64 +++

That's because setlocale() is not called in src/indent.c:

    #if defined (HAVE_SETLOCALE)
        setlocale(LC_ALL, "");
    #endif

because HAVE_SETLOCALE is not defined in config.h.

It seems that configure.ac ported to autoconf-2.71
(AC_CHECK_INCLUDES_DEFAULT?) stopped checking for setlocale() and defining the
macro. Actually diffing config.h between 2.2.12 and 2.2.13, both generated
with the same autoconf, shows plenty of removed macros. So HAVE_SETLOCALE
might be not the only missing feature.

-- Petr

--EUtBf/v5gMbC0rDE
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEE4/QvzhVoMKgDWObpT9GuwzZa978FAmQ2hg8ACgkQT9GuwzZa
97/PJQ/9HW5K3MOp/AjiEGDwtlS/j2SPRS43+Suumh85I7RDqQUi1yEx41F6JXd3
HbVKVEo2sFZjZscIV15MFYyP7Cv34nHTSocxlcoSit5MlKBiexSqwcAGyLhm5uPb
5nhUOXD7QR+5zDdFqrqNFbP6YqAhus0s/8v/ODT57x9RjX+TnKonDNVT9PUn00t1
SEmy6gRM66fN9y3AGS6adTf7us3+QplRJBC3LfUe2oggdbifR98PEGa6OqvjpQz9
4zefjUVyD49XeH93S3PzHlsfmxiXC0NkPVaKNghzL4pSwQOwcX0mHXJeB3GgO4yF
UPHrjjF1CzTfRGKYJc5NIW5TwRWp0ZTdALExlmf1Q1izUQgc2Jnac8ijhg5FlIpf
Dd2rc1DSzqTBGP+sCv5/yQCRNbG5jqujveKOcUrOss1a7cjrmn7t+KIncp1hHN5j
daKKLlCRiM96q/NCc+cQx8wzzXx+wN2HP0WRlfYwu0pTUU4IyF47FU+7IRTcpT4J
B6lbWPpn4Iyv6horQUjKO5mpjif9dPVYNkMByefN8VOVcFxoGioAer2bMYu4WlAv
05tDaRAWFPmHCURYLZaeOvfsS6clLxYHVgNV4N4fLjowhz+tyGpOLSrU8rCDlheg
2rG/1xIsH4TTIHcm1+TkHMSpYnLhr2okrsNop2Ik2i/s69aS0Rk=
=bOV0
-----END PGP SIGNATURE-----

--EUtBf/v5gMbC0rDE--