I see your points but why do we need another method? In the context
given above I would really do something equivalent to suspend/resume
before and after Fl::wait(0) but this can likely be done with existing
methods as Manolo suggested in the respective commit comment (unless I'm
missing something).
As Manolo wrote, adding
Fl_Surface_Device::push_current(Fl_Display_Device::display_device());
before Fl::wait(); and
Fl_Surface_Device::pop_current();
after Fl::wait(); would work.
The drawback would be that you would push another context on the stack
rather than popping first to go back to the previous context and return
to the printer context after Fl::wait().
So, to answer the "other" question: if we added such new methods I'd
suggest to `pop` the drawing context in `suspend()` and `push` the
printer context in `resume()`. This would make these methods independent
of the "previous" context - which would be very likely but not
necessarily the "display" context.
I have no idea how to implement such a `resume()` method that would push
the pre-existing printer context back on the stack but I guess Manolo
would know?