For the search and rest commands
It does not stop when you go from not hungry to
hungry when stacking the search or rest commands.
For example "99s" should interrupt as soon as you first
become hungry.
I found this by:
1. found a ring of slow digestion on level 1
2. identified the ring with an identity scroll
3. did "99s" commands over and over
It would repeatedly prompt me with 'hungry' but not
break out of the rest() function using the 'interrupt'
global variable.
I am assuming that you could do a "99s" and starve
during it if you never hit ESC when prompted with 'hunger'.
It looks like search() has the same behavior.