Neil Hodgson wrote:
There are some odd exclusions from the Scintilla namespace. For example, in SString.h, CompareCaseInsensitive, CompareNCaseInsensitive and EqualCaseInsensitive are outside the Scintilla namespace. It is unlikely these will clash but it would be easier to understand if there was a consistent rule for whether an identifier goes in the namespace or not. I don't expect static identfiers to be namespaced or the LexerModule instances maintained by LexGen.py or the Scintilla_ identifiers in Scintilla.h which have to use a prefix instead (as they are exported from the DLL and can be used from C code).
Not having some things in the namespace was more a choice I made at the time, no technical reason behind it, and that can be done.
Avoiding complexity in Platform.h is something that has consumed quite a bit of work in the past. I'd like to see the #ifdef PLAT_MACOSX removed from the Window class eventually even if it means using an platform defined WindowImpl class that holds the three IDs and then use pointers to this type as WindowIDs.
I could do a WindowImpl class for osx to deal with this.
WaitMouseMoved is really a problem on all platforms: Scintilla shouldn't initiate a drag until the user has moved the mouse with the button down. This should be done through extra state and code in the mouse movement handler rather than as a synchronous call so that other events continue to be handled.
The WaitMouseMoved stuff is recommended by apple as the way to handle the situation, and was the only reliable way I could get this to work on osx. I figured the best way to do this was to call into the platform layer, but I'm open to better ways of handling this.
All of these issues should be seen as "nice to fix in the future" rather than things that need attention now.
Sure. Shane _______________________________________________ Scintilla-interest mailing list [email protected] http://mailman.lyra.org/mailman/listinfo/scintilla-interest
