4 apr. 2020 kl. 19.22 skrev Eli Zaretskii : >> This does not mean that the remaining 179 calls require a copy; they just use the default value of the parameter. > > And IMO the default must stay that a copy is returned, except when the > caller says otherwise. Yes, those can be dealt with piecemeal, and we are in no hurry to do so. > I think in the use case where we return a copy, we should make sure > the return value is unibyte when encoding and multibyte when decoding. I'm not necessarily opposed to the suggestion, but why not return a unibyte string in both cases, simplifying the code? In addition, some operations (aref) are faster on unibyte. Either way, it's nothing that a caller could rely on, is there? (In particular when taking NOCOPY into account.) > Otherwise, I think this is OK (for the master branch, obviously). Indeed the intention, thanks. Here is what I would commit, unless you think the string copy should really be multibyte when decoding.