+ Although <B>getnstr</B> is equivalent to a series of calls to <B>getch</B>, it also
+ makes changes to the curses modes to allow simple editing of the input
+ buffer:
+
+ <B>o</B> <B>getnstr</B> saves the current value of the <B>nl</B>, <B>echo</B>, <B>raw</B> and <B>cbreak</B>
+ modes, and sets <B>nl</B>, <B>noecho</B>, <B>noraw</B>, and <B>cbreak</B>.
+
+ <B>getnstr</B> handles the echoing of characters, rather than relying on
+ the caller to set an appropriate mode.
+
+ <B>o</B> It also obtains the <I>erase</I> and <I>kill</I> characters from <B>erasechar</B> and
+ <B>killchar</B>, respectively.
+
+ <B>o</B> On return, <B>getnstr</B> restores the modes to their previous values.
+
+ Other implementations differ in their treatment of special characters:
+
+ <B>o</B> While they may set the <I>echo</I> mode, other implementations do not mod-
+ ify the <I>raw</I> mode, They may take the <I>cbreak</I> mode set by the caller
+ into account when deciding whether to handle echoing within <B>getnstr</B>
+ or as a side-effect of the <B>getch</B> calls.
+
+ <B>o</B> The original ncurses (as pcurses in 1986) set <B>noraw</B> and <B>cbreak</B> when
+ accepting input for <B>getnstr</B>. That may have been done to make func-
+ tion- and cursor-keys work; it is not necessary with ncurses.
+
+ Since 1995, ncurses has provided signal handlers for INTR and QUIT
+ (e.g., <B>^C</B> or <B>^\</B>). With the <B>noraw</B> and <B>cbreak</B> settings, those may
+ catch a signal and stop the program, where other implementations
+ allow one to enter those characters in the buffer.
+
+ <B>o</B> Starting in 2021 (ncurses 6.3), <B>getnstr</B> sets <B>raw</B>, rather than <B>noraw</B>
+ and <B>cbreak</B> for better compatibility with SVr4-curses, e.g., allow-
+ ing one to enter a <B>^C</B> into the buffer.
+