You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently the compiler parses command-line options in order (including ICL files mentioned on the command line); then it opens the source file and parses !% headers; then it reopens the source file and compiles it.
This means that !% headers override command-line options. This is not intuitive. Normal procedure is that options ("easy to change") override options baked in a file ("hard to change").
Changing this will be a moderate pain though. Either we have to hold command-line options until a later stage of compilation, or keep track of the priority level of each set option.
On the up side, maybe we can systematize the big swaths of boilerplate option code in memory.c.
This is a tiny change in behavior, but I took the opportunity to tidy up all the option-handling code (including options help and $LIST). The changelist is therefore pretty hefty and adds a whole new source file options.c. On the up side, adding a new option will be much easier.
Currently the compiler parses command-line options in order (including ICL files mentioned on the command line); then it opens the source file and parses
!%
headers; then it reopens the source file and compiles it.This means that
!%
headers override command-line options. This is not intuitive. Normal procedure is that options ("easy to change") override options baked in a file ("hard to change").Changing this will be a moderate pain though. Either we have to hold command-line options until a later stage of compilation, or keep track of the priority level of each set option.
On the up side, maybe we can systematize the big swaths of boilerplate option code in memory.c.
(Proposed as an alternative to #275 .)
The text was updated successfully, but these errors were encountered: