How to use ps to build strings in a local context.
A disadvantage of using a stobj to represent the printer's state is that it is generally non-instantiable, which makes localized string building more difficult because printing from one function may interfere with printing from another.
We provide two mechanisms for coping with this.
The recommended approach is to use with-local-ps, which in turn uses
An alternative, which we do not often use, is to explicitly manage saving and restoring of the printer's state. To support this, we provide some routines for saving and restoring configurations, and for resetting the printer's fields.