From the Documentation about ini library:
Quote:
For best compatibility, the names of section and key should consist of alpha (a-z), num (0-9) and the underscore only. In general, the names are case insensitiv.
I am not sure if this change would be happen. The problem is the "\E"-part inside the string. The ini_getValue() function works with regular expression and the "\E"-string in "Folder
\Edit\Test1" ends the literal string and turns regular expression on again.
From AutoHotkeys Documentation about Regular Expression:
Quote:
Escaping can be avoided by using \Q...\E. For example: \QLiteral Text\E.
I did not made a catch to this, because normally a key name does not have a backslash. If I would make a simple addition to check in function, something similiar to this:
Code:
IfInString, _Key, \
{
StringReplace, _Key, _Key, \E, \E\Q
}
Then this could work work with your example (normally it should work with backslashes, but the character sequence "\E" is an exeption). But this would be really rarely needed and would slow down the whole function. I will experiment a bit, but dont know if this would be implemented in final release.
Another solution would be to write keynames in lowercase only (or just "Folder\
edit\Test1" instead of "Folder
\Edit\Test1").
I suggest for this time to make a self check and correction of this for key names containing a backslash. Here is an example:
Code:
key := "paths", "Folder\Edit\Test1"
ini_getValue(ini, "paths", lowerE(key))
lowerE(_Key)
{
Return (InStr(_Key, "\") ? RegExReplace(_Key, "\\E", "\e") : _Key)
}
Hope this helps. Its not tested, but you should get the idea what I mean.