Re: PRI?64 vs Visual Studio (2022)
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Bryan Green <dbryan.green@gmail.com>
Cc: pgsql-hackers@lists.postgresql.org
Date: 2025-12-15T18:28:06Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Test PRI* macros even when we can't test NLS translation.
- 462e2476525e 19 (unreleased) landed
-
Avoid requiring Spanish locale to test NLS infrastructure.
- 7db6809ced44 19 (unreleased) landed
-
Drop support for MSVCRT's float formatting quirk.
- 6b46669883fa 19 (unreleased) landed
-
Drop support for MSVCRT's %I64 format strings.
- 7ab9b34614c2 19 (unreleased) landed
-
Use PRI?64 instead of "ll?" in format strings (continued).
- a0ed19e0a9ef 18.0 cited
-
Use <stdint.h> and <inttypes.h> for c.h integers.
- 962da900ac8f 18.0 cited
-
Make float exponent output on Windows look the same as elsewhere.
- f1885386f624 12.0 cited
Bryan Green <dbryan.green@gmail.com> writes: > On 12/15/2025 11:05 AM, Tom Lane wrote: >> ... That's >> colored by seeing that less than half of the buildfarm is finding any >> variant of es_ES to test in. That's not great, but I'm not seeing >> anything to be done about it. The only locale names we can be sure >> will be accepted are C/POSIX, and I'd expect gettext() to >> short-circuit that case and not look for a translation. I'm thinking >> though that it's still worth checking that the untranslated string is >> processed correctly. > The GNU gettext implementation does not short-circuit that. It still > goes through the path of trying to find the message catalogue, it fails, > there is no fallback, messages are untranslated. This is true on Windows > as well as Linux. It'd be great to not need the assumption of es_ES being installed. However, I tried making a POSIX.po file and setting lc_messages to POSIX, and it didn't work. The msgfmt infrastructure seemed unfazed and installed a .mo file under $sharedir/locale/POSIX/LC_MESSAGES as I'd expect, but no translation happened (this on a Linux box). Same with 'C'. It did work if I set lc_messages to 'C.utf8', which is a known name according to this box's "locale -a", but this doesn't give me a warm feeling about this approach being a lot more portable than what we have. Any ideas? regards, tom lane