- The XSI Curses standard, Issue 4 describes these func-
- tions. The function <STRONG>vwprintw</STRONG> is marked TO BE WITHDRAWN,
- and is to be replaced by a function <STRONG>vw_printw</STRONG> using the
- <STRONG><stdarg.h></STRONG> interface. The Single Unix Specification, Ver-
- sion 2 states that <STRONG>vw_printw</STRONG> is preferred to <STRONG>vwprintw</STRONG>
- since the latter requires including <STRONG><varargs.h></STRONG>, which
- cannot be used in the same file as <STRONG><stdarg.h></STRONG>. This im-
- plementation uses <STRONG><stdarg.h></STRONG> for both, because that header
- is included in <STRONG><curses.h</STRONG>>.
+ X/Open Curses, Issue 4 describes these functions. It specifies no
+ error conditions for them.
+
+ <EM>ncurses</EM> defines <STRONG>vw_printw</STRONG> and <STRONG>vwprintw</STRONG> identically to support legacy
+ applications. However, the latter is obsolete.
+
+ <STRONG>o</STRONG> X/Open Curses, Issue 4 Version 2 (1996), marked <STRONG>vwprintw</STRONG> as
+ requiring <EM>varargs.h</EM> and "TO BE WITHDRAWN", and specified <STRONG>vw_printw</STRONG>
+ using the <EM>stdarg.h</EM> interface.
+
+ <STRONG>o</STRONG> X/Open Curses, Issue 5, Draft 2 (December 2007) marked <STRONG>vwprintw</STRONG>
+ (along with <STRONG>vwscanw</STRONG> and the <EM>termcap</EM> interface) as withdrawn. After
+ incorporating review comments, this became X/Open Curses, Issue 7
+ (2009).
+
+ <STRONG>o</STRONG> <EM>ncurses</EM> provides <STRONG>vwprintw</STRONG>, but marks it as deprecated.
+
+
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+ While <STRONG>printw</STRONG> was implemented in 4BSD (November 1980), it was unused
+ until 4.2BSD (August 1983), which employed it for games. That early
+ version of <EM>curses</EM> preceded the ANSI C standard of 1989. It did not use
+ <EM>varargs.h</EM>, though that had been available since Seventh Edition Unix
+ (1979). In 1991 (a couple of years after SVr4 was generally available,
+ and after the C standard was published), other developers updated the
+ library, using <EM>stdarg.h</EM> internally in 4.4BSD <EM>curses</EM>. Even with this
+ improvement, BSD <EM>curses</EM> did not use function prototypes (nor even
+ declare functions) in <EM>curses.h</EM> until 1992.
+
+ SVr2 (1984) documented <STRONG>printw</STRONG> and <STRONG>wprintw</STRONG> tersely as "printf on <STRONG>stdscr</STRONG>"
+ and "printf on <EM>win</EM>", respectively.
+
+ SVr3 (1987) added <STRONG>mvprintw</STRONG> and <STRONG>mvwprintw</STRONG>, with a three-line summary
+ asserting that they were analogous to <STRONG>printf(3)</STRONG>, explaining that the
+ string that <STRONG>printf(3)</STRONG> would write to the standard output stream would
+ instead be output using <STRONG>waddstr</STRONG> to the given window. SVr3 also
+ implemented <STRONG>vwprintw</STRONG>, describing its third parameter as a <EM>va</EM><STRONG>_</STRONG><EM>list</EM>,
+ defined in <EM>varargs.h</EM>, and referred the reader to the manual pages for
+ <EM>varargs</EM> and <EM>vprintf</EM> for detailed descriptions.
+
+ SVr4 (1989) introduced no new variations of <EM>printw</EM>, but provided for
+ using either <EM>varargs.h</EM> or <EM>stdarg.h</EM> to define the <EM>va</EM><STRONG>_</STRONG><EM>list</EM> type.
+
+ X/Open Curses, Issue 4 (1995), defined <STRONG>vw_printw</STRONG> to replace <STRONG>vwprintw</STRONG>,
+ stating that its <EM>va</EM><STRONG>_</STRONG><EM>list</EM> type is defined in <EM>stdarg.h</EM>.