-$NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.71 $ $NHDT-Date: 1579655025 2020/01/22 01:03:45 $
+$NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.72 $ $NHDT-Date: 1579899144 2020/01/24 20:52:24 $
General Fixes and Modified Features
-----------------------------------
data.base lookup of an entry with any blank lines would falsely claim that
"'data' file in wrong fromat or corrupted" after some extra checks
were added while investigating tab handling anomalies
+using nhl_error() to report a Lua processing problem would clobber the stack
Platform- and/or Interface-Specific Fixes
-/* NetHack 3.7 nhlua.c $NHDT-Date: 1575246766 2019/12/02 00:32:46 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.16 $ */
+/* NetHack 3.7 nhlua.c $NHDT-Date: 1579899144 2020/01/24 20:52:24 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.28 $ */
/* Copyright (c) 2018 by Pasi Kallinen */
/* NetHack may be freely redistributed. See license for details. */
lua_getstack(L, 1, &ar);
lua_getinfo(L, "lS", &ar);
- Sprintf(buf, "%s (line %i%s)", msg, ar.currentline, ar.source);
+ Sprintf(buf, "%s (line %d ", msg, ar.currentline);
+ Sprintf(eos(buf), "%.*s)",
+ /* (max length of ar.short_src is actually LUA_IDSIZE
+ so this is overkill for it, but crucial for ar.source) */
+ (int) (sizeof buf - (strlen(buf) + sizeof ")")),
+ ar.short_src); /* (used to be 'ar.source' here) */
lua_pushstring(L, buf);
+#if 0 /* defined(PANICTRACE) && !defined(NO_SIGNALS) */
+ panictrace_setsignals(FALSE);
+#endif
(void) lua_error(L);
/*NOTREACHED*/
}