X-Git-Url: http://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=man%2Fcurs_ins_wstr.3x;h=57212745447a2f473989befee6a478b7a956e4e9;hb=HEAD;hp=648560708f47dcf2f692fe37d0d7d66daf60fee7;hpb=31c4bcf3307145fc5368b4aaf15e41bdd66a984b;p=ncurses.git diff --git a/man/curs_ins_wstr.3x b/man/curs_ins_wstr.3x index 64856070..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,12 +27,23 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: curs_ins_wstr.3x,v 1.20 2023/09/16 23:37:03 tom Exp $ -.TH curs_ins_wstr 3X 2023-09-16 "ncurses 6.4" "Library calls" -.ie \n(.g .ds `` \(lq -.el .ds `` `` -.ie \n(.g .ds '' \(rq -.el .ds '' '' +.\" $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 +.\} +.el \{\ +.ie t .ds `` `` +.el .ds `` "" +.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, @@ -45,64 +56,99 @@ insert a wide-character string in a \fIcurses\fR window .SH SYNOPSIS .nf -\fB#include \fP -.sp -\fBint ins_wstr(const wchar_t *\fIwstr);\fR -.br -\fBint ins_nwstr(const wchar_t *\fIwstr\fB, int \fIn\fB);\fR -.br -\fBint wins_wstr(WINDOW *\fIwin\fB, const wchar_t *\fIwstr\fB);\fR -.br -\fBint wins_nwstr(WINDOW *\fIwin\fB, const wchar_t *\fIwstr\fB, int \fIn\fB);\fR -.sp -\fBint mvins_wstr(int \fIy\fB, int \fIx\fB, const wchar_t *\fIwstr\fB);\fR -.br -\fBint mvins_nwstr(int \fIy\fB, int \fIx\fB, const wchar_t *\fIwstr\fB, int \fIn\fB);\fR -.br -\fBint mvwins_wstr(WINDOW *\fIwin\fB, int \fIy\fB, int \fIx\fB, const wchar_t *\fIwstr\fB);\fR -.br -\fBint mvwins_nwstr(WINDOW *\fIwin\fB, int \fIy\fB, int \fIx\fB, const wchar_t *\fIwstr\fB, int \fIn\fB);\fR +\fB#include +.PP +\fBint ins_wstr(const wchar_t *\fIwstr\fP); +\fBint ins_nwstr(const wchar_t *\fIwstr\fP, int \fIn\fP); +\fBint wins_wstr(WINDOW *\fIwin\fP, const wchar_t *\fIwstr\fP); +\fBint wins_nwstr(WINDOW *\fIwin\fP, const wchar_t *\fIwstr\fP, int \fIn\fP); +.PP +\fBint mvins_wstr(int \fIy\fP, int \fIx\fP, const wchar_t *\fIwstr\fP); +\fBint mvins_nwstr(int \fIy\fP, int \fIx\fP, const wchar_t *\fIwstr\fP, int \fIn\fP); +\fBint mvwins_wstr(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP, const wchar_t *\fIwstr\fP); +\fBint mvwins_nwstr(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP, const wchar_t *\fIwstr\fP, int \fIn\fP); .fi .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 -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. +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 +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 -\fBcurses\fP(3X), -\fBcurs_insstr\fP(3X), -\fBcurs_in_wch\fP(3X), -\fBcurs_ins_wch\fP(3X). +\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_ins_wch\fP(3X), +\fB\%curs_in_wch\fP(3X)