Quote from: Darkstar2So according to you, is the keyboard_string the main reason for ALL cases or are there possibly other causes ?
Yeah, probably. Read the issue on GitHub, if you look at the stack produced when I hit backspace you'll see it's calling into some Enclave Win32 functions. An Enclave is a way of isolating code within the same executable. When [snip]keyboard_string[/snip] is empty, and length-1 is passed to substr, there's integer underflow which causes it to be INT_MAX. So what happens is it tries to copy too many characters and overflows the stack (which GCC probably confined to an enclave). It only appears in some situations because of link time optimization. Again, behavior here is undefined, which just causes it to look random.
Anyway, it's a very simple fix and I'll send it momentarily. We just need to check if the string is empty before erasing a character.
Quote from: DragoniteGoombert, are you welcoming pull requests to put documentation on each of those projects' repo? I'd like to contribute that way, if possible.
It depends on exactly what you mean. We've actually stuck to documenting things here on our Wiki, which is more powerful, rather than doing so on the actual projects. We tend to only document exceptional things in the actual repos. Though, JDI is completely doxy commented. The Wiki is basically our version of the GM manual, but can also go into advanced topics that the typical user never needs to read. This line is drawn between "Getting Started"/"Documentation" and "Development Contribution".
https://enigma-dev.org/docs/Wiki/Main_PageQuote from: DragoniteThe runner works pretty well as it is (at least in my experience).
Well, hold your horses there buckaroo, we don't actually have an interpreter. There are actually other projects attempting to build an open source GM runner, but the ENIGMA project is closer to what YoYoCompiler does (and was also invented earlier; ENIGMA compiler was started in 2007). We take your GML/EDL and convert it to C++, then compile it and link it to our engine also written in C++. There are actually use cases for a runner, even if you compile, that's why YoYo kept their runner even after creating the YYC. A runner is better for... well.... running the game quickly. If you are developing in a hurry, you don't care so much what the runtime performance is, you just want to launch the game quickly to see if your code changes worked. A runner launches quicker because it doesn't go through compiling the whole game and optimizing it. Compiling your game is better for releases because it will optimize the game and make it run faster, which makes something like ENIGMA or YYC better for releasing games.
Quote from: DragoniteThanks for posting an updated roadmap.
You're absolutely welcome! I hope it gives some insight on what ENIGMA needs to prioritize at this point basically.