The use of defined(__GNUC__) alone for the conditional for
__builtin_expect is ugly; there may be non-gcc compilers that support it
You can override these definitions to whatever you like already. The (embedded) compilers I've used seem to be either GNU or LLVM based, or so different from a GNU compiler that this scheme will not work. In case a compiler ever shows up for which this scheme would work you can modify luaconf.h and add another test, that's what it is for.
> - in a lot of places, 'returns @true' and 'returns true' are used
> interchangeably (and thus a bit incoherently) in the manual; you
> probably know that already...
Usually, we use '@true' when we want to emphasize that it returns the
boolean true; 'true' means something like "a true value that happens
to be @true". (We also use 'true' when talking about C code.) But
it may be incoherent in some places.