.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_initscr.3x,v 1.50 2023/09/16 23:37:03 tom Exp $
-.TH curs_initscr 3X 2023-09-16 "ncurses 6.4" "Library calls"
+.\" $Id: curs_initscr.3x,v 1.54 2023/11/11 23:20:20 tom Exp $
+.TH curs_initscr 3X 2023-11-11 "ncurses 6.4" "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
..
-.ie \n(.g .ds `` \(lq
-.el .ds `` ``
-.ie \n(.g .ds '' \(rq
-.el .ds '' ''
.SH NAME
\fB\%initscr\fP,
\fB\%newterm\fP,
\fB\%delscreen\fP \-
initialize, manipulate, or tear down \fIcurses\fR terminal interface
.SH SYNOPSIS
-\fB#include <curses.h>\fP
-.sp
-\fBWINDOW *initscr(void);\fP
-.br
-\fBint endwin(void);\fP
-.sp
-\fBbool isendwin(void);\fP
-.sp
-\fBSCREEN *newterm(const char *\fItype\fB, FILE *\fIoutf\fB, FILE *\fIinf\fB);\fR
-.br
-\fBSCREEN *set_term(SCREEN *\fInew\fB);\fR
-.br
-\fBvoid delscreen(SCREEN* \fIsp\fB);\fR
+.nf
+\fB#include <curses.h>
+.PP
+\fBWINDOW *initscr(void);
+\fBint endwin(void);
+.PP
+\fBbool isendwin(void);
+.PP
+\fBSCREEN *newterm(const char *\fItype\fP, FILE *\fIoutf\fP, FILE *\fIinf\fP);
+\fBSCREEN *set_term(SCREEN *\fInew\fP);
+\fBvoid delscreen(SCREEN* \fIsp\fP);
+.fi
.SH DESCRIPTION
.SS initscr
\fBinitscr\fP is normally the first \fBcurses\fP routine to call when
X/Open defines no error conditions.
In this implementation
.bP
-\fBendwin\fP returns an error if the terminal was not initialized.
+\fBendwin\fP returns an error if
+.RS
+.bP
+the terminal was not initialized, or
+.bP
+\fBendwin\fP is called more than once without updating the screen, or
+.bP
+\fBreset_shell_mode\fP(3X) returns an error.
+.RE
.bP
\fBnewterm\fP
returns an error if it cannot allocate the data structures for the screen,
standard screen \fBstdscr\fP,
and update other data such as \fBLINES\fP and \fBCOLS\fP.
.SH SEE ALSO
-\fBcurses\fP(3X),
-\fBcurs_kernel\fP(3X),
-\fBcurs_refresh\fP(3X),
-\fBcurs_slk\fP(3X),
-\fBcurs_terminfo\fP(3X),
-\fBcurs_util\fP(3X),
-\fBcurs_variables\fP(3X).
+\fB\%curses\fP(3X),
+\fB\%curs_kernel\fP(3X),
+\fB\%curs_refresh\fP(3X),
+\fB\%curs_slk\fP(3X),
+\fB\%curs_terminfo\fP(3X),
+\fB\%curs_util\fP(3X),
+\fB\%curs_variables\fP(3X)