+Applications employing
+.I \%ncurses
+extensions should condition their use on the visibility of the
+.B \%NCURSES_VERSION
+preprocessor macro.
+.PP
+Except as noted in section \*(``EXTENSIONS\*('' above,
+X/Open Curses,
+Issue 4 describes these functions.
+It specifies no error conditions for them.
+.PP
+SVr4
+.I curses
+describes a successful return value only as
+\*(``an integer value other than
+.BR ERR \*(''.
+.PP
+.I \%ncurses
+follows X/Open Curses
+and the historical practice of System\ V
+.IR curses ","
+clearing the terminal driver's \*(``echo\*('' flag when initializing the
+screen.
+BSD
+.I curses
+did not,
+but its
+.I raw
+function turned it off as a side effect.
+.\" SGTTY's sg_flags had a "RAW" symbol; termio in SVr1 for the PDP-11
+.\" did not.
+.\" https://minnie.tuhs.org/cgi-bin/utree.pl?file=4BSD/usr/include/curses.h
+.\" https://github.com/ryanwoodsmall/oldsysv/blob/master/sysv-pdp11_man/a_man/man7/termio.7
+For best portability,
+call
+.B echo
+or
+.B \%noecho
+explicitly just after initialization,
+even if your program remains in normal (\*(``cooked\*('') mode.