John-Philip Butler
unread,Jun 6, 2025, 4:11:54 AM6/6/25Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to forum, Devon McCormick, bill lam, de...@acm.org
The error is on my side. I have my own version of load, sitting on top of load_z_, which loads *.ijl or *.ijs files depending on my build settings (a flag indicating whether i want to use locked scripts, and a list indicating which scripts should be locked). The idea is not having to modify the source code in order to export a version that uses *.ijl. My code simply uses cut to separate the module names; my verb or getscripts probably gets called twice in some cases (i do not have any spaces in the original calls, just raw addon names or tilde expansions). To some extent the same applies to require, but my usage differs: I
usually require addons, but load my own modules because they are
constantly changing.
There are actually quite a few cases to cover:
* addon defaults
* tilde expansions
* absolute pathnames
* relative pathnames
This makes it difficult to find module names in the argument in an efficient way.
Bootstrapping is an issue because the modified load and dependencies have to be accessible in an *.ijs file at startup.
Finally, my code is naive because the *.ijl files are currently expected to be in the same location as their *.ijs equivalents. This is a bad idea in case I have to deliver multiple products that use different versions of the same libraries. I guess it would be better to have all the files for one project in the same directory for delivery. This differs from development needs, where it is best to share the latest version of *.ijs files between all ongoing projects.
Maybe the whole plan is a bad idea and I should simply use a 3 : 0 declaration to explicitely state whether i want *.ijs or *.ijl.