Avoid _setjmp/_longjmp problems with local nonvolatile variables.
If a nonvolatile local variable is written before a _longjmp to the frame containing the variable, and is read after the _longjmp, the value read is indeterminate. Some local variables of type 'struct handler' and 'struct catchtag' are used in this way, so mark each of their slots as volatile if the slot can be set before _longjmp and read afterwards. * lisp.h (struct handler): var and chosen_clause are now volatile. (struct catchtag): val, next, and pdlcount are now volatile.
Showing with 24 additions and 7 deletions