- While <STRONG>scanw</STRONG> was implemented in 4BSD, none of the BSD releases used it
- until 4.4BSD (in a game). That early version of curses was before the
- ANSI C standard. It did not use <varargs.h>, though that was
- available. In 1991 (a couple of years after SVr4 was generally
- available, and after the C standard was published), other developers
- updated the library, using <stdarg.h> internally in 4.4BSD curses.
- Even with this improvement, BSD curses did not use function prototypes
- (or even declare functions) in the <curses.h> header until 1992.
-
- SVr2 documented <STRONG>scanw</STRONG>, <STRONG>wscanw</STRONG> tersely as "scanf through <EM>stdscr</EM>" and
- tersely as "scanf through <EM>win</EM>", respectively.
-
- SVr3 added <STRONG>mvscanw</STRONG>, and <STRONG>mvwscanw</STRONG>, with a three-line summary saying that
- they were analogous to <STRONG>scanf(3)</STRONG>, explaining that the string which would
- be output from <STRONG>scanf(3)</STRONG> would instead be output using <STRONG>waddstr</STRONG> on the
- given window. SVr3 also added <STRONG>vwscanw</STRONG>, saying that the third parameter
- is a <STRONG>va_list</STRONG>, defined in <varargs.h>, and referring the reader to the
- manual pages for <EM>varargs</EM> and <STRONG>vprintf</STRONG> for detailed descriptions.
- (Because the SVr3 documentation does not mention <STRONG>vscanf</STRONG>, that reference
- to <STRONG>vprintf</STRONG> may not be an error).
-
- SVr4 added no new variations of <STRONG>scanw</STRONG>, but provided for using
- <varargs.h> or <stdarg.h> to define the <STRONG>va_list</STRONG> type.
-
- X/Open Curses added <STRONG>vw_scanw</STRONG> to replace <STRONG>vwscanw</STRONG>, stating that its
- <STRONG>va_list</STRONG> definition requires <stdarg.h>.
+ <STRONG>scanw</STRONG> was implemented in 4BSD (November 1980); that early version of
+ <EM>curses</EM> preceded the ANSI C standard of 1989. The function was unused
+ in Berkeley distributions for over ten years, until 4.4BSD, which
+ employed it in a game. The 4BSD <STRONG>scanw</STRONG> 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>scanw</STRONG> and <STRONG>wscanw</STRONG> tersely as "scanf through
+ <STRONG>stdscr</STRONG>" and "scanf through <EM>win</EM>", respectively.
+
+ SVr3 (1987) added <STRONG>mvscanw</STRONG>, and <STRONG>mvwscanw</STRONG>, stating
+
+ "[t]hese routines correspond to <STRONG>scanf(3S)</STRONG>, as do their arguments
+ and return values. <STRONG>wgetstr</STRONG>() is called on the window, and the
+ resulting line is used as input for the scan."
+
+ SVr3 also implemented <STRONG>vwscanw</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. (Because the
+ SVr3 documentation does not mention <EM>vscanf</EM>, the reference to <EM>vprintf</EM>
+ might not be an error).
+
+ SVr4 (1989) introduced no new variations of <EM>scanw</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 <EM>vw</EM><STRONG>_</STRONG><EM>scanw</EM> to replace <EM>vwscanw</EM>,
+ stating that its <EM>va</EM><STRONG>_</STRONG><EM>list</EM> type is defined in <EM>stdarg.h</EM>.