Implement basic canonical mode for Windows

The `cat` command now works properly, when run by itself on the bash
command prompt. It's working beautifully so far, and is only missing
a few keystrokes for clearing words and lines. Definitely works more
well than the one that ships with WIN32 :-)
This commit is contained in:
Justine Tunney 2023-10-03 22:34:45 -07:00
parent 4825737509
commit f26a280cda
No known key found for this signature in database
GPG key ID: BE714B4575D6E328
36 changed files with 320 additions and 231 deletions

View file

@ -347,8 +347,10 @@ void lua_initrepl(lua_State *L) {
}
lua_repl_linenoise = linenoiseBegin(prompt, 0, 1);
lua_pop(L, 1); /* remove prompt */
__replmode = true;
if (isatty(2)) __replstderr = true;
__ttyconf.replmode = true;
if (isatty(2)) {
__ttyconf.replstderr = true;
}
}
lua_repl_unlock();
}
@ -356,7 +358,7 @@ void lua_initrepl(lua_State *L) {
void lua_freerepl(void) {
lua_repl_lock();
__replmode = false;
__ttyconf.replmode = false;
linenoiseEnd(lua_repl_linenoise);
free(g_historypath);
lua_repl_unlock();