Paul Eggert <eggert@cs.ucla.edu> schrieb am Fr., 20. Nov. 2015 um 21:32 Uhr:
Philipp Stephani wrote:
> Daniel felt pretty strongly about using int64 for fixnums.

As I recall, he felt that we shouldn't use EMACS_INT in the module API, and
int64_t was merely a means to that goal. If so, that's not a reason to prefer
int64_t over intmax_t; it's merely a reason to make sure that intmax_t is at
least as portable as int64_t is in this area. Which it is.

 > Is there any reason to change that?

Yes, int64_t is not required by POSIX, C99, etc.  That is, int64_t is an
optional type.  In contrast, intmax_t is required on all C99 platforms, and it
has better support (e.g., there's a printf format specifier for it), so there
are advantages to intmax_t over int64_t.  I don't know of any advantage int64_t
would have over intmax_t on any platform that Emacs supports.

It would be guaranteed to always have the same size, if available. My understanding is that intmax_t could differ between compilers even on the same machine, which would silently break compatibility.