Summary
Simplify resolution of include/extend/types/inline/extension files
Metadata
- Id: 88a87e85ca18b2e3f971612fd71a91184f291287
- Trac id: 1384
- Type: enhancement
- Reporter: evhan
- Owner:
- Cc:
- Status: new
- Component: compiler
- Estimated difficulty:
- Resolution:
- Priority: not urgent at all
- Milestone: someday
- Version: 5.0.0
- Changetime: 2017-07-05 11:47:45 UTC
- Created: 2017-07-05 11:47:45 UTC
- Keywords:
Description
There are currently a bunch of different implementations of "file resolution", many of which amount to the same thing and some of which seem to be (mis|ab)used in certain places. It would be good to audit these and simplify things where possible.
At a glance, load-identifier-database and load-types-file both have their own logic for locating files; ##sys#find-extension is similar to these in that it searches the working directory and the repository, but also considers "setup-mode" (speaking of which, is this still necessary with the new egg system?) and the include path when looking for import libraries; and then there's ##sys#resolve-include-filename, which is being used for include, extend, and inline files. This one is pretty complex and has a somewhat confusing signature. It would also be worth investigating whether ##sys#canonicalize-extension-path is really necessary wherever it appears.