First, do-pre-eval is called. Then the str is evaluated and the result printed using eval-and-display (the watch cursor is turned on during this call), and finally do-post-eval is called.