From Newsgroups: rec.games.roguelike.nethack :
> <email deleted>
> Subject: question for windows tty users
>
> I am trying to hunt down a bug, and want to know if I have
> encountered another one of those bizarre "features" that only
> occur on my computer (I seem to get a lot of them).
>
> I can reproduce this bug, or whatever it is, in the official
> Windows binary like this: Start the tty version of NetHack by
> double clicking on the program. You won't see the bug if you
> start it from the command line. When the game asks, "Who are
> you?" press ^C. NetHack will respond with "^C abort. Hit
> <Enter> to end," and then it hangs. Pressing Enter does
> nothing, and the program does not end.
>
> Can anybody else reproduce this behaviour? Thanks in advance.
>
> -- <Someone>
#define nethack_exit exit
#endif
+#ifdef WIN32
+extern boolean getreturn_enabled; /* from sys/share/pcsys.c */
+#endif
+
#if defined(MSWIN_GRAPHICS)
extern void NDECL(mswin_destroy_reg);
#endif
#ifdef OS2
gettty(); /* somehow ctrl-P gets turned back on during startup ... */
#endif
-
+#ifdef WIN32
+ getreturn_enabled = TRUE;
+#endif
return;
}
}
#ifdef WIN32
-boolean getreturn_disable;
+boolean getreturn_enabled;
#endif
void
const char *str;
{
#ifdef WIN32
- if (getreturn_disable) return;
+ if (!getreturn_enabled) return;
#endif
#ifdef TOS
msmsg("Hit <Return> %s.", str);
int GUILaunched;
static BOOL FDECL(CtrlHandler, (DWORD));
+extern boolean getreturn_enabled; /* from sys/share/pcsys.c */
+
/* dynamic keystroke handling .DLL support */
typedef int (__stdcall * PROCESS_KEYSTROKE)(
HANDLE,
FlushConsoleInputBuffer(hConIn);
}
-extern boolean getreturn_disable; /* from sys/share/pcsys.c */
-
static BOOL CtrlHandler(ctrltype)
DWORD ctrltype;
{
case CTRL_CLOSE_EVENT:
case CTRL_LOGOFF_EVENT:
case CTRL_SHUTDOWN_EVENT:
- getreturn_disable = TRUE;
+ getreturn_enabled = FALSE;
#ifndef NOSAVEONHANGUP
hangup(0);
#endif