> The reason it is in the API must be that it is needed to code the standard library, which prides itself on being totally written in the API.
As I said (and as the manual says), all of the auxiliary library API can be implemented with the non-auxiliary API. luaL_Buffer uses nothing but the standard API as far as I can tell.
There is nothing wrong with it when it is used as intended (as Sean demonstrates). The problem is the language explaining the intended use is very mild, and gives people, such as yourself, wild ideas about that, while the implementation is unforgiving. That's why I put [BUG] in the subject line.