Users complain about misleading ".. not fully resolved .." macro warnings.
One case, https://epics.anl.gov/tech-talk/2026/msg00663.php, is PV names like LongStringRecord.VAL$ where the lone $ required by the IOC to get a "long string" character waveform is mistaken for an unresolved macro. That's easy to fix in the containsMacros code.
The other case is opening displays in the editor. Macros are provided to the display runtime, but in the editor there are no macro values, so all macros configured in the display generate a warning. In practice, missing macros that really matter will be fairly obvious on the screen, disconnected PVs like SomePV$(ABC)Name. Logging potential missing macros at an INFO level can help with that, while WARNING tends to create too many misleading messages.
Users complain about misleading ".. not fully resolved .." macro warnings.
One case, https://epics.anl.gov/tech-talk/2026/msg00663.php, is PV names like
LongStringRecord.VAL$where the lone$required by the IOC to get a "long string" character waveform is mistaken for an unresolved macro. That's easy to fix in thecontainsMacroscode.The other case is opening displays in the editor. Macros are provided to the display runtime, but in the editor there are no macro values, so all macros configured in the display generate a warning. In practice, missing macros that really matter will be fairly obvious on the screen, disconnected PVs like
SomePV$(ABC)Name. Logging potential missing macros at an INFO level can help with that, while WARNING tends to create too many misleading messages.