- These functions are described in the XSI Curses standard,
- Issue 4.
-
- The XSI Curses standard is ambiguous on the question of
- whether <STRONG>raw</STRONG> should disable the CRLF translations con-
- trolled by <STRONG>nl</STRONG> and <STRONG>nonl</STRONG>. BSD curses did turn off these
- translations; AT&T curses (at least as late as SVr1) did
- not. We choose to do so, on the theory that a programmer
- requesting raw input wants a clean (ideally 8-bit clean)
- connection that the operating system will not alter.
-
- Some historic curses implementations had, as an undocu-
- mented feature, the ability to do the equivalent of
- <STRONG>clearok(...,</STRONG> <STRONG>1)</STRONG> by saying <STRONG>touchwin(stdscr)</STRONG> or <STRONG>clear(std-</STRONG>
- <STRONG>scr)</STRONG>. This will not work under ncurses.
-
- Earlier System V curses implementations specified that
- with <STRONG>scrollok</STRONG> enabled, any window modification triggering
- a scroll also forced a physical refresh. XSI Curses does
- not require this, and <STRONG>ncurses</STRONG> avoids doing it to perform
- better vertical-motion optimization at <STRONG>wrefresh</STRONG> time.
-
- The XSI Curses standard does not mention that the cursor
- should be made invisible as a side-effect of <STRONG>leaveok</STRONG>.
- SVr4 curses documentation does this, but the code does
- not. Use <STRONG>curs_set</STRONG> to make the cursor invisible.
+ These functions are described in the XSI Curses standard, Issue 4.
+
+ From the outset, ncurses used <STRONG>nl</STRONG>/<STRONG>nonl</STRONG> to control the conversion of new-
+ lines to carriage return/line-feed on output as well as input. XSI
+ Curses documents only the use of these functions for input. This dif-
+ ference arose from converting the <EM>pcurses</EM> source (which used <STRONG>ioctl</STRONG>
+ calls with the <STRONG>sgttyb</STRONG> structure) to termios (i.e., the POSIX terminal
+ interface). In the former, both input and output were controlled via a
+ single option <STRONG>CRMOD</STRONG>, while the latter separates these features. Be-
+ cause that conversion interferes with output optimization, <STRONG>nl</STRONG>/<STRONG>nonl</STRONG> were
+ amended after ncurses 6.2 to eliminate their effect on output.
+
+ Some historic curses implementations had, as an undocumented feature,
+ the ability to do the equivalent of <STRONG>clearok(...,</STRONG> <STRONG>1)</STRONG> by saying <STRONG>touch-</STRONG>
+ <STRONG>win(stdscr)</STRONG> or <STRONG>clear(stdscr)</STRONG>. This will not work under ncurses.
+
+ Earlier System V curses implementations specified that with <STRONG>scrollok</STRONG>
+ enabled, any window modification triggering a scroll also forced a
+ physical refresh. XSI Curses does not require this, and <STRONG>ncurses</STRONG> avoids
+ doing it to perform better vertical-motion optimization at <STRONG>wrefresh</STRONG>
+ time.
+
+ The XSI Curses standard does not mention that the cursor should be made
+ invisible as a side-effect of <STRONG>leaveok</STRONG>. SVr4 curses documentation does
+ this, but the code does not. Use <STRONG>curs_set</STRONG> to make the cursor invisi-
+ ble.