Fix js.exec() error message when specified script can't be found
If the search up the scope tree for js.exec_dir fails, the script 'path' would be left blank leading to a weird error message.
e.g. !JavaScript default.js line 249: Error: Script file () does not exist
Re: src/sbbs3/js_internal.c
By: Rob Swindell (on Windows) to Git commit to main/sbbs/master on Fri Jul 21 2023 12:42 pm
Fix js.exec() error message when specified script can't be found
If the search up the scope tree for js.exec_dir fails, the script 'path' would be left blank leading to a weird error message.
e.g. !JavaScript default.js line 249: Error: Script file () does not exist
I just did an update and rebuilt my Synchronet binaries (and updated my default.js as well). That seems to fix the issue we were seeing with DDMsgReader and default.js. But now I'm seeing the same error in a different situation.
In my command shell (custom JS), I have this command to run my file area chooser:
bbs.exec("?../xtrn/DigDist/AreaChoosers/DDFileAreaChooser.js");
That works. However, I also have a JS script in my sbbs/mods directory that I use as a test sandbox to try out new things, which I usually run from my main menu. I tried using the same line above in my test script to run my DDFileAreaChooser.js, but when I run that, I get the error:
!JavaScript DigitalDistortionTest.js line 8: Error: Script file () does not exist
It seems this might be a recent issue, as I've done similar things in my sandbox test script, and I don't remember seeing this before.
In my command shell (custom JS), I have this command to run my file
area chooser:
bbs.exec("?../xtrn/DigDist/AreaChoosers/DDFileAreaChooser.js");
That works. However, I also have a JS script in my sbbs/mods
directory that I use as a test sandbox to try out new things, which I
usually run from my main menu. I tried using the same line above in
my test script to run my DDFileAreaChooser.js, but when I run that, I
get the error:
!JavaScript DigitalDistortionTest.js line 8: Error: Script file ()
does not
exist
That error message looks to be from js.exec(), not bbs.exec(). The error message itself (the empty parens) was fixed in git today. It doesn't appear you have that fix.
Just curious... what would it take to get Synchronet up to the current spidermonkey engine?
Related to your recent arguments change for `js.exec()`, having a spread operator would help for when writing such scripts.
js.exec(...params)
Sysop: | tracker1 |
---|---|
Location: | Phoenix, AZ |
Users: | 54 |
Nodes: | 25 (0 / 25) |
Uptime: | 120:09:00 |
Calls: | 367 |
Files: | 1,364 |
Messages: | 36,299 |