When you tried sorting, did you also have to modify Scintilla to allow non-alphabetical ordering?
No, I didn't.
Take a look at CodeCompletion::CodeComplete: tokens' indices generated by m_NativeParser.MarkItemsByAI() are stored in separate list called m_AutocompNameIdx. In my implementation this list wasn't sorted only by tokens name but also by other token properties.
you get 16 suggestions for append() (and Append()), one for each function overload. Is this intended behaviour?
Yes, it is. Overloaded functions can have different arguments, return value and documentation, so in my opinion they should be displayed as separated items.
But as you can see you can easily change this behaviour.
Wait a sec, I'll generate patch, so you will be able to test it.