.\"***************************************************************************
-.\" Copyright 2019-2022,2023 Thomas E. Dickey *
+.\" Copyright 2019-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2010,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_insstr.3x,v 1.44 2023/11/18 23:46:00 tom Exp $
-.TH curs_insstr 3X 2023-11-18 "ncurses 6.4" "Library calls"
+.\" $Id: curs_insstr.3x,v 1.55 2024/06/08 21:03:03 tom Exp $
+.TH curs_insstr 3X 2024-06-08 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.SH RETURN VALUE
All functions return the integer \fBERR\fP upon failure and \fBOK\fP on success.
.PP
-X/Open does not define any error conditions.
-This implementation returns an error
+X/Open Curses does not specify any error conditions.
+This implementation returns
+.B ERR
.bP
if the \fIwin\fP parameter is null or
.bP
if the \fIstr\fP parameter is null or
.bP
-the \fBwinsch\fP(3X) function returns an error.
+the \fBwinsch\fP(3X) function returns
+.BR ERR "."
.PP
-Functions with a \*(``mv\*('' prefix first perform a cursor movement using
-\fBwmove\fP(3X), and return an error if the position is outside the window,
-or if the window pointer is null.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.SH NOTES
All but \fBwinsnstr\fP may be macros.
.SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4, which adds
-const qualifiers to the arguments.
+X/Open Curses,
+Issue 4 describes these functions.
+It specifies no error conditions for them.
.PP
-The Single Unix Specification, Version 2 states that
-\fBinsnstr\fP and \fBwinsnstr\fP perform wrapping.
-This is probably an error, since it makes this group of functions inconsistent.
-Also, no implementation of curses documents this inconsistency.
+Issue 4 distinguished
+.B \%insnstr
+and
+.B \%winsnstr
+by stating they \*(``do not perform wrapping\*(''.
+This was probably an error,
+since it makes this group of functions inconsistent.
+No implementation of
+.I curses
+documents this inconsistency,
+and Issue 7 removed it.
.PP
-X/Open states that the entire string is inserted if \fIn\fP is less than 1.
+Issue 4 states that the entire string is inserted if
+.I n
+is less than 1.
This is probably an error,
because it is inconsistent with other functions,
-and differs from the SVr4 and X/Open implementations on Solaris.
+and differs from the SVr4
+.I curses
+and Solaris
+.I xcurses
+implementations.
+Nevertheless,
+Issue 7 retains it.
.SH SEE ALSO
+\fB\%curs_ins_wstr\fP(3X) describes comparable functions of the
+.I \%ncurses
+library in its wide-character configuration
+.RI \%( ncursesw ).
+.PP
\fB\%curses\fP(3X),
\fB\%curs_inch\fP(3X),
\fB\%curs_ins_wstr\fP(3X),