ncurses 6.2 - patch 20201003
[ncurses.git] / man / curs_touch.3x
index 9fa6d370b9a225f3769631ae4daed2329f155efe..e53207896529db531f2c0e697e729f8ec7785492 100644 (file)
@@ -1,5 +1,6 @@
 .\"***************************************************************************
-.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
+.\" Copyright 2018,2020 Thomas E. Dickey                                     *
+.\" Copyright 1998-2015,2017 Free Software Foundation, Inc.                  *
 .\"                                                                          *
 .\" Permission is hereby granted, free of charge, to any person obtaining a  *
 .\" copy of this software and associated documentation files (the            *
@@ -26,7 +27,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_touch.3x,v 1.14 2010/12/04 18:38:55 tom Exp $
+.\" $Id: curs_touch.3x,v 1.22 2020/02/02 23:34:34 tom Exp $
 .TH curs_touch 3X ""
 .na
 .hy 0
 .SH DESCRIPTION
 The \fBtouchwin\fR and \fBtouchline\fR routines throw away all
 optimization information about which parts of the window have been
-touched, by pretending that the entire window has been drawn on.  This
+touched, by pretending that the entire window has been drawn on.
+This
 is sometimes necessary when using overlapping windows, since a change
 to one window affects the other window, but the records of which lines
-have been changed in the other window do not reflect the change.  The
+have been changed in the other window do not reflect the change.
+The
 routine \fBtouchline\fR only pretends that \fIcount\fR lines have been
 changed, beginning with line \fIstart\fR.
 .PP
@@ -84,13 +87,22 @@ preceding routine descriptions.
 .PP
 X/Open does not define any error conditions.
 In this implementation
-.RS
+.RS 3
 .TP 5
 \fBis_linetouched\fP
 returns an error 
 if the window pointer is null, or
 if the line number is outside the window.
-Note that ERR is distinct from TRUE and FALSE, which are the normal return values of this function.
+.IP
+The constant \fBERR\fP is distinct from \fBTRUE\fP and \fBFALSE\fP,
+which are the normal return values of this function.
+Because the function returns a \fBbool\fP,
+returning \fBERR\fP (which is neither \fBTRUE\fP nor \fBFALSE\fP)
+may not be supported by the compiler.
+.IP
+To provide error-checking and also match the X/Open function prototype,
+the \fBERR\fP is provided by a macro named \fBis_linetouched\fP.
+The actual function returns \fBFALSE\fP when it detects an error.
 .TP 5
 \fBwtouchln\fP
 returns an error 
@@ -98,14 +110,19 @@ if the window pointer is null, or
 if the line number is outside the window.
 .RE
 .SH PORTABILITY
-The XSI Curses standard, Issue 4 describes these functions.
 .PP
-Some historic curses implementations had, as an undocumented feature, the
-ability to do the equivalent of \fBclearok(..., 1)\fR by saying
-\fBtouchwin(stdscr)\fR or \fBclear(stdscr)\fR.  This will not work under
-ncurses.
+These functions were introduced by SVr4.
+The Solaris curses header file,
+for instance, defines both an actual function and macro for each.
+The macros give the same result as the actual functions.
+SVr4 curses does not check the window parameter \fIwin\fP to ensure
+that it is not \fBNULL\fP;
+otherwise this implementation behaves the same as SVr4.
+.PP
+The XSI Curses standard, Issue 4 describes these functions,
+but defines no error conditions.
 .SH NOTES
-Note that all routines except \fBwtouchln\fR may be macros.
+All of these routines except \fBwtouchln\fR may be macros.
 .SH SEE ALSO
 \fBcurses\fR(3X),
 \fBcurs_refresh\fR(3X),