Heh, you're right. Still it's you (your computer, directory name, etc.), not FSM:
"use strict"
console.log("utils.IsDirectory=" + utils.IsDirectory("C:\\エデン\\画像"));
console.log("utils.Glob=" + utils.Glob( "C:\\エデン", 0x0, 0x10 ));
console.log("utils.Glob=" + utils.Glob( "C:\\エデ*", 0x0, 0x10 ));
console.log("utils.Glob=" + utils.Glob( "C:\\エ*", 0x0, 0x10 ));
console.log("utils.Glob=" + utils.Glob( "C:\\エデ*\\*", 0x0, 0x10 )); // you can't have wildcard and then more path -- not a unix glob
console.log("utils.Glob=" + utils.Glob( "C:\\エデ*\\画像*", 0x0, 0x10 ));// you can't have wildcard and then more path -- not a unix glob
console.log("utils.Glob=" + utils.Glob( "C:\\エデ*\\画像", 0x0, 0x10 ));// you can't have wildcard and then more path -- not a unix glob
console.log("utils.Glob=" + utils.Glob( "C:\\エデン\\画像*", 0x0, 0x10 ));
right now, I can only think of either SMP version differences (you have dev build) or my OS's native language/encoding being CJK causes some other transformation resulting the issue
for me, I get below result with the following code
"use strict"
console.log("utils.IsDirectory=" + utils.IsDirectory("C:\\エデン\\画像"));
console.log("utils.Glob=" + utils.Glob( "C:\\エデン", 0x0, 0x10 ));
console.log("utils.Glob=" + utils.Glob( "C:\\エデ*", 0x0, 0x10 ));
console.log("utils.Glob=" + utils.Glob( "C:\\エ*", 0x0, 0x10 ));
console.log("utils.Glob=" + utils.Glob( "C:\\エデン\\*", 0x0, 0x10 ));
console.log("utils.Glob=" + utils.Glob( "C:\\エデン\\画像*", 0x0, 0x10 ));
console.log("utils.Glob=" + utils.Glob( "C:\\エデン\\画像", 0x0, 0x10 ));
console.log("utils.Glob=" + utils.Glob( "C:\\エデン\\画像*", 0x0, 0x10 ));
utils.IsDirectory=true
utils.Glob=
utils.Glob=C:\エデン
utils.Glob=
utils.Glob=C:\エデン\.,C:\エデン\..,C:\エデン\画像
utils.Glob=
utils.Glob=
utils.Glob=
Spider Monkey Panel v1.4.1 ({E02200A8-2D15-40A2-878C-EEEE123C71D1}): initialized in 2 ms