]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - man/curs_printw.3x
ncurses 6.2 - patch 20200314
[ncurses.git] / man / curs_printw.3x
index 4d060d73cd1a5ec3e421e6d9865d3d39b20338c8..cd311fe60f729e2584b0aa0daa823c33483bb4ee 100644 (file)
@@ -27,7 +27,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_printw.3x,v 1.25 2020/02/02 23:34:34 tom Exp $
+.\" $Id: curs_printw.3x,v 1.26 2020/03/14 23:48:47 tom Exp $
 .TH curs_printw 3X ""
 .ie \n(.g .ds `` \(lq
 .el       .ds `` ``
@@ -89,6 +89,42 @@ It will return an error if the window pointer is null.
 Functions with a \*(``mv\*('' prefix first perform a cursor movement using
 \fBwmove\fP, and return an error if the position is outside the window,
 or if the window pointer is null.
+.SH HISTORY
+While \fBprintw\fP was implemented in 4BSD,
+it was unused until 4.2BSD (which used it in games).
+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.
+.PP
+SVr2 documented
+\fBprintw\fP,
+\fBwprintw\fP
+tersely as \*(``printf on \fIstdscr\fP\*('' and
+tersely as \*(``printf on \fIwin\fP\*('', respectively.
+.PP
+SVr3 added
+\fBmvprintw\fP, and
+\fBmvwprintw\fP, with a three-line summary saying that they were analogous
+to \fBprintf\fP(3),
+explaining that the string which would be output from \fBprintf\fP(3) would
+instead be output using \fBwaddstr\fP on the given window.
+SVr3 also added \fBvwprintw\fP, saying that the third parameter
+is a \fBva_list\fP, defined in <varargs.h>,
+and referring the reader to the manual pages for \fIvarargs\fP and
+\fIvprintf\fP for detailed descriptions.
+.PP
+SVr4 added no new variations of \fBprintw\fP,
+but provided for using <varargs.h> or <stdarg.h> to define the \fBva_list\fP
+type.
+.PP
+X/Open Curses added \fBvw_printw\fP to replace \fBvwprintw\fP,
+stating that its \fBva_list\fP definition requires <stdarg.h>.
 .SH PORTABILITY
 In this implementation, \fBvw_printw\fP and \fBvwprintw\fP are equivalent,
 to support legacy applications.