A new pre-compiler directive, #ifneed which causes multi-pass expansion. Local proc defined in the model would only be included if there was a call to it from other proc. So, a component which did not activate that feature would not contain that proc, thus cutting down on compiler errors/warnings. This would allow functions to be defined in the model, but only compiled in where there was an actual need for them.
#ifneeded proc_name ... .. .. proc code... .. .. .. #endif/#endneeded Code between #ifneeded and #endneeded would not be included in component proc unless there was a call to proc_name somewhere OUTSIDE the block referenced.
Having moved large swathes of the code to the component subtypes, in order to facilitate easy bespoking of the U.I. we now have many components with compiler warnings from proc which will not be activated within that component. This feature would allow for cleaner compiler warning lists, assisting the developer in spotting any new warning messageds raised by the modification.