I don't know if you consider the following as a bug or not, but for me it's either that or bad design and definately must be fixed!

"#n" is suppsed to create a string with n spaces. To create just a "#" at the beginning, I am supposed to write "##". That sounds not that bad in theory.

But now try running this code:
Code:
STRING* s1 = str_create("");
	STRING* s2 = str_create("");
	str_cpy(s1,"##"); // s1 is now "#"
	str_cpy(s2,s1); // s2 should be "#" but it's ""!
	error(s1);
	error(s2); // error ignores an emtpy error message
	error("end");


You will first get the "#" error message, the second is skipped because s2 is empty, then you get the "end" message.

When ever a string with a single "#" at the beginning is copied into an other string, it is being interpreted just like a char array that begins with a single "#". That makes it pretty much impossible tp work with strings that begin with a single "#", because you can't copy them!

In LBGUI, this has the effect, that you can't type in a # into an empty editbox. If it isn't empty, but the cursor is at the beginning, it's buggy.

So please change ALL string functions so that only in char arrays, not in STRINGs, "#n" is interpreted as n spaces, because "#n" is really only used inside a script to save space for strings with many spaces.