Omikhleia / silex.sile

Extension layer for SILE and resilient
MIT License
6 stars 1 forks source link

chore: Drop fork of use function #6

Open alerque opened 8 months ago

alerque commented 8 months ago

Upstream package loader in v0.15.0 does not clobber settings or function declarations on reloads. The implementation is considerably different than "fork"s brute force approach in that it allows packages to be reloaded if they are a different implemenation of the same package name. Instead of just blocking loads of the package name, it looks at the function signatures for registering commands and settings and raw handlers and does not re-run those functions if they have already been seen. This allows other _init() functions to re-run and also allows overriding a package with another of the same name (say a project supplies it's own drop in replacement for a default package name).

alerque commented 8 months ago

I marked this one as draft because it depends on the SILE develop branch right now which will become v0.15.0, but it would be nice to get early feedback that the overhauled module loader works for your use cases.