+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ Note that <B>pechochar</B> may be a macro.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ BSD curses has no <I>pad</I> feature.
+
+ SVr2 curses (1986) provided the <B>newpad</B> and related functions, document-
+ ing them in a single line each. SVr3 (1987) provided more extensive
+ documentation.
+
+ The documentation does not explain the term <I>pad</I>. However, the Apollo
+ <I>Aegis</I> workstation operating system supported a graphical <I>pad</I> feature:
+
+ <B>o</B> These graphical pads could be much larger than the computer's dis-
+ play.
+
+ <B>o</B> The read-only output from a command could be scrolled back to in-
+ spect, and select text from the pad.
+
+ The two uses may be related.
+
+ The XSI Curses standard, Issue 4 describes these functions, without
+ significant change from the SVr3 documentation. It describes no error
+ conditions. The behavior of <B>subpad</B> if the parent window is not a pad
+ is undocumented, and is not checked by the vendor Unix implementations:
+
+ <B>o</B> SVr4 curses sets a flag in the <B>WINDOW</B> structure in <B>newpad</B> which
+ tells if the window is a <I>pad</I>.
+
+ However, it uses this information only in <B>waddch</B> (to decide if it
+ should call <B>wrefresh</B>) and <B>wscrl</B> (to avoid scrolling a pad), and
+ does not check in <B>wrefresh</B> to ensure that the pad is refreshed
+ properly.
+
+ <B>o</B> Solaris X/Open Curses checks if a window is a pad in <B>wnoutrefresh</B>,
+ returning <B>ERR</B> in that case.
+
+ However, it only sets the flag for subwindows if the parent window
+ is a pad. Its <B>newpad</B> function does not set this information. Con-
+ sequently, the check will never fail.
+
+ It makes no comparable check in <B>pnoutrefresh</B>, though interestingly
+ enough, a comment in the source code states that the lack of a
+ check was an MKS extension.
+
+ <B>o</B> NetBSD 7 curses sets a flag in the <B>WINDOW</B> structure for <B>newpad</B> and
+ <B>subpad</B>, using this to help with the distinction between <B>wnoutre-</B>
+ <B>fresh</B> and <B>pnoutrefresh</B>.
+
+ It does not check for the case where a subwindow is created in a
+ pad using <B>subwin</B> or <B>derwin</B>.
+
+ The <B>dupwin</B> function returns a regular window when duplicating a
+ pad. Likewise, <B>getwin</B> always returns a window, even if the saved
+ data was from a pad.
+
+ This implementation
+
+ <B>o</B> sets a flag in the <B>WINDOW</B> structure for <B>newpad</B> and <B>subpad</B>,
+
+ <B>o</B> allows a <B>subwin</B> or <B>derwin</B> call to succeed having a pad parent by
+ forcing the subwindow to be a pad,
+
+ <B>o</B> checks in both <B>wnoutrefresh</B> and <B>pnoutrefresh</B> to ensure that pads
+ and windows are handled distinctly, and
+
+ <B>o</B> ensures that <B>dupwin</B> and <B>getwin</B> treat pads versus windows consis-
+ tently.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_refresh.3X.html">curs_refresh(3X)</A></B>, <B><A HREF="curs_touch.3X.html">curs_touch(3X)</A></B>, <B><A HREF="curs_addch.3X.html">curs_addch(3X)</A></B>.