Print this page
5088 it's probably ok for vi to stop working around pdp-11 bugs now
*** 922,957 ****
if (addr != dot && addr >= one && addr <= dol)
markDOT();
}
/*
- * The following code is defensive programming against a bug in the
- * pdp-11 overlay implementation. Sometimes it goes nuts and asks
- * for an overlay with some garbage number, which generates an emt
- * trap. This is a less than elegant solution, but it is somewhat
- * better than core dumping and losing your work, leaving your tty
- * in a weird state, etc.
- */
- int _ovno;
-
- /*ARGSUSED*/
- void
- onemt(sig)
- int sig;
- {
- int oovno;
-
- signal(SIGEMT, onemt);
- oovno = _ovno;
- /* 2 and 3 are valid on 11/40 type vi, so */
- if (_ovno < 0 || _ovno > 3)
- _ovno = 0;
- error(value(vi_TERSE) ? gettext("emt trap, _ovno is %d ") :
- gettext("emt trap, _ovno is %d - try again"));
- }
-
- /*
* When a hangup occurs our actions are similar to a preserve
* command. If the buffer has not been [Modified], then we do
* nothing but remove the temporary files and exit.
* Otherwise, we sync the temp file and then attempt a preserve.
* If the preserve succeeds, we unlink our temp files.
--- 922,931 ----