X-Git-Url: http://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=man%2Fcurs_ins_wstr.3x;h=57212745447a2f473989befee6a478b7a956e4e9;hb=HEAD;hp=db27fb948bb1897281678491a1881b3984e77d38;hpb=122d3739b3c11c83decc625d53f26fff6e825710;p=ncurses.git diff --git a/man/curs_ins_wstr.3x b/man/curs_ins_wstr.3x index db27fb94..37a58302 100644 --- a/man/curs_ins_wstr.3x +++ b/man/curs_ins_wstr.3x @@ -1,5 +1,5 @@ .\"*************************************************************************** -.\" Copyright 2019-2022,2023 Thomas E. Dickey * +.\" Copyright 2019-2023,2024 Thomas E. Dickey * .\" Copyright 2002-2012,2017 Free Software Foundation, Inc. * .\" * .\" Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,8 +27,8 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: curs_ins_wstr.3x,v 1.25 2023/11/11 11:43:21 tom Exp $ -.TH curs_ins_wstr 3X 2023-11-11 "ncurses 6.4" "Library calls" +.\" $Id: curs_ins_wstr.3x,v 1.42 2024/06/08 21:04:04 tom Exp $ +.TH curs_ins_wstr 3X 2024-06-08 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls" .ie \n(.g \{\ .ds `` \(lq .ds '' \(rq @@ -39,6 +39,11 @@ .ie t .ds '' '' .el .ds '' "" .\} +. +.de bP +.ie n .IP \(bu 4 +.el .IP \(bu 2 +.. .SH NAME \fB\%ins_wstr\fP, \fB\%ins_nwstr\fP, @@ -66,43 +71,84 @@ insert a wide-character string in a \fIcurses\fR window .SH DESCRIPTION These routines insert a \fBwchar_t\fP character string (as many characters as will fit on the line) -before the character under the cursor. +before the character under the cursor, +as if calling \fBwins_wch\fP(3X). All characters to the right of the cursor are shifted right, with the possibility of the rightmost characters on the line being lost. No wrapping is performed. +.PP The cursor position does not change (after moving to \fIy\fP, \fIx\fP, if specified). -The four routines with \fIn\fP as the last argument +.PP +The functions with \fIn\fP as the last argument insert a leading substring of at most \fIn\fP \fBwchar_t\fP characters. -If \fIn\fP is less than 1, the entire string is inserted. +If \fIn\fP is less than zero, the entire string is inserted +(stopping on a L'\e0' character). +.PP +Special characters are handled as in \fBwadd_wch\fP(3X). +.SH RETURN VALUE +These functions return +.B OK +on success and +.B ERR +on failure. .PP -If a character in \fIwstr\fP is a tab, newline, carriage return or -backspace, the cursor is moved appropriately within the window. -A newline also does a \fBclrtoeol\fP before moving. -Tabs are considered to be at every eighth column. -If a character in \fIwstr\fP is another control character, -it is drawn in the \fB^\fIX\fR notation. -Calling \fBwin_wch\fP after adding a control character -(and moving to it, if necessary) -does not return the control character, -but instead returns a character in the ^-representation -of the control character. +X/Open Curses does not specify any error conditions. +In +.IR \%ncurses "," +they return +.B ERR +if +.bP +.I win +is +.BR NULL "," +.bP +.I wstr +is +.BR NULL "," +or +.bP +an internal \fB\%wins_wch\fP(3X) call returns +.BR ERR "." +.PP +Functions prefixed with \*(``mv\*('' first perform cursor movement and +fail if the position +.RI ( y , +.IR x ) +is outside the window boundaries. .SH NOTES -Note that all but wins_nwstr may be macros. +All of these functions except +.B \%wins_nwstr +may be implemented as macros. .PP -If the first character in the string is a nonspacing character, these -functions will fail. -XSI does not define what will happen if a nonspacing character follows -a control character. -.SH RETURN VALUE -Upon successful completion, these functions return \fBOK\fP. -Otherwise, they return \fBERR\fP. +If the first character in the string is a non-spacing character, +these functions return +.BR ERR "." +X/Open Curses does not specify what happens +if a non-spacing character follows a control character. +.SH PORTABILITY +X/Open Curses, +Issue 4 describes these functions. +It specifies no error conditions for them. .PP -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. +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 +.I curses +and Solaris +.I xcurses +implementations. +Nevertheless, +Issue 7 retains it. .SH SEE ALSO +\fB\%curs_insstr\fP(3X) describes comparable functions of the +.I \%ncurses +library in its non-wide-character configuration. +.PP \fB\%curses\fP(3X), -\fB\%curs_insstr\fP(3X), \fB\%curs_ins_wch\fP(3X), \fB\%curs_in_wch\fP(3X)