[utf8]: fixed handling of surrogate pairs
Merge commit '722771973bd' into patches/lyslyskom22891031
* commit '722771973bd': (6177 commits)
Verify that callablep responses are aligned with reality.
Merge remote-tracking branch 'origin/master' into new_utf8
Merge remote-tracking branch 'origin/8.1' into gobject-introspection
FALL THROUGH -> FALLTHRU to survive -Wimplicit-fallthrough=4.
MsgPack: decode utf8 directly from buffer
MsgPack: typo in error message
MsgPack.encode_to(): call fd output function
MsgPack: encode utf8 directly into buffer
unsigned INT64 -> UINT64
SIMPLE_BAD_ARG_ERROR is only kept for compatibility, but we still had 500+ uses of it.
Standards.MsgPack: guard against destruction of buffer
Standards.MsgPack.encode: prevent encoding a buffer into itself
This could lead to reading from freed memory.
Standards.MsgPack: support encoding all memobj types
String.Buffer objects are encoded as string types, while all other
buffer objects are encoded as binary data.
MsgPack is a binary serialization format. It supports encoding of the
usual basic data types and additionally allows for representing
arbitrary data types through extensions. It is designed to be more
compact than JSON and can be considerably faster to encode and decode.