Files
nethack/win
PatR a64a2f85f4 fix github pull request #197 - curses CR handling
Fixes #197
Fixes #195

Add a call to nonl() to tell curses not to convert carriage return (^M)
to newline.  Line input accepts both ^J and ^M as end of line/end of
input, but the core's command processing treats ^M as "unknown command"
(by default; someone could use the BIND option to assign some command
to that character).  The end result is that accidentally pressing the
<return> or <enter> key (or Ctrl+M key combination) won't make the hero
run towards the bottom of the screen as if the user had typed ^J.  The
curses docs also claim that it allows more optimization during screen
updating by making ^J work as plain linefeed rather than ^M^J newline.

The tty interface can achieve this (the 'do not convert ^M to ^J part',
not the 'more optimization' part) by issuing the command 'stty -icrnl'
(on Unix or sufficiently Unix-like system) prior to running nethack,
but that has no effect when using the curses interface (at least with
ncurses on OSX where I've tested it).

A better fix would be to look up the current terminal settings at
program startup and only call nonl() if -crnl was in effect so that
curses and tty would behave the same in this regard, but curses is
supposed to let us avoid those sorts of messy details....
2019-06-08 08:55:44 -07:00
..
2018-11-11 10:29:52 -05:00
2019-01-29 17:14:55 -08:00
2019-01-29 17:14:55 -08:00
2018-11-11 10:29:52 -05:00
2019-01-29 17:07:00 -05:00
2019-03-12 21:30:22 -04:00
2019-05-20 18:08:32 -07:00
2019-04-01 09:27:09 -07:00