diff --git a/doc/html/Ada95.html b/doc/html/Ada95.html
index 77557e7..1affa3f 100644
--- a/doc/html/Ada95.html
+++ b/doc/html/Ada95.html
@@ -1,7 +1,8 @@
 <!--
-  $Id: Ada95.html,v 1.14 2013/05/18 21:34:34 tom Exp $
+  $Id: Ada95.html,v 1.18 2022/03/05 16:09:29 tom Exp $
   ****************************************************************************
-  * Copyright (c) 1998-2010,2013 Free Software Foundation, Inc.              *
+  * Copyright 2019-2021,2022 Thomas E. Dickey                                *
+  * Copyright 2000-2010,2013 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -36,7 +37,7 @@
   "HTML Tidy for Linux (vers 25 March 2009), see www.w3.org">
 
   <title>Ada95 Binding for ncurses</title>
-  <link rev="made" href="mailto:bug-ncurses@gnu.org">
+  <link rel="author" href="mailto:bug-ncurses@gnu.org">
   <meta http-equiv="Content-Type" content=
   "text/html; charset=us-ascii">
 </head>
@@ -56,13 +57,13 @@
     ncurses package, a clone of the SVr4 curses model.<br>
     I did the development on an Intel box running the latest stable
     release of <a href="http://www.linux.org">Linux</a>, ncurses
-    and the most recent released <a href="http://www.gnat.com">GNU
+    and the most recent released <a href="https://ftp.gnu.org/gnu/gcc/">GNU 
     Ada Translator</a> gnat versions. For any older versions of
     ncurses and gnat it is not guaranteed to work.</li>
 
     <li>You must have the m4 macroprocessor to build this package.
     If you don't have this program, you can get the FSF version
-    <a href="ftp://ftp.gnu.org/pub/gnu/">here</a>.</li>
+    <a href="https://ftp.gnu.org/pub/gnu/">here</a>.</li>
 
     <li>Ada programs are supposed to be readable. One of my
     favorite methods to make code readable is to use expressive
@@ -72,14 +73,14 @@
 
     <li>This is not a typical one-to-one interface mapping. It is
     close to one-to-one on the functional level. Each (n)curses
-    function has it's counterpart with a more or less similar
+    function has its counterpart with a more or less similar
     formal parameter list in the binding. It is not one-to-one with
     respect to the datatypes. I tried to make records out of the
     flat chtype and similar structures, so you don't have to do bit
     operations to mark an attributed character as bold. Just make
     the boolean member <strong>bold</strong> of the record true.
     The binding also hides the structures like WINDOW, PANEL, MENU,
-    FORM etc. ! It's a pure functional API.</li>
+    FORM etc. ! It is a pure functional API.</li>
 
     <li>I try to do as much error checking as possible and feasible
     in the binding. I will raise an Ada exception when something
@@ -106,7 +107,7 @@
 
     <li>Although Ada95 is an OO Language, this binding doesn't
     provide an OO abstraction of the (n)curses functionality. As
-    mentioned above it's a thin binding for the (n)curses
+    mentioned above it is a thin binding for the (n)curses
     functions. But without any doubt it would be nice to build on
     top of this an OO abstraction of (n)curses functionality.<br>
     The only exception is the method how fieldtypes are represented
diff --git a/doc/html/NCURSES-Programming-HOWTO.html b/doc/html/NCURSES-Programming-HOWTO.html
index b1e40a2..9a3f078 100644
--- a/doc/html/NCURSES-Programming-HOWTO.html
+++ b/doc/html/NCURSES-Programming-HOWTO.html
@@ -1,1282 +1,831 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><TITLE
-> NCURSES Programming HOWTO </TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.79"></HEAD
-><BODY
-CLASS="ARTICLE"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="ARTICLE"
-><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
-><A
-NAME="AEN2"
->NCURSES Programming HOWTO</A
-></H1
-><H3
-CLASS="AUTHOR"
-><A
-NAME="AEN4"
-> Pradeep   Padala </A
-></H3
-><DIV
-CLASS="AFFILIATION"
-><DIV
-CLASS="ADDRESS"
-><P
-CLASS="ADDRESS"
-><CODE
-CLASS="EMAIL"
->&#60;<A
-HREF="mailto:ppadala@gmail.com"
->ppadala@gmail.com</A
->&#62;</CODE
-></P
-></DIV
-></DIV
-><P
-CLASS="PUBDATE"
->v1.9, 2005-06-20<BR></P
-><DIV
-CLASS="REVHISTORY"
-><TABLE
-WIDTH="100%"
-BORDER="0"
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
-COLSPAN="3"
-><B
->Revision History</B
-></TH
-></TR
-><TR
-><TD
-ALIGN="LEFT"
->Revision 1.9</TD
-><TD
-ALIGN="LEFT"
->2005-06-20</TD
-><TD
-ALIGN="LEFT"
->Revised by: ppadala</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-COLSPAN="3"
->The license has been changed to the MIT-style license used
-        by NCURSES. Note that the programs are also re-licensed under this.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
->Revision 1.8</TD
-><TD
-ALIGN="LEFT"
->2005-06-17</TD
-><TD
-ALIGN="LEFT"
->Revised by: ppadala</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-COLSPAN="3"
->Lots of updates. Added references and perl examples.
-        Changes to examples. Many grammatical and stylistic changes to the
-        content. Changes to NCURSES history.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
->Revision 1.7.1</TD
-><TD
-ALIGN="LEFT"
->2002-06-25</TD
-><TD
-ALIGN="LEFT"
->Revised by: ppadala</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-COLSPAN="3"
->Added a README file for building and instructions
-        for building from source.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
->Revision 1.7</TD
-><TD
-ALIGN="LEFT"
->2002-06-25</TD
-><TD
-ALIGN="LEFT"
->Revised by: ppadala</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-COLSPAN="3"
->Added "Other formats" section and made a lot of fancy 
-        changes to the programs. Inlining of programs is gone.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
->Revision 1.6.1</TD
-><TD
-ALIGN="LEFT"
->2002-02-24</TD
-><TD
-ALIGN="LEFT"
->Revised by: ppadala</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-COLSPAN="3"
->Removed the old Changelog section, cleaned the makefiles</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
->Revision 1.6</TD
-><TD
-ALIGN="LEFT"
->2002-02-16</TD
-><TD
-ALIGN="LEFT"
->Revised by: ppadala</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-COLSPAN="3"
->Corrected a lot of spelling mistakes, added ACS variables
-        section</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
->Revision 1.5</TD
-><TD
-ALIGN="LEFT"
->2002-01-05</TD
-><TD
-ALIGN="LEFT"
->Revised by: ppadala</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-COLSPAN="3"
->Changed structure to present proper TOC</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
->Revision 1.3.1</TD
-><TD
-ALIGN="LEFT"
->2001-07-26</TD
-><TD
-ALIGN="LEFT"
->Revised by: ppadala</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-COLSPAN="3"
->Corrected maintainers paragraph, Corrected stable release number</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
->Revision 1.3</TD
-><TD
-ALIGN="LEFT"
->2001-07-24</TD
-><TD
-ALIGN="LEFT"
->Revised by: ppadala</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-COLSPAN="3"
->Added copyright notices to main document (LDP license)
-        and programs (GPL), Corrected
-        printw_example.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
->Revision 1.2</TD
-><TD
-ALIGN="LEFT"
->2001-06-05</TD
-><TD
-ALIGN="LEFT"
->Revised by: ppadala</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-COLSPAN="3"
->Incorporated ravi's changes. Mainly to introduction, menu, 
-        form, justforfun sections</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
->Revision 1.1</TD
-><TD
-ALIGN="LEFT"
->2001-05-22</TD
-><TD
-ALIGN="LEFT"
->Revised by: ppadala</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-COLSPAN="3"
->Added "a word about window" section, Added scanw_example.</TD
-></TR
-></TABLE
-></DIV
-><DIV
-><DIV
-CLASS="ABSTRACT"
-><P
-></P
-><A
-NAME="AEN67"
-></A
-><P
->    <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->This document is intended to be an "All in One" guide for programming with 
-ncurses and its sister libraries. We graduate from a simple "Hello World" 
-program to more complex form manipulation. No prior experience in ncurses is 
-assumed. Send comments to <A
-HREF="mailto:ppadala@gmail.com"
-TARGET="_top"
->this address</A
->
-    </I
-></SPAN
->
-    </P
-><P
-></P
-></DIV
-></DIV
-><HR></DIV
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
->1. <A
-HREF="#INTRO"
->Introduction</A
-></DT
-><DD
-><DL
-><DT
->1.1. <A
-HREF="#WHATIS"
->What is NCURSES?</A
-></DT
-><DT
->1.2. <A
-HREF="#WHATCANWEDO"
->What we can do with NCURSES</A
-></DT
-><DT
->1.3. <A
-HREF="#WHERETOGETIT"
->Where to get it</A
-></DT
-><DT
->1.4. <A
-HREF="#PURPOSE"
->Purpose/Scope of the document</A
-></DT
-><DT
->1.5. <A
-HREF="#ABOUTPROGRAMS"
->About the Programs</A
-></DT
-><DT
->1.6. <A
-HREF="#OTHERFORMATS"
->Other Formats of the document</A
-></DT
-><DD
-><DL
-><DT
->1.6.1. <A
-HREF="#LISTFORMATS"
->Readily available formats from tldp.org</A
-></DT
-><DT
->1.6.2. <A
-HREF="#BUILDSOURCE"
->Building from source</A
-></DT
-></DL
-></DD
-><DT
->1.7. <A
-HREF="#CREDITS"
->Credits</A
-></DT
-><DT
->1.8. <A
-HREF="#WISHLIST"
->Wish List</A
-></DT
-><DT
->1.9. <A
-HREF="#COPYRIGHT"
->Copyright</A
-></DT
-></DL
-></DD
-><DT
->2. <A
-HREF="#HELLOWORLD"
->Hello World !!!</A
-></DT
-><DD
-><DL
-><DT
->2.1. <A
-HREF="#COMPILECURSES"
->Compiling With the NCURSES Library</A
-></DT
-><DT
->2.2. <A
-HREF="#DISSECTION"
->Dissection</A
-></DT
-><DD
-><DL
-><DT
->2.2.1. <A
-HREF="#ABOUT-INITSCR"
->About initscr()</A
-></DT
-><DT
->2.2.2. <A
-HREF="#MYST-REFRESH"
->The mysterious refresh()</A
-></DT
-><DT
->2.2.3. <A
-HREF="#ABOUT-ENDWIN"
->About endwin()</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->3. <A
-HREF="#GORY"
->The Gory Details</A
-></DT
-><DT
->4. <A
-HREF="#INIT"
->Initialization</A
-></DT
-><DD
-><DL
-><DT
->4.1. <A
-HREF="#ABOUTINIT"
->Initialization functions</A
-></DT
-><DT
->4.2. <A
-HREF="#RAWCBREAK"
->raw() and cbreak()</A
-></DT
-><DT
->4.3. <A
-HREF="#ECHONOECHO"
->echo() and noecho()</A
-></DT
-><DT
->4.4. <A
-HREF="#KEYPAD"
->keypad()</A
-></DT
-><DT
->4.5. <A
-HREF="#HALFDELAY"
->halfdelay()</A
-></DT
-><DT
->4.6. <A
-HREF="#MISCINIT"
->Miscellaneous Initialization functions</A
-></DT
-><DT
->4.7. <A
-HREF="#INITEX"
->An Example</A
-></DT
-></DL
-></DD
-><DT
->5. <A
-HREF="#AWORDWINDOWS"
->A Word about Windows</A
-></DT
-><DT
->6. <A
-HREF="#PRINTW"
->Output functions</A
-></DT
-><DD
-><DL
-><DT
->6.1. <A
-HREF="#ADDCHCLASS"
->addch() class of functions</A
-></DT
-><DT
->6.2. <A
-HREF="#AEN298"
->mvaddch(), waddch() and mvwaddch()</A
-></DT
-><DT
->6.3. <A
-HREF="#PRINTWCLASS"
->printw() class of functions</A
-></DT
-><DD
-><DL
-><DT
->6.3.1. <A
-HREF="#PRINTWMVPRINTW"
->printw() and mvprintw</A
-></DT
-><DT
->6.3.2. <A
-HREF="#WPRINTWMVWPRINTW"
->wprintw() and mvwprintw</A
-></DT
-><DT
->6.3.3. <A
-HREF="#VWPRINTW"
->vwprintw()</A
-></DT
-><DT
->6.3.4. <A
-HREF="#SIMPLEPRINTWEX"
->A Simple printw example</A
-></DT
-></DL
-></DD
-><DT
->6.4. <A
-HREF="#ADDSTRCLASS"
->addstr() class of functions</A
-></DT
-><DT
->6.5. <A
-HREF="#ACAUTION"
->A word of caution</A
-></DT
-></DL
-></DD
-><DT
->7. <A
-HREF="#SCANW"
->Input functions</A
-></DT
-><DD
-><DL
-><DT
->7.1. <A
-HREF="#GETCHCLASS"
->getch() class of functions</A
-></DT
-><DT
->7.2. <A
-HREF="#SCANWCLASS"
->scanw() class of functions</A
-></DT
-><DD
-><DL
-><DT
->7.2.1. <A
-HREF="#SCANWMVSCANW"
->scanw() and mvscanw</A
-></DT
-><DT
->7.2.2. <A
-HREF="#WSCANWMVWSCANW"
->wscanw() and mvwscanw()</A
-></DT
-><DT
->7.2.3. <A
-HREF="#VWSCANW"
->vwscanw()</A
-></DT
-></DL
-></DD
-><DT
->7.3. <A
-HREF="#GETSTRCLASS"
->getstr() class of functions</A
-></DT
-><DT
->7.4. <A
-HREF="#GETSTREX"
->Some examples</A
-></DT
-></DL
-></DD
-><DT
->8. <A
-HREF="#ATTRIB"
->Attributes</A
-></DT
-><DD
-><DL
-><DT
->8.1. <A
-HREF="#ATTRIBDETAILS"
->The details</A
-></DT
-><DT
->8.2. <A
-HREF="#ATTRONVSATTRSET"
->attron() vs attrset()</A
-></DT
-><DT
->8.3. <A
-HREF="#ATTR_GET"
->attr_get()</A
-></DT
-><DT
->8.4. <A
-HREF="#ATTR_FUNCS"
->attr_ functions</A
-></DT
-><DT
->8.5. <A
-HREF="#WATTRFUNCS"
->wattr functions</A
-></DT
-><DT
->8.6. <A
-HREF="#CHGAT"
->chgat() functions</A
-></DT
-></DL
-></DD
-><DT
->9. <A
-HREF="#WINDOWS"
->Windows</A
-></DT
-><DD
-><DL
-><DT
->9.1. <A
-HREF="#WINDOWBASICS"
->The basics</A
-></DT
-><DT
->9.2. <A
-HREF="#LETBEWINDOW"
->Let there be a Window !!!</A
-></DT
-><DT
->9.3. <A
-HREF="#BORDEREXEXPL"
->Explanation</A
-></DT
-><DT
->9.4. <A
-HREF="#OTHERSTUFF"
->The other stuff in the example</A
-></DT
-><DT
->9.5. <A
-HREF="#OTHERBORDERFUNCS"
->Other Border functions</A
-></DT
-></DL
-></DD
-><DT
->10. <A
-HREF="#COLOR"
->Colors</A
-></DT
-><DD
-><DL
-><DT
->10.1. <A
-HREF="#COLORBASICS"
->The basics</A
-></DT
-><DT
->10.2. <A
-HREF="#CHANGECOLORDEFS"
->Changing Color Definitions</A
-></DT
-><DT
->10.3. <A
-HREF="#COLORCONTENT"
->Color Content</A
-></DT
-></DL
-></DD
-><DT
->11. <A
-HREF="#KEYS"
->Interfacing with the key board</A
-></DT
-><DD
-><DL
-><DT
->11.1. <A
-HREF="#KEYSBASICS"
->The Basics</A
-></DT
-><DT
->11.2. <A
-HREF="#SIMPLEKEYEX"
->A Simple Key Usage example</A
-></DT
-></DL
-></DD
-><DT
->12. <A
-HREF="#MOUSE"
->Interfacing with the mouse</A
-></DT
-><DD
-><DL
-><DT
->12.1. <A
-HREF="#MOUSEBASICS"
->The Basics</A
-></DT
-><DT
->12.2. <A
-HREF="#GETTINGEVENTS"
->Getting the events</A
-></DT
-><DT
->12.3. <A
-HREF="#MOUSETOGETHER"
->Putting it all Together</A
-></DT
-><DT
->12.4. <A
-HREF="#MISCMOUSEFUNCS"
->Miscellaneous Functions</A
-></DT
-></DL
-></DD
-><DT
->13. <A
-HREF="#SCREEN"
->Screen Manipulation</A
-></DT
-><DD
-><DL
-><DT
->13.1. <A
-HREF="#GETYX"
->getyx() functions</A
-></DT
-><DT
->13.2. <A
-HREF="#SCREENDUMP"
->Screen Dumping</A
-></DT
-><DT
->13.3. <A
-HREF="#WINDOWDUMP"
->Window Dumping</A
-></DT
-></DL
-></DD
-><DT
->14. <A
-HREF="#MISC"
->Miscellaneous features</A
-></DT
-><DD
-><DL
-><DT
->14.1. <A
-HREF="#CURSSET"
->curs_set()</A
-></DT
-><DT
->14.2. <A
-HREF="#TEMPLEAVE"
->Temporarily Leaving Curses mode</A
-></DT
-><DT
->14.3. <A
-HREF="#ACSVARS"
->ACS_ variables</A
-></DT
-></DL
-></DD
-><DT
->15. <A
-HREF="#OTHERLIB"
->Other libraries</A
-></DT
-><DT
->16. <A
-HREF="#PANELS"
->Panel Library</A
-></DT
-><DD
-><DL
-><DT
->16.1. <A
-HREF="#PANELBASICS"
->The Basics</A
-></DT
-><DT
->16.2. <A
-HREF="#COMPILEPANELS"
->Compiling With the Panels Library</A
-></DT
-><DT
->16.3. <A
-HREF="#PANELBROWSING"
->Panel Window Browsing</A
-></DT
-><DT
->16.4. <A
-HREF="#USERPTRUSING"
->Using User Pointers</A
-></DT
-><DT
->16.5. <A
-HREF="#PANELMOVERESIZE"
->Moving and Resizing Panels</A
-></DT
-><DT
->16.6. <A
-HREF="#PANELSHOWHIDE"
->Hiding and Showing Panels</A
-></DT
-><DT
->16.7. <A
-HREF="#PANELABOVE"
->panel_above() and panel_below() Functions</A
-></DT
-></DL
-></DD
-><DT
->17. <A
-HREF="#MENUS"
->Menus Library</A
-></DT
-><DD
-><DL
-><DT
->17.1. <A
-HREF="#MENUBASICS"
->The Basics</A
-></DT
-><DT
->17.2. <A
-HREF="#COMPILEMENUS"
->Compiling With the Menu Library</A
-></DT
-><DT
->17.3. <A
-HREF="#MENUDRIVER"
->Menu Driver: The work horse of the menu system</A
-></DT
-><DT
->17.4. <A
-HREF="#MENUWINDOWS"
->Menu Windows</A
-></DT
-><DT
->17.5. <A
-HREF="#SCROLLMENUS"
->Scrolling Menus</A
-></DT
-><DT
->17.6. <A
-HREF="#MULTICOLUMN"
->Multi Columnar Menus</A
-></DT
-><DT
->17.7. <A
-HREF="#MULTIVALUEMENUS"
->Multi Valued Menus</A
-></DT
-><DT
->17.8. <A
-HREF="#MENUOPT"
->Menu Options</A
-></DT
-><DT
->17.9. <A
-HREF="#MENUUSERPTR"
->The useful User Pointer</A
-></DT
-></DL
-></DD
-><DT
->18. <A
-HREF="#FORMS"
->Forms Library</A
-></DT
-><DD
-><DL
-><DT
->18.1. <A
-HREF="#FORMBASICS"
->The Basics</A
-></DT
-><DT
->18.2. <A
-HREF="#COMPILEFORMS"
->Compiling With the Forms Library</A
-></DT
-><DT
->18.3. <A
-HREF="#PLAYFIELDS"
->Playing with Fields</A
-></DT
-><DD
-><DL
-><DT
->18.3.1. <A
-HREF="#FETCHINFO"
->Fetching Size and Location of Field</A
-></DT
-><DT
->18.3.2. <A
-HREF="#MOVEFIELD"
->Moving the field</A
-></DT
-><DT
->18.3.3. <A
-HREF="#JUSTIFYFIELD"
->Field Justification</A
-></DT
-><DT
->18.3.4. <A
-HREF="#FIELDDISPATTRIB"
->Field Display Attributes</A
-></DT
-><DT
->18.3.5. <A
-HREF="#FIELDOPTIONBITS"
->Field Option Bits</A
-></DT
-><DT
->18.3.6. <A
-HREF="#FIELDSTATUS"
->Field Status</A
-></DT
-><DT
->18.3.7. <A
-HREF="#FIELDUSERPTR"
->Field User Pointer</A
-></DT
-><DT
->18.3.8. <A
-HREF="#VARIABLESIZEFIELDS"
->Variable-Sized Fields</A
-></DT
-></DL
-></DD
-><DT
->18.4. <A
-HREF="#FORMWINDOWS"
->Form Windows</A
-></DT
-><DT
->18.5. <A
-HREF="#FILEDVALIDATE"
->Field Validation</A
-></DT
-><DT
->18.6. <A
-HREF="#FORMDRIVER"
->Form Driver: The work horse of the forms system</A
-></DT
-><DD
-><DL
-><DT
->18.6.1. <A
-HREF="#PAGENAVREQ"
->Page Navigation Requests</A
-></DT
-><DT
->18.6.2. <A
-HREF="#INTERFIELDNAVREQ"
->Inter-Field Navigation Requests</A
-></DT
-><DT
->18.6.3. <A
-HREF="#INTRAFIELDNAVREQ"
->Intra-Field Navigation Requests</A
-></DT
-><DT
->18.6.4. <A
-HREF="#SCROLLREQ"
->Scrolling Requests</A
-></DT
-><DT
->18.6.5. <A
-HREF="#EDITREQ"
->Editing Requests</A
-></DT
-><DT
->18.6.6. <A
-HREF="#ORDERREQ"
->Order Requests</A
-></DT
-><DT
->18.6.7. <A
-HREF="#APPLICCOMMANDS"
->Application Commands</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->19. <A
-HREF="#TOOLS"
->Tools and Widget Libraries</A
-></DT
-><DD
-><DL
-><DT
->19.1. <A
-HREF="#CDK"
->CDK (Curses Development Kit)</A
-></DT
-><DD
-><DL
-><DT
->19.1.1. <A
-HREF="#WIDGETLIST"
->Widget List</A
-></DT
-><DT
->19.1.2. <A
-HREF="#CDKATTRACT"
->Some Attractive Features</A
-></DT
-><DT
->19.1.3. <A
-HREF="#CDKCONCLUSION"
->Conclusion</A
-></DT
-></DL
-></DD
-><DT
->19.2. <A
-HREF="#DIALOG"
->The dialog</A
-></DT
-><DT
->19.3. <A
-HREF="#PERLCURSES"
->Perl Curses Modules CURSES::FORM and CURSES::WIDGETS</A
-></DT
-></DL
-></DD
-><DT
->20. <A
-HREF="#JUSTFORFUN"
->Just For Fun !!!</A
-></DT
-><DD
-><DL
-><DT
->20.1. <A
-HREF="#GAMEOFLIFE"
->The Game of Life</A
-></DT
-><DT
->20.2. <A
-HREF="#MAGIC"
->Magic Square</A
-></DT
-><DT
->20.3. <A
-HREF="#HANOI"
->Towers of Hanoi</A
-></DT
-><DT
->20.4. <A
-HREF="#QUEENS"
->Queens Puzzle</A
-></DT
-><DT
->20.5. <A
-HREF="#SHUFFLE"
->Shuffle</A
-></DT
-><DT
->20.6. <A
-HREF="#TT"
->Typing Tutor</A
-></DT
-></DL
-></DD
-><DT
->21. <A
-HREF="#REF"
->References</A
-></DT
-></DL
-></DIV
-><DIV
-CLASS="SECT1"
-><H2
-CLASS="SECT1"
-><A
-NAME="INTRO"
->1. Introduction</A
-></H2
-><P
->In the olden days of teletype terminals, terminals were away from computers and
-were connected to them through serial cables. The terminals could be configured
-by sending a series of bytes. All the capabilities (such as 
-moving the cursor to a new location, erasing part of the screen, scrolling the 
-screen, changing modes etc.) of terminals could be accessed through these 
-series of bytes. These control seeuqnces are usually called escape sequences, 
-because they start 
-with an escape(0x1B) character. Even today, with proper emulation, we can send 
-escape sequences to the emulator and achieve the same effect on a terminal 
-window.</P
-><P
->Suppose you wanted to print a line in color. Try typing this on your console.</P
-><PRE
-CLASS="PROGRAMLISTING"
->echo "^[[0;31;40mIn Color"</PRE
-><P
->The first character is an escape character, which looks like two characters ^ 
-and [. To be able to print it, you have to press CTRL+V and then the ESC key. 
-All the others are normal printable characters. You should be able to see the 
-string "In Color" in red. It stays that way and to revert back to the original 
-mode type this.</P
-><PRE
-CLASS="PROGRAMLISTING"
->echo "^[[0;37;40m"</PRE
-><P
->Now, what do these magic characters mean? Difficult to comprehend? They might
-even be different for different terminals. So the designers of UNIX invented a 
-mechanism named <TT
-CLASS="LITERAL"
->termcap</TT
->. It is a file that
-lists all the capabilities of a particular terminal, along with the escape
-sequences needed to achieve a particular effect. In the later years, this was 
-replaced by <TT
-CLASS="LITERAL"
->terminfo</TT
->. Without delving too 
-much into details, this mechanism allows application 
-programs to query the terminfo database and obtain the control characters to be 
-sent to a terminal or terminal emulator.</P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="WHATIS"
->1.1. What is NCURSES?</A
-></H3
-><P
-> 
-You might be wondering, what the import of all this technical gibberish is.  In
-the above scenario, every application program is supposed to query the terminfo
-and perform the necessary stuff (sending control characters etc.).  It soon became
-difficult to manage this complexity and this gave birth to 'CURSES'.  Curses is
-a pun on the name "cursor optimization". The Curses library forms a wrapper
-over working with raw terminal codes, and provides highly flexible and
-efficient API (Application Programming Interface). It provides functions to
-move the cursor, create windows, produce colors, play with mouse etc.  The
-application programs need not worry about the underlying terminal capabilities.</P
-><P
->So what is NCURSES? NCURSES is a clone of the original System V Release 4.0
-(SVr4) curses. It is a freely distributable library, fully compatible with
-older version of curses.  In short, it is a library of functions that manages
-an application's display on character-cell terminals.  In the remainder of the
-document, the terms curses and ncurses are used interchangeably.  </P
-><P
->A detailed history of NCURSES can be found in the NEWS file from the source
-distribution. The current package is maintained by 
-<A
-HREF="mailto:dickey@his.com"
-TARGET="_top"
->Thomas Dickey</A
->.  
-You can contact the maintainers at <A
-HREF="mailto:bug-ncurses@gnu.org"
-TARGET="_top"
->bug-ncurses@gnu.org</A
->.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="WHATCANWEDO"
->1.2. What we can do with NCURSES</A
-></H3
-><P
->NCURSES not only creates a wrapper over terminal capabilities, but also gives a
-robust framework to create nice looking UI (User Interface)s in text mode.  It
-provides functions to create windows etc.  Its sister libraries panel, menu and
-form provide an extension to the basic curses library. These libraries usually
-come along with curses. One can create applications that contain multiple
-windows, menus, panels and forms. Windows can be managed independently, can
-provide 'scrollability' and even can be hidden.</P
-><P
-> 
-Menus provide the user with an easy command selection option.  Forms allow the
-creation of easy-to-use data entry and display windows.  Panels extend the
-capabilities of ncurses to deal with overlapping and stacked windows.</P
-><P
->These are just some of the basic things we can do with ncurses. As we move
-along, We will see all the capabilities of these libraries. </P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="WHERETOGETIT"
->1.3. Where to get it</A
-></H3
-><P
->All right, now that you know what you can do with ncurses, you must be rearing
-to get started. NCURSES is usually shipped with your installation. In case
-you don't have the library or want to compile it on your own, read on.</P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Compiling the package</I
-></SPAN
-> </P
-><P
->NCURSES can be obtained from <A
-HREF="ftp://ftp.gnu.org/pub/gnu/ncurses/ncurses.tar.gz"
-TARGET="_top"
->ftp://ftp.gnu.org/pub/gnu/ncurses/ncurses.tar.gz</A
-> or any of the ftp 
-sites mentioned in <A
-HREF="http://www.gnu.org/order/ftp.html"
-TARGET="_top"
->http://www.gnu.org/order/ftp.html</A
->. </P
-><P
->Read the README and INSTALL files for details on to how to install it. It 
-usually involves the following operations.</P
-><PRE
-CLASS="PROGRAMLISTING"
->    tar zxvf ncurses&lt;version&gt;.tar.gz  # unzip and untar the archive
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
+"http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+  <meta name="generator" content=
+  "HTML Tidy for HTML5 for Linux version 5.6.0">
+  <title>NCURSES Programming HOWTO</title>
+  <meta name="GENERATOR" content=
+  "Modular DocBook HTML Stylesheet Version 1.79">
+</head>
+<body class="ARTICLE" bgcolor="#FFFFFF" text="#000000" link=
+"#0000FF" vlink="#840084" alink="#0000FF">
+  <div class="ARTICLE">
+    <div class="TITLEPAGE">
+      <h1 class="TITLE"><a name="AEN2" id="AEN2">NCURSES
+      Programming HOWTO</a></h1>
+
+      <h3 class="AUTHOR"><a name="AEN4" id="AEN4">Pradeep
+      Padala</a></h3>
+
+      <div class="AFFILIATION">
+        <div class="ADDRESS">
+          <p class="ADDRESS"><code class="EMAIL">&lt;<a href=
+          "mailto:ppadala@gmail.com">ppadala@gmail.com</a>&gt;</code>
+          </p>
+        </div>
+      </div>
+
+      <p class="PUBDATE">v1.9, 2005-06-20<br></p>
+
+      <div class="REVHISTORY">
+        <table width="100%" border="0" summary="revisions">
+          <tr>
+            <th align="left" valign="top" colspan="3"><b>Revision
+            History</b>
+            </th>
+          </tr>
+
+          <tr>
+            <td align="left">Revision 2.0</td>
+            <td align="left">2022-12-03</td>
+            <td align="left">Revised by: dickey</td>
+          </tr>
+
+          <tr>
+            <td align="left" colspan="3">Fixes for the sample
+            programs, Correct documentation errata.</td>
+          </tr>
+
+          <tr>
+            <td align="left">Revision 1.9</td>
+            <td align="left">2005-06-20</td>
+            <td align="left">Revised by: ppadala</td>
+          </tr>
+
+          <tr>
+            <td align="left" colspan="3">The license has been
+            changed to the MIT-style license used by NCURSES. Note
+            that the programs are also re-licensed under this.</td>
+          </tr>
+
+          <tr>
+            <td align="left">Revision 1.8</td>
+            <td align="left">2005-06-17</td>
+            <td align="left">Revised by: ppadala</td>
+          </tr>
+
+          <tr>
+            <td align="left" colspan="3">Lots of updates. Added
+            references and perl examples. Changes to examples. Many
+            grammatical and stylistic changes to the content.
+            Changes to NCURSES history.</td>
+          </tr>
+
+          <tr>
+            <td align="left">Revision 1.7.1</td>
+            <td align="left">2002-06-25</td>
+            <td align="left">Revised by: ppadala</td>
+          </tr>
+
+          <tr>
+            <td align="left" colspan="3">Added a README file for
+            building and instructions for building from
+            source.</td>
+          </tr>
+
+          <tr>
+            <td align="left">Revision 1.7</td>
+            <td align="left">2002-06-25</td>
+            <td align="left">Revised by: ppadala</td>
+          </tr>
+
+          <tr>
+            <td align="left" colspan="3">Added "Other formats"
+            section and made a lot of fancy changes to the
+            programs. Inlining of programs is gone.</td>
+          </tr>
+
+          <tr>
+            <td align="left">Revision 1.6.1</td>
+            <td align="left">2002-02-24</td>
+            <td align="left">Revised by: ppadala</td>
+          </tr>
+
+          <tr>
+            <td align="left" colspan="3">Removed the old Changelog
+            section, cleaned the makefiles</td>
+          </tr>
+
+          <tr>
+            <td align="left">Revision 1.6</td>
+            <td align="left">2002-02-16</td>
+            <td align="left">Revised by: ppadala</td>
+          </tr>
+
+          <tr>
+            <td align="left" colspan="3">Corrected a lot of
+            spelling mistakes, added ACS variables section</td>
+          </tr>
+
+          <tr>
+            <td align="left">Revision 1.5</td>
+            <td align="left">2002-01-05</td>
+            <td align="left">Revised by: ppadala</td>
+          </tr>
+
+          <tr>
+            <td align="left" colspan="3">Changed structure to
+            present proper TOC</td>
+          </tr>
+
+          <tr>
+            <td align="left">Revision 1.3.1</td>
+            <td align="left">2001-07-26</td>
+            <td align="left">Revised by: ppadala</td>
+          </tr>
+
+          <tr>
+            <td align="left" colspan="3">Corrected maintainers
+            paragraph, Corrected stable release number</td>
+          </tr>
+
+          <tr>
+            <td align="left">Revision 1.3</td>
+            <td align="left">2001-07-24</td>
+            <td align="left">Revised by: ppadala</td>
+          </tr>
+
+          <tr>
+            <td align="left" colspan="3">Added copyright notices to
+            main document (LDP license) and programs (GPL),
+            Corrected printw_example.</td>
+          </tr>
+
+          <tr>
+            <td align="left">Revision 1.2</td>
+            <td align="left">2001-06-05</td>
+            <td align="left">Revised by: ppadala</td>
+          </tr>
+
+          <tr>
+            <td align="left" colspan="3">Incorporated ravi's
+            changes. Mainly to introduction, menu, form, justforfun
+            sections</td>
+          </tr>
+
+          <tr>
+            <td align="left">Revision 1.1</td>
+            <td align="left">2001-05-22</td>
+            <td align="left">Revised by: ppadala</td>
+          </tr>
+
+          <tr>
+            <td align="left" colspan="3">Added "a word about
+            window" section, Added scanw_example.</td>
+          </tr>
+        </table>
+      </div>
+
+      <div>
+        <div class="ABSTRACT">
+          <a name="AEN72" id="AEN72"></a>
+          <p><span class="emphasis"><i class="EMPHASIS">This
+          document is intended to be an "All in One" guide for
+          programming with ncurses and its sister libraries. We
+          graduate from a simple "Hello World" program to more
+          complex form manipulation. No prior experience in ncurses
+          is assumed. Send comments to <a href=
+          "mailto:ppadala@gmail.com" target="_top">this
+          address</a></i></span>
+          </p>
+        </div>
+      </div>
+
+      <hr>
+    </div>
+
+    <div class="TOC">
+      <dl>
+        <dt><b>Table of Contents</b>
+        </dt>
+
+        <dt>1. <a href="#INTRO">Introduction</a></dt>
+
+        <dd>
+          <dl>
+            <dt>1.1. <a href="#WHATIS">What is NCURSES?</a></dt>
+
+            <dt>1.2. <a href="#WHATCANWEDO">What we can do with
+            NCURSES</a></dt>
+
+            <dt>1.3. <a href="#WHERETOGETIT">Where to get
+            it</a></dt>
+
+            <dt>1.4. <a href="#PURPOSE">Purpose/Scope of the
+            document</a></dt>
+
+            <dt>1.5. <a href="#ABOUTPROGRAMS">About the
+            Programs</a></dt>
+
+            <dt>1.6. <a href="#OTHERFORMATS">Other Formats of the
+            document</a></dt>
+
+            <dd>
+              <dl>
+                <dt>1.6.1. <a href="#LISTFORMATS">Readily available
+                formats from tldp.org</a></dt>
+
+                <dt>1.6.2. <a href="#BUILDSOURCE">Building from
+                source</a></dt>
+              </dl>
+            </dd>
+
+            <dt>1.7. <a href="#CREDITS">Credits</a></dt>
+
+            <dt>1.8. <a href="#WISHLIST">Wish List</a></dt>
+
+            <dt>1.9. <a href="#COPYRIGHT">Copyright</a></dt>
+          </dl>
+        </dd>
+
+        <dt>2. <a href="#HELLOWORLD">Hello World !!!</a></dt>
+
+        <dd>
+          <dl>
+            <dt>2.1. <a href="#COMPILECURSES">Compiling With the
+            NCURSES Library</a></dt>
+
+            <dt>2.2. <a href="#DISSECTION">Dissection</a></dt>
+
+            <dd>
+              <dl>
+                <dt>2.2.1. <a href="#ABOUT-INITSCR">About
+                initscr()</a></dt>
+
+                <dt>2.2.2. <a href="#MYST-REFRESH">The mysterious
+                refresh()</a></dt>
+
+                <dt>2.2.3. <a href="#ABOUT-ENDWIN">About
+                endwin()</a></dt>
+              </dl>
+            </dd>
+          </dl>
+        </dd>
+
+        <dt>3. <a href="#GORY">The Gory Details</a></dt>
+
+        <dt>4. <a href="#INIT">Initialization</a></dt>
+
+        <dd>
+          <dl>
+            <dt>4.1. <a href="#ABOUTINIT">Initialization
+            functions</a></dt>
+
+            <dt>4.2. <a href="#RAWCBREAK">raw() and
+            cbreak()</a></dt>
+
+            <dt>4.3. <a href="#ECHONOECHO">echo() and
+            noecho()</a></dt>
+
+            <dt>4.4. <a href="#KEYPAD">keypad()</a></dt>
+
+            <dt>4.5. <a href="#HALFDELAY">halfdelay()</a></dt>
+
+            <dt>4.6. <a href="#MISCINIT">Miscellaneous
+            Initialization functions</a></dt>
+
+            <dt>4.7. <a href="#INITEX">An Example</a></dt>
+          </dl>
+        </dd>
+
+        <dt>5. <a href="#AWORDWINDOWS">A Word about
+        Windows</a></dt>
+
+        <dt>6. <a href="#PRINTW">Output functions</a></dt>
+
+        <dd>
+          <dl>
+            <dt>6.1. <a href="#ADDCHCLASS">addch() class of
+            functions</a></dt>
+
+            <dt>6.2. <a href="#AEN303">mvaddch(), waddch() and
+            mvwaddch()</a></dt>
+
+            <dt>6.3. <a href="#PRINTWCLASS">printw() class of
+            functions</a></dt>
+
+            <dd>
+              <dl>
+                <dt>6.3.1. <a href="#PRINTWMVPRINTW">printw() and
+                mvprintw</a></dt>
+
+                <dt>6.3.2. <a href="#WPRINTWMVWPRINTW">wprintw()
+                and mvwprintw</a></dt>
+
+                <dt>6.3.3. <a href="#VWPRINTW">vw_printw()</a></dt>
+
+                <dt>6.3.4. <a href="#SIMPLEPRINTWEX">A Simple
+                printw example</a></dt>
+              </dl>
+            </dd>
+
+            <dt>6.4. <a href="#ADDSTRCLASS">addstr() class of
+            functions</a></dt>
+
+            <dt>6.5. <a href="#ACAUTION">A word of caution</a></dt>
+          </dl>
+        </dd>
+
+        <dt>7. <a href="#SCANW">Input functions</a></dt>
+
+        <dd>
+          <dl>
+            <dt>7.1. <a href="#GETCHCLASS">getch() class of
+            functions</a></dt>
+
+            <dt>7.2. <a href="#SCANWCLASS">scanw() class of
+            functions</a></dt>
+
+            <dd>
+              <dl>
+                <dt>7.2.1. <a href="#SCANWMVSCANW">scanw() and
+                mvscanw</a></dt>
+
+                <dt>7.2.2. <a href="#WSCANWMVWSCANW">wscanw() and
+                mvwscanw()</a></dt>
+
+                <dt>7.2.3. <a href="#VWSCANW">vw_scanw()</a></dt>
+              </dl>
+            </dd>
+
+            <dt>7.3. <a href="#GETSTRCLASS">getstr() class of
+            functions</a></dt>
+
+            <dt>7.4. <a href="#GETSTREX">Some examples</a></dt>
+          </dl>
+        </dd>
+
+        <dt>8. <a href="#ATTRIB">Attributes</a></dt>
+
+        <dd>
+          <dl>
+            <dt>8.1. <a href="#ATTRIBDETAILS">The details</a></dt>
+
+            <dt>8.2. <a href="#ATTRONVSATTRSET">attron() vs
+            attrset()</a></dt>
+
+            <dt>8.3. <a href="#ATTRGET">attr_get()</a></dt>
+
+            <dt>8.4. <a href="#ATTRFUNCS">attr_ functions</a></dt>
+
+            <dt>8.5. <a href="#WATTRFUNCS">wattr functions</a></dt>
+
+            <dt>8.6. <a href="#CHGAT">chgat() functions</a></dt>
+          </dl>
+        </dd>
+
+        <dt>9. <a href="#WINDOWS">Windows</a></dt>
+
+        <dd>
+          <dl>
+            <dt>9.1. <a href="#WINDOWBASICS">The basics</a></dt>
+
+            <dt>9.2. <a href="#LETBEWINDOW">Let there be a Window
+            !!!</a></dt>
+
+            <dt>9.3. <a href="#BORDEREXEXPL">Explanation</a></dt>
+
+            <dt>9.4. <a href="#OTHERSTUFF">The other stuff in the
+            example</a></dt>
+
+            <dt>9.5. <a href="#OTHERBORDERFUNCS">Other Border
+            functions</a></dt>
+          </dl>
+        </dd>
+
+        <dt>10. <a href="#COLOR">Colors</a></dt>
+
+        <dd>
+          <dl>
+            <dt>10.1. <a href="#COLORBASICS">The basics</a></dt>
+
+            <dt>10.2. <a href="#CHANGECOLORDEFS">Changing Color
+            Definitions</a></dt>
+
+            <dt>10.3. <a href="#COLORCONTENT">Color
+            Content</a></dt>
+          </dl>
+        </dd>
+
+        <dt>11. <a href="#KEYS">Interfacing with the key
+        board</a></dt>
+
+        <dd>
+          <dl>
+            <dt>11.1. <a href="#KEYSBASICS">The Basics</a></dt>
+
+            <dt>11.2. <a href="#SIMPLEKEYEX">A Simple Key Usage
+            example</a></dt>
+          </dl>
+        </dd>
+
+        <dt>12. <a href="#MOUSE">Interfacing with the
+        mouse</a></dt>
+
+        <dd>
+          <dl>
+            <dt>12.1. <a href="#MOUSEBASICS">The Basics</a></dt>
+
+            <dt>12.2. <a href="#GETTINGEVENTS">Getting the
+            events</a></dt>
+
+            <dt>12.3. <a href="#MOUSETOGETHER">Putting it all
+            Together</a></dt>
+
+            <dt>12.4. <a href="#MISCMOUSEFUNCS">Miscellaneous
+            Functions</a></dt>
+          </dl>
+        </dd>
+
+        <dt>13. <a href="#SCREEN">Screen Manipulation</a></dt>
+
+        <dd>
+          <dl>
+            <dt>13.1. <a href="#GETYX">getyx() functions</a></dt>
+
+            <dt>13.2. <a href="#SCREENDUMP">Screen Dumping</a></dt>
+
+            <dt>13.3. <a href="#WINDOWDUMP">Window Dumping</a></dt>
+          </dl>
+        </dd>
+
+        <dt>14. <a href="#MISC">Miscellaneous features</a></dt>
+
+        <dd>
+          <dl>
+            <dt>14.1. <a href="#CURSSET">curs_set()</a></dt>
+
+            <dt>14.2. <a href="#TEMPLEAVE">Temporarily Leaving
+            Curses mode</a></dt>
+
+            <dt>14.3. <a href="#ACSVARS">ACS_ variables</a></dt>
+          </dl>
+        </dd>
+
+        <dt>15. <a href="#OTHERLIB">Other libraries</a></dt>
+
+        <dt>16. <a href="#PANELS">Panel Library</a></dt>
+
+        <dd>
+          <dl>
+            <dt>16.1. <a href="#PANELBASICS">The Basics</a></dt>
+
+            <dt>16.2. <a href="#COMPILEPANELS">Compiling With the
+            Panels Library</a></dt>
+
+            <dt>16.3. <a href="#PANELBROWSING">Panel Window
+            Browsing</a></dt>
+
+            <dt>16.4. <a href="#USERPTRUSING">Using User
+            Pointers</a></dt>
+
+            <dt>16.5. <a href="#PANELMOVERESIZE">Moving and
+            Resizing Panels</a></dt>
+
+            <dt>16.6. <a href="#PANELSHOWHIDE">Hiding and Showing
+            Panels</a></dt>
+
+            <dt>16.7. <a href="#PANELABOVE">panel_above() and
+            panel_below() Functions</a></dt>
+          </dl>
+        </dd>
+
+        <dt>17. <a href="#MENUS">Menus Library</a></dt>
+
+        <dd>
+          <dl>
+            <dt>17.1. <a href="#MENUBASICS">The Basics</a></dt>
+
+            <dt>17.2. <a href="#COMPILEMENUS">Compiling With the
+            Menu Library</a></dt>
+
+            <dt>17.3. <a href="#MENUDRIVER">Menu Driver: The work
+            horse of the menu system</a></dt>
+
+            <dt>17.4. <a href="#MENUWINDOWS">Menu Windows</a></dt>
+
+            <dt>17.5. <a href="#SCROLLMENUS">Scrolling
+            Menus</a></dt>
+
+            <dt>17.6. <a href="#MULTICOLUMN">Multi Columnar
+            Menus</a></dt>
+
+            <dt>17.7. <a href="#MULTIVALUEMENUS">Multi Valued
+            Menus</a></dt>
+
+            <dt>17.8. <a href="#MENUOPT">Menu Options</a></dt>
+
+            <dt>17.9. <a href="#MENUUSERPTR">The useful User
+            Pointer</a></dt>
+          </dl>
+        </dd>
+
+        <dt>18. <a href="#FORMS">Forms Library</a></dt>
+
+        <dd>
+          <dl>
+            <dt>18.1. <a href="#FORMBASICS">The Basics</a></dt>
+
+            <dt>18.2. <a href="#COMPILEFORMS">Compiling With the
+            Forms Library</a></dt>
+
+            <dt>18.3. <a href="#PLAYFIELDS">Playing with
+            Fields</a></dt>
+
+            <dd>
+              <dl>
+                <dt>18.3.1. <a href="#FETCHINFO">Fetching Size and
+                Location of Field</a></dt>
+
+                <dt>18.3.2. <a href="#MOVEFIELD">Moving the
+                field</a></dt>
+
+                <dt>18.3.3. <a href="#JUSTIFYFIELD">Field
+                Justification</a></dt>
+
+                <dt>18.3.4. <a href="#FIELDDISPATTRIB">Field
+                Display Attributes</a></dt>
+
+                <dt>18.3.5. <a href="#FIELDOPTIONBITS">Field Option
+                Bits</a></dt>
+
+                <dt>18.3.6. <a href="#FIELDSTATUS">Field
+                Status</a></dt>
+
+                <dt>18.3.7. <a href="#FIELDUSERPTR">Field User
+                Pointer</a></dt>
+
+                <dt>18.3.8. <a href=
+                "#VARIABLESIZEFIELDS">Variable-Sized
+                Fields</a></dt>
+              </dl>
+            </dd>
+
+            <dt>18.4. <a href="#FORMWINDOWS">Form Windows</a></dt>
+
+            <dt>18.5. <a href="#FILEDVALIDATE">Field
+            Validation</a></dt>
+
+            <dt>18.6. <a href="#FORMDRIVER">Form Driver: The work
+            horse of the forms system</a></dt>
+
+            <dd>
+              <dl>
+                <dt>18.6.1. <a href="#PAGENAVREQ">Page Navigation
+                Requests</a></dt>
+
+                <dt>18.6.2. <a href="#INTERFIELDNAVREQ">Inter-Field
+                Navigation Requests</a></dt>
+
+                <dt>18.6.3. <a href="#INTRAFIELDNAVREQ">Intra-Field
+                Navigation Requests</a></dt>
+
+                <dt>18.6.4. <a href="#SCROLLREQ">Scrolling
+                Requests</a></dt>
+
+                <dt>18.6.5. <a href="#EDITREQ">Editing
+                Requests</a></dt>
+
+                <dt>18.6.6. <a href="#ORDERREQ">Order
+                Requests</a></dt>
+
+                <dt>18.6.7. <a href="#APPLICCOMMANDS">Application
+                Commands</a></dt>
+              </dl>
+            </dd>
+          </dl>
+        </dd>
+
+        <dt>19. <a href="#TOOLS">Tools and Widget
+        Libraries</a></dt>
+
+        <dd>
+          <dl>
+            <dt>19.1. <a href="#CDK">CDK (Curses Development
+            Kit)</a></dt>
+
+            <dd>
+              <dl>
+                <dt>19.1.1. <a href="#WIDGETLIST">Widget
+                List</a></dt>
+
+                <dt>19.1.2. <a href="#CDKATTRACT">Some Attractive
+                Features</a></dt>
+
+                <dt>19.1.3. <a href=
+                "#CDKCONCLUSION">Conclusion</a></dt>
+              </dl>
+            </dd>
+
+            <dt>19.2. <a href="#DIALOG">The dialog</a></dt>
+
+            <dt>19.3. <a href="#PERLCURSES">Perl Curses Modules
+            CURSES::FORM and CURSES::WIDGETS</a></dt>
+          </dl>
+        </dd>
+
+        <dt>20. <a href="#JUSTFORFUN">Just For Fun !!!</a></dt>
+
+        <dd>
+          <dl>
+            <dt>20.1. <a href="#GAMEOFLIFE">The Game of
+            Life</a></dt>
+
+            <dt>20.2. <a href="#MAGIC">Magic Square</a></dt>
+
+            <dt>20.3. <a href="#HANOI">Towers of Hanoi</a></dt>
+
+            <dt>20.4. <a href="#QUEENS">Queens Puzzle</a></dt>
+
+            <dt>20.5. <a href="#SHUFFLE">Shuffle</a></dt>
+
+            <dt>20.6. <a href="#TT">Typing Tutor</a></dt>
+          </dl>
+        </dd>
+
+        <dt>21. <a href="#REF">References</a></dt>
+      </dl>
+    </div>
+
+    <div class="SECT1">
+      <h2 class="SECT1"><a name="INTRO" id="INTRO">1.
+      Introduction</a></h2>
+
+      <p>In the olden days of teletype terminals, terminals were
+      away from computers and were connected to them through serial
+      cables. The terminals could be configured by sending a series
+      of bytes. All the capabilities (such as moving the cursor to
+      a new location, erasing part of the screen, scrolling the
+      screen, changing modes, etc.) of terminals could be accessed
+      through these series of bytes. These control seeuqnces are
+      usually called escape sequences, because they start with an
+      escape(0x1B) character. Even today, with proper emulation, we
+      can send escape sequences to the emulator and achieve the
+      same effect on a terminal window.</p>
+
+      <p>Suppose you wanted to print a line in color. Try typing
+      this on your console.</p>
+
+      <pre class="PROGRAMLISTING">echo "^[[0;31;40mIn Color"</pre>
+      <p>The first character is an escape character, which looks
+      like two characters ^ and [. To be able to print it, you have
+      to press CTRL+V and then the ESC key. All the others are
+      normal printable characters. You should be able to see the
+      string "In Color" in red. It stays that way and to revert
+      back to the original mode type this.</p>
+
+      <pre class="PROGRAMLISTING">echo "^[[0;37;40m"</pre>
+      <p>Now, what do these magic characters mean? Difficult to
+      comprehend? They might even be different for different
+      terminals. So the designers of UNIX invented a mechanism
+      named <tt class="LITERAL">termcap</tt>. It is a file that
+      lists all the capabilities of a particular terminal, along
+      with the escape sequences needed to achieve a particular
+      effect. In the later years, this was replaced by <tt class=
+      "LITERAL">terminfo</tt>. Without delving too much into
+      details, this mechanism allows application programs to query
+      the terminfo database and obtain the control characters to be
+      sent to a terminal or terminal emulator.</p>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="WHATIS" id="WHATIS">1.1. What is
+        NCURSES?</a></h3>
+
+        <p>You might be wondering, what the import of all this
+        technical gibberish is. In the above scenario, every
+        application program is supposed to query the terminfo and
+        perform the necessary stuff (sending control characters,
+        etc.). It soon became difficult to manage this complexity
+        and this gave birth to 'CURSES'. Curses is a pun on the
+        name "cursor optimization". The Curses library forms a
+        wrapper over working with raw terminal codes, and provides
+        highly flexible and efficient API (Application Programming
+        Interface). It provides functions to move the cursor,
+        create windows, produce colors, play with mouse, etc. The
+        application programs need not worry about the underlying
+        terminal capabilities.</p>
+
+        <p>So what is NCURSES? NCURSES is a clone of the original
+        System V Release 4.0 (SVr4) curses. It is a freely
+        distributable library, fully compatible with older version
+        of curses. In short, it is a library of functions that
+        manages an application's display on character-cell
+        terminals. In the remainder of the document, the terms
+        curses and ncurses are used interchangeably.</p>
+
+        <p>A detailed history of NCURSES can be found in the NEWS
+        file from the source distribution. The current package is
+        maintained by <a href="mailto:dickey@invisible-island.net"
+        target="_top">Thomas Dickey</a>. You can contact the
+        maintainers at <a href="mailto:bug-ncurses@gnu.org" target=
+        "_top">bug-ncurses@gnu.org</a>.</p>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="WHATCANWEDO" id=
+        "WHATCANWEDO">1.2. What we can do with NCURSES</a></h3>
+
+        <p>NCURSES not only creates a wrapper over terminal
+        capabilities, but also gives a robust framework to create
+        nice looking UI (User Interface)s in text mode. It provides
+        functions to create windows, etc. Its sister libraries
+        panel, menu and form provide an extension to the basic
+        curses library. These libraries usually come along with
+        curses. One can create applications that contain multiple
+        windows, menus, panels and forms. Windows can be managed
+        independently, can provide 'scrollability' and even can be
+        hidden.</p>
+
+        <p>Menus provide the user with an easy command selection
+        option. Forms allow the creation of easy-to-use data entry
+        and display windows. Panels extend the capabilities of
+        ncurses to deal with overlapping and stacked windows.</p>
+
+        <p>These are just some of the basic things we can do with
+        ncurses. As we move along, We will see all the capabilities
+        of these libraries.</p>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="WHERETOGETIT" id=
+        "WHERETOGETIT">1.3. Where to get it</a></h3>
+
+        <p>All right, now that you know what you can do with
+        ncurses, you must be rearing to get started. NCURSES is
+        usually shipped with your installation. In case you don't
+        have the library or want to compile it on your own, read
+        on.</p>
+
+        <p><span class="emphasis"><i class="EMPHASIS">Compiling the
+        package</i></span>
+        </p>
+
+        <p>NCURSES can be obtained from <a href=
+        "ftp://ftp.gnu.org/pub/gnu/ncurses/ncurses.tar.gz" target=
+        "_top">ftp://ftp.gnu.org/pub/gnu/ncurses/ncurses.tar.gz</a>
+        or any of the ftp sites mentioned in <a href=
+        "https://www.gnu.org/order/ftp.html" target=
+        "_top">https://www.gnu.org/order/ftp.html</a>.</p>
+
+        <p>Read the README and INSTALL files for details on to how
+        to install it. It usually involves the following
+        operations.</p>
+
+        <pre class=
+        "PROGRAMLISTING">    tar zxvf ncurses&lt;version&gt;.tar.gz  # unzip and untar the archive
     cd ncurses&lt;version&gt;               # cd to the directory
     ./configure                             # configure the build according to your 
                                             # environment
     make                                    # make it
     su root                                 # become root
-    make install                            # install it</PRE
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Using the RPM </I
-></SPAN
-></P
-><P
->NCURSES RPM can be found and downloaded from <A
-HREF="http://rpmfind.net"
-TARGET="_top"
->http://rpmfind.net </A
->. The RPM can be installed with the following 
-command after becoming root.</P
-><PRE
-CLASS="PROGRAMLISTING"
->    rpm -i &lt;downloaded rpm&gt;</PRE
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="PURPOSE"
->1.4. Purpose/Scope of the document</A
-></H3
-><P
->This document is intended to be a "All in One" guide for programming with
-ncurses and its sister libraries. We graduate from a simple "Hello World"
-program to more complex form manipulation. No prior experience in ncurses is
-assumed. The writing is informal, but a lot of detail is provided for
-each of the examples.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="ABOUTPROGRAMS"
->1.5. About the Programs</A
-></H3
-><P
->All the programs in the document are available in zipped form
-<A
-HREF="http://www.tldp.org/HOWTO/NCURSES-Programming-HOWTO/ncurses_programs.tar.gz"
-TARGET="_top"
->here</A
->. Unzip and untar it. The directory structure looks like this.</P
-><PRE
-CLASS="PROGRAMLISTING"
->ncurses
+    make install                            # install it</pre>
+        <p><span class="emphasis"><i class="EMPHASIS">Using the
+        RPM</i></span>
+        </p>
+
+        <p>NCURSES RPM can be found and downloaded from <a href=
+        "https://rpmfind.net" target="_top">https://rpmfind.net</a>
+        . The RPM can be installed with the following command after
+        becoming root.</p>
+
+        <pre class=
+        "PROGRAMLISTING">    rpm -i &lt;downloaded rpm&gt;</pre>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="PURPOSE" id="PURPOSE">1.4.
+        Purpose/Scope of the document</a></h3>
+
+        <p>This document is intended to be a "All in One" guide for
+        programming with ncurses and its sister libraries. We
+        graduate from a simple "Hello World" program to more
+        complex form manipulation. No prior experience in ncurses
+        is assumed. The writing is informal, but a lot of detail is
+        provided for each of the examples.</p>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="ABOUTPROGRAMS" id=
+        "ABOUTPROGRAMS">1.5. About the Programs</a></h3>
+
+        <p>All the programs in the document are available in zipped
+        form <a href=
+        "https://www.tldp.org/HOWTO/NCURSES-Programming-HOWTO/ncurses_programs.tar.gz"
+        target="_top">here</a>. Unzip and untar it. The directory
+        structure looks like this.</p>
+
+        <pre class="PROGRAMLISTING">ncurses
    |
    |----&gt; JustForFun     -- just for fun programs
    |----&gt; basics         -- basic programs
@@ -1290,12 +839,12 @@
    |                            by Anuradha Ratnaweera)
    |----&gt; Makefile       -- the top level Makefile
    |----&gt; README         -- the top level README file. contains instructions
-   |----&gt; COPYING        -- copyright notice</PRE
-><P
->The individual directories contain the following files.</P
-><PRE
-CLASS="PROGRAMLISTING"
->Description of files in each directory
+   |----&gt; COPYING        -- copyright notice</pre>
+        <p>The individual directories contain the following
+        files.</p>
+
+        <pre class=
+        "PROGRAMLISTING">Description of files in each directory
 --------------------------------------
 JustForFun
     |
@@ -1336,7 +885,7 @@
   menus 
     |
     |----&gt; menu_attrib.c     -- Usage of menu attributes
-    |----&gt; menu_item_data.c  -- Usage of item_name() etc.. functions
+    |----&gt; menu_item_data.c  -- Usage of item_name(), etc. functions
     |----&gt; menu_multi_column.c    -- Creates multi columnar menus
     |----&gt; menu_scroll.c     -- Demonstrates scrolling capability of menus
     |----&gt; menu_simple.c     -- A simple menu accessed by arrow keys
@@ -1354,96 +903,85 @@
     |----&gt; panel_simple.c    -- A simple panel example
 
   perl
-    |----&gt; 01-10.pl          -- Perl equivalents of first ten example programs</PRE
-><P
->There is a top level Makefile included in the main directory. It builds all the 
-files and puts the ready-to-use exes in demo/exe directory. You can also 
-do selective make by going into the corresponding directory. Each directory 
-contains a README file explaining the purpose of each c file in the directory.</P
-><P
->For every example, I have included path name for the file relative to the 
-examples directory. </P
-><P
-> If you prefer browsing individual programs, point your browser to 
-<A
-HREF="http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/ncurses_programs/"
-TARGET="_top"
->http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/ncurses_programs/</A
-></P
-><P
->All the programs are released under the same license that is used by ncurses
-(MIT-style). This gives you the ability to do pretty much anything other than
-claiming them as yours. Feel free to use them in your programs as appropriate.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="OTHERFORMATS"
->1.6. Other Formats of the document</A
-></H3
-><P
->This howto is also availabe in various other formats on the tldp.org site.
-Here are the links to other formats of this document.</P
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="LISTFORMATS"
->1.6.1. Readily available formats from tldp.org</A
-></H4
-><P
-></P
-><UL
-><LI
-><P
-><A
-HREF="http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/pdf/NCURSES-Programming-HOWTO.pdf"
-TARGET="_top"
->Acrobat PDF Format</A
-></P
-></LI
-><LI
-><P
-><A
-HREF="http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/ps/NCURSES-Programming-HOWTO.ps.gz"
-TARGET="_top"
->PostScript Format</A
-></P
-></LI
-><LI
-><P
-><A
-HREF="http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html/NCURSES-Programming-HOWTO-html.tar.gz"
-TARGET="_top"
->In Multiple HTML pages</A
-></P
-></LI
-><LI
-><P
-><A
-HREF="http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html_single/NCURSES-Programming-HOWTO.html"
-TARGET="_top"
->In One big HTML format</A
-></P
-></LI
-></UL
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="BUILDSOURCE"
->1.6.2. Building from source</A
-></H4
-><P
->If above links are broken or if you want to experiment with sgml read on.
-<PRE
-CLASS="PROGRAMLISTING"
->&#13;    Get both the source and the tar,gzipped programs, available at
+    |----&gt; 01-10.pl          -- Perl equivalents of first ten example programs</pre>
+        <p>There is a top level Makefile included in the main
+        directory. It builds all the files and puts the
+        ready-to-use exes in demo/exe directory. You can also do
+        selective make by going into the corresponding directory.
+        Each directory contains a README file explaining the
+        purpose of each c file in the directory.</p>
+
+        <p>For every example, I have included path name for the
+        file relative to the examples directory.</p>
+
+        <p>If you prefer browsing individual programs, point your
+        browser to <a href=
+        "https://tldp.org/HOWTO/NCURSES-Programming-HOWTO/ncurses_programs/"
+        target=
+        "_top">https://tldp.org/HOWTO/NCURSES-Programming-HOWTO/ncurses_programs/</a></p>
+
+        <p>All the programs are released under the same license
+        that is used by ncurses (MIT-style). This gives you the
+        ability to do pretty much anything other than claiming them
+        as yours. Feel free to use them in your programs as
+        appropriate.</p>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="OTHERFORMATS" id=
+        "OTHERFORMATS">1.6. Other Formats of the document</a></h3>
+
+        <p>This howto is also available in various other formats on
+        the tldp.org site. Here are the links to other formats of
+        this document.</p>
+
+        <div class="SECT3">
+          <hr>
+
+          <h4 class="SECT3"><a name="LISTFORMATS" id=
+          "LISTFORMATS">1.6.1. Readily available formats from
+          tldp.org</a></h4>
+
+          <ul>
+            <li>
+              <p><a href=
+              "https://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/pdf/NCURSES-Programming-HOWTO.pdf"
+              target="_top">Acrobat PDF Format</a></p>
+            </li>
+
+            <li>
+              <p><a href=
+              "https://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/ps/NCURSES-Programming-HOWTO.ps.gz"
+              target="_top">PostScript Format</a></p>
+            </li>
+
+            <li>
+              <p><a href=
+              "https://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html/NCURSES-Programming-HOWTO-html.tar.gz"
+              target="_top">In Multiple HTML pages</a></p>
+            </li>
+
+            <li>
+              <p><a href=
+              "https://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html_single/NCURSES-Programming-HOWTO.html"
+              target="_top">In One big HTML format</a></p>
+            </li>
+          </ul>
+        </div>
+
+        <div class="SECT3">
+          <hr>
+
+          <h4 class="SECT3"><a name="BUILDSOURCE" id=
+          "BUILDSOURCE">1.6.2. Building from source</a></h4>
+
+          <p>If above links are broken or if you want to experiment
+          with sgml read on.</p>
+
+          <pre class=
+          "PROGRAMLISTING">&#13;    Get both the source and the tar,gzipped programs, available at
         http://cvsview.tldp.org/index.cgi/LDP/howto/docbook/
         NCURSES-HOWTO/NCURSES-Programming-HOWTO.sgml
         http://cvsview.tldp.org/index.cgi/LDP/howto/docbook/
@@ -1464,862 +1002,684 @@
         NCURSES-ONE-BIG-FILE.html
     for ps, you would use
         htmldoc --size universal -t ps --firstpage p1 -f &lt;output file name.ps&gt;
-        NCURSES-ONE-BIG-FILE.html</PRE
-></P
-><P
->See <A
-HREF="http://www.tldp.org/LDP/LDP-Author-Guide/"
-TARGET="_top"
->LDP Author guide</A
-> for more details. If all else failes, mail me at 
-<A
-HREF="ppadala@gmail.com"
-TARGET="_top"
->ppadala@gmail.com</A
-></P
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="CREDITS"
->1.7. Credits</A
-></H3
-><P
->I thank <A
-HREF="mailto:sharath_1@usa.net"
-TARGET="_top"
->Sharath</A
-> and Emre Akbas for
-helping me with few sections. The introduction was initially written by sharath.
-I rewrote it with few excerpts taken from his initial work. Emre helped in
-writing printw and scanw sections.</P
-><P
->Perl equivalents of the example programs are contributed by <A
-HREF="mailto:Aratnaweera@virtusa.com"
-TARGET="_top"
->Anuradha Ratnaweera</A
->. </P
-><P
->Then comes <A
-HREF="mailto:parimi@ece.arizona.edu"
-TARGET="_top"
->Ravi Parimi</A
->, my
-dearest friend, who has been on this project before even one line was written.
-He constantly bombarded me with suggestions and patiently reviewed the whole
-text.  He also checked each program on Linux and Solaris. </P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="WISHLIST"
->1.8. Wish List</A
-></H3
-><P
->This is the wish list, in the order of priority. If you have a wish or you want
-to work on completing the wish, mail <A
-HREF="mailto:ppadala@gmail.com"
-TARGET="_top"
->me</A
->. </P
-><P
-></P
-><UL
-><LI
-><P
->Add examples to last parts of forms section.</P
-></LI
-><LI
-><P
->Prepare a Demo showing all the programs and allow the user to browse through
-description of each program. Let the user compile and see the program in action.
-A dialog based interface is preferred.</P
-></LI
-><LI
-><P
->Add debug info. _tracef, _tracemouse stuff.</P
-></LI
-><LI
-><P
->Accessing termcap, terminfo using functions provided by ncurses
-package.</P
-></LI
-><LI
-><P
->Working on two terminals simultaneously.</P
-></LI
-><LI
-><P
->Add more stuff to miscellaneous section.</P
-></LI
-></UL
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="COPYRIGHT"
->1.9. Copyright</A
-></H3
-><P
->Copyright &copy; 2001 by Pradeep Padala. </P
-><P
->Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, distribute with
-modifications, sublicense, and/or sell copies of the Software, and to permit
-persons to whom the Software is furnished to do so, subject to the following
-conditions:</P
-><P
->The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.</P
-><P
->THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
-IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</P
-><P
->Except as contained in this notice, the name(s) of the above copyright holders
-shall not be used in advertising or otherwise to promote the sale, use or
-other dealings in this Software without prior written authorization. </P
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="HELLOWORLD"
->2. Hello World !!!</A
-></H2
-><P
->Welcome to the world of curses. Before we plunge into the library and look into
-its various features, let's write a simple program and say
-hello to the world. </P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="COMPILECURSES"
->2.1. Compiling With the NCURSES Library</A
-></H3
-><P
->To use ncurses library functions, you have to include ncurses.h in your
-programs. To link the
-program with ncurses the flag -lncurses should be added.</P
-><PRE
-CLASS="PROGRAMLISTING"
->    #include &lt;ncurses.h&gt;
+        NCURSES-ONE-BIG-FILE.html</pre>
+          <p>See <a href=
+          "https://www.tldp.org/LDP/LDP-Author-Guide/" target=
+          "_top">LDP Author guide</a> for more details. If all else
+          fails, mail me at <a href="ppadala@gmail.com" target=
+          "_top">ppadala@gmail.com</a></p>
+        </div>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="CREDITS" id="CREDITS">1.7.
+        Credits</a></h3>
+
+        <p>I thank <a href="mailto:sharath_1@usa.net" target=
+        "_top">Sharath</a> and Emre Akbas for helping me with few
+        sections. The introduction was initially written by
+        sharath. I rewrote it with few excerpts taken from his
+        initial work. Emre helped in writing printw and scanw
+        sections.</p>
+
+        <p>Perl equivalents of the example programs are contributed
+        by <a href="mailto:Aratnaweera@virtusa.com" target=
+        "_top">Anuradha Ratnaweera</a>.</p>
+
+        <p>Then comes <a href="mailto:parimi@ece.arizona.edu"
+        target="_top">Ravi Parimi</a>, my dearest friend, who has
+        been on this project before even one line was written. He
+        constantly bombarded me with suggestions and patiently
+        reviewed the whole text. He also checked each program on
+        Linux and Solaris.</p>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="WISHLIST" id="WISHLIST">1.8.
+        Wish List</a></h3>
+
+        <p>This is the wish list, in the order of priority. If you
+        have a wish or you want to work on completing the wish,
+        mail <a href="mailto:ppadala@gmail.com" target=
+        "_top">me</a>.</p>
+
+        <ul>
+          <li>
+            <p>Add examples to last parts of forms section.</p>
+          </li>
+
+          <li>
+            <p>Prepare a Demo showing all the programs and allow
+            the user to browse through description of each program.
+            Let the user compile and see the program in action. A
+            dialog based interface is preferred.</p>
+          </li>
+
+          <li>
+            <p>Add debug info. _tracef, _tracemouse stuff.</p>
+          </li>
+
+          <li>
+            <p>Accessing termcap, terminfo using functions provided
+            by ncurses package.</p>
+          </li>
+
+          <li>
+            <p>Working on two terminals simultaneously.</p>
+          </li>
+
+          <li>
+            <p>Add more stuff to miscellaneous section.</p>
+          </li>
+        </ul>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="COPYRIGHT" id="COPYRIGHT">1.9.
+        Copyright</a></h3>
+
+        <p>Copyright &copy; 2001 by Pradeep Padala.</p>
+
+        <p>Permission is hereby granted, free of charge, to any
+        person obtaining a copy of this software and associated
+        documentation files (the "Software"), to deal in the
+        Software without restriction, including without limitation
+        the rights to use, copy, modify, merge, publish,
+        distribute, distribute with modifications, sublicense,
+        and/or sell copies of the Software, and to permit persons
+        to whom the Software is furnished to do so, subject to the
+        following conditions:</p>
+
+        <p>The above copyright notice and this permission notice
+        shall be included in all copies or substantial portions of
+        the Software.</p>
+
+        <p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
+        ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
+        THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+        PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ABOVE
+        COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+        OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+        SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
+
+        <p>Except as contained in this notice, the name(s) of the
+        above copyright holders shall not be used in advertising or
+        otherwise to promote the sale, use or other dealings in
+        this Software without prior written authorization.</p>
+      </div>
+    </div>
+
+    <div class="SECT1">
+      <hr>
+
+      <h2 class="SECT1"><a name="HELLOWORLD" id="HELLOWORLD">2.
+      Hello World !!!</a></h2>
+
+      <p>Welcome to the world of curses. Before we plunge into the
+      library and look into its various features, let's write a
+      simple program and say hello to the world.</p>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="COMPILECURSES" id=
+        "COMPILECURSES">2.1. Compiling With the NCURSES Library</a></h3>
+
+        <p>To use ncurses library functions, you have to include
+        ncurses.h in your programs. To link the program with
+        ncurses the flag -lncurses should be added.</p>
+
+        <pre class="PROGRAMLISTING">    #include &lt;ncurses.h&gt;
     .
     .
     .
 
-    compile and link: gcc &lt;program file&gt; -lncurses</PRE
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="BHW"
-></A
-><P
-><B
->Example 1.  The Hello World !!! Program </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;ncurses.h&#62;
+    compile and link: gcc &lt;program file&gt; -lncurses</pre>
+        <div class="EXAMPLE">
+          <a name="BHW" id="BHW"></a>
+          <p><b>Example 1. The Hello World !!! Program</b>
+          </p>
+
+          <pre class="PROGRAMLISTING"><span class=
+          "INLINEMEDIAOBJECT">#include &lt;curses.h&gt;
 
 int main()
-{	
-	initscr();			/* Start curses mode 		  */
-	printw("Hello World !!!");	/* Print Hello World		  */
-	refresh();			/* Print it on to the real screen */
-	getch();			/* Wait for user input */
-	endwin();			/* End curses mode		  */
+{       
+        initscr();                      /* Start curses mode              */
+        printw("Hello World !!!");      /* Print Hello World              */
+        refresh();                      /* Print it on to the real screen */
+        getch();                        /* Wait for user input */
+        endwin();                       /* End curses mode                */
 
-	return 0;
-}</SPAN
-></PRE
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="DISSECTION"
->2.2. Dissection</A
-></H3
-><P
-> 
-The above program prints "Hello World !!!" to the screen and exits. This 
-program shows how to initialize curses and do screen manipulation and 
-end curses mode. Let's dissect it line by line. </P
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="ABOUT-INITSCR"
->2.2.1. About initscr()</A
-></H4
-><P
->The function initscr() initializes the terminal in curses mode.  In some 
-implementations, it clears the screen and presents a blank screen. To do any 
-screen manipulation using curses package this has to be called first. This
-function initializes the curses system and allocates memory for our present
-window (called <TT
-CLASS="LITERAL"
->stdscr</TT
->) and some other data-structures. Under extreme
-cases this function might fail due to insufficient memory to allocate memory
-for curses library's data structures. </P
-><P
-> 
-After this is done, we can do a variety of initializations to customize
-our curses settings. These details will be explained <A
-HREF="#INIT"
->later </A
->.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="MYST-REFRESH"
->2.2.2. The mysterious refresh()</A
-></H4
-><P
->The next line printw prints the string "Hello World !!!" on to the screen. This
-function is analogous to normal printf in all respects except that it prints
-the data on a window called stdscr at the current (y,x) co-ordinates. Since our
-present co-ordinates are at 0,0 the string is printed at the left hand corner
-of the window.</P
-><P
->This brings us to that mysterious refresh(). Well, when we called printw 
-the data is actually written to an imaginary window, which is not updated 
-on the screen yet. The job of printw is to update a few flags
-and data structures and write the data to a buffer corresponding to stdscr.
-In order to show it on the screen, we need to call refresh() and tell the
-curses system to dump the contents on the screen.</P
-><P
->The philosophy behind all this is to allow the programmer to do multiple updates
-on the imaginary screen or windows and do a refresh once all his screen update
-is done. refresh() checks the window and updates only the portion which has been
-changed. This improves performance and offers greater flexibility too. But, it is
-sometimes frustrating to beginners. A common mistake committed by beginners is
-to forget to call refresh() after they did some update through printw() class of
-functions. I still forget to add it sometimes :-) </P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="ABOUT-ENDWIN"
->2.2.3. About endwin()</A
-></H4
-><P
->And finally don't forget to end the curses mode. Otherwise your terminal might
-behave strangely after the program quits. endwin() frees the memory taken by 
-curses sub-system and its data structures and puts the terminal in normal 
-mode. This function must be called after you are done with the curses mode. </P
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="GORY"
->3. The Gory Details</A
-></H2
-><P
->Now that we have seen how to write a simple curses program let's get into the
-details. There are many functions that help customize what you see on screen and
-many features which can be put to full use. </P
-><P
->Here we go...</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="INIT"
->4. Initialization</A
-></H2
-><P
->We now know that to initialize curses system the function initscr() has to be
-called.  There are functions which can be called after this initialization to
-customize our curses session. We may ask the curses system to set the terminal
-in raw mode or initialize color or initialize the mouse etc.. Let's discuss some
-of the functions that are normally called immediately after initscr();</P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="ABOUTINIT"
->4.1. Initialization functions</A
-></H3
-><P
-> </P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="RAWCBREAK"
->4.2. raw() and cbreak()</A
-></H3
-><P
->Normally the terminal driver buffers the characters a user types until a new
-line or carriage return is encountered. But most programs require that the
-characters be available as soon as the user types them. The above two functions
-are used to disable line buffering. The difference between these two functions
-is in the way control characters like suspend (CTRL-Z), interrupt and quit
-(CTRL-C) are passed to the program. In the raw() mode these characters are
-directly passed to the program without generating a signal. In the
-<TT
-CLASS="LITERAL"
->cbreak()</TT
-> mode these control characters are
-interpreted as any other character by the terminal driver. I personally prefer
-to use raw() as I can exercise greater control over what the user does.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="ECHONOECHO"
->4.3. echo() and noecho()</A
-></H3
-><P
-> 
-These functions control the echoing of characters typed by the user to the
-terminal. <TT
-CLASS="LITERAL"
->noecho()</TT
-> switches off echoing. The
-reason you might want to do this is to gain more control over echoing or to
-suppress unnecessary echoing while taking input from the user through the
-getch() etc. functions. Most of the interactive programs call
-<TT
-CLASS="LITERAL"
->noecho()</TT
-> at initialization and do the echoing
-of characters in a controlled manner. It gives the programmer the flexibility
-of echoing characters at any place in the window without updating current (y,x)
-co-ordinates. </P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="KEYPAD"
->4.4. keypad()</A
-></H3
-><P
->This is my favorite initialization function. It enables the reading of function
-keys like F1, F2, arrow keys etc. Almost every interactive program enables this,
-as arrow keys are a major part of any User Interface. Do
-<TT
-CLASS="LITERAL"
->keypad(stdscr, TRUE) </TT
-> to enable this feature
-for the regular screen (stdscr). You will learn more about key management in
-later sections of this document.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="HALFDELAY"
->4.5. halfdelay()</A
-></H3
-><P
->This function, though not used very often, is a useful one at times.
-halfdelay()is called to enable the half-delay mode, which is similar to the
-cbreak() mode in that characters typed are immediately available to program.
-However, it waits for 'X' tenths of a second for input and then returns ERR, if
-no input is available. 'X' is the timeout value passed to the function
-halfdelay(). This function is useful when you want to ask the user for input,
-and if he doesn't respond with in certain time, we can do some thing else. One
-possible example is a timeout at the password prompt. </P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="MISCINIT"
->4.6. Miscellaneous Initialization functions</A
-></H3
-><P
->There are few more functions which are called at initialization to
-customize curses behavior. They are not used as extensively as those mentioned 
-above. Some of them are explained where appropriate.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="INITEX"
->4.7. An Example</A
-></H3
-><P
->Let's write a program which will clarify the usage of these functions.</P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="BINFU"
-></A
-><P
-><B
->Example 2.  Initialization Function Usage example </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;ncurses.h&#62;
+        return 0;
+}</span></pre>
+        </div>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="DISSECTION" id="DISSECTION">2.2.
+        Dissection</a></h3>
+
+        <p>The above program prints "Hello World !!!" to the screen
+        and exits. This program shows how to initialize curses and
+        do screen manipulation and end curses mode. Let's dissect
+        it line by line.</p>
+
+        <div class="SECT3">
+          <hr>
+
+          <h4 class="SECT3"><a name="ABOUT-INITSCR" id=
+          "ABOUT-INITSCR">2.2.1. About initscr()</a></h4>
+
+          <p>The function initscr() initializes the terminal in
+          curses mode. In some implementations, it clears the
+          screen and presents a blank screen. To do any screen
+          manipulation using curses package this has to be called
+          first. This function initializes the curses system and
+          allocates memory for our present window (called
+          <tt class="LITERAL">stdscr</tt>) and some other
+          data-structures. Under extreme cases this function might
+          fail due to insufficient memory to allocate memory for
+          curses library's data structures.</p>
+
+          <p>After this is done, we can do a variety of
+          initializations to customize our curses settings. These
+          details will be explained <a href="#INIT">later</a> .</p>
+        </div>
+
+        <div class="SECT3">
+          <hr>
+
+          <h4 class="SECT3"><a name="MYST-REFRESH" id=
+          "MYST-REFRESH">2.2.2. The mysterious refresh()</a></h4>
+
+          <p>The next line printw prints the string "Hello World
+          !!!" on to the screen. This function is analogous to
+          normal printf in all respects except that it prints the
+          data on a window called stdscr at the current (y,x)
+          co-ordinates. Since our present co-ordinates are at 0,0
+          the string is printed at the left hand corner of the
+          window.</p>
+
+          <p>This brings us to that mysterious refresh(). Well,
+          when we called printw the data is actually written to an
+          imaginary window, which is not updated on the screen yet.
+          The job of printw is to update a few flags and data
+          structures and write the data to a buffer corresponding
+          to stdscr. In order to show it on the screen, we need to
+          call refresh() and tell the curses system to dump the
+          contents on the screen.</p>
+
+          <p>The philosophy behind all this is to allow the
+          programmer to do multiple updates on the imaginary screen
+          or windows and do a refresh once all his screen update is
+          done. refresh() checks the window and updates only the
+          portion which has been changed. This improves performance
+          and offers greater flexibility too. But, it is sometimes
+          frustrating to beginners. A common mistake committed by
+          beginners is to forget to call refresh() after they did
+          some update through printw() class of functions. I still
+          forget to add it sometimes :-)</p>
+        </div>
+
+        <div class="SECT3">
+          <hr>
+
+          <h4 class="SECT3"><a name="ABOUT-ENDWIN" id=
+          "ABOUT-ENDWIN">2.2.3. About endwin()</a></h4>
+
+          <p>And finally don't forget to end the curses mode.
+          Otherwise your terminal might behave strangely after the
+          program quits. endwin() frees the memory taken by curses
+          sub-system and its data structures and puts the terminal
+          in normal mode. This function must be called after you
+          are done with the curses mode.</p>
+        </div>
+      </div>
+    </div>
+
+    <div class="SECT1">
+      <hr>
+
+      <h2 class="SECT1"><a name="GORY" id="GORY">3. The Gory
+      Details</a></h2>
+
+      <p>Now that we have seen how to write a simple curses program
+      let's get into the details. There are many functions that
+      help customize what you see on screen and many features which
+      can be put to full use.</p>
+
+      <p>Here we go...</p>
+    </div>
+
+    <div class="SECT1">
+      <hr>
+
+      <h2 class="SECT1"><a name="INIT" id="INIT">4.
+      Initialization</a></h2>
+
+      <p>We now know that to initialize curses system the function
+      initscr() has to be called. There are functions which can be
+      called after this initialization to customize our curses
+      session. We may ask the curses system to set the terminal in
+      raw mode or initialize color or initialize the mouse, etc.
+      Let's discuss some of the functions that are normally called
+      immediately after initscr();</p>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="ABOUTINIT" id="ABOUTINIT">4.1.
+        Initialization functions</a></h3>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="RAWCBREAK" id="RAWCBREAK">4.2.
+        raw() and cbreak()</a></h3>
+
+        <p>Normally the terminal driver buffers the characters a
+        user types until a new line or carriage return is
+        encountered. But most programs require that the characters
+        be available as soon as the user types them. The above two
+        functions are used to disable line buffering. The
+        difference between these two functions is in the way
+        control characters like suspend (CTRL-Z), interrupt and
+        quit (CTRL-C) are passed to the program. In the raw() mode
+        these characters are directly passed to the program without
+        generating a signal. In the <tt class=
+        "LITERAL">cbreak()</tt> mode these control characters are
+        interpreted as any other character by the terminal driver.
+        I personally prefer to use raw() as I can exercise greater
+        control over what the user does.</p>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="ECHONOECHO" id="ECHONOECHO">4.3.
+        echo() and noecho()</a></h3>
+
+        <p>These functions control the echoing of characters typed
+        by the user to the terminal. <tt class=
+        "LITERAL">noecho()</tt> switches off echoing. The reason
+        you might want to do this is to gain more control over
+        echoing or to suppress unnecessary echoing while taking
+        input from the user through the getch(), etc. functions.
+        Most of the interactive programs call <tt class=
+        "LITERAL">noecho()</tt> at initialization and do the
+        echoing of characters in a controlled manner. It gives the
+        programmer the flexibility of echoing characters at any
+        place in the window without updating current (y,x)
+        co-ordinates.</p>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="KEYPAD" id="KEYPAD">4.4.
+        keypad()</a></h3>
+
+        <p>This is my favorite initialization function. It enables
+        the reading of function keys like F1, F2, arrow keys, etc.
+        Almost every interactive program enables this, as arrow
+        keys are a major part of any User Interface. Do <tt class=
+        "LITERAL">keypad(stdscr, TRUE)</tt> to enable this feature
+        for the regular screen (stdscr). You will learn more about
+        key management in later sections of this document.</p>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="HALFDELAY" id="HALFDELAY">4.5.
+        halfdelay()</a></h3>
+
+        <p>This function, though not used very often, is a useful
+        one at times. halfdelay()is called to enable the half-delay
+        mode, which is similar to the cbreak() mode in that
+        characters typed are immediately available to program.
+        However, it waits for 'X' tenths of a second for input and
+        then returns ERR, if no input is available. 'X' is the
+        timeout value passed to the function halfdelay(). This
+        function is useful when you want to ask the user for input,
+        and if he doesn't respond with in certain time, we can do
+        some thing else. One possible example is a timeout at the
+        password prompt.</p>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="MISCINIT" id="MISCINIT">4.6.
+        Miscellaneous Initialization functions</a></h3>
+
+        <p>There are few more functions which are called at
+        initialization to customize curses behavior. They are not
+        used as extensively as those mentioned above. Some of them
+        are explained where appropriate.</p>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="INITEX" id="INITEX">4.7. An
+        Example</a></h3>
+
+        <p>Let's write a program which will clarify the usage of
+        these functions.</p>
+
+        <div class="EXAMPLE">
+          <a name="BINFU" id="BINFU"></a>
+          <p><b>Example 2. Initialization Function Usage
+          example</b>
+          </p>
+
+          <pre class="PROGRAMLISTING"><span class=
+          "INLINEMEDIAOBJECT">#include &lt;curses.h&gt;
 
 int main()
-{	int ch;
+{       int ch;
 
-	initscr();			/* Start curses mode 		*/
-	raw();				/* Line buffering disabled	*/
-	keypad(stdscr, TRUE);		/* We get F1, F2 etc..		*/
-	noecho();			/* Don't echo() while we do getch */
+        initscr();                      /* Start curses mode            */
+        raw();                          /* Line buffering disabled      */
+        keypad(stdscr, TRUE);           /* We get F1, F2 etc..          */
+        noecho();                       /* Don't echo() while we do getch */
 
-    	printw("Type any character to see it in bold\n");
-	ch = getch();			/* If raw() hadn't been called
-					 * we have to press enter before it
-					 * gets to the program 		*/
-	if(ch == KEY_F(1))		/* Without keypad enabled this will */
-		printw("F1 Key pressed");/*  not get to us either	*/
-					/* Without noecho() some ugly escape
-					 * charachters might have been printed
-					 * on screen			*/
-	else
-	{	printw("The pressed key is ");
-		attron(A_BOLD);
-		printw("%c", ch);
-		attroff(A_BOLD);
-	}
-	refresh();			/* Print it on to the real screen */
-    	getch();			/* Wait for user input */
-	endwin();			/* End curses mode		  */
+        printw("Type any character to see it in bold\n");
+        ch = getch();                   /* If raw() hadn't been called
+                                         * we have to press enter before it
+                                         * gets to the program          */
+        if(ch == KEY_F(1))              /* Without keypad enabled this will */
+                printw("F1 Key pressed");/*  not get to us either       */
+                                        /* Without noecho() some ugly escape
+                                         * characters might have been printed
+                                         * on screen                    */
+        else
+        {       printw("The pressed key is ");
+                attron(A_BOLD);
+                printw("%c", ch);
+                attroff(A_BOLD);
+        }
+        refresh();                      /* Print it on to the real screen */
+        getch();                        /* Wait for user input */
+        endwin();                       /* End curses mode                */
 
-	return 0;
-}</SPAN
-></PRE
-></DIV
-><P
->This program is self-explanatory. But I used functions which aren't explained
-yet. The function <TT
-CLASS="LITERAL"
->getch()</TT
-> is used to get a
-character from user. It is equivalent to normal
-<TT
-CLASS="LITERAL"
->getchar()</TT
-> except that we can disable the line
-buffering to avoid &lt;enter&gt; after input. Look for more about
-<TT
-CLASS="LITERAL"
->getch()</TT
->and reading keys in the <A
-HREF="#KEYS"
-> key management section </A
->. The functions attron and attroff 
-are used to switch some attributes on and off respectively.  In the example I 
-used them to print the character in bold. These functions are explained in detail
-later.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AWORDWINDOWS"
->5. A Word about Windows</A
-></H2
-><P
-> 
-Before we plunge into the myriad ncurses functions, let me clear few things
-about windows. Windows are explained in detail in following <A
-HREF="#WINDOWS"
-> sections </A
-></P
-><P
->A Window is an imaginary screen defined by curses system. A window does not mean
-a bordered window which you usually see on Win9X platforms. When curses is
-initialized, it creates a default window named
-<TT
-CLASS="LITERAL"
->stdscr</TT
-> which represents your 80x25 (or the size
-of window in which you are running) screen.  If you are doing simple tasks like
-printing few strings, reading input etc., you can safely use this single window
-for all of your purposes. You can also create windows and call functions which
-explicitly work on the specified window.</P
-><P
->For example, if you call</P
-><PRE
-CLASS="PROGRAMLISTING"
->    printw("Hi There !!!");
-    refresh();</PRE
-><P
->It prints the string on stdscr at the present cursor position. Similarly the 
-call to refresh(), works on stdscr only. </P
-><P
->Say you have created <A
-HREF="#WINDOWS"
->windows</A
-> then you have to 
-call a function with a 'w' added to the usual function.</P
-><PRE
-CLASS="PROGRAMLISTING"
->    wprintw(win, "Hi There !!!");
-    wrefresh(win);</PRE
-><P
->As you will see in the rest of the document, naming of functions follow the
-same convention. For each function there usually are three more functions.</P
-><PRE
-CLASS="PROGRAMLISTING"
->    printw(string);        /* Print on stdscr at present cursor position */
+        return 0;
+}</span></pre>
+        </div>
+
+        <p>This program is self-explanatory. But I used functions
+        which aren't explained yet. The function <tt class=
+        "LITERAL">getch()</tt> is used to get a character from
+        user. It is equivalent to normal <tt class=
+        "LITERAL">getchar()</tt> except that we can disable the
+        line buffering to avoid &lt;enter&gt; after input. Look for
+        more about <tt class="LITERAL">getch()</tt>and reading keys
+        in the <a href="#KEYS">key management section</a> . The
+        functions attron and attroff are used to switch some
+        attributes on and off respectively. In the example I used
+        them to print the character in bold. These functions are
+        explained in detail later.</p>
+      </div>
+    </div>
+
+    <div class="SECT1">
+      <hr>
+
+      <h2 class="SECT1"><a name="AWORDWINDOWS" id="AWORDWINDOWS">5.
+      A Word about Windows</a></h2>
+
+      <p>Before we plunge into the myriad ncurses functions, let me
+      clear few things about windows. Windows are explained in
+      detail in following <a href="#WINDOWS">sections</a></p>
+
+      <p>A Window is an imaginary screen defined by curses system.
+      A window does not mean a bordered window which you usually
+      see on Win9X platforms. When curses is initialized, it
+      creates a default window named <tt class=
+      "LITERAL">stdscr</tt> which represents your 80x25 (or the
+      size of window in which you are running) screen. If you are
+      doing simple tasks like printing few strings, reading input,
+      etc., you can safely use this single window for all of your
+      purposes. You can also create windows and call functions
+      which explicitly work on the specified window.</p>
+
+      <p>For example, if you call</p>
+
+      <pre class="PROGRAMLISTING">    printw("Hi There !!!");
+    refresh();</pre>
+      <p>It prints the string on stdscr at the present cursor
+      position. Similarly the call to refresh(), works on stdscr
+      only.</p>
+
+      <p>Say you have created <a href="#WINDOWS">windows</a> then
+      you have to call a function with a 'w' added to the usual
+      function.</p>
+
+      <pre class="PROGRAMLISTING">    wprintw(win, "Hi There !!!");
+    wrefresh(win);</pre>
+      <p>As you will see in the rest of the document, naming of
+      functions follow the same convention. For each function there
+      usually are three more functions.</p>
+
+      <pre class=
+      "PROGRAMLISTING">    printw(string);        /* Print on stdscr at present cursor position */
     mvprintw(y, x, string);/* Move to (y, x) then print string     */
     wprintw(win, string);  /* Print on window win at present cursor position */
                            /* in the window */
     mvwprintw(win, y, x, string);   /* Move to (y, x) relative to window */
-                                    /* co-ordinates and then print         */</PRE
-><P
->Usually the w-less functions are macros which expand to corresponding w-function
-with stdscr as the window parameter.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="PRINTW"
->6. Output functions</A
-></H2
-><P
->I guess you can't wait any more to see some action. Back to our odyssey of
-curses functions. Now that curses is initialized, let's interact with
-world.</P
-><P
->There are three classes of functions which you can use to do output on screen.
-<P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->addch() class: Print single character with attributes </P
-></LI
-><LI
-><P
->printw() class: Print formatted output similar to printf()</P
-></LI
-><LI
-><P
->addstr() class: Print strings</P
-></LI
-></OL
-></P
-><P
->These functions can be used interchangeably and it's a matter of style as to
-which class is used. Let's see each one in detail.</P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="ADDCHCLASS"
->6.1. addch() class of functions</A
-></H3
-><P
->These functions put a single character into the current cursor location and
-advance the position of the cursor. You can give the character to be printed but
-they usually are used to print a character with some attributes.  Attributes are
-explained in detail in later <A
-HREF="#ATTRIB"
-> sections </A
-> of the
-document. If a character is associated with an attribute(bold, reverse video
-etc.), when curses prints the character, it is printed in that attribute.</P
-><P
->In order to combine a character with some attributes, you have two options:</P
-><P
-></P
-><UL
-><LI
-><P
->By OR'ing a single character with the desired attribute macros. These attribute
-macros could be found in the header file
-<TT
-CLASS="LITERAL"
->ncurses.h</TT
->. For example, you want to print a
-character ch(of type char) bold and underlined, you would call addch() as below.
-<PRE
-CLASS="PROGRAMLISTING"
->    addch(ch | A_BOLD | A_UNDERLINE);</PRE
-></P
-></LI
-><LI
-><P
->By using functions like <TT
-CLASS="LITERAL"
->attrset(),attron(),attroff()</TT
->. These functions are explained in the <A
-HREF="#ATTRIB"
->Attributes</A
-> section. Briefly, they manipulate the current attributes of 
-the given window. Once set, the character printed in the window are associated 
-with the attributes until it is turned off.</P
-></LI
-></UL
-><P
->Additionally, <TT
-CLASS="LITERAL"
->curses</TT
-> provides some special
-characters for character-based graphics. You can draw tables, horizontal or
-vertical lines, etc. You can find all avaliable characters in the header file
-<TT
-CLASS="LITERAL"
->ncurses.h</TT
->.  Try looking for macros beginning
-with <TT
-CLASS="LITERAL"
->ACS_</TT
-> in this file. </P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN298"
->6.2. mvaddch(), waddch() and mvwaddch()</A
-></H3
-><P
-><TT
-CLASS="LITERAL"
->mvaddch()</TT
-> is used to move the cursor to a 
-given point, and then print. Thus, the calls:
-<PRE
-CLASS="PROGRAMLISTING"
->    move(row,col);    /* moves the cursor to row<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->th</I
-></SPAN
-> row and col<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->th</I
-></SPAN
-> column */
-    addch(ch);</PRE
->
-can be replaced by
-<PRE
-CLASS="PROGRAMLISTING"
->    mvaddch(row,col,ch);</PRE
-></P
-><P
-><TT
-CLASS="LITERAL"
->waddch()</TT
-> is similar to
-<TT
-CLASS="LITERAL"
->addch()</TT
->, except that it adds a character into
-the given window. (Note that <TT
-CLASS="LITERAL"
->addch()</TT
-> adds a
-character into the window <TT
-CLASS="LITERAL"
->stdscr</TT
->.)</P
-><P
->In a similar fashion <TT
-CLASS="LITERAL"
->mvwaddch()</TT
-> function is
-used to add a character into the given window at the given coordinates.</P
-><P
->Now, we are familiar with the basic output function
-<TT
-CLASS="LITERAL"
->addch()</TT
->. But, if we want to print a string, it
-would be very annoying to print it character by character. Fortunately,
-<TT
-CLASS="LITERAL"
->ncurses</TT
-> provides <TT
-CLASS="LITERAL"
->printf</TT
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->-like</I
-></SPAN
-> or
-<TT
-CLASS="LITERAL"
->puts</TT
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->-like</I
-></SPAN
-> functions.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="PRINTWCLASS"
->6.3. printw() class of functions</A
-></H3
-><P
->These functions are similar to <TT
-CLASS="LITERAL"
->printf()</TT
-> with
-the added capability of printing at any position on the screen. </P
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="PRINTWMVPRINTW"
->6.3.1. printw() and mvprintw</A
-></H4
-><P
->These two functions work much like <TT
-CLASS="LITERAL"
->printf()</TT
->.
-<TT
-CLASS="LITERAL"
->mvprintw()</TT
-> can be used to move the cursor to a
-position and then print. If you want to move the cursor first and then print
-using <TT
-CLASS="LITERAL"
->printw()</TT
-> function, use
-<TT
-CLASS="LITERAL"
->move() </TT
-> first and then use
-<TT
-CLASS="LITERAL"
->printw()</TT
-> though I see no point why one should
-avoid using <TT
-CLASS="LITERAL"
->mvprintw()</TT
->, you have the
-flexibility to manipulate. </P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="WPRINTWMVWPRINTW"
->6.3.2. wprintw() and mvwprintw</A
-></H4
-><P
->These two functions are similar to above two except that they print in the 
-corresponding window given as argument. </P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="VWPRINTW"
->6.3.3. vwprintw()</A
-></H4
-><P
->This function is similar to <TT
-CLASS="LITERAL"
->vprintf()</TT
->. This can
-be used when variable number of arguments are to be printed.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="SIMPLEPRINTWEX"
->6.3.4. A Simple printw example</A
-></H4
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="BPREX"
-></A
-><P
-><B
->Example 3.  A Simple printw example </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;ncurses.h&#62;			/* ncurses.h includes stdio.h */  
-#include &#60;string.h&#62; 
+                                    /* co-ordinates and then print         */</pre>
+      <p>Usually the w-less functions are macros which expand to
+      corresponding w-function with stdscr as the window
+      parameter.</p>
+    </div>
+
+    <div class="SECT1">
+      <hr>
+
+      <h2 class="SECT1"><a name="PRINTW" id="PRINTW">6. Output
+      functions</a></h2>
+
+      <p>I guess you can't wait any more to see some action. Back
+      to our odyssey of curses functions. Now that curses is
+      initialized, let's interact with world.</p>
+
+      <p>There are three classes of functions which you can use to
+      do output on screen.</p>
+
+      <ol type="1">
+        <li>
+          <p>addch() class: Print single character with
+          attributes</p>
+        </li>
+
+        <li>
+          <p>printw() class: Print formatted output similar to
+          printf()</p>
+        </li>
+
+        <li>
+          <p>addstr() class: Print strings</p>
+        </li>
+      </ol>
+
+      <p>These functions can be used interchangeably and it is a
+      matter of style as to which class is used. Let's see each one
+      in detail.</p>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="ADDCHCLASS" id="ADDCHCLASS">6.1.
+        addch() class of functions</a></h3>
+
+        <p>These functions put a single character into the current
+        cursor location and advance the position of the cursor. You
+        can give the character to be printed but they usually are
+        used to print a character with some attributes. Attributes
+        are explained in detail in later <a href=
+        "#ATTRIB">sections</a> of the document. If a character is
+        associated with an attribute(bold, reverse video etc.),
+        when curses prints the character, it is printed in that
+        attribute.</p>
+
+        <p>In order to combine a character with some attributes,
+        you have two options:</p>
+
+        <ul>
+          <li>
+            <p>By OR'ing a single character with the desired
+            attribute macros. These attribute macros could be found
+            in the header file <tt class="LITERAL">ncurses.h</tt>.
+            For example, you want to print a character ch(of type
+            char) bold and underlined, you would call addch() as
+            below.</p>
+
+            <pre class=
+            "PROGRAMLISTING">    addch(ch | A_BOLD | A_UNDERLINE);</pre>
+          </li>
+
+          <li>
+            <p>By using functions like <tt class=
+            "LITERAL">attrset(),attron(),attroff()</tt>. These
+            functions are explained in the <a href=
+            "#ATTRIB">Attributes</a> section. Briefly, they
+            manipulate the current attributes of the given window.
+            Once set, the character printed in the window are
+            associated with the attributes until it is turned
+            off.</p>
+          </li>
+        </ul>
+
+        <p>Additionally, <tt class="LITERAL">curses</tt> provides
+        some special characters for character-based graphics. You
+        can draw tables, horizontal or vertical lines, etc. You can
+        find all available characters in the header file <tt class=
+        "LITERAL">ncurses.h</tt>. Try looking for macros beginning
+        with <tt class="LITERAL">ACS_</tt> in this file.</p>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="AEN303" id="AEN303">6.2.
+        mvaddch(), waddch() and mvwaddch()</a></h3>
+
+        <p><tt class="LITERAL">mvaddch()</tt> is used to move the
+        cursor to a given point, and then print. Thus, the
+        calls:</p>
+
+        <pre class=
+        "PROGRAMLISTING">    move(row,col);    /* moves the cursor to row<span class="emphasis"><i class="EMPHASIS">th</i></span> row and col<span class="emphasis"><i class="EMPHASIS">th</i></span> column */
+    addch(ch);</pre>can be replaced by
+
+        <pre class="PROGRAMLISTING">    mvaddch(row,col,ch);</pre>
+        <p><tt class="LITERAL">waddch()</tt> is similar to
+        <tt class="LITERAL">addch()</tt>, except that it adds a
+        character into the given window. (Note that <tt class=
+        "LITERAL">addch()</tt> adds a character into the window
+        <tt class="LITERAL">stdscr</tt>.)</p>
+
+        <p>In a similar fashion <tt class="LITERAL">mvwaddch()</tt>
+        function is used to add a character into the given window
+        at the given coordinates.</p>
+
+        <p>Now, we are familiar with the basic output function
+        <tt class="LITERAL">addch()</tt>. But, if we want to print
+        a string, it would be very annoying to print it character
+        by character. Fortunately, <tt class="LITERAL">ncurses</tt>
+        provides <tt class="LITERAL">printf</tt><span class=
+        "emphasis"><i class="EMPHASIS">-like</i></span> or
+        <tt class="LITERAL">puts</tt><span class=
+        "emphasis"><i class="EMPHASIS">-like</i></span>
+        functions.</p>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="PRINTWCLASS" id=
+        "PRINTWCLASS">6.3. printw() class of functions</a></h3>
+
+        <p>These functions are similar to <tt class=
+        "LITERAL">printf()</tt> with the added capability of
+        printing at any position on the screen.</p>
+
+        <div class="SECT3">
+          <hr>
+
+          <h4 class="SECT3"><a name="PRINTWMVPRINTW" id=
+          "PRINTWMVPRINTW">6.3.1. printw() and mvprintw</a></h4>
+
+          <p>These two functions work much like <tt class=
+          "LITERAL">printf()</tt>. <tt class=
+          "LITERAL">mvprintw()</tt> can be used to move the cursor
+          to a position and then print. If you want to move the
+          cursor first and then print using <tt class=
+          "LITERAL">printw()</tt> function, use <tt class=
+          "LITERAL">move()</tt> first and then use <tt class=
+          "LITERAL">printw()</tt> though I see no point why one
+          should avoid using <tt class="LITERAL">mvprintw()</tt>,
+          you have the flexibility to manipulate.</p>
+        </div>
+
+        <div class="SECT3">
+          <hr>
+
+          <h4 class="SECT3"><a name="WPRINTWMVWPRINTW" id=
+          "WPRINTWMVWPRINTW">6.3.2. wprintw() and mvwprintw</a></h4>
+
+          <p>These two functions are similar to above two except
+          that they print in the corresponding window given as
+          argument.</p>
+        </div>
+
+        <div class="SECT3">
+          <hr>
+
+          <h4 class="SECT3"><a name="VWPRINTW" id="VWPRINTW">6.3.3.
+          vw_printw()</a></h4>
+
+          <p>This function is similar to <tt class=
+          "LITERAL">vprintf()</tt>. This can be used when variable
+          number of arguments are to be printed.</p>
+        </div>
+
+        <div class="SECT3">
+          <hr>
+
+          <h4 class="SECT3"><a name="SIMPLEPRINTWEX" id=
+          "SIMPLEPRINTWEX">6.3.4. A Simple printw example</a></h4>
+
+          <div class="EXAMPLE">
+            <a name="BPREX" id="BPREX"></a>
+            <p><b>Example 3. A Simple printw example</b>
+            </p>
+
+            <pre class="PROGRAMLISTING"><span class=
+            "INLINEMEDIAOBJECT">#include &lt;curses.h&gt;
+#include &lt;string.h&gt; 
  
 int main()
 {
- char mesg[]="Just a string";		/* message to be appeared on the screen */
- int row,col;				/* to store the number of rows and *
-					 * the number of colums of the screen */
- initscr();				/* start the curses mode */
- getmaxyx(stdscr,row,col);		/* get the number of rows and columns */
+ char mesg[]="Just a string";           /* message to be appeared on the screen */
+ int row,col;                           /* to store the number of rows and *
+                                         * the number of columns of the screen */
+ initscr();                             /* start the curses mode */
+ getmaxyx(stdscr,row,col);              /* get the number of rows and columns */
  mvprintw(row/2,(col-strlen(mesg))/2,"%s",mesg);
-                                	/* print the message at the center of the screen */
+                                        /* print the message at the center of the screen */
  mvprintw(row-2,0,"This screen has %d rows and %d columns\n",row,col);
  printw("Try resizing your window(if possible) and then run this program again");
  refresh();
@@ -2327,302 +1687,229 @@
  endwin();
 
  return 0;
-}</SPAN
-></PRE
-></DIV
-><P
->Above program demonstrates how easy it is to use <TT
-CLASS="LITERAL"
->printw</TT
->. You just feed the coordinates and the message to be appeared
-on the screen, then it does what you want.</P
-><P
->The above program introduces us to a new function
-<TT
-CLASS="LITERAL"
->getmaxyx()</TT
->, a macro defined in
-<TT
-CLASS="LITERAL"
->ncurses.h</TT
->. It gives the number of columns and
-the number of rows in a given window.
-<TT
-CLASS="LITERAL"
->getmaxyx()</TT
-> does this by updating the variables
-given to it. Since <TT
-CLASS="LITERAL"
->getmaxyx()</TT
-> is not a function
-we don't pass pointers to it, we just give two integer variables. </P
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="ADDSTRCLASS"
->6.4. addstr() class of functions</A
-></H3
-><P
-><TT
-CLASS="LITERAL"
->addstr()</TT
-> is used to put a character string into
-a given window. This function is similar to calling
-<TT
-CLASS="LITERAL"
->addch()</TT
-> once for each character in a given
-string. This is true for all output functions. There are other functions from
-this family such as <TT
-CLASS="LITERAL"
->mvaddstr(),mvwaddstr()</TT
-> and
-<TT
-CLASS="LITERAL"
->waddstr()</TT
->, which obey the naming convention of
-curses.(e.g. mvaddstr() is similar to the respective calls move() and then
-addstr().) Another function of this family is addnstr(), which takes an integer
-parameter(say n) additionally. This function puts at most n characters into the
-screen. If n is negative, then the entire string will be added. </P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="ACAUTION"
->6.5. A word of caution</A
-></H3
-><P
->All these functions take y co-ordinate first and then x in their arguments.
-A common mistake by beginners is to pass x,y in that order. If you are
-doing too many manipulations of (y,x) co-ordinates, think of dividing the
-screen into windows and manipulate each one separately. Windows are explained
-in the <A
-HREF="#WINDOWS"
-> windows </A
-> section.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="SCANW"
->7. Input functions</A
-></H2
-><P
->Well, printing without taking input, is boring. Let's see functions which
-allow us to get input from user. These functions also can be divided into
-three categories.</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->getch() class: Get a character</P
-></LI
-><LI
-><P
->scanw() class: Get formatted input</P
-></LI
-><LI
-><P
->getstr() class: Get strings</P
-></LI
-></OL
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="GETCHCLASS"
->7.1. getch() class of functions</A
-></H3
-><P
->These functions read a single character from the terminal. But there are several
-subtle facts to consider. For example if you don't use the function cbreak(),
-curses will not read your input characters contiguously but will begin read them
-only after a new line or an EOF is encountered. In order to avoid this, the
-cbreak() function must used so that characters are immediately available to your
-program. Another widely used function is noecho(). As the name suggests, when
-this function is set (used), the characters that are keyed in by the user will
-not show up on the screen. The two functions cbreak() and noecho() are typical
-examples of key management.  Functions of this genre are explained in the
-<A
-HREF="#KEYS"
->key management section </A
->.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="SCANWCLASS"
->7.2. scanw() class of functions</A
-></H3
-><P
->These functions are similar to <TT
-CLASS="LITERAL"
->scanf()</TT
-> with the
-added capability of getting the input from any location on the screen.</P
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="SCANWMVSCANW"
->7.2.1. scanw() and mvscanw</A
-></H4
-><P
->The usage of these functions is similar to that of
-<TT
-CLASS="LITERAL"
->sscanf()</TT
->, where the line to be scanned is
-provided by <TT
-CLASS="LITERAL"
->wgetstr()</TT
-> function. That is, these
-functions call to <TT
-CLASS="LITERAL"
->wgetstr()</TT
-> function(explained
-below) and uses the resulting line for a scan. </P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="WSCANWMVWSCANW"
->7.2.2. wscanw() and mvwscanw()</A
-></H4
-><P
->These are similar to above two functions except that they read from a window,
-which is supplied as one of the arguments to these functions. </P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="VWSCANW"
->7.2.3. vwscanw()</A
-></H4
-><P
->This function is similar to <TT
-CLASS="LITERAL"
->vscanf()</TT
->. This can
-be used when a variable number of arguments are to be scanned.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="GETSTRCLASS"
->7.3. getstr() class of functions</A
-></H3
-><P
->These functions are used to get strings from the terminal. In essence, this
-function performs the same task as would be achieved by a series of calls to
-<TT
-CLASS="LITERAL"
->getch()</TT
-> until a newline, carriage return, or
-end-of-file is received. The resulting string of characters are pointed to by
-<TT
-CLASS="LITERAL"
->str</TT
->, which is a character pointer provided by
-the user.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="GETSTREX"
->7.4. Some examples</A
-></H3
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="BSCEX"
-></A
-><P
-><B
->Example 4.  A Simple scanw example </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;ncurses.h&#62;			/* ncurses.h includes stdio.h */  
-#include &#60;string.h&#62; 
+}</span></pre>
+          </div>
+
+          <p>Above program demonstrates how easy it is to use
+          <tt class="LITERAL">printw</tt>. You just feed the
+          coordinates and the message to be appeared on the screen,
+          then it does what you want.</p>
+
+          <p>The above program introduces us to a new function
+          <tt class="LITERAL">getmaxyx()</tt>, a macro defined in
+          <tt class="LITERAL">ncurses.h</tt>. It gives the number
+          of columns and the number of rows in a given window.
+          <tt class="LITERAL">getmaxyx()</tt> does this by updating
+          the variables given to it. Since <tt class=
+          "LITERAL">getmaxyx()</tt> is not a function we don't pass
+          pointers to it, we just give two integer variables.</p>
+        </div>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="ADDSTRCLASS" id=
+        "ADDSTRCLASS">6.4. addstr() class of functions</a></h3>
+
+        <p><tt class="LITERAL">addstr()</tt> is used to put a
+        character string into a given window. This function is
+        similar to calling <tt class="LITERAL">addch()</tt> once
+        for each character in a given string. This is true for all
+        output functions. There are other functions from this
+        family such as <tt class=
+        "LITERAL">mvaddstr(),mvwaddstr()</tt> and <tt class=
+        "LITERAL">waddstr()</tt>, which obey the naming convention
+        of curses.(e.g. mvaddstr() is similar to the respective
+        calls move() and then addstr().) Another function of this
+        family is addnstr(), which takes an integer parameter(say
+        n) additionally. This function puts at most n characters
+        into the screen. If n is negative, then the entire string
+        will be added.</p>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="ACAUTION" id="ACAUTION">6.5. A
+        word of caution</a></h3>
+
+        <p>All these functions take y co-ordinate first and then x
+        in their arguments. A common mistake by beginners is to
+        pass x,y in that order. If you are doing too many
+        manipulations of (y,x) co-ordinates, think of dividing the
+        screen into windows and manipulate each one separately.
+        Windows are explained in the <a href="#WINDOWS">windows</a>
+        section.</p>
+      </div>
+    </div>
+
+    <div class="SECT1">
+      <hr>
+
+      <h2 class="SECT1"><a name="SCANW" id="SCANW">7. Input
+      functions</a></h2>
+
+      <p>Well, printing without taking input, is boring. Let's see
+      functions which allow us to get input from user. These
+      functions also can be divided into three categories.</p>
+
+      <ol type="1">
+        <li>
+          <p>getch() class: Get a character</p>
+        </li>
+
+        <li>
+          <p>scanw() class: Get formatted input</p>
+        </li>
+
+        <li>
+          <p>getstr() class: Get strings</p>
+        </li>
+      </ol>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="GETCHCLASS" id="GETCHCLASS">7.1.
+        getch() class of functions</a></h3>
+
+        <p>These functions read a single character from the
+        terminal. But there are several subtle facts to consider.
+        For example if you don't use the function cbreak(), curses
+        will not read your input characters contiguously but will
+        begin read them only after a new line or an EOF is
+        encountered. In order to avoid this, the cbreak() function
+        must used so that characters are immediately available to
+        your program. Another widely used function is noecho(). As
+        the name suggests, when this function is set (used), the
+        characters that are keyed in by the user will not show up
+        on the screen. The two functions cbreak() and noecho() are
+        typical examples of key management. Functions of this genre
+        are explained in the <a href="#KEYS">key management
+        section</a> .</p>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="SCANWCLASS" id="SCANWCLASS">7.2.
+        scanw() class of functions</a></h3>
+
+        <p>These functions are similar to <tt class=
+        "LITERAL">scanf()</tt> with the added capability of getting
+        the input from any location on the screen.</p>
+
+        <div class="SECT3">
+          <hr>
+
+          <h4 class="SECT3"><a name="SCANWMVSCANW" id=
+          "SCANWMVSCANW">7.2.1. scanw() and mvscanw</a></h4>
+
+          <p>The usage of these functions is similar to that of
+          <tt class="LITERAL">sscanf()</tt>, where the line to be
+          scanned is provided by <tt class="LITERAL">wgetstr()</tt>
+          function. That is, these functions call to <tt class=
+          "LITERAL">wgetstr()</tt> function(explained below) and
+          uses the resulting line for a scan.</p>
+        </div>
+
+        <div class="SECT3">
+          <hr>
+
+          <h4 class="SECT3"><a name="WSCANWMVWSCANW" id=
+          "WSCANWMVWSCANW">7.2.2. wscanw() and mvwscanw()</a></h4>
+
+          <p>These are similar to above two functions except that
+          they read from a window, which is supplied as one of the
+          arguments to these functions.</p>
+        </div>
+
+        <div class="SECT3">
+          <hr>
+
+          <h4 class="SECT3"><a name="VWSCANW" id="VWSCANW">7.2.3.
+          vw_scanw()</a></h4>
+
+          <p>This function is similar to <tt class=
+          "LITERAL">vscanf()</tt>. This can be used when a variable
+          number of arguments are to be scanned.</p>
+        </div>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="GETSTRCLASS" id=
+        "GETSTRCLASS">7.3. getstr() class of functions</a></h3>
+
+        <p>These functions are used to get strings from the
+        terminal. In essence, this function performs the same task
+        as would be achieved by a series of calls to <tt class=
+        "LITERAL">getch()</tt> until a newline, carriage return, or
+        end-of-file is received. The resulting string of characters
+        are pointed to by <tt class="LITERAL">str</tt>, which is a
+        character pointer provided by the user.</p>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="GETSTREX" id="GETSTREX">7.4.
+        Some examples</a></h3>
+
+        <div class="EXAMPLE">
+          <a name="BSCEX" id="BSCEX"></a>
+          <p><b>Example 4. A Simple scanw example</b>
+          </p>
+
+          <pre class="PROGRAMLISTING"><span class=
+          "INLINEMEDIAOBJECT">#include &lt;curses.h&gt;
+#include &lt;string.h&gt; 
  
 int main()
 {
- char mesg[]="Enter a string: ";		/* message to be appeared on the screen */
+ char mesg[]="Enter a string: ";                /* message to be appeared on the screen */
  char str[80];
- int row,col;				/* to store the number of rows and *
-					 * the number of colums of the screen */
- initscr();				/* start the curses mode */
- getmaxyx(stdscr,row,col);		/* get the number of rows and columns */
+ int row,col;                           /* to store the number of rows and *
+                                         * the number of columns of the screen */
+ initscr();                             /* start the curses mode */
+ getmaxyx(stdscr,row,col);              /* get the number of rows and columns */
  mvprintw(row/2,(col-strlen(mesg))/2,"%s",mesg);
-                     		/* print the message at the center of the screen */
+                                /* print the message at the center of the screen */
  getstr(str);
  mvprintw(LINES - 2, 0, "You Entered: %s", str);
  getch();
  endwin();
 
  return 0;
-}</SPAN
-></PRE
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="ATTRIB"
->8. Attributes</A
-></H2
-><P
->We have seen an example of how attributes can be used to print characters with
-some special effects. Attributes, when set prudently, can present information in
-an easy, understandable manner. The following program takes a C file as input
-and prints the file with comments in bold. Scan through the code. </P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="BSIAT"
-></A
-><P
-><B
->Example 5.  A Simple Attributes example </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->/* pager functionality by Joseph Spainhour" &#60;spainhou@bellsouth.net&#62; */
-#include &#60;ncurses.h&#62;
-#include &#60;stdlib.h&#62;
+}</span></pre>
+        </div>
+      </div>
+    </div>
+
+    <div class="SECT1">
+      <hr>
+
+      <h2 class="SECT1"><a name="ATTRIB" id="ATTRIB">8.
+      Attributes</a></h2>
+
+      <p>We have seen an example of how attributes can be used to
+      print characters with some special effects. Attributes, when
+      set prudently, can present information in an easy,
+      understandable manner. The following program takes a C file
+      as input and prints the file with comments in bold. Scan
+      through the code.</p>
+
+      <div class="EXAMPLE">
+        <a name="BSIAT" id="BSIAT"></a>
+        <p><b>Example 5. A Simple Attributes example</b>
+        </p>
+
+        <pre class="PROGRAMLISTING"><span class=
+        "INLINEMEDIAOBJECT">/* pager functionality by Joseph Spainhour" &lt;spainhou@bellsouth.net&gt; */
+#include &lt;curses.h&gt;
+#include &lt;stdlib.h&gt;
 
 int main(int argc, char *argv[])
 { 
@@ -2633,7 +1920,7 @@
 
   if(argc != 2)
   {
-    printf("Usage: %s &#60;a c file name&#62;\n", argv[0]);
+    printf("Usage: %s &lt;a c file name&gt;\n", argv[0]);
     exit(1);
   }
   fp = fopen(argv[1], "r");
@@ -2642,101 +1929,80 @@
     perror("Cannot open input file");
     exit(1);
   }
-  initscr();				/* Start curses mode */
-  getmaxyx(stdscr, row, col);		/* find the boundaries of the screeen */
-  while((ch = fgetc(fp)) != EOF)	/* read the file till we reach the end */
+  initscr();                            /* Start curses mode */
+  getmaxyx(stdscr, row, col);           /* find the boundaries of the screeen */
+  while((ch = fgetc(fp)) != EOF)        /* read the file till we reach the end */
   {
-    getyx(stdscr, y, x);		/* get the current curser position */
-    if(y == (row - 1))			/* are we are at the end of the screen */
+    getyx(stdscr, y, x);                /* get the current cursor position */
+    if(y == (row - 1))                  /* are we are at the end of the screen */
     {
-      printw("&#60;-Press Any Key-&#62;");	/* tell the user to press a key */
+      printw("&lt;-Press Any Key-&gt;");      /* tell the user to press a key */
       getch();
-      clear();				/* clear the screen */
-      move(0, 0);			/* start at the beginning of the screen */
+      clear();                          /* clear the screen */
+      move(0, 0);                       /* start at the beginning of the screen */
     }
-    if(prev == '/' &#38;&#38; ch == '*')    	/* If it is / and * then only
-                                     	 * switch bold on */    
+    if(prev == '/' &amp;&amp; ch == '*')        /* If it is / and * then only
+                                         * switch bold on */    
     {
-      attron(A_BOLD);			/* cut bold on */
-      getyx(stdscr, y, x);		/* get the current curser position */
-      move(y, x - 1);			/* back up one space */
-      printw("%c%c", '/', ch); 		/* The actual printing is done here */
+      attron(A_BOLD);                   /* cut bold on */
+      getyx(stdscr, y, x);              /* get the current cursor position */
+      move(y, x - 1);                   /* back up one space */
+      printw("%c%c", '/', ch);          /* The actual printing is done here */
     }
     else
       printw("%c", ch);
     refresh();
-    if(prev == '*' &#38;&#38; ch == '/')
-      attroff(A_BOLD);        		/* Switch it off once we got *
-                                 	 * and then / */
+    if(prev == '*' &amp;&amp; ch == '/')
+      attroff(A_BOLD);                  /* Switch it off once we got *
+                                         * and then / */
     prev = ch;
   }
-  endwin();                       	/* End curses mode */
+  endwin();                             /* End curses mode */
   fclose(fp);
   return 0;
-}</SPAN
-></PRE
-></DIV
-><P
-> 
-Don't worry about all those initialization and other crap. Concentrate on 
-the while loop. It reads each character in the file and searches for the 
-pattern /*. Once it spots the pattern, it switches the BOLD attribute on with 
-<TT
-CLASS="LITERAL"
-> attron()</TT
-> . When we get the pattern */ it is 
-switched off by <TT
-CLASS="LITERAL"
-> attroff()</TT
-> .</P
-><P
-> 
-The above program also introduces us to two useful functions
-<TT
-CLASS="LITERAL"
->getyx() </TT
-> and
-<TT
-CLASS="LITERAL"
->move()</TT
->. The first function gets the
-co-ordinates of the present cursor into the variables y, x. Since getyx() is a
-macro we don't have to pass pointers to variables. The function
-<TT
-CLASS="LITERAL"
->move()</TT
-> moves the cursor to the co-ordinates
-given to it. </P
-><P
-> 
-The above program is really a simple one which doesn't do much. On these lines
-one could write a more useful program which reads a C file, parses it and prints
-it in different colors. One could even extend it to other languages as well.</P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="ATTRIBDETAILS"
->8.1. The details</A
-></H3
-><P
->Let's get into more details of attributes. The functions <TT
-CLASS="LITERAL"
->attron(), attroff(), attrset() </TT
->, and their sister functions
-<TT
-CLASS="LITERAL"
-> attr_get()</TT
-> etc..  can be used to switch
-attributes on/off , get attributes and produce a colorful display.</P
-><P
->The functions attron and attroff take a bit-mask of attributes and switch them 
-on or off, respectively. The following video attributes, which are defined in 
-&lt;curses.h&gt; can be passed to these functions. </P
-><PRE
-CLASS="PROGRAMLISTING"
->    
+}</span></pre>
+      </div>
+
+      <p>Don't worry about all those initialization and other crap.
+      Concentrate on the while loop. It reads each character in the
+      file and searches for the pattern /*. Once it spots the
+      pattern, it switches the BOLD attribute on with <tt class=
+      "LITERAL">attron()</tt> . When we get the pattern */ it is
+      switched off by <tt class="LITERAL">attroff()</tt> .</p>
+
+      <p>The above program also introduces us to two useful
+      functions <tt class="LITERAL">getyx()</tt> and <tt class=
+      "LITERAL">move()</tt>. The first function gets the
+      co-ordinates of the present cursor into the variables y, x.
+      Since getyx() is a macro we don't have to pass pointers to
+      variables. The function <tt class="LITERAL">move()</tt> moves
+      the cursor to the co-ordinates given to it.</p>
+
+      <p>The above program is really a simple one which doesn't do
+      much. On these lines one could write a more useful program
+      which reads a C file, parses it and prints it in different
+      colors. One could even extend it to other languages as
+      well.</p>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="ATTRIBDETAILS" id=
+        "ATTRIBDETAILS">8.1. The details</a></h3>
+
+        <p>Let's get into more details of attributes. The functions
+        <tt class="LITERAL">attron(), attroff(), attrset()</tt> ,
+        and their sister functions <tt class=
+        "LITERAL">attr_get()</tt>, etc. can be used to switch
+        attributes on/off , get attributes and produce a colorful
+        display.</p>
+
+        <p>The functions attron and attroff take a bit-mask of
+        attributes and switch them on or off, respectively. The
+        following video attributes, which are defined in
+        &lt;curses.h&gt; can be passed to these functions.</p>
+
+        <pre class="PROGRAMLISTING">    
     A_NORMAL        Normal display (no highlight)
     A_STANDOUT      Best highlighting mode of the terminal.
     A_UNDERLINE     Underlining
@@ -2749,445 +2015,391 @@
     A_ALTCHARSET    Alternate character set
     A_CHARTEXT      Bit-mask to extract a character
     COLOR_PAIR(n)   Color-pair number n 
-    </PRE
-><P
-> 
-The last one is the most colorful one :-) Colors are explained in the 
-<A
-HREF="#color"
-TARGET="_top"
->next sections</A
->.</P
-><P
->We can OR(|) any number of above attributes to get a combined effect. If you 
-wanted reverse video with blinking characters you can use</P
-><PRE
-CLASS="PROGRAMLISTING"
->    attron(A_REVERSE | A_BLINK);</PRE
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="ATTRONVSATTRSET"
->8.2. attron() vs attrset()</A
-></H3
-><P
->Then what is the difference between attron() and attrset()? attrset sets the
-attributes of window whereas attron just switches on the attribute given to it.
-So attrset() fully overrides whatever attributes the window previously had and
-sets it to the new attribute(s). Similarly attroff() just switches off the
-attribute(s) given to it as an argument. This gives us the flexibility of
-managing attributes easily.But if you use them carelessly you may loose track of
-what attributes the window has and garble the display. This is especially true
-while managing menus with colors and highlighting. So decide on a consistent
-policy and stick to it. You can always use <TT
-CLASS="LITERAL"
-> standend()</TT
-> which is equivalent to <TT
-CLASS="LITERAL"
-> attrset(A_NORMAL)</TT
-> which turns off all attributes and brings you to normal mode.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="ATTR_GET"
->8.3. attr_get()</A
-></H3
-><P
->&#13;The function attr_get() gets the current attributes and color pair of the
-window. Though we might not use this as often as the above functions, this is
-useful in scanning areas of screen. Say we wanted to do some complex update on
-screen and we are not sure what attribute each character is associated with.
-Then this function can be used with either attrset or attron to produce the
-desired effect.&#13;</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="ATTR_FUNCS"
->8.4. attr_ functions</A
-></H3
-><P
->There are series of functions like attr_set(), attr_on etc.. These are similar
-to above functions except that they take parameters of type
-<TT
-CLASS="LITERAL"
->attr_t</TT
->.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="WATTRFUNCS"
->8.5. wattr functions</A
-></H3
-><P
->For each of the above functions we have a corresponding function with 'w' which
-operates on a particular window. The above functions operate on stdscr. </P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="CHGAT"
->8.6. chgat() functions</A
-></H3
-><P
->The function chgat() is listed in the end of the man page curs_attr. It actually
-is a useful one. This function can be used to set attributes for a group of
-characters without moving. I mean it !!! without moving the cursor :-) It
-changes the attributes of a given number of characters starting at the current
-cursor location.</P
-><P
->We can give -1 as the character count to update till end of line. If you want to
-change attributes of characters from current position to end of line, just use
-this.</P
-><PRE
-CLASS="PROGRAMLISTING"
->    chgat(-1, A_REVERSE, 0, NULL);</PRE
-><P
-> 
-This function is useful when changing attributes for characters that are
-already on the screen. Move to the character from which you want to change and
-change the attribute. </P
-><P
->Other functions wchgat(), mvchgat(), wchgat() behave similarly except that the w
-functions operate on the particular window. The mv functions first move the
-cursor then perform the work given to them. Actually chgat is a macro which is
-replaced by a wchgat() with stdscr as the window. Most of the "w-less" functions
-are macros.</P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="BWICH"
-></A
-><P
-><B
->Example 6.  Chgat() Usage example </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;ncurses.h&#62;
+    </pre>
+        <p>The last one is the most colorful one :-) Colors are
+        explained in the <a href="#color" target="_top">next
+        sections</a>.</p>
+
+        <p>We can OR(|) any number of above attributes to get a
+        combined effect. If you wanted reverse video with blinking
+        characters you can use</p>
+
+        <pre class=
+        "PROGRAMLISTING">    attron(A_REVERSE | A_BLINK);</pre>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="ATTRONVSATTRSET" id=
+        "ATTRONVSATTRSET">8.2. attron() vs attrset()</a></h3>
+
+        <p>Then what is the difference between attron() and
+        attrset()? attrset sets the attributes of window whereas
+        attron just switches on the attribute given to it. So
+        attrset() fully overrides whatever attributes the window
+        previously had and sets it to the new attribute(s).
+        Similarly attroff() just switches off the attribute(s)
+        given to it as an argument. This gives us the flexibility
+        of managing attributes easily.But if you use them
+        carelessly you may loose track of what attributes the
+        window has and garble the display. This is especially true
+        while managing menus with colors and highlighting. So
+        decide on a consistent policy and stick to it. You can
+        always use <tt class="LITERAL">standend()</tt> which is
+        equivalent to <tt class="LITERAL">attrset(A_NORMAL)</tt>
+        which turns off all attributes and brings you to normal
+        mode.</p>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="ATTRGET" id="ATTRGET">8.3.
+        attr_get()</a></h3>
+
+        <p>The function attr_get() gets the current attributes and
+        color pair of the window. Though we might not use this as
+        often as the above functions, this is useful in scanning
+        areas of screen. Say we wanted to do some complex update on
+        screen and we are not sure what attribute each character is
+        associated with. Then this function can be used with either
+        attrset or attron to produce the desired effect.</p>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="ATTRFUNCS" id="ATTRFUNCS">8.4.
+        attr_ functions</a></h3>
+
+        <p>There are series of functions like attr_set(), attr_on,
+        etc. These are similar to above functions except that they
+        take parameters of type <tt class=
+        "LITERAL">attr_t</tt>.</p>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="WATTRFUNCS" id="WATTRFUNCS">8.5.
+        wattr functions</a></h3>
+
+        <p>For each of the above functions we have a corresponding
+        function with 'w' which operates on a particular window.
+        The above functions operate on stdscr.</p>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="CHGAT" id="CHGAT">8.6. chgat()
+        functions</a></h3>
+
+        <p>The function chgat() is listed in the end of the man
+        page curs_attr. It actually is a useful one. This function
+        can be used to set attributes for a group of characters
+        without moving. I mean it !!! without moving the cursor :-)
+        It changes the attributes of a given number of characters
+        starting at the current cursor location.</p>
+
+        <p>We can give -1 as the character count to update till end
+        of line. If you want to change attributes of characters
+        from current position to end of line, just use this.</p>
+
+        <pre class=
+        "PROGRAMLISTING">    chgat(-1, A_REVERSE, 0, NULL);</pre>
+        <p>This function is useful when changing attributes for
+        characters that are already on the screen. Move to the
+        character from which you want to change and change the
+        attribute.</p>
+
+        <p>Other functions wchgat(), mvchgat(), wchgat() behave
+        similarly except that the w functions operate on the
+        particular window. The mv functions first move the cursor
+        then perform the work given to them. Actually chgat is a
+        macro which is replaced by a wchgat() with stdscr as the
+        window. Most of the "w-less" functions are macros.</p>
+
+        <div class="EXAMPLE">
+          <a name="BWICH" id="BWICH"></a>
+          <p><b>Example 6. Chgat() Usage example</b>
+          </p>
+
+          <pre class="PROGRAMLISTING"><span class=
+          "INLINEMEDIAOBJECT">#include &lt;curses.h&gt;
 
 int main(int argc, char *argv[])
-{	initscr();			/* Start curses mode 		*/
-	start_color();			/* Start color functionality	*/
-	
-	init_pair(1, COLOR_CYAN, COLOR_BLACK);
-	printw("A Big string which i didn't care to type fully ");
-	mvchgat(0, 0, -1, A_BLINK, 1, NULL);	
-	/* 
-	 * First two parameters specify the position at which to start 
-	 * Third parameter number of characters to update. -1 means till 
-	 * end of line
-	 * Forth parameter is the normal attribute you wanted to give 
-	 * to the charcter
-	 * Fifth is the color index. It is the index given during init_pair()
-	 * use 0 if you didn't want color
-	 * Sixth one is always NULL 
-	 */
-	refresh();
-    	getch();
-	endwin();			/* End curses mode		  */
-	return 0;
-}</SPAN
-></PRE
-></DIV
-><P
->This example also introduces us to the color world of curses. Colors will be 
-explained in detail later. Use 0 for no color.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="WINDOWS"
->9. Windows</A
-></H2
-><P
->Windows form the most important concept in curses. You have seen the standard
-window stdscr above where all the functions implicitly operated on this window.
-Now to make design even a simplest GUI, you need to resort to windows.  The main
-reason you may want to use windows is to manipulate parts of the screen
-separately, for better efficiency, by updating only the windows that need to be
-changed and for a better design. I would say the last reason is the most
-important in going for windows. You should always strive for a better and
-easy-to-manage design in your programs. If you are writing big, complex GUIs
-this is of pivotal importance before you start doing anything.</P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="WINDOWBASICS"
->9.1. The basics</A
-></H3
-><P
->A Window can be created by calling the function
-<TT
-CLASS="LITERAL"
->newwin()</TT
->. It doesn't create any thing on the
-screen actually. It allocates memory for a structure to manipulate the window
-and updates the structure with data regarding the window like it's size, beginy,
-beginx etc.. Hence in curses, a window is just an abstraction of an imaginary
-window, which can be manipulated independent of other parts of screen. The
-function newwin() returns a pointer to structure WINDOW, which can be passed to
-window related functions like wprintw() etc.. Finally the window can be
-destroyed with delwin(). It will deallocate the memory associated with the
-window structure.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="LETBEWINDOW"
->9.2. Let there be a Window !!!</A
-></H3
-><P
->What fun is it, if a window is created and we can't see it. So the fun part
-begins by displaying the window. The function
-<TT
-CLASS="LITERAL"
->box()</TT
-> can be used to draw a border around the
-window. Let's explore these functions in more detail in this example.</P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="BWIBO"
-></A
-><P
-><B
->Example 7. Window Border example </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;ncurses.h&#62;
+{       initscr();                      /* Start curses mode            */
+        start_color();                  /* Start color functionality    */
+        
+        init_pair(1, COLOR_CYAN, COLOR_BLACK);
+        printw("A Big string which i didn't care to type fully ");
+        mvchgat(0, 0, -1, A_BLINK, 1, NULL);    
+        /* 
+         * First two parameters specify the position at which to start 
+         * Third parameter number of characters to update. -1 means till 
+         * end of line
+         * Forth parameter is the normal attribute you wanted to give 
+         * to the character
+         * Fifth is the color index. It is the index given during init_pair()
+         * use 0 if you didn't want color
+         * Sixth one is always NULL 
+         */
+        refresh();
+        getch();
+        endwin();                       /* End curses mode                */
+        return 0;
+}</span></pre>
+        </div>
 
+        <p>This example also introduces us to the color world of
+        curses. Colors will be explained in detail later. Use 0 for
+        no color.</p>
+      </div>
+    </div>
+
+    <div class="SECT1">
+      <hr>
+
+      <h2 class="SECT1"><a name="WINDOWS" id="WINDOWS">9.
+      Windows</a></h2>
+
+      <p>Windows form the most important concept in curses. You
+      have seen the standard window stdscr above where all the
+      functions implicitly operated on this window. Now to make
+      design even a simplest GUI, you need to resort to windows.
+      The main reason you may want to use windows is to manipulate
+      parts of the screen separately, for better efficiency, by
+      updating only the windows that need to be changed and for a
+      better design. I would say the last reason is the most
+      important in going for windows. You should always strive for
+      a better and easy-to-manage design in your programs. If you
+      are writing big, complex GUIs this is of pivotal importance
+      before you start doing anything.</p>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="WINDOWBASICS" id=
+        "WINDOWBASICS">9.1. The basics</a></h3>
+
+        <p>A Window can be created by calling the function
+        <tt class="LITERAL">newwin()</tt>. It doesn't create any
+        thing on the screen actually. It allocates memory for a
+        structure to manipulate the window and updates the
+        structure with data regarding the window such as its size,
+        beginy, beginx, etc. Hence in curses, a window is just an
+        abstraction of an imaginary window, which can be
+        manipulated independent of other parts of screen. The
+        function newwin() returns a pointer to structure WINDOW,
+        which can be passed to window related functions such as
+        wprintw(), etc. Finally the window can be destroyed with
+        delwin(). It will deallocate the memory associated with the
+        window structure.</p>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="LETBEWINDOW" id=
+        "LETBEWINDOW">9.2. Let there be a Window !!!</a></h3>
+
+        <p>What fun is it, if a window is created and we can't see
+        it. So the fun part begins by displaying the window. The
+        function <tt class="LITERAL">box()</tt> can be used to draw
+        a border around the window. Let's explore these functions
+        in more detail in this example.</p>
+
+        <div class="EXAMPLE">
+          <a name="BWIBO" id="BWIBO"></a>
+          <p><b>Example 7. Window Border example</b>
+          </p>
+
+          <pre class="PROGRAMLISTING"><span class=
+          "INLINEMEDIAOBJECT">#include &lt;curses.h&gt;
 
 WINDOW *create_newwin(int height, int width, int starty, int startx);
 void destroy_win(WINDOW *local_win);
 
 int main(int argc, char *argv[])
-{	WINDOW *my_win;
-	int startx, starty, width, height;
-	int ch;
+{       WINDOW *my_win;
+        int startx, starty, width, height;
+        int ch;
 
-	initscr();			/* Start curses mode 		*/
-	cbreak();			/* Line buffering disabled, Pass on
-					 * everty thing to me 		*/
-	keypad(stdscr, TRUE);		/* I need that nifty F1 	*/
+        initscr();                      /* Start curses mode            */
+        cbreak();                       /* Line buffering disabled, Pass on
+                                         * everty thing to me           */
+        keypad(stdscr, TRUE);           /* I need that nifty F1         */
 
-	height = 3;
-	width = 10;
-	starty = (LINES - height) / 2;	/* Calculating for a center placement */
-	startx = (COLS - width) / 2;	/* of the window		*/
-	printw("Press F1 to exit");
-	refresh();
-	my_win = create_newwin(height, width, starty, startx);
+        height = 3;
+        width = 10;
+        starty = (LINES - height) / 2;  /* Calculating for a center placement */
+        startx = (COLS - width) / 2;    /* of the window                */
+        printw("Press F1 to exit");
+        refresh();
+        my_win = create_newwin(height, width, starty, startx);
 
-	while((ch = getch()) != KEY_F(1))
-	{	switch(ch)
-		{	case KEY_LEFT:
-				destroy_win(my_win);
-				my_win = create_newwin(height, width, starty,--startx);
-				break;
-			case KEY_RIGHT:
-				destroy_win(my_win);
-				my_win = create_newwin(height, width, starty,++startx);
-				break;
-			case KEY_UP:
-				destroy_win(my_win);
-				my_win = create_newwin(height, width, --starty,startx);
-				break;
-			case KEY_DOWN:
-				destroy_win(my_win);
-				my_win = create_newwin(height, width, ++starty,startx);
-				break;	
-		}
-	}
-		
-	endwin();			/* End curses mode		  */
-	return 0;
+        while((ch = getch()) != KEY_F(1))
+        {       switch(ch)
+                {       case KEY_LEFT:
+                                destroy_win(my_win);
+                                my_win = create_newwin(height, width, starty,--startx);
+                                break;
+                        case KEY_RIGHT:
+                                destroy_win(my_win);
+                                my_win = create_newwin(height, width, starty,++startx);
+                                break;
+                        case KEY_UP:
+                                destroy_win(my_win);
+                                my_win = create_newwin(height, width, --starty,startx);
+                                break;
+                        case KEY_DOWN:
+                                destroy_win(my_win);
+                                my_win = create_newwin(height, width, ++starty,startx);
+                                break;  
+                }
+        }
+                
+        endwin();                       /* End curses mode                */
+        return 0;
 }
 
 WINDOW *create_newwin(int height, int width, int starty, int startx)
-{	WINDOW *local_win;
+{       WINDOW *local_win;
 
-	local_win = newwin(height, width, starty, startx);
-	box(local_win, 0 , 0);		/* 0, 0 gives default characters 
-					 * for the vertical and horizontal
-					 * lines			*/
-	wrefresh(local_win);		/* Show that box 		*/
+        local_win = newwin(height, width, starty, startx);
+        box(local_win, 0 , 0);          /* 0, 0 gives default characters 
+                                         * for the vertical and horizontal
+                                         * lines                        */
+        wrefresh(local_win);            /* Show that box                */
 
-	return local_win;
+        return local_win;
 }
 
 void destroy_win(WINDOW *local_win)
-{	
-	/* box(local_win, ' ', ' '); : This won't produce the desired
-	 * result of erasing the window. It will leave it's four corners 
-	 * and so an ugly remnant of window. 
-	 */
-	wborder(local_win, ' ', ' ', ' ',' ',' ',' ',' ',' ');
-	/* The parameters taken are 
-	 * 1. win: the window on which to operate
-	 * 2. ls: character to be used for the left side of the window 
-	 * 3. rs: character to be used for the right side of the window 
-	 * 4. ts: character to be used for the top side of the window 
-	 * 5. bs: character to be used for the bottom side of the window 
-	 * 6. tl: character to be used for the top left corner of the window 
-	 * 7. tr: character to be used for the top right corner of the window 
-	 * 8. bl: character to be used for the bottom left corner of the window 
-	 * 9. br: character to be used for the bottom right corner of the window
-	 */
-	wrefresh(local_win);
-	delwin(local_win);
-}</SPAN
-></PRE
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="BORDEREXEXPL"
->9.3. Explanation</A
-></H3
-><P
->Don't scream. I know it's a big example. But I have to explain some important
-things here :-). This program creates a rectangular window that can be moved 
-with left, right, up, down arrow keys. It repeatedly creates and destroys
-windows as user press a key. Don't go beyond the screen limits. Checking for
-those limits is left as an exercise for the reader. Let's dissect it by line by line.</P
-><P
->The <TT
-CLASS="LITERAL"
->create_newwin()</TT
-> function creates a window
-with <TT
-CLASS="LITERAL"
->newwin() </TT
-> and displays a border around it
-with box. The function <TT
-CLASS="LITERAL"
-> destroy_win()</TT
-> first
-erases the window from screen by painting a border with ' ' character and then
-calling <TT
-CLASS="LITERAL"
->delwin()</TT
-> to deallocate memory related
-to it. Depending on the key the user presses, starty or startx is changed and a
-new window is created.</P
-><P
->In the destroy_win, as you can see, I used wborder instead of box. The reason is
-written in the comments (You missed it. I know. Read the code :-)). wborder 
-draws a border around the window with the characters given to it as the 4 corner
-points and the 4 lines. To put it clearly, if you have called wborder as below:
-<PRE
-CLASS="PROGRAMLISTING"
->    wborder(win, '|', '|', '-', '-', '+', '+', '+', '+');</PRE
-></P
-><P
->it produces some thing like </P
-><PRE
-CLASS="PROGRAMLISTING"
->    +------------+
+{       
+        /* box(local_win, ' ', ' '); : This won't produce the desired
+         * result of erasing the window. It will leave its four corners 
+         * and so an ugly remnant of window. 
+         */
+        wborder(local_win, ' ', ' ', ' ',' ',' ',' ',' ',' ');
+        /* The parameters taken are 
+         * 1. win: the window on which to operate
+         * 2. ls: character to be used for the left side of the window 
+         * 3. rs: character to be used for the right side of the window 
+         * 4. ts: character to be used for the top side of the window 
+         * 5. bs: character to be used for the bottom side of the window 
+         * 6. tl: character to be used for the top left corner of the window 
+         * 7. tr: character to be used for the top right corner of the window 
+         * 8. bl: character to be used for the bottom left corner of the window 
+         * 9. br: character to be used for the bottom right corner of the window
+         */
+        wrefresh(local_win);
+        delwin(local_win);
+}</span></pre>
+        </div>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="BORDEREXEXPL" id=
+        "BORDEREXEXPL">9.3. Explanation</a></h3>
+
+        <p>Don't scream. I know it is a big example. But I have to
+        explain some important things here :-). This program
+        creates a rectangular window that can be moved with left,
+        right, up, down arrow keys. It repeatedly creates and
+        destroys windows as user press a key. Don't go beyond the
+        screen limits. Checking for those limits is left as an
+        exercise for the reader. Let's dissect it by line by
+        line.</p>
+
+        <p>The <tt class="LITERAL">create_newwin()</tt> function
+        creates a window with <tt class="LITERAL">newwin()</tt> and
+        displays a border around it with box. The function
+        <tt class="LITERAL">destroy_win()</tt> first erases the
+        window from screen by painting a border with ' ' character
+        and then calling <tt class="LITERAL">delwin()</tt> to
+        deallocate memory related to it. Depending on the key the
+        user presses, starty or startx is changed and a new window
+        is created.</p>
+
+        <p>In the destroy_win, as you can see, I used wborder
+        instead of box. The reason is written in the comments (You
+        missed it. I know. Read the code :-)). wborder draws a
+        border around the window with the characters given to it as
+        the 4 corner points and the 4 lines. To put it clearly, if
+        you have called wborder as below:</p>
+
+        <pre class=
+        "PROGRAMLISTING">    wborder(win, '|', '|', '-', '-', '+', '+', '+', '+');</pre>
+        <p>it produces something like</p>
+
+        <pre class="PROGRAMLISTING">    +------------+
     |            |
     |            |
     |            |
     |            |
     |            |
     |            |
-    +------------+</PRE
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="OTHERSTUFF"
->9.4. The other stuff in the example</A
-></H3
-><P
->You can also see in the above examples, that I have used the variables COLS,
-LINES which are initialized to the screen sizes after initscr(). They can be
-useful in finding screen dimensions and finding the center co-ordinate of the
-screen as above. The function <TT
-CLASS="LITERAL"
->getch()</TT
-> as usual
-gets the key from keyboard and according to the key it does the corresponding
-work. This type of switch- case is very common in any GUI based programs.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="OTHERBORDERFUNCS"
->9.5. Other Border functions</A
-></H3
-><P
->Above program is grossly inefficient in that with each press of a key, a window
-is destroyed and another is created. So let's write a more efficient program
-which uses other border related functions.</P
-><P
->The following program uses <TT
-CLASS="LITERAL"
->mvhline()</TT
-> and
-<TT
-CLASS="LITERAL"
->mvvline()</TT
-> to achieve similar effect. These two
-functions are simple. They create a horizontal or vertical line of the specified
-length at the specified position.</P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="BOTBO"
-></A
-><P
-><B
->Example 8.  More border functions</B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;ncurses.h&#62;
+    +------------+</pre>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="OTHERSTUFF" id="OTHERSTUFF">9.4.
+        The other stuff in the example</a></h3>
+
+        <p>You can also see in the above examples, that I have used
+        the variables COLS, LINES which are initialized to the
+        screen sizes after initscr(). They can be useful in finding
+        screen dimensions and finding the center co-ordinate of the
+        screen as above. The function <tt class=
+        "LITERAL">getch()</tt> as usual gets the key from keyboard
+        and according to the key it does the corresponding work.
+        This type of switch- case is very common in any GUI based
+        programs.</p>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="OTHERBORDERFUNCS" id=
+        "OTHERBORDERFUNCS">9.5. Other Border functions</a></h3>
+
+        <p>Above program is grossly inefficient in that with each
+        press of a key, a window is destroyed and another is
+        created. So let's write a more efficient program which uses
+        other border related functions.</p>
+
+        <p>The following program uses <tt class=
+        "LITERAL">mvhline()</tt> and <tt class=
+        "LITERAL">mvvline()</tt> to achieve similar effect. These
+        two functions are simple. They create a horizontal or
+        vertical line of the specified length at the specified
+        position.</p>
+
+        <div class="EXAMPLE">
+          <a name="BOTBO" id="BOTBO"></a>
+          <p><b>Example 8. More border functions</b>
+          </p>
+
+          <pre class="PROGRAMLISTING"><span class=
+          "INLINEMEDIAOBJECT">#include &lt;curses.h&gt;
 
 typedef struct _win_border_struct {
-	chtype 	ls, rs, ts, bs, 
-	 	tl, tr, bl, br;
+        chtype  ls, rs, ts, bs, 
+                tl, tr, bl, br;
 }WIN_BORDER;
 
 typedef struct _WIN_struct {
 
-	int startx, starty;
-	int height, width;
-	WIN_BORDER border;
+        int startx, starty;
+        int height, width;
+        WIN_BORDER border;
 }WIN;
 
 void init_win_params(WIN *p_win);
@@ -3195,380 +2407,321 @@
 void create_box(WIN *win, bool flag);
 
 int main(int argc, char *argv[])
-{	WIN win;
-	int ch;
+{       WIN win;
+        int ch;
 
-	initscr();			/* Start curses mode 		*/
-	start_color();			/* Start the color functionality */
-	cbreak();			/* Line buffering disabled, Pass on
-					 * everty thing to me 		*/
-	keypad(stdscr, TRUE);		/* I need that nifty F1 	*/
-	noecho();
-	init_pair(1, COLOR_CYAN, COLOR_BLACK);
+        initscr();                      /* Start curses mode            */
+        start_color();                  /* Start the color functionality */
+        cbreak();                       /* Line buffering disabled, Pass on
+                                         * everty thing to me           */
+        keypad(stdscr, TRUE);           /* I need that nifty F1         */
+        noecho();
+        init_pair(1, COLOR_CYAN, COLOR_BLACK);
 
-	/* Initialize the window parameters */
-	init_win_params(&#38;win);
-	print_win_params(&#38;win);
+        /* Initialize the window parameters */
+        init_win_params(&amp;win);
+        print_win_params(&amp;win);
 
-	attron(COLOR_PAIR(1));
-	printw("Press F1 to exit");
-	refresh();
-	attroff(COLOR_PAIR(1));
-	
-	create_box(&#38;win, TRUE);
-	while((ch = getch()) != KEY_F(1))
-	{	switch(ch)
-		{	case KEY_LEFT:
-				create_box(&#38;win, FALSE);
-				--win.startx;
-				create_box(&#38;win, TRUE);
-				break;
-			case KEY_RIGHT:
-				create_box(&#38;win, FALSE);
-				++win.startx;
-				create_box(&#38;win, TRUE);
-				break;
-			case KEY_UP:
-				create_box(&#38;win, FALSE);
-				--win.starty;
-				create_box(&#38;win, TRUE);
-				break;
-			case KEY_DOWN:
-				create_box(&#38;win, FALSE);
-				++win.starty;
-				create_box(&#38;win, TRUE);
-				break;	
-		}
-	}
-	endwin();			/* End curses mode		  */
-	return 0;
+        attron(COLOR_PAIR(1));
+        printw("Press F1 to exit");
+        refresh();
+        attroff(COLOR_PAIR(1));
+        
+        create_box(&amp;win, TRUE);
+        while((ch = getch()) != KEY_F(1))
+        {       switch(ch)
+                {       case KEY_LEFT:
+                                create_box(&amp;win, FALSE);
+                                --win.startx;
+                                create_box(&amp;win, TRUE);
+                                break;
+                        case KEY_RIGHT:
+                                create_box(&amp;win, FALSE);
+                                ++win.startx;
+                                create_box(&amp;win, TRUE);
+                                break;
+                        case KEY_UP:
+                                create_box(&amp;win, FALSE);
+                                --win.starty;
+                                create_box(&amp;win, TRUE);
+                                break;
+                        case KEY_DOWN:
+                                create_box(&amp;win, FALSE);
+                                ++win.starty;
+                                create_box(&amp;win, TRUE);
+                                break;  
+                }
+        }
+        endwin();                       /* End curses mode                */
+        return 0;
 }
 void init_win_params(WIN *p_win)
 {
-	p_win-&#62;height = 3;
-	p_win-&#62;width = 10;
-	p_win-&#62;starty = (LINES - p_win-&#62;height)/2;	
-	p_win-&#62;startx = (COLS - p_win-&#62;width)/2;
+        p_win-&gt;height = 3;
+        p_win-&gt;width = 10;
+        p_win-&gt;starty = (LINES - p_win-&gt;height)/2;      
+        p_win-&gt;startx = (COLS - p_win-&gt;width)/2;
 
-	p_win-&#62;border.ls = '|';
-	p_win-&#62;border.rs = '|';
-	p_win-&#62;border.ts = '-';
-	p_win-&#62;border.bs = '-';
-	p_win-&#62;border.tl = '+';
-	p_win-&#62;border.tr = '+';
-	p_win-&#62;border.bl = '+';
-	p_win-&#62;border.br = '+';
+        p_win-&gt;border.ls = '|';
+        p_win-&gt;border.rs = '|';
+        p_win-&gt;border.ts = '-';
+        p_win-&gt;border.bs = '-';
+        p_win-&gt;border.tl = '+';
+        p_win-&gt;border.tr = '+';
+        p_win-&gt;border.bl = '+';
+        p_win-&gt;border.br = '+';
 
 }
 void print_win_params(WIN *p_win)
 {
 #ifdef _DEBUG
-	mvprintw(25, 0, "%d %d %d %d", p_win-&#62;startx, p_win-&#62;starty, 
-				p_win-&#62;width, p_win-&#62;height);
-	refresh();
+        mvprintw(25, 0, "%d %d %d %d", p_win-&gt;startx, p_win-&gt;starty, 
+                                p_win-&gt;width, p_win-&gt;height);
+        refresh();
 #endif
 }
 void create_box(WIN *p_win, bool flag)
-{	int i, j;
-	int x, y, w, h;
+{       int i, j;
+        int x, y, w, h;
 
-	x = p_win-&#62;startx;
-	y = p_win-&#62;starty;
-	w = p_win-&#62;width;
-	h = p_win-&#62;height;
+        x = p_win-&gt;startx;
+        y = p_win-&gt;starty;
+        w = p_win-&gt;width;
+        h = p_win-&gt;height;
 
-	if(flag == TRUE)
-	{	mvaddch(y, x, p_win-&#62;border.tl);
-		mvaddch(y, x + w, p_win-&#62;border.tr);
-		mvaddch(y + h, x, p_win-&#62;border.bl);
-		mvaddch(y + h, x + w, p_win-&#62;border.br);
-		mvhline(y, x + 1, p_win-&#62;border.ts, w - 1);
-		mvhline(y + h, x + 1, p_win-&#62;border.bs, w - 1);
-		mvvline(y + 1, x, p_win-&#62;border.ls, h - 1);
-		mvvline(y + 1, x + w, p_win-&#62;border.rs, h - 1);
+        if(flag == TRUE)
+        {       mvaddch(y, x, p_win-&gt;border.tl);
+                mvaddch(y, x + w, p_win-&gt;border.tr);
+                mvaddch(y + h, x, p_win-&gt;border.bl);
+                mvaddch(y + h, x + w, p_win-&gt;border.br);
+                mvhline(y, x + 1, p_win-&gt;border.ts, w - 1);
+                mvhline(y + h, x + 1, p_win-&gt;border.bs, w - 1);
+                mvvline(y + 1, x, p_win-&gt;border.ls, h - 1);
+                mvvline(y + 1, x + w, p_win-&gt;border.rs, h - 1);
 
-	}
-	else
-		for(j = y; j &#60;= y + h; ++j)
-			for(i = x; i &#60;= x + w; ++i)
-				mvaddch(j, i, ' ');
-				
-	refresh();
+        }
+        else
+                for(j = y; j &lt;= y + h; ++j)
+                        for(i = x; i &lt;= x + w; ++i)
+                                mvaddch(j, i, ' ');
+                                
+        refresh();
 
-}</SPAN
-></PRE
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="COLOR"
->10. Colors</A
-></H2
-><DIV
-CLASS="SECT2"
-><H3
-CLASS="SECT2"
-><A
-NAME="COLORBASICS"
->10.1. The basics</A
-></H3
-><P
->Life seems dull with no colors. Curses has a nice mechanism to handle colors.
-Let's get into the thick of the things with a small program.</P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="BSICO"
-></A
-><P
-><B
->Example 9.  A Simple Color example </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;ncurses.h&#62;
+}</span></pre>
+        </div>
+      </div>
+    </div>
+
+    <div class="SECT1">
+      <hr>
+
+      <h2 class="SECT1"><a name="COLOR" id="COLOR">10. Colors</a></h2>
+
+      <div class="SECT2">
+        <h3 class="SECT2"><a name="COLORBASICS" id=
+        "COLORBASICS">10.1. The basics</a></h3>
+
+        <p>Life seems dull with no colors. Curses has a nice
+        mechanism to handle colors. Let's get into the thick of the
+        things with a small program.</p>
+
+        <div class="EXAMPLE">
+          <a name="BSICO" id="BSICO"></a>
+          <p><b>Example 9. A Simple Color example</b>
+          </p>
+
+          <pre class="PROGRAMLISTING"><span class=
+          "INLINEMEDIAOBJECT">#include &lt;stdlib.h&gt;
+#include &lt;string.h&gt;
+#include &lt;curses.h&gt;
 
 void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string);
 int main(int argc, char *argv[])
-{	initscr();			/* Start curses mode 		*/
-	if(has_colors() == FALSE)
-	{	endwin();
-		printf("Your terminal does not support color\n");
-		exit(1);
-	}
-	start_color();			/* Start color 			*/
-	init_pair(1, COLOR_RED, COLOR_BLACK);
+{       initscr();                      /* Start curses mode            */
+        if(has_colors() == FALSE)
+        {       endwin();
+                printf("Your terminal does not support color\n");
+                exit(1);
+        }
+        start_color();                  /* Start color                  */
+        init_pair(1, COLOR_RED, COLOR_BLACK);
 
-	attron(COLOR_PAIR(1));
-	print_in_middle(stdscr, LINES / 2, 0, 0, "Viola !!! In color ...");
-	attroff(COLOR_PAIR(1));
-    	getch();
-	endwin();
+        attron(COLOR_PAIR(1));
+        print_in_middle(stdscr, LINES / 2, 0, 0, "Viola !!! In color ...");
+        attroff(COLOR_PAIR(1));
+        getch();
+        endwin();
 }
 void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string)
-{	int length, x, y;
-	float temp;
+{       int length, x, y;
+        float temp;
 
-	if(win == NULL)
-		win = stdscr;
-	getyx(win, y, x);
-	if(startx != 0)
-		x = startx;
-	if(starty != 0)
-		y = starty;
-	if(width == 0)
-		width = 80;
+        if(win == NULL)
+                win = stdscr;
+        getyx(win, y, x);
+        if(startx != 0)
+                x = startx;
+        if(starty != 0)
+                y = starty;
+        if(width == 0)
+                width = 80;
 
-	length = strlen(string);
-	temp = (width - length)/ 2;
-	x = startx + (int)temp;
-	mvwprintw(win, y, x, "%s", string);
-	refresh();
+        length = strlen(string);
+        temp = (width - length)/ 2;
+        x = startx + (int)temp;
+        mvwprintw(win, y, x, "%s", string);
+        refresh();
 }
-</SPAN
-></PRE
-></DIV
-><P
->As you can see, to start using color, you should first call the function
-<TT
-CLASS="LITERAL"
-> start_color()</TT
->. After that, you can use color
-capabilities of your terminals using various functions. To find out whether a
-terminal has color capabilities or not, you can use
-<TT
-CLASS="LITERAL"
->has_colors()</TT
-> function, which returns FALSE if
-the terminal does not support color. </P
-><P
->Curses initializes all the colors supported by terminal when start_color() is
-called. These can be accessed by the define constants like
-<TT
-CLASS="LITERAL"
->COLOR_BLACK </TT
-> etc. Now to actually start using
-colors, you have to define pairs. Colors are always used in pairs. That means
-you have to use the function <TT
-CLASS="LITERAL"
->init_pair() </TT
-> to
-define the foreground and background for the pair number you give.  After that
-that pair number can be used as a normal attribute with <TT
-CLASS="LITERAL"
->COLOR_PAIR()</TT
->function. This may seem to be cumbersome at first.
-But this elegant solution allows us to manage color pairs very easily. To
-appreciate it, you have to look into the the source code of "dialog", a utility
-for displaying dialog boxes from shell scripts. The developers have defined
-foreground and background combinations for all the colors they might need and
-initialized at the beginning. This makes it very easy to set attributes just by
-accessing a pair which we already have defined as a constant.</P
-><P
->The following colors are defined in <TT
-CLASS="LITERAL"
->curses.h</TT
->.
-You can use these as parameters for various color functions.
-<PRE
-CLASS="PROGRAMLISTING"
->        COLOR_BLACK   0
+</span></pre>
+        </div>
+
+        <p>As you can see, to start using color, you should first
+        call the function <tt class="LITERAL">start_color()</tt>.
+        After that, you can use color capabilities of your
+        terminals using various functions. To find out whether a
+        terminal has color capabilities or not, you can use
+        <tt class="LITERAL">has_colors()</tt> function, which
+        returns FALSE if the terminal does not support color.</p>
+
+        <p>Curses initializes all the colors supported by terminal
+        when start_color() is called. These can be accessed by the
+        define constants like <tt class="LITERAL">COLOR_BLACK</tt>
+        , etc. Now to actually start using colors, you have to
+        define pairs. Colors are always used in pairs. That means
+        you have to use the function <tt class=
+        "LITERAL">init_pair()</tt> to define the foreground and
+        background for the pair number you give. After that that
+        pair number can be used as a normal attribute with
+        <tt class="LITERAL">COLOR_PAIR()</tt>function. This may
+        seem to be cumbersome at first. But this elegant solution
+        allows us to manage color pairs very easily. To appreciate
+        it, you have to look into the the source code of "dialog",
+        a utility for displaying dialog boxes from shell scripts.
+        The developers have defined foreground and background
+        combinations for all the colors they might need and
+        initialized at the beginning. This makes it very easy to
+        set attributes just by accessing a pair which we already
+        have defined as a constant.</p>
+
+        <p>The following colors are defined in <tt class=
+        "LITERAL">curses.h</tt>. You can use these as parameters
+        for various color functions.</p>
+
+        <pre class="PROGRAMLISTING">        COLOR_BLACK   0
         COLOR_RED     1
         COLOR_GREEN   2
         COLOR_YELLOW  3
         COLOR_BLUE    4
         COLOR_MAGENTA 5
         COLOR_CYAN    6
-        COLOR_WHITE   7</PRE
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="CHANGECOLORDEFS"
->10.2. Changing Color Definitions</A
-></H3
-><P
->The function <TT
-CLASS="LITERAL"
->init_color()</TT
->can be used to change
-the rgb values for the colors defined by curses initially. Say you wanted to
-lighten the intensity of red color by a minuscule. Then you can use this
-function as</P
-><PRE
-CLASS="PROGRAMLISTING"
->    init_color(COLOR_RED, 700, 0, 0);
-    /* param 1     : color name
-     * param 2, 3, 4 : rgb content min = 0, max = 1000 */</PRE
-><P
->If your terminal cannot change the color definitions, the function returns ERR.
-The function <TT
-CLASS="LITERAL"
->can_change_color()</TT
-> can be used to
-find out whether the terminal has the capability of changing color content or
-not.  The rgb content is scaled from 0 to 1000. Initially RED color is defined
-with content 1000(r), 0(g), 0(b). </P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="COLORCONTENT"
->10.3. Color Content</A
-></H3
-><P
->The functions <TT
-CLASS="LITERAL"
->color_content()</TT
-> and
-<TT
-CLASS="LITERAL"
->pair_content()</TT
-> can be used to find the color
-content and foreground, background combination for the pair. </P
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="KEYS"
->11. Interfacing with the key board</A
-></H2
-><DIV
-CLASS="SECT2"
-><H3
-CLASS="SECT2"
-><A
-NAME="KEYSBASICS"
->11.1. The Basics</A
-></H3
-><P
->No GUI is complete without a strong user interface and to interact with the
-user, a curses program should be sensitive to key presses or the mouse actions
-done by the user. Let's deal with the keys first.</P
-><P
->As you have seen in almost all of the above examples, it's very easy to get key
-input from the user. A simple way of getting key presses is to use
-<TT
-CLASS="LITERAL"
->getch()</TT
-> function. The cbreak mode should be
-enabled to read keys when you are interested in reading individual key hits
-rather than complete lines of text (which usually end with a carriage return).
-keypad should be enabled to get the Functions keys, arrow keys etc.  See the
-initialization section for details.</P
-><P
-><TT
-CLASS="LITERAL"
->getch()</TT
-> returns an integer corresponding to the
-key pressed. If it is a normal character, the integer value will be equivalent
-to the character. Otherwise it returns a number which can be matched with the
-constants defined in <TT
-CLASS="LITERAL"
->curses.h</TT
->.  For example if
-the user presses F1, the integer returned is 265. This can be checked using the
-macro KEY_F() defined in curses.h. This makes reading keys portable and easy to
-manage.</P
-><P
->For example, if you call getch() like this</P
-><PRE
-CLASS="PROGRAMLISTING"
->    int ch;
+        COLOR_WHITE   7</pre>
+      </div>
 
-    ch = getch();</PRE
-><P
->getch() will wait for the user to press a key, (unless you specified a timeout)
-and when user presses a key, the corresponding integer is returned. Then you can
-check the value returned with the constants defined in curses.h to match against
-the keys you want.</P
-><P
->The following code piece will do that job.</P
-><PRE
-CLASS="PROGRAMLISTING"
->    if(ch == KEY_LEFT)
-        printw("Left arrow is pressed\n");</PRE
-><P
->Let's write a small program which creates a menu which can be navigated by up
-and down arrows.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="SIMPLEKEYEX"
->11.2. A Simple Key Usage example</A
-></H3
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="BSIKE"
-></A
-><P
-><B
->Example 10.  A Simple Key Usage example </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;stdio.h&#62;
-#include &#60;ncurses.h&#62;
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="CHANGECOLORDEFS" id=
+        "CHANGECOLORDEFS">10.2. Changing Color Definitions</a></h3>
+
+        <p>The function <tt class="LITERAL">init_color()</tt>can be
+        used to change the rgb values for the colors defined by
+        curses initially. Say you wanted to lighten the intensity
+        of red color by a minuscule. Then you can use this function
+        as</p>
+
+        <pre class=
+        "PROGRAMLISTING">    init_color(COLOR_RED, 700, 0, 0);
+    /* param 1     : color name
+     * param 2, 3, 4 : rgb content min = 0, max = 1000 */</pre>
+        <p>If your terminal cannot change the color definitions,
+        the function returns ERR. The function <tt class=
+        "LITERAL">can_change_color()</tt> can be used to find out
+        whether the terminal has the capability of changing color
+        content or not. The rgb content is scaled from 0 to 1000.
+        Initially RED color is defined with content 1000(r), 0(g),
+        0(b).</p>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="COLORCONTENT" id=
+        "COLORCONTENT">10.3. Color Content</a></h3>
+
+        <p>The functions <tt class="LITERAL">color_content()</tt>
+        and <tt class="LITERAL">pair_content()</tt> can be used to
+        find the color content and foreground, background
+        combination for the pair.</p>
+      </div>
+    </div>
+
+    <div class="SECT1">
+      <hr>
+
+      <h2 class="SECT1"><a name="KEYS" id="KEYS">11. Interfacing
+      with the key board</a></h2>
+
+      <div class="SECT2">
+        <h3 class="SECT2"><a name="KEYSBASICS" id=
+        "KEYSBASICS">11.1. The Basics</a></h3>
+
+        <p>No GUI is complete without a strong user interface and
+        to interact with the user, a curses program should be
+        sensitive to key presses or the mouse actions done by the
+        user. Let's deal with the keys first.</p>
+
+        <p>As you have seen in almost all of the above examples, it
+        is very easy to get key input from the user. A simple way
+        of getting key presses is to use <tt class=
+        "LITERAL">getch()</tt> function. The cbreak mode should be
+        enabled to read keys when you are interested in reading
+        individual key hits rather than complete lines of text
+        (which usually end with a carriage return). keypad should
+        be enabled to get the Functions keys, arrow keys, etc. See
+        the initialization section for details.</p>
+
+        <p><tt class="LITERAL">getch()</tt> returns an integer
+        corresponding to the key pressed. If it is a normal
+        character, the integer value will be equivalent to the
+        character. Otherwise it returns a number which can be
+        matched with the constants defined in <tt class=
+        "LITERAL">curses.h</tt>. For example if the user presses
+        F1, the integer returned is 265. This can be checked using
+        the macro KEY_F() defined in curses.h. This makes reading
+        keys portable and easy to manage.</p>
+
+        <p>For example, if you call getch() like this</p>
+
+        <pre class="PROGRAMLISTING">    int ch;
+
+    ch = getch();</pre>
+        <p>getch() will wait for the user to press a key, (unless
+        you specified a timeout) and when user presses a key, the
+        corresponding integer is returned. Then you can check the
+        value returned with the constants defined in curses.h to
+        match against the keys you want.</p>
+
+        <p>The following code piece will do that job.</p>
+
+        <pre class="PROGRAMLISTING">    if(ch == KEY_LEFT)
+        printw("Left arrow is pressed\n");</pre>
+        <p>Let's write a small program which creates a menu which
+        can be navigated by up and down arrows.</p>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="SIMPLEKEYEX" id=
+        "SIMPLEKEYEX">11.2. A Simple Key Usage example</a></h3>
+
+        <div class="EXAMPLE">
+          <a name="BSIKE" id="BSIKE"></a>
+          <p><b>Example 10. A Simple Key Usage example</b>
+          </p>
+
+          <pre class="PROGRAMLISTING"><span class=
+          "INLINEMEDIAOBJECT">#include &lt;curses.h&gt;
 
 #define WIDTH 30
 #define HEIGHT 10 
@@ -3577,132 +2730,123 @@
 int starty = 0;
 
 char *choices[] = { 
-			"Choice 1",
-			"Choice 2",
-			"Choice 3",
-			"Choice 4",
-			"Exit",
-		  };
+                        "Choice 1",
+                        "Choice 2",
+                        "Choice 3",
+                        "Choice 4",
+                        "Exit",
+                  };
 int n_choices = sizeof(choices) / sizeof(char *);
 void print_menu(WINDOW *menu_win, int highlight);
 
 int main()
-{	WINDOW *menu_win;
-	int highlight = 1;
-	int choice = 0;
-	int c;
+{       WINDOW *menu_win;
+        int highlight = 1;
+        int choice = 0;
+        int c;
 
-	initscr();
-	clear();
-	noecho();
-	cbreak();	/* Line buffering disabled. pass on everything */
-	startx = (80 - WIDTH) / 2;
-	starty = (24 - HEIGHT) / 2;
-		
-	menu_win = newwin(HEIGHT, WIDTH, starty, startx);
-	keypad(menu_win, TRUE);
-	mvprintw(0, 0, "Use arrow keys to go up and down, Press enter to select a choice");
-	refresh();
-	print_menu(menu_win, highlight);
-	while(1)
-	{	c = wgetch(menu_win);
-		switch(c)
-		{	case KEY_UP:
-				if(highlight == 1)
-					highlight = n_choices;
-				else
-					--highlight;
-				break;
-			case KEY_DOWN:
-				if(highlight == n_choices)
-					highlight = 1;
-				else 
-					++highlight;
-				break;
-			case 10:
-				choice = highlight;
-				break;
-			default:
-				mvprintw(24, 0, "Charcter pressed is = %3d Hopefully it can be printed as '%c'", c, c);
-				refresh();
-				break;
-		}
-		print_menu(menu_win, highlight);
-		if(choice != 0)	/* User did a choice come out of the infinite loop */
-			break;
-	}	
-	mvprintw(23, 0, "You chose choice %d with choice string %s\n", choice, choices[choice - 1]);
-	clrtoeol();
-	refresh();
-	endwin();
-	return 0;
+        initscr();
+        clear();
+        noecho();
+        cbreak();       /* Line buffering disabled. pass on everything */
+        startx = (80 - WIDTH) / 2;
+        starty = (24 - HEIGHT) / 2;
+                
+        menu_win = newwin(HEIGHT, WIDTH, starty, startx);
+        keypad(menu_win, TRUE);
+        mvprintw(0, 0, "Use arrow keys to go up and down, Press enter to select a choice");
+        refresh();
+        print_menu(menu_win, highlight);
+        while(1)
+        {       c = wgetch(menu_win);
+                switch(c)
+                {       case KEY_UP:
+                                if(highlight == 1)
+                                        highlight = n_choices;
+                                else
+                                        --highlight;
+                                break;
+                        case KEY_DOWN:
+                                if(highlight == n_choices)
+                                        highlight = 1;
+                                else 
+                                        ++highlight;
+                                break;
+                        case 10:
+                                choice = highlight;
+                                break;
+                        default:
+                                mvprintw(24, 0, "Character pressed is = %3d Hopefully it can be printed as '%c'", c, c);
+                                refresh();
+                                break;
+                }
+                print_menu(menu_win, highlight);
+                if(choice != 0) /* User did a choice come out of the infinite loop */
+                        break;
+        }       
+        mvprintw(23, 0, "You chose choice %d with choice string %s\n", choice, choices[choice - 1]);
+        clrtoeol();
+        refresh();
+        endwin();
+        return 0;
 }
 
-
 void print_menu(WINDOW *menu_win, int highlight)
 {
-	int x, y, i;	
+        int x, y, i;    
 
-	x = 2;
-	y = 2;
-	box(menu_win, 0, 0);
-	for(i = 0; i &#60; n_choices; ++i)
-	{	if(highlight == i + 1) /* High light the present choice */
-		{	wattron(menu_win, A_REVERSE); 
-			mvwprintw(menu_win, y, x, "%s", choices[i]);
-			wattroff(menu_win, A_REVERSE);
-		}
-		else
-			mvwprintw(menu_win, y, x, "%s", choices[i]);
-		++y;
-	}
-	wrefresh(menu_win);
+        x = 2;
+        y = 2;
+        box(menu_win, 0, 0);
+        for(i = 0; i &lt; n_choices; ++i)
+        {       if(highlight == i + 1) /* High light the present choice */
+                {       wattron(menu_win, A_REVERSE); 
+                        mvwprintw(menu_win, y, x, "%s", choices[i]);
+                        wattroff(menu_win, A_REVERSE);
+                }
+                else
+                        mvwprintw(menu_win, y, x, "%s", choices[i]);
+                ++y;
+        }
+        wrefresh(menu_win);
 }
-</SPAN
-></PRE
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="MOUSE"
->12. Interfacing with the mouse</A
-></H2
-><P
->Now that you have seen how to get keys, lets do the same thing from mouse.
-Usually each UI allows the user to interact with both keyboard and mouse. </P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="MOUSEBASICS"
->12.1. The Basics</A
-></H3
-><P
->Before you do any thing else, the events you want to receive have to be enabled
-with <TT
-CLASS="LITERAL"
->mousemask()</TT
->.</P
-><PRE
-CLASS="PROGRAMLISTING"
->    mousemask(  mmask_t newmask,    /* The events you want to listen to */
-                mmask_t *oldmask)    /* The old events mask                */</PRE
-><P
->The first parameter to above function is a bit mask of events you would like to 
-listen. By default, all the events are turned off. The bit mask <TT
-CLASS="LITERAL"
-> ALL_MOUSE_EVENTS</TT
-> can be used to get all the events.</P
-><P
->The following are all the event masks:</P
-><PRE
-CLASS="PROGRAMLISTING"
->    Name            Description
+</span></pre>
+        </div>
+      </div>
+    </div>
+
+    <div class="SECT1">
+      <hr>
+
+      <h2 class="SECT1"><a name="MOUSE" id="MOUSE">12. Interfacing
+      with the mouse</a></h2>
+
+      <p>Now that you have seen how to get keys, lets do the same
+      thing from mouse. Usually each UI allows the user to interact
+      with both keyboard and mouse.</p>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="MOUSEBASICS" id=
+        "MOUSEBASICS">12.1. The Basics</a></h3>
+
+        <p>Before you do any thing else, the events you want to
+        receive have to be enabled with <tt class=
+        "LITERAL">mousemask()</tt>.</p>
+
+        <pre class=
+        "PROGRAMLISTING">    mousemask(  mmask_t newmask,    /* The events you want to listen to */
+                mmask_t *oldmask)    /* The old events mask                */</pre>
+        <p>The first parameter to above function is a bit mask of
+        events you would like to listen. By default, all the events
+        are turned off. The bit mask <tt class=
+        "LITERAL">ALL_MOUSE_EVENTS</tt> can be used to get all the
+        events.</p>
+
+        <p>The following are all the event masks:</p>
+
+        <pre class="PROGRAMLISTING">    Name            Description
        ---------------------------------------------------------------------
        BUTTON1_PRESSED          mouse button 1 down
        BUTTON1_RELEASED         mouse button 1 up
@@ -3728,98 +2872,82 @@
        BUTTON_CTRL              control was down during button state change
        BUTTON_ALT               alt was down during button state change
        ALL_MOUSE_EVENTS         report all button state changes
-       REPORT_MOUSE_POSITION    report mouse movement</PRE
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="GETTINGEVENTS"
->12.2. Getting the events</A
-></H3
-><P
->Once a class of mouse events have been enabled, getch() class of functions
-return KEY_MOUSE every time some mouse event happens. Then the mouse event can
-be retrieved with <TT
-CLASS="LITERAL"
->getmouse()</TT
->.</P
-><P
->The code approximately looks like this:</P
-><PRE
-CLASS="PROGRAMLISTING"
->    MEVENT event;
+       REPORT_MOUSE_POSITION    report mouse movement</pre>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="GETTINGEVENTS" id=
+        "GETTINGEVENTS">12.2. Getting the events</a></h3>
+
+        <p>Once a class of mouse events have been enabled, getch()
+        class of functions return KEY_MOUSE every time some mouse
+        event happens. Then the mouse event can be retrieved with
+        <tt class="LITERAL">getmouse()</tt>.</p>
+
+        <p>The code approximately looks like this:</p>
+
+        <pre class="PROGRAMLISTING">    MEVENT event;
 
     ch = getch();
     if(ch == KEY_MOUSE)
         if(getmouse(&amp;event) == OK)
             .    /* Do some thing with the event */
             .
-            .</PRE
-><P
-> 
-getmouse() returns the event into the pointer given to it. It's a structure
-which contains</P
-><PRE
-CLASS="PROGRAMLISTING"
->    typedef struct
+            .</pre>
+        <p>getmouse() returns the event into the pointer given to
+        it. It is a structure which contains</p>
+
+        <pre class="PROGRAMLISTING">    typedef struct
     {
         short id;         /* ID to distinguish multiple devices */
         int x, y, z;      /* event coordinates */
         mmask_t bstate;   /* button state bits */
-    }    </PRE
-><P
->The <TT
-CLASS="LITERAL"
->bstate</TT
-> is the main variable we are
-interested in. It tells the button state of the mouse.</P
-><P
->Then with a code snippet like the following, we can find out what happened.</P
-><PRE
-CLASS="PROGRAMLISTING"
->    if(event.bstate &amp; BUTTON1_PRESSED)
-        printw("Left Button Pressed");</PRE
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="MOUSETOGETHER"
->12.3. Putting it all Together</A
-></H3
-><P
->That's pretty much interfacing with mouse. Let's create the same menu and enable
-mouse interaction. To make things simpler, key handling is removed.</P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="BMOME"
-></A
-><P
-><B
->Example 11.  Access the menu with mouse !!! </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;ncurses.h&#62;
+    }    </pre>
+        <p>The <tt class="LITERAL">bstate</tt> is the main variable
+        we are interested in. It tells the button state of the
+        mouse.</p>
+
+        <p>Then with a code snippet like the following, we can find
+        out what happened.</p>
+
+        <pre class=
+        "PROGRAMLISTING">    if(event.bstate &amp; BUTTON1_PRESSED)
+        printw("Left Button Pressed");</pre>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="MOUSETOGETHER" id=
+        "MOUSETOGETHER">12.3. Putting it all Together</a></h3>
+
+        <p>That's pretty much interfacing with mouse. Let's create
+        the same menu and enable mouse interaction. To make things
+        simpler, key handling is removed.</p>
+
+        <div class="EXAMPLE">
+          <a name="BMOME" id="BMOME"></a>
+          <p><b>Example 11. Access the menu with mouse !!!</b>
+          </p>
+
+          <pre class="PROGRAMLISTING"><span class=
+          "INLINEMEDIAOBJECT">#include &lt;string.h&gt;
+#include &lt;curses.h&gt;
 
 #define WIDTH 30
-#define HEIGHT 10 
+#define HEIGHT 10
 
 int startx = 0;
 int starty = 0;
 
-char *choices[] = { 	"Choice 1",
-			"Choice 2",
-			"Choice 3",
-			"Choice 4",
-			"Exit",
-		  };
+char *choices[] = {     "Choice 1",
+                        "Choice 2",
+                        "Choice 3",
+                        "Choice 4",
+                        "Exit",
+                  };
 
 int n_choices = sizeof(choices) / sizeof(char *);
 
@@ -3827,338 +2955,289 @@
 void report_choice(int mouse_x, int mouse_y, int *p_choice);
 
 int main()
-{	int c, choice = 0;
-	WINDOW *menu_win;
-	MEVENT event;
+{       int c, choice = 0;
+        WINDOW *menu_win;
+        MEVENT event;
 
-	/* Initialize curses */
-	initscr();
-	clear();
-	noecho();
-	cbreak();	//Line buffering disabled. pass on everything
+        /* Initialize curses */
+        initscr();
+        clear();
+        noecho();
+        cbreak();       //Line buffering disabled. pass on everything
 
-	/* Try to put the window in the middle of screen */
-	startx = (80 - WIDTH) / 2;
-	starty = (24 - HEIGHT) / 2;
-	
-	attron(A_REVERSE);
-	mvprintw(23, 1, "Click on Exit to quit (Works best in a virtual console)");
-	refresh();
-	attroff(A_REVERSE);
+        /* Try to put the window in the middle of screen */
+        startx = (80 - WIDTH) / 2;
+        starty = (24 - HEIGHT) / 2;
 
-	/* Print the menu for the first time */
-	menu_win = newwin(HEIGHT, WIDTH, starty, startx);
-	print_menu(menu_win, 1);
-	/* Get all the mouse events */
-	mousemask(ALL_MOUSE_EVENTS, NULL);
-	
-	while(1)
-	{	c = wgetch(menu_win);
-		switch(c)
-		{	case KEY_MOUSE:
-			if(getmouse(&#38;event) == OK)
-			{	/* When the user clicks left mouse button */
-				if(event.bstate &#38; BUTTON1_PRESSED)
-				{	report_choice(event.x + 1, event.y + 1, &#38;choice);
-					if(choice == -1) //Exit chosen
-						goto end;
-					mvprintw(22, 1, "Choice made is : %d String Chosen is \"%10s\"", choice, choices[choice - 1]);
-					refresh(); 
-				}
-			}
-			print_menu(menu_win, choice);
-			break;
-		}
-	}		
+        attron(A_REVERSE);
+        mvprintw(23, 1, "Click on Exit to quit (Works best in a virtual console)");
+        refresh();
+        attroff(A_REVERSE);
+
+        /* Print the menu for the first time */
+        menu_win = newwin(HEIGHT, WIDTH, starty, startx);
+        keypad(menu_win, TRUE);
+        print_menu(menu_win, 1);
+        /* Get all the mouse events */
+        mousemask(ALL_MOUSE_EVENTS, NULL);
+
+        while(1)
+        {       c = wgetch(menu_win);
+                switch(c)
+                {       case KEY_MOUSE:
+                        if(getmouse(&amp;event) == OK)
+                        {       /* When the user clicks left mouse button */
+                                if(event.bstate &amp; BUTTON1_PRESSED)
+                                {       report_choice(event.x + 1, event.y + 1, &amp;choice);
+                                        if(choice == -1) //Exit chosen
+                                                goto end;
+                                        mvprintw(22, 1, "Choice made is : %d String Chosen is \"%10s\"", choice, choices[choice - 1]);
+                                        refresh();
+                                }
+                        }
+                        print_menu(menu_win, choice);
+                        break;
+                }
+        }
 end:
-	endwin();
-	return 0;
+        endwin();
+        return 0;
 }
 
-
 void print_menu(WINDOW *menu_win, int highlight)
 {
-	int x, y, i;	
+        int x, y, i;
 
-	x = 2;
-	y = 2;
-	box(menu_win, 0, 0);
-	for(i = 0; i &#60; n_choices; ++i)
-	{	if(highlight == i + 1)
-		{	wattron(menu_win, A_REVERSE); 
-			mvwprintw(menu_win, y, x, "%s", choices[i]);
-			wattroff(menu_win, A_REVERSE);
-		}
-		else
-			mvwprintw(menu_win, y, x, "%s", choices[i]);
-		++y;
-	}
-	wrefresh(menu_win);
+        x = 2;
+        y = 2;
+        box(menu_win, 0, 0);
+        for(i = 0; i &lt; n_choices; ++i)
+        {       if(highlight == i + 1)
+                {       wattron(menu_win, A_REVERSE);
+                        mvwprintw(menu_win, y, x, "%s", choices[i]);
+                        wattroff(menu_win, A_REVERSE);
+                }
+                else
+                        mvwprintw(menu_win, y, x, "%s", choices[i]);
+                ++y;
+        }
+        wrefresh(menu_win);
 }
 
 /* Report the choice according to mouse position */
 void report_choice(int mouse_x, int mouse_y, int *p_choice)
-{	int i,j, choice;
+{       int i,j, choice;
 
-	i = startx + 2;
-	j = starty + 3;
-	
-	for(choice = 0; choice &#60; n_choices; ++choice)
-		if(mouse_y == j + choice &#38;&#38; mouse_x &#62;= i &#38;&#38; mouse_x &#60;= i + strlen(choices[choice]))
-		{	if(choice == n_choices - 1)
-				*p_choice = -1;		
-			else
-				*p_choice = choice + 1;	
-			break;
-		}
-}</SPAN
-></PRE
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="MISCMOUSEFUNCS"
->12.4. Miscellaneous Functions</A
-></H3
-><P
->The functions mouse_trafo() and wmouse_trafo() can be used to convert to mouse
-co-ordinates to screen relative co-ordinates. See curs_mouse(3X) man page for details.</P
-><P
->The  mouseinterval  function sets the maximum time (in thousands of a
-second) that can elapse between press and release events in order for
-them to be recognized as a click.  This function returns the previous
-interval value.  The default is one fifth of a second.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="SCREEN"
->13. Screen Manipulation</A
-></H2
-><P
->In this section, we will look into some functions, which allow us to manage the
-screen efficiently and to write some fancy programs. This is especially
-important in writing games. </P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="GETYX"
->13.1. getyx() functions</A
-></H3
-><P
->&#13;The function <TT
-CLASS="LITERAL"
->getyx()</TT
-> can be used to find out
-the present cursor co-ordinates. It will fill the values of x and y co-ordinates
-in the arguments given to it. Since getyx() is a macro you don't have to pass
-the address of the variables. It can be called as</P
-><PRE
-CLASS="PROGRAMLISTING"
->    getyx(win, y, x);
+        i = startx + 2;
+        j = starty + 3;
+
+        for(choice = 0; choice &lt; n_choices; ++choice)
+                if(mouse_y == j + choice &amp;&amp; mouse_x &gt;= i &amp;&amp; mouse_x &lt;= i + strlen(choices[choice]))
+                {       if(choice == n_choices - 1)
+                                *p_choice = -1;
+                        else
+                                *p_choice = choice + 1;
+                        break;
+                }
+}</span></pre>
+        </div>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="MISCMOUSEFUNCS" id=
+        "MISCMOUSEFUNCS">12.4. Miscellaneous Functions</a></h3>
+
+        <p>The functions mouse_trafo() and wmouse_trafo() can be
+        used to convert to mouse co-ordinates to screen relative
+        co-ordinates. See curs_mouse(3X) man page for details.</p>
+
+        <p>The mouseinterval function sets the maximum time (in
+        thousands of a second) that can elapse between press and
+        release events in order for them to be recognized as a
+        click. This function returns the previous interval value.
+        The default is one fifth of a second.</p>
+      </div>
+    </div>
+
+    <div class="SECT1">
+      <hr>
+
+      <h2 class="SECT1"><a name="SCREEN" id="SCREEN">13. Screen
+      Manipulation</a></h2>
+
+      <p>In this section, we will look into some functions, which
+      allow us to manage the screen efficiently and to write some
+      fancy programs. This is especially important in writing
+      games.</p>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="GETYX" id="GETYX">13.1. getyx()
+        functions</a></h3>
+
+        <p>The function <tt class="LITERAL">getyx()</tt> can be
+        used to find out the present cursor co-ordinates. It will
+        fill the values of x and y co-ordinates in the arguments
+        given to it. Since getyx() is a macro you don't have to
+        pass the address of the variables. It can be called as</p>
+
+        <pre class="PROGRAMLISTING">    getyx(win, y, x);
     /* win: window pointer
      *   y, x: y, x co-ordinates will be put into this variables 
-     */</PRE
-><P
->The function getparyx() gets the beginning co-ordinates of the sub window
-relative to the main window. This is some times useful to update a sub window.
-When designing fancy stuff like writing multiple menus, it becomes difficult to
-store the menu positions, their first option co-ordinates etc. A simple solution
-to this problem, is to create menus in sub windows and later find the starting
-co-ordinates of the menus by using getparyx().</P
-><P
->The functions getbegyx() and getmaxyx() store current window's beginning and
-maximum co-ordinates. These functions are useful in the same way as above in
-managing the windows and sub windows effectively.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="SCREENDUMP"
->13.2. Screen Dumping</A
-></H3
-><P
->While writing games, some times it becomes necessary to store the state of the
-screen and restore it back to the same state. The function scr_dump() can be
-used to dump the screen contents to a file given as an argument. Later it can be
-restored by scr_restore function. These two simple functions can be used
-effectively to maintain a fast moving game with changing scenarios. </P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="WINDOWDUMP"
->13.3. Window Dumping</A
-></H3
-><P
->To store and restore windows, the functions
-<TT
-CLASS="LITERAL"
->putwin()</TT
-> and <TT
-CLASS="LITERAL"
->getwin()</TT
-> can be used. <TT
-CLASS="LITERAL"
->putwin()</TT
-> puts
-the present window state into a file, which can be later restored by
-<TT
-CLASS="LITERAL"
->getwin()</TT
->.</P
-><P
-> 
-The function <TT
-CLASS="LITERAL"
->copywin()</TT
-> can be used to copy a
-window completely onto another window. It takes the source and destination
-windows as parameters and according to the rectangle specified, it copies the
-rectangular region from source to destination window.  It's last parameter
-specifies whether to overwrite or just overlay the contents on to the
-destination window. If this argument is true, then the copying is
-non-destructive.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="MISC"
->14. Miscellaneous features</A
-></H2
-><P
->Now you know enough features to write a good curses program, with all bells and
-whistles. There are some miscellaneous functions which are useful in various
-cases.  Let's go headlong into some of those.</P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="CURSSET"
->14.1. curs_set()</A
-></H3
-><P
->This function can be used to make the cursor invisible. The parameter to this
-function should be </P
-><PRE
-CLASS="PROGRAMLISTING"
->    0 : invisible      or
+     */</pre>
+        <p>The function getparyx() gets the beginning co-ordinates
+        of the sub window relative to the main window. This is some
+        times useful to update a sub window. When designing fancy
+        stuff like writing multiple menus, it becomes difficult to
+        store the menu positions, their first option co-ordinates,
+        etc. A simple solution to this problem, is to create menus
+        in sub windows and later find the starting co-ordinates of
+        the menus by using getparyx().</p>
+
+        <p>The functions getbegyx() and getmaxyx() store current
+        window's beginning and maximum co-ordinates. These
+        functions are useful in the same way as above in managing
+        the windows and sub windows effectively.</p>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="SCREENDUMP" id=
+        "SCREENDUMP">13.2. Screen Dumping</a></h3>
+
+        <p>While writing games, some times it becomes necessary to
+        store the state of the screen and restore it back to the
+        same state. The function scr_dump() can be used to dump the
+        screen contents to a file given as an argument. Later it
+        can be restored by scr_restore function. These two simple
+        functions can be used effectively to maintain a fast moving
+        game with changing scenarios.</p>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="WINDOWDUMP" id=
+        "WINDOWDUMP">13.3. Window Dumping</a></h3>
+
+        <p>To store and restore windows, the functions <tt class=
+        "LITERAL">putwin()</tt> and <tt class=
+        "LITERAL">getwin()</tt> can be used. <tt class=
+        "LITERAL">putwin()</tt> puts the present window state into
+        a file, which can be later restored by <tt class=
+        "LITERAL">getwin()</tt>.</p>
+
+        <p>The function <tt class="LITERAL">copywin()</tt> can be
+        used to copy a window completely onto another window. It
+        takes the source and destination windows as parameters and
+        according to the rectangle specified, it copies the
+        rectangular region from source to destination window. Its
+        last parameter specifies whether to overwrite or just
+        overlay the contents on to the destination window. If this
+        argument is true, then the copying is non-destructive.</p>
+      </div>
+    </div>
+
+    <div class="SECT1">
+      <hr>
+
+      <h2 class="SECT1"><a name="MISC" id="MISC">14. Miscellaneous
+      features</a></h2>
+
+      <p>Now you know enough features to write a good curses
+      program, with all bells and whistles. There are some
+      miscellaneous functions which are useful in various cases.
+      Let's go headlong into some of those.</p>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="CURSSET" id="CURSSET">14.1.
+        curs_set()</a></h3>
+
+        <p>This function can be used to make the cursor invisible.
+        The parameter to this function should be</p>
+
+        <pre class="PROGRAMLISTING">    0 : invisible      or
     1 : normal    or
-    2 : very visible.</PRE
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="TEMPLEAVE"
->14.2. Temporarily Leaving Curses mode</A
-></H3
-><P
->Some times you may want to get back to cooked mode (normal line buffering mode)
-temporarily. In such a case you will first need to save the tty modes with a
-call to <TT
-CLASS="LITERAL"
->def_prog_mode()</TT
-> and then call
-<TT
-CLASS="LITERAL"
->endwin()</TT
-> to end the curses mode. This will
-leave you in the original tty mode. To get back to curses once you are done,
-call <TT
-CLASS="LITERAL"
->reset_prog_mode() </TT
->. This function returns
-the tty to the state stored by <TT
-CLASS="LITERAL"
->def_prog_mode()</TT
->. Then do refresh(), and you are back to the curses mode. Here
-is an example showing the sequence of things to be done.</P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="BTELE"
-></A
-><P
-><B
->Example 12.  Temporarily Leaving Curses Mode </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;ncurses.h&#62;
+    2 : very visible.</pre>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="TEMPLEAVE" id="TEMPLEAVE">14.2.
+        Temporarily Leaving Curses mode</a></h3>
+
+        <p>Some times you may want to get back to cooked mode
+        (normal line buffering mode) temporarily. In such a case
+        you will first need to save the tty modes with a call to
+        <tt class="LITERAL">def_prog_mode()</tt> and then call
+        <tt class="LITERAL">endwin()</tt> to end the curses mode.
+        This will leave you in the original tty mode. To get back
+        to curses once you are done, call <tt class=
+        "LITERAL">reset_prog_mode()</tt> . This function returns
+        the tty to the state stored by <tt class=
+        "LITERAL">def_prog_mode()</tt>. Then do refresh(), and you
+        are back to the curses mode. Here is an example showing the
+        sequence of things to be done.</p>
+
+        <div class="EXAMPLE">
+          <a name="BTELE" id="BTELE"></a>
+          <p><b>Example 12. Temporarily Leaving Curses Mode</b>
+          </p>
+
+          <pre class="PROGRAMLISTING"><span class=
+          "INLINEMEDIAOBJECT">#include &lt;stdlib.h&gt;
+#include &lt;curses.h&gt;
 
 int main()
-{	
-	initscr();			/* Start curses mode 		  */
-	printw("Hello World !!!\n");	/* Print Hello World		  */
-	refresh();			/* Print it on to the real screen */
-	def_prog_mode();		/* Save the tty modes		  */
-	endwin();			/* End curses mode temporarily	  */
-	system("/bin/sh");		/* Do whatever you like in cooked mode */
-	reset_prog_mode();		/* Return to the previous tty mode*/
-					/* stored by def_prog_mode() 	  */
-	refresh();			/* Do refresh() to restore the	  */
-					/* Screen contents		  */
-	printw("Another String\n");	/* Back to curses use the full    */
-	refresh();			/* capabilities of curses	  */
-	endwin();			/* End curses mode		  */
+{       
+        initscr();                      /* Start curses mode              */
+        printw("Hello World !!!\n");    /* Print Hello World              */
+        refresh();                      /* Print it on to the real screen */
+        def_prog_mode();                /* Save the tty modes             */
+        endwin();                       /* End curses mode temporarily    */
+        system("/bin/sh");              /* Do whatever you like in cooked mode */
+        reset_prog_mode();              /* Return to the previous tty mode*/
+                                        /* stored by def_prog_mode()      */
+        refresh();                      /* Do refresh() to restore the    */
+                                        /* Screen contents                */
+        printw("Another String\n");     /* Back to curses use the full    */
+        refresh();                      /* capabilities of curses         */
+        endwin();                       /* End curses mode                */
 
-	return 0;
-}</SPAN
-></PRE
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="ACSVARS"
->14.3. ACS_ variables</A
-></H3
-><P
->If you have ever programmed in DOS, you know about those nifty characters in
-extended character set. They are printable only on some terminals. NCURSES 
-functions like <TT
-CLASS="LITERAL"
->box()</TT
-> use these characters. All
-these variables start with ACS meaning alternative character set. You might have 
-noticed me using these characters in some of the programs above. Here's an example 
-showing all the characters.</P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="BACSVARS"
-></A
-><P
-><B
->Example 13.  ACS Variables Example </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;ncurses.h&#62;
+        return 0;
+}</span></pre>
+        </div>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="ACSVARS" id="ACSVARS">14.3. ACS_
+        variables</a></h3>
+
+        <p>If you have ever programmed in DOS, you know about those
+        nifty characters in extended character set. They are
+        printable only on some terminals. NCURSES functions like
+        <tt class="LITERAL">box()</tt> use these characters. All
+        these variables start with ACS meaning alternative
+        character set. You might have noticed me using these
+        characters in some of the programs above. Here is an
+        example showing all the characters.</p>
+
+        <div class="EXAMPLE">
+          <a name="BACSVARS" id="BACSVARS"></a>
+          <p><b>Example 13. ACS Variables Example</b>
+          </p>
+
+          <pre class="PROGRAMLISTING"><span class=
+          "INLINEMEDIAOBJECT">#include &lt;curses.h&gt;
 
 int main()
 {
@@ -4200,218 +3279,206 @@
         getch();
         endwin();
 
-	return 0;
-}</SPAN
-></PRE
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="OTHERLIB"
->15. Other libraries</A
-></H2
-><P
->Apart from the curses library, there are few text mode libraries, which provide
-more functionality and a lot of features. The following sections explain three 
-standard libraries which are usually distributed along with curses. </P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="PANELS"
->16. Panel Library</A
-></H2
-><P
->Now that you are proficient in curses, you wanted to do some thing big. You
-created a lot of overlapping windows to give a professional windows-type look.
-Unfortunately, it soon becomes difficult to manage these. The multiple
-refreshes, updates plunge you into a nightmare. The overlapping windows create
-blotches, whenever you forget to refresh the windows in the proper order. </P
-><P
->Don't despair. There's an elegant solution provided in panels library. In the
-words of developers of ncurses </P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->When your interface design is such that windows may dive deeper into the
-visibility stack or pop to the top at runtime, the resulting book-keeping can be
-tedious and difficult to get right. Hence the panels library.</I
-></SPAN
-></P
-><P
->If you have lot of overlapping windows, then panels library is the way to go. It
-obviates the need of doing series of wnoutrefresh(), doupdate() and relieves the
-burden of doing it correctly(bottom up). The library maintains information about
-the order of windows, their overlapping and update the screen properly. So why
-wait? Let's take a close peek into panels.</P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="PANELBASICS"
->16.1. The Basics</A
-></H3
-><P
->Panel object is a window that is implicitly treated as part of a deck including
-all other panel objects. The deck is treated as a stack with the top panel being
-completely visible and the other panels may or may not be obscured according to
-their positions. So the basic idea is to create a stack of overlapping panels
-and use panels library to display them correctly. There is a function similar to
-refresh() which, when called , displays panels in the correct order. Functions
-are provided to hide or show panels, move panels, change its size etc.. The
-overlapping problem is managed by the panels library during all the calls to
-these functions. </P
-><P
->The general flow of a panel program goes like this:
+        return 0;
+}</span></pre>
+        </div>
+      </div>
+    </div>
 
-<P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Create the windows (with newwin()) to be attached to the panels.</P
-></LI
-><LI
-><P
->Create panels with the chosen visibility order. Stack them up according to the 
-desired visibility. The function new_panel() is used to created panels.</P
-></LI
-><LI
-><P
->Call update_panels() to write the panels to the virtual screen in correct
-visibility order. Do a doupdate() to show it on the screen. </P
-></LI
-><LI
-><P
->Mainpulate the panels with show_panel(), hide_panel(), move_panel() etc. Make
-use of helper functions like panel_hidden() and panel_window(). Make use of user
-pointer to store custom data for a panel. Use the functions set_panel_userptr()
-and panel_userptr() to set and get the user pointer for a panel.</P
-></LI
-><LI
-><P
->When you are done with the panel use del_panel() to delete the panel.</P
-></LI
-></OL
-></P
-><P
->Let's make the concepts clear, with some programs.  The following is a simple
-program which creates 3 overlapping panels and shows them on the screen. </P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="COMPILEPANELS"
->16.2. Compiling With the Panels Library</A
-></H3
-><P
->To use panels library functions, you have to include panel.h and to link the
-program with panels library the flag -lpanel should be added along with
--lncurses in that order.</P
-><PRE
-CLASS="PROGRAMLISTING"
->    #include &lt;panel.h&gt;
+    <div class="SECT1">
+      <hr>
+
+      <h2 class="SECT1"><a name="OTHERLIB" id="OTHERLIB">15. Other
+      libraries</a></h2>
+
+      <p>Apart from the curses library, there are few text mode
+      libraries, which provide more functionality and a lot of
+      features. The following sections explain three standard
+      libraries which are usually distributed along with
+      curses.</p>
+    </div>
+
+    <div class="SECT1">
+      <hr>
+
+      <h2 class="SECT1"><a name="PANELS" id="PANELS">16. Panel
+      Library</a></h2>
+
+      <p>Now that you are proficient in curses, you wanted to do
+      some thing big. You created a lot of overlapping windows to
+      give a professional windows-type look. Unfortunately, it soon
+      becomes difficult to manage these. The multiple refreshes,
+      updates plunge you into a nightmare. The overlapping windows
+      create blotches, whenever you forget to refresh the windows
+      in the proper order.</p>
+
+      <p>Don't despair. There is an elegant solution provided in
+      panels library. In the words of developers of ncurses</p>
+
+      <p><span class="emphasis"><i class="EMPHASIS">When your
+      interface design is such that windows may dive deeper into
+      the visibility stack or pop to the top at runtime, the
+      resulting book-keeping can be tedious and difficult to get
+      right. Hence the panels library.</i></span>
+      </p>
+
+      <p>If you have lot of overlapping windows, then panels
+      library is the way to go. It obviates the need of doing
+      series of wnoutrefresh(), doupdate() and relieves the burden
+      of doing it correctly(bottom up). The library maintains
+      information about the order of windows, their overlapping and
+      update the screen properly. So why wait? Let's take a close
+      peek into panels.</p>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="PANELBASICS" id=
+        "PANELBASICS">16.1. The Basics</a></h3>
+
+        <p>Panel object is a window that is implicitly treated as
+        part of a deck including all other panel objects. The deck
+        is treated as a stack with the top panel being completely
+        visible and the other panels may or may not be obscured
+        according to their positions. So the basic idea is to
+        create a stack of overlapping panels and use panels library
+        to display them correctly. There is a function similar to
+        refresh() which, when called , displays panels in the
+        correct order. Functions are provided to hide or show
+        panels, move panels, change its size, etc. The overlapping
+        problem is managed by the panels library during all the
+        calls to these functions.</p>
+
+        <p>The general flow of a panel program goes like this:</p>
+
+        <ol type="1">
+          <li>
+            <p>Create the windows (with newwin()) to be attached to
+            the panels.</p>
+          </li>
+
+          <li>
+            <p>Create panels with the chosen visibility order.
+            Stack them up according to the desired visibility. The
+            function new_panel() is used to created panels.</p>
+          </li>
+
+          <li>
+            <p>Call update_panels() to write the panels to the
+            virtual screen in correct visibility order. Do a
+            doupdate() to show it on the screen.</p>
+          </li>
+
+          <li>
+            <p>Mainpulate the panels with show_panel(),
+            hide_panel(), move_panel(), etc. Make use of helper
+            functions like panel_hidden() and panel_window(). Make
+            use of user pointer to store custom data for a panel.
+            Use the functions set_panel_userptr() and
+            panel_userptr() to set and get the user pointer for a
+            panel.</p>
+          </li>
+
+          <li>
+            <p>When you are done with the panel use del_panel() to
+            delete the panel.</p>
+          </li>
+        </ol>
+
+        <p>Let's make the concepts clear, with some programs. The
+        following is a simple program which creates 3 overlapping
+        panels and shows them on the screen.</p>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="COMPILEPANELS" id=
+        "COMPILEPANELS">16.2. Compiling With the Panels Library</a></h3>
+
+        <p>To use panels library functions, you have to include
+        panel.h and to link the program with panels library the
+        flag -lpanel should be added along with -lncurses in that
+        order.</p>
+
+        <pre class="PROGRAMLISTING">    #include &lt;panel.h&gt;
     .
     .
     .
 
-    compile and link: gcc &lt;program file&gt; -lpanel -lncurses</PRE
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="PPASI"
-></A
-><P
-><B
->Example 14.  Panel basics</B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;panel.h&#62;
+    compile and link: gcc &lt;program file&gt; -lpanel -lncurses</pre>
+        <div class="EXAMPLE">
+          <a name="PPASI" id="PPASI"></a>
+          <p><b>Example 14. Panel basics</b>
+          </p>
+
+          <pre class="PROGRAMLISTING"><span class=
+          "INLINEMEDIAOBJECT">#include &lt;panel.h&gt;
 
 int main()
-{	WINDOW *my_wins[3];
-	PANEL  *my_panels[3];
-	int lines = 10, cols = 40, y = 2, x = 4, i;
+{       WINDOW *my_wins[3];
+        PANEL  *my_panels[3];
+        int lines = 10, cols = 40, y = 2, x = 4, i;
 
-	initscr();
-	cbreak();
-	noecho();
+        initscr();
+        cbreak();
+        noecho();
 
-	/* Create windows for the panels */
-	my_wins[0] = newwin(lines, cols, y, x);
-	my_wins[1] = newwin(lines, cols, y + 1, x + 5);
-	my_wins[2] = newwin(lines, cols, y + 2, x + 10);
+        /* Create windows for the panels */
+        my_wins[0] = newwin(lines, cols, y, x);
+        my_wins[1] = newwin(lines, cols, y + 1, x + 5);
+        my_wins[2] = newwin(lines, cols, y + 2, x + 10);
 
-	/* 
-	 * Create borders around the windows so that you can see the effect
-	 * of panels
-	 */
-	for(i = 0; i &#60; 3; ++i)
-		box(my_wins[i], 0, 0);
+        /* 
+         * Create borders around the windows so that you can see the effect
+         * of panels
+         */
+        for(i = 0; i &lt; 3; ++i)
+                box(my_wins[i], 0, 0);
 
-	/* Attach a panel to each window */ 	/* Order is bottom up */
-	my_panels[0] = new_panel(my_wins[0]); 	/* Push 0, order: stdscr-0 */
-	my_panels[1] = new_panel(my_wins[1]); 	/* Push 1, order: stdscr-0-1 */
-	my_panels[2] = new_panel(my_wins[2]); 	/* Push 2, order: stdscr-0-1-2 */
+        /* Attach a panel to each window */     /* Order is bottom up */
+        my_panels[0] = new_panel(my_wins[0]);   /* Push 0, order: stdscr-0 */
+        my_panels[1] = new_panel(my_wins[1]);   /* Push 1, order: stdscr-0-1 */
+        my_panels[2] = new_panel(my_wins[2]);   /* Push 2, order: stdscr-0-1-2 */
 
-	/* Update the stacking order. 2nd panel will be on top */
-	update_panels();
+        /* Update the stacking order. 2nd panel will be on top */
+        update_panels();
 
-	/* Show it on the screen */
-	doupdate();
-	
-	getch();
-	endwin();
+        /* Show it on the screen */
+        doupdate();
+        
+        getch();
+        endwin();
 }
-</SPAN
-></PRE
-></DIV
-><P
->As you can see, above program follows a simple flow as explained. The windows
-are created with newwin() and then they are attached to panels with new_panel().
-As we attach one panel after another, the stack of panels gets updated. To put
-them on screen update_panels() and doupdate() are called.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="PANELBROWSING"
->16.3. Panel Window Browsing</A
-></H3
-><P
->A slightly complicated example is given below. This program creates 3
-windows which can be cycled through using tab. Have a look at the code.</P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="PPABR"
-></A
-><P
-><B
->Example 15.  Panel Window Browsing Example </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;panel.h&#62;
+</span></pre>
+        </div>
+
+        <p>As you can see, above program follows a simple flow as
+        explained. The windows are created with newwin() and then
+        they are attached to panels with new_panel(). As we attach
+        one panel after another, the stack of panels gets updated.
+        To put them on screen update_panels() and doupdate() are
+        called.</p>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="PANELBROWSING" id=
+        "PANELBROWSING">16.3. Panel Window Browsing</a></h3>
+
+        <p>A slightly complicated example is given below. This
+        program creates 3 windows which can be cycled through using
+        tab. Have a look at the code.</p>
+
+        <div class="EXAMPLE">
+          <a name="PPABR" id="PPABR"></a>
+          <p><b>Example 15. Panel Window Browsing Example</b>
+          </p>
+
+          <pre class="PROGRAMLISTING"><span class=
+          "INLINEMEDIAOBJECT">#include &lt;string.h&gt;
+#include &lt;panel.h&gt;
 
 #define NLINES 10
 #define NCOLS 40
@@ -4421,191 +3488,182 @@
 void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string, chtype color);
 
 int main()
-{	WINDOW *my_wins[3];
-	PANEL  *my_panels[3];
-	PANEL  *top;
-	int ch;
+{       WINDOW *my_wins[3];
+        PANEL  *my_panels[3];
+        PANEL  *top;
+        int ch;
 
-	/* Initialize curses */
-	initscr();
-	start_color();
-	cbreak();
-	noecho();
-	keypad(stdscr, TRUE);
+        /* Initialize curses */
+        initscr();
+        start_color();
+        cbreak();
+        noecho();
+        keypad(stdscr, TRUE);
 
-	/* Initialize all the colors */
-	init_pair(1, COLOR_RED, COLOR_BLACK);
-	init_pair(2, COLOR_GREEN, COLOR_BLACK);
-	init_pair(3, COLOR_BLUE, COLOR_BLACK);
-	init_pair(4, COLOR_CYAN, COLOR_BLACK);
+        /* Initialize all the colors */
+        init_pair(1, COLOR_RED, COLOR_BLACK);
+        init_pair(2, COLOR_GREEN, COLOR_BLACK);
+        init_pair(3, COLOR_BLUE, COLOR_BLACK);
+        init_pair(4, COLOR_CYAN, COLOR_BLACK);
 
-	init_wins(my_wins, 3);
-	
-	/* Attach a panel to each window */ 	/* Order is bottom up */
-	my_panels[0] = new_panel(my_wins[0]); 	/* Push 0, order: stdscr-0 */
-	my_panels[1] = new_panel(my_wins[1]); 	/* Push 1, order: stdscr-0-1 */
-	my_panels[2] = new_panel(my_wins[2]); 	/* Push 2, order: stdscr-0-1-2 */
+        init_wins(my_wins, 3);
+        
+        /* Attach a panel to each window */     /* Order is bottom up */
+        my_panels[0] = new_panel(my_wins[0]);   /* Push 0, order: stdscr-0 */
+        my_panels[1] = new_panel(my_wins[1]);   /* Push 1, order: stdscr-0-1 */
+        my_panels[2] = new_panel(my_wins[2]);   /* Push 2, order: stdscr-0-1-2 */
 
-	/* Set up the user pointers to the next panel */
-	set_panel_userptr(my_panels[0], my_panels[1]);
-	set_panel_userptr(my_panels[1], my_panels[2]);
-	set_panel_userptr(my_panels[2], my_panels[0]);
+        /* Set up the user pointers to the next panel */
+        set_panel_userptr(my_panels[0], my_panels[1]);
+        set_panel_userptr(my_panels[1], my_panels[2]);
+        set_panel_userptr(my_panels[2], my_panels[0]);
 
-	/* Update the stacking order. 2nd panel will be on top */
-	update_panels();
+        /* Update the stacking order. 2nd panel will be on top */
+        update_panels();
 
-	/* Show it on the screen */
-	attron(COLOR_PAIR(4));
-	mvprintw(LINES - 2, 0, "Use tab to browse through the windows (F1 to Exit)");
-	attroff(COLOR_PAIR(4));
-	doupdate();
+        /* Show it on the screen */
+        attron(COLOR_PAIR(4));
+        mvprintw(LINES - 2, 0, "Use tab to browse through the windows (F1 to Exit)");
+        attroff(COLOR_PAIR(4));
+        doupdate();
 
-	top = my_panels[2];
-	while((ch = getch()) != KEY_F(1))
-	{	switch(ch)
-		{	case 9:
-				top = (PANEL *)panel_userptr(top);
-				top_panel(top);
-				break;
-		}
-		update_panels();
-		doupdate();
-	}
-	endwin();
-	return 0;
+        top = my_panels[2];
+        while((ch = getch()) != KEY_F(1))
+        {       switch(ch)
+                {       case 9:
+                                top = (PANEL *)panel_userptr(top);
+                                top_panel(top);
+                                break;
+                }
+                update_panels();
+                doupdate();
+        }
+        endwin();
+        return 0;
 }
 
 /* Put all the windows */
 void init_wins(WINDOW **wins, int n)
-{	int x, y, i;
-	char label[80];
+{       int x, y, i;
+        char label[80];
 
-	y = 2;
-	x = 10;
-	for(i = 0; i &#60; n; ++i)
-	{	wins[i] = newwin(NLINES, NCOLS, y, x);
-		sprintf(label, "Window Number %d", i + 1);
-		win_show(wins[i], label, i + 1);
-		y += 3;
-		x += 7;
-	}
+        y = 2;
+        x = 10;
+        for(i = 0; i &lt; n; ++i)
+        {       wins[i] = newwin(NLINES, NCOLS, y, x);
+                sprintf(label, "Window Number %d", i + 1);
+                win_show(wins[i], label, i + 1);
+                y += 3;
+                x += 7;
+        }
 }
 
 /* Show the window with a border and a label */
 void win_show(WINDOW *win, char *label, int label_color)
-{	int startx, starty, height, width;
+{       int startx, starty, height, width;
 
-	getbegyx(win, starty, startx);
-	getmaxyx(win, height, width);
+        getbegyx(win, starty, startx);
+        getmaxyx(win, height, width);
 
-	box(win, 0, 0);
-	mvwaddch(win, 2, 0, ACS_LTEE); 
-	mvwhline(win, 2, 1, ACS_HLINE, width - 2); 
-	mvwaddch(win, 2, width - 1, ACS_RTEE); 
-	
-	print_in_middle(win, 1, 0, width, label, COLOR_PAIR(label_color));
+        box(win, 0, 0);
+        mvwaddch(win, 2, 0, ACS_LTEE); 
+        mvwhline(win, 2, 1, ACS_HLINE, width - 2); 
+        mvwaddch(win, 2, width - 1, ACS_RTEE); 
+        
+        print_in_middle(win, 1, 0, width, label, COLOR_PAIR(label_color));
 }
 
 void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string, chtype color)
-{	int length, x, y;
-	float temp;
+{       int length, x, y;
+        float temp;
 
-	if(win == NULL)
-		win = stdscr;
-	getyx(win, y, x);
-	if(startx != 0)
-		x = startx;
-	if(starty != 0)
-		y = starty;
-	if(width == 0)
-		width = 80;
+        if(win == NULL)
+                win = stdscr;
+        getyx(win, y, x);
+        if(startx != 0)
+                x = startx;
+        if(starty != 0)
+                y = starty;
+        if(width == 0)
+                width = 80;
 
-	length = strlen(string);
-	temp = (width - length)/ 2;
-	x = startx + (int)temp;
-	wattron(win, color);
-	mvwprintw(win, y, x, "%s", string);
-	wattroff(win, color);
-	refresh();
-}</SPAN
-></PRE
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="USERPTRUSING"
->16.4. Using User Pointers</A
-></H3
-><P
->In the above example I used user pointers to find out the next window in the
-cycle.  We can attach custom information to the panel by specifying a user
-pointer, which can point to any information you want to store. In this case I
-stored the pointer to the next panel in the cycle. User pointer for a panel can
-be set with the function <TT
-CLASS="LITERAL"
-> set_panel_userptr()</TT
->.
-It can be accessed using the function <TT
-CLASS="LITERAL"
->panel_userptr()</TT
-> which will return the user pointer for the panel given as
-argument. After finding the next panel in the cycle It's brought to the top by
-the function top_panel().  This function brings the panel given as argument to
-the top of the panel stack.  </P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="PANELMOVERESIZE"
->16.5. Moving and Resizing Panels</A
-></H3
-><P
->The function <TT
-CLASS="LITERAL"
->move_panel()</TT
-> can be used to move a
-panel to the desired location. It does not change the position of the panel in
-the stack. Make sure that you use move_panel() instead mvwin() on the window
-associated with the panel.</P
-><P
->Resizing a panel is slightly complex.  There is no straight forward function
-just to resize the window associated with a panel. A solution to resize a panel
-is to create a new window with the desired sizes, change the window associated
-with the panel using replace_panel(). Don't forget to delete the old window. The
-window associated with a panel can be found by using the function
-panel_window().</P
-><P
->The following program shows these concepts, in supposedly simple program. You
-can cycle through the window with &lt;TAB&gt; as usual. To resize or move the
-active panel press 'r' for resize 'm' for moving. Then use arrow keys to resize
-or move it to the desired way and press enter to end your resizing or moving.
-This example makes use of user data to get the required data to do the
-operations. </P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="PPARE"
-></A
-><P
-><B
->Example 16.  Panel Moving and Resizing example </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;panel.h&#62;
+        length = strlen(string);
+        temp = (width - length)/ 2;
+        x = startx + (int)temp;
+        wattron(win, color);
+        mvwprintw(win, y, x, "%s", string);
+        wattroff(win, color);
+        refresh();
+}</span></pre>
+        </div>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="USERPTRUSING" id=
+        "USERPTRUSING">16.4. Using User Pointers</a></h3>
+
+        <p>In the above example I used user pointers to find out
+        the next window in the cycle. We can attach custom
+        information to the panel by specifying a user pointer,
+        which can point to any information you want to store. In
+        this case I stored the pointer to the next panel in the
+        cycle. User pointer for a panel can be set with the
+        function <tt class="LITERAL">set_panel_userptr()</tt>. It
+        can be accessed using the function <tt class=
+        "LITERAL">panel_userptr()</tt> which will return the user
+        pointer for the panel given as argument. After finding the
+        next panel in the cycle, it is brought to the top by the
+        function top_panel(). This function brings the panel given
+        as argument to the top of the panel stack.</p>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="PANELMOVERESIZE" id=
+        "PANELMOVERESIZE">16.5. Moving and Resizing Panels</a></h3>
+
+        <p>The function <tt class="LITERAL">move_panel()</tt> can
+        be used to move a panel to the desired location. It does
+        not change the position of the panel in the stack. Make
+        sure that you use move_panel() instead mvwin() on the
+        window associated with the panel.</p>
+
+        <p>Resizing a panel is slightly complex. There is no
+        straight forward function just to resize the window
+        associated with a panel. A solution to resize a panel is to
+        create a new window with the desired sizes, change the
+        window associated with the panel using replace_panel().
+        Don't forget to delete the old window. The window
+        associated with a panel can be found by using the function
+        panel_window().</p>
+
+        <p>The following program shows these concepts, in
+        supposedly simple program. You can cycle through the window
+        with &lt;TAB&gt; as usual. To resize or move the active
+        panel press 'r' for resize 'm' for moving. Then use arrow
+        keys to resize or move it to the desired way and press
+        enter to end your resizing or moving. This example makes
+        use of user data to get the required data to do the
+        operations.</p>
+
+        <div class="EXAMPLE">
+          <a name="PPARE" id="PPARE"></a>
+          <p><b>Example 16. Panel Moving and Resizing example</b>
+          </p>
+
+          <pre class="PROGRAMLISTING"><span class=
+          "INLINEMEDIAOBJECT">#include &lt;stdlib.h&gt;
+#include &lt;string.h&gt;
+#include &lt;panel.h&gt;
 
 typedef struct _PANEL_DATA {
-	int x, y, w, h;
-	char label[80]; 
-	int label_color;
-	PANEL *next;
+        int x, y, w, h;
+        char label[80]; 
+        int label_color;
+        PANEL *next;
 }PANEL_DATA;
 
 #define NLINES 10
@@ -4617,289 +3675,284 @@
 void set_user_ptrs(PANEL **panels, int n);
 
 int main()
-{	WINDOW *my_wins[3];
-	PANEL  *my_panels[3];
-	PANEL_DATA  *top;
-	PANEL *stack_top;
-	WINDOW *temp_win, *old_win;
-	int ch;
-	int newx, newy, neww, newh;
-	int size = FALSE, move = FALSE;
+{       WINDOW *my_wins[3];
+        PANEL  *my_panels[3];
+        PANEL_DATA  *top;
+        PANEL *stack_top;
+        WINDOW *temp_win, *old_win;
+        int ch;
+        int newx, newy, neww, newh;
+        int size = FALSE, move = FALSE;
 
-	/* Initialize curses */
-	initscr();
-	start_color();
-	cbreak();
-	noecho();
-	keypad(stdscr, TRUE);
+        /* Initialize curses */
+        initscr();
+        start_color();
+        cbreak();
+        noecho();
+        keypad(stdscr, TRUE);
 
-	/* Initialize all the colors */
-	init_pair(1, COLOR_RED, COLOR_BLACK);
-	init_pair(2, COLOR_GREEN, COLOR_BLACK);
-	init_pair(3, COLOR_BLUE, COLOR_BLACK);
-	init_pair(4, COLOR_CYAN, COLOR_BLACK);
+        /* Initialize all the colors */
+        init_pair(1, COLOR_RED, COLOR_BLACK);
+        init_pair(2, COLOR_GREEN, COLOR_BLACK);
+        init_pair(3, COLOR_BLUE, COLOR_BLACK);
+        init_pair(4, COLOR_CYAN, COLOR_BLACK);
 
-	init_wins(my_wins, 3);
-	
-	/* Attach a panel to each window */ 	/* Order is bottom up */
-	my_panels[0] = new_panel(my_wins[0]); 	/* Push 0, order: stdscr-0 */
-	my_panels[1] = new_panel(my_wins[1]); 	/* Push 1, order: stdscr-0-1 */
-	my_panels[2] = new_panel(my_wins[2]); 	/* Push 2, order: stdscr-0-1-2 */
+        init_wins(my_wins, 3);
+        
+        /* Attach a panel to each window */     /* Order is bottom up */
+        my_panels[0] = new_panel(my_wins[0]);   /* Push 0, order: stdscr-0 */
+        my_panels[1] = new_panel(my_wins[1]);   /* Push 1, order: stdscr-0-1 */
+        my_panels[2] = new_panel(my_wins[2]);   /* Push 2, order: stdscr-0-1-2 */
 
-	set_user_ptrs(my_panels, 3);
-	/* Update the stacking order. 2nd panel will be on top */
-	update_panels();
+        set_user_ptrs(my_panels, 3);
+        /* Update the stacking order. 2nd panel will be on top */
+        update_panels();
 
-	/* Show it on the screen */
-	attron(COLOR_PAIR(4));
-	mvprintw(LINES - 3, 0, "Use 'm' for moving, 'r' for resizing");
-	mvprintw(LINES - 2, 0, "Use tab to browse through the windows (F1 to Exit)");
-	attroff(COLOR_PAIR(4));
-	doupdate();
+        /* Show it on the screen */
+        attron(COLOR_PAIR(4));
+        mvprintw(LINES - 3, 0, "Use 'm' for moving, 'r' for resizing");
+        mvprintw(LINES - 2, 0, "Use tab to browse through the windows (F1 to Exit)");
+        attroff(COLOR_PAIR(4));
+        doupdate();
 
-	stack_top = my_panels[2];
-	top = (PANEL_DATA *)panel_userptr(stack_top);
-	newx = top-&#62;x;
-	newy = top-&#62;y;
-	neww = top-&#62;w;
-	newh = top-&#62;h;
-	while((ch = getch()) != KEY_F(1))
-	{	switch(ch)
-		{	case 9:		/* Tab */
-				top = (PANEL_DATA *)panel_userptr(stack_top);
-				top_panel(top-&#62;next);
-				stack_top = top-&#62;next;
-				top = (PANEL_DATA *)panel_userptr(stack_top);
-				newx = top-&#62;x;
-				newy = top-&#62;y;
-				neww = top-&#62;w;
-				newh = top-&#62;h;
-				break;
-			case 'r':	/* Re-Size*/
-				size = TRUE;
-				attron(COLOR_PAIR(4));
-				mvprintw(LINES - 4, 0, "Entered Resizing :Use Arrow Keys to resize and press &#60;ENTER&#62; to end resizing");
-				refresh();
-				attroff(COLOR_PAIR(4));
-				break;
-			case 'm':	/* Move */
-				attron(COLOR_PAIR(4));
-				mvprintw(LINES - 4, 0, "Entered Moving: Use Arrow Keys to Move and press &#60;ENTER&#62; to end moving");
-				refresh();
-				attroff(COLOR_PAIR(4));
-				move = TRUE;
-				break;
-			case KEY_LEFT:
-				if(size == TRUE)
-				{	--newx;
-					++neww;
-				}
-				if(move == TRUE)
-					--newx;
-				break;
-			case KEY_RIGHT:
-				if(size == TRUE)
-				{	++newx;
-					--neww;
-				}
-				if(move == TRUE)
-					++newx;
-				break;
-			case KEY_UP:
-				if(size == TRUE)
-				{	--newy;
-					++newh;
-				}
-				if(move == TRUE)
-					--newy;
-				break;
-			case KEY_DOWN:
-				if(size == TRUE)
-				{	++newy;
-					--newh;
-				}
-				if(move == TRUE)
-					++newy;
-				break;
-			case 10:	/* Enter */
-				move(LINES - 4, 0);
-				clrtoeol();
-				refresh();
-				if(size == TRUE)
-				{	old_win = panel_window(stack_top);
-					temp_win = newwin(newh, neww, newy, newx);
-					replace_panel(stack_top, temp_win);
-					win_show(temp_win, top-&#62;label, top-&#62;label_color); 
-					delwin(old_win);
-					size = FALSE;
-				}
-				if(move == TRUE)
-				{	move_panel(stack_top, newy, newx);
-					move = FALSE;
-				}
-				break;
-			
-		}
-		attron(COLOR_PAIR(4));
-		mvprintw(LINES - 3, 0, "Use 'm' for moving, 'r' for resizing");
-	    	mvprintw(LINES - 2, 0, "Use tab to browse through the windows (F1 to Exit)");
-	    	attroff(COLOR_PAIR(4));
-	        refresh();	
-		update_panels();
-		doupdate();
-	}
-	endwin();
-	return 0;
+        stack_top = my_panels[2];
+        top = (PANEL_DATA *)panel_userptr(stack_top);
+        newx = top-&gt;x;
+        newy = top-&gt;y;
+        neww = top-&gt;w;
+        newh = top-&gt;h;
+        while((ch = getch()) != KEY_F(1))
+        {       switch(ch)
+                {       case 9:         /* Tab */
+                                top = (PANEL_DATA *)panel_userptr(stack_top);
+                                top_panel(top-&gt;next);
+                                stack_top = top-&gt;next;
+                                top = (PANEL_DATA *)panel_userptr(stack_top);
+                                newx = top-&gt;x;
+                                newy = top-&gt;y;
+                                neww = top-&gt;w;
+                                newh = top-&gt;h;
+                                break;
+                        case 'r':       /* Re-Size*/
+                                size = TRUE;
+                                attron(COLOR_PAIR(4));
+                                mvprintw(LINES - 4, 0, "Entered Resizing :Use Arrow Keys to resize and press &lt;ENTER&gt; to end resizing");
+                                refresh();
+                                attroff(COLOR_PAIR(4));
+                                break;
+                        case 'm':       /* Move */
+                                attron(COLOR_PAIR(4));
+                                mvprintw(LINES - 4, 0, "Entered Moving: Use Arrow Keys to Move and press &lt;ENTER&gt; to end moving");
+                                refresh();
+                                attroff(COLOR_PAIR(4));
+                                move = TRUE;
+                                break;
+                        case KEY_LEFT:
+                                if(size == TRUE)
+                                {       --newx;
+                                        ++neww;
+                                }
+                                if(move == TRUE)
+                                        --newx;
+                                break;
+                        case KEY_RIGHT:
+                                if(size == TRUE)
+                                {       ++newx;
+                                        --neww;
+                                }
+                                if(move == TRUE)
+                                        ++newx;
+                                break;
+                        case KEY_UP:
+                                if(size == TRUE)
+                                {       --newy;
+                                        ++newh;
+                                }
+                                if(move == TRUE)
+                                        --newy;
+                                break;
+                        case KEY_DOWN:
+                                if(size == TRUE)
+                                {       ++newy;
+                                        --newh;
+                                }
+                                if(move == TRUE)
+                                        ++newy;
+                                break;
+                        case 10:        /* Enter */
+                                move(LINES - 4, 0);
+                                clrtoeol();
+                                refresh();
+                                if(size == TRUE)
+                                {       old_win = panel_window(stack_top);
+                                        temp_win = newwin(newh, neww, newy, newx);
+                                        replace_panel(stack_top, temp_win);
+                                        win_show(temp_win, top-&gt;label, top-&gt;label_color); 
+                                        delwin(old_win);
+                                        size = FALSE;
+                                }
+                                if(move == TRUE)
+                                {       move_panel(stack_top, newy, newx);
+                                        move = FALSE;
+                                }
+                                break;
+                        
+                }
+                attron(COLOR_PAIR(4));
+                mvprintw(LINES - 3, 0, "Use 'm' for moving, 'r' for resizing");
+                mvprintw(LINES - 2, 0, "Use tab to browse through the windows (F1 to Exit)");
+                attroff(COLOR_PAIR(4));
+                refresh();      
+                update_panels();
+                doupdate();
+        }
+        endwin();
+        return 0;
 }
 
 /* Put all the windows */
 void init_wins(WINDOW **wins, int n)
-{	int x, y, i;
-	char label[80];
+{       int x, y, i;
+        char label[80];
 
-	y = 2;
-	x = 10;
-	for(i = 0; i &#60; n; ++i)
-	{	wins[i] = newwin(NLINES, NCOLS, y, x);
-		sprintf(label, "Window Number %d", i + 1);
-		win_show(wins[i], label, i + 1);
-		y += 3;
-		x += 7;
-	}
+        y = 2;
+        x = 10;
+        for(i = 0; i &lt; n; ++i)
+        {       wins[i] = newwin(NLINES, NCOLS, y, x);
+                sprintf(label, "Window Number %d", i + 1);
+                win_show(wins[i], label, i + 1);
+                y += 3;
+                x += 7;
+        }
 }
 
 /* Set the PANEL_DATA structures for individual panels */
 void set_user_ptrs(PANEL **panels, int n)
-{	PANEL_DATA *ptrs;
-	WINDOW *win;
-	int x, y, w, h, i;
-	char temp[80];
-	
-	ptrs = (PANEL_DATA *)calloc(n, sizeof(PANEL_DATA));
+{       PANEL_DATA *ptrs;
+        WINDOW *win;
+        int x, y, w, h, i;
+        char temp[80];
+        
+        ptrs = (PANEL_DATA *)calloc(n, sizeof(PANEL_DATA));
 
-	for(i = 0;i &#60; n; ++i)
-	{	win = panel_window(panels[i]);
-		getbegyx(win, y, x);
-		getmaxyx(win, h, w);
-		ptrs[i].x = x;
-		ptrs[i].y = y;
-		ptrs[i].w = w;
-		ptrs[i].h = h;
-		sprintf(temp, "Window Number %d", i + 1);
-		strcpy(ptrs[i].label, temp);
-		ptrs[i].label_color = i + 1;
-		if(i + 1 == n)
-			ptrs[i].next = panels[0];
-		else
-			ptrs[i].next = panels[i + 1];
-		set_panel_userptr(panels[i], &#38;ptrs[i]);
-	}
+        for(i = 0;i &lt; n; ++i)
+        {       win = panel_window(panels[i]);
+                getbegyx(win, y, x);
+                getmaxyx(win, h, w);
+                ptrs[i].x = x;
+                ptrs[i].y = y;
+                ptrs[i].w = w;
+                ptrs[i].h = h;
+                sprintf(temp, "Window Number %d", i + 1);
+                strcpy(ptrs[i].label, temp);
+                ptrs[i].label_color = i + 1;
+                if(i + 1 == n)
+                        ptrs[i].next = panels[0];
+                else
+                        ptrs[i].next = panels[i + 1];
+                set_panel_userptr(panels[i], &amp;ptrs[i]);
+        }
 }
 
 /* Show the window with a border and a label */
 void win_show(WINDOW *win, char *label, int label_color)
-{	int startx, starty, height, width;
+{       int startx, starty, height, width;
 
-	getbegyx(win, starty, startx);
-	getmaxyx(win, height, width);
+        getbegyx(win, starty, startx);
+        getmaxyx(win, height, width);
 
-	box(win, 0, 0);
-	mvwaddch(win, 2, 0, ACS_LTEE); 
-	mvwhline(win, 2, 1, ACS_HLINE, width - 2); 
-	mvwaddch(win, 2, width - 1, ACS_RTEE); 
-	
-	print_in_middle(win, 1, 0, width, label, COLOR_PAIR(label_color));
+        box(win, 0, 0);
+        mvwaddch(win, 2, 0, ACS_LTEE); 
+        mvwhline(win, 2, 1, ACS_HLINE, width - 2); 
+        mvwaddch(win, 2, width - 1, ACS_RTEE); 
+        
+        print_in_middle(win, 1, 0, width, label, COLOR_PAIR(label_color));
 }
 
 void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string, chtype color)
-{	int length, x, y;
-	float temp;
+{       int length, x, y;
+        float temp;
 
-	if(win == NULL)
-		win = stdscr;
-	getyx(win, y, x);
-	if(startx != 0)
-		x = startx;
-	if(starty != 0)
-		y = starty;
-	if(width == 0)
-		width = 80;
+        if(win == NULL)
+                win = stdscr;
+        getyx(win, y, x);
+        if(startx != 0)
+                x = startx;
+        if(starty != 0)
+                y = starty;
+        if(width == 0)
+                width = 80;
 
-	length = strlen(string);
-	temp = (width - length)/ 2;
-	x = startx + (int)temp;
-	wattron(win, color);
-	mvwprintw(win, y, x, "%s", string);
-	wattroff(win, color);
-	refresh();
-}</SPAN
-></PRE
-></DIV
-><P
->Concentrate on the main while loop. Once it finds out the type of key pressed,
-it takes appropriate action. If 'r' is pressed resizing mode is started. After
-this the new sizes are updated as the user presses the arrow keys. When the user
-presses &lt;ENTER&gt; present selection ends and panel is resized by using the
-concept explained.  While in resizing mode the program doesn't show how the
-window is getting resized.  It's left as an exercise to the reader to print a
-dotted border while it gets resized to a new position. </P
-><P
->When the user presses 'm' the move mode starts. This is a bit simpler than
-resizing.  As the arrow keys are pressed the new position is updated and
-pressing of &lt;ENTER&gt; causes the panel to be moved by calling the function
-move_panel().</P
-><P
->In this program the user data which is represented as PANEL_DATA, plays very
-important role in finding the associated information with a panel. As written in
-the comments, the PANEL_DATA stores the panel sizes, label, label color and a
-pointer to the next panel in the cycle.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="PANELSHOWHIDE"
->16.6. Hiding and Showing Panels</A
-></H3
-><P
->A Panel can be hidden by using the function hide_panel(). This function merely
-removes it form the stack of panels, thus hiding it on the screen once you do
-update_panels() and doupdate(). It doesn't destroy the PANEL structure
-associated with the hidden panel.  It can be shown again by using the
-show_panel() function.</P
-><P
->The following program shows the hiding of panels. Press 'a' or 'b' or 'c' to
-show or hide first, second and third windows respectively. It uses a user data
-with a small variable hide, which keeps track of whether the window is hidden or
-not. For some reason the function
-<TT
-CLASS="LITERAL"
->panel_hidden()</TT
-> which tells whether a panel is
-hidden or not is not working.  A bug report was also presented by Michael Andres
-<A
-HREF="http://www.geocrawler.com/archives/3/344/1999/9/0/2643549/"
-TARGET="_top"
-> here</A
-></P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="PPAHI"
-></A
-><P
-><B
->Example 17.  Panel Hiding and Showing example </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;panel.h&#62;
+        length = strlen(string);
+        temp = (width - length)/ 2;
+        x = startx + (int)temp;
+        wattron(win, color);
+        mvwprintw(win, y, x, "%s", string);
+        wattroff(win, color);
+        refresh();
+}</span></pre>
+        </div>
+
+        <p>Concentrate on the main while loop. Once it finds out
+        the type of key pressed, it takes appropriate action. If
+        'r' is pressed resizing mode is started. After this the new
+        sizes are updated as the user presses the arrow keys. When
+        the user presses &lt;ENTER&gt; present selection ends and
+        panel is resized by using the concept explained. While in
+        resizing mode the program doesn't show how the window is
+        getting resized. It is left as an exercise to the reader to
+        print a dotted border while it gets resized to a new
+        position.</p>
+
+        <p>When the user presses 'm' the move mode starts. This is
+        a bit simpler than resizing. As the arrow keys are pressed
+        the new position is updated and pressing of &lt;ENTER&gt;
+        causes the panel to be moved by calling the function
+        move_panel().</p>
+
+        <p>In this program the user data which is represented as
+        PANEL_DATA, plays very important role in finding the
+        associated information with a panel. As written in the
+        comments, the PANEL_DATA stores the panel sizes, label,
+        label color and a pointer to the next panel in the
+        cycle.</p>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="PANELSHOWHIDE" id=
+        "PANELSHOWHIDE">16.6. Hiding and Showing Panels</a></h3>
+
+        <p>A Panel can be hidden by using the function
+        hide_panel(). This function merely removes it form the
+        stack of panels, thus hiding it on the screen once you do
+        update_panels() and doupdate(). It doesn't destroy the
+        PANEL structure associated with the hidden panel. It can be
+        shown again by using the show_panel() function.</p>
+
+        <p>The following program shows the hiding of panels. Press
+        'a' or 'b' or 'c' to show or hide first, second and third
+        windows respectively. It uses a user data with a small
+        variable hide, which keeps track of whether the window is
+        hidden or not. For some reason the function <tt class=
+        "LITERAL">panel_hidden()</tt> which tells whether a panel
+        is hidden or not is not working. A bug report was also
+        presented by Michael Andres <a href=
+        "http://www.geocrawler.com/archives/3/344/1999/9/0/2643549/"
+        target="_top">here</a></p>
+
+        <div class="EXAMPLE">
+          <a name="PPAHI" id="PPAHI"></a>
+          <p><b>Example 17. Panel Hiding and Showing example</b>
+          </p>
+
+          <pre class="PROGRAMLISTING"><span class=
+          "INLINEMEDIAOBJECT">#include &lt;string.h&gt;
+#include &lt;panel.h&gt;
 
 typedef struct _PANEL_DATA {
-	int hide;	/* TRUE if panel is hidden */
+        int hide;       /* TRUE if panel is hidden */
 }PANEL_DATA;
 
 #define NLINES 10
@@ -4910,292 +3963,277 @@
 void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string, chtype color);
 
 int main()
-{	WINDOW *my_wins[3];
-	PANEL  *my_panels[3];
-	PANEL_DATA panel_datas[3];
-	PANEL_DATA *temp;
-	int ch;
+{       WINDOW *my_wins[3];
+        PANEL  *my_panels[3];
+        PANEL_DATA panel_datas[3];
+        PANEL_DATA *temp;
+        int ch;
 
-	/* Initialize curses */
-	initscr();
-	start_color();
-	cbreak();
-	noecho();
-	keypad(stdscr, TRUE);
+        /* Initialize curses */
+        initscr();
+        start_color();
+        cbreak();
+        noecho();
+        keypad(stdscr, TRUE);
 
-	/* Initialize all the colors */
-	init_pair(1, COLOR_RED, COLOR_BLACK);
-	init_pair(2, COLOR_GREEN, COLOR_BLACK);
-	init_pair(3, COLOR_BLUE, COLOR_BLACK);
-	init_pair(4, COLOR_CYAN, COLOR_BLACK);
+        /* Initialize all the colors */
+        init_pair(1, COLOR_RED, COLOR_BLACK);
+        init_pair(2, COLOR_GREEN, COLOR_BLACK);
+        init_pair(3, COLOR_BLUE, COLOR_BLACK);
+        init_pair(4, COLOR_CYAN, COLOR_BLACK);
 
-	init_wins(my_wins, 3);
-	
-	/* Attach a panel to each window */ 	/* Order is bottom up */
-	my_panels[0] = new_panel(my_wins[0]); 	/* Push 0, order: stdscr-0 */
-	my_panels[1] = new_panel(my_wins[1]); 	/* Push 1, order: stdscr-0-1 */
-	my_panels[2] = new_panel(my_wins[2]); 	/* Push 2, order: stdscr-0-1-2 */
+        init_wins(my_wins, 3);
+        
+        /* Attach a panel to each window */     /* Order is bottom up */
+        my_panels[0] = new_panel(my_wins[0]);   /* Push 0, order: stdscr-0 */
+        my_panels[1] = new_panel(my_wins[1]);   /* Push 1, order: stdscr-0-1 */
+        my_panels[2] = new_panel(my_wins[2]);   /* Push 2, order: stdscr-0-1-2 */
 
-	/* Initialize panel datas saying that nothing is hidden */
-	panel_datas[0].hide = FALSE;
-	panel_datas[1].hide = FALSE;
-	panel_datas[2].hide = FALSE;
+        /* Initialize panel data saying that nothing is hidden */
+        panel_datas[0].hide = FALSE;
+        panel_datas[1].hide = FALSE;
+        panel_datas[2].hide = FALSE;
 
-	set_panel_userptr(my_panels[0], &#38;panel_datas[0]);
-	set_panel_userptr(my_panels[1], &#38;panel_datas[1]);
-	set_panel_userptr(my_panels[2], &#38;panel_datas[2]);
+        set_panel_userptr(my_panels[0], &amp;panel_datas[0]);
+        set_panel_userptr(my_panels[1], &amp;panel_datas[1]);
+        set_panel_userptr(my_panels[2], &amp;panel_datas[2]);
 
-	/* Update the stacking order. 2nd panel will be on top */
-	update_panels();
+        /* Update the stacking order. 2nd panel will be on top */
+        update_panels();
 
-	/* Show it on the screen */
-	attron(COLOR_PAIR(4));
-	mvprintw(LINES - 3, 0, "Show or Hide a window with 'a'(first window)  'b'(Second Window)  'c'(Third Window)");
-	mvprintw(LINES - 2, 0, "F1 to Exit");
+        /* Show it on the screen */
+        attron(COLOR_PAIR(4));
+        mvprintw(LINES - 3, 0, "Show or Hide a window with 'a'(first window)  'b'(Second Window)  'c'(Third Window)");
+        mvprintw(LINES - 2, 0, "F1 to Exit");
 
-	attroff(COLOR_PAIR(4));
-	doupdate();
-	
-	while((ch = getch()) != KEY_F(1))
-	{	switch(ch)
-		{	case 'a':			
-				temp = (PANEL_DATA *)panel_userptr(my_panels[0]);
-				if(temp-&#62;hide == FALSE)
-				{	hide_panel(my_panels[0]);
-					temp-&#62;hide = TRUE;
-				}
-				else
-				{	show_panel(my_panels[0]);
-					temp-&#62;hide = FALSE;
-				}
-				break;
-			case 'b':
-				temp = (PANEL_DATA *)panel_userptr(my_panels[1]);
-				if(temp-&#62;hide == FALSE)
-				{	hide_panel(my_panels[1]);
-					temp-&#62;hide = TRUE;
-				}
-				else
-				{	show_panel(my_panels[1]);
-					temp-&#62;hide = FALSE;
-				}
-				break;
-			case 'c':
-				temp = (PANEL_DATA *)panel_userptr(my_panels[2]);
-				if(temp-&#62;hide == FALSE)
-				{	hide_panel(my_panels[2]);
-					temp-&#62;hide = TRUE;
-				}
-				else
-				{	show_panel(my_panels[2]);
-					temp-&#62;hide = FALSE;
-				}
-				break;
-		}
-		update_panels();
-		doupdate();
-	}
-	endwin();
-	return 0;
+        attroff(COLOR_PAIR(4));
+        doupdate();
+        
+        while((ch = getch()) != KEY_F(1))
+        {       switch(ch)
+                {       case 'a':                       
+                                temp = (PANEL_DATA *)panel_userptr(my_panels[0]);
+                                if(temp-&gt;hide == FALSE)
+                                {       hide_panel(my_panels[0]);
+                                        temp-&gt;hide = TRUE;
+                                }
+                                else
+                                {       show_panel(my_panels[0]);
+                                        temp-&gt;hide = FALSE;
+                                }
+                                break;
+                        case 'b':
+                                temp = (PANEL_DATA *)panel_userptr(my_panels[1]);
+                                if(temp-&gt;hide == FALSE)
+                                {       hide_panel(my_panels[1]);
+                                        temp-&gt;hide = TRUE;
+                                }
+                                else
+                                {       show_panel(my_panels[1]);
+                                        temp-&gt;hide = FALSE;
+                                }
+                                break;
+                        case 'c':
+                                temp = (PANEL_DATA *)panel_userptr(my_panels[2]);
+                                if(temp-&gt;hide == FALSE)
+                                {       hide_panel(my_panels[2]);
+                                        temp-&gt;hide = TRUE;
+                                }
+                                else
+                                {       show_panel(my_panels[2]);
+                                        temp-&gt;hide = FALSE;
+                                }
+                                break;
+                }
+                update_panels();
+                doupdate();
+        }
+        endwin();
+        return 0;
 }
 
 /* Put all the windows */
 void init_wins(WINDOW **wins, int n)
-{	int x, y, i;
-	char label[80];
+{       int x, y, i;
+        char label[80];
 
-	y = 2;
-	x = 10;
-	for(i = 0; i &#60; n; ++i)
-	{	wins[i] = newwin(NLINES, NCOLS, y, x);
-		sprintf(label, "Window Number %d", i + 1);
-		win_show(wins[i], label, i + 1);
-		y += 3;
-		x += 7;
-	}
+        y = 2;
+        x = 10;
+        for(i = 0; i &lt; n; ++i)
+        {       wins[i] = newwin(NLINES, NCOLS, y, x);
+                sprintf(label, "Window Number %d", i + 1);
+                win_show(wins[i], label, i + 1);
+                y += 3;
+                x += 7;
+        }
 }
 
 /* Show the window with a border and a label */
 void win_show(WINDOW *win, char *label, int label_color)
-{	int startx, starty, height, width;
+{       int startx, starty, height, width;
 
-	getbegyx(win, starty, startx);
-	getmaxyx(win, height, width);
+        getbegyx(win, starty, startx);
+        getmaxyx(win, height, width);
 
-	box(win, 0, 0);
-	mvwaddch(win, 2, 0, ACS_LTEE); 
-	mvwhline(win, 2, 1, ACS_HLINE, width - 2); 
-	mvwaddch(win, 2, width - 1, ACS_RTEE); 
-	
-	print_in_middle(win, 1, 0, width, label, COLOR_PAIR(label_color));
+        box(win, 0, 0);
+        mvwaddch(win, 2, 0, ACS_LTEE); 
+        mvwhline(win, 2, 1, ACS_HLINE, width - 2); 
+        mvwaddch(win, 2, width - 1, ACS_RTEE); 
+        
+        print_in_middle(win, 1, 0, width, label, COLOR_PAIR(label_color));
 }
 
 void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string, chtype color)
-{	int length, x, y;
-	float temp;
+{       int length, x, y;
+        float temp;
 
-	if(win == NULL)
-		win = stdscr;
-	getyx(win, y, x);
-	if(startx != 0)
-		x = startx;
-	if(starty != 0)
-		y = starty;
-	if(width == 0)
-		width = 80;
+        if(win == NULL)
+                win = stdscr;
+        getyx(win, y, x);
+        if(startx != 0)
+                x = startx;
+        if(starty != 0)
+                y = starty;
+        if(width == 0)
+                width = 80;
 
-	length = strlen(string);
-	temp = (width - length)/ 2;
-	x = startx + (int)temp;
-	wattron(win, color);
-	mvwprintw(win, y, x, "%s", string);
-	wattroff(win, color);
-	refresh();
-}</SPAN
-></PRE
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="PANELABOVE"
->16.7. panel_above() and panel_below() Functions</A
-></H3
-><P
->The functions <TT
-CLASS="LITERAL"
->panel_above()</TT
-> and
-<TT
-CLASS="LITERAL"
->panel_below()</TT
-> can be used to find out the panel
-above and below a panel. If the argument to these functions is NULL, then they
-return a pointer to bottom panel and top panel respectively.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="MENUS"
->17. Menus Library</A
-></H2
-><P
->The menus library provides a nice extension to basic curses, through which you
-can create menus. It provides a set of functions to create menus. But they have
-to be customized to give a nicer look, with colors etc. Let's get into the
-details.</P
-><P
->A menu is a screen display that assists the user to choose some subset of a
-given set of items. To put it simple, a menu is a collection of items from which
-one or more items can be chosen. Some readers might not be aware of multiple
-item selection capability.  Menu library provides functionality to write menus
-from which the user can chose more than one item as the preferred choice. This
-is dealt with in a later section. Now it is time for some rudiments.</P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="MENUBASICS"
->17.1. The Basics</A
-></H3
-><P
->To create menus, you first create items, and then post the menu to the display.
-After that, all the processing of user responses is done in an elegant function
-menu_driver() which is the work horse of any menu program. </P
-><P
->The general flow of control of a menu program looks like this.
-<P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Initialize curses</P
-></LI
-><LI
-><P
->Create items using new_item(). You can specify a name and description for the
-items.</P
-></LI
-><LI
-><P
->Create the menu with new_menu() by specifying the items to be attached with.</P
-></LI
-><LI
-><P
->Post the menu with menu_post() and refresh the screen.</P
-></LI
-><LI
-><P
->Process the user requests with a loop and do necessary updates to menu with
-menu_driver.</P
-></LI
-><LI
-><P
->Unpost the menu with menu_unpost()</P
-></LI
-><LI
-><P
->Free the memory allocated to menu by free_menu()</P
-></LI
-><LI
-><P
->Free the memory allocated to the items with free_item() </P
-></LI
-><LI
-><P
->End curses </P
-></LI
-></OL
-></P
-><P
->Let's see a program which prints a simple menu and updates the current selection
-with up, down arrows. </P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="COMPILEMENUS"
->17.2. Compiling With the Menu Library</A
-></H3
-><P
->To use menu library functions, you have to include menu.h and to link the
-program with menu library the flag -lmenu should be added along with -lncurses
-in that order.</P
-><PRE
-CLASS="PROGRAMLISTING"
->    #include &lt;menu.h&gt;
+        length = strlen(string);
+        temp = (width - length)/ 2;
+        x = startx + (int)temp;
+        wattron(win, color);
+        mvwprintw(win, y, x, "%s", string);
+        wattroff(win, color);
+        refresh();
+}</span></pre>
+        </div>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="PANELABOVE" id=
+        "PANELABOVE">16.7. panel_above() and panel_below()
+        Functions</a></h3>
+
+        <p>The functions <tt class="LITERAL">panel_above()</tt> and
+        <tt class="LITERAL">panel_below()</tt> can be used to find
+        out the panel above and below a panel. If the argument to
+        these functions is NULL, then they return a pointer to
+        bottom panel and top panel respectively.</p>
+      </div>
+    </div>
+
+    <div class="SECT1">
+      <hr>
+
+      <h2 class="SECT1"><a name="MENUS" id="MENUS">17. Menus
+      Library</a></h2>
+
+      <p>The menus library provides a nice extension to basic
+      curses, through which you can create menus. It provides a set
+      of functions to create menus. But they have to be customized
+      to give a nicer look, with colors, etc. Let's get into the
+      details.</p>
+
+      <p>A menu is a screen display that assists the user to choose
+      some subset of a given set of items. To put it simple, a menu
+      is a collection of items from which one or more items can be
+      chosen. Some readers might not be aware of multiple item
+      selection capability. Menu library provides functionality to
+      write menus from which the user can chose more than one item
+      as the preferred choice. This is dealt with in a later
+      section. Now it is time for some rudiments.</p>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="MENUBASICS" id=
+        "MENUBASICS">17.1. The Basics</a></h3>
+
+        <p>To create menus, you first create items, and then post
+        the menu to the display. After that, all the processing of
+        user responses is done in an elegant function menu_driver()
+        which is the work horse of any menu program.</p>
+
+        <p>The general flow of control of a menu program looks like
+        this.</p>
+
+        <ol type="1">
+          <li>
+            <p>Initialize curses</p>
+          </li>
+
+          <li>
+            <p>Create items using new_item(). You can specify a
+            name and description for the items.</p>
+          </li>
+
+          <li>
+            <p>Create the menu with new_menu() by specifying the
+            items to be attached with.</p>
+          </li>
+
+          <li>
+            <p>Post the menu with menu_post() and refresh the
+            screen.</p>
+          </li>
+
+          <li>
+            <p>Process the user requests with a loop and do
+            necessary updates to menu with menu_driver.</p>
+          </li>
+
+          <li>
+            <p>Unpost the menu with menu_unpost()</p>
+          </li>
+
+          <li>
+            <p>Free the memory allocated to menu by free_menu()</p>
+          </li>
+
+          <li>
+            <p>Free the memory allocated to the items with
+            free_item()</p>
+          </li>
+
+          <li>
+            <p>End curses</p>
+          </li>
+        </ol>
+
+        <p>Let's see a program which prints a simple menu and
+        updates the current selection with up, down arrows.</p>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="COMPILEMENUS" id=
+        "COMPILEMENUS">17.2. Compiling With the Menu Library</a></h3>
+
+        <p>To use menu library functions, you have to include
+        menu.h and to link the program with menu library the flag
+        -lmenu should be added along with -lncurses in that
+        order.</p>
+
+        <pre class="PROGRAMLISTING">    #include &lt;menu.h&gt;
     .
     .
     .
 
-    compile and link: gcc &lt;program file&gt; -lmenu -lncurses</PRE
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="MMESI"
-></A
-><P
-><B
->Example 18. Menu Basics </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;curses.h&#62;
-#include &#60;menu.h&#62;
+    compile and link: gcc &lt;program file&gt; -lmenu -lncurses</pre>
+        <div class="EXAMPLE">
+          <a name="MMESI" id="MMESI"></a>
+          <p><b>Example 18. Menu Basics</b>
+          </p>
+
+          <pre class="PROGRAMLISTING"><span class=
+          "INLINEMEDIAOBJECT">#include &lt;stdlib.h&gt;
+#include &lt;curses.h&gt;
+#include &lt;menu.h&gt;
 
 #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
-#define CTRLD 	4
+#define CTRLD   4
 
 char *choices[] = {
                         "Choice 1",
@@ -5206,64 +4244,67 @@
                   };
 
 int main()
-{	ITEM **my_items;
-	int c;				
-	MENU *my_menu;
-	int n_choices, i;
-	ITEM *cur_item;
-	
-	
-	initscr();
-	cbreak();
-	noecho();
-	keypad(stdscr, TRUE);
-	
-	n_choices = ARRAY_SIZE(choices);
-	my_items = (ITEM **)calloc(n_choices + 1, sizeof(ITEM *));
+{       ITEM **my_items;
+        int c;                          
+        MENU *my_menu;
+        int n_choices, i;
+        ITEM *cur_item;
+        
+        
+        initscr();
+        cbreak();
+        noecho();
+        keypad(stdscr, TRUE);
+        
+        n_choices = ARRAY_SIZE(choices);
+        my_items = (ITEM **)calloc(n_choices + 1, sizeof(ITEM *));
 
-	for(i = 0; i &#60; n_choices; ++i)
-	        my_items[i] = new_item(choices[i], choices[i]);
-	my_items[n_choices] = (ITEM *)NULL;
+        for(i = 0; i &lt; n_choices; ++i)
+                my_items[i] = new_item(choices[i], choices[i]);
+        my_items[n_choices] = (ITEM *)NULL;
 
-	my_menu = new_menu((ITEM **)my_items);
-	mvprintw(LINES - 2, 0, "F1 to Exit");
-	post_menu(my_menu);
-	refresh();
+        my_menu = new_menu((ITEM **)my_items);
+        mvprintw(LINES - 2, 0, "F1 to Exit");
+        post_menu(my_menu);
+        refresh();
 
-	while((c = getch()) != KEY_F(1))
-	{   switch(c)
-	    {	case KEY_DOWN:
-		        menu_driver(my_menu, REQ_DOWN_ITEM);
-				break;
-			case KEY_UP:
-				menu_driver(my_menu, REQ_UP_ITEM);
-				break;
-		}
-	}	
+        while((c = getch()) != KEY_F(1))
+        {   switch(c)
+            {   case KEY_DOWN:
+                        menu_driver(my_menu, REQ_DOWN_ITEM);
+                                break;
+                        case KEY_UP:
+                                menu_driver(my_menu, REQ_UP_ITEM);
+                                break;
+                }
+        }       
 
-	free_item(my_items[0]);
-	free_item(my_items[1]);
-	free_menu(my_menu);
-	endwin();
+        free_item(my_items[0]);
+        free_item(my_items[1]);
+        free_menu(my_menu);
+        endwin();
 }
-	</SPAN
-></PRE
-></DIV
-><P
->This program demonstrates the basic concepts involved in creating a menu using
-menus library.  First we create the items using new_item() and then attach them
-to the menu with new_menu() function. After posting the menu and refreshing the
-screen, the main processing loop starts. It reads user input and takes
-corresponding action. The function menu_driver() is the main work horse of the
-menu system. The second parameter to this function tells what's to be done with
-the menu. According to the parameter, menu_driver() does the corresponding task.
-The value can be either a menu navigational request, an ascii character, or a
-KEY_MOUSE special key associated with a mouse event.</P
-><P
->The menu_driver accepts following navigational requests. 
-<PRE
-CLASS="PROGRAMLISTING"
->&#13;     REQ_LEFT_ITEM         Move left to an item.
+        </span></pre>
+        </div>
+
+        <p>This program demonstrates the basic concepts involved in
+        creating a menu using menus library. First we create the
+        items using new_item() and then attach them to the menu
+        with new_menu() function. After posting the menu and
+        refreshing the screen, the main processing loop starts. It
+        reads user input and takes corresponding action. The
+        function menu_driver() is the main work horse of the menu
+        system. The second parameter to this function tells what's
+        to be done with the menu. According to the parameter,
+        menu_driver() does the corresponding task. The value can be
+        either a menu navigational request, an ascii character, or
+        a KEY_MOUSE special key associated with a mouse event.</p>
+
+        <p>The menu_driver accepts following navigational
+        requests.</p>
+
+        <pre class=
+        "PROGRAMLISTING">&#13;     REQ_LEFT_ITEM         Move left to an item.
      REQ_RIGHT_ITEM      Move right to an item.
      REQ_UP_ITEM         Move up to an item.
      REQ_DOWN_ITEM       Move down to an item.
@@ -5279,144 +4320,121 @@
      REQ_CLEAR_PATTERN     Clear the menu pattern buffer.
      REQ_BACK_PATTERN      Delete the previous character from the pattern buffer.
      REQ_NEXT_MATCH     Move to the next item matching the pattern match.
-     REQ_PREV_MATCH     Move to the previous item matching the pattern match.&#13;</PRE
-></P
-><P
->Don't get overwhelmed by the number of options. We will see them slowly one
-after another. The options of interest in this example are REQ_UP_ITEM and
-REQ_DOWN_ITEM.  These two options when passed to menu_driver, menu driver
-updates the current item to one item up or down respectively.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="MENUDRIVER"
->17.3. Menu Driver: The work horse of the menu system</A
-></H3
-><P
->As you have seen in the above example, menu_driver plays an important role in
-updating the menu. It is very important to understand various options it takes
-and what they do.  As explained above, the second parameter to menu_driver() can
-be either a navigational request, a printable character or a KEY_MOUSE key.
-Let's dissect the different navigational requests.</P
-><P
-></P
-><UL
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_LEFT_ITEM and REQ_RIGHT_ITEM</I
-></SPAN
-></P
-><P
->A Menu can be displayed with multiple columns for more than one item. This can
-be done by using the <TT
-CLASS="LITERAL"
->menu_format()</TT
->function.
-When a multi columnar menu is displayed these requests cause the menu driver to
-move the current selection to left or right.</P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_UP_ITEM and REQ_DOWN_ITEM </I
-></SPAN
-> </P
-><P
->These two options you have seen in the above example. These options when given,
-makes the menu_driver to move the current selection to an item up or down.</P
-></LI
-><LI
-><P
-> <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_SCR_* options</I
-></SPAN
-> </P
-><P
->The four options REQ_SCR_ULINE, REQ_SCR_DLINE, REQ_SCR_DPAGE, REQ_SCR_UPAGE are
-related to scrolling. If all the items in the menu cannot be displayed in the
-menu sub window, then the menu is scrollable. These requests can be given to the
-menu_driver to do the scrolling either one line up, down or one page down or up
-respectively. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_FIRST_ITEM, REQ_LAST_ITEM, REQ_NEXT_ITEM and
-REQ_PREV_ITEM </I
-></SPAN
-> </P
-><P
->These requests are self explanatory.</P
-></LI
-><LI
-><P
-> <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_TOGGLE_ITEM</I
-></SPAN
-> </P
-><P
->This request when given, toggles the present selection. This option is to be
-used only in a multi valued menu. So to use this request the option O_ONEVALUE
-must be off. This option can be made off or on with set_menu_opts().</P
-></LI
-><LI
-><P
-> <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Pattern Requests </I
-></SPAN
-></P
-><P
->Every menu has an associated pattern buffer, which is used to find the nearest
-match to the ascii characters entered by the user. Whenever ascii characters are
-given to menu_driver, it puts in to the pattern buffer. It also tries to find
-the nearest match to the pattern in the items list and moves current selection
-to that item. The request REQ_CLEAR_PATTERN clears the pattern buffer. The
-request REQ_BACK_PATTERN deletes the previous character in the pattern buffer.
-In case the pattern matches more than one item then the matched items can be
-cycled through REQ_NEXT_MATCH and REQ_PREV_MATCH which move the current
-selection to the next and previous matches respectively.</P
-></LI
-><LI
-><P
-> <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Mouse Requests</I
-></SPAN
-></P
-><P
->In case of KEY_MOUSE requests, according to the mouse position an action is
-taken accordingly. The action to be taken is explained in the man page as, </P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->       If  the  second argument is the KEY_MOUSE special key, the
+     REQ_PREV_MATCH     Move to the previous item matching the pattern match.&#13;</pre>
+        <p>Don't get overwhelmed by the number of options. We will
+        see them slowly one after another. The options of interest
+        in this example are REQ_UP_ITEM and REQ_DOWN_ITEM. These
+        two options when passed to menu_driver, menu driver updates
+        the current item to one item up or down respectively.</p>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="MENUDRIVER" id=
+        "MENUDRIVER">17.3. Menu Driver: The work horse of the menu
+        system</a></h3>
+
+        <p>As you have seen in the above example, menu_driver plays
+        an important role in updating the menu. It is very
+        important to understand various options it takes and what
+        they do. As explained above, the second parameter to
+        menu_driver() can be either a navigational request, a
+        printable character or a KEY_MOUSE key. Let's dissect the
+        different navigational requests.</p>
+
+        <ul>
+          <li>
+            <p><span class="emphasis"><i class=
+            "EMPHASIS">REQ_LEFT_ITEM and REQ_RIGHT_ITEM</i></span>
+            </p>
+
+            <p>A Menu can be displayed with multiple columns for
+            more than one item. This can be done by using the
+            <tt class="LITERAL">menu_format()</tt>function. When a
+            multi columnar menu is displayed these requests cause
+            the menu driver to move the current selection to left
+            or right.</p>
+          </li>
+
+          <li>
+            <p><span class="emphasis"><i class=
+            "EMPHASIS">REQ_UP_ITEM and REQ_DOWN_ITEM</i></span>
+            </p>
+
+            <p>These two options you have seen in the above
+            example. These options when given, makes the
+            menu_driver to move the current selection to an item up
+            or down.</p>
+          </li>
+
+          <li>
+            <p><span class="emphasis"><i class="EMPHASIS">REQ_SCR_*
+            options</i></span>
+            </p>
+
+            <p>The four options REQ_SCR_ULINE, REQ_SCR_DLINE,
+            REQ_SCR_DPAGE, REQ_SCR_UPAGE are related to scrolling.
+            If all the items in the menu cannot be displayed in the
+            menu sub window, then the menu is scrollable. These
+            requests can be given to the menu_driver to do the
+            scrolling either one line up, down or one page down or
+            up respectively.</p>
+          </li>
+
+          <li>
+            <p><span class="emphasis"><i class=
+            "EMPHASIS">REQ_FIRST_ITEM, REQ_LAST_ITEM, REQ_NEXT_ITEM
+            and REQ_PREV_ITEM</i></span>
+            </p>
+
+            <p>These requests are self explanatory.</p>
+          </li>
+
+          <li>
+            <p><span class="emphasis"><i class=
+            "EMPHASIS">REQ_TOGGLE_ITEM</i></span>
+            </p>
+
+            <p>This request when given, toggles the present
+            selection. This option is to be used only in a multi
+            valued menu. So to use this request the option
+            O_ONEVALUE must be off. This option can be made off or
+            on with set_menu_opts().</p>
+          </li>
+
+          <li>
+            <p><span class="emphasis"><i class="EMPHASIS">Pattern
+            Requests</i></span>
+            </p>
+
+            <p>Every menu has an associated pattern buffer, which
+            is used to find the nearest match to the ascii
+            characters entered by the user. Whenever ascii
+            characters are given to menu_driver, it puts in to the
+            pattern buffer. It also tries to find the nearest match
+            to the pattern in the items list and moves current
+            selection to that item. The request REQ_CLEAR_PATTERN
+            clears the pattern buffer. The request REQ_BACK_PATTERN
+            deletes the previous character in the pattern buffer.
+            In case the pattern matches more than one item then the
+            matched items can be cycled through REQ_NEXT_MATCH and
+            REQ_PREV_MATCH which move the current selection to the
+            next and previous matches respectively.</p>
+          </li>
+
+          <li>
+            <p><span class="emphasis"><i class="EMPHASIS">Mouse
+            Requests</i></span>
+            </p>
+
+            <p>In case of KEY_MOUSE requests, according to the
+            mouse position an action is taken accordingly. The
+            action to be taken is explained in the man page as,</p>
+
+            <pre class="PROGRAMLISTING"><span class=
+            "emphasis"><i class=
+            "EMPHASIS">       If  the  second argument is the KEY_MOUSE special key, the
        associated mouse event is translated into one of the above
        pre-defined  requests.   Currently only clicks in the user
        window (e.g. inside the menu display area or  the  decora&shy;
@@ -5428,49 +4446,44 @@
        generated, if you doubleclick a REQ_SCR_DPAGE is generated
        and  if  you  tripleclick a REQ_LAST_ITEM is generated. If
        you click at an item inside the display area of the  menu,
-       the menu cursor is positioned to that item.</I
-></SPAN
-></PRE
-></LI
-></UL
-><P
->Each of the above requests will be explained in the following lines with several
-examples whenever appropriate.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="MENUWINDOWS"
->17.4. Menu Windows</A
-></H3
-><P
->Every menu created is associated with a window and a sub window. The menu window
-displays any title or border associated with the menu. The menu sub window
-displays the menu items currently available for selection. But we didn't specify
-any window or sub window in the simple example. When a window is not specified,
-stdscr is taken as the main window, and then menu system calculates the sub
-window size required for the display of items. Then items are displayed in the
-calculated sub window. So let's play with these windows and display a menu with
-a border and a title.</P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="MMEWI"
-></A
-><P
-><B
->Example 19.  Menu Windows Usage example </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;menu.h&#62;
+       the menu cursor is positioned to that item.</i></span></pre>
+          </li>
+        </ul>
+
+        <p>Each of the above requests will be explained in the
+        following lines with several examples whenever
+        appropriate.</p>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="MENUWINDOWS" id=
+        "MENUWINDOWS">17.4. Menu Windows</a></h3>
+
+        <p>Every menu created is associated with a window and a sub
+        window. The menu window displays any title or border
+        associated with the menu. The menu sub window displays the
+        menu items currently available for selection. But we didn't
+        specify any window or sub window in the simple example.
+        When a window is not specified, stdscr is taken as the main
+        window, and then menu system calculates the sub window size
+        required for the display of items. Then items are displayed
+        in the calculated sub window. So let's play with these
+        windows and display a menu with a border and a title.</p>
+
+        <div class="EXAMPLE">
+          <a name="MMEWI" id="MMEWI"></a>
+          <p><b>Example 19. Menu Windows Usage example</b>
+          </p>
+
+          <pre class="PROGRAMLISTING"><span class=
+          "INLINEMEDIAOBJECT">#include &lt;stdlib.h&gt;
+#include &lt;string.h&gt;
+#include &lt;menu.h&gt;
 
 #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
-#define CTRLD 	4
+#define CTRLD   4
 
 char *choices[] = {
                         "Choice 1",
@@ -5483,403 +4496,397 @@
 void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string, chtype color);
 
 int main()
-{	ITEM **my_items;
-	int c;				
-	MENU *my_menu;
+{       ITEM **my_items;
+        int c;                          
+        MENU *my_menu;
         WINDOW *my_menu_win;
         int n_choices, i;
-	
-	/* Initialize curses */
-	initscr();
-	start_color();
+        
+        /* Initialize curses */
+        initscr();
+        start_color();
         cbreak();
         noecho();
-	keypad(stdscr, TRUE);
-	init_pair(1, COLOR_RED, COLOR_BLACK);
+        keypad(stdscr, TRUE);
+        init_pair(1, COLOR_RED, COLOR_BLACK);
 
-	/* Create items */
+        /* Create items */
         n_choices = ARRAY_SIZE(choices);
         my_items = (ITEM **)calloc(n_choices, sizeof(ITEM *));
-        for(i = 0; i &#60; n_choices; ++i)
+        for(i = 0; i &lt; n_choices; ++i)
                 my_items[i] = new_item(choices[i], choices[i]);
 
-	/* Crate menu */
-	my_menu = new_menu((ITEM **)my_items);
+        /* Create menu */
+        my_menu = new_menu((ITEM **)my_items);
 
-	/* Create the window to be associated with the menu */
+        /* Create the window to be associated with the menu */
         my_menu_win = newwin(10, 40, 4, 4);
         keypad(my_menu_win, TRUE);
      
-	/* Set main window and sub window */
+        /* Set main window and sub window */
         set_menu_win(my_menu, my_menu_win);
         set_menu_sub(my_menu, derwin(my_menu_win, 6, 38, 3, 1));
 
-	/* Set menu mark to the string " * " */
+        /* Set menu mark to the string " * " */
         set_menu_mark(my_menu, " * ");
 
-	/* Print a border around the main window and print a title */
+        /* Print a border around the main window and print a title */
         box(my_menu_win, 0, 0);
-	print_in_middle(my_menu_win, 1, 0, 40, "My Menu", COLOR_PAIR(1));
-	mvwaddch(my_menu_win, 2, 0, ACS_LTEE);
-	mvwhline(my_menu_win, 2, 1, ACS_HLINE, 38);
-	mvwaddch(my_menu_win, 2, 39, ACS_RTEE);
-	mvprintw(LINES - 2, 0, "F1 to exit");
-	refresh();
+        print_in_middle(my_menu_win, 1, 0, 40, "My Menu", COLOR_PAIR(1));
+        mvwaddch(my_menu_win, 2, 0, ACS_LTEE);
+        mvwhline(my_menu_win, 2, 1, ACS_HLINE, 38);
+        mvwaddch(my_menu_win, 2, 39, ACS_RTEE);
+        mvprintw(LINES - 2, 0, "F1 to exit");
+        refresh();
         
-	/* Post the menu */
-	post_menu(my_menu);
-	wrefresh(my_menu_win);
+        /* Post the menu */
+        post_menu(my_menu);
+        wrefresh(my_menu_win);
 
-	while((c = wgetch(my_menu_win)) != KEY_F(1))
-	{       switch(c)
-	        {	case KEY_DOWN:
-				menu_driver(my_menu, REQ_DOWN_ITEM);
-				break;
-			case KEY_UP:
-				menu_driver(my_menu, REQ_UP_ITEM);
-				break;
-		}
+        while((c = wgetch(my_menu_win)) != KEY_F(1))
+        {       switch(c)
+                {       case KEY_DOWN:
+                                menu_driver(my_menu, REQ_DOWN_ITEM);
+                                break;
+                        case KEY_UP:
+                                menu_driver(my_menu, REQ_UP_ITEM);
+                                break;
+                }
                 wrefresh(my_menu_win);
-	}	
+        }       
 
-	/* Unpost and free all the memory taken up */
+        /* Unpost and free all the memory taken up */
         unpost_menu(my_menu);
         free_menu(my_menu);
-        for(i = 0; i &#60; n_choices; ++i)
+        for(i = 0; i &lt; n_choices; ++i)
                 free_item(my_items[i]);
-	endwin();
+        endwin();
 }
 
 void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string, chtype color)
-{	int length, x, y;
-	float temp;
+{       int length, x, y;
+        float temp;
 
-	if(win == NULL)
-		win = stdscr;
-	getyx(win, y, x);
-	if(startx != 0)
-		x = startx;
-	if(starty != 0)
-		y = starty;
-	if(width == 0)
-		width = 80;
+        if(win == NULL)
+                win = stdscr;
+        getyx(win, y, x);
+        if(startx != 0)
+                x = startx;
+        if(starty != 0)
+                y = starty;
+        if(width == 0)
+                width = 80;
 
-	length = strlen(string);
-	temp = (width - length)/ 2;
-	x = startx + (int)temp;
-	wattron(win, color);
-	mvwprintw(win, y, x, "%s", string);
-	wattroff(win, color);
-	refresh();
-}</SPAN
-></PRE
-></DIV
-><P
->This example creates a menu with a title, border, a fancy line separating title
-and the items. As you can see, in order to attach a window to a menu the
-function set_menu_win() has to be used. Then we attach the sub window also. This
-displays the items in the sub window.  You can also set the mark string which
-gets displayed to the left of the selected item with set_menu_mark().</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="SCROLLMENUS"
->17.5. Scrolling Menus</A
-></H3
-><P
->If the sub window given for a window is not big enough to show all the items,
-then the menu will be scrollable. When you are on the last item in the present
-list, if you send REQ_DOWN_ITEM, it gets translated into REQ_SCR_DLINE and the
-menu scrolls by one item.  You can manually give REQ_SCR_ operations to do
-scrolling. Let's see how it can be done.</P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="MMESC"
-></A
-><P
-><B
->Example 20.  Scrolling Menus example </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;curses.h&#62;
-#include &#60;menu.h&#62;
+        length = strlen(string);
+        temp = (width - length)/ 2;
+        x = startx + (int)temp;
+        wattron(win, color);
+        mvwprintw(win, y, x, "%s", string);
+        wattroff(win, color);
+        refresh();
+}</span></pre>
+        </div>
+
+        <p>This example creates a menu with a title, border, a
+        fancy line separating title and the items. As you can see,
+        in order to attach a window to a menu the function
+        set_menu_win() has to be used. Then we attach the sub
+        window also. This displays the items in the sub window. You
+        can also set the mark string which gets displayed to the
+        left of the selected item with set_menu_mark().</p>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="SCROLLMENUS" id=
+        "SCROLLMENUS">17.5. Scrolling Menus</a></h3>
+
+        <p>If the sub window given for a window is not big enough
+        to show all the items, then the menu will be scrollable.
+        When you are on the last item in the present list, if you
+        send REQ_DOWN_ITEM, it gets translated into REQ_SCR_DLINE
+        and the menu scrolls by one item. You can manually give
+        REQ_SCR_ operations to do scrolling. Let's see how it can
+        be done.</p>
+
+        <div class="EXAMPLE">
+          <a name="MMESC" id="MMESC"></a>
+          <p><b>Example 20. Scrolling Menus example</b>
+          </p>
+
+          <pre class="PROGRAMLISTING"><span class=
+          "INLINEMEDIAOBJECT">#include &lt;stdlib.h&gt;
+#include &lt;string.h&gt;
+#include &lt;curses.h&gt;
+#include &lt;menu.h&gt;
 
 #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
-#define CTRLD 	4
+#define CTRLD   4
 
 char *choices[] = {
                         "Choice 1",
                         "Choice 2",
                         "Choice 3",
                         "Choice 4",
-			"Choice 5",
-			"Choice 6",
-			"Choice 7",
-			"Choice 8",
-			"Choice 9",
-			"Choice 10",
+                        "Choice 5",
+                        "Choice 6",
+                        "Choice 7",
+                        "Choice 8",
+                        "Choice 9",
+                        "Choice 10",
                         "Exit",
                         (char *)NULL,
                   };
 void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string, chtype color);
 
 int main()
-{	ITEM **my_items;
-	int c;				
-	MENU *my_menu;
+{       ITEM **my_items;
+        int c;                          
+        MENU *my_menu;
         WINDOW *my_menu_win;
         int n_choices, i;
-	
-	/* Initialize curses */
-	initscr();
-	start_color();
+        
+        /* Initialize curses */
+        initscr();
+        start_color();
         cbreak();
         noecho();
-	keypad(stdscr, TRUE);
-	init_pair(1, COLOR_RED, COLOR_BLACK);
-	init_pair(2, COLOR_CYAN, COLOR_BLACK);
+        keypad(stdscr, TRUE);
+        init_pair(1, COLOR_RED, COLOR_BLACK);
+        init_pair(2, COLOR_CYAN, COLOR_BLACK);
 
-	/* Create items */
+        /* Create items */
         n_choices = ARRAY_SIZE(choices);
         my_items = (ITEM **)calloc(n_choices, sizeof(ITEM *));
-        for(i = 0; i &#60; n_choices; ++i)
+        for(i = 0; i &lt; n_choices; ++i)
                 my_items[i] = new_item(choices[i], choices[i]);
 
-	/* Crate menu */
-	my_menu = new_menu((ITEM **)my_items);
+        /* Create menu */
+        my_menu = new_menu((ITEM **)my_items);
 
-	/* Create the window to be associated with the menu */
+        /* Create the window to be associated with the menu */
         my_menu_win = newwin(10, 40, 4, 4);
         keypad(my_menu_win, TRUE);
      
-	/* Set main window and sub window */
+        /* Set main window and sub window */
         set_menu_win(my_menu, my_menu_win);
         set_menu_sub(my_menu, derwin(my_menu_win, 6, 38, 3, 1));
-	set_menu_format(my_menu, 5, 1);
-			
-	/* Set menu mark to the string " * " */
+        set_menu_format(my_menu, 5, 1);
+                        
+        /* Set menu mark to the string " * " */
         set_menu_mark(my_menu, " * ");
 
-	/* Print a border around the main window and print a title */
+        /* Print a border around the main window and print a title */
         box(my_menu_win, 0, 0);
-	print_in_middle(my_menu_win, 1, 0, 40, "My Menu", COLOR_PAIR(1));
-	mvwaddch(my_menu_win, 2, 0, ACS_LTEE);
-	mvwhline(my_menu_win, 2, 1, ACS_HLINE, 38);
-	mvwaddch(my_menu_win, 2, 39, ACS_RTEE);
+        print_in_middle(my_menu_win, 1, 0, 40, "My Menu", COLOR_PAIR(1));
+        mvwaddch(my_menu_win, 2, 0, ACS_LTEE);
+        mvwhline(my_menu_win, 2, 1, ACS_HLINE, 38);
+        mvwaddch(my_menu_win, 2, 39, ACS_RTEE);
         
-	/* Post the menu */
-	post_menu(my_menu);
-	wrefresh(my_menu_win);
-	
-	attron(COLOR_PAIR(2));
-	mvprintw(LINES - 2, 0, "Use PageUp and PageDown to scoll down or up a page of items");
-	mvprintw(LINES - 1, 0, "Arrow Keys to navigate (F1 to Exit)");
-	attroff(COLOR_PAIR(2));
-	refresh();
+        /* Post the menu */
+        post_menu(my_menu);
+        wrefresh(my_menu_win);
+        
+        attron(COLOR_PAIR(2));
+        mvprintw(LINES - 2, 0, "Use PageUp and PageDown to scroll down or up a page of items");
+        mvprintw(LINES - 1, 0, "Arrow Keys to navigate (F1 to Exit)");
+        attroff(COLOR_PAIR(2));
+        refresh();
 
-	while((c = wgetch(my_menu_win)) != KEY_F(1))
-	{       switch(c)
-	        {	case KEY_DOWN:
-				menu_driver(my_menu, REQ_DOWN_ITEM);
-				break;
-			case KEY_UP:
-				menu_driver(my_menu, REQ_UP_ITEM);
-				break;
-			case KEY_NPAGE:
-				menu_driver(my_menu, REQ_SCR_DPAGE);
-				break;
-			case KEY_PPAGE:
-				menu_driver(my_menu, REQ_SCR_UPAGE);
-				break;
-		}
+        while((c = wgetch(my_menu_win)) != KEY_F(1))
+        {       switch(c)
+                {       case KEY_DOWN:
+                                menu_driver(my_menu, REQ_DOWN_ITEM);
+                                break;
+                        case KEY_UP:
+                                menu_driver(my_menu, REQ_UP_ITEM);
+                                break;
+                        case KEY_NPAGE:
+                                menu_driver(my_menu, REQ_SCR_DPAGE);
+                                break;
+                        case KEY_PPAGE:
+                                menu_driver(my_menu, REQ_SCR_UPAGE);
+                                break;
+                }
                 wrefresh(my_menu_win);
-	}	
+        }       
 
-	/* Unpost and free all the memory taken up */
+        /* Unpost and free all the memory taken up */
         unpost_menu(my_menu);
         free_menu(my_menu);
-        for(i = 0; i &#60; n_choices; ++i)
+        for(i = 0; i &lt; n_choices; ++i)
                 free_item(my_items[i]);
-	endwin();
+        endwin();
 }
 
 void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string, chtype color)
-{	int length, x, y;
-	float temp;
+{       int length, x, y;
+        float temp;
 
-	if(win == NULL)
-		win = stdscr;
-	getyx(win, y, x);
-	if(startx != 0)
-		x = startx;
-	if(starty != 0)
-		y = starty;
-	if(width == 0)
-		width = 80;
+        if(win == NULL)
+                win = stdscr;
+        getyx(win, y, x);
+        if(startx != 0)
+                x = startx;
+        if(starty != 0)
+                y = starty;
+        if(width == 0)
+                width = 80;
 
-	length = strlen(string);
-	temp = (width - length)/ 2;
-	x = startx + (int)temp;
-	wattron(win, color);
-	mvwprintw(win, y, x, "%s", string);
-	wattroff(win, color);
-	refresh();
-}</SPAN
-></PRE
-></DIV
-><P
->This program is self-explanatory. In this example the number of choices has been
-increased to ten, which is larger than our sub window size which can hold 6
-items.  This message has to be explicitly conveyed to the menu system with the
-function set_menu_format(). In here we specify the number of rows and columns we
-want to be displayed for a single page. We can specify any number of items to be
-shown, in the rows variables, if it is less than the height of the sub window.
-If the key pressed by the user is a PAGE UP or PAGE DOWN, the menu is scrolled a
-page due to the requests (REQ_SCR_DPAGE and REQ_SCR_UPAGE) given to
-menu_driver().</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="MULTICOLUMN"
->17.6. Multi Columnar Menus</A
-></H3
-><P
->In the above example you have seen how to use the function set_menu_format(). I
-didn't mention what the cols variable (third parameter) does. Well, If your sub
-window is wide enough, you can opt to display more than one item per row. This
-can be specified in the cols variable. To make things simpler, the following
-example doesn't show descriptions for the items.</P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="MMEMUCO"
-></A
-><P
-><B
->Example 21.  Milt Columnar Menus Example </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;curses.h&#62;
-#include &#60;menu.h&#62;
+        length = strlen(string);
+        temp = (width - length)/ 2;
+        x = startx + (int)temp;
+        wattron(win, color);
+        mvwprintw(win, y, x, "%s", string);
+        wattroff(win, color);
+        refresh();
+}</span></pre>
+        </div>
+
+        <p>This program is self-explanatory. In this example the
+        number of choices has been increased to ten, which is
+        larger than our sub window size which can hold 6 items.
+        This message has to be explicitly conveyed to the menu
+        system with the function set_menu_format(). In here we
+        specify the number of rows and columns we want to be
+        displayed for a single page. We can specify any number of
+        items to be shown, in the rows variables, if it is less
+        than the height of the sub window. If the key pressed by
+        the user is a PAGE UP or PAGE DOWN, the menu is scrolled a
+        page due to the requests (REQ_SCR_DPAGE and REQ_SCR_UPAGE)
+        given to menu_driver().</p>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="MULTICOLUMN" id=
+        "MULTICOLUMN">17.6. Multi Columnar Menus</a></h3>
+
+        <p>In the above example you have seen how to use the
+        function set_menu_format(). I didn't mention what the cols
+        variable (third parameter) does. Well, If your sub window
+        is wide enough, you can opt to display more than one item
+        per row. This can be specified in the cols variable. To
+        make things simpler, the following example doesn't show
+        descriptions for the items.</p>
+
+        <div class="EXAMPLE">
+          <a name="MMEMUCO" id="MMEMUCO"></a>
+          <p><b>Example 21. Milt Columnar Menus Example</b>
+          </p>
+
+          <pre class="PROGRAMLISTING"><span class=
+          "INLINEMEDIAOBJECT">#include &lt;stdlib.h&gt;
+#include &lt;curses.h&gt;
+#include &lt;menu.h&gt;
 
 #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
-#define CTRLD 	4
+#define CTRLD   4
 
 char *choices[] = {
                         "Choice 1", "Choice 2", "Choice 3", "Choice 4", "Choice 5",
-			"Choice 6", "Choice 7", "Choice 8", "Choice 9", "Choice 10",
-			"Choice 11", "Choice 12", "Choice 13", "Choice 14", "Choice 15",
-			"Choice 16", "Choice 17", "Choice 18", "Choice 19", "Choice 20",
+                        "Choice 6", "Choice 7", "Choice 8", "Choice 9", "Choice 10",
+                        "Choice 11", "Choice 12", "Choice 13", "Choice 14", "Choice 15",
+                        "Choice 16", "Choice 17", "Choice 18", "Choice 19", "Choice 20",
                         "Exit",
                         (char *)NULL,
                   };
 
 int main()
-{	ITEM **my_items;
-	int c;				
-	MENU *my_menu;
+{       ITEM **my_items;
+        int c;                          
+        MENU *my_menu;
         WINDOW *my_menu_win;
         int n_choices, i;
-	
-	/* Initialize curses */
-	initscr();
-	start_color();
+        
+        /* Initialize curses */
+        initscr();
+        start_color();
         cbreak();
         noecho();
-	keypad(stdscr, TRUE);
-	init_pair(1, COLOR_RED, COLOR_BLACK);
-	init_pair(2, COLOR_CYAN, COLOR_BLACK);
+        keypad(stdscr, TRUE);
+        init_pair(1, COLOR_RED, COLOR_BLACK);
+        init_pair(2, COLOR_CYAN, COLOR_BLACK);
 
-	/* Create items */
+        /* Create items */
         n_choices = ARRAY_SIZE(choices);
         my_items = (ITEM **)calloc(n_choices, sizeof(ITEM *));
-        for(i = 0; i &#60; n_choices; ++i)
+        for(i = 0; i &lt; n_choices; ++i)
                 my_items[i] = new_item(choices[i], choices[i]);
 
-	/* Crate menu */
-	my_menu = new_menu((ITEM **)my_items);
+        /* Create menu */
+        my_menu = new_menu((ITEM **)my_items);
 
-	/* Set menu option not to show the description */
-	menu_opts_off(my_menu, O_SHOWDESC);
+        /* Set menu option not to show the description */
+        menu_opts_off(my_menu, O_SHOWDESC);
 
-	/* Create the window to be associated with the menu */
+        /* Create the window to be associated with the menu */
         my_menu_win = newwin(10, 70, 4, 4);
         keypad(my_menu_win, TRUE);
      
-	/* Set main window and sub window */
+        /* Set main window and sub window */
         set_menu_win(my_menu, my_menu_win);
         set_menu_sub(my_menu, derwin(my_menu_win, 6, 68, 3, 1));
-	set_menu_format(my_menu, 5, 3);
-	set_menu_mark(my_menu, " * ");
+        set_menu_format(my_menu, 5, 3);
+        set_menu_mark(my_menu, " * ");
 
-	/* Print a border around the main window and print a title */
+        /* Print a border around the main window and print a title */
         box(my_menu_win, 0, 0);
-	
-	attron(COLOR_PAIR(2));
-	mvprintw(LINES - 3, 0, "Use PageUp and PageDown to scroll");
-	mvprintw(LINES - 2, 0, "Use Arrow Keys to navigate (F1 to Exit)");
-	attroff(COLOR_PAIR(2));
-	refresh();
+        
+        attron(COLOR_PAIR(2));
+        mvprintw(LINES - 3, 0, "Use PageUp and PageDown to scroll");
+        mvprintw(LINES - 2, 0, "Use Arrow Keys to navigate (F1 to Exit)");
+        attroff(COLOR_PAIR(2));
+        refresh();
 
-	/* Post the menu */
-	post_menu(my_menu);
-	wrefresh(my_menu_win);
-	
-	while((c = wgetch(my_menu_win)) != KEY_F(1))
-	{       switch(c)
-	        {	case KEY_DOWN:
-				menu_driver(my_menu, REQ_DOWN_ITEM);
-				break;
-			case KEY_UP:
-				menu_driver(my_menu, REQ_UP_ITEM);
-				break;
-			case KEY_LEFT:
-				menu_driver(my_menu, REQ_LEFT_ITEM);
-				break;
-			case KEY_RIGHT:
-				menu_driver(my_menu, REQ_RIGHT_ITEM);
-				break;
-			case KEY_NPAGE:
-				menu_driver(my_menu, REQ_SCR_DPAGE);
-				break;
-			case KEY_PPAGE:
-				menu_driver(my_menu, REQ_SCR_UPAGE);
-				break;
-		}
+        /* Post the menu */
+        post_menu(my_menu);
+        wrefresh(my_menu_win);
+        
+        while((c = wgetch(my_menu_win)) != KEY_F(1))
+        {       switch(c)
+                {       case KEY_DOWN:
+                                menu_driver(my_menu, REQ_DOWN_ITEM);
+                                break;
+                        case KEY_UP:
+                                menu_driver(my_menu, REQ_UP_ITEM);
+                                break;
+                        case KEY_LEFT:
+                                menu_driver(my_menu, REQ_LEFT_ITEM);
+                                break;
+                        case KEY_RIGHT:
+                                menu_driver(my_menu, REQ_RIGHT_ITEM);
+                                break;
+                        case KEY_NPAGE:
+                                menu_driver(my_menu, REQ_SCR_DPAGE);
+                                break;
+                        case KEY_PPAGE:
+                                menu_driver(my_menu, REQ_SCR_UPAGE);
+                                break;
+                }
                 wrefresh(my_menu_win);
-	}	
+        }       
 
-	/* Unpost and free all the memory taken up */
+        /* Unpost and free all the memory taken up */
         unpost_menu(my_menu);
         free_menu(my_menu);
-        for(i = 0; i &#60; n_choices; ++i)
+        for(i = 0; i &lt; n_choices; ++i)
                 free_item(my_items[i]);
-	endwin();
-}</SPAN
-></PRE
-></DIV
-><P
->Watch the function call to set_menu_format(). It specifies the number of columns
-to be 3, thus displaying 3 items per row. We have also switched off the showing
-descriptions with the function menu_opts_off(). There are couple of functions
-set_menu_opts(),  menu_opts_on() and menu_opts() which can be used to manipulate
-menu options. The following menu options can be specified.</P
-><PRE
-CLASS="PROGRAMLISTING"
->       O_ONEVALUE
+        endwin();
+}</span></pre>
+        </div>
+
+        <p>Watch the function call to set_menu_format(). It
+        specifies the number of columns to be 3, thus displaying 3
+        items per row. We have also switched off the showing
+        descriptions with the function menu_opts_off(). There are
+        couple of functions set_menu_opts(), menu_opts_on() and
+        menu_opts() which can be used to manipulate menu options.
+        The following menu options can be specified.</p>
+
+        <pre class="PROGRAMLISTING">       O_ONEVALUE
             Only one item can be selected for this menu.
 
        O_SHOWDESC
@@ -5898,684 +4905,663 @@
 
        O_NONCYCLIC
             Don't   wrap   around  next-item  and  previous-item,
-            requests to the other end of the menu.</PRE
-><P
->All options are on by default. You can switch specific attributes on or off with
-menu_opts_on() and menu_opts_off() functions. You can also use set_menu_opts()
-to directly specify the options. The argument to this function should be a OR ed
-value of some of those above constants. The function menu_opts() can be used to
-find out a menu's present options. </P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="MULTIVALUEMENUS"
->17.7. Multi Valued Menus</A
-></H3
-><P
->You might be wondering what if you switch off the option O_ONEVALUE. Then the
-menu becomes multi-valued. That means you can select more than one item. This
-brings us to the request REQ_TOGGLE_ITEM. Let's see it in action.</P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="MMETO"
-></A
-><P
-><B
->Example 22.  Multi Valued Menus example </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;curses.h&#62;
-#include &#60;menu.h&#62;
+            requests to the other end of the menu.</pre>
+        <p>All options are on by default. You can switch specific
+        attributes on or off with menu_opts_on() and
+        menu_opts_off() functions. You can also use set_menu_opts()
+        to directly specify the options. The argument to this
+        function should be a OR ed value of some of those above
+        constants. The function menu_opts() can be used to find out
+        a menu's present options.</p>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="MULTIVALUEMENUS" id=
+        "MULTIVALUEMENUS">17.7. Multi Valued Menus</a></h3>
+
+        <p>You might be wondering what if you switch off the option
+        O_ONEVALUE. Then the menu becomes multi-valued. That means
+        you can select more than one item. This brings us to the
+        request REQ_TOGGLE_ITEM. Let's see it in action.</p>
+
+        <div class="EXAMPLE">
+          <a name="MMETO" id="MMETO"></a>
+          <p><b>Example 22. Multi Valued Menus example</b>
+          </p>
+
+          <pre class="PROGRAMLISTING"><span class=
+          "INLINEMEDIAOBJECT">#include &lt;stdlib.h&gt;
+#include &lt;string.h&gt;
+#include &lt;curses.h&gt;
+#include &lt;menu.h&gt;
 
 #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
-#define CTRLD 	4
+#define CTRLD   4
 
 char *choices[] = {
                         "Choice 1",
                         "Choice 2",
                         "Choice 3",
                         "Choice 4",
-			"Choice 5",
-			"Choice 6",
-			"Choice 7",
+                        "Choice 5",
+                        "Choice 6",
+                        "Choice 7",
                         "Exit",
                   };
 
 int main()
-{	ITEM **my_items;
-	int c;				
-	MENU *my_menu;
+{       ITEM **my_items;
+        int c;                          
+        MENU *my_menu;
         int n_choices, i;
-	ITEM *cur_item;
-	
-	/* Initialize curses */	
-	initscr();
+        ITEM *cur_item;
+        
+        /* Initialize curses */ 
+        initscr();
         cbreak();
         noecho();
-	keypad(stdscr, TRUE);
+        keypad(stdscr, TRUE);
 
-	/* Initialize items */
+        /* Initialize items */
         n_choices = ARRAY_SIZE(choices);
         my_items = (ITEM **)calloc(n_choices + 1, sizeof(ITEM *));
-        for(i = 0; i &#60; n_choices; ++i)
+        for(i = 0; i &lt; n_choices; ++i)
                 my_items[i] = new_item(choices[i], choices[i]);
-	my_items[n_choices] = (ITEM *)NULL;
+        my_items[n_choices] = (ITEM *)NULL;
 
-	my_menu = new_menu((ITEM **)my_items);
+        my_menu = new_menu((ITEM **)my_items);
 
-	/* Make the menu multi valued */
-	menu_opts_off(my_menu, O_ONEVALUE);
+        /* Make the menu multi valued */
+        menu_opts_off(my_menu, O_ONEVALUE);
 
-	mvprintw(LINES - 3, 0, "Use &#60;SPACE&#62; to select or unselect an item.");
-	mvprintw(LINES - 2, 0, "&#60;ENTER&#62; to see presently selected items(F1 to Exit)");
-	post_menu(my_menu);
-	refresh();
+        mvprintw(LINES - 3, 0, "Use &lt;SPACE&gt; to select or unselect an item.");
+        mvprintw(LINES - 2, 0, "&lt;ENTER&gt; to see presently selected items(F1 to Exit)");
+        post_menu(my_menu);
+        refresh();
 
-	while((c = getch()) != KEY_F(1))
-	{       switch(c)
-	        {	case KEY_DOWN:
-				menu_driver(my_menu, REQ_DOWN_ITEM);
-				break;
-			case KEY_UP:
-				menu_driver(my_menu, REQ_UP_ITEM);
-				break;
-			case ' ':
-				menu_driver(my_menu, REQ_TOGGLE_ITEM);
-				break;
-			case 10:	/* Enter */
-			{	char temp[200];
-				ITEM **items;
+        while((c = getch()) != KEY_F(1))
+        {       switch(c)
+                {       case KEY_DOWN:
+                                menu_driver(my_menu, REQ_DOWN_ITEM);
+                                break;
+                        case KEY_UP:
+                                menu_driver(my_menu, REQ_UP_ITEM);
+                                break;
+                        case ' ':
+                                menu_driver(my_menu, REQ_TOGGLE_ITEM);
+                                break;
+                        case 10:        /* Enter */
+                        {       char temp[200];
+                                ITEM **items;
 
-				items = menu_items(my_menu);
-				temp[0] = '\0';
-				for(i = 0; i &#60; item_count(my_menu); ++i)
-					if(item_value(items[i]) == TRUE)
-					{	strcat(temp, item_name(items[i]));
-						strcat(temp, " ");
-					}
-				move(20, 0);
-				clrtoeol();
-				mvprintw(20, 0, temp);
-				refresh();
-			}
-			break;
-		}
-	}	
+                                items = menu_items(my_menu);
+                                temp[0] = '\0';
+                                for(i = 0; i &lt; item_count(my_menu); ++i)
+                                        if(item_value(items[i]) == TRUE)
+                                        {       strcat(temp, item_name(items[i]));
+                                                strcat(temp, " ");
+                                        }
+                                move(20, 0);
+                                clrtoeol();
+                                mvprintw(20, 0, temp);
+                                refresh();
+                        }
+                        break;
+                }
+        }       
 
-	free_item(my_items[0]);
+        free_item(my_items[0]);
         free_item(my_items[1]);
-	free_menu(my_menu);
-	endwin();
+        free_menu(my_menu);
+        endwin();
 }
-	</SPAN
-></PRE
-></DIV
-><P
->Whew, A lot of new functions. Let's take them one after another. Firstly, the
-REQ_TOGGLE_ITEM.  In a multi-valued menu, the user should be allowed to select
-or un select more than one item. The request REQ_TOGGLE_ITEM toggles the present
-selection. In this case when space is pressed REQ_TOGGLE_ITEM request is sent to
-menu_driver to achieve the result.</P
-><P
->Now when the user presses &lt;ENTER&gt; we show the items he presently selected.
-First we find out the items associated with the menu using the function
-menu_items(). Then we loop through the items to find out if the item is selected
-or not. The function item_value() returns TRUE if an item is selected. The
-function item_count() returns the number of items in the menu. The item name can
-be found with item_name(). You can also find the description associated with an
-item using item_description().</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="MENUOPT"
->17.8. Menu Options</A
-></H3
-><P
->Well, by this time you must be itching for some difference in your menu, with
-lots of functionality. I know. You want Colors !!!. You want to create nice
-menus similar to those text mode <A
-HREF="http://www.jersey.net/~debinjoe/games/"
-TARGET="_top"
->dos games</A
->. The functions
-set_menu_fore() and set_menu_back() can be used to change the attribute of the
-selected item and unselected item. The names are misleading. They don't change
-menu's foreground or background which would have been useless. </P
-><P
->The function set_menu_grey() can be used to set the display attribute for the
-non-selectable items in the menu. This brings us to the interesting option for
-an item the one and only O_SELECTABLE. We can turn it off by the function
-item_opts_off() and after that that item is not selectable. It's like a grayed
-item in those fancy windows menus. Let's put these concepts in practice with
-this example</P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="MMEAT"
-></A
-><P
-><B
->Example 23.  Menu Options example </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;menu.h&#62;
+        </span></pre>
+        </div>
+
+        <p>Whew, A lot of new functions. Let's take them one after
+        another. Firstly, the REQ_TOGGLE_ITEM. In a multi-valued
+        menu, the user should be allowed to select or un select
+        more than one item. The request REQ_TOGGLE_ITEM toggles the
+        present selection. In this case when space is pressed
+        REQ_TOGGLE_ITEM request is sent to menu_driver to achieve
+        the result.</p>
+
+        <p>Now when the user presses &lt;ENTER&gt; we show the
+        items he presently selected. First we find out the items
+        associated with the menu using the function menu_items().
+        Then we loop through the items to find out if the item is
+        selected or not. The function item_value() returns TRUE if
+        an item is selected. The function item_count() returns the
+        number of items in the menu. The item name can be found
+        with item_name(). You can also find the description
+        associated with an item using item_description().</p>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="MENUOPT" id="MENUOPT">17.8. Menu
+        Options</a></h3>
+
+        <p>Well, by this time you must be itching for some
+        difference in your menu, with lots of functionality. I
+        know. You want Colors !!!. You want to create nice menus
+        similar to those text mode <a href=
+        "http://www.jersey.net/~debinjoe/games/" target="_top">dos
+        games</a>. The functions set_menu_fore() and
+        set_menu_back() can be used to change the attribute of the
+        selected item and unselected item. The names are
+        misleading. They don't change menu's foreground or
+        background which would have been useless.</p>
+
+        <p>The function set_menu_grey() can be used to set the
+        display attribute for the non-selectable items in the menu.
+        This brings us to the interesting option for an item the
+        one and only O_SELECTABLE. We can turn it off by the
+        function item_opts_off() and after that that item is not
+        selectable. It is like a grayed item in those fancy windows
+        menus. Let's put these concepts in practice with this
+        example</p>
+
+        <div class="EXAMPLE">
+          <a name="MMEAT" id="MMEAT"></a>
+          <p><b>Example 23. Menu Options example</b>
+          </p>
+
+          <pre class="PROGRAMLISTING"><span class=
+          "INLINEMEDIAOBJECT">#include &lt;stdlib.h&gt;
+#include &lt;menu.h&gt;
 
 #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
-#define CTRLD 	4
+#define CTRLD   4
 
 char *choices[] = {
                         "Choice 1",
                         "Choice 2",
                         "Choice 3",
                         "Choice 4",
-			"Choice 5",
-			"Choice 6",
-			"Choice 7",
+                        "Choice 5",
+                        "Choice 6",
+                        "Choice 7",
                         "Exit",
                   };
 
 int main()
-{	ITEM **my_items;
-	int c;				
-	MENU *my_menu;
+{       ITEM **my_items;
+        int c;                          
+        MENU *my_menu;
         int n_choices, i;
-	ITEM *cur_item;
-	
-	/* Initialize curses */	
-	initscr();
-	start_color();
+        ITEM *cur_item;
+        
+        /* Initialize curses */ 
+        initscr();
+        start_color();
         cbreak();
         noecho();
-	keypad(stdscr, TRUE);
-	init_pair(1, COLOR_RED, COLOR_BLACK);
-	init_pair(2, COLOR_GREEN, COLOR_BLACK);
-	init_pair(3, COLOR_MAGENTA, COLOR_BLACK);
+        keypad(stdscr, TRUE);
+        init_pair(1, COLOR_RED, COLOR_BLACK);
+        init_pair(2, COLOR_GREEN, COLOR_BLACK);
+        init_pair(3, COLOR_MAGENTA, COLOR_BLACK);
 
-	/* Initialize items */
+        /* Initialize items */
         n_choices = ARRAY_SIZE(choices);
         my_items = (ITEM **)calloc(n_choices + 1, sizeof(ITEM *));
-        for(i = 0; i &#60; n_choices; ++i)
+        for(i = 0; i &lt; n_choices; ++i)
                 my_items[i] = new_item(choices[i], choices[i]);
-	my_items[n_choices] = (ITEM *)NULL;
-	item_opts_off(my_items[3], O_SELECTABLE);
-	item_opts_off(my_items[6], O_SELECTABLE);
+        my_items[n_choices] = (ITEM *)NULL;
+        item_opts_off(my_items[3], O_SELECTABLE);
+        item_opts_off(my_items[6], O_SELECTABLE);
 
-	/* Create menu */
-	my_menu = new_menu((ITEM **)my_items);
+        /* Create menu */
+        my_menu = new_menu((ITEM **)my_items);
 
-	/* Set fore ground and back ground of the menu */
-	set_menu_fore(my_menu, COLOR_PAIR(1) | A_REVERSE);
-	set_menu_back(my_menu, COLOR_PAIR(2));
-	set_menu_grey(my_menu, COLOR_PAIR(3));
+        /* Set fore ground and back ground of the menu */
+        set_menu_fore(my_menu, COLOR_PAIR(1) | A_REVERSE);
+        set_menu_back(my_menu, COLOR_PAIR(2));
+        set_menu_grey(my_menu, COLOR_PAIR(3));
 
-	/* Post the menu */
-	mvprintw(LINES - 3, 0, "Press &#60;ENTER&#62; to see the option selected");
-	mvprintw(LINES - 2, 0, "Up and Down arrow keys to naviage (F1 to Exit)");
-	post_menu(my_menu);
-	refresh();
+        /* Post the menu */
+        mvprintw(LINES - 3, 0, "Press &lt;ENTER&gt; to see the option selected");
+        mvprintw(LINES - 2, 0, "Up and Down arrow keys to navigate (F1 to Exit)");
+        post_menu(my_menu);
+        refresh();
 
-	while((c = getch()) != KEY_F(1))
-	{       switch(c)
-	        {	case KEY_DOWN:
-				menu_driver(my_menu, REQ_DOWN_ITEM);
-				break;
-			case KEY_UP:
-				menu_driver(my_menu, REQ_UP_ITEM);
-				break;
-			case 10: /* Enter */
-				move(20, 0);
-				clrtoeol();
-				mvprintw(20, 0, "Item selected is : %s", 
-						item_name(current_item(my_menu)));
-				pos_menu_cursor(my_menu);
-				break;
-		}
-	}	
-	unpost_menu(my_menu);
-	for(i = 0; i &#60; n_choices; ++i)
-		free_item(my_items[i]);
-	free_menu(my_menu);
-	endwin();
+        while((c = getch()) != KEY_F(1))
+        {       switch(c)
+                {       case KEY_DOWN:
+                                menu_driver(my_menu, REQ_DOWN_ITEM);
+                                break;
+                        case KEY_UP:
+                                menu_driver(my_menu, REQ_UP_ITEM);
+                                break;
+                        case 10: /* Enter */
+                                move(20, 0);
+                                clrtoeol();
+                                mvprintw(20, 0, "Item selected is : %s", 
+                                                item_name(current_item(my_menu)));
+                                pos_menu_cursor(my_menu);
+                                break;
+                }
+        }       
+        unpost_menu(my_menu);
+        for(i = 0; i &lt; n_choices; ++i)
+                free_item(my_items[i]);
+        free_menu(my_menu);
+        endwin();
 }
-	</SPAN
-></PRE
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="MENUUSERPTR"
->17.9. The useful User Pointer</A
-></H3
-><P
->We can associate a user pointer with each item in the menu. It works the same
-way as user pointer in panels. It's not touched by menu system. You can store
-any thing you like in that. I usually use it to store the function to be
-executed when the menu option is chosen (It's selected and may be the user
-pressed &lt;ENTER&gt;);</P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="MMEUS"
-></A
-><P
-><B
->Example 24.  Menu User Pointer Usage </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;curses.h&#62;
-#include &#60;menu.h&#62;
+        </span></pre>
+        </div>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="MENUUSERPTR" id=
+        "MENUUSERPTR">17.9. The useful User Pointer</a></h3>
+
+        <p>We can associate a user pointer with each item in the
+        menu. It works the same way as user pointer in panels. It
+        is not touched by menu system. You can store any thing you
+        like in that. I usually use it to store the function to be
+        executed when the menu option is chosen (It is selected and
+        may be the user pressed &lt;ENTER&gt;);</p>
+
+        <div class="EXAMPLE">
+          <a name="MMEUS" id="MMEUS"></a>
+          <p><b>Example 24. Menu User Pointer Usage</b>
+          </p>
+
+          <pre class="PROGRAMLISTING"><span class=
+          "INLINEMEDIAOBJECT">#include &lt;stdlib.h&gt;
+#include &lt;curses.h&gt;
+#include &lt;menu.h&gt;
 
 #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
-#define CTRLD 	4
+#define CTRLD   4
 
 char *choices[] = {
                         "Choice 1",
                         "Choice 2",
                         "Choice 3",
                         "Choice 4",
-			"Choice 5",
-			"Choice 6",
-			"Choice 7",
+                        "Choice 5",
+                        "Choice 6",
+                        "Choice 7",
                         "Exit",
                   };
 void func(char *name);
 
 int main()
-{	ITEM **my_items;
-	int c;				
-	MENU *my_menu;
+{       ITEM **my_items;
+        int c;                          
+        MENU *my_menu;
         int n_choices, i;
-	ITEM *cur_item;
-	
-	/* Initialize curses */	
-	initscr();
-	start_color();
+        ITEM *cur_item;
+        
+        /* Initialize curses */ 
+        initscr();
+        start_color();
         cbreak();
         noecho();
-	keypad(stdscr, TRUE);
-	init_pair(1, COLOR_RED, COLOR_BLACK);
-	init_pair(2, COLOR_GREEN, COLOR_BLACK);
-	init_pair(3, COLOR_MAGENTA, COLOR_BLACK);
+        keypad(stdscr, TRUE);
+        init_pair(1, COLOR_RED, COLOR_BLACK);
+        init_pair(2, COLOR_GREEN, COLOR_BLACK);
+        init_pair(3, COLOR_MAGENTA, COLOR_BLACK);
 
-	/* Initialize items */
+        /* Initialize items */
         n_choices = ARRAY_SIZE(choices);
         my_items = (ITEM **)calloc(n_choices + 1, sizeof(ITEM *));
-        for(i = 0; i &#60; n_choices; ++i)
-	{       my_items[i] = new_item(choices[i], choices[i]);
-		/* Set the user pointer */
-		set_item_userptr(my_items[i], func);
-	}
-	my_items[n_choices] = (ITEM *)NULL;
+        for(i = 0; i &lt; n_choices; ++i)
+        {       my_items[i] = new_item(choices[i], choices[i]);
+                /* Set the user pointer */
+                set_item_userptr(my_items[i], func);
+        }
+        my_items[n_choices] = (ITEM *)NULL;
 
-	/* Create menu */
-	my_menu = new_menu((ITEM **)my_items);
+        /* Create menu */
+        my_menu = new_menu((ITEM **)my_items);
 
-	/* Post the menu */
-	mvprintw(LINES - 3, 0, "Press &#60;ENTER&#62; to see the option selected");
-	mvprintw(LINES - 2, 0, "Up and Down arrow keys to naviage (F1 to Exit)");
-	post_menu(my_menu);
-	refresh();
+        /* Post the menu */
+        mvprintw(LINES - 3, 0, "Press &lt;ENTER&gt; to see the option selected");
+        mvprintw(LINES - 2, 0, "Up and Down arrow keys to navigate (F1 to Exit)");
+        post_menu(my_menu);
+        refresh();
 
-	while((c = getch()) != KEY_F(1))
-	{       switch(c)
-	        {	case KEY_DOWN:
-				menu_driver(my_menu, REQ_DOWN_ITEM);
-				break;
-			case KEY_UP:
-				menu_driver(my_menu, REQ_UP_ITEM);
-				break;
-			case 10: /* Enter */
-			{	ITEM *cur;
-				void (*p)(char *);
+        while((c = getch()) != KEY_F(1))
+        {       switch(c)
+                {       case KEY_DOWN:
+                                menu_driver(my_menu, REQ_DOWN_ITEM);
+                                break;
+                        case KEY_UP:
+                                menu_driver(my_menu, REQ_UP_ITEM);
+                                break;
+                        case 10: /* Enter */
+                        {       ITEM *cur;
+                                void (*p)(char *);
 
-				cur = current_item(my_menu);
-				p = item_userptr(cur);
-				p((char *)item_name(cur));
-				pos_menu_cursor(my_menu);
-				break;
-			}
-			break;
-		}
-	}	
-	unpost_menu(my_menu);
-	for(i = 0; i &#60; n_choices; ++i)
-		free_item(my_items[i]);
-	free_menu(my_menu);
-	endwin();
+                                cur = current_item(my_menu);
+                                p = item_userptr(cur);
+                                p((char *)item_name(cur));
+                                pos_menu_cursor(my_menu);
+                                break;
+                        }
+                        break;
+                }
+        }       
+        unpost_menu(my_menu);
+        for(i = 0; i &lt; n_choices; ++i)
+                free_item(my_items[i]);
+        free_menu(my_menu);
+        endwin();
 }
 
 void func(char *name)
-{	move(20, 0);
-	clrtoeol();
-	mvprintw(20, 0, "Item selected is : %s", name);
-}	</SPAN
-></PRE
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="FORMS"
->18. Forms Library</A
-></H2
-><P
->Well. If you have seen those forms on web pages which take input from users and
-do various kinds of things, you might be wondering how would any one create such
-forms in text mode display. It's quite difficult to write those nifty forms in
-plain ncurses. Forms library tries to provide a basic frame work to build and
-maintain forms with ease. It has lot of features(functions) which manage
-validation, dynamic expansion of fields etc.. Let's see it in full flow.</P
-><P
->A form is a collection of fields; each field can be either a label(static text)
-or a data-entry location. The forms also library provides functions to divide
-forms into multiple pages. </P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="FORMBASICS"
->18.1. The Basics</A
-></H3
-><P
->Forms are created in much the same way as menus. First the fields related to the
-form are created with new_field(). You can set options for the fields, so that
-they can be displayed with some fancy attributes, validated before the field
-looses focus etc.. Then the fields are attached to form. After this, the form
-can be posted to display and is ready to receive inputs. On the similar lines to
-menu_driver(), the form is manipulated with form_driver(). We can send requests
-to form_driver to move focus to a certain field, move cursor to end of the field
-etc..  After the user enters values in the fields and validation done, form can
-be unposted and memory allocated can be freed.</P
-><P
->The general flow of control of a forms program looks like this.
+{       move(20, 0);
+        clrtoeol();
+        mvprintw(20, 0, "Item selected is : %s", name);
+}       </span></pre>
+        </div>
+      </div>
+    </div>
 
-<P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Initialize curses</P
-></LI
-><LI
-><P
->Create fields using new_field(). You can specify the height and
-width of the field, and its position on the form.</P
-></LI
-><LI
-><P
->Create the forms with new_form() by specifying the fields to be
-attached with.</P
-></LI
-><LI
-><P
->Post the form with form_post() and refresh the screen.</P
-></LI
-><LI
-><P
->Process the user requests with a loop and do necessary updates
-to form with form_driver.</P
-></LI
-><LI
-><P
->Unpost the menu with form_unpost()</P
-></LI
-><LI
-><P
->Free the memory allocated to menu by free_form()</P
-></LI
-><LI
-><P
->Free the memory allocated to the items with free_field()</P
-></LI
-><LI
-><P
->End curses</P
-></LI
-></OL
-></P
-><P
->As you can see, working with forms library is much similar to handling menu
-library.  The following examples will explore various aspects of form
-processing. Let's start the journey with a simple example.  first.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="COMPILEFORMS"
->18.2. Compiling With the Forms Library</A
-></H3
-><P
->To use forms library functions, you have to include form.h and to link the
-program with forms library the flag -lform should be added along with -lncurses
-in that order.</P
-><PRE
-CLASS="PROGRAMLISTING"
->    #include &lt;form.h&gt;
+    <div class="SECT1">
+      <hr>
+
+      <h2 class="SECT1"><a name="FORMS" id="FORMS">18. Forms
+      Library</a></h2>
+
+      <p>Well. If you have seen those forms on web pages which take
+      input from users and do various kinds of things, you might be
+      wondering how would any one create such forms in text mode
+      display. It is quite difficult to write those nifty forms in
+      plain ncurses. Forms library tries to provide a basic frame
+      work to build and maintain forms with ease. It has lot of
+      features(functions) which manage validation, dynamic
+      expansion of fields, etc. Let's see it in full flow.</p>
+
+      <p>A form is a collection of fields; each field can be either
+      a label(static text) or a data-entry location. The forms also
+      library provides functions to divide forms into multiple
+      pages.</p>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="FORMBASICS" id=
+        "FORMBASICS">18.1. The Basics</a></h3>
+
+        <p>Forms are created in much the same way as menus. First
+        the fields related to the form are created with
+        new_field(). You can set options for the fields, so that
+        they can be displayed with some fancy attributes, validated
+        before the field looses focus, etc. Then the fields are
+        attached to form. After this, the form can be posted to
+        display and is ready to receive inputs. On the similar
+        lines to menu_driver(), the form is manipulated with
+        form_driver(). We can send requests to form_driver to move
+        focus to a certain field, move cursor to end of the field
+        etc. After the user enters values in the fields and
+        validation done, form can be unposted and memory allocated
+        can be freed.</p>
+
+        <p>The general flow of control of a forms program looks
+        like this.</p>
+
+        <ol type="1">
+          <li>
+            <p>Initialize curses</p>
+          </li>
+
+          <li>
+            <p>Create fields using new_field(). You can specify the
+            height and width of the field, and its position on the
+            form.</p>
+          </li>
+
+          <li>
+            <p>Create the forms with new_form() by specifying the
+            fields to be attached with.</p>
+          </li>
+
+          <li>
+            <p>Post the form with form_post() and refresh the
+            screen.</p>
+          </li>
+
+          <li>
+            <p>Process the user requests with a loop and do
+            necessary updates to form with form_driver.</p>
+          </li>
+
+          <li>
+            <p>Unpost the menu with form_unpost()</p>
+          </li>
+
+          <li>
+            <p>Free the memory allocated to menu by free_form()</p>
+          </li>
+
+          <li>
+            <p>Free the memory allocated to the items with
+            free_field()</p>
+          </li>
+
+          <li>
+            <p>End curses</p>
+          </li>
+        </ol>
+
+        <p>As you can see, working with forms library is much
+        similar to handling menu library. The following examples
+        will explore various aspects of form processing. Let's
+        start the journey with a simple example. first.</p>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="COMPILEFORMS" id=
+        "COMPILEFORMS">18.2. Compiling With the Forms Library</a></h3>
+
+        <p>To use forms library functions, you have to include
+        form.h and to link the program with forms library the flag
+        -lform should be added along with -lncurses in that
+        order.</p>
+
+        <pre class="PROGRAMLISTING">    #include &lt;form.h&gt;
     .
     .
     .
 
-    compile and link: gcc &lt;program file&gt; -lform -lncurses</PRE
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="FFOSI"
-></A
-><P
-><B
->Example 25.  Forms Basics </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;form.h&#62;
+    compile and link: gcc &lt;program file&gt; -lform -lncurses</pre>
+        <div class="EXAMPLE">
+          <a name="FFOSI" id="FFOSI"></a>
+          <p><b>Example 25. Forms Basics</b>
+          </p>
+
+          <pre class="PROGRAMLISTING"><span class=
+          "INLINEMEDIAOBJECT">#include &lt;form.h&gt;
 
 int main()
-{	FIELD *field[3];
-	FORM  *my_form;
-	int ch;
-	
-	/* Initialize curses */
-	initscr();
-	cbreak();
-	noecho();
-	keypad(stdscr, TRUE);
+{       FIELD *field[3];
+        FORM  *my_form;
+        int ch;
+        
+        /* Initialize curses */
+        initscr();
+        cbreak();
+        noecho();
+        keypad(stdscr, TRUE);
 
-	/* Initialize the fields */
-	field[0] = new_field(1, 10, 4, 18, 0, 0);
-	field[1] = new_field(1, 10, 6, 18, 0, 0);
-	field[2] = NULL;
+        /* Initialize the fields */
+        field[0] = new_field(1, 10, 4, 18, 0, 0);
+        field[1] = new_field(1, 10, 6, 18, 0, 0);
+        field[2] = NULL;
 
-	/* Set field options */
-	set_field_back(field[0], A_UNDERLINE); 	/* Print a line for the option 	*/
-	field_opts_off(field[0], O_AUTOSKIP);  	/* Don't go to next field when this */
-						/* Field is filled up 		*/
-	set_field_back(field[1], A_UNDERLINE); 
-	field_opts_off(field[1], O_AUTOSKIP);
+        /* Set field options */
+        set_field_back(field[0], A_UNDERLINE);  /* Print a line for the option  */
+        field_opts_off(field[0], O_AUTOSKIP);   /* Don't go to next field when this */
+                                                /* Field is filled up           */
+        set_field_back(field[1], A_UNDERLINE); 
+        field_opts_off(field[1], O_AUTOSKIP);
 
-	/* Create the form and post it */
-	my_form = new_form(field);
-	post_form(my_form);
-	refresh();
-	
-	mvprintw(4, 10, "Value 1:");
-	mvprintw(6, 10, "Value 2:");
-	refresh();
+        /* Create the form and post it */
+        my_form = new_form(field);
+        post_form(my_form);
+        refresh();
+        
+        mvprintw(4, 10, "Value 1:");
+        mvprintw(6, 10, "Value 2:");
+        refresh();
 
-	/* Loop through to get user requests */
-	while((ch = getch()) != KEY_F(1))
-	{	switch(ch)
-		{	case KEY_DOWN:
-				/* Go to next field */
-				form_driver(my_form, REQ_NEXT_FIELD);
-				/* Go to the end of the present buffer */
-				/* Leaves nicely at the last character */
-				form_driver(my_form, REQ_END_LINE);
-				break;
-			case KEY_UP:
-				/* Go to previous field */
-				form_driver(my_form, REQ_PREV_FIELD);
-				form_driver(my_form, REQ_END_LINE);
-				break;
-			default:
-				/* If this is a normal character, it gets */
-				/* Printed				  */	
-				form_driver(my_form, ch);
-				break;
-		}
-	}
+        /* Loop through to get user requests */
+        while((ch = getch()) != KEY_F(1))
+        {       switch(ch)
+                {       case KEY_DOWN:
+                                /* Go to next field */
+                                form_driver(my_form, REQ_NEXT_FIELD);
+                                /* Go to the end of the present buffer */
+                                /* Leaves nicely at the last character */
+                                form_driver(my_form, REQ_END_LINE);
+                                break;
+                        case KEY_UP:
+                                /* Go to previous field */
+                                form_driver(my_form, REQ_PREV_FIELD);
+                                form_driver(my_form, REQ_END_LINE);
+                                break;
+                        default:
+                                /* If this is a normal character, it gets */
+                                /* Printed                                */    
+                                form_driver(my_form, ch);
+                                break;
+                }
+        }
 
-	/* Un post form and free the memory */
-	unpost_form(my_form);
-	free_form(my_form);
-	free_field(field[0]);
-	free_field(field[1]); 
+        /* Un post form and free the memory */
+        unpost_form(my_form);
+        free_form(my_form);
+        free_field(field[0]);
+        free_field(field[1]); 
 
-	endwin();
-	return 0;
-}</SPAN
-></PRE
-></DIV
-><P
->Above example is pretty straight forward. It creates two fields with
-<TT
-CLASS="LITERAL"
->new_field()</TT
->.  new_field() takes height, width,
-starty, startx, number of offscreen rows and number of additional working
-buffers. The fifth argument number of offscreen rows specifies how much of the
-field to be shown. If it is zero, the entire field is always displayed otherwise
-the form will be scrollable when the user accesses not displayed parts of the
-field.  The forms library allocates one buffer per field to store the data user
-enters. Using the last parameter to new_field() we can specify it to allocate
-some additional buffers.  These can be used for any purpose you like.</P
-><P
->After creating the fields, back ground attribute of both of them is set to an
-underscore with set_field_back(). The AUTOSKIP option is turned off using
-field_opts_off().  If this option is turned on, focus will move to the next
-field in the form once the active field is filled up completely.</P
-><P
->After attaching the fields to the form, it is posted. Here on, user inputs are
-processed in the while loop, by making corresponding requests to form_driver.
-The details of all the requests to the form_driver() are explained later.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="PLAYFIELDS"
->18.3. Playing with Fields</A
-></H3
-><P
->Each form field is associated with a lot of attributes. They can be manipulated
-to get the required effect and to have fun !!!. So why wait? </P
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="FETCHINFO"
->18.3.1. Fetching Size and Location of Field</A
-></H4
-><P
->The parameters we have given at the time of creation of a field can be retrieved
-with field_info(). It returns height, width, starty, startx, number of offscreen
-rows, and number of additional buffers into the parameters given to it. It is a
-sort of inverse of new_field().</P
-><PRE
-CLASS="PROGRAMLISTING"
->int field_info(     FIELD *field,              /* field from which to fetch */
+        endwin();
+        return 0;
+}</span></pre>
+        </div>
+
+        <p>Above example is pretty straight forward. It creates two
+        fields with <tt class="LITERAL">new_field()</tt>.
+        new_field() takes height, width, starty, startx, number of
+        offscreen rows and number of additional working buffers.
+        The fifth argument number of offscreen rows specifies how
+        much of the field to be shown. If it is zero, the entire
+        field is always displayed otherwise the form will be
+        scrollable when the user accesses not displayed parts of
+        the field. The forms library allocates one buffer per field
+        to store the data user enters. Using the last parameter to
+        new_field() we can specify it to allocate some additional
+        buffers. These can be used for any purpose you like.</p>
+
+        <p>After creating the fields, back ground attribute of both
+        of them is set to an underscore with set_field_back(). The
+        AUTOSKIP option is turned off using field_opts_off(). If
+        this option is turned on, focus will move to the next field
+        in the form once the active field is filled up
+        completely.</p>
+
+        <p>After attaching the fields to the form, it is posted.
+        Here on, user inputs are processed in the while loop, by
+        making corresponding requests to form_driver. The details
+        of all the requests to the form_driver() are explained
+        later.</p>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="PLAYFIELDS" id=
+        "PLAYFIELDS">18.3. Playing with Fields</a></h3>
+
+        <p>Each form field is associated with a lot of attributes.
+        They can be manipulated to get the required effect and to
+        have fun !!!. So why wait?</p>
+
+        <div class="SECT3">
+          <hr>
+
+          <h4 class="SECT3"><a name="FETCHINFO" id=
+          "FETCHINFO">18.3.1. Fetching Size and Location of
+          Field</a></h4>
+
+          <p>The parameters we have given at the time of creation
+          of a field can be retrieved with field_info(). It returns
+          height, width, starty, startx, number of offscreen rows,
+          and number of additional buffers into the parameters
+          given to it. It is a sort of inverse of new_field().</p>
+
+          <pre class=
+          "PROGRAMLISTING">int field_info(     FIELD *field,              /* field from which to fetch */
                     int *height, *int width,   /* field size */ 
                     int *top, int *left,       /* upper left corner */
                     int *offscreen,            /* number of offscreen rows */
-                    int *nbuf);                /* number of working buffers */</PRE
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="MOVEFIELD"
->18.3.2. Moving the field</A
-></H4
-><P
->The location of the field can be moved to a different position with
-move_field().</P
-><PRE
-CLASS="PROGRAMLISTING"
->int move_field(    FIELD *field,              /* field to alter */
-                   int top, int left);        /* new upper-left corner */</PRE
-><P
->As usual, the changed position can be queried with field_infor().</P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="JUSTIFYFIELD"
->18.3.3. Field Justification</A
-></H4
-><P
->The justification to be done for the field can be fixed using the function
-set_field_just().</P
-><PRE
-CLASS="PROGRAMLISTING"
->    int set_field_just(FIELD *field,          /* field to alter */
+                    int *nbuf);                /* number of working buffers */</pre>
+        </div>
+
+        <div class="SECT3">
+          <hr>
+
+          <h4 class="SECT3"><a name="MOVEFIELD" id=
+          "MOVEFIELD">18.3.2. Moving the field</a></h4>
+
+          <p>The location of the field can be moved to a different
+          position with move_field().</p>
+
+          <pre class=
+          "PROGRAMLISTING">int move_field(    FIELD *field,              /* field to alter */
+                   int top, int left);        /* new upper-left corner */</pre>
+          <p>As usual, the changed position can be queried with
+          field_infor().</p>
+        </div>
+
+        <div class="SECT3">
+          <hr>
+
+          <h4 class="SECT3"><a name="JUSTIFYFIELD" id=
+          "JUSTIFYFIELD">18.3.3. Field Justification</a></h4>
+
+          <p>The justification to be done for the field can be
+          fixed using the function set_field_just().</p>
+
+          <pre class=
+          "PROGRAMLISTING">    int set_field_just(FIELD *field,          /* field to alter */
                int justmode);         /* mode to set */
-    int field_just(FIELD *field);          /* fetch justify mode of field */</PRE
-><P
->The justification mode valued accepted and returned by these functions are 
-NO_JUSTIFICATION, JUSTIFY_RIGHT, JUSTIFY_LEFT, or JUSTIFY_CENTER.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="FIELDDISPATTRIB"
->18.3.4. Field Display Attributes</A
-></H4
-><P
->As you have seen, in the above example, display attribute for the fields can be
-set with set_field_fore() and setfield_back(). These functions set foreground
-and background attribute of the fields. You can also specify a pad character
-which will be filled in the unfilled portion of the field. The pad character is
-set with a call to set_field_pad(). Default pad value is a space. The functions
-field_fore(), field_back, field_pad() can be used to query the present
-foreground, background attributes and pad character for the field. The following
-list gives the usage of functions.</P
-><PRE
-CLASS="PROGRAMLISTING"
->&#13;int set_field_fore(FIELD *field,        /* field to alter */
+    int field_just(FIELD *field);          /* fetch justify mode of field */</pre>
+          <p>The justification mode valued accepted and returned by
+          these functions are NO_JUSTIFICATION, JUSTIFY_RIGHT,
+          JUSTIFY_LEFT, or JUSTIFY_CENTER.</p>
+        </div>
+
+        <div class="SECT3">
+          <hr>
+
+          <h4 class="SECT3"><a name="FIELDDISPATTRIB" id=
+          "FIELDDISPATTRIB">18.3.4. Field Display Attributes</a></h4>
+
+          <p>As you have seen, in the above example, display
+          attribute for the fields can be set with set_field_fore()
+          and setfield_back(). These functions set foreground and
+          background attribute of the fields. You can also specify
+          a pad character which will be filled in the unfilled
+          portion of the field. The pad character is set with a
+          call to set_field_pad(). Default pad value is a space.
+          The functions field_fore(), field_back, field_pad() can
+          be used to query the present foreground, background
+          attributes and pad character for the field. The following
+          list gives the usage of functions.</p>
+
+          <pre class=
+          "PROGRAMLISTING">&#13;int set_field_fore(FIELD *field,        /* field to alter */
                    chtype attr);        /* attribute to set */ 
 
 chtype field_fore(FIELD *field);        /* field to query */
@@ -6591,127 +5577,123 @@
                   int pad);             /* pad character to set */ 
 
 chtype field_pad(FIELD *field);         /* field to query */  
-                                        /* returns present pad character */&#13;</PRE
-><P
->Though above functions seem quite simple, using colors with set_field_fore() may
-be frustrating in the beginning. Let me first explain about foreground and
-background attributes of a field. The foreground attribute is associated with
-the character. That means a character in the field is printed with the attribute
-you have set with set_field_fore(). Background attribute is the attribute used
-to fill background of field, whether any character is there or not.  So what
-about colors? Since colors are always defined in pairs, what is the right way to
-display colored fields? Here's an example clarifying color attributes.</P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="FFOAT"
-></A
-><P
-><B
->Example 26.  Form Attributes example </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;form.h&#62;
+                                        /* returns present pad character */&#13;</pre>
+          <p>Though above functions seem quite simple, using colors
+          with set_field_fore() may be frustrating in the
+          beginning. Let me first explain about foreground and
+          background attributes of a field. The foreground
+          attribute is associated with the character. That means a
+          character in the field is printed with the attribute you
+          have set with set_field_fore(). Background attribute is
+          the attribute used to fill background of field, whether
+          any character is there or not. So what about colors?
+          Since colors are always defined in pairs, what is the
+          right way to display colored fields? Here's an example
+          clarifying color attributes.</p>
+
+          <div class="EXAMPLE">
+            <a name="FFOAT" id="FFOAT"></a>
+            <p><b>Example 26. Form Attributes example</b>
+            </p>
+
+            <pre class="PROGRAMLISTING"><span class=
+            "INLINEMEDIAOBJECT">#include &lt;form.h&gt;
 
 int main()
-{	FIELD *field[3];
-	FORM  *my_form;
-	int ch;
-	
-	/* Initialize curses */
-	initscr();
-	start_color();
-	cbreak();
-	noecho();
-	keypad(stdscr, TRUE);
+{       FIELD *field[3];
+        FORM  *my_form;
+        int ch;
+        
+        /* Initialize curses */
+        initscr();
+        start_color();
+        cbreak();
+        noecho();
+        keypad(stdscr, TRUE);
 
-	/* Initialize few color pairs */
-	init_pair(1, COLOR_WHITE, COLOR_BLUE);
-	init_pair(2, COLOR_WHITE, COLOR_BLUE);
+        /* Initialize few color pairs */
+        init_pair(1, COLOR_WHITE, COLOR_BLUE);
+        init_pair(2, COLOR_WHITE, COLOR_BLUE);
 
-	/* Initialize the fields */
-	field[0] = new_field(1, 10, 4, 18, 0, 0);
-	field[1] = new_field(1, 10, 6, 18, 0, 0);
-	field[2] = NULL;
+        /* Initialize the fields */
+        field[0] = new_field(1, 10, 4, 18, 0, 0);
+        field[1] = new_field(1, 10, 6, 18, 0, 0);
+        field[2] = NULL;
 
-	/* Set field options */
-	set_field_fore(field[0], COLOR_PAIR(1));/* Put the field with blue background */
-	set_field_back(field[0], COLOR_PAIR(2));/* and white foreground (characters */
-						/* are printed in white 	*/
-	field_opts_off(field[0], O_AUTOSKIP);  	/* Don't go to next field when this */
-						/* Field is filled up 		*/
-	set_field_back(field[1], A_UNDERLINE); 
-	field_opts_off(field[1], O_AUTOSKIP);
+        /* Set field options */
+        set_field_fore(field[0], COLOR_PAIR(1));/* Put the field with blue background */
+        set_field_back(field[0], COLOR_PAIR(2));/* and white foreground (characters */
+                                                /* are printed in white         */
+        field_opts_off(field[0], O_AUTOSKIP);   /* Don't go to next field when this */
+                                                /* Field is filled up           */
+        set_field_back(field[1], A_UNDERLINE); 
+        field_opts_off(field[1], O_AUTOSKIP);
 
-	/* Create the form and post it */
-	my_form = new_form(field);
-	post_form(my_form);
-	refresh();
-	
-	set_current_field(my_form, field[0]); /* Set focus to the colored field */
-	mvprintw(4, 10, "Value 1:");
-	mvprintw(6, 10, "Value 2:");
-	mvprintw(LINES - 2, 0, "Use UP, DOWN arrow keys to switch between fields");
-	refresh();
+        /* Create the form and post it */
+        my_form = new_form(field);
+        post_form(my_form);
+        refresh();
+        
+        set_current_field(my_form, field[0]); /* Set focus to the colored field */
+        mvprintw(4, 10, "Value 1:");
+        mvprintw(6, 10, "Value 2:");
+        mvprintw(LINES - 2, 0, "Use UP, DOWN arrow keys to switch between fields");
+        refresh();
 
-	/* Loop through to get user requests */
-	while((ch = getch()) != KEY_F(1))
-	{	switch(ch)
-		{	case KEY_DOWN:
-				/* Go to next field */
-				form_driver(my_form, REQ_NEXT_FIELD);
-				/* Go to the end of the present buffer */
-				/* Leaves nicely at the last character */
-				form_driver(my_form, REQ_END_LINE);
-				break;
-			case KEY_UP:
-				/* Go to previous field */
-				form_driver(my_form, REQ_PREV_FIELD);
-				form_driver(my_form, REQ_END_LINE);
-				break;
-			default:
-				/* If this is a normal character, it gets */
-				/* Printed				  */	
-				form_driver(my_form, ch);
-				break;
-		}
-	}
+        /* Loop through to get user requests */
+        while((ch = getch()) != KEY_F(1))
+        {       switch(ch)
+                {       case KEY_DOWN:
+                                /* Go to next field */
+                                form_driver(my_form, REQ_NEXT_FIELD);
+                                /* Go to the end of the present buffer */
+                                /* Leaves nicely at the last character */
+                                form_driver(my_form, REQ_END_LINE);
+                                break;
+                        case KEY_UP:
+                                /* Go to previous field */
+                                form_driver(my_form, REQ_PREV_FIELD);
+                                form_driver(my_form, REQ_END_LINE);
+                                break;
+                        default:
+                                /* If this is a normal character, it gets */
+                                /* Printed                                */    
+                                form_driver(my_form, ch);
+                                break;
+                }
+        }
 
-	/* Un post form and free the memory */
-	unpost_form(my_form);
-	free_form(my_form);
-	free_field(field[0]);
-	free_field(field[1]); 
+        /* Un post form and free the memory */
+        unpost_form(my_form);
+        free_form(my_form);
+        free_field(field[0]);
+        free_field(field[1]); 
 
-	endwin();
-	return 0;
-}</SPAN
-></PRE
-></DIV
-><P
->Play with the color pairs and try to understand the foreground and background
-attributes. In my programs using color attributes, I usually set only the
-background with set_field_back(). Curses simply doesn't allow defining
-individual color attributes. </P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="FIELDOPTIONBITS"
->18.3.5. Field Option Bits</A
-></H4
-><P
->There is also a large collection of field option bits you can set to control
-various aspects of forms processing. You can manipulate them with these
-functions:</P
-><PRE
-CLASS="PROGRAMLISTING"
->int set_field_opts(FIELD *field,          /* field to alter */
+        endwin();
+        return 0;
+}</span></pre>
+          </div>
+
+          <p>Play with the color pairs and try to understand the
+          foreground and background attributes. In my programs
+          using color attributes, I usually set only the background
+          with set_field_back(). Curses simply doesn't allow
+          defining individual color attributes.</p>
+        </div>
+
+        <div class="SECT3">
+          <hr>
+
+          <h4 class="SECT3"><a name="FIELDOPTIONBITS" id=
+          "FIELDOPTIONBITS">18.3.5. Field Option Bits</a></h4>
+
+          <p>There is also a large collection of field option bits
+          you can set to control various aspects of forms
+          processing. You can manipulate them with these
+          functions:</p>
+
+          <pre class=
+          "PROGRAMLISTING">int set_field_opts(FIELD *field,          /* field to alter */
                    int attr);             /* attribute to set */ 
 
 int field_opts_on(FIELD *field,           /* field to alter */
@@ -6720,134 +5702,139 @@
 int field_opts_off(FIELD *field,          /* field to alter */
                   int attr);              /* attributes to turn off */ 
 
-int field_opts(FIELD *field);             /* field to query */ </PRE
-><P
->The function set_field_opts() can be used to directly set attributes of a field
-or you can choose to switch a few attributes on and off with field_opts_on() and
-field_opts_off() selectively. Anytime you can query the attributes of a field
-with field_opts(). The following is the list of available options. By default,
-all options are on.</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->O_VISIBLE</DT
-><DD
-><P
->Controls whether the field is visible on the screen.  Can be used
-during form processing to hide or pop up fields depending on the value
-of parent fields.</P
-></DD
-><DT
->O_ACTIVE</DT
-><DD
-><P
->Controls whether the field is active during forms processing (i.e.
-visited by form navigation keys).  Can be used to make labels or derived
-fields with buffer values alterable by the forms application, not the user.</P
-></DD
-><DT
->O_PUBLIC</DT
-><DD
-><P
->Controls whether data is displayed during field entry.  If this option is
-turned off on a field, the library will accept and edit data in that field,
-but it will not be displayed and the visible field cursor will not move.
-You can turn off the O_PUBLIC bit to define password fields.</P
-></DD
-><DT
->O_EDIT</DT
-><DD
-><P
->Controls whether the field's data can be modified.  When this option is
-off, all editing requests except <TT
-CLASS="LITERAL"
->REQ_PREV_CHOICE</TT
-> and <TT
-CLASS="LITERAL"
->REQ_NEXT_CHOICE</TT
->will 
-fail.  Such read-only fields may be useful for help messages.</P
-></DD
-><DT
->O_WRAP</DT
-><DD
-><P
->Controls word-wrapping in multi-line fields.  Normally, when any
-character of a (blank-separated) word reaches the end of the current line, the
-entire word is wrapped to the next line (assuming there is one).  When this
-option is off, the word will be split across the line break.</P
-></DD
-><DT
->O_BLANK</DT
-><DD
-><P
->Controls field blanking.  When this option is on, entering a character at
-the first field position erases the entire field (except for the just-entered
-character).</P
-></DD
-><DT
->O_AUTOSKIP</DT
-><DD
-><P
->Controls automatic skip to next field when this one fills.  Normally,
-when the forms user tries to type more data into a field than will fit,
-the editing location jumps to next field.  When this option is off, the
-user's cursor will hang at the end of the field.  This option is ignored
-in dynamic fields that have not reached their size limit.</P
-></DD
-><DT
->O_NULLOK</DT
-><DD
-><P
->Controls whether validation is applied to
-blank fields.  Normally, it is not; the user can leave a field blank
-without invoking the usual validation check on exit.  If this option is
-off on a field, exit from it will invoke a validation check.</P
-></DD
-><DT
->O_PASSOK</DT
-><DD
-><P
->Controls whether validation occurs on every exit, or only after
-the field is modified.  Normally the latter is true.  Setting O_PASSOK
-may be useful if your field's validation function may change during
-forms processing.</P
-></DD
-><DT
->O_STATIC</DT
-><DD
-><P
->Controls whether the field is fixed to its initial dimensions.  If you
-turn this off, the field becomes dynamic and will
-stretch to fit entered data.</P
-></DD
-></DL
-></DIV
-><P
->A field's options cannot be changed while the field is currently selected.
-However, options may be changed on posted fields that are not current. </P
-><P
->The option values are bit-masks and can be composed with logical-or in
-the obvious way. You have seen the usage of switching off O_AUTOSKIP option.
-The following example clarifies usage of some more options. Other options
-are explained where appropriate.</P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="FFOOP"
-></A
-><P
-><B
->Example 27.  Field Options Usage example </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;form.h&#62;
+int field_opts(FIELD *field);             /* field to query */ </pre>
+          <p>The function set_field_opts() can be used to directly
+          set attributes of a field or you can choose to switch a
+          few attributes on and off with field_opts_on() and
+          field_opts_off() selectively. Anytime you can query the
+          attributes of a field with field_opts(). The following is
+          the list of available options. By default, all options
+          are on.</p>
+
+          <div class="VARIABLELIST">
+            <dl>
+              <dt>O_VISIBLE</dt>
+
+              <dd>
+                <p>Controls whether the field is visible on the
+                screen. Can be used during form processing to hide
+                or pop up fields depending on the value of parent
+                fields.</p>
+              </dd>
+
+              <dt>O_ACTIVE</dt>
+
+              <dd>
+                <p>Controls whether the field is active during
+                forms processing (i.e. visited by form navigation
+                keys). Can be used to make labels or derived fields
+                with buffer values alterable by the forms
+                application, not the user.</p>
+              </dd>
+
+              <dt>O_PUBLIC</dt>
+
+              <dd>
+                <p>Controls whether data is displayed during field
+                entry. If this option is turned off on a field, the
+                library will accept and edit data in that field,
+                but it will not be displayed and the visible field
+                cursor will not move. You can turn off the O_PUBLIC
+                bit to define password fields.</p>
+              </dd>
+
+              <dt>O_EDIT</dt>
+
+              <dd>
+                <p>Controls whether the field's data can be
+                modified. When this option is off, all editing
+                requests except <tt class=
+                "LITERAL">REQ_PREV_CHOICE</tt> and <tt class=
+                "LITERAL">REQ_NEXT_CHOICE</tt>will fail. Such
+                read-only fields may be useful for help
+                messages.</p>
+              </dd>
+
+              <dt>O_WRAP</dt>
+
+              <dd>
+                <p>Controls word-wrapping in multi-line fields.
+                Normally, when any character of a (blank-separated)
+                word reaches the end of the current line, the
+                entire word is wrapped to the next line (assuming
+                there is one). When this option is off, the word
+                will be split across the line break.</p>
+              </dd>
+
+              <dt>O_BLANK</dt>
+
+              <dd>
+                <p>Controls field blanking. When this option is on,
+                entering a character at the first field position
+                erases the entire field (except for the
+                just-entered character).</p>
+              </dd>
+
+              <dt>O_AUTOSKIP</dt>
+
+              <dd>
+                <p>Controls automatic skip to next field when this
+                one fills. Normally, when the forms user tries to
+                type more data into a field than will fit, the
+                editing location jumps to next field. When this
+                option is off, the user's cursor will hang at the
+                end of the field. This option is ignored in dynamic
+                fields that have not reached their size limit.</p>
+              </dd>
+
+              <dt>O_NULLOK</dt>
+
+              <dd>
+                <p>Controls whether validation is applied to blank
+                fields. Normally, it is not; the user can leave a
+                field blank without invoking the usual validation
+                check on exit. If this option is off on a field,
+                exit from it will invoke a validation check.</p>
+              </dd>
+
+              <dt>O_PASSOK</dt>
+
+              <dd>
+                <p>Controls whether validation occurs on every
+                exit, or only after the field is modified. Normally
+                the latter is true. Setting O_PASSOK may be useful
+                if your field's validation function may change
+                during forms processing.</p>
+              </dd>
+
+              <dt>O_STATIC</dt>
+
+              <dd>
+                <p>Controls whether the field is fixed to its
+                initial dimensions. If you turn this off, the field
+                becomes dynamic and will stretch to fit entered
+                data.</p>
+              </dd>
+            </dl>
+          </div>
+
+          <p>A field's options cannot be changed while the field is
+          currently selected. However, options may be changed on
+          posted fields that are not current.</p>
+
+          <p>The option values are bit-masks and can be composed
+          with logical-or in the obvious way. You have seen the
+          usage of switching off O_AUTOSKIP option. The following
+          example clarifies usage of some more options. Other
+          options are explained where appropriate.</p>
+
+          <div class="EXAMPLE">
+            <a name="FFOOP" id="FFOOP"></a>
+            <p><b>Example 27. Field Options Usage example</b>
+            </p>
+
+            <pre class="PROGRAMLISTING"><span class=
+            "INLINEMEDIAOBJECT">#include &lt;form.h&gt;
 
 #define STARTX 15
 #define STARTY 4
@@ -6856,1476 +5843,1193 @@
 #define N_FIELDS 3
 
 int main()
-{	FIELD *field[N_FIELDS];
-	FORM  *my_form;
-	int ch, i;
-	
-	/* Initialize curses */
-	initscr();
-	cbreak();
-	noecho();
-	keypad(stdscr, TRUE);
+{       FIELD *field[N_FIELDS];
+        FORM  *my_form;
+        int ch, i;
+        
+        /* Initialize curses */
+        initscr();
+        cbreak();
+        noecho();
+        keypad(stdscr, TRUE);
 
-	/* Initialize the fields */
-	for(i = 0; i &#60; N_FIELDS - 1; ++i)
-		field[i] = new_field(1, WIDTH, STARTY + i * 2, STARTX, 0, 0);
-	field[N_FIELDS - 1] = NULL;
+        /* Initialize the fields */
+        for(i = 0; i &lt; N_FIELDS - 1; ++i)
+                field[i] = new_field(1, WIDTH, STARTY + i * 2, STARTX, 0, 0);
+        field[N_FIELDS - 1] = NULL;
 
-	/* Set field options */
-	set_field_back(field[1], A_UNDERLINE); 	/* Print a line for the option 	*/
-	
-	field_opts_off(field[0], O_ACTIVE); /* This field is a static label */
-	field_opts_off(field[1], O_PUBLIC); /* This filed is like a password field*/
-	field_opts_off(field[1], O_AUTOSKIP); /* To avoid entering the same field */
-					      /* after last character is entered */
-	
-	/* Create the form and post it */
-	my_form = new_form(field);
-	post_form(my_form);
-	refresh();
-	
-	set_field_just(field[0], JUSTIFY_CENTER); /* Center Justification */
-	set_field_buffer(field[0], 0, "This is a static Field"); 
-						  /* Initialize the field  */
-	mvprintw(STARTY, STARTX - 10, "Field 1:");
-	mvprintw(STARTY + 2, STARTX - 10, "Field 2:");
-	refresh();
+        /* Set field options */
+        set_field_back(field[1], A_UNDERLINE);  /* Print a line for the option  */
+        
+        field_opts_off(field[0], O_ACTIVE); /* This field is a static label */
+        field_opts_off(field[1], O_PUBLIC); /* This filed is like a password field*/
+        field_opts_off(field[1], O_AUTOSKIP); /* To avoid entering the same field */
+                                              /* after last character is entered */
+        
+        /* Create the form and post it */
+        my_form = new_form(field);
+        post_form(my_form);
+        refresh();
+        
+        set_field_just(field[0], JUSTIFY_CENTER); /* Center Justification */
+        set_field_buffer(field[0], 0, "This is a static Field"); 
+                                                  /* Initialize the field  */
+        mvprintw(STARTY, STARTX - 10, "Field 1:");
+        mvprintw(STARTY + 2, STARTX - 10, "Field 2:");
+        refresh();
 
-	/* Loop through to get user requests */
-	while((ch = getch()) != KEY_F(1))
-	{	switch(ch)
-		{	case KEY_DOWN:
-				/* Go to next field */
-				form_driver(my_form, REQ_NEXT_FIELD);
-				/* Go to the end of the present buffer */
-				/* Leaves nicely at the last character */
-				form_driver(my_form, REQ_END_LINE);
-				break;
-			case KEY_UP:
-				/* Go to previous field */
-				form_driver(my_form, REQ_PREV_FIELD);
-				form_driver(my_form, REQ_END_LINE);
-				break;
-			default:
-				/* If this is a normal character, it gets */
-				/* Printed				  */	
-				form_driver(my_form, ch);
-				break;
-		}
-	}
+        /* Loop through to get user requests */
+        while((ch = getch()) != KEY_F(1))
+        {       switch(ch)
+                {       case KEY_DOWN:
+                                /* Go to next field */
+                                form_driver(my_form, REQ_NEXT_FIELD);
+                                /* Go to the end of the present buffer */
+                                /* Leaves nicely at the last character */
+                                form_driver(my_form, REQ_END_LINE);
+                                break;
+                        case KEY_UP:
+                                /* Go to previous field */
+                                form_driver(my_form, REQ_PREV_FIELD);
+                                form_driver(my_form, REQ_END_LINE);
+                                break;
+                        default:
+                                /* If this is a normal character, it gets */
+                                /* Printed                                */    
+                                form_driver(my_form, ch);
+                                break;
+                }
+        }
 
-	/* Un post form and free the memory */
-	unpost_form(my_form);
-	free_form(my_form);
-	free_field(field[0]);
-	free_field(field[1]); 
+        /* Un post form and free the memory */
+        unpost_form(my_form);
+        free_form(my_form);
+        free_field(field[0]);
+        free_field(field[1]); 
 
-	endwin();
-	return 0;
-}</SPAN
-></PRE
-></DIV
-><P
->This example, though useless, shows the usage of options. If used properly, they
-can present information very effectively in a form. The second field being not
-O_PUBLIC, does not show the characters you are typing.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="FIELDSTATUS"
->18.3.6. Field Status</A
-></H4
-><P
->The field status specifies whether the field has got edited or not. It is
-initially set to FALSE and when user enters something and the data buffer gets
-modified it becomes TRUE. So a field's status can be queried to find out whether
-it has been modified or not. The following functions can assist in those
-operations.</P
-><PRE
-CLASS="PROGRAMLISTING"
->int set_field_status(FIELD *field,      /* field to alter */
+        endwin();
+        return 0;
+}</span></pre>
+          </div>
+
+          <p>This example, though useless, shows the usage of
+          options. If used properly, they can present information
+          very effectively in a form. The second field being not
+          O_PUBLIC, does not show the characters you are
+          typing.</p>
+        </div>
+
+        <div class="SECT3">
+          <hr>
+
+          <h4 class="SECT3"><a name="FIELDSTATUS" id=
+          "FIELDSTATUS">18.3.6. Field Status</a></h4>
+
+          <p>The field status specifies whether the field has got
+          edited or not. It is initially set to FALSE and when user
+          enters something and the data buffer gets modified it
+          becomes TRUE. So a field's status can be queried to find
+          out whether it has been modified or not. The following
+          functions can assist in those operations.</p>
+
+          <pre class=
+          "PROGRAMLISTING">int set_field_status(FIELD *field,      /* field to alter */
                    int status);         /* status to set */
 
-int field_status(FIELD *field);         /* fetch status of field */</PRE
-><P
->It's better to check the field's status only after after leaving the field, as
-data buffer might not have been updated yet as the validation is still due. To
-guarantee that right status is returned, call field_status() either (1) in the
-field's exit validation check routine, (2) from the field's or form's
-initialization or termination hooks, or (3) just after a REQ_VALIDATION request
-has been processed by the forms driver</P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="FIELDUSERPTR"
->18.3.7. Field User Pointer</A
-></H4
-><P
->Every field structure contains one pointer that can be used by the user for
-various purposes. It is not touched by forms library and can be used for any
-purpose by the user. The following functions set and fetch user pointer.</P
-><PRE
-CLASS="PROGRAMLISTING"
->int set_field_userptr(FIELD *field,   
+int field_status(FIELD *field);         /* fetch status of field */</pre>
+          <p>It is better to check the field's status only after
+          after leaving the field, as data buffer might not have
+          been updated yet as the validation is still due. To
+          guarantee that right status is returned, call
+          field_status() either (1) in the field's exit validation
+          check routine, (2) from the field's or form's
+          initialization or termination hooks, or (3) just after a
+          REQ_VALIDATION request has been processed by the forms
+          driver</p>
+        </div>
+
+        <div class="SECT3">
+          <hr>
+
+          <h4 class="SECT3"><a name="FIELDUSERPTR" id=
+          "FIELDUSERPTR">18.3.7. Field User Pointer</a></h4>
+
+          <p>Every field structure contains one pointer that can be
+          used by the user for various purposes. It is not touched
+          by forms library and can be used for any purpose by the
+          user. The following functions set and fetch user
+          pointer.</p>
+
+          <pre class=
+          "PROGRAMLISTING">int set_field_userptr(FIELD *field,   
            char *userptr);      /* the user pointer you wish to associate */
                                 /* with the field    */
 
-char *field_userptr(FIELD *field);      /* fetch user pointer of the field */</PRE
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="VARIABLESIZEFIELDS"
->18.3.8. Variable-Sized Fields</A
-></H4
-><P
->If you want a dynamically changing field with variable width, this is the
-feature you want to put to full use. This will allow the user to enter more data
-than the original size of the field and let the field grow. According to the
-field orientation it will scroll horizontally or vertically to incorporate the
-new data.</P
-><P
->To make a field dynamically growable, the option O_STATIC should be turned off.
-This can be done with a 
-<PRE
-CLASS="PROGRAMLISTING"
->    field_opts_off(field_pointer, O_STATIC);</PRE
-></P
-><P
->But it's usually not advisable to allow a field to grow infinitely. You can set
-a maximum limit to the growth of the field with 
-<PRE
-CLASS="PROGRAMLISTING"
->int set_max_field(FIELD *field,    /* Field on which to operate */
-                  int max_growth); /* maximum growth allowed for the field */</PRE
-></P
-><P
->The field info for a dynamically growable field can be retrieved by 
-<PRE
-CLASS="PROGRAMLISTING"
->int dynamic_field_info( FIELD *field,     /* Field on which to operate */
+char *field_userptr(FIELD *field);      /* fetch user pointer of the field */</pre>
+        </div>
+
+        <div class="SECT3">
+          <hr>
+
+          <h4 class="SECT3"><a name="VARIABLESIZEFIELDS" id=
+          "VARIABLESIZEFIELDS">18.3.8. Variable-Sized Fields</a></h4>
+
+          <p>If you want a dynamically changing field with variable
+          width, this is the feature you want to put to full use.
+          This will allow the user to enter more data than the
+          original size of the field and let the field grow.
+          According to the field orientation it will scroll
+          horizontally or vertically to incorporate the new
+          data.</p>
+
+          <p>To make a field dynamically growable, the option
+          O_STATIC should be turned off. This can be done with
+          a</p>
+
+          <pre class=
+          "PROGRAMLISTING">    field_opts_off(field_pointer, O_STATIC);</pre>
+          <p>But it is usually not advisable to allow a field to
+          grow infinitely. You can set a maximum limit to the
+          growth of the field with</p>
+
+          <pre class=
+          "PROGRAMLISTING">int set_max_field(FIELD *field,    /* Field on which to operate */
+                  int max_growth); /* maximum growth allowed for the field */</pre>
+          <p>The field info for a dynamically growable field can be
+          retrieved by</p>
+
+          <pre class=
+          "PROGRAMLISTING">int dynamic_field_info( FIELD *field,     /* Field on which to operate */
             int   *prows,     /* number of rows will be filled in this */
             int   *pcols,     /* number of columns will be filled in this*/
             int   *pmax)      /* maximum allowable growth will be filled */
-                              /* in this */</PRE
->
-Though field_info work as usual, it is advisable to use this function to get the
-proper attributes of a dynamically growable field.</P
-><P
->Recall the library routine new_field; a new field created with height set to one
-will be defined to be a one line field. A new field created with height greater
-than one will be defined to be a multi line field. </P
-><P
->A one line field with O_STATIC turned off (dynamically growable field)  will
-contain a single fixed row, but the number of columns can increase if the user
-enters more data than the initial field will hold. The number of columns
-displayed will remain fixed and the additional data will scroll horizontally. </P
-><P
->A multi line field with O_STATIC turned off (dynamically growable field) will
-contain a fixed number of columns, but the number of rows can increase if the
-user enters more data than the initial field will hold. The number of rows
-displayed will remain fixed and the additional data will scroll vertically.</P
-><P
->The above two paragraphs pretty much describe a dynamically growable field's 
-behavior. The way other parts of forms library behaves is described below:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->The field option O_AUTOSKIP will be ignored if the option O_STATIC is off and
-there is no maximum growth specified for the field. Currently, O_AUTOSKIP
-generates an automatic REQ_NEXT_FIELD form driver request when the user types in
-the last character position of a field. On a growable field with no maximum
-growth specified, there is no last character position. If a maximum growth is
-specified, the O_AUTOSKIP option will work as normal if the field has grown to
-its maximum size. </P
-></LI
-><LI
-><P
->The field justification will be ignored if the option O_STATIC is off.
-Currently, set_field_just can be used to JUSTIFY_LEFT, JUSTIFY_RIGHT,
-JUSTIFY_CENTER the contents of a one line field. A growable one line field will,
-by definition, grow and scroll horizontally and may contain more data than can
-be justified. The return from field_just will be unchanged. </P
-></LI
-><LI
-><P
->The overloaded form driver request REQ_NEW_LINE will operate the same way
-regardless of the O_NL_OVERLOAD form option if the field option O_STATIC is off
-and there is no maximum growth specified for the field. Currently, if the form
-option O_NL_OVERLOAD is on, REQ_NEW_LINE implicitly generates a REQ_NEXT_FIELD
-if called from the last line of a field. If a field can grow without bound,
-there is no last line, so REQ_NEW_LINE will never implicitly generate a
-REQ_NEXT_FIELD. If a maximum growth limit is specified and the O_NL_OVERLOAD
-form option is on, REQ_NEW_LINE will only implicitly generate REQ_NEXT_FIELD if
-the field has grown to its maximum size and the user is on the last line. </P
-></LI
-><LI
-><P
->The library call dup_field will work as usual; it will duplicate the field,
-including the current buffer size and contents of the field being duplicated.
-Any specified maximum growth will also be duplicated. </P
-></LI
-><LI
-><P
->The library call link_field will work as usual; it will duplicate all field
-attributes and share buffers with the field being linked. If the O_STATIC field
-option is subsequently changed by a field sharing buffers, how the system reacts
-to an attempt to enter more data into the field than the buffer will currently
-hold will depend on the setting of the option in the current field. </P
-></LI
-><LI
-><P
->The library call field_info will work as usual; the variable nrow will contain
-the value of the original call to new_field. The user should use
-dynamic_field_info, described above, to query the current size of the buffer.</P
-></LI
-></OL
-><P
->Some of the above points make sense only after explaining form driver. We will
-be looking into that in next few sections.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="FORMWINDOWS"
->18.4. Form Windows</A
-></H3
-><P
->The form windows concept is pretty much similar to menu windows. Every form is
-associated with a main window and a sub window. The form main window displays
-any title or border associated or whatever the user wishes. Then the sub window
-contains all the fields and displays them according to their position. This
-gives the flexibility of manipulating fancy form displaying very easily. </P
-><P
->Since this is pretty much similar to menu windows, I am providing an example
-with out much explanation. The functions are similar and they work the same way.</P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="FFOWI"
-></A
-><P
-><B
->Example 28.  Form Windows Example </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;form.h&#62;
+                              /* in this */</pre>Though field_info
+work as usual, it is advisable to use this function to get the
+proper attributes of a dynamically growable field.
+          <p>Recall the library routine new_field; a new field
+          created with height set to one will be defined to be a
+          one line field. A new field created with height greater
+          than one will be defined to be a multi line field.</p>
+
+          <p>A one line field with O_STATIC turned off (dynamically
+          growable field) will contain a single fixed row, but the
+          number of columns can increase if the user enters more
+          data than the initial field will hold. The number of
+          columns displayed will remain fixed and the additional
+          data will scroll horizontally.</p>
+
+          <p>A multi line field with O_STATIC turned off
+          (dynamically growable field) will contain a fixed number
+          of columns, but the number of rows can increase if the
+          user enters more data than the initial field will hold.
+          The number of rows displayed will remain fixed and the
+          additional data will scroll vertically.</p>
+
+          <p>The above two paragraphs pretty much describe a
+          dynamically growable field's behavior. The way other
+          parts of forms library behaves is described below:</p>
+
+          <ol type="1">
+            <li>
+              <p>The field option O_AUTOSKIP will be ignored if the
+              option O_STATIC is off and there is no maximum growth
+              specified for the field. Currently, O_AUTOSKIP
+              generates an automatic REQ_NEXT_FIELD form driver
+              request when the user types in the last character
+              position of a field. On a growable field with no
+              maximum growth specified, there is no last character
+              position. If a maximum growth is specified, the
+              O_AUTOSKIP option will work as normal if the field
+              has grown to its maximum size.</p>
+            </li>
+
+            <li>
+              <p>The field justification will be ignored if the
+              option O_STATIC is off. Currently, set_field_just can
+              be used to JUSTIFY_LEFT, JUSTIFY_RIGHT,
+              JUSTIFY_CENTER the contents of a one line field. A
+              growable one line field will, by definition, grow and
+              scroll horizontally and may contain more data than
+              can be justified. The return from field_just will be
+              unchanged.</p>
+            </li>
+
+            <li>
+              <p>The overloaded form driver request REQ_NEW_LINE
+              will operate the same way regardless of the
+              O_NL_OVERLOAD form option if the field option
+              O_STATIC is off and there is no maximum growth
+              specified for the field. Currently, if the form
+              option O_NL_OVERLOAD is on, REQ_NEW_LINE implicitly
+              generates a REQ_NEXT_FIELD if called from the last
+              line of a field. If a field can grow without bound,
+              there is no last line, so REQ_NEW_LINE will never
+              implicitly generate a REQ_NEXT_FIELD. If a maximum
+              growth limit is specified and the O_NL_OVERLOAD form
+              option is on, REQ_NEW_LINE will only implicitly
+              generate REQ_NEXT_FIELD if the field has grown to its
+              maximum size and the user is on the last line.</p>
+            </li>
+
+            <li>
+              <p>The library call dup_field will work as usual; it
+              will duplicate the field, including the current
+              buffer size and contents of the field being
+              duplicated. Any specified maximum growth will also be
+              duplicated.</p>
+            </li>
+
+            <li>
+              <p>The library call link_field will work as usual; it
+              will duplicate all field attributes and share buffers
+              with the field being linked. If the O_STATIC field
+              option is subsequently changed by a field sharing
+              buffers, how the system reacts to an attempt to enter
+              more data into the field than the buffer will
+              currently hold will depend on the setting of the
+              option in the current field.</p>
+            </li>
+
+            <li>
+              <p>The library call field_info will work as usual;
+              the variable nrow will contain the value of the
+              original call to new_field. The user should use
+              dynamic_field_info, described above, to query the
+              current size of the buffer.</p>
+            </li>
+          </ol>
+
+          <p>Some of the above points make sense only after
+          explaining form driver. We will be looking into that in
+          next few sections.</p>
+        </div>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="FORMWINDOWS" id=
+        "FORMWINDOWS">18.4. Form Windows</a></h3>
+
+        <p>The form windows concept is pretty much similar to menu
+        windows. Every form is associated with a main window and a
+        sub window. The form main window displays any title or
+        border associated or whatever the user wishes. Then the sub
+        window contains all the fields and displays them according
+        to their position. This gives the flexibility of
+        manipulating fancy form displaying very easily.</p>
+
+        <p>Since this is pretty much similar to menu windows, I am
+        providing an example with out much explanation. The
+        functions are similar and they work the same way.</p>
+
+        <div class="EXAMPLE">
+          <a name="FFOWI" id="FFOWI"></a>
+          <p><b>Example 28. Form Windows Example</b>
+          </p>
+
+          <pre class="PROGRAMLISTING"><span class=
+          "INLINEMEDIAOBJECT">#include &lt;string.h&gt;
+#include &lt;form.h&gt;
 
 void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string, chtype color);
 
 int main()
 {
-	FIELD *field[3];
-	FORM  *my_form;
-	WINDOW *my_form_win;
-	int ch, rows, cols;
-	
-	/* Initialize curses */
-	initscr();
-	start_color();
-	cbreak();
-	noecho();
-	keypad(stdscr, TRUE);
+        FIELD *field[3];
+        FORM  *my_form;
+        WINDOW *my_form_win;
+        int ch, rows, cols;
+        
+        /* Initialize curses */
+        initscr();
+        start_color();
+        cbreak();
+        noecho();
+        keypad(stdscr, TRUE);
 
-	/* Initialize few color pairs */
-   	init_pair(1, COLOR_RED, COLOR_BLACK);
+        /* Initialize few color pairs */
+        init_pair(1, COLOR_RED, COLOR_BLACK);
 
-	/* Initialize the fields */
-	field[0] = new_field(1, 10, 6, 1, 0, 0);
-	field[1] = new_field(1, 10, 8, 1, 0, 0);
-	field[2] = NULL;
+        /* Initialize the fields */
+        field[0] = new_field(1, 10, 6, 1, 0, 0);
+        field[1] = new_field(1, 10, 8, 1, 0, 0);
+        field[2] = NULL;
 
-	/* Set field options */
-	set_field_back(field[0], A_UNDERLINE);
-	field_opts_off(field[0], O_AUTOSKIP); /* Don't go to next field when this */
-					      /* Field is filled up 		*/
-	set_field_back(field[1], A_UNDERLINE); 
-	field_opts_off(field[1], O_AUTOSKIP);
-	
-	/* Create the form and post it */
-	my_form = new_form(field);
-	
-	/* Calculate the area required for the form */
-	scale_form(my_form, &#38;rows, &#38;cols);
+        /* Set field options */
+        set_field_back(field[0], A_UNDERLINE);
+        field_opts_off(field[0], O_AUTOSKIP); /* Don't go to next field when this */
+                                              /* Field is filled up             */
+        set_field_back(field[1], A_UNDERLINE); 
+        field_opts_off(field[1], O_AUTOSKIP);
+        
+        /* Create the form and post it */
+        my_form = new_form(field);
+        
+        /* Calculate the area required for the form */
+        scale_form(my_form, &amp;rows, &amp;cols);
 
-	/* Create the window to be associated with the form */
+        /* Create the window to be associated with the form */
         my_form_win = newwin(rows + 4, cols + 4, 4, 4);
         keypad(my_form_win, TRUE);
 
-	/* Set main window and sub window */
+        /* Set main window and sub window */
         set_form_win(my_form, my_form_win);
         set_form_sub(my_form, derwin(my_form_win, rows, cols, 2, 2));
 
-	/* Print a border around the main window and print a title */
+        /* Print a border around the main window and print a title */
         box(my_form_win, 0, 0);
-	print_in_middle(my_form_win, 1, 0, cols + 4, "My Form", COLOR_PAIR(1));
-	
-	post_form(my_form);
-	wrefresh(my_form_win);
+        print_in_middle(my_form_win, 1, 0, cols + 4, "My Form", COLOR_PAIR(1));
+        
+        post_form(my_form);
+        wrefresh(my_form_win);
 
-	mvprintw(LINES - 2, 0, "Use UP, DOWN arrow keys to switch between fields");
-	refresh();
+        mvprintw(LINES - 2, 0, "Use UP, DOWN arrow keys to switch between fields");
+        refresh();
 
-	/* Loop through to get user requests */
-	while((ch = wgetch(my_form_win)) != KEY_F(1))
-	{	switch(ch)
-		{	case KEY_DOWN:
-				/* Go to next field */
-				form_driver(my_form, REQ_NEXT_FIELD);
-				/* Go to the end of the present buffer */
-				/* Leaves nicely at the last character */
-				form_driver(my_form, REQ_END_LINE);
-				break;
-			case KEY_UP:
-				/* Go to previous field */
-				form_driver(my_form, REQ_PREV_FIELD);
-				form_driver(my_form, REQ_END_LINE);
-				break;
-			default:
-				/* If this is a normal character, it gets */
-				/* Printed				  */	
-				form_driver(my_form, ch);
-				break;
-		}
-	}
+        /* Loop through to get user requests */
+        while((ch = wgetch(my_form_win)) != KEY_F(1))
+        {       switch(ch)
+                {       case KEY_DOWN:
+                                /* Go to next field */
+                                form_driver(my_form, REQ_NEXT_FIELD);
+                                /* Go to the end of the present buffer */
+                                /* Leaves nicely at the last character */
+                                form_driver(my_form, REQ_END_LINE);
+                                break;
+                        case KEY_UP:
+                                /* Go to previous field */
+                                form_driver(my_form, REQ_PREV_FIELD);
+                                form_driver(my_form, REQ_END_LINE);
+                                break;
+                        default:
+                                /* If this is a normal character, it gets */
+                                /* Printed                                */    
+                                form_driver(my_form, ch);
+                                break;
+                }
+        }
 
-	/* Un post form and free the memory */
-	unpost_form(my_form);
-	free_form(my_form);
-	free_field(field[0]);
-	free_field(field[1]); 
+        /* Un post form and free the memory */
+        unpost_form(my_form);
+        free_form(my_form);
+        free_field(field[0]);
+        free_field(field[1]); 
 
-	endwin();
-	return 0;
+        endwin();
+        return 0;
 }
 
 void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string, chtype color)
-{	int length, x, y;
-	float temp;
+{       int length, x, y;
+        float temp;
 
-	if(win == NULL)
-		win = stdscr;
-	getyx(win, y, x);
-	if(startx != 0)
-		x = startx;
-	if(starty != 0)
-		y = starty;
-	if(width == 0)
-		width = 80;
+        if(win == NULL)
+                win = stdscr;
+        getyx(win, y, x);
+        if(startx != 0)
+                x = startx;
+        if(starty != 0)
+                y = starty;
+        if(width == 0)
+                width = 80;
 
-	length = strlen(string);
-	temp = (width - length)/ 2;
-	x = startx + (int)temp;
-	wattron(win, color);
-	mvwprintw(win, y, x, "%s", string);
-	wattroff(win, color);
-	refresh();
-}</SPAN
-></PRE
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="FILEDVALIDATE"
->18.5. Field Validation</A
-></H3
-><P
->By default, a field will accept any data input by the user. It is possible to
-attach validation to the field. Then any attempt by the user to leave the field,
-while it contains data that doesn't match the validation type will fail. Some
-validation types also have a character-validity check for each time a character
-is entered in the field.</P
-><P
->Validation can be attached to a field with the following function.
-<PRE
-CLASS="PROGRAMLISTING"
->int set_field_type(FIELD *field,          /* field to alter */
+        length = strlen(string);
+        temp = (width - length)/ 2;
+        x = startx + (int)temp;
+        wattron(win, color);
+        mvwprintw(win, y, x, "%s", string);
+        wattroff(win, color);
+        refresh();
+}</span></pre>
+        </div>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="FILEDVALIDATE" id=
+        "FILEDVALIDATE">18.5. Field Validation</a></h3>
+
+        <p>By default, a field will accept any data input by the
+        user. It is possible to attach validation to the field.
+        Then any attempt by the user to leave the field, while it
+        contains data that doesn't match the validation type will
+        fail. Some validation types also have a character-validity
+        check for each time a character is entered in the
+        field.</p>
+
+        <p>Validation can be attached to a field with the following
+        function.</p>
+
+        <pre class=
+        "PROGRAMLISTING">int set_field_type(FIELD *field,          /* field to alter */
                    FIELDTYPE *ftype,      /* type to associate */
-                   ...);                  /* additional arguments*/</PRE
->
-Once set, the validation type for a field can be queried with
-<PRE
-CLASS="PROGRAMLISTING"
->FIELDTYPE *field_type(FIELD *field);      /* field to query */</PRE
-></P
-><P
->The form driver validates the data in a field only when data is entered by the
-end-user. Validation does not occur when </P
-><P
-></P
-><UL
-><LI
-><P
->the application program changes the field value by calling set_field_buffer. </P
-></LI
-><LI
-><P
->linked field values are changed indirectly -- by changing the field to which
-they are linked</P
-></LI
-></UL
-><P
->The following are the pre-defined validation types. You can also specify custom
-validation, though it's a bit tricky and cumbersome.</P
-><H1
-CLASS="BRIDGEHEAD"
-><A
-NAME="AEN1069"
-></A
->TYPE_ALPHA</H1
-><P
->This field type accepts alphabetic data; no blanks, no digits, no special
-characters (this is checked at character-entry time).  It is set up with: </P
-><PRE
-CLASS="PROGRAMLISTING"
->int set_field_type(FIELD *field,          /* field to alter */
+                   ...);                  /* additional arguments*/</pre>Once
+set, the validation type for a field can be queried with
+
+        <pre class=
+        "PROGRAMLISTING">FIELDTYPE *field_type(FIELD *field);      /* field to query */</pre>
+        <p>The form driver validates the data in a field only when
+        data is entered by the end-user. Validation does not occur
+        when</p>
+
+        <ul>
+          <li>
+            <p>the application program changes the field value by
+            calling set_field_buffer.</p>
+          </li>
+
+          <li>
+            <p>linked field values are changed indirectly -- by
+            changing the field to which they are linked</p>
+          </li>
+        </ul>
+
+        <p>The following are the pre-defined validation types. You
+        can also specify custom validation, though it is a bit
+        tricky and cumbersome.</p>
+
+        <h1 class="BRIDGEHEAD"><a name="AEN1074" id=
+        "AEN1074"></a>TYPE_ALPHA</h1>
+
+        <p>This field type accepts alphabetic data; no blanks, no
+        digits, no special characters (this is checked at
+        character-entry time). It is set up with:</p>
+
+        <pre class=
+        "PROGRAMLISTING">int set_field_type(FIELD *field,          /* field to alter */
                    TYPE_ALPHA,            /* type to associate */
-                   int width);            /* maximum width of field */</PRE
-><P
->The width argument sets a minimum width of data. The user has to enter at-least
-width number of characters before he can leave the field. Typically
-you'll want to set this to the field width; if it's greater than the
-field width, the validation check will always fail.  A minimum width
-of zero makes field completion optional. </P
-><H1
-CLASS="BRIDGEHEAD"
-><A
-NAME="AEN1073"
-></A
->TYPE_ALNUM</H1
-><P
->This field type accepts alphabetic data and digits; no blanks, no special
-characters (this is checked at character-entry time).  It is set up with: </P
-><PRE
-CLASS="PROGRAMLISTING"
->int set_field_type(FIELD *field,          /* field to alter */
+                   int width);            /* minimum width of field */</pre>
+        <p>The width argument sets a minimum width of data. The
+        user has to enter at-least width number of characters
+        before he can leave the field. Typically you'll want to set
+        this to the field width; if it is greater than the field
+        width, the validation check will always fail. A minimum
+        width of zero makes field completion optional.</p>
+
+        <h1 class="BRIDGEHEAD"><a name="AEN1078" id=
+        "AEN1078"></a>TYPE_ALNUM</h1>
+
+        <p>This field type accepts alphabetic data and digits; no
+        blanks, no special characters (this is checked at
+        character-entry time). It is set up with:</p>
+
+        <pre class=
+        "PROGRAMLISTING">int set_field_type(FIELD *field,          /* field to alter */
                    TYPE_ALNUM,            /* type to associate */
-                   int width);            /* maximum width of field */</PRE
-><P
->The width argument sets a minimum width of data.  As with
-TYPE_ALPHA, typically you'll want to set this to the field width; if it's
-greater than the field width, the validation check will always fail.  A
-minimum width of zero makes field completion optional. </P
-><H1
-CLASS="BRIDGEHEAD"
-><A
-NAME="AEN1077"
-></A
->TYPE_ENUM</H1
-><P
->This type allows you to restrict a field's values to be among a specified
-set of string values (for example, the two-letter postal codes for U.S.
-states).  It is set up with: </P
-><PRE
-CLASS="PROGRAMLISTING"
->int set_field_type(FIELD *field,          /* field to alter */
+                   int width);            /* minimum width of field */</pre>
+        <p>The width argument sets a minimum width of data. As with
+        TYPE_ALPHA, typically you'll want to set this to the field
+        width; if it is greater than the field width, the
+        validation check will always fail. A minimum width of zero
+        makes field completion optional.</p>
+
+        <h1 class="BRIDGEHEAD"><a name="AEN1082" id=
+        "AEN1082"></a>TYPE_ENUM</h1>
+
+        <p>This type allows you to restrict a field's values to be
+        among a specified set of string values (for example, the
+        two-letter postal codes for U.S. states). It is set up
+        with:</p>
+
+        <pre class=
+        "PROGRAMLISTING">int set_field_type(FIELD *field,          /* field to alter */
                    TYPE_ENUM,             /* type to associate */
                    char **valuelist;      /* list of possible values */
                    int checkcase;         /* case-sensitive? */
-                   int checkunique);      /* must specify uniquely? */</PRE
-><P
->The valuelist parameter must point at a NULL-terminated list of
-valid strings.  The checkcase argument, if true, makes comparison
-with the string case-sensitive. </P
-><P
->When the user exits a TYPE_ENUM field, the validation procedure tries to
-complete the data in the buffer to a valid entry.  If a complete choice string
-has been entered, it is of course valid.  But it is also possible to enter a
-prefix of a valid string and have it completed for you. </P
-><P
->By default, if you enter such a prefix and it matches more than one value
-in the string list, the prefix will be completed to the first matching
-value.  But the checkunique argument, if true, requires prefix
-matches to be unique in order to be valid. </P
-><P
->The REQ_NEXT_CHOICE and REQ_PREV_CHOICE input requests can be particularly
-useful with these fields. </P
-><H1
-CLASS="BRIDGEHEAD"
-><A
-NAME="AEN1084"
-></A
->TYPE_INTEGER</H1
-><P
->This field type accepts an integer.  It is set up as follows: </P
-><PRE
-CLASS="PROGRAMLISTING"
->int set_field_type(FIELD *field,          /* field to alter */
+                   int checkunique);      /* must specify uniquely? */</pre>
+        <p>The valuelist parameter must point at a NULL-terminated
+        list of valid strings. The checkcase argument, if true,
+        makes comparison with the string case-sensitive.</p>
+
+        <p>When the user exits a TYPE_ENUM field, the validation
+        procedure tries to complete the data in the buffer to a
+        valid entry. If a complete choice string has been entered,
+        it is of course valid. But it is also possible to enter a
+        prefix of a valid string and have it completed for you.</p>
+
+        <p>By default, if you enter such a prefix and it matches
+        more than one value in the string list, the prefix will be
+        completed to the first matching value. But the checkunique
+        argument, if true, requires prefix matches to be unique in
+        order to be valid.</p>
+
+        <p>The REQ_NEXT_CHOICE and REQ_PREV_CHOICE input requests
+        can be particularly useful with these fields.</p>
+
+        <h1 class="BRIDGEHEAD"><a name="AEN1089" id=
+        "AEN1089"></a>TYPE_INTEGER</h1>
+
+        <p>This field type accepts an integer. It is set up as
+        follows:</p>
+
+        <pre class=
+        "PROGRAMLISTING">int set_field_type(FIELD *field,          /* field to alter */
                    TYPE_INTEGER,          /* type to associate */
                    int padding,           /* # places to zero-pad to */
-                   int vmin, int vmax);   /* valid range */</PRE
-><P
->Valid characters consist of an optional leading minus and digits.
-The range check is performed on exit.  If the range maximum is less
-than or equal to the minimum, the range is ignored. </P
-><P
->If the value passes its range check, it is padded with as many leading
-zero digits as necessary to meet the padding argument. </P
-><P
->A TYPE_INTEGER value buffer can conveniently be interpreted with the C library 
-function atoi(3).</P
-><H1
-CLASS="BRIDGEHEAD"
-><A
-NAME="AEN1090"
-></A
->TYPE_NUMERIC</H1
-><P
->This field type accepts a decimal number.  It is set up as follows: </P
-><PRE
-CLASS="PROGRAMLISTING"
->int set_field_type(FIELD *field,          /* field to alter */
+                   int vmin, int vmax);   /* valid range */</pre>
+        <p>Valid characters consist of an optional leading minus
+        and digits. The range check is performed on exit. If the
+        range maximum is less than or equal to the minimum, the
+        range is ignored.</p>
+
+        <p>If the value passes its range check, it is padded with
+        as many leading zero digits as necessary to meet the
+        padding argument.</p>
+
+        <p>A TYPE_INTEGER value buffer can conveniently be
+        interpreted with the C library function atoi(3).</p>
+
+        <h1 class="BRIDGEHEAD"><a name="AEN1095" id=
+        "AEN1095"></a>TYPE_NUMERIC</h1>
+
+        <p>This field type accepts a decimal number. It is set up
+        as follows:</p>
+
+        <pre class=
+        "PROGRAMLISTING">int set_field_type(FIELD *field,          /* field to alter */
                    TYPE_NUMERIC,          /* type to associate */
                    int padding,           /* # places of precision */
-                   int vmin, int vmax);   /* valid range */</PRE
-><P
->Valid characters consist of an optional leading minus and digits. possibly
-including a decimal point.  The range check is performed on exit.  If the
-range maximum is less than or equal to the minimum, the range is
-ignored. </P
-><P
->If the value passes its range check, it is padded with as many trailing
-zero digits as necessary to meet the padding argument. </P
-><P
->A TYPE_NUMERIC value buffer can conveniently be interpreted with the C library 
-function atof(3).</P
-><H1
-CLASS="BRIDGEHEAD"
-><A
-NAME="AEN1096"
-></A
->TYPE_REGEXP</H1
-><P
->This field type accepts data matching a regular expression.  It is set up
-as follows: </P
-><PRE
-CLASS="PROGRAMLISTING"
->int set_field_type(FIELD *field,          /* field to alter */
+                   int vmin, int vmax);   /* valid range */</pre>
+        <p>Valid characters consist of an optional leading minus
+        and digits. possibly including a decimal point. The range
+        check is performed on exit. If the range maximum is less
+        than or equal to the minimum, the range is ignored.</p>
+
+        <p>If the value passes its range check, it is padded with
+        as many trailing zero digits as necessary to meet the
+        padding argument.</p>
+
+        <p>A TYPE_NUMERIC value buffer can conveniently be
+        interpreted with the C library function atof(3).</p>
+
+        <h1 class="BRIDGEHEAD"><a name="AEN1101" id=
+        "AEN1101"></a>TYPE_REGEXP</h1>
+
+        <p>This field type accepts data matching a regular
+        expression. It is set up as follows:</p>
+
+        <pre class=
+        "PROGRAMLISTING">int set_field_type(FIELD *field,          /* field to alter */
                    TYPE_REGEXP,           /* type to associate */
-                   char *regexp);         /* expression to match */</PRE
-><P
->The syntax for regular expressions is that of regcomp(3).
-The check for regular-expression match is performed on exit.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="FORMDRIVER"
->18.6. Form Driver: The work horse of the forms system</A
-></H3
-><P
->As in the menu system, form_driver() plays a very important role in forms
-system.  All types of requests to forms system should be funneled through
-form_driver().</P
-><PRE
-CLASS="PROGRAMLISTING"
->int form_driver(FORM *form,     /* form on which to operate     */
-                int request)    /* form request code         */</PRE
-><P
->As you have seen some of the examples above, you have to be in a loop looking
-for user input and then decide whether it's a field data or a form request. The
-form requests are then passed to form_driver() to do the work.</P
-><P
->The requests roughly can be divided into following categories. Different
-requests and their usage is explained below:</P
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="PAGENAVREQ"
->18.6.1. Page Navigation Requests</A
-></H4
-><P
->These requests cause page-level moves through the form, triggering display of a
-new form screen. A form can be made of multiple pages. If you have a big form
-with lot of fields and logical sections, then you can divide the form into
-pages. The function set_new_page() to set a new page at the field specified.</P
-><PRE
-CLASS="PROGRAMLISTING"
->int set_new_page(FIELD *field,/* Field at which page break to be set or unset */
-         bool new_page_flag); /* should be TRUE to put a break */</PRE
-><P
->The following requests allow you to move to different pages</P
-><P
-></P
-><UL
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_NEXT_PAGE</I
-></SPAN
-> Move to the next form page.</P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_PREV_PAGE</I
-></SPAN
-> Move to the previous
-form page.</P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_FIRST_PAGE</I
-></SPAN
-> Move to the first form page.</P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_LAST_PAGE</I
-></SPAN
-> Move to the last form page. </P
-></LI
-></UL
-><P
->These requests treat the list as cyclic; that is, REQ_NEXT_PAGE from the
-last page goes to the first, and REQ_PREV_PAGE from the first page goes to
-the last.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="INTERFIELDNAVREQ"
->18.6.2. Inter-Field Navigation Requests</A
-></H4
-><P
->These requests handle navigation between fields on the same page.</P
-><P
-></P
-><UL
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_NEXT_FIELD</I
-></SPAN
-> 
-    Move to next field.  </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_PREV_FIELD</I
-></SPAN
->
-    Move to previous field.  </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_FIRST_FIELD</I
-></SPAN
->
-    Move to the first field. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_LAST_FIELD</I
-></SPAN
-> 
-    Move to the last field. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_SNEXT_FIELD</I
-></SPAN
->
-    Move to sorted next field. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_SPREV_FIELD</I
-></SPAN
-> 
-    Move to sorted previous field. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_SFIRST_FIELD</I
-></SPAN
->
-    Move to the sorted first field. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_SLAST_FIELD</I
-></SPAN
->
-    Move to the sorted last field. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_LEFT_FIELD</I
-></SPAN
->
-    Move left to field.  </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_RIGHT_FIELD</I
-></SPAN
->
-    Move right to field. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_UP_FIELD</I
-></SPAN
->
-    Move up to field.  </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_DOWN_FIELD</I
-></SPAN
->
-    Move down to field. </P
-></LI
-></UL
-><P
->These requests treat the list of fields on a page as cyclic; that is,
-REQ_NEXT_FIELD from the last field goes to the first, and REQ_PREV_FIELD
-from the first field goes to the last. The order of the fields for these
-(and the REQ_FIRST_FIELD and REQ_LAST_FIELD requests) is simply the order of
-the field pointers in the form array (as set up by new_form() or
-set_form_fields()</P
-><P
->It is also possible to traverse the fields as if they had been sorted in
-screen-position order, so the sequence goes left-to-right and top-to-bottom.
-To do this, use the second group of four sorted-movement requests.</P
-><P
->Finally, it is possible to move between fields using visual directions up,
-down, right, and left. To accomplish this, use the third group of four
-requests. Note, however, that the position of a form for purposes of these
-requests is its upper-left corner.</P
-><P
->For example, suppose you have a multi-line field B, and two single-line
-fields A and C on the same line with B, with A to the left of B and C to the
-right of B. A REQ_MOVE_RIGHT from A will go to B only if A, B, and C all
-share the same first line; otherwise it will skip over B to C.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="INTRAFIELDNAVREQ"
->18.6.3. Intra-Field Navigation Requests</A
-></H4
-><P
->These requests drive movement of the edit cursor within the currently
-selected field.</P
-><P
-></P
-><UL
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_NEXT_CHAR</I
-></SPAN
->
-    Move to next character.  </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_PREV_CHAR</I
-></SPAN
-> 
-    Move to previous character.  </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_NEXT_LINE</I
-></SPAN
-> 
-    Move to next line.  </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_PREV_LINE</I
-></SPAN
-> 
-    Move to previous line.  </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_NEXT_WORD</I
-></SPAN
-> 
-    Move to next word. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_PREV_WORD</I
-></SPAN
->
-    Move to previous word. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_BEG_FIELD</I
-></SPAN
->
-    Move to beginning of field. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_END_FIELD</I
-></SPAN
->
-    Move to end of field. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_BEG_LINE</I
-></SPAN
->
-    Move to beginning of line. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_END_LINE</I
-></SPAN
->
-    Move to end of line.  </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_LEFT_CHAR</I
-></SPAN
-> 
-    Move left in field. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_RIGHT_CHAR</I
-></SPAN
->
-    Move right in field.  </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_UP_CHAR</I
-></SPAN
->
-    Move up in field. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_DOWN_CHAR</I
-></SPAN
-> 
-    Move down in field. </P
-></LI
-></UL
-><P
->Each word is separated from the previous and next characters by whitespace.
-The commands to move to beginning and end of line or field look for the
-first or last non-pad character in their ranges.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="SCROLLREQ"
->18.6.4. Scrolling Requests</A
-></H4
-><P
->Fields that are dynamic and have grown and fields explicitly created with
-offscreen rows are scrollable. One-line fields scroll horizontally;
-multi-line fields scroll vertically. Most scrolling is triggered by editing
-and intra-field movement (the library scrolls the field to keep the cursor
-visible). It is possible to explicitly request scrolling with the following
-requests:</P
-><P
-></P
-><UL
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_SCR_FLINE</I
-></SPAN
->
-    Scroll vertically forward a line.  </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_SCR_BLINE</I
-></SPAN
-> 
-    Scroll vertically backward a line.  </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_SCR_FPAGE</I
-></SPAN
-> 
-    Scroll vertically forward a page.  </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_SCR_BPAGE</I
-></SPAN
->
-    Scroll vertically backward a page. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_SCR_FHPAGE</I
-></SPAN
->
-    Scroll vertically forward half a page. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_SCR_BHPAGE</I
-></SPAN
->
-    Scroll vertically backward half a page. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_SCR_FCHAR</I
-></SPAN
->
-    Scroll horizontally forward a character. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_SCR_BCHAR</I
-></SPAN
->
-    Scroll horizontally backward a character. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_SCR_HFLINE</I
-></SPAN
->
-    Scroll horizontally one field width forward. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_SCR_HBLINE</I
-></SPAN
->
-    Scroll horizontally one field width backward. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_SCR_HFHALF</I
-></SPAN
->
-    Scroll horizontally one half field width forward. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_SCR_HBHALF</I
-></SPAN
->
-    Scroll horizontally one half field width backward. </P
-></LI
-></UL
-><P
->For scrolling purposes, a page of a field is the height of its visible part.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="EDITREQ"
->18.6.5. Editing Requests</A
-></H4
-><P
->When you pass the forms driver an ASCII character, it is treated as a
-request to add the character to the field's data buffer. Whether this is an
-insertion or a replacement depends on the field's edit mode (insertion is
-the default.</P
-><P
->The following requests support editing the field and changing the edit mode:</P
-><P
-></P
-><UL
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_INS_MODE</I
-></SPAN
-> 
-    Set insertion mode. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_OVL_MODE</I
-></SPAN
-> 
-    Set overlay mode. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_NEW_LINE</I
-></SPAN
-> 
-    New line request (see below for explanation). </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_INS_CHAR</I
-></SPAN
->
-    Insert space at character location.  </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_INS_LINE</I
-></SPAN
->
-    Insert blank line at character location.  </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_DEL_CHAR</I
-></SPAN
->
-    Delete character at cursor.  </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_DEL_PREV</I
-></SPAN
-> 
-    Delete previous word at cursor. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_DEL_LINE</I
-></SPAN
->
-    Delete line at cursor. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_DEL_WORD</I
-></SPAN
->
-    Delete word at cursor. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_CLR_EOL</I
-></SPAN
->
-    Clear to end of line. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_CLR_EOF</I
-></SPAN
->
-    Clear to end of field. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_CLR_FIELD</I
-></SPAN
->
-    Clear entire field. </P
-></LI
-></UL
-><P
->The behavior of the REQ_NEW_LINE and REQ_DEL_PREV requests is complicated
-and partly controlled by a pair of forms options. The special cases are
-triggered when the cursor is at the beginning of a field, or on the last
-line of the field.</P
-><P
->First, we consider REQ_NEW_LINE:</P
-><P
->The normal behavior of REQ_NEW_LINE in insert mode is to break the current
-line at the position of the edit cursor, inserting the portion of the
-current line after the cursor as a new line following the current and moving
-the cursor to the beginning of that new line (you may think of this as
-inserting a newline in the field buffer).</P
-><P
->The normal behavior of REQ_NEW_LINE in overlay mode is to clear the current
-line from the position of the edit cursor to end of line. The cursor is then
-moved to the beginning of the next line.</P
-><P
->However, REQ_NEW_LINE at the beginning of a field, or on the last line of a
-field, instead does a REQ_NEXT_FIELD. O_NL_OVERLOAD option is off, this
-special action is disabled.</P
-><P
->Now, let us consider REQ_DEL_PREV:</P
-><P
->The normal behavior of REQ_DEL_PREV is to delete the previous character. If
-insert mode is on, and the cursor is at the start of a line, and the text on
-that line will fit on the previous one, it instead appends the contents of
-the current line to the previous one and deletes the current line (you may
-think of this as deleting a newline from the field buffer).</P
-><P
->However, REQ_DEL_PREV at the beginning of a field is instead treated as a
-REQ_PREV_FIELD.</P
-><P
->If the O_BS_OVERLOAD option is off, this special action is disabled and the
-forms driver just returns E_REQUEST_DENIED.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="ORDERREQ"
->18.6.6. Order Requests</A
-></H4
-><P
->If the type of your field is ordered, and has associated functions for
-getting the next and previous values of the type from a given value, there
-are requests that can fetch that value into the field buffer:</P
-><P
-></P
-><UL
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_NEXT_CHOICE</I
-></SPAN
-> 
-    Place the successor value of the current value in the buffer. 
-    </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_PREV_CHOICE</I
-></SPAN
-> 
-    Place the predecessor value of the current value in the buffer.
-    </P
-></LI
-></UL
-><P
->Of the built-in field types, only TYPE_ENUM has built-in successor and
-predecessor functions. When you define a field type of your own (see Custom
-Validation Types), you can associate our own ordering functions.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="APPLICCOMMANDS"
->18.6.7. Application Commands</A
-></H4
-><P
->Form requests are represented as integers above the curses value greater than
-KEY_MAX and less than or equal to the constant MAX_COMMAND.  A value within this
-range gets ignored by form_driver(). So this can be used for any purpose by the
-application. It can be treated as an application specific action and take
-corresponding action.</P
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="TOOLS"
->19. Tools and Widget Libraries</A
-></H2
-><P
-> 
-Now that you have seen the capabilities of ncurses and its sister libraries, you
-are rolling your sleeves up and gearing for a project that heavily manipulates
-screen. But wait..  It can be pretty difficult to write and maintain complex GUI
-widgets in plain ncurses or even with the additional libraries. There are some
-ready-to-use tools and widget libraries that can be used instead of writing your
-own widgets. You can use some of them, get ideas from the code, or even extend
-them.</P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="CDK"
->19.1. CDK (Curses Development Kit)</A
-></H3
-><P
->In the author's words </P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
-> 
-CDK stands for 'Curses Development Kit' and it currently contains 21 ready
-to use widgets which facilitate the speedy development of full screen
-curses programs. </I
-></SPAN
-></P
-><P
->The kit provides some useful widgets, which can be used in your programs
-directly. It's pretty well written and the documentation is very good. The
-examples in the examples directory can be a good place to start for beginners.
-The CDK can be downloaded from <A
-HREF="http://invisible-island.net/cdk/"
-TARGET="_top"
->http://invisible-island.net/cdk/</A
->
-. Follow the instructions in 
-README file to install it.</P
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="WIDGETLIST"
->19.1.1. Widget List</A
-></H4
-><P
->The following is the list of widgets provided with cdk and their description.</P
-><PRE
-CLASS="PROGRAMLISTING"
->Widget Type           Quick Description
+                   char *regexp);         /* expression to match */</pre>
+        <p>The syntax for regular expressions is that of
+        regcomp(3). The check for regular-expression match is
+        performed on exit.</p>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="FORMDRIVER" id=
+        "FORMDRIVER">18.6. Form Driver: The work horse of the forms
+        system</a></h3>
+
+        <p>As in the menu system, form_driver() plays a very
+        important role in forms system. All types of requests to
+        forms system should be funneled through form_driver().</p>
+
+        <pre class=
+        "PROGRAMLISTING">int form_driver(FORM *form,     /* form on which to operate     */
+                int request)    /* form request code         */</pre>
+        <p>As you have seen some of the examples above, you have to
+        be in a loop looking for user input and then decide whether
+        it is a field data or a form request. The form requests are
+        then passed to form_driver() to do the work.</p>
+
+        <p>The requests roughly can be divided into following
+        categories. Different requests and their usage is explained
+        below:</p>
+
+        <div class="SECT3">
+          <hr>
+
+          <h4 class="SECT3"><a name="PAGENAVREQ" id=
+          "PAGENAVREQ">18.6.1. Page Navigation Requests</a></h4>
+
+          <p>These requests cause page-level moves through the
+          form, triggering display of a new form screen. A form can
+          be made of multiple pages. If you have a big form with
+          lot of fields and logical sections, then you can divide
+          the form into pages. The function set_new_page() to set a
+          new page at the field specified.</p>
+
+          <pre class=
+          "PROGRAMLISTING">int set_new_page(FIELD *field,/* Field at which page break to be set or unset */
+         bool new_page_flag); /* should be TRUE to put a break */</pre>
+          <p>The following requests allow you to move to different
+          pages</p>
+
+          <ul>
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_NEXT_PAGE</i></span> Move to the next
+              form page.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_PREV_PAGE</i></span> Move to the
+              previous form page.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_FIRST_PAGE</i></span> Move to the
+              first form page.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_LAST_PAGE</i></span> Move to the last
+              form page.</p>
+            </li>
+          </ul>
+
+          <p>These requests treat the list as cyclic; that is,
+          REQ_NEXT_PAGE from the last page goes to the first, and
+          REQ_PREV_PAGE from the first page goes to the last.</p>
+        </div>
+
+        <div class="SECT3">
+          <hr>
+
+          <h4 class="SECT3"><a name="INTERFIELDNAVREQ" id=
+          "INTERFIELDNAVREQ">18.6.2. Inter-Field Navigation
+          Requests</a></h4>
+
+          <p>These requests handle navigation between fields on the
+          same page.</p>
+
+          <ul>
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_NEXT_FIELD</i></span> Move to next
+              field.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_PREV_FIELD</i></span> Move to previous
+              field.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_FIRST_FIELD</i></span> Move to the
+              first field.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_LAST_FIELD</i></span> Move to the last
+              field.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_SNEXT_FIELD</i></span> Move to sorted
+              next field.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_SPREV_FIELD</i></span> Move to sorted
+              previous field.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_SFIRST_FIELD</i></span> Move to the
+              sorted first field.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_SLAST_FIELD</i></span> Move to the
+              sorted last field.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_LEFT_FIELD</i></span> Move left to
+              field.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_RIGHT_FIELD</i></span> Move right to
+              field.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_UP_FIELD</i></span> Move up to
+              field.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_DOWN_FIELD</i></span> Move down to
+              field.</p>
+            </li>
+          </ul>
+
+          <p>These requests treat the list of fields on a page as
+          cyclic; that is, REQ_NEXT_FIELD from the last field goes
+          to the first, and REQ_PREV_FIELD from the first field
+          goes to the last. The order of the fields for these (and
+          the REQ_FIRST_FIELD and REQ_LAST_FIELD requests) is
+          simply the order of the field pointers in the form array
+          (as set up by new_form() or set_form_fields()</p>
+
+          <p>It is also possible to traverse the fields as if they
+          had been sorted in screen-position order, so the sequence
+          goes left-to-right and top-to-bottom. To do this, use the
+          second group of four sorted-movement requests.</p>
+
+          <p>Finally, it is possible to move between fields using
+          visual directions up, down, right, and left. To
+          accomplish this, use the third group of four requests.
+          Note, however, that the position of a form for purposes
+          of these requests is its upper-left corner.</p>
+
+          <p>For example, suppose you have a multi-line field B,
+          and two single-line fields A and C on the same line with
+          B, with A to the left of B and C to the right of B. A
+          REQ_MOVE_RIGHT from A will go to B only if A, B, and C
+          all share the same first line; otherwise it will skip
+          over B to C.</p>
+        </div>
+
+        <div class="SECT3">
+          <hr>
+
+          <h4 class="SECT3"><a name="INTRAFIELDNAVREQ" id=
+          "INTRAFIELDNAVREQ">18.6.3. Intra-Field Navigation
+          Requests</a></h4>
+
+          <p>These requests drive movement of the edit cursor
+          within the currently selected field.</p>
+
+          <ul>
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_NEXT_CHAR</i></span> Move to next
+              character.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_PREV_CHAR</i></span> Move to previous
+              character.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_NEXT_LINE</i></span> Move to next
+              line.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_PREV_LINE</i></span> Move to previous
+              line.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_NEXT_WORD</i></span> Move to next
+              word.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_PREV_WORD</i></span> Move to previous
+              word.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_BEG_FIELD</i></span> Move to beginning
+              of field.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_END_FIELD</i></span> Move to end of
+              field.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_BEG_LINE</i></span> Move to beginning
+              of line.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_END_LINE</i></span> Move to end of
+              line.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_LEFT_CHAR</i></span> Move left in
+              field.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_RIGHT_CHAR</i></span> Move right in
+              field.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_UP_CHAR</i></span> Move up in
+              field.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_DOWN_CHAR</i></span> Move down in
+              field.</p>
+            </li>
+          </ul>
+
+          <p>Each word is separated from the previous and next
+          characters by whitespace. The commands to move to
+          beginning and end of line or field look for the first or
+          last non-pad character in their ranges.</p>
+        </div>
+
+        <div class="SECT3">
+          <hr>
+
+          <h4 class="SECT3"><a name="SCROLLREQ" id=
+          "SCROLLREQ">18.6.4. Scrolling Requests</a></h4>
+
+          <p>Fields that are dynamic and have grown and fields
+          explicitly created with offscreen rows are scrollable.
+          One-line fields scroll horizontally; multi-line fields
+          scroll vertically. Most scrolling is triggered by editing
+          and intra-field movement (the library scrolls the field
+          to keep the cursor visible). It is possible to explicitly
+          request scrolling with the following requests:</p>
+
+          <ul>
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_SCR_FLINE</i></span> Scroll vertically
+              forward a line.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_SCR_BLINE</i></span> Scroll vertically
+              backward a line.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_SCR_FPAGE</i></span> Scroll vertically
+              forward a page.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_SCR_BPAGE</i></span> Scroll vertically
+              backward a page.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_SCR_FHPAGE</i></span> Scroll
+              vertically forward half a page.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_SCR_BHPAGE</i></span> Scroll
+              vertically backward half a page.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_SCR_FCHAR</i></span> Scroll
+              horizontally forward a character.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_SCR_BCHAR</i></span> Scroll
+              horizontally backward a character.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_SCR_HFLINE</i></span> Scroll
+              horizontally one field width forward.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_SCR_HBLINE</i></span> Scroll
+              horizontally one field width backward.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_SCR_HFHALF</i></span> Scroll
+              horizontally one half field width forward.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_SCR_HBHALF</i></span> Scroll
+              horizontally one half field width backward.</p>
+            </li>
+          </ul>
+
+          <p>For scrolling purposes, a page of a field is the
+          height of its visible part.</p>
+        </div>
+
+        <div class="SECT3">
+          <hr>
+
+          <h4 class="SECT3"><a name="EDITREQ" id="EDITREQ">18.6.5.
+          Editing Requests</a></h4>
+
+          <p>When you pass the forms driver an ASCII character, it
+          is treated as a request to add the character to the
+          field's data buffer. Whether this is an insertion or a
+          replacement depends on the field's edit mode (insertion
+          is the default.</p>
+
+          <p>The following requests support editing the field and
+          changing the edit mode:</p>
+
+          <ul>
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_INS_MODE</i></span> Set insertion
+              mode.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_OVL_MODE</i></span> Set overlay
+              mode.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_NEW_LINE</i></span> New line request
+              (see below for explanation).</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_INS_CHAR</i></span> Insert space at
+              character location.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_INS_LINE</i></span> Insert blank line
+              at character location.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_DEL_CHAR</i></span> Delete character
+              at cursor.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_DEL_PREV</i></span> Delete previous
+              word at cursor.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_DEL_LINE</i></span> Delete line at
+              cursor.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_DEL_WORD</i></span> Delete word at
+              cursor.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_CLR_EOL</i></span> Clear to end of
+              line.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_CLR_EOF</i></span> Clear to end of
+              field.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_CLR_FIELD</i></span> Clear entire
+              field.</p>
+            </li>
+          </ul>
+
+          <p>The behavior of the REQ_NEW_LINE and REQ_DEL_PREV
+          requests is complicated and partly controlled by a pair
+          of forms options. The special cases are triggered when
+          the cursor is at the beginning of a field, or on the last
+          line of the field.</p>
+
+          <p>First, we consider REQ_NEW_LINE:</p>
+
+          <p>The normal behavior of REQ_NEW_LINE in insert mode is
+          to break the current line at the position of the edit
+          cursor, inserting the portion of the current line after
+          the cursor as a new line following the current and moving
+          the cursor to the beginning of that new line (you may
+          think of this as inserting a newline in the field
+          buffer).</p>
+
+          <p>The normal behavior of REQ_NEW_LINE in overlay mode is
+          to clear the current line from the position of the edit
+          cursor to end of line. The cursor is then moved to the
+          beginning of the next line.</p>
+
+          <p>However, REQ_NEW_LINE at the beginning of a field, or
+          on the last line of a field, instead does a
+          REQ_NEXT_FIELD. O_NL_OVERLOAD option is off, this special
+          action is disabled.</p>
+
+          <p>Now, let us consider REQ_DEL_PREV:</p>
+
+          <p>The normal behavior of REQ_DEL_PREV is to delete the
+          previous character. If insert mode is on, and the cursor
+          is at the start of a line, and the text on that line will
+          fit on the previous one, it instead appends the contents
+          of the current line to the previous one and deletes the
+          current line (you may think of this as deleting a newline
+          from the field buffer).</p>
+
+          <p>However, REQ_DEL_PREV at the beginning of a field is
+          instead treated as a REQ_PREV_FIELD.</p>
+
+          <p>If the O_BS_OVERLOAD option is off, this special
+          action is disabled and the forms driver just returns
+          E_REQUEST_DENIED.</p>
+        </div>
+
+        <div class="SECT3">
+          <hr>
+
+          <h4 class="SECT3"><a name="ORDERREQ" id=
+          "ORDERREQ">18.6.6. Order Requests</a></h4>
+
+          <p>If the type of your field is ordered, and has
+          associated functions for getting the next and previous
+          values of the type from a given value, there are requests
+          that can fetch that value into the field buffer:</p>
+
+          <ul>
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_NEXT_CHOICE</i></span> Place the
+              successor value of the current value in the
+              buffer.</p>
+            </li>
+
+            <li>
+              <p><span class="emphasis"><i class=
+              "EMPHASIS">REQ_PREV_CHOICE</i></span> Place the
+              predecessor value of the current value in the
+              buffer.</p>
+            </li>
+          </ul>
+
+          <p>Of the built-in field types, only TYPE_ENUM has
+          built-in successor and predecessor functions. When you
+          define a field type of your own (see Custom Validation
+          Types), you can associate our own ordering functions.</p>
+        </div>
+
+        <div class="SECT3">
+          <hr>
+
+          <h4 class="SECT3"><a name="APPLICCOMMANDS" id=
+          "APPLICCOMMANDS">18.6.7. Application Commands</a></h4>
+
+          <p>Form requests are represented as integers above the
+          curses value greater than KEY_MAX and less than or equal
+          to the constant MAX_COMMAND. A value within this range
+          gets ignored by form_driver(). So this can be used for
+          any purpose by the application. It can be treated as an
+          application specific action and take corresponding
+          action.</p>
+        </div>
+      </div>
+    </div>
+
+    <div class="SECT1">
+      <hr>
+
+      <h2 class="SECT1"><a name="TOOLS" id="TOOLS">19. Tools and
+      Widget Libraries</a></h2>
+
+      <p>Now that you have seen the capabilities of ncurses and its
+      sister libraries, you are rolling your sleeves up and gearing
+      for a project that heavily manipulates screen. But wait.. It
+      can be pretty difficult to write and maintain complex GUI
+      widgets in plain ncurses or even with the additional
+      libraries. There are some ready-to-use tools and widget
+      libraries that can be used instead of writing your own
+      widgets. You can use some of them, get ideas from the code,
+      or even extend them.</p>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="CDK" id="CDK">19.1. CDK (Curses
+        Development Kit)</a></h3>
+
+        <p>In the author's words</p>
+
+        <p><span class="emphasis"><i class="EMPHASIS">CDK stands
+        for 'Curses Development Kit' and it currently contains 21
+        ready to use widgets which facilitate the speedy
+        development of full screen curses programs.</i></span>
+        </p>
+
+        <p>The kit provides some useful widgets, which can be used
+        in your programs directly. It is pretty well written and
+        the documentation is very good. The examples in the
+        examples directory can be a good place to start for
+        beginners. The CDK can be downloaded from <a href=
+        "https://invisible-island.net/cdk/" target=
+        "_top">https://invisible-island.net/cdk/</a> . Follow the
+        instructions in README file to install it.</p>
+
+        <div class="SECT3">
+          <hr>
+
+          <h4 class="SECT3"><a name="WIDGETLIST" id=
+          "WIDGETLIST">19.1.1. Widget List</a></h4>
+
+          <p>The following is the list of widgets provided with cdk
+          and their description.</p>
+
+          <pre class=
+          "PROGRAMLISTING">Widget Type           Quick Description
 ===========================================================================
 Alphalist             Allows a user to select from a list of words, with
                       the ability to narrow the search list by typing in a
@@ -8368,346 +7072,285 @@
                       dates and phone numbers.
 Viewer                This is a file/information viewer. Very useful
                       when you need to display loads of information.
-===========================================================================</PRE
-><P
->A few of the widgets are modified by Thomas Dickey in recent versions.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="CDKATTRACT"
->19.1.2. Some Attractive Features</A
-></H4
-><P
->Apart from making our life easier with readily usable widgets, cdk solves one
-frustrating problem with printing multi colored strings, justified strings
-elegantly.  Special formatting tags can be embedded in the strings which are
-passed to CDK functions. For Example</P
-><P
->If the string</P
-><PRE
-CLASS="PROGRAMLISTING"
->"&lt;/B/1&gt;This line should have a yellow foreground and a blue
-background.&lt;!1&gt;"</PRE
-><P
->given as a parameter to newCDKLabel(), it prints the line with yellow foreground
-and blue background. There are other tags available for justifying string,
-embedding special drawing characters etc.. Please refer to the man page
-cdk_display(3X) for details. The man page explains the usage with nice examples.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="CDKCONCLUSION"
->19.1.3. Conclusion</A
-></H4
-><P
->All in all, CDK is a well-written package of widgets, which if used properly can
-form a strong frame work for developing complex GUI.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="DIALOG"
->19.2. The dialog</A
-></H3
-><P
->Long long ago, in September 1994, when few people knew linux, Jeff Tranter wrote
-an <A
-HREF="http://www2.linuxjournal.com/lj-issues/issue5/2807.html"
-TARGET="_top"
->article</A
-> on dialog in Linux Journal. He starts the article with these words..</P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Linux is based on the Unix operating system, but also features a number of
-unique and useful kernel features and application programs that often go beyond
-what is available under Unix. One little-known gem is "dialog", a utility for
-creating professional-looking dialog boxes from within shell scripts. This
-article presents a tutorial introduction to the dialog utility, and shows
-examples of how and where it can be used</I
-></SPAN
-></P
-><P
-> 
-As he explains, dialog is a real gem in making professional-looking dialog boxes
-with ease. It creates a variety of dialog boxes, menus, check lists etc.. It is
-usually installed by default. If not, you can download it from <A
-HREF="http://invisible-island.net/dialog/"
-TARGET="_top"
->Thomas Dickey</A
->'s site. </P
-><P
->The above-mentioned article gives a very good overview of its uses and
-capabilites.  The man page has more details. It can be used in variety of
-situations. One good example is building of linux kernel in text mode. Linux
-kernel uses a modified version of dialog tailored for its needs. </P
-><P
->dialog was initially designed to be used with shell scripts. If you want to use
-its functionality in a c program, then you can use libdialog. The documentation
-regarding this is sparse. Definitive reference is the dialog.h header file which
-comes with the library. You may need to hack here and there to get the required
-output. The source is easily customizable. I have used it on a number of
-occasions by modifying the code.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="PERLCURSES"
->19.3. Perl Curses Modules CURSES::FORM and CURSES::WIDGETS</A
-></H3
-><P
->The perl module Curses, Curses::Form and Curses::Widgets give access to curses
-from perl.  If you have curses and basic perl is installed, you can get these
-modules from <A
-HREF="http://www.cpan.org/modules/01modules.index.html"
-TARGET="_top"
-> CPAN
-All Modules page</A
->.  Get the three zipped modules in the Curses category.
-Once installed you can use these modules from perl scripts like any other
-module. For more information on perl modules see perlmod man page. The above
-modules come with good documentation and they have some demo scripts to test the
-functionality. Though the widgets provided are very rudimentary, these modules
-provide good access to curses library from perl.</P
-><P
->Some of my code examples are converted to perl by Anuradha Ratnaweera and they
-are available in the <TT
-CLASS="LITERAL"
->perl</TT
-> directory.</P
-><P
-> 
-For more information see man pages Curses(3) , Curses::Form(3) and
-Curses::Widgets(3).  These pages are installed only when the above modules are
-acquired and installed.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="JUSTFORFUN"
->20. Just For Fun !!!</A
-></H2
-><P
->This section contains few programs written by me just for fun. They don't
-signify a better programming practice or the best way of using ncurses. They are
-provided here so as to allow beginners to get ideas and add more programs to
-this section.  If you have written a couple of nice, simple programs in curses
-and want them to included here, contact <A
-HREF="mailto:ppadala@gmail.com"
-TARGET="_top"
->me</A
->.</P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="GAMEOFLIFE"
->20.1. The Game of Life</A
-></H3
-><P
->Game of life is a wonder of math. In 
-<A
-HREF="http://www.math.com/students/wonders/life/life.html"
-TARGET="_top"
->Paul Callahan</A
->'s words</P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->The Game of Life (or simply Life) is not a game in the conventional sense. There
+===========================================================================</pre>
+          <p>A few of the widgets are modified by Thomas Dickey in
+          recent versions.</p>
+        </div>
+
+        <div class="SECT3">
+          <hr>
+
+          <h4 class="SECT3"><a name="CDKATTRACT" id=
+          "CDKATTRACT">19.1.2. Some Attractive Features</a></h4>
+
+          <p>Apart from making our life easier with readily usable
+          widgets, cdk solves one frustrating problem with printing
+          multi colored strings, justified strings elegantly.
+          Special formatting tags can be embedded in the strings
+          which are passed to CDK functions. For Example</p>
+
+          <p>If the string</p>
+
+          <pre class=
+          "PROGRAMLISTING">"&lt;/B/1&gt;This line should have a yellow foreground and a blue
+background.&lt;!1&gt;"</pre>
+          <p>given as a parameter to newCDKLabel(), it prints the
+          line with yellow foreground and blue background. There
+          are other tags available for justifying string, embedding
+          special drawing characters, etc. Please refer to the man
+          page cdk_display(3X) for details. The man page explains
+          the usage with nice examples.</p>
+        </div>
+
+        <div class="SECT3">
+          <hr>
+
+          <h4 class="SECT3"><a name="CDKCONCLUSION" id=
+          "CDKCONCLUSION">19.1.3. Conclusion</a></h4>
+
+          <p>All in all, CDK is a well-written package of widgets,
+          which if used properly can form a strong frame work for
+          developing complex GUI.</p>
+        </div>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="DIALOG" id="DIALOG">19.2. The
+        dialog</a></h3>
+
+        <p>Long long ago, in September 1994, when few people knew
+        linux, Jeff Tranter wrote an <a href=
+        "http://www2.linuxjournal.com/lj-issues/issue5/2807.html"
+        target="_top">article</a> on dialog in Linux Journal. He
+        starts the article with these words..</p>
+
+        <p><span class="emphasis"><i class="EMPHASIS">Linux is
+        based on the Unix operating system, but also features a
+        number of unique and useful kernel features and application
+        programs that often go beyond what is available under Unix.
+        One little-known gem is "dialog", a utility for creating
+        professional-looking dialog boxes from within shell
+        scripts. This article presents a tutorial introduction to
+        the dialog utility, and shows examples of how and where it
+        can be used</i></span>
+        </p>
+
+        <p>As he explains, dialog is a real gem in making
+        professional-looking dialog boxes with ease. It creates a
+        variety of dialog boxes, menus, check lists, etc. It is
+        usually installed by default. If not, you can download it
+        from <a href="https://invisible-island.net/dialog/" target=
+        "_top">Thomas Dickey</a>'s site.</p>
+
+        <p>The above-mentioned article gives a very good overview
+        of its uses and capabilities. The man page has more
+        details. It can be used in variety of situations. One good
+        example is building of linux kernel in text mode. Linux
+        kernel uses a modified version of dialog tailored for its
+        needs.</p>
+
+        <p>dialog was initially designed to be used with shell
+        scripts. If you want to use its functionality in a c
+        program, then you can use libdialog. The documentation
+        regarding this is sparse. Definitive reference is the
+        dialog.h header file which comes with the library. You may
+        need to hack here and there to get the required output. The
+        source is easily customizable. I have used it on a number
+        of occasions by modifying the code.</p>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="PERLCURSES" id=
+        "PERLCURSES">19.3. Perl Curses Modules CURSES::FORM and
+        CURSES::WIDGETS</a></h3>
+
+        <p>The perl module Curses, Curses::Form and Curses::Widgets
+        give access to curses from perl. If you have curses and
+        basic perl is installed, you can get these modules from
+        <a href="http://www.cpan.org/modules/01modules.index.html"
+        target="_top">CPAN All Modules page</a>. Get the three
+        zipped modules in the Curses category. Once installed you
+        can use these modules from perl scripts like any other
+        module. For more information on perl modules see perlmod
+        man page. The above modules come with good documentation
+        and they have some demo scripts to test the functionality.
+        Though the widgets provided are very rudimentary, these
+        modules provide good access to curses library from
+        perl.</p>
+
+        <p>Some of my code examples are converted to perl by
+        Anuradha Ratnaweera and they are available in the
+        <tt class="LITERAL">perl</tt> directory.</p>
+
+        <p>For more information see man pages Curses(3) ,
+        Curses::Form(3) and Curses::Widgets(3). These pages are
+        installed only when the above modules are acquired and
+        installed.</p>
+      </div>
+    </div>
+
+    <div class="SECT1">
+      <hr>
+
+      <h2 class="SECT1"><a name="JUSTFORFUN" id="JUSTFORFUN">20.
+      Just For Fun !!!</a></h2>
+
+      <p>This section contains few programs written by me just for
+      fun. They don't signify a better programming practice or the
+      best way of using ncurses. They are provided here so as to
+      allow beginners to get ideas and add more programs to this
+      section. If you have written a couple of nice, simple
+      programs in curses and want them to included here, contact
+      <a href="mailto:ppadala@gmail.com" target="_top">me</a>.</p>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="GAMEOFLIFE" id=
+        "GAMEOFLIFE">20.1. The Game of Life</a></h3>
+
+        <p>Game of life is a wonder of math. In <a href=
+        "http://www.math.com/students/wonders/life/life.html"
+        target="_top">Paul Callahan</a>'s words</p>
+
+        <pre class="PROGRAMLISTING"><span class="emphasis"><i class=
+        "EMPHASIS">The Game of Life (or simply Life) is not a game in the conventional sense. There
 are no players, and no winning or losing. Once the "pieces" are placed in the
 starting position, the rules determine everything that happens later.
 Nevertheless, Life is full of surprises! In most cases, it is impossible to look
 at a starting position (or pattern) and see what will happen in the future. The
-only way to find out is to follow the rules of the game.</I
-></SPAN
-></PRE
-><P
->This program starts with a simple inverted U pattern and shows how wonderful
-life works. There is a lot of room for improvement in the program. You can let
-the user enter pattern of his choice or even take input from a file. You can
-also change rules and play with a lot of variations. Search on <A
-HREF="http://www.google.com"
-TARGET="_top"
->google</A
-> for interesting information on game
-of life.</P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->File Path: JustForFun/life.c</I
-></SPAN
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="MAGIC"
->20.2. Magic Square</A
-></H3
-><P
->Magic Square, another wonder of math, is very simple to understand but very
-difficult to make. In a magic square sum of the numbers in each row, each column
-is equal.  Even diagnol sum can be equal. There are many variations which have
-special properties.</P
-><P
->This program creates a simple magic square of odd order.</P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->File Path: JustForFun/magic.c</I
-></SPAN
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="HANOI"
->20.3. Towers of Hanoi</A
-></H3
-><P
->The famous towers of hanoi solver. The aim of the game is to move the disks on
-the first peg to last peg, using middle peg as a temporary stay. The catch is
-not to place a larger disk over a small disk at any time.</P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->File Path: JustForFun/hanoi.c</I
-></SPAN
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="QUEENS"
->20.4. Queens Puzzle</A
-></H3
-><P
->The objective of the famous N-Queen puzzle is to put N queens on a N X N chess
-board without attacking each other. </P
-><P
->This program solves it with a simple backtracking technique.</P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->File Path: JustForFun/queens.c</I
-></SPAN
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="SHUFFLE"
->20.5. Shuffle</A
-></H3
-><P
->A fun game, if you have time to kill. </P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->File Path: JustForFun/shuffle.c</I
-></SPAN
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="TT"
->20.6. Typing Tutor</A
-></H3
-><P
->A simple typing tutor, I created more out of need than for ease of use. If you
-know how to put your fingers correctly on the keyboard, but lack practice, this
-can be helpful. </P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->File Path: JustForFun/tt.c</I
-></SPAN
-></P
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="REF"
->21. References</A
-></H2
-><P
-></P
-><UL
-><LI
-><P
->NCURSES man pages </P
-></LI
-><LI
-><P
->NCURSES FAQ at <A
-HREF="http://invisible-island.net/ncurses/ncurses.faq.html"
-TARGET="_top"
->http://invisible-island.net/ncurses/ncurses.faq.html</A
->
-    </P
-></LI
-><LI
-><P
->Writing programs with NCURSES by Eric Raymond and Zeyd M.
-Ben-Halim at 
-<A
-HREF="http://invisible-island.net/ncurses/ncurses-intro.html"
-TARGET="_top"
->http://invisible-island.net/ncurses/ncurses-intro.html</A
-> - somewhat
-obsolete. I was inspired by this document and the structure of this HOWTO
-follows from the original document</P
-></LI
-></UL
-></DIV
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
+only way to find out is to follow the rules of the game.</i></span></pre>
+        <p>This program starts with a simple inverted U pattern and
+        shows how wonderful life works. There is a lot of room for
+        improvement in the program. You can let the user enter
+        pattern of his choice or even take input from a file. You
+        can also change rules and play with a lot of variations.
+        Search on <a href="https://www.google.com" target=
+        "_top">google</a> for interesting information on game of
+        life.</p>
+
+        <p><span class="emphasis"><i class="EMPHASIS">File Path:
+        JustForFun/life.c</i></span>
+        </p>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="MAGIC" id="MAGIC">20.2. Magic
+        Square</a></h3>
+
+        <p>Magic Square, another wonder of math, is very simple to
+        understand but very difficult to make. In a magic square
+        sum of the numbers in each row, each column is equal. Even
+        diagonal sum can be equal. There are many variations which
+        have special properties.</p>
+
+        <p>This program creates a simple magic square of odd
+        order.</p>
+
+        <p><span class="emphasis"><i class="EMPHASIS">File Path:
+        JustForFun/magic.c</i></span>
+        </p>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="HANOI" id="HANOI">20.3. Towers
+        of Hanoi</a></h3>
+
+        <p>The famous towers of hanoi solver. The aim of the game
+        is to move the disks on the first peg to last peg, using
+        middle peg as a temporary stay. The catch is not to place a
+        larger disk over a small disk at any time.</p>
+
+        <p><span class="emphasis"><i class="EMPHASIS">File Path:
+        JustForFun/hanoi.c</i></span>
+        </p>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="QUEENS" id="QUEENS">20.4. Queens
+        Puzzle</a></h3>
+
+        <p>The objective of the famous N-Queen puzzle is to put N
+        queens on a N X N chess board without attacking each
+        other.</p>
+
+        <p>This program solves it with a simple backtracking
+        technique.</p>
+
+        <p><span class="emphasis"><i class="EMPHASIS">File Path:
+        JustForFun/queens.c</i></span>
+        </p>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="SHUFFLE" id="SHUFFLE">20.5.
+        Shuffle</a></h3>
+
+        <p>A fun game, if you have time to kill.</p>
+
+        <p><span class="emphasis"><i class="EMPHASIS">File Path:
+        JustForFun/shuffle.c</i></span>
+        </p>
+      </div>
+
+      <div class="SECT2">
+        <hr>
+
+        <h3 class="SECT2"><a name="TT" id="TT">20.6. Typing
+        Tutor</a></h3>
+
+        <p>A simple typing tutor, I created more out of need than
+        for ease of use. If you know how to put your fingers
+        correctly on the keyboard, but lack practice, this can be
+        helpful.</p>
+
+        <p><span class="emphasis"><i class="EMPHASIS">File Path:
+        JustForFun/tt.c</i></span>
+        </p>
+      </div>
+    </div>
+
+    <div class="SECT1">
+      <hr>
+
+      <h2 class="SECT1"><a name="REF" id="REF">21. References</a></h2>
+
+      <ul>
+        <li>
+          <p>NCURSES man pages</p>
+        </li>
+
+        <li>
+          <p>NCURSES FAQ at <a href=
+          "https://invisible-island.net/ncurses/ncurses.faq.html"
+          target=
+          "_top">https://invisible-island.net/ncurses/ncurses.faq.html</a></p>
+        </li>
+
+        <li>
+          <p>Writing programs with NCURSES by Eric Raymond and Zeyd
+          M. Ben-Halim at <a href=
+          "https://invisible-island.net/ncurses/ncurses-intro.html"
+          target=
+          "_top">https://invisible-island.net/ncurses/ncurses-intro.html</a>
+          - somewhat obsolete. I was inspired by this document and
+          the structure of this HOWTO follows from the original
+          document</p>
+        </li>
+      </ul>
+    </div>
+  </div>
+</body>
+</html>
diff --git a/doc/html/ada/files.htm b/doc/html/ada/files.htm
index 49441be..d48af03 100644
--- a/doc/html/ada/files.htm
+++ b/doc/html/ada/files.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE></TITLE>
+<html>
+<head>
+<title></title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,8 +11,8 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<H2 ALIGN=CENTER>Files</H2>
-<A HREF="files/T.htm">[T]</A>
-</BODY></HTML>
+</head>
+<body>
+<h2 align="center">Files</h2>
+<a href="files/T.htm">[T]</a>
+</body></html>
diff --git a/doc/html/ada/files/T.htm b/doc/html/ada/files/T.htm
index b54027b..9730506 100644
--- a/doc/html/ada/files/T.htm
+++ b/doc/html/ada/files/T.htm
@@ -1,83 +1,83 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>T</TITLE>
+<html>
+<head>
+<title>T</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<BODY>
-<H2>Files - T</H2>
-<A HREF="../files.htm" TARGET="_self">[index]</A>
-<UL COMPACT TYPE=DISC>
-<LI><A HREF="../terminal_interface-curses-aux__adb.htm" TARGET="main">terminal_interface-curses-aux.adb</A>
-<LI><A HREF="../terminal_interface-curses-aux__ads.htm" TARGET="main">terminal_interface-curses-aux.ads</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-alpha__adb.htm" TARGET="main">terminal_interface-curses-forms-field_types-alpha.adb</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-alpha__ads.htm" TARGET="main">terminal_interface-curses-forms-field_types-alpha.ads</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-alphanumeric__adb.htm" TARGET="main">terminal_interface-curses-forms-field_types-alphanumeric.adb</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-alphanumeric__ads.htm" TARGET="main">terminal_interface-curses-forms-field_types-alphanumeric.ads</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm" TARGET="main">terminal_interface-curses-forms-field_types-enumeration-ada.adb</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm" TARGET="main">terminal_interface-curses-forms-field_types-enumeration-ada.ads</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-enumeration__adb.htm" TARGET="main">terminal_interface-curses-forms-field_types-enumeration.adb</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-enumeration__ads.htm" TARGET="main">terminal_interface-curses-forms-field_types-enumeration.ads</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-intfield__adb.htm" TARGET="main">terminal_interface-curses-forms-field_types-intfield.adb</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-intfield__ads.htm" TARGET="main">terminal_interface-curses-forms-field_types-intfield.ads</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-ipv4_address__adb.htm" TARGET="main">terminal_interface-curses-forms-field_types-ipv4_address.adb</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-ipv4_address__ads.htm" TARGET="main">terminal_interface-curses-forms-field_types-ipv4_address.ads</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-numeric__adb.htm" TARGET="main">terminal_interface-curses-forms-field_types-numeric.adb</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-numeric__ads.htm" TARGET="main">terminal_interface-curses-forms-field_types-numeric.ads</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-regexp__adb.htm" TARGET="main">terminal_interface-curses-forms-field_types-regexp.adb</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-regexp__ads.htm" TARGET="main">terminal_interface-curses-forms-field_types-regexp.ads</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-user-choice__adb.htm" TARGET="main">terminal_interface-curses-forms-field_types-user-choice.adb</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-user-choice__ads.htm" TARGET="main">terminal_interface-curses-forms-field_types-user-choice.ads</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-user__adb.htm" TARGET="main">terminal_interface-curses-forms-field_types-user.adb</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-user__ads.htm" TARGET="main">terminal_interface-curses-forms-field_types-user.ads</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types__adb.htm" TARGET="main">terminal_interface-curses-forms-field_types.adb</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm" TARGET="main">terminal_interface-curses-forms-field_types.ads</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_user_data__adb.htm" TARGET="main">terminal_interface-curses-forms-field_user_data.adb</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_user_data__ads.htm" TARGET="main">terminal_interface-curses-forms-field_user_data.ads</A>
-<LI><A HREF="../terminal_interface-curses-forms-form_user_data__adb.htm" TARGET="main">terminal_interface-curses-forms-form_user_data.adb</A>
-<LI><A HREF="../terminal_interface-curses-forms-form_user_data__ads.htm" TARGET="main">terminal_interface-curses-forms-form_user_data.ads</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm" TARGET="main">terminal_interface-curses-forms.adb</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm" TARGET="main">terminal_interface-curses-forms.ads</A>
-<LI><A HREF="../terminal_interface-curses-menus-item_user_data__adb.htm" TARGET="main">terminal_interface-curses-menus-item_user_data.adb</A>
-<LI><A HREF="../terminal_interface-curses-menus-item_user_data__ads.htm" TARGET="main">terminal_interface-curses-menus-item_user_data.ads</A>
-<LI><A HREF="../terminal_interface-curses-menus-menu_user_data__adb.htm" TARGET="main">terminal_interface-curses-menus-menu_user_data.adb</A>
-<LI><A HREF="../terminal_interface-curses-menus-menu_user_data__ads.htm" TARGET="main">terminal_interface-curses-menus-menu_user_data.ads</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm" TARGET="main">terminal_interface-curses-menus.adb</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm" TARGET="main">terminal_interface-curses-menus.ads</A>
-<LI><A HREF="../terminal_interface-curses-mouse__adb.htm" TARGET="main">terminal_interface-curses-mouse.adb</A>
-<LI><A HREF="../terminal_interface-curses-mouse__ads.htm" TARGET="main">terminal_interface-curses-mouse.ads</A>
-<LI><A HREF="../terminal_interface-curses-panels-user_data__adb.htm" TARGET="main">terminal_interface-curses-panels-user_data.adb</A>
-<LI><A HREF="../terminal_interface-curses-panels-user_data__ads.htm" TARGET="main">terminal_interface-curses-panels-user_data.ads</A>
-<LI><A HREF="../terminal_interface-curses-panels__adb.htm" TARGET="main">terminal_interface-curses-panels.adb</A>
-<LI><A HREF="../terminal_interface-curses-panels__ads.htm" TARGET="main">terminal_interface-curses-panels.ads</A>
-<LI><A HREF="../terminal_interface-curses-putwin__adb.htm" TARGET="main">terminal_interface-curses-putwin.adb</A>
-<LI><A HREF="../terminal_interface-curses-putwin__ads.htm" TARGET="main">terminal_interface-curses-putwin.ads</A>
-<LI><A HREF="../terminal_interface-curses-termcap__adb.htm" TARGET="main">terminal_interface-curses-termcap.adb</A>
-<LI><A HREF="../terminal_interface-curses-termcap__ads.htm" TARGET="main">terminal_interface-curses-termcap.ads</A>
-<LI><A HREF="../terminal_interface-curses-terminfo__adb.htm" TARGET="main">terminal_interface-curses-terminfo.adb</A>
-<LI><A HREF="../terminal_interface-curses-terminfo__ads.htm" TARGET="main">terminal_interface-curses-terminfo.ads</A>
-<LI><A HREF="../terminal_interface-curses-text_io-aux__adb.htm" TARGET="main">terminal_interface-curses-text_io-aux.adb</A>
-<LI><A HREF="../terminal_interface-curses-text_io-aux__ads.htm" TARGET="main">terminal_interface-curses-text_io-aux.ads</A>
-<LI><A HREF="../terminal_interface-curses-text_io-complex_io__adb.htm" TARGET="main">terminal_interface-curses-text_io-complex_io.adb</A>
-<LI><A HREF="../terminal_interface-curses-text_io-complex_io__ads.htm" TARGET="main">terminal_interface-curses-text_io-complex_io.ads</A>
-<LI><A HREF="../terminal_interface-curses-text_io-decimal_io__adb.htm" TARGET="main">terminal_interface-curses-text_io-decimal_io.adb</A>
-<LI><A HREF="../terminal_interface-curses-text_io-decimal_io__ads.htm" TARGET="main">terminal_interface-curses-text_io-decimal_io.ads</A>
-<LI><A HREF="../terminal_interface-curses-text_io-enumeration_io__adb.htm" TARGET="main">terminal_interface-curses-text_io-enumeration_io.adb</A>
-<LI><A HREF="../terminal_interface-curses-text_io-enumeration_io__ads.htm" TARGET="main">terminal_interface-curses-text_io-enumeration_io.ads</A>
-<LI><A HREF="../terminal_interface-curses-text_io-fixed_io__adb.htm" TARGET="main">terminal_interface-curses-text_io-fixed_io.adb</A>
-<LI><A HREF="../terminal_interface-curses-text_io-fixed_io__ads.htm" TARGET="main">terminal_interface-curses-text_io-fixed_io.ads</A>
-<LI><A HREF="../terminal_interface-curses-text_io-float_io__adb.htm" TARGET="main">terminal_interface-curses-text_io-float_io.adb</A>
-<LI><A HREF="../terminal_interface-curses-text_io-float_io__ads.htm" TARGET="main">terminal_interface-curses-text_io-float_io.ads</A>
-<LI><A HREF="../terminal_interface-curses-text_io-integer_io__adb.htm" TARGET="main">terminal_interface-curses-text_io-integer_io.adb</A>
-<LI><A HREF="../terminal_interface-curses-text_io-integer_io__ads.htm" TARGET="main">terminal_interface-curses-text_io-integer_io.ads</A>
-<LI><A HREF="../terminal_interface-curses-text_io-modular_io__adb.htm" TARGET="main">terminal_interface-curses-text_io-modular_io.adb</A>
-<LI><A HREF="../terminal_interface-curses-text_io-modular_io__ads.htm" TARGET="main">terminal_interface-curses-text_io-modular_io.ads</A>
-<LI><A HREF="../terminal_interface-curses-text_io__adb.htm" TARGET="main">terminal_interface-curses-text_io.adb</A>
-<LI><A HREF="../terminal_interface-curses-text_io__ads.htm" TARGET="main">terminal_interface-curses-text_io.ads</A>
-<LI><A HREF="../terminal_interface-curses-trace__adb.htm" TARGET="main">terminal_interface-curses-trace.adb</A>
-<LI><A HREF="../terminal_interface-curses-trace__ads.htm" TARGET="main">terminal_interface-curses-trace.ads</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm" TARGET="main">terminal_interface-curses.adb</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm" TARGET="main">terminal_interface-curses.ads</A>
-<LI><A HREF="../terminal_interface-curses_constants__ads.htm" TARGET="main">terminal_interface-curses_constants.ads</A>
-<LI><A HREF="../terminal_interface__ads.htm" TARGET="main">terminal_interface.ads</A>
-</UL></BODY></HTML>
+</head>
+<body>
+<h2>Files - T</h2>
+<a href="../files.htm" target="_self">[index]</a>
+<ul compact type="disc">
+<li><a href="../terminal_interface-curses-aux__adb.htm" target="main">terminal_interface-curses-aux.adb</a>
+<li><a href="../terminal_interface-curses-aux__ads.htm" target="main">terminal_interface-curses-aux.ads</a>
+<li><a href="../terminal_interface-curses-forms-field_types-alpha__adb.htm" target="main">terminal_interface-curses-forms-field_types-alpha.adb</a>
+<li><a href="../terminal_interface-curses-forms-field_types-alpha__ads.htm" target="main">terminal_interface-curses-forms-field_types-alpha.ads</a>
+<li><a href="../terminal_interface-curses-forms-field_types-alphanumeric__adb.htm" target="main">terminal_interface-curses-forms-field_types-alphanumeric.adb</a>
+<li><a href="../terminal_interface-curses-forms-field_types-alphanumeric__ads.htm" target="main">terminal_interface-curses-forms-field_types-alphanumeric.ads</a>
+<li><a href="../terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm" target="main">terminal_interface-curses-forms-field_types-enumeration-ada.adb</a>
+<li><a href="../terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm" target="main">terminal_interface-curses-forms-field_types-enumeration-ada.ads</a>
+<li><a href="../terminal_interface-curses-forms-field_types-enumeration__adb.htm" target="main">terminal_interface-curses-forms-field_types-enumeration.adb</a>
+<li><a href="../terminal_interface-curses-forms-field_types-enumeration__ads.htm" target="main">terminal_interface-curses-forms-field_types-enumeration.ads</a>
+<li><a href="../terminal_interface-curses-forms-field_types-intfield__adb.htm" target="main">terminal_interface-curses-forms-field_types-intfield.adb</a>
+<li><a href="../terminal_interface-curses-forms-field_types-intfield__ads.htm" target="main">terminal_interface-curses-forms-field_types-intfield.ads</a>
+<li><a href="../terminal_interface-curses-forms-field_types-ipv4_address__adb.htm" target="main">terminal_interface-curses-forms-field_types-ipv4_address.adb</a>
+<li><a href="../terminal_interface-curses-forms-field_types-ipv4_address__ads.htm" target="main">terminal_interface-curses-forms-field_types-ipv4_address.ads</a>
+<li><a href="../terminal_interface-curses-forms-field_types-numeric__adb.htm" target="main">terminal_interface-curses-forms-field_types-numeric.adb</a>
+<li><a href="../terminal_interface-curses-forms-field_types-numeric__ads.htm" target="main">terminal_interface-curses-forms-field_types-numeric.ads</a>
+<li><a href="../terminal_interface-curses-forms-field_types-regexp__adb.htm" target="main">terminal_interface-curses-forms-field_types-regexp.adb</a>
+<li><a href="../terminal_interface-curses-forms-field_types-regexp__ads.htm" target="main">terminal_interface-curses-forms-field_types-regexp.ads</a>
+<li><a href="../terminal_interface-curses-forms-field_types-user-choice__adb.htm" target="main">terminal_interface-curses-forms-field_types-user-choice.adb</a>
+<li><a href="../terminal_interface-curses-forms-field_types-user-choice__ads.htm" target="main">terminal_interface-curses-forms-field_types-user-choice.ads</a>
+<li><a href="../terminal_interface-curses-forms-field_types-user__adb.htm" target="main">terminal_interface-curses-forms-field_types-user.adb</a>
+<li><a href="../terminal_interface-curses-forms-field_types-user__ads.htm" target="main">terminal_interface-curses-forms-field_types-user.ads</a>
+<li><a href="../terminal_interface-curses-forms-field_types__adb.htm" target="main">terminal_interface-curses-forms-field_types.adb</a>
+<li><a href="../terminal_interface-curses-forms-field_types__ads.htm" target="main">terminal_interface-curses-forms-field_types.ads</a>
+<li><a href="../terminal_interface-curses-forms-field_user_data__adb.htm" target="main">terminal_interface-curses-forms-field_user_data.adb</a>
+<li><a href="../terminal_interface-curses-forms-field_user_data__ads.htm" target="main">terminal_interface-curses-forms-field_user_data.ads</a>
+<li><a href="../terminal_interface-curses-forms-form_user_data__adb.htm" target="main">terminal_interface-curses-forms-form_user_data.adb</a>
+<li><a href="../terminal_interface-curses-forms-form_user_data__ads.htm" target="main">terminal_interface-curses-forms-form_user_data.ads</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm" target="main">terminal_interface-curses-forms.adb</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm" target="main">terminal_interface-curses-forms.ads</a>
+<li><a href="../terminal_interface-curses-menus-item_user_data__adb.htm" target="main">terminal_interface-curses-menus-item_user_data.adb</a>
+<li><a href="../terminal_interface-curses-menus-item_user_data__ads.htm" target="main">terminal_interface-curses-menus-item_user_data.ads</a>
+<li><a href="../terminal_interface-curses-menus-menu_user_data__adb.htm" target="main">terminal_interface-curses-menus-menu_user_data.adb</a>
+<li><a href="../terminal_interface-curses-menus-menu_user_data__ads.htm" target="main">terminal_interface-curses-menus-menu_user_data.ads</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm" target="main">terminal_interface-curses-menus.adb</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm" target="main">terminal_interface-curses-menus.ads</a>
+<li><a href="../terminal_interface-curses-mouse__adb.htm" target="main">terminal_interface-curses-mouse.adb</a>
+<li><a href="../terminal_interface-curses-mouse__ads.htm" target="main">terminal_interface-curses-mouse.ads</a>
+<li><a href="../terminal_interface-curses-panels-user_data__adb.htm" target="main">terminal_interface-curses-panels-user_data.adb</a>
+<li><a href="../terminal_interface-curses-panels-user_data__ads.htm" target="main">terminal_interface-curses-panels-user_data.ads</a>
+<li><a href="../terminal_interface-curses-panels__adb.htm" target="main">terminal_interface-curses-panels.adb</a>
+<li><a href="../terminal_interface-curses-panels__ads.htm" target="main">terminal_interface-curses-panels.ads</a>
+<li><a href="../terminal_interface-curses-putwin__adb.htm" target="main">terminal_interface-curses-putwin.adb</a>
+<li><a href="../terminal_interface-curses-putwin__ads.htm" target="main">terminal_interface-curses-putwin.ads</a>
+<li><a href="../terminal_interface-curses-termcap__adb.htm" target="main">terminal_interface-curses-termcap.adb</a>
+<li><a href="../terminal_interface-curses-termcap__ads.htm" target="main">terminal_interface-curses-termcap.ads</a>
+<li><a href="../terminal_interface-curses-terminfo__adb.htm" target="main">terminal_interface-curses-terminfo.adb</a>
+<li><a href="../terminal_interface-curses-terminfo__ads.htm" target="main">terminal_interface-curses-terminfo.ads</a>
+<li><a href="../terminal_interface-curses-text_io-aux__adb.htm" target="main">terminal_interface-curses-text_io-aux.adb</a>
+<li><a href="../terminal_interface-curses-text_io-aux__ads.htm" target="main">terminal_interface-curses-text_io-aux.ads</a>
+<li><a href="../terminal_interface-curses-text_io-complex_io__adb.htm" target="main">terminal_interface-curses-text_io-complex_io.adb</a>
+<li><a href="../terminal_interface-curses-text_io-complex_io__ads.htm" target="main">terminal_interface-curses-text_io-complex_io.ads</a>
+<li><a href="../terminal_interface-curses-text_io-decimal_io__adb.htm" target="main">terminal_interface-curses-text_io-decimal_io.adb</a>
+<li><a href="../terminal_interface-curses-text_io-decimal_io__ads.htm" target="main">terminal_interface-curses-text_io-decimal_io.ads</a>
+<li><a href="../terminal_interface-curses-text_io-enumeration_io__adb.htm" target="main">terminal_interface-curses-text_io-enumeration_io.adb</a>
+<li><a href="../terminal_interface-curses-text_io-enumeration_io__ads.htm" target="main">terminal_interface-curses-text_io-enumeration_io.ads</a>
+<li><a href="../terminal_interface-curses-text_io-fixed_io__adb.htm" target="main">terminal_interface-curses-text_io-fixed_io.adb</a>
+<li><a href="../terminal_interface-curses-text_io-fixed_io__ads.htm" target="main">terminal_interface-curses-text_io-fixed_io.ads</a>
+<li><a href="../terminal_interface-curses-text_io-float_io__adb.htm" target="main">terminal_interface-curses-text_io-float_io.adb</a>
+<li><a href="../terminal_interface-curses-text_io-float_io__ads.htm" target="main">terminal_interface-curses-text_io-float_io.ads</a>
+<li><a href="../terminal_interface-curses-text_io-integer_io__adb.htm" target="main">terminal_interface-curses-text_io-integer_io.adb</a>
+<li><a href="../terminal_interface-curses-text_io-integer_io__ads.htm" target="main">terminal_interface-curses-text_io-integer_io.ads</a>
+<li><a href="../terminal_interface-curses-text_io-modular_io__adb.htm" target="main">terminal_interface-curses-text_io-modular_io.adb</a>
+<li><a href="../terminal_interface-curses-text_io-modular_io__ads.htm" target="main">terminal_interface-curses-text_io-modular_io.ads</a>
+<li><a href="../terminal_interface-curses-text_io__adb.htm" target="main">terminal_interface-curses-text_io.adb</a>
+<li><a href="../terminal_interface-curses-text_io__ads.htm" target="main">terminal_interface-curses-text_io.ads</a>
+<li><a href="../terminal_interface-curses-trace__adb.htm" target="main">terminal_interface-curses-trace.adb</a>
+<li><a href="../terminal_interface-curses-trace__ads.htm" target="main">terminal_interface-curses-trace.ads</a>
+<li><a href="../terminal_interface-curses__adb.htm" target="main">terminal_interface-curses.adb</a>
+<li><a href="../terminal_interface-curses__ads.htm" target="main">terminal_interface-curses.ads</a>
+<li><a href="../terminal_interface-curses_constants__ads.htm" target="main">terminal_interface-curses_constants.ads</a>
+<li><a href="../terminal_interface__ads.htm" target="main">terminal_interface.ads</a>
+</ul></body></html>
diff --git a/doc/html/ada/funcs.htm b/doc/html/ada/funcs.htm
index 903523e..1ffcef1 100644
--- a/doc/html/ada/funcs.htm
+++ b/doc/html/ada/funcs.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE></TITLE>
+<html>
+<head>
+<title></title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,29 +11,29 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<H2 ALIGN=CENTER>Functions/Procedures</H2>
-<A HREF="funcs/A.htm">[A]</A>
-<A HREF="funcs/B.htm">[B]</A>
-<A HREF="funcs/C.htm">[C]</A>
-<A HREF="funcs/D.htm">[D]</A>
-<A HREF="funcs/E.htm">[E]</A>
-<A HREF="funcs/F.htm">[F]</A>
-<A HREF="funcs/G.htm">[G]</A>
-<A HREF="funcs/H.htm">[H]</A>
-<A HREF="funcs/I.htm">[I]</A>
-<A HREF="funcs/K.htm">[K]</A>
-<A HREF="funcs/L.htm">[L]</A>
-<A HREF="funcs/M.htm">[M]</A>
-<A HREF="funcs/N.htm">[N]</A>
-<A HREF="funcs/O.htm">[O]</A>
-<A HREF="funcs/P.htm">[P]</A>
-<A HREF="funcs/Q.htm">[Q]</A>
-<A HREF="funcs/R.htm">[R]</A>
-<A HREF="funcs/S.htm">[S]</A>
-<A HREF="funcs/T.htm">[T]</A>
-<A HREF="funcs/U.htm">[U]</A>
-<A HREF="funcs/V.htm">[V]</A>
-<A HREF="funcs/W.htm">[W]</A>
-</BODY></HTML>
+</head>
+<body>
+<h2 align="center">Functions/Procedures</h2>
+<a href="funcs/A.htm">[A]</a>
+<a href="funcs/B.htm">[B]</a>
+<a href="funcs/C.htm">[C]</a>
+<a href="funcs/D.htm">[D]</a>
+<a href="funcs/E.htm">[E]</a>
+<a href="funcs/F.htm">[F]</a>
+<a href="funcs/G.htm">[G]</a>
+<a href="funcs/H.htm">[H]</a>
+<a href="funcs/I.htm">[I]</a>
+<a href="funcs/K.htm">[K]</a>
+<a href="funcs/L.htm">[L]</a>
+<a href="funcs/M.htm">[M]</a>
+<a href="funcs/N.htm">[N]</a>
+<a href="funcs/O.htm">[O]</a>
+<a href="funcs/P.htm">[P]</a>
+<a href="funcs/Q.htm">[Q]</a>
+<a href="funcs/R.htm">[R]</a>
+<a href="funcs/S.htm">[S]</a>
+<a href="funcs/T.htm">[T]</a>
+<a href="funcs/U.htm">[U]</a>
+<a href="funcs/V.htm">[V]</a>
+<a href="funcs/W.htm">[W]</a>
+</body></html>
diff --git a/doc/html/ada/funcs/A.htm b/doc/html/ada/funcs/A.htm
index e784abd..c552075 100644
--- a/doc/html/ada/funcs/A.htm
+++ b/doc/html/ada/funcs/A.htm
@@ -1,29 +1,29 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>A</TITLE>
+<html>
+<head>
+<title>A</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<BODY>
-<H2>Functions - A</H2>
-<A HREF="../funcs.htm" TARGET="_self">[index]</A>
-<UL COMPACT TYPE=DISC>
-<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_128_13" TARGET="main">Above</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_567_13" TARGET="main">ACS_Map</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_693_14" TARGET="main">Add -  terminal_interface-curses.ads:693</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_698_14" TARGET="main">Add -  terminal_interface-curses.ads:698</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_704_14" TARGET="main">Add -  terminal_interface-curses.ads:704</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_712_14" TARGET="main">Add -  terminal_interface-curses.ads:712</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_823_14" TARGET="main">Add -  terminal_interface-curses.ads:823</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_832_14" TARGET="main">Add -  terminal_interface-curses.ads:832</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_847_14" TARGET="main">Add -  terminal_interface-curses.ads:847</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_856_14" TARGET="main">Add -  terminal_interface-curses.ads:856</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1477_14" TARGET="main">Add_Character_To_Pad_And_Echo_It -  terminal_interface-curses.ads:1477</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1482_14" TARGET="main">Add_Character_To_Pad_And_Echo_It -  terminal_interface-curses.ads:1482</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_721_14" TARGET="main">Add_With_Immediate_Echo -  terminal_interface-curses.ads:721</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_727_14" TARGET="main">Add_With_Immediate_Echo -  terminal_interface-curses.ads:727</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_841_16" TARGET="main">Ahead</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-user__adb.htm#ref_50_16" TARGET="main">Allocate_Arg</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1186_14" TARGET="main">Allow_Scrolling</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_2008_14" TARGET="main">Assume_Default_Colors</A>
-</UL></BODY></HTML>
+</head>
+<body>
+<h2>Functions - A</h2>
+<a href="../funcs.htm" target="_self">[index]</a>
+<ul compact type="disc">
+<li><a href="../terminal_interface-curses-panels__ads.htm#ref_129_13" target="main">Above</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_568_13" target="main">ACS_Map</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_694_14" target="main">Add -  terminal_interface-curses.ads:694</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_699_14" target="main">Add -  terminal_interface-curses.ads:699</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_705_14" target="main">Add -  terminal_interface-curses.ads:705</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_713_14" target="main">Add -  terminal_interface-curses.ads:713</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_824_14" target="main">Add -  terminal_interface-curses.ads:824</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_833_14" target="main">Add -  terminal_interface-curses.ads:833</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_848_14" target="main">Add -  terminal_interface-curses.ads:848</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_857_14" target="main">Add -  terminal_interface-curses.ads:857</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1478_14" target="main">Add_Character_To_Pad_And_Echo_It -  terminal_interface-curses.ads:1478</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1483_14" target="main">Add_Character_To_Pad_And_Echo_It -  terminal_interface-curses.ads:1483</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_722_14" target="main">Add_With_Immediate_Echo -  terminal_interface-curses.ads:722</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_728_14" target="main">Add_With_Immediate_Echo -  terminal_interface-curses.ads:728</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_842_16" target="main">Ahead</a>
+<li><a href="../terminal_interface-curses-forms-field_types-user__adb.htm#ref_51_16" target="main">Allocate_Arg</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1187_14" target="main">Allow_Scrolling</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_2009_14" target="main">Assume_Default_Colors</a>
+</ul></body></html>
diff --git a/doc/html/ada/funcs/B.htm b/doc/html/ada/funcs/B.htm
index e14c876..f8ca69b 100644
--- a/doc/html/ada/funcs/B.htm
+++ b/doc/html/ada/funcs/B.htm
@@ -1,25 +1,25 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>B</TITLE>
+<html>
+<head>
+<title>B</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<BODY>
-<H2>Functions - B</H2>
-<A HREF="../funcs.htm" TARGET="_self">[index]</A>
-<UL COMPACT TYPE=DISC>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_455_14" TARGET="main">Background -  terminal_interface-curses-forms.ads:455</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_460_14" TARGET="main">Background -  terminal_interface-curses-forms.ads:460</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_449_14" TARGET="main">Background -  terminal_interface-curses-menus.ads:449</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_454_14" TARGET="main">Background -  terminal_interface-curses-menus.ads:454</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2065_16" TARGET="main">Baud</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1817_13" TARGET="main">Baudrate</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1040_14" TARGET="main">Beep</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_752_16" TARGET="main">Beeper</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_857_16" TARGET="main">Behind</A>
-<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_133_13" TARGET="main">Below</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_874_14" TARGET="main">Border</A>
-<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_76_14" TARGET="main">Bottom</A>
-<LI><A HREF="../terminal_interface-curses-panels__adb.htm#ref_65_16" TARGET="main">Bottompanel</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_890_14" TARGET="main">Box</A>
-</UL></BODY></HTML>
+</head>
+<body>
+<h2>Functions - B</h2>
+<a href="../funcs.htm" target="_self">[index]</a>
+<ul compact type="disc">
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_456_14" target="main">Background -  terminal_interface-curses-forms.ads:456</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_461_14" target="main">Background -  terminal_interface-curses-forms.ads:461</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_450_14" target="main">Background -  terminal_interface-curses-menus.ads:450</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_455_14" target="main">Background -  terminal_interface-curses-menus.ads:455</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_2065_16" target="main">Baud</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1818_13" target="main">Baudrate</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1041_14" target="main">Beep</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_752_16" target="main">Beeper</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_858_16" target="main">Behind</a>
+<li><a href="../terminal_interface-curses-panels__ads.htm#ref_134_13" target="main">Below</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_875_14" target="main">Border</a>
+<li><a href="../terminal_interface-curses-panels__ads.htm#ref_77_14" target="main">Bottom</a>
+<li><a href="../terminal_interface-curses-panels__adb.htm#ref_66_16" target="main">Bottompanel</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_891_14" target="main">Box</a>
+</ul></body></html>
diff --git a/doc/html/ada/funcs/C.htm b/doc/html/ada/funcs/C.htm
index 30c070f..8bfb09c 100644
--- a/doc/html/ada/funcs/C.htm
+++ b/doc/html/ada/funcs/C.htm
@@ -1,63 +1,63 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>C</TITLE>
+<html>
+<head>
+<title>C</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<BODY>
-<H2>Functions - C</H2>
-<A HREF="../funcs.htm" TARGET="_self">[index]</A>
-<UL COMPACT TYPE=DISC>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2229_16" TARGET="main">Canchangecolor</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1909_13" TARGET="main">Can_Change_Color</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_772_16" TARGET="main">Cbreak</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_383_13" TARGET="main">Changed</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1015_14" TARGET="main">Change_Attributes -  terminal_interface-curses.ads:1015</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1024_14" TARGET="main">Change_Attributes -  terminal_interface-curses.ads:1024</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1286_14" TARGET="main">Change_Background</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1322_14" TARGET="main">Change_Lines_Status</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm#ref_186_13" TARGET="main">Char_Check_Router</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1250_14" TARGET="main">Clear</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_970_16" TARGET="main">Clear_Ok</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1151_14" TARGET="main">Clear_On_Next_Update</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1703_14" TARGET="main">Clear_Soft_Label_Keys</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1264_14" TARGET="main">Clear_To_End_Of_Line</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1257_14" TARGET="main">Clear_To_End_Of_Screen</A>
-<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_98_13" TARGET="main">Col -  terminal_interface-curses-text_io.ads:98</A>
-<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_99_13" TARGET="main">Col -  terminal_interface-curses-text_io.ads:99</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2246_16" TARGET="main">Colorcontent</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2382_16" TARGET="main">COLORS_As_Function</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1914_14" TARGET="main">Color_Content</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2390_16" TARGET="main">COLOR_PAIRS_As_Function</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2365_16" TARGET="main">COLS_As_Function</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_553_13" TARGET="main">Columns</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1344_14" TARGET="main">Copy</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1275_16" TARGET="main">Copywin</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm#ref_168_13" TARGET="main">Copy_Arg</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_680_16" TARGET="main">Count -  terminal_interface-curses-forms.adb:680</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_797_16" TARGET="main">Count -  terminal_interface-curses-menus.adb:797</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_48_13" TARGET="main">Create -  terminal_interface-curses-forms-field_types-enumeration-ada.ads:48</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_64_13" TARGET="main">Create -  terminal_interface-curses-forms-field_types-enumeration.ads:64</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_294_13" TARGET="main">Create -  terminal_interface-curses-forms.ads:294</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_624_13" TARGET="main">Create -  terminal_interface-curses-forms.ads:624</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_189_13" TARGET="main">Create -  terminal_interface-curses-menus.ads:189</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_636_13" TARGET="main">Create -  terminal_interface-curses-menus.ads:636</A>
-<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_66_13" TARGET="main">Create -  terminal_interface-curses-panels.ads:66</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_739_13" TARGET="main">Create -  terminal_interface-curses.ads:739</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_730_13" TARGET="main">Current -  terminal_interface-curses-forms.ads:730</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_292_13" TARGET="main">Current -  terminal_interface-curses-menus.ads:292</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_916_16" TARGET="main">Current_Fld</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_650_13" TARGET="main">Current_Window</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_261_16" TARGET="main">Curr_Item</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2460_17" TARGET="main">curses_freeall</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_2031_14" TARGET="main">Curses_Free_All</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_2018_13" TARGET="main">Curses_Version</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2452_16" TARGET="main">curses_versionC</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2334_16" TARGET="main">Curs_Set</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2438_16" TARGET="main">C_Assume_Default_Colors</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm#ref_149_13" TARGET="main">C_Builtin_Router</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm#ref_150_13" TARGET="main">C_Choice_Router</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_78_13" TARGET="main">C_Generic_Choice</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-user__ads.htm#ref_79_13" TARGET="main">C_Generic_Type</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2426_16" TARGET="main">C_Use_Default_Colors</A>
-</UL></BODY></HTML>
+</head>
+<body>
+<h2>Functions - C</h2>
+<a href="../funcs.htm" target="_self">[index]</a>
+<ul compact type="disc">
+<li><a href="../terminal_interface-curses__adb.htm#ref_2229_16" target="main">Canchangecolor</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1910_13" target="main">Can_Change_Color</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_772_16" target="main">Cbreak</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_384_13" target="main">Changed</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1016_14" target="main">Change_Attributes -  terminal_interface-curses.ads:1016</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1025_14" target="main">Change_Attributes -  terminal_interface-curses.ads:1025</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1287_14" target="main">Change_Background</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1323_14" target="main">Change_Lines_Status</a>
+<li><a href="../terminal_interface-curses-forms-field_types__ads.htm#ref_186_13" target="main">Char_Check_Router</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1251_14" target="main">Clear</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_970_16" target="main">Clear_Ok</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1152_14" target="main">Clear_On_Next_Update</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1704_14" target="main">Clear_Soft_Label_Keys</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1265_14" target="main">Clear_To_End_Of_Line</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1258_14" target="main">Clear_To_End_Of_Screen</a>
+<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_99_13" target="main">Col -  terminal_interface-curses-text_io.ads:99</a>
+<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_100_13" target="main">Col -  terminal_interface-curses-text_io.ads:100</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_2246_16" target="main">Colorcontent</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_2382_16" target="main">COLORS_As_Function</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1915_14" target="main">Color_Content</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_2390_16" target="main">COLOR_PAIRS_As_Function</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_2365_16" target="main">COLS_As_Function</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_554_13" target="main">Columns</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1345_14" target="main">Copy</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1275_16" target="main">Copywin</a>
+<li><a href="../terminal_interface-curses-forms-field_types__ads.htm#ref_168_13" target="main">Copy_Arg</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_681_16" target="main">Count -  terminal_interface-curses-forms.adb:681</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_797_16" target="main">Count -  terminal_interface-curses-menus.adb:797</a>
+<li><a href="../terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_49_13" target="main">Create -  terminal_interface-curses-forms-field_types-enumeration-ada.ads:49</a>
+<li><a href="../terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_65_13" target="main">Create -  terminal_interface-curses-forms-field_types-enumeration.ads:65</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_295_13" target="main">Create -  terminal_interface-curses-forms.ads:295</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_625_13" target="main">Create -  terminal_interface-curses-forms.ads:625</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_190_13" target="main">Create -  terminal_interface-curses-menus.ads:190</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_637_13" target="main">Create -  terminal_interface-curses-menus.ads:637</a>
+<li><a href="../terminal_interface-curses-panels__ads.htm#ref_67_13" target="main">Create -  terminal_interface-curses-panels.ads:67</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_740_13" target="main">Create -  terminal_interface-curses.ads:740</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_731_13" target="main">Current -  terminal_interface-curses-forms.ads:731</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_293_13" target="main">Current -  terminal_interface-curses-menus.ads:293</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_917_16" target="main">Current_Fld</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_651_13" target="main">Current_Window</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_261_16" target="main">Curr_Item</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_2460_17" target="main">curses_freeall</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_2032_14" target="main">Curses_Free_All</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_2019_13" target="main">Curses_Version</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_2452_16" target="main">curses_versionC</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_2334_16" target="main">Curs_Set</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_2438_16" target="main">C_Assume_Default_Colors</a>
+<li><a href="../terminal_interface-curses-forms-field_types__ads.htm#ref_149_13" target="main">C_Builtin_Router</a>
+<li><a href="../terminal_interface-curses-forms-field_types__ads.htm#ref_150_13" target="main">C_Choice_Router</a>
+<li><a href="../terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_79_13" target="main">C_Generic_Choice</a>
+<li><a href="../terminal_interface-curses-forms-field_types-user__ads.htm#ref_80_13" target="main">C_Generic_Type</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_2426_16" target="main">C_Use_Default_Colors</a>
+</ul></body></html>
diff --git a/doc/html/ada/funcs/D.htm b/doc/html/ada/funcs/D.htm
index 814919e..2c16baa 100644
--- a/doc/html/ada/funcs/D.htm
+++ b/doc/html/ada/funcs/D.htm
@@ -1,51 +1,51 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>D</TITLE>
+<html>
+<head>
+<title>D</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<BODY>
-<H2>Functions - D</H2>
-<A HREF="../funcs.htm" TARGET="_self">[index]</A>
-<UL COMPACT TYPE=DISC>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_693_13" TARGET="main">Data_Ahead</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_698_13" TARGET="main">Data_Behind</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_104_13" TARGET="main">Default_Field_Options</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_126_13" TARGET="main">Default_Form_Options</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_166_13" TARGET="main">Default_Item_Options</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_145_13" TARGET="main">Default_Menu_Options</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1766_14" TARGET="main">Define_Key</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2013_16" TARGET="main">Defkey</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2266_16" TARGET="main">Def_Prog_Mode</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2268_16" TARGET="main">Def_Shell_Mode</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2045_16" TARGET="main">Delayoutput</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1803_14" TARGET="main">Delay_Output</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_316_14" TARGET="main">Delete -  terminal_interface-curses-forms.ads:316</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_635_14" TARGET="main">Delete -  terminal_interface-curses-forms.ads:635</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_201_14" TARGET="main">Delete -  terminal_interface-curses-menus.ads:201</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_643_14" TARGET="main">Delete -  terminal_interface-curses-menus.ads:643</A>
-<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_138_14" TARGET="main">Delete -  terminal_interface-curses-panels.ads:138</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_758_14" TARGET="main">Delete -  terminal_interface-curses.ads:758</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1504_14" TARGET="main">Delete_Character -  terminal_interface-curses.ads:1504</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1509_14" TARGET="main">Delete_Character -  terminal_interface-curses.ads:1509</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1382_14" TARGET="main">Delete_Line</A>
-<LI><A HREF="../terminal_interface-curses-panels__adb.htm#ref_156_16" TARGET="main">Del_Panel</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_774_13" TARGET="main">Derived_Window</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_299_16" TARGET="main">Derwin</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_108_16" TARGET="main">Descname -  terminal_interface-curses-menus.adb:108</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_234_16" TARGET="main">Descname -  terminal_interface-curses-menus.adb:234</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_242_16" TARGET="main">Descname -  terminal_interface-curses-menus.adb:242</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_272_14" TARGET="main">Description -  terminal_interface-curses-menus.ads:272</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_276_14" TARGET="main">Description -  terminal_interface-curses-menus.ads:276</A>
-<LI><A HREF="../terminal_interface-curses-mouse__adb.htm#ref_131_14" TARGET="main">Dispatch_Event</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1062_16" TARGET="main">Do_Update</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_712_13" TARGET="main">Driver -  terminal_interface-curses-forms.ads:712</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_658_13" TARGET="main">Driver -  terminal_interface-curses-menus.ads:658</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_855_16" TARGET="main">Driver -  terminal_interface-curses-menus.adb:855</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_322_13" TARGET="main">Duplicate -  terminal_interface-curses-forms.ads:322</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_784_13" TARGET="main">Duplicate -  terminal_interface-curses.ads:784</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_322_16" TARGET="main">Dupwin</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_130_16" TARGET="main">Dup_Field</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_494_14" TARGET="main">Dynamic_Info</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_494_16" TARGET="main">Dyn_Info</A>
-</UL></BODY></HTML>
+</head>
+<body>
+<h2>Functions - D</h2>
+<a href="../funcs.htm" target="_self">[index]</a>
+<ul compact type="disc">
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_694_13" target="main">Data_Ahead</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_699_13" target="main">Data_Behind</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_105_13" target="main">Default_Field_Options</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_127_13" target="main">Default_Form_Options</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_167_13" target="main">Default_Item_Options</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_146_13" target="main">Default_Menu_Options</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1767_14" target="main">Define_Key</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_2013_16" target="main">Defkey</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_2266_16" target="main">Def_Prog_Mode</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_2268_16" target="main">Def_Shell_Mode</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_2045_16" target="main">Delayoutput</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1804_14" target="main">Delay_Output</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_317_14" target="main">Delete -  terminal_interface-curses-forms.ads:317</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_636_14" target="main">Delete -  terminal_interface-curses-forms.ads:636</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_202_14" target="main">Delete -  terminal_interface-curses-menus.ads:202</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_644_14" target="main">Delete -  terminal_interface-curses-menus.ads:644</a>
+<li><a href="../terminal_interface-curses-panels__ads.htm#ref_139_14" target="main">Delete -  terminal_interface-curses-panels.ads:139</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_759_14" target="main">Delete -  terminal_interface-curses.ads:759</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1505_14" target="main">Delete_Character -  terminal_interface-curses.ads:1505</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1510_14" target="main">Delete_Character -  terminal_interface-curses.ads:1510</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1383_14" target="main">Delete_Line</a>
+<li><a href="../terminal_interface-curses-panels__adb.htm#ref_157_16" target="main">Del_Panel</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_775_13" target="main">Derived_Window</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_299_16" target="main">Derwin</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_108_16" target="main">Descname -  terminal_interface-curses-menus.adb:108</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_234_16" target="main">Descname -  terminal_interface-curses-menus.adb:234</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_242_16" target="main">Descname -  terminal_interface-curses-menus.adb:242</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_273_14" target="main">Description -  terminal_interface-curses-menus.ads:273</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_277_14" target="main">Description -  terminal_interface-curses-menus.ads:277</a>
+<li><a href="../terminal_interface-curses-mouse__adb.htm#ref_130_14" target="main">Dispatch_Event</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1062_16" target="main">Do_Update</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_713_13" target="main">Driver -  terminal_interface-curses-forms.ads:713</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_659_13" target="main">Driver -  terminal_interface-curses-menus.ads:659</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_855_16" target="main">Driver -  terminal_interface-curses-menus.adb:855</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_323_13" target="main">Duplicate -  terminal_interface-curses-forms.ads:323</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_785_13" target="main">Duplicate -  terminal_interface-curses.ads:785</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_322_16" target="main">Dupwin</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_131_16" target="main">Dup_Field</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_495_14" target="main">Dynamic_Info</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_495_16" target="main">Dyn_Info</a>
+</ul></body></html>
diff --git a/doc/html/ada/funcs/E.htm b/doc/html/ada/funcs/E.htm
index 40cdc2d..b161c06 100644
--- a/doc/html/ada/funcs/E.htm
+++ b/doc/html/ada/funcs/E.htm
@@ -1,22 +1,22 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>E</TITLE>
+<html>
+<head>
+<title>E</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<BODY>
-<H2>Functions - E</H2>
-<A HREF="../funcs.htm" TARGET="_self">[index]</A>
-<UL COMPACT TYPE=DISC>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_810_16" TARGET="main">Echo</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1756_14" TARGET="main">Enable_Key</A>
-<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_146_13" TARGET="main">Enclosed_In_Window</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_113_16" TARGET="main">Endwin</A>
-<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_120_14" TARGET="main">End_Mouse</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_667_14" TARGET="main">End_Screen</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_665_14" TARGET="main">End_Windows</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1244_14" TARGET="main">Erase</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2073_16" TARGET="main">Erasechar</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1822_13" TARGET="main">Erase_Character</A>
-<LI><A HREF="../terminal_interface-curses-aux__ads.htm#ref_88_14" TARGET="main">Eti_Exception</A>
-</UL></BODY></HTML>
+</head>
+<body>
+<h2>Functions - E</h2>
+<a href="../funcs.htm" target="_self">[index]</a>
+<ul compact type="disc">
+<li><a href="../terminal_interface-curses__adb.htm#ref_810_16" target="main">Echo</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1757_14" target="main">Enable_Key</a>
+<li><a href="../terminal_interface-curses-mouse__ads.htm#ref_147_13" target="main">Enclosed_In_Window</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_113_16" target="main">Endwin</a>
+<li><a href="../terminal_interface-curses-mouse__ads.htm#ref_121_14" target="main">End_Mouse</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_668_14" target="main">End_Screen</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_666_14" target="main">End_Windows</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1245_14" target="main">Erase</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_2073_16" target="main">Erasechar</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1823_13" target="main">Erase_Character</a>
+<li><a href="../terminal_interface-curses-aux__ads.htm#ref_87_14" target="main">Eti_Exception</a>
+</ul></body></html>
diff --git a/doc/html/ada/funcs/F.htm b/doc/html/ada/funcs/F.htm
index 218145d..9e6bac8 100644
--- a/doc/html/ada/funcs/F.htm
+++ b/doc/html/ada/funcs/F.htm
@@ -1,59 +1,59 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>F</TITLE>
+<html>
+<head>
+<title>F</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<BODY>
-<H2>Functions - F</H2>
-<A HREF="../funcs.htm" TARGET="_self">[index]</A>
-<UL COMPACT TYPE=DISC>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_602_13" TARGET="main">Fields</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_410_16" TARGET="main">Field_Back -  terminal_interface-curses-forms.adb:410</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_420_16" TARGET="main">Field_Back -  terminal_interface-curses-forms.adb:420</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_222_16" TARGET="main">Field_Buffer -  terminal_interface-curses-forms.adb:222</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_233_16" TARGET="main">Field_Buffer -  terminal_interface-curses-forms.adb:233</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm#ref_178_13" TARGET="main">Field_Check_Router</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_608_13" TARGET="main">Field_Count</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_371_16" TARGET="main">Field_Fore -  terminal_interface-curses-forms.adb:371</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_381_16" TARGET="main">Field_Fore -  terminal_interface-curses-forms.adb:381</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_188_16" TARGET="main">Field_Just</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_327_16" TARGET="main">Field_Opts</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_310_16" TARGET="main">Field_Opts_Off</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_307_16" TARGET="main">Field_Opts_On</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_446_16" TARGET="main">Field_Pad</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_259_16" TARGET="main">Field_Status</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_user_data__adb.htm#ref_69_16" TARGET="main">Field_Userptr</A>
-<LI><A HREF="../terminal_interface-curses-aux__ads.htm#ref_92_14" TARGET="main">Fill_String -  terminal_interface-curses-aux.ads:92</A>
-<LI><A HREF="../terminal_interface-curses-aux__ads.htm#ref_97_13" TARGET="main">Fill_String -  terminal_interface-curses-aux.ads:97</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_762_16" TARGET="main">Flash</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1045_14" TARGET="main">Flash_Screen</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_467_16" TARGET="main">Fld_Info</A>
-<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_65_14" TARGET="main">Flush -  terminal_interface-curses-text_io.ads:65</A>
-<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_66_14" TARGET="main">Flush -  terminal_interface-curses-text_io.ads:66</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2055_16" TARGET="main">Flushinp</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1808_14" TARGET="main">Flush_Input</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_435_14" TARGET="main">Foreground -  terminal_interface-curses-forms.ads:435</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_440_14" TARGET="main">Foreground -  terminal_interface-curses-forms.ads:440</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_429_14" TARGET="main">Foreground -  terminal_interface-curses-menus.ads:429</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_434_14" TARGET="main">Foreground -  terminal_interface-curses-menus.ads:434</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_549_14" TARGET="main">Format</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_779_16" TARGET="main">Form_Opts</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_762_16" TARGET="main">Form_Opts_Off</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_759_16" TARGET="main">Form_Opts_On</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_67_16" TARGET="main">Form_Request_Name -  terminal_interface-curses-forms.adb:67</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_75_16" TARGET="main">Form_Request_Name -  terminal_interface-curses-forms.adb:75</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_553_16" TARGET="main">Form_Sub</A>
-<LI><A HREF="../terminal_interface-curses-forms-form_user_data__adb.htm#ref_70_16" TARGET="main">Form_Userptr</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_528_16" TARGET="main">Form_Win</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_137_14" TARGET="main">Free -  terminal_interface-curses-forms.ads:137</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_178_14" TARGET="main">Free -  terminal_interface-curses-menus.ads:178</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_728_16" TARGET="main">Free -  terminal_interface-curses-forms.adb:728</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_843_16" TARGET="main">Free -  terminal_interface-curses-menus.adb:843</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_113_16" TARGET="main">Freeitem</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm#ref_173_14" TARGET="main">Free_Arg</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_116_16" TARGET="main">Free_Field</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_878_16" TARGET="main">Frm_Driver</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_951_13" TARGET="main">Function_Key</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_956_13" TARGET="main">Function_Key_Code</A>
-</UL></BODY></HTML>
+</head>
+<body>
+<h2>Functions - F</h2>
+<a href="../funcs.htm" target="_self">[index]</a>
+<ul compact type="disc">
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_603_13" target="main">Fields</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_411_16" target="main">Field_Back -  terminal_interface-curses-forms.adb:411</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_421_16" target="main">Field_Back -  terminal_interface-curses-forms.adb:421</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_223_16" target="main">Field_Buffer -  terminal_interface-curses-forms.adb:223</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_234_16" target="main">Field_Buffer -  terminal_interface-curses-forms.adb:234</a>
+<li><a href="../terminal_interface-curses-forms-field_types__ads.htm#ref_178_13" target="main">Field_Check_Router</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_609_13" target="main">Field_Count</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_372_16" target="main">Field_Fore -  terminal_interface-curses-forms.adb:372</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_382_16" target="main">Field_Fore -  terminal_interface-curses-forms.adb:382</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_189_16" target="main">Field_Just</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_328_16" target="main">Field_Opts</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_311_16" target="main">Field_Opts_Off</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_308_16" target="main">Field_Opts_On</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_447_16" target="main">Field_Pad</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_260_16" target="main">Field_Status</a>
+<li><a href="../terminal_interface-curses-forms-field_user_data__adb.htm#ref_68_16" target="main">Field_Userptr</a>
+<li><a href="../terminal_interface-curses-aux__ads.htm#ref_91_14" target="main">Fill_String -  terminal_interface-curses-aux.ads:91</a>
+<li><a href="../terminal_interface-curses-aux__ads.htm#ref_96_13" target="main">Fill_String -  terminal_interface-curses-aux.ads:96</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_762_16" target="main">Flash</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1046_14" target="main">Flash_Screen</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_468_16" target="main">Fld_Info</a>
+<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_66_14" target="main">Flush -  terminal_interface-curses-text_io.ads:66</a>
+<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_67_14" target="main">Flush -  terminal_interface-curses-text_io.ads:67</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_2055_16" target="main">Flushinp</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1809_14" target="main">Flush_Input</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_436_14" target="main">Foreground -  terminal_interface-curses-forms.ads:436</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_441_14" target="main">Foreground -  terminal_interface-curses-forms.ads:441</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_430_14" target="main">Foreground -  terminal_interface-curses-menus.ads:430</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_435_14" target="main">Foreground -  terminal_interface-curses-menus.ads:435</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_550_14" target="main">Format</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_780_16" target="main">Form_Opts</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_763_16" target="main">Form_Opts_Off</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_760_16" target="main">Form_Opts_On</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_68_16" target="main">Form_Request_Name -  terminal_interface-curses-forms.adb:68</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_76_16" target="main">Form_Request_Name -  terminal_interface-curses-forms.adb:76</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_554_16" target="main">Form_Sub</a>
+<li><a href="../terminal_interface-curses-forms-form_user_data__adb.htm#ref_69_16" target="main">Form_Userptr</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_529_16" target="main">Form_Win</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_138_14" target="main">Free -  terminal_interface-curses-forms.ads:138</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_179_14" target="main">Free -  terminal_interface-curses-menus.ads:179</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_729_16" target="main">Free -  terminal_interface-curses-forms.adb:729</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_843_16" target="main">Free -  terminal_interface-curses-menus.adb:843</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_113_16" target="main">Freeitem</a>
+<li><a href="../terminal_interface-curses-forms-field_types__ads.htm#ref_173_14" target="main">Free_Arg</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_117_16" target="main">Free_Field</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_879_16" target="main">Frm_Driver</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_952_13" target="main">Function_Key</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_957_13" target="main">Function_Key_Code</a>
+</ul></body></html>
diff --git a/doc/html/ada/funcs/G.htm b/doc/html/ada/funcs/G.htm
index f165569..166fbc1 100644
--- a/doc/html/ada/funcs/G.htm
+++ b/doc/html/ada/funcs/G.htm
@@ -1,100 +1,100 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>G</TITLE>
+<html>
+<head>
+<title>G</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<BODY>
-<H2>Functions - G</H2>
-<A HREF="../funcs.htm" TARGET="_self">[index]</A>
-<UL COMPACT TYPE=DISC>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-user__ads.htm#ref_88_13" TARGET="main">Generic_Char_Check</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-user__ads.htm#ref_81_13" TARGET="main">Generic_Field_Check</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_80_13" TARGET="main">Generic_Next</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_87_13" TARGET="main">Generic_Prev</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1633_14" TARGET="main">Get -  terminal_interface-curses.ads:1633</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1644_14" TARGET="main">Get -  terminal_interface-curses.ads:1644</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1377_16" TARGET="main">GetBegX</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1374_16" TARGET="main">GetBegY</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1395_16" TARGET="main">GetCurX</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1392_16" TARGET="main">GetCurY</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1359_16" TARGET="main">GetMaxX</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1356_16" TARGET="main">GetMaxY</A>
-<LI><A HREF="../terminal_interface-curses-mouse__adb.htm#ref_66_16" TARGET="main">Getmouse</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1414_16" TARGET="main">GetParX</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1411_16" TARGET="main">GetParY</A>
-<LI><A HREF="../terminal_interface-curses-putwin__adb.htm#ref_65_16" TARGET="main">getwin</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types__adb.htm#ref_61_13" TARGET="main">Get_Arg</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1295_13" TARGET="main">Get_Background</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_363_14" TARGET="main">Get_Buffer -  terminal_interface-curses-forms.ads:363</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_369_13" TARGET="main">Get_Buffer -  terminal_interface-curses-forms.ads:369</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_996_13" TARGET="main">Get_Character_Attribute -  terminal_interface-curses.ads:996</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1002_13" TARGET="main">Get_Character_Attribute -  terminal_interface-curses.ads:1002</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1414_14" TARGET="main">Get_Cursor_Position</A>
-<LI><A HREF="../terminal_interface-curses-termcap__ads.htm#ref_59_13" TARGET="main">Get_Entry</A>
-<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_129_14" TARGET="main">Get_Event</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_957_16" TARGET="main">Get_Fieldindex</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types__adb.htm#ref_58_13" TARGET="main">Get_Fieldtype</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_566_13" TARGET="main">Get_Field_Init_Hook</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_571_13" TARGET="main">Get_Field_Term_Hook</A>
-<LI><A HREF="../terminal_interface-curses-termcap__ads.htm#ref_63_13" TARGET="main">Get_Flag -  terminal_interface-curses-termcap.ads:63</A>
-<LI><A HREF="../terminal_interface-curses-terminfo__ads.htm#ref_64_13" TARGET="main">Get_Flag -  terminal_interface-curses-terminfo.ads:64</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_576_13" TARGET="main">Get_Form_Init_Hook</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_581_13" TARGET="main">Get_Form_Term_Hook</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_746_13" TARGET="main">Get_Index -  terminal_interface-curses-forms.ads:746</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_308_13" TARGET="main">Get_Index -  terminal_interface-curses-menus.ads:308</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_298_16" TARGET="main">Get_Itemindex</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_587_13" TARGET="main">Get_Item_Init_Hook</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_592_13" TARGET="main">Get_Item_Term_Hook</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_346_13" TARGET="main">Get_Justification</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1085_13" TARGET="main">Get_KeyPad_Mode</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_921_13" TARGET="main">Get_Keystroke</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_597_13" TARGET="main">Get_Menu_Init_Hook</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_459_16" TARGET="main">Get_Menu_Mark -  terminal_interface-curses-menus.adb:459</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_467_16" TARGET="main">Get_Menu_Mark -  terminal_interface-curses-menus.adb:467</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_602_13" TARGET="main">Get_Menu_Term_Hook</A>
-<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_125_13" TARGET="main">Get_Mouse</A>
-<LI><A HREF="../terminal_interface-curses-termcap__ads.htm#ref_67_14" TARGET="main">Get_Number -  terminal_interface-curses-termcap.ads:67</A>
-<LI><A HREF="../terminal_interface-curses-terminfo__ads.htm#ref_68_13" TARGET="main">Get_Number -  terminal_interface-curses-terminfo.ads:68</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_412_14" TARGET="main">Get_Options -  terminal_interface-curses-forms.ads:412</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_417_13" TARGET="main">Get_Options -  terminal_interface-curses-forms.ads:417</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_659_14" TARGET="main">Get_Options -  terminal_interface-curses-forms.ads:659</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_664_13" TARGET="main">Get_Options -  terminal_interface-curses-forms.ads:664</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_249_14" TARGET="main">Get_Options -  terminal_interface-curses-menus.ads:249</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_254_13" TARGET="main">Get_Options -  terminal_interface-curses-menus.ads:254</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_345_14" TARGET="main">Get_Options -  terminal_interface-curses-menus.ads:345</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_350_13" TARGET="main">Get_Options -  terminal_interface-curses-menus.ads:350</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1422_14" TARGET="main">Get_Origin_Relative_To_Parent</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_943_16" TARGET="main">Get_Page</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_665_16" TARGET="main">Get_Pattern</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1398_14" TARGET="main">Get_Size</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1692_14" TARGET="main">Get_Soft_Label_Key -  terminal_interface-curses.ads:1692</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1697_13" TARGET="main">Get_Soft_Label_Key -  terminal_interface-curses.ads:1697</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1733_13" TARGET="main">Get_Soft_Label_Key_Attributes -  terminal_interface-curses.ads:1733</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1737_13" TARGET="main">Get_Soft_Label_Key_Attributes -  terminal_interface-curses.ads:1737</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_624_16" TARGET="main">Get_Spacing</A>
-<LI><A HREF="../terminal_interface-curses-termcap__ads.htm#ref_73_14" TARGET="main">Get_String -  terminal_interface-curses-termcap.ads:73</A>
-<LI><A HREF="../terminal_interface-curses-termcap__ads.htm#ref_76_13" TARGET="main">Get_String -  terminal_interface-curses-termcap.ads:76</A>
-<LI><A HREF="../terminal_interface-curses-terminfo__ads.htm#ref_57_14" TARGET="main">Get_String -  terminal_interface-curses-terminfo.ads:57</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_523_13" TARGET="main">Get_Sub_Window -  terminal_interface-curses-forms.ads:523</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_376_13" TARGET="main">Get_Sub_Window -  terminal_interface-curses-menus.ads:376</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm#ref_80_13" TARGET="main">Get_Type</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_user_data__ads.htm#ref_59_14" TARGET="main">Get_User_Data -  terminal_interface-curses-forms-field_user_data.ads:59</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_user_data__ads.htm#ref_64_13" TARGET="main">Get_User_Data -  terminal_interface-curses-forms-field_user_data.ads:64</A>
-<LI><A HREF="../terminal_interface-curses-forms-form_user_data__ads.htm#ref_59_14" TARGET="main">Get_User_Data -  terminal_interface-curses-forms-form_user_data.ads:59</A>
-<LI><A HREF="../terminal_interface-curses-forms-form_user_data__ads.htm#ref_64_13" TARGET="main">Get_User_Data -  terminal_interface-curses-forms-form_user_data.ads:64</A>
-<LI><A HREF="../terminal_interface-curses-menus-item_user_data__ads.htm#ref_64_14" TARGET="main">Get_User_Data -  terminal_interface-curses-menus-item_user_data.ads:64</A>
-<LI><A HREF="../terminal_interface-curses-menus-item_user_data__ads.htm#ref_69_13" TARGET="main">Get_User_Data -  terminal_interface-curses-menus-item_user_data.ads:69</A>
-<LI><A HREF="../terminal_interface-curses-menus-menu_user_data__ads.htm#ref_59_14" TARGET="main">Get_User_Data -  terminal_interface-curses-menus-menu_user_data.ads:59</A>
-<LI><A HREF="../terminal_interface-curses-menus-menu_user_data__ads.htm#ref_64_13" TARGET="main">Get_User_Data -  terminal_interface-curses-menus-menu_user_data.ads:64</A>
-<LI><A HREF="../terminal_interface-curses-panels-user_data__ads.htm#ref_59_14" TARGET="main">Get_User_Data -  terminal_interface-curses-panels-user_data.ads:59</A>
-<LI><A HREF="../terminal_interface-curses-panels-user_data__ads.htm#ref_64_13" TARGET="main">Get_User_Data -  terminal_interface-curses-panels-user_data.ads:64</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_512_13" TARGET="main">Get_Window -  terminal_interface-curses-forms.ads:512</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_365_13" TARGET="main">Get_Window -  terminal_interface-curses-menus.ads:365</A>
-<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_101_13" TARGET="main">Get_Window -  terminal_interface-curses-panels.ads:101</A>
-<LI><A HREF="../terminal_interface-curses-putwin__ads.htm#ref_48_13" TARGET="main">Get_Window -  terminal_interface-curses-putwin.ads:48</A>
-<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_62_13" TARGET="main">Get_Window -  terminal_interface-curses-text_io.ads:62</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1406_14" TARGET="main">Get_Window_Position</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_469_14" TARGET="main">Grey -  terminal_interface-curses-menus.ads:469</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_474_14" TARGET="main">Grey -  terminal_interface-curses-menus.ads:474</A>
-</UL></BODY></HTML>
+</head>
+<body>
+<h2>Functions - G</h2>
+<a href="../funcs.htm" target="_self">[index]</a>
+<ul compact type="disc">
+<li><a href="../terminal_interface-curses-forms-field_types-user__ads.htm#ref_89_13" target="main">Generic_Char_Check</a>
+<li><a href="../terminal_interface-curses-forms-field_types-user__ads.htm#ref_82_13" target="main">Generic_Field_Check</a>
+<li><a href="../terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_81_13" target="main">Generic_Next</a>
+<li><a href="../terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_88_13" target="main">Generic_Prev</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1634_14" target="main">Get -  terminal_interface-curses.ads:1634</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1645_14" target="main">Get -  terminal_interface-curses.ads:1645</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1377_16" target="main">GetBegX</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1374_16" target="main">GetBegY</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1395_16" target="main">GetCurX</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1392_16" target="main">GetCurY</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1359_16" target="main">GetMaxX</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1356_16" target="main">GetMaxY</a>
+<li><a href="../terminal_interface-curses-mouse__adb.htm#ref_65_16" target="main">Getmouse</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1414_16" target="main">GetParX</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1411_16" target="main">GetParY</a>
+<li><a href="../terminal_interface-curses-putwin__adb.htm#ref_66_16" target="main">getwin</a>
+<li><a href="../terminal_interface-curses-forms-field_types__adb.htm#ref_62_13" target="main">Get_Arg</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1296_13" target="main">Get_Background</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_364_14" target="main">Get_Buffer -  terminal_interface-curses-forms.ads:364</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_370_13" target="main">Get_Buffer -  terminal_interface-curses-forms.ads:370</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_997_13" target="main">Get_Character_Attribute -  terminal_interface-curses.ads:997</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1003_13" target="main">Get_Character_Attribute -  terminal_interface-curses.ads:1003</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1415_14" target="main">Get_Cursor_Position</a>
+<li><a href="../terminal_interface-curses-termcap__ads.htm#ref_60_13" target="main">Get_Entry</a>
+<li><a href="../terminal_interface-curses-mouse__ads.htm#ref_130_14" target="main">Get_Event</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_958_16" target="main">Get_Fieldindex</a>
+<li><a href="../terminal_interface-curses-forms-field_types__adb.htm#ref_59_13" target="main">Get_Fieldtype</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_567_13" target="main">Get_Field_Init_Hook</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_572_13" target="main">Get_Field_Term_Hook</a>
+<li><a href="../terminal_interface-curses-termcap__ads.htm#ref_64_13" target="main">Get_Flag -  terminal_interface-curses-termcap.ads:64</a>
+<li><a href="../terminal_interface-curses-terminfo__ads.htm#ref_65_13" target="main">Get_Flag -  terminal_interface-curses-terminfo.ads:65</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_577_13" target="main">Get_Form_Init_Hook</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_582_13" target="main">Get_Form_Term_Hook</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_747_13" target="main">Get_Index -  terminal_interface-curses-forms.ads:747</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_309_13" target="main">Get_Index -  terminal_interface-curses-menus.ads:309</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_298_16" target="main">Get_Itemindex</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_588_13" target="main">Get_Item_Init_Hook</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_593_13" target="main">Get_Item_Term_Hook</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_347_13" target="main">Get_Justification</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1086_13" target="main">Get_KeyPad_Mode</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_922_13" target="main">Get_Keystroke</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_598_13" target="main">Get_Menu_Init_Hook</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_459_16" target="main">Get_Menu_Mark -  terminal_interface-curses-menus.adb:459</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_467_16" target="main">Get_Menu_Mark -  terminal_interface-curses-menus.adb:467</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_603_13" target="main">Get_Menu_Term_Hook</a>
+<li><a href="../terminal_interface-curses-mouse__ads.htm#ref_126_13" target="main">Get_Mouse</a>
+<li><a href="../terminal_interface-curses-termcap__ads.htm#ref_68_14" target="main">Get_Number -  terminal_interface-curses-termcap.ads:68</a>
+<li><a href="../terminal_interface-curses-terminfo__ads.htm#ref_69_13" target="main">Get_Number -  terminal_interface-curses-terminfo.ads:69</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_413_14" target="main">Get_Options -  terminal_interface-curses-forms.ads:413</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_418_13" target="main">Get_Options -  terminal_interface-curses-forms.ads:418</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_660_14" target="main">Get_Options -  terminal_interface-curses-forms.ads:660</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_665_13" target="main">Get_Options -  terminal_interface-curses-forms.ads:665</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_250_14" target="main">Get_Options -  terminal_interface-curses-menus.ads:250</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_255_13" target="main">Get_Options -  terminal_interface-curses-menus.ads:255</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_346_14" target="main">Get_Options -  terminal_interface-curses-menus.ads:346</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_351_13" target="main">Get_Options -  terminal_interface-curses-menus.ads:351</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1423_14" target="main">Get_Origin_Relative_To_Parent</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_944_16" target="main">Get_Page</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_665_16" target="main">Get_Pattern</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1399_14" target="main">Get_Size</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1693_14" target="main">Get_Soft_Label_Key -  terminal_interface-curses.ads:1693</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1698_13" target="main">Get_Soft_Label_Key -  terminal_interface-curses.ads:1698</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1734_13" target="main">Get_Soft_Label_Key_Attributes -  terminal_interface-curses.ads:1734</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1738_13" target="main">Get_Soft_Label_Key_Attributes -  terminal_interface-curses.ads:1738</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_624_16" target="main">Get_Spacing</a>
+<li><a href="../terminal_interface-curses-termcap__ads.htm#ref_74_14" target="main">Get_String -  terminal_interface-curses-termcap.ads:74</a>
+<li><a href="../terminal_interface-curses-termcap__ads.htm#ref_77_13" target="main">Get_String -  terminal_interface-curses-termcap.ads:77</a>
+<li><a href="../terminal_interface-curses-terminfo__ads.htm#ref_58_14" target="main">Get_String -  terminal_interface-curses-terminfo.ads:58</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_524_13" target="main">Get_Sub_Window -  terminal_interface-curses-forms.ads:524</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_377_13" target="main">Get_Sub_Window -  terminal_interface-curses-menus.ads:377</a>
+<li><a href="../terminal_interface-curses-forms-field_types__ads.htm#ref_80_13" target="main">Get_Type</a>
+<li><a href="../terminal_interface-curses-forms-field_user_data__ads.htm#ref_60_14" target="main">Get_User_Data -  terminal_interface-curses-forms-field_user_data.ads:60</a>
+<li><a href="../terminal_interface-curses-forms-field_user_data__ads.htm#ref_65_13" target="main">Get_User_Data -  terminal_interface-curses-forms-field_user_data.ads:65</a>
+<li><a href="../terminal_interface-curses-forms-form_user_data__ads.htm#ref_60_14" target="main">Get_User_Data -  terminal_interface-curses-forms-form_user_data.ads:60</a>
+<li><a href="../terminal_interface-curses-forms-form_user_data__ads.htm#ref_65_13" target="main">Get_User_Data -  terminal_interface-curses-forms-form_user_data.ads:65</a>
+<li><a href="../terminal_interface-curses-menus-item_user_data__ads.htm#ref_65_14" target="main">Get_User_Data -  terminal_interface-curses-menus-item_user_data.ads:65</a>
+<li><a href="../terminal_interface-curses-menus-item_user_data__ads.htm#ref_70_13" target="main">Get_User_Data -  terminal_interface-curses-menus-item_user_data.ads:70</a>
+<li><a href="../terminal_interface-curses-menus-menu_user_data__ads.htm#ref_60_14" target="main">Get_User_Data -  terminal_interface-curses-menus-menu_user_data.ads:60</a>
+<li><a href="../terminal_interface-curses-menus-menu_user_data__ads.htm#ref_65_13" target="main">Get_User_Data -  terminal_interface-curses-menus-menu_user_data.ads:65</a>
+<li><a href="../terminal_interface-curses-panels-user_data__ads.htm#ref_60_14" target="main">Get_User_Data -  terminal_interface-curses-panels-user_data.ads:60</a>
+<li><a href="../terminal_interface-curses-panels-user_data__ads.htm#ref_65_13" target="main">Get_User_Data -  terminal_interface-curses-panels-user_data.ads:65</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_513_13" target="main">Get_Window -  terminal_interface-curses-forms.ads:513</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_366_13" target="main">Get_Window -  terminal_interface-curses-menus.ads:366</a>
+<li><a href="../terminal_interface-curses-panels__ads.htm#ref_102_13" target="main">Get_Window -  terminal_interface-curses-panels.ads:102</a>
+<li><a href="../terminal_interface-curses-putwin__ads.htm#ref_49_13" target="main">Get_Window -  terminal_interface-curses-putwin.ads:49</a>
+<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_63_13" target="main">Get_Window -  terminal_interface-curses-text_io.ads:63</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1407_14" target="main">Get_Window_Position</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_470_14" target="main">Grey -  terminal_interface-curses-menus.ads:470</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_475_14" target="main">Grey -  terminal_interface-curses-menus.ads:475</a>
+</ul></body></html>
diff --git a/doc/html/ada/funcs/H.htm b/doc/html/ada/funcs/H.htm
index ee7c670..c877937 100644
--- a/doc/html/ada/funcs/H.htm
+++ b/doc/html/ada/funcs/H.htm
@@ -1,26 +1,26 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>H</TITLE>
+<html>
+<head>
+<title>H</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<BODY>
-<H2>Functions - H</H2>
-<A HREF="../funcs.htm" TARGET="_self">[index]</A>
-<UL COMPACT TYPE=DISC>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_860_16" TARGET="main">Halfdelay</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1093_14" TARGET="main">Half_Delay</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2199_16" TARGET="main">Hascolors</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_550_16" TARGET="main">Haskey</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1896_13" TARGET="main">Has_Colors</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2089_16" TARGET="main">Has_Ic</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2101_16" TARGET="main">Has_Il</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1832_13" TARGET="main">Has_Insert_Character</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1837_13" TARGET="main">Has_Insert_Line</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_937_13" TARGET="main">Has_Key</A>
-<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_90_13" TARGET="main">Has_Mouse</A>
-<LI><A HREF="../terminal_interface-curses-terminfo__ads.htm#ref_60_13" TARGET="main">Has_String</A>
-<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_96_14" TARGET="main">Hide</A>
-<LI><A HREF="../terminal_interface-curses-panels__adb.htm#ref_95_16" TARGET="main">Hidepanel</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_898_14" TARGET="main">Horizontal_Line</A>
-</UL></BODY></HTML>
+</head>
+<body>
+<h2>Functions - H</h2>
+<a href="../funcs.htm" target="_self">[index]</a>
+<ul compact type="disc">
+<li><a href="../terminal_interface-curses__adb.htm#ref_860_16" target="main">Halfdelay</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1094_14" target="main">Half_Delay</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_2199_16" target="main">Hascolors</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_550_16" target="main">Haskey</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1897_13" target="main">Has_Colors</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_2089_16" target="main">Has_Ic</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_2101_16" target="main">Has_Il</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1833_13" target="main">Has_Insert_Character</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1838_13" target="main">Has_Insert_Line</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_938_13" target="main">Has_Key</a>
+<li><a href="../terminal_interface-curses-mouse__ads.htm#ref_91_13" target="main">Has_Mouse</a>
+<li><a href="../terminal_interface-curses-terminfo__ads.htm#ref_61_13" target="main">Has_String</a>
+<li><a href="../terminal_interface-curses-panels__ads.htm#ref_97_14" target="main">Hide</a>
+<li><a href="../terminal_interface-curses-panels__adb.htm#ref_96_16" target="main">Hidepanel</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_899_14" target="main">Horizontal_Line</a>
+</ul></body></html>
diff --git a/doc/html/ada/funcs/I.htm b/doc/html/ada/funcs/I.htm
index aec0597..97c5e52 100644
--- a/doc/html/ada/funcs/I.htm
+++ b/doc/html/ada/funcs/I.htm
@@ -1,55 +1,55 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>I</TITLE>
+<html>
+<head>
+<title>I</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<BODY>
-<H2>Functions - I</H2>
-<A HREF="../funcs.htm" TARGET="_self">[index]</A>
-<UL COMPACT TYPE=DISC>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_994_17" TARGET="main">IDC_Ok</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_982_16" TARGET="main">IDL_Ok</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1179_14" TARGET="main">Immediate_Update_Mode</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1016_17" TARGET="main">Immedok</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_483_14" TARGET="main">Info</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2214_16" TARGET="main">Initcolor</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2157_16" TARGET="main">Initpair</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_100_16" TARGET="main">Initscr</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1901_14" TARGET="main">Init_Color</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1882_14" TARGET="main">Init_Pair</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_656_14" TARGET="main">Init_Screen</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1669_14" TARGET="main">Init_Soft_Label_Keys</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_659_14" TARGET="main">Init_Windows</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1541_14" TARGET="main">Insert -  terminal_interface-curses.ads:1541</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1547_14" TARGET="main">Insert -  terminal_interface-curses.ads:1547</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1559_14" TARGET="main">Insert -  terminal_interface-curses.ads:1559</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1568_14" TARGET="main">Insert -  terminal_interface-curses.ads:1568</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1374_14" TARGET="main">Insert_Delete_Lines</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1388_14" TARGET="main">Insert_Line</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_872_16" TARGET="main">Intrflush</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_123_16" TARGET="main">Isendwin</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_672_13" TARGET="main">Is_End_Window</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_944_13" TARGET="main">Is_Function_Key</A>
-<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_123_13" TARGET="main">Is_Hidden</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_852_16" TARGET="main">Is_Keypad</A>
-<LI><A HREF="../terminal_interface-curses-terminfo__adb.htm#ref_50_13" TARGET="main">Is_MinusOne_Pointer</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_989_16" TARGET="main">Is_New</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_764_13" TARGET="main">Is_New_Page</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1037_16" TARGET="main">Is_Scroll_Ok</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1330_13" TARGET="main">Is_Touched -  terminal_interface-curses.ads:1330</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1335_13" TARGET="main">Is_Touched -  terminal_interface-curses.ads:1335</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_110_16" TARGET="main">Itemname -  terminal_interface-curses-menus.adb:110</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_217_16" TARGET="main">Itemname -  terminal_interface-curses-menus.adb:217</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_225_16" TARGET="main">Itemname -  terminal_interface-curses-menus.adb:225</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_621_13" TARGET="main">Items</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_627_13" TARGET="main">Item_Count</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_749_16" TARGET="main">Item_Init</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_199_16" TARGET="main">Item_Opts</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_184_16" TARGET="main">Item_Opts_Off</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_181_16" TARGET="main">Item_Opts_On</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_757_16" TARGET="main">Item_Term</A>
-<LI><A HREF="../terminal_interface-curses-menus-item_user_data__adb.htm#ref_61_16" TARGET="main">Item_Userptr</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_143_16" TARGET="main">Item_Val</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_156_16" TARGET="main">Item_Vis</A>
-</UL></BODY></HTML>
+</head>
+<body>
+<h2>Functions - I</h2>
+<a href="../funcs.htm" target="_self">[index]</a>
+<ul compact type="disc">
+<li><a href="../terminal_interface-curses__adb.htm#ref_994_17" target="main">IDC_Ok</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_982_16" target="main">IDL_Ok</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1180_14" target="main">Immediate_Update_Mode</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1016_17" target="main">Immedok</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_484_14" target="main">Info</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_2214_16" target="main">Initcolor</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_2157_16" target="main">Initpair</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_100_16" target="main">Initscr</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1902_14" target="main">Init_Color</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1883_14" target="main">Init_Pair</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_657_14" target="main">Init_Screen</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1670_14" target="main">Init_Soft_Label_Keys</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_660_14" target="main">Init_Windows</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1542_14" target="main">Insert -  terminal_interface-curses.ads:1542</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1548_14" target="main">Insert -  terminal_interface-curses.ads:1548</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1560_14" target="main">Insert -  terminal_interface-curses.ads:1560</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1569_14" target="main">Insert -  terminal_interface-curses.ads:1569</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1375_14" target="main">Insert_Delete_Lines</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1389_14" target="main">Insert_Line</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_872_16" target="main">Intrflush</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_123_16" target="main">Isendwin</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_673_13" target="main">Is_End_Window</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_945_13" target="main">Is_Function_Key</a>
+<li><a href="../terminal_interface-curses-panels__ads.htm#ref_124_13" target="main">Is_Hidden</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_852_16" target="main">Is_Keypad</a>
+<li><a href="../terminal_interface-curses-terminfo__adb.htm#ref_51_13" target="main">Is_MinusOne_Pointer</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_990_16" target="main">Is_New</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_765_13" target="main">Is_New_Page</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1037_16" target="main">Is_Scroll_Ok</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1331_13" target="main">Is_Touched -  terminal_interface-curses.ads:1331</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1336_13" target="main">Is_Touched -  terminal_interface-curses.ads:1336</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_110_16" target="main">Itemname -  terminal_interface-curses-menus.adb:110</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_217_16" target="main">Itemname -  terminal_interface-curses-menus.adb:217</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_225_16" target="main">Itemname -  terminal_interface-curses-menus.adb:225</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_622_13" target="main">Items</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_628_13" target="main">Item_Count</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_749_16" target="main">Item_Init</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_199_16" target="main">Item_Opts</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_184_16" target="main">Item_Opts_Off</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_181_16" target="main">Item_Opts_On</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_757_16" target="main">Item_Term</a>
+<li><a href="../terminal_interface-curses-menus-item_user_data__adb.htm#ref_59_16" target="main">Item_Userptr</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_143_16" target="main">Item_Val</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_156_16" target="main">Item_Vis</a>
+</ul></body></html>
diff --git a/doc/html/ada/funcs/K.htm b/doc/html/ada/funcs/K.htm
index 45ee508..47e6835 100644
--- a/doc/html/ada/funcs/K.htm
+++ b/doc/html/ada/funcs/K.htm
@@ -1,18 +1,18 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>K</TITLE>
+<html>
+<head>
+<title>K</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<BODY>
-<H2>Functions - K</H2>
-<A HREF="../funcs.htm" TARGET="_self">[index]</A>
-<UL COMPACT TYPE=DISC>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_64_16" TARGET="main">Keyname</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1999_16" TARGET="main">Keyok</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_841_16" TARGET="main">Keypad</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1780_14" TARGET="main">Key_Name -  terminal_interface-curses.ads:1780</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1786_13" TARGET="main">Key_Name -  terminal_interface-curses.ads:1786</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2081_16" TARGET="main">Killchar</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1827_13" TARGET="main">Kill_Character</A>
-</UL></BODY></HTML>
+</head>
+<body>
+<h2>Functions - K</h2>
+<a href="../funcs.htm" target="_self">[index]</a>
+<ul compact type="disc">
+<li><a href="../terminal_interface-curses__adb.htm#ref_64_16" target="main">Keyname</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1999_16" target="main">Keyok</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_841_16" target="main">Keypad</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1781_14" target="main">Key_Name -  terminal_interface-curses.ads:1781</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1787_13" target="main">Key_Name -  terminal_interface-curses.ads:1787</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_2081_16" target="main">Killchar</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1828_13" target="main">Kill_Character</a>
+</ul></body></html>
diff --git a/doc/html/ada/funcs/L.htm b/doc/html/ada/funcs/L.htm
index 4047e8b..b5929e6 100644
--- a/doc/html/ada/funcs/L.htm
+++ b/doc/html/ada/funcs/L.htm
@@ -1,25 +1,25 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>L</TITLE>
+<html>
+<head>
+<title>L</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<BODY>
-<H2>Functions - L</H2>
-<A HREF="../funcs.htm" TARGET="_self">[index]</A>
-<UL COMPACT TYPE=DISC>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1172_14" TARGET="main">Leave_Cursor_After_Update</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1004_16" TARGET="main">Leave_Ok</A>
-<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_101_13" TARGET="main">Line -  terminal_interface-curses-text_io.ads:101</A>
-<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_102_13" TARGET="main">Line -  terminal_interface-curses-text_io.ads:102</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_550_13" TARGET="main">Lines</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2357_16" TARGET="main">LINES_As_Function</A>
-<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_77_13" TARGET="main">Line_Length -  terminal_interface-curses-text_io.ads:77</A>
-<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_78_13" TARGET="main">Line_Length -  terminal_interface-curses-text_io.ads:78</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_329_13" TARGET="main">Link</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_151_16" TARGET="main">Lnk_Field</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2123_16" TARGET="main">Longname -  terminal_interface-curses.adb:2123</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2131_16" TARGET="main">Longname -  terminal_interface-curses.adb:2131</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1847_14" TARGET="main">Long_Name -  terminal_interface-curses.ads:1847</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1851_13" TARGET="main">Long_Name -  terminal_interface-curses.ads:1851</A>
-</UL></BODY></HTML>
+</head>
+<body>
+<h2>Functions - L</h2>
+<a href="../funcs.htm" target="_self">[index]</a>
+<ul compact type="disc">
+<li><a href="../terminal_interface-curses__ads.htm#ref_1173_14" target="main">Leave_Cursor_After_Update</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1004_16" target="main">Leave_Ok</a>
+<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_102_13" target="main">Line -  terminal_interface-curses-text_io.ads:102</a>
+<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_103_13" target="main">Line -  terminal_interface-curses-text_io.ads:103</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_551_13" target="main">Lines</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_2357_16" target="main">LINES_As_Function</a>
+<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_78_13" target="main">Line_Length -  terminal_interface-curses-text_io.ads:78</a>
+<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_79_13" target="main">Line_Length -  terminal_interface-curses-text_io.ads:79</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_330_13" target="main">Link</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_152_16" target="main">Lnk_Field</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_2123_16" target="main">Longname -  terminal_interface-curses.adb:2123</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_2131_16" target="main">Longname -  terminal_interface-curses.adb:2131</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1848_14" target="main">Long_Name -  terminal_interface-curses.ads:1848</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1852_13" target="main">Long_Name -  terminal_interface-curses.ads:1852</a>
+</ul></body></html>
diff --git a/doc/html/ada/funcs/M.htm b/doc/html/ada/funcs/M.htm
index daffe1e..00d1011 100644
--- a/doc/html/ada/funcs/M.htm
+++ b/doc/html/ada/funcs/M.htm
@@ -1,55 +1,55 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>M</TITLE>
+<html>
+<head>
+<title>M</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<BODY>
-<H2>Functions - M</H2>
-<A HREF="../funcs.htm" TARGET="_self">[index]</A>
-<UL COMPACT TYPE=DISC>
-<LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm#ref_163_13" TARGET="main">Make_Arg</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_407_14" TARGET="main">Mark -  terminal_interface-curses-menus.ads:407</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_411_14" TARGET="main">Mark -  terminal_interface-curses-menus.ads:411</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_529_16" TARGET="main">Menu_Back -  terminal_interface-curses-menus.adb:529</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_539_16" TARGET="main">Menu_Back -  terminal_interface-curses-menus.adb:539</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_692_16" TARGET="main">Menu_Fmt</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_493_16" TARGET="main">Menu_Fore -  terminal_interface-curses-menus.adb:493</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_503_16" TARGET="main">Menu_Fore -  terminal_interface-curses-menus.adb:503</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_565_16" TARGET="main">Menu_Grey -  terminal_interface-curses-menus.adb:565</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_575_16" TARGET="main">Menu_Grey -  terminal_interface-curses-menus.adb:575</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_765_16" TARGET="main">Menu_Init</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_358_16" TARGET="main">Menu_Opts</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_343_16" TARGET="main">Menu_Opts_Off</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_340_16" TARGET="main">Menu_Opts_On</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_596_16" TARGET="main">Menu_Pad</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_407_16" TARGET="main">Menu_Sub</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_773_16" TARGET="main">Menu_Term</A>
-<LI><A HREF="../terminal_interface-curses-menus-menu_user_data__adb.htm#ref_61_16" TARGET="main">Menu_Userptr</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_386_16" TARGET="main">Menu_Win</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_830_16" TARGET="main">Meta</A>
-<LI><A HREF="../terminal_interface-curses-mouse__adb.htm#ref_110_16" TARGET="main">MMask</A>
-<LI><A HREF="../terminal_interface-curses-mouse__adb.htm#ref_212_16" TARGET="main">Mouseinterval</A>
-<LI><A HREF="../terminal_interface-curses-mouse__adb.htm#ref_52_16" TARGET="main">Mouse_Avail</A>
-<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_153_13" TARGET="main">Mouse_Interval</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_613_14" TARGET="main">Move -  terminal_interface-curses-forms.ads:613</A>
-<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_116_14" TARGET="main">Move -  terminal_interface-curses-panels.ads:116</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_692_16" TARGET="main">Move -  terminal_interface-curses-forms.adb:692</A>
-<LI><A HREF="../terminal_interface-curses-panels__adb.htm#ref_132_16" TARGET="main">Move -  terminal_interface-curses-panels.adb:132</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_681_14" TARGET="main">Move_Cursor</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_796_14" TARGET="main">Move_Derived_Window</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_789_14" TARGET="main">Move_Window</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_351_16" TARGET="main">Mvderwin</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_176_16" TARGET="main">mvwaddch</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1589_16" TARGET="main">Mvwdelch</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_337_16" TARGET="main">Mvwin</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1613_16" TARGET="main">Mvwinch</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1638_16" TARGET="main">Mvwinsch</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1678_16" TARGET="main">Mvwinsnstr</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_805_16" TARGET="main">M_Post -  terminal_interface-curses-forms.adb:805</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_312_16" TARGET="main">M_Post -  terminal_interface-curses-menus.adb:312</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_568_16" TARGET="main">M_Scale -  terminal_interface-curses-forms.adb:568</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_420_16" TARGET="main">M_Scale -  terminal_interface-curses-menus.adb:420</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_807_16" TARGET="main">M_Unpost -  terminal_interface-curses-forms.adb:807</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_314_16" TARGET="main">M_Unpost -  terminal_interface-curses-menus.adb:314</A>
-</UL></BODY></HTML>
+</head>
+<body>
+<h2>Functions - M</h2>
+<a href="../funcs.htm" target="_self">[index]</a>
+<ul compact type="disc">
+<li><a href="../terminal_interface-curses-forms-field_types__ads.htm#ref_163_13" target="main">Make_Arg</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_408_14" target="main">Mark -  terminal_interface-curses-menus.ads:408</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_412_14" target="main">Mark -  terminal_interface-curses-menus.ads:412</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_529_16" target="main">Menu_Back -  terminal_interface-curses-menus.adb:529</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_539_16" target="main">Menu_Back -  terminal_interface-curses-menus.adb:539</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_692_16" target="main">Menu_Fmt</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_493_16" target="main">Menu_Fore -  terminal_interface-curses-menus.adb:493</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_503_16" target="main">Menu_Fore -  terminal_interface-curses-menus.adb:503</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_565_16" target="main">Menu_Grey -  terminal_interface-curses-menus.adb:565</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_575_16" target="main">Menu_Grey -  terminal_interface-curses-menus.adb:575</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_765_16" target="main">Menu_Init</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_358_16" target="main">Menu_Opts</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_343_16" target="main">Menu_Opts_Off</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_340_16" target="main">Menu_Opts_On</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_596_16" target="main">Menu_Pad</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_407_16" target="main">Menu_Sub</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_773_16" target="main">Menu_Term</a>
+<li><a href="../terminal_interface-curses-menus-menu_user_data__adb.htm#ref_60_16" target="main">Menu_Userptr</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_386_16" target="main">Menu_Win</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_830_16" target="main">Meta</a>
+<li><a href="../terminal_interface-curses-mouse__adb.htm#ref_109_16" target="main">MMask</a>
+<li><a href="../terminal_interface-curses-mouse__adb.htm#ref_212_16" target="main">Mouseinterval</a>
+<li><a href="../terminal_interface-curses-mouse__adb.htm#ref_51_16" target="main">Mouse_Avail</a>
+<li><a href="../terminal_interface-curses-mouse__ads.htm#ref_154_13" target="main">Mouse_Interval</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_614_14" target="main">Move -  terminal_interface-curses-forms.ads:614</a>
+<li><a href="../terminal_interface-curses-panels__ads.htm#ref_117_14" target="main">Move -  terminal_interface-curses-panels.ads:117</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_693_16" target="main">Move -  terminal_interface-curses-forms.adb:693</a>
+<li><a href="../terminal_interface-curses-panels__adb.htm#ref_133_16" target="main">Move -  terminal_interface-curses-panels.adb:133</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_682_14" target="main">Move_Cursor</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_797_14" target="main">Move_Derived_Window</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_790_14" target="main">Move_Window</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_351_16" target="main">Mvderwin</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_176_16" target="main">mvwaddch</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1589_16" target="main">Mvwdelch</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_337_16" target="main">Mvwin</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1613_16" target="main">Mvwinch</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1638_16" target="main">Mvwinsch</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1678_16" target="main">Mvwinsnstr</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_806_16" target="main">M_Post -  terminal_interface-curses-forms.adb:806</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_312_16" target="main">M_Post -  terminal_interface-curses-menus.adb:312</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_569_16" target="main">M_Scale -  terminal_interface-curses-forms.adb:569</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_420_16" target="main">M_Scale -  terminal_interface-curses-menus.adb:420</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_808_16" target="main">M_Unpost -  terminal_interface-curses-forms.adb:808</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_314_16" target="main">M_Unpost -  terminal_interface-curses-menus.adb:314</a>
+</ul></body></html>
diff --git a/doc/html/ada/funcs/N.htm b/doc/html/ada/funcs/N.htm
index 4f8c9de..cf13006 100644
--- a/doc/html/ada/funcs/N.htm
+++ b/doc/html/ada/funcs/N.htm
@@ -1,39 +1,39 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>N</TITLE>
+<html>
+<head>
+<title>N</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<BODY>
-<H2>Functions - N</H2>
-<A HREF="../funcs.htm" TARGET="_self">[index]</A>
-<UL COMPACT TYPE=DISC>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_263_14" TARGET="main">Name -  terminal_interface-curses-menus.ads:263</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_266_14" TARGET="main">Name -  terminal_interface-curses-menus.ads:266</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2347_16" TARGET="main">Napms</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1976_14" TARGET="main">Nap_Milli_Seconds</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_99_16" TARGET="main">Newfield</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_707_16" TARGET="main">NewForm</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_80_16" TARGET="main">Newitem</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_824_16" TARGET="main">Newmenu</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1434_16" TARGET="main">Newpad</A>
-<LI><A HREF="../terminal_interface-curses-panels__adb.htm#ref_51_16" TARGET="main">Newpanel</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_235_16" TARGET="main">Newwin</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm#ref_223_13" TARGET="main">New_Fieldtype</A>
-<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_86_14" TARGET="main">New_Line -  terminal_interface-curses-text_io.ads:86</A>
-<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_87_14" TARGET="main">New_Line -  terminal_interface-curses-text_io.ads:87</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1437_13" TARGET="main">New_Pad</A>
-<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_89_14" TARGET="main">New_Page -  terminal_interface-curses-text_io.ads:89</A>
-<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_90_14" TARGET="main">New_Page -  terminal_interface-curses-text_io.ads:90</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm#ref_194_13" TARGET="main">Next_Router</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_949_16" TARGET="main">NL</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_774_16" TARGET="main">NoCbreak</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_903_16" TARGET="main">Nodelay</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_812_16" TARGET="main">NoEcho</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_951_16" TARGET="main">NoNL</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_793_16" TARGET="main">NoRaw</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_936_16" TARGET="main">Notimeout</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_886_17" TARGET="main">No_Qiflush</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_559_13" TARGET="main">Number_Of_Colors</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_562_13" TARGET="main">Number_Of_Color_Pairs</A>
-</UL></BODY></HTML>
+</head>
+<body>
+<h2>Functions - N</h2>
+<a href="../funcs.htm" target="_self">[index]</a>
+<ul compact type="disc">
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_264_14" target="main">Name -  terminal_interface-curses-menus.ads:264</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_267_14" target="main">Name -  terminal_interface-curses-menus.ads:267</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_2347_16" target="main">Napms</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1977_14" target="main">Nap_Milli_Seconds</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_100_16" target="main">Newfield</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_708_16" target="main">NewForm</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_80_16" target="main">Newitem</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_824_16" target="main">Newmenu</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1434_16" target="main">Newpad</a>
+<li><a href="../terminal_interface-curses-panels__adb.htm#ref_52_16" target="main">Newpanel</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_235_16" target="main">Newwin</a>
+<li><a href="../terminal_interface-curses-forms-field_types__ads.htm#ref_223_13" target="main">New_Fieldtype</a>
+<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_87_14" target="main">New_Line -  terminal_interface-curses-text_io.ads:87</a>
+<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_88_14" target="main">New_Line -  terminal_interface-curses-text_io.ads:88</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1438_13" target="main">New_Pad</a>
+<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_90_14" target="main">New_Page -  terminal_interface-curses-text_io.ads:90</a>
+<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_91_14" target="main">New_Page -  terminal_interface-curses-text_io.ads:91</a>
+<li><a href="../terminal_interface-curses-forms-field_types__ads.htm#ref_194_13" target="main">Next_Router</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_949_16" target="main">NL</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_774_16" target="main">NoCbreak</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_903_16" target="main">Nodelay</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_812_16" target="main">NoEcho</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_951_16" target="main">NoNL</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_793_16" target="main">NoRaw</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_936_16" target="main">Notimeout</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_886_17" target="main">No_Qiflush</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_560_13" target="main">Number_Of_Colors</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_563_13" target="main">Number_Of_Color_Pairs</a>
+</ul></body></html>
diff --git a/doc/html/ada/funcs/O.htm b/doc/html/ada/funcs/O.htm
index c860674..6ade14a 100644
--- a/doc/html/ada/funcs/O.htm
+++ b/doc/html/ada/funcs/O.htm
@@ -1,16 +1,16 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>O</TITLE>
+<html>
+<head>
+<title>O</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<BODY>
-<H2>Functions - O</H2>
-<A HREF="../funcs.htm" TARGET="_self">[index]</A>
-<UL COMPACT TYPE=DISC>
-<LI><A HREF="../terminal_interface-curses-text_io-aux__adb.htm#ref_59_17" TARGET="main">Output</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1364_14" TARGET="main">Overlay -  terminal_interface-curses.ads:1364</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1317_16" TARGET="main">Overlay -  terminal_interface-curses.adb:1317</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1358_14" TARGET="main">Overwrite -  terminal_interface-curses.ads:1358</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1305_16" TARGET="main">Overwrite -  terminal_interface-curses.adb:1305</A>
-</UL></BODY></HTML>
+</head>
+<body>
+<h2>Functions - O</h2>
+<a href="../funcs.htm" target="_self">[index]</a>
+<ul compact type="disc">
+<li><a href="../terminal_interface-curses-text_io-aux__adb.htm#ref_60_17" target="main">Output</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1365_14" target="main">Overlay -  terminal_interface-curses.ads:1365</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1317_16" target="main">Overlay -  terminal_interface-curses.adb:1317</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1359_14" target="main">Overwrite -  terminal_interface-curses.ads:1359</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1305_16" target="main">Overwrite -  terminal_interface-curses.adb:1305</a>
+</ul></body></html>
diff --git a/doc/html/ada/funcs/P.htm b/doc/html/ada/funcs/P.htm
index d3b3ca0..d52c66d 100644
--- a/doc/html/ada/funcs/P.htm
+++ b/doc/html/ada/funcs/P.htm
@@ -1,63 +1,63 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>P</TITLE>
+<html>
+<head>
+<title>P</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<BODY>
-<H2>Functions - P</H2>
-<A HREF="../funcs.htm" TARGET="_self">[index]</A>
-<UL COMPACT TYPE=DISC>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_473_14" TARGET="main">Pad_Character -  terminal_interface-curses-forms.ads:473</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_488_14" TARGET="main">Pad_Character -  terminal_interface-curses-menus.ads:488</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_741_13" TARGET="main">Page</A>
-<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_80_13" TARGET="main">Page_Length -  terminal_interface-curses-text_io.ads:80</A>
-<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_81_13" TARGET="main">Page_Length -  terminal_interface-curses-text_io.ads:81</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2182_16" TARGET="main">Paircontent</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1889_14" TARGET="main">Pair_Content</A>
-<LI><A HREF="../terminal_interface-curses-panels__adb.htm#ref_144_16" TARGET="main">Panel_Hidden</A>
-<LI><A HREF="../terminal_interface-curses-panels-user_data__adb.htm#ref_65_16" TARGET="main">Panel_Userptr</A>
-<LI><A HREF="../terminal_interface-curses-panels__adb.htm#ref_105_16" TARGET="main">Panel_Win</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_525_14" TARGET="main">Pattern</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1540_16" TARGET="main">Pechochar</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1522_13" TARGET="main">Peek -  terminal_interface-curses.ads:1522</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1528_13" TARGET="main">Peek -  terminal_interface-curses.ads:1528</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1584_14" TARGET="main">Peek -  terminal_interface-curses.ads:1584</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1593_14" TARGET="main">Peek -  terminal_interface-curses.ads:1593</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1608_14" TARGET="main">Peek -  terminal_interface-curses.ads:1608</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1617_14" TARGET="main">Peek -  terminal_interface-curses.ads:1617</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1514_16" TARGET="main">Pnoutrefresh</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_684_14" TARGET="main">Position_Cursor -  terminal_interface-curses-forms.ads:684</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_392_14" TARGET="main">Position_Cursor -  terminal_interface-curses-menus.ads:392</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_673_14" TARGET="main">Post -  terminal_interface-curses-forms.ads:673</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_320_14" TARGET="main">Post -  terminal_interface-curses-menus.ads:320</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_826_16" TARGET="main">Pos_Form_Cursor</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_433_16" TARGET="main">Pos_Menu_Cursor</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1483_16" TARGET="main">Prefresh</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm#ref_202_13" TARGET="main">Prev_Router</A>
-<LI><A HREF="../terminal_interface-curses-text_io-complex_io__ads.htm#ref_54_14" TARGET="main">Put -  terminal_interface-curses-text_io-complex_io.ads:54</A>
-<LI><A HREF="../terminal_interface-curses-text_io-complex_io__ads.htm#ref_61_14" TARGET="main">Put -  terminal_interface-curses-text_io-complex_io.ads:61</A>
-<LI><A HREF="../terminal_interface-curses-text_io-decimal_io__ads.htm#ref_50_14" TARGET="main">Put -  terminal_interface-curses-text_io-decimal_io.ads:50</A>
-<LI><A HREF="../terminal_interface-curses-text_io-decimal_io__ads.htm#ref_57_14" TARGET="main">Put -  terminal_interface-curses-text_io-decimal_io.ads:57</A>
-<LI><A HREF="../terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_49_14" TARGET="main">Put -  terminal_interface-curses-text_io-enumeration_io.ads:49</A>
-<LI><A HREF="../terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_55_14" TARGET="main">Put -  terminal_interface-curses-text_io-enumeration_io.ads:55</A>
-<LI><A HREF="../terminal_interface-curses-text_io-fixed_io__ads.htm#ref_50_14" TARGET="main">Put -  terminal_interface-curses-text_io-fixed_io.ads:50</A>
-<LI><A HREF="../terminal_interface-curses-text_io-fixed_io__ads.htm#ref_57_14" TARGET="main">Put -  terminal_interface-curses-text_io-fixed_io.ads:57</A>
-<LI><A HREF="../terminal_interface-curses-text_io-float_io__ads.htm#ref_50_14" TARGET="main">Put -  terminal_interface-curses-text_io-float_io.ads:50</A>
-<LI><A HREF="../terminal_interface-curses-text_io-float_io__ads.htm#ref_57_14" TARGET="main">Put -  terminal_interface-curses-text_io-float_io.ads:57</A>
-<LI><A HREF="../terminal_interface-curses-text_io-integer_io__ads.htm#ref_49_14" TARGET="main">Put -  terminal_interface-curses-text_io-integer_io.ads:49</A>
-<LI><A HREF="../terminal_interface-curses-text_io-integer_io__ads.htm#ref_55_14" TARGET="main">Put -  terminal_interface-curses-text_io-integer_io.ads:55</A>
-<LI><A HREF="../terminal_interface-curses-text_io-modular_io__ads.htm#ref_49_14" TARGET="main">Put -  terminal_interface-curses-text_io-modular_io.ads:49</A>
-<LI><A HREF="../terminal_interface-curses-text_io-modular_io__ads.htm#ref_55_14" TARGET="main">Put -  terminal_interface-curses-text_io-modular_io.ads:55</A>
-<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_108_14" TARGET="main">Put -  terminal_interface-curses-text_io.ads:108</A>
-<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_109_14" TARGET="main">Put -  terminal_interface-curses-text_io.ads:109</A>
-<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_115_14" TARGET="main">Put -  terminal_interface-curses-text_io.ads:115</A>
-<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_116_14" TARGET="main">Put -  terminal_interface-curses-text_io.ads:116</A>
-<LI><A HREF="../terminal_interface-curses-terminfo__adb.htm#ref_143_16" TARGET="main">putp</A>
-<LI><A HREF="../terminal_interface-curses-putwin__adb.htm#ref_53_16" TARGET="main">putwin</A>
-<LI><A HREF="../terminal_interface-curses-text_io-aux__ads.htm#ref_48_14" TARGET="main">Put_Buf</A>
-<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_118_14" TARGET="main">Put_Line -  terminal_interface-curses-text_io.ads:118</A>
-<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_122_14" TARGET="main">Put_Line -  terminal_interface-curses-text_io.ads:122</A>
-<LI><A HREF="../terminal_interface-curses-terminfo__ads.htm#ref_76_14" TARGET="main">Put_String</A>
-<LI><A HREF="../terminal_interface-curses-putwin__ads.htm#ref_45_14" TARGET="main">Put_Window</A>
-</UL></BODY></HTML>
+</head>
+<body>
+<h2>Functions - P</h2>
+<a href="../funcs.htm" target="_self">[index]</a>
+<ul compact type="disc">
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_474_14" target="main">Pad_Character -  terminal_interface-curses-forms.ads:474</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_489_14" target="main">Pad_Character -  terminal_interface-curses-menus.ads:489</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_742_13" target="main">Page</a>
+<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_81_13" target="main">Page_Length -  terminal_interface-curses-text_io.ads:81</a>
+<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_82_13" target="main">Page_Length -  terminal_interface-curses-text_io.ads:82</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_2182_16" target="main">Paircontent</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1890_14" target="main">Pair_Content</a>
+<li><a href="../terminal_interface-curses-panels__adb.htm#ref_145_16" target="main">Panel_Hidden</a>
+<li><a href="../terminal_interface-curses-panels-user_data__adb.htm#ref_66_16" target="main">Panel_Userptr</a>
+<li><a href="../terminal_interface-curses-panels__adb.htm#ref_106_16" target="main">Panel_Win</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_526_14" target="main">Pattern</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1540_16" target="main">Pechochar</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1523_13" target="main">Peek -  terminal_interface-curses.ads:1523</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1529_13" target="main">Peek -  terminal_interface-curses.ads:1529</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1585_14" target="main">Peek -  terminal_interface-curses.ads:1585</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1594_14" target="main">Peek -  terminal_interface-curses.ads:1594</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1609_14" target="main">Peek -  terminal_interface-curses.ads:1609</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1618_14" target="main">Peek -  terminal_interface-curses.ads:1618</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1514_16" target="main">Pnoutrefresh</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_685_14" target="main">Position_Cursor -  terminal_interface-curses-forms.ads:685</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_393_14" target="main">Position_Cursor -  terminal_interface-curses-menus.ads:393</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_674_14" target="main">Post -  terminal_interface-curses-forms.ads:674</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_321_14" target="main">Post -  terminal_interface-curses-menus.ads:321</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_827_16" target="main">Pos_Form_Cursor</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_433_16" target="main">Pos_Menu_Cursor</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1483_16" target="main">Prefresh</a>
+<li><a href="../terminal_interface-curses-forms-field_types__ads.htm#ref_202_13" target="main">Prev_Router</a>
+<li><a href="../terminal_interface-curses-text_io-complex_io__ads.htm#ref_55_14" target="main">Put -  terminal_interface-curses-text_io-complex_io.ads:55</a>
+<li><a href="../terminal_interface-curses-text_io-complex_io__ads.htm#ref_62_14" target="main">Put -  terminal_interface-curses-text_io-complex_io.ads:62</a>
+<li><a href="../terminal_interface-curses-text_io-decimal_io__ads.htm#ref_51_14" target="main">Put -  terminal_interface-curses-text_io-decimal_io.ads:51</a>
+<li><a href="../terminal_interface-curses-text_io-decimal_io__ads.htm#ref_58_14" target="main">Put -  terminal_interface-curses-text_io-decimal_io.ads:58</a>
+<li><a href="../terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_50_14" target="main">Put -  terminal_interface-curses-text_io-enumeration_io.ads:50</a>
+<li><a href="../terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_56_14" target="main">Put -  terminal_interface-curses-text_io-enumeration_io.ads:56</a>
+<li><a href="../terminal_interface-curses-text_io-fixed_io__ads.htm#ref_51_14" target="main">Put -  terminal_interface-curses-text_io-fixed_io.ads:51</a>
+<li><a href="../terminal_interface-curses-text_io-fixed_io__ads.htm#ref_58_14" target="main">Put -  terminal_interface-curses-text_io-fixed_io.ads:58</a>
+<li><a href="../terminal_interface-curses-text_io-float_io__ads.htm#ref_51_14" target="main">Put -  terminal_interface-curses-text_io-float_io.ads:51</a>
+<li><a href="../terminal_interface-curses-text_io-float_io__ads.htm#ref_58_14" target="main">Put -  terminal_interface-curses-text_io-float_io.ads:58</a>
+<li><a href="../terminal_interface-curses-text_io-integer_io__ads.htm#ref_50_14" target="main">Put -  terminal_interface-curses-text_io-integer_io.ads:50</a>
+<li><a href="../terminal_interface-curses-text_io-integer_io__ads.htm#ref_56_14" target="main">Put -  terminal_interface-curses-text_io-integer_io.ads:56</a>
+<li><a href="../terminal_interface-curses-text_io-modular_io__ads.htm#ref_50_14" target="main">Put -  terminal_interface-curses-text_io-modular_io.ads:50</a>
+<li><a href="../terminal_interface-curses-text_io-modular_io__ads.htm#ref_56_14" target="main">Put -  terminal_interface-curses-text_io-modular_io.ads:56</a>
+<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_109_14" target="main">Put -  terminal_interface-curses-text_io.ads:109</a>
+<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_110_14" target="main">Put -  terminal_interface-curses-text_io.ads:110</a>
+<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_116_14" target="main">Put -  terminal_interface-curses-text_io.ads:116</a>
+<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_117_14" target="main">Put -  terminal_interface-curses-text_io.ads:117</a>
+<li><a href="../terminal_interface-curses-terminfo__adb.htm#ref_144_16" target="main">putp</a>
+<li><a href="../terminal_interface-curses-putwin__adb.htm#ref_54_16" target="main">putwin</a>
+<li><a href="../terminal_interface-curses-text_io-aux__ads.htm#ref_49_14" target="main">Put_Buf</a>
+<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_119_14" target="main">Put_Line -  terminal_interface-curses-text_io.ads:119</a>
+<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_123_14" target="main">Put_Line -  terminal_interface-curses-text_io.ads:123</a>
+<li><a href="../terminal_interface-curses-terminfo__ads.htm#ref_77_14" target="main">Put_String</a>
+<li><a href="../terminal_interface-curses-putwin__ads.htm#ref_46_14" target="main">Put_Window</a>
+</ul></body></html>
diff --git a/doc/html/ada/funcs/Q.htm b/doc/html/ada/funcs/Q.htm
index 7810b95..bcfee70 100644
--- a/doc/html/ada/funcs/Q.htm
+++ b/doc/html/ada/funcs/Q.htm
@@ -1,12 +1,12 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>Q</TITLE>
+<html>
+<head>
+<title>Q</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<BODY>
-<H2>Functions - Q</H2>
-<A HREF="../funcs.htm" TARGET="_self">[index]</A>
-<UL COMPACT TYPE=DISC>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_884_17" TARGET="main">Qiflush</A>
-</UL></BODY></HTML>
+</head>
+<body>
+<h2>Functions - Q</h2>
+<a href="../funcs.htm" target="_self">[index]</a>
+<ul compact type="disc">
+<li><a href="../terminal_interface-curses__adb.htm#ref_884_17" target="main">Qiflush</a>
+</ul></body></html>
diff --git a/doc/html/ada/funcs/R.htm b/doc/html/ada/funcs/R.htm
index 51fa419..b4af87e 100644
--- a/doc/html/ada/funcs/R.htm
+++ b/doc/html/ada/funcs/R.htm
@@ -1,43 +1,43 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>R</TITLE>
+<html>
+<head>
+<title>R</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<BODY>
-<H2>Functions - R</H2>
-<A HREF="../funcs.htm" TARGET="_self">[index]</A>
-<UL COMPACT TYPE=DISC>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_791_16" TARGET="main">Raw</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_590_14" TARGET="main">Redefine -  terminal_interface-curses-forms.ads:590</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_611_14" TARGET="main">Redefine -  terminal_interface-curses-menus.ads:611</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1229_14" TARGET="main">Redraw -  terminal_interface-curses.ads:1229</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1233_14" TARGET="main">Redraw -  terminal_interface-curses.ads:1233</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1093_16" TARGET="main">Redrawwin</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1215_14" TARGET="main">Refresh -  terminal_interface-curses.ads:1215</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1453_14" TARGET="main">Refresh -  terminal_interface-curses.ads:1453</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1682_14" TARGET="main">Refresh_Soft_Label_Keys</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1687_14" TARGET="main">Refresh_Soft_Label_Keys_Without_Update</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1222_14" TARGET="main">Refresh_Without_Update -  terminal_interface-curses.ads:1222</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1465_14" TARGET="main">Refresh_Without_Update -  terminal_interface-curses.ads:1465</A>
-<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_93_14" TARGET="main">Register_Reportable_Event</A>
-<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_102_14" TARGET="main">Register_Reportable_Events</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_77_14" TARGET="main">Release</A>
-<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_110_14" TARGET="main">Replace</A>
-<LI><A HREF="../terminal_interface-curses-panels__adb.htm#ref_119_16" TARGET="main">Replace_Pan</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_277_14" TARGET="main">Request_Name -  terminal_interface-curses-forms.ads:277</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_280_14" TARGET="main">Request_Name -  terminal_interface-curses-forms.ads:280</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_101_14" TARGET="main">Request_Name -  terminal_interface-curses-menus.ads:101</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_104_14" TARGET="main">Request_Name -  terminal_interface-curses-menus.ads:104</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_62_16" TARGET="main">Request_Name -  terminal_interface-curses-menus.adb:62</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_70_16" TARGET="main">Request_Name -  terminal_interface-curses-menus.adb:70</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2312_16" TARGET="main">Resetty</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1935_14" TARGET="main">Reset_Curses_Mode</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2284_16" TARGET="main">Reset_Prog_Mode</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2286_16" TARGET="main">Reset_Shell_Mode</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1946_14" TARGET="main">Reset_Terminal_State</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_2083_14" TARGET="main">Resize</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1708_14" TARGET="main">Restore_Soft_Label_Keys</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2323_16" TARGET="main">Ripoffline</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1959_14" TARGET="main">Rip_Off_Lines</A>
-</UL></BODY></HTML>
+</head>
+<body>
+<h2>Functions - R</h2>
+<a href="../funcs.htm" target="_self">[index]</a>
+<ul compact type="disc">
+<li><a href="../terminal_interface-curses__adb.htm#ref_791_16" target="main">Raw</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_591_14" target="main">Redefine -  terminal_interface-curses-forms.ads:591</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_612_14" target="main">Redefine -  terminal_interface-curses-menus.ads:612</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1230_14" target="main">Redraw -  terminal_interface-curses.ads:1230</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1234_14" target="main">Redraw -  terminal_interface-curses.ads:1234</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1093_16" target="main">Redrawwin</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1216_14" target="main">Refresh -  terminal_interface-curses.ads:1216</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1454_14" target="main">Refresh -  terminal_interface-curses.ads:1454</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1683_14" target="main">Refresh_Soft_Label_Keys</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1688_14" target="main">Refresh_Soft_Label_Keys_Without_Update</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1223_14" target="main">Refresh_Without_Update -  terminal_interface-curses.ads:1223</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1466_14" target="main">Refresh_Without_Update -  terminal_interface-curses.ads:1466</a>
+<li><a href="../terminal_interface-curses-mouse__ads.htm#ref_94_14" target="main">Register_Reportable_Event</a>
+<li><a href="../terminal_interface-curses-mouse__ads.htm#ref_103_14" target="main">Register_Reportable_Events</a>
+<li><a href="../terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_78_14" target="main">Release</a>
+<li><a href="../terminal_interface-curses-panels__ads.htm#ref_111_14" target="main">Replace</a>
+<li><a href="../terminal_interface-curses-panels__adb.htm#ref_120_16" target="main">Replace_Pan</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_278_14" target="main">Request_Name -  terminal_interface-curses-forms.ads:278</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_281_14" target="main">Request_Name -  terminal_interface-curses-forms.ads:281</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_102_14" target="main">Request_Name -  terminal_interface-curses-menus.ads:102</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_105_14" target="main">Request_Name -  terminal_interface-curses-menus.ads:105</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_62_16" target="main">Request_Name -  terminal_interface-curses-menus.adb:62</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_70_16" target="main">Request_Name -  terminal_interface-curses-menus.adb:70</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_2312_16" target="main">Resetty</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1936_14" target="main">Reset_Curses_Mode</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_2284_16" target="main">Reset_Prog_Mode</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_2286_16" target="main">Reset_Shell_Mode</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1947_14" target="main">Reset_Terminal_State</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_2084_14" target="main">Resize</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1709_14" target="main">Restore_Soft_Label_Keys</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_2323_16" target="main">Ripoffline</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1960_14" target="main">Rip_Off_Lines</a>
+</ul></body></html>
diff --git a/doc/html/ada/funcs/S.htm b/doc/html/ada/funcs/S.htm
index d5f579d..86dad7f 100644
--- a/doc/html/ada/funcs/S.htm
+++ b/doc/html/ada/funcs/S.htm
@@ -1,195 +1,195 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>S</TITLE>
+<html>
+<head>
+<title>S</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<BODY>
-<H2>Functions - S</H2>
-<A HREF="../funcs.htm" TARGET="_self">[index]</A>
-<UL COMPACT TYPE=DISC>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2302_16" TARGET="main">Savetty</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1929_14" TARGET="main">Save_Curses_Mode</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1941_14" TARGET="main">Save_Terminal_State</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_528_14" TARGET="main">Scale -  terminal_interface-curses-forms.ads:528</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_381_14" TARGET="main">Scale -  terminal_interface-curses-menus.ads:381</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_2039_14" TARGET="main">Screen_Dump_To_File</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_2047_14" TARGET="main">Screen_Init_From_File</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_2043_14" TARGET="main">Screen_Restore_From_File</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_2051_14" TARGET="main">Screen_Set_File</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1492_14" TARGET="main">Scroll</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1192_13" TARGET="main">Scrolling_Allowed</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1026_16" TARGET="main">Scrollok</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2490_16" TARGET="main">scr_dump</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2516_16" TARGET="main">scr_init</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2503_16" TARGET="main">scr_restore</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2529_16" TARGET="main">scr_set</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_447_14" TARGET="main">Set_Background -  terminal_interface-curses-forms.ads:447</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_441_14" TARGET="main">Set_Background -  terminal_interface-curses-menus.ads:441</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1278_14" TARGET="main">Set_Background -  terminal_interface-curses.ads:1278</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_355_14" TARGET="main">Set_Buffer</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1056_14" TARGET="main">Set_Cbreak_Mode</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_987_14" TARGET="main">Set_Character_Attributes</A>
-<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_92_14" TARGET="main">Set_Col -  terminal_interface-curses-text_io.ads:92</A>
-<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_93_14" TARGET="main">Set_Col -  terminal_interface-curses-text_io.ads:93</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1008_14" TARGET="main">Set_Color</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_724_14" TARGET="main">Set_Current -  terminal_interface-curses-forms.ads:724</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_286_14" TARGET="main">Set_Current -  terminal_interface-curses-menus.ads:286</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_905_16" TARGET="main">Set_Current_Fld</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_251_16" TARGET="main">Set_Curr_Item</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1971_14" TARGET="main">Set_Cursor_Visibility</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1068_14" TARGET="main">Set_Echo_Mode</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1134_14" TARGET="main">Set_Escape_Timer_Mode</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_596_14" TARGET="main">Set_Fields</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm#ref_228_13" TARGET="main">Set_Fieldtype_Arg</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm#ref_235_13" TARGET="main">Set_Fieldtype_Choice</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_395_16" TARGET="main">Set_Field_Back</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_356_16" TARGET="main">Set_Field_Fore</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_587_16" TARGET="main">Set_Field_Init</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_542_14" TARGET="main">Set_Field_Init_Hook</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_175_16" TARGET="main">Set_Field_Just</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_276_16" TARGET="main">Set_Field_Max</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_293_16" TARGET="main">Set_Field_Opts</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_432_16" TARGET="main">Set_Field_Pad</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_600_16" TARGET="main">Set_Field_Term</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_548_14" TARGET="main">Set_Field_Term_Hook</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_49_14" TARGET="main">Set_Field_Type -  terminal_interface-curses-forms-field_types-alpha.ads:49</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_50_14" TARGET="main">Set_Field_Type -  terminal_interface-curses-forms-field_types-alphanumeric.ads:50</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_84_14" TARGET="main">Set_Field_Type -  terminal_interface-curses-forms-field_types-enumeration.ads:84</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_51_14" TARGET="main">Set_Field_Type -  terminal_interface-curses-forms-field_types-intfield.ads:51</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_47_14" TARGET="main">Set_Field_Type -  terminal_interface-curses-forms-field_types-ipv4_address.ads:47</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_51_14" TARGET="main">Set_Field_Type -  terminal_interface-curses-forms-field_types-numeric.ads:51</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_51_14" TARGET="main">Set_Field_Type -  terminal_interface-curses-forms-field_types-regexp.ads:51</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-user__ads.htm#ref_70_14" TARGET="main">Set_Field_Type -  terminal_interface-curses-forms-field_types-user.ads:70</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_user_data__adb.htm#ref_57_16" TARGET="main">Set_Field_Userptr</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_205_16" TARGET="main">Set_Fld_Buffer</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_245_16" TARGET="main">Set_Fld_Status</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_49_16" TARGET="main">Set_Fld_Type -  terminal_interface-curses-forms-field_types-alpha.adb:49</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_49_16" TARGET="main">Set_Fld_Type -  terminal_interface-curses-forms-field_types-alphanumeric.adb:49</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_94_16" TARGET="main">Set_Fld_Type -  terminal_interface-curses-forms-field_types-enumeration.adb:94</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_49_16" TARGET="main">Set_Fld_Type -  terminal_interface-curses-forms-field_types-intfield.adb:49</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_49_16" TARGET="main">Set_Fld_Type -  terminal_interface-curses-forms-field_types-ipv4_address.adb:49</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_52_16" TARGET="main">Set_Fld_Type -  terminal_interface-curses-forms-field_types-numeric.adb:52</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-user__adb.htm#ref_53_16" TARGET="main">Set_Fld_Type -  terminal_interface-curses-forms-field_types-user.adb:53</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types__adb.htm#ref_134_16" TARGET="main">Set_Fld_Type -  terminal_interface-curses-forms-field_types.adb:134</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1098_14" TARGET="main">Set_Flush_On_Interrupt_Mode</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_427_14" TARGET="main">Set_Foreground -  terminal_interface-curses-forms.ads:427</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_421_14" TARGET="main">Set_Foreground -  terminal_interface-curses-menus.ads:421</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_535_14" TARGET="main">Set_Format</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_613_16" TARGET="main">Set_Form_Init</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_554_14" TARGET="main">Set_Form_Init_Hook</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_745_16" TARGET="main">Set_Form_Opts</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_541_16" TARGET="main">Set_Form_Sub</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_626_16" TARGET="main">Set_Form_Term</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_560_14" TARGET="main">Set_Form_Term_Hook</A>
-<LI><A HREF="../terminal_interface-curses-forms-form_user_data__adb.htm#ref_58_16" TARGET="main">Set_Form_Userptr</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_516_16" TARGET="main">Set_Form_Win</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_643_16" TARGET="main">Set_Frm_Fields</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_932_16" TARGET="main">Set_Frm_Page</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_49_16" TARGET="main">Set_Ftyp</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_461_14" TARGET="main">Set_Grey</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_616_14" TARGET="main">Set_Items -  terminal_interface-curses-menus.ads:616</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_782_16" TARGET="main">Set_Items -  terminal_interface-curses-menus.adb:782</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_706_16" TARGET="main">Set_Item_Init</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_563_14" TARGET="main">Set_Item_Init_Hook</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_169_16" TARGET="main">Set_Item_Opts</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_717_16" TARGET="main">Set_Item_Term</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_569_14" TARGET="main">Set_Item_Term_Hook</A>
-<LI><A HREF="../terminal_interface-curses-menus-item_user_data__adb.htm#ref_51_16" TARGET="main">Set_Item_Userptr</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_133_16" TARGET="main">Set_Item_Val</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_340_14" TARGET="main">Set_Justification</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1080_14" TARGET="main">Set_KeyPad_Mode</A>
-<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_95_14" TARGET="main">Set_Line -  terminal_interface-curses-text_io.ads:95</A>
-<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_96_14" TARGET="main">Set_Line -  terminal_interface-curses-text_io.ads:96</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_401_14" TARGET="main">Set_Mark -  terminal_interface-curses-menus.ads:401</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_445_16" TARGET="main">Set_Mark -  terminal_interface-curses-menus.adb:445</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_388_14" TARGET="main">Set_Maximum_Size</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_515_16" TARGET="main">Set_Menu_Back</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_675_16" TARGET="main">Set_Menu_Fmt</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_479_16" TARGET="main">Set_Menu_Fore</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_550_16" TARGET="main">Set_Menu_Grey</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_728_16" TARGET="main">Set_Menu_Init</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_575_14" TARGET="main">Set_Menu_Init_Hook</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_328_16" TARGET="main">Set_Menu_Opts</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_585_16" TARGET="main">Set_Menu_Pad</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_397_16" TARGET="main">Set_Menu_Sub</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_739_16" TARGET="main">Set_Menu_Term</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_581_14" TARGET="main">Set_Menu_Term_Hook</A>
-<LI><A HREF="../terminal_interface-curses-menus-menu_user_data__adb.htm#ref_50_16" TARGET="main">Set_Menu_Userptr</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_376_16" TARGET="main">Set_Menu_Win</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1074_14" TARGET="main">Set_Meta_Mode</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_758_14" TARGET="main">Set_New_Page</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1145_14" TARGET="main">Set_NL_Mode</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1113_14" TARGET="main">Set_NoDelay_Mode</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_398_14" TARGET="main">Set_Options -  terminal_interface-curses-forms.ads:398</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_645_14" TARGET="main">Set_Options -  terminal_interface-curses-forms.ads:645</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_234_14" TARGET="main">Set_Options -  terminal_interface-curses-menus.ads:234</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_331_14" TARGET="main">Set_Options -  terminal_interface-curses-menus.ads:331</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_467_14" TARGET="main">Set_Pad_Character -  terminal_interface-curses-forms.ads:467</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_482_14" TARGET="main">Set_Pad_Character -  terminal_interface-curses-menus.ads:482</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_735_14" TARGET="main">Set_Page -  terminal_interface-curses-forms.ads:735</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_978_16" TARGET="main">Set_Page -  terminal_interface-curses-forms.adb:978</A>
-<LI><A HREF="../terminal_interface-curses-panels-user_data__adb.htm#ref_54_16" TARGET="main">Set_Panel_Userptr</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_518_13" TARGET="main">Set_Pattern -  terminal_interface-curses-menus.ads:518</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_643_16" TARGET="main">Set_Pattern -  terminal_interface-curses-menus.adb:643</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1105_14" TARGET="main">Set_Queue_Interrupt_Mode</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1062_14" TARGET="main">Set_Raw_Mode</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1197_14" TARGET="main">Set_Scroll_Region</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1675_14" TARGET="main">Set_Soft_Label_Key</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1726_14" TARGET="main">Set_Soft_Label_Key_Attributes</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1742_14" TARGET="main">Set_Soft_Label_Key_Color</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_498_14" TARGET="main">Set_Spacing -  terminal_interface-curses-menus.ads:498</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_607_16" TARGET="main">Set_Spacing -  terminal_interface-curses-menus.adb:607</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_377_14" TARGET="main">Set_Status</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_517_14" TARGET="main">Set_Sub_Window -  terminal_interface-curses-forms.ads:517</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_370_14" TARGET="main">Set_Sub_Window -  terminal_interface-curses-menus.ads:370</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_813_14" TARGET="main">Set_Synch_Mode</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1122_14" TARGET="main">Set_Timeout_Mode</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_275_16" TARGET="main">Set_Toprow</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_297_14" TARGET="main">Set_Top_Row</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_user_data__ads.htm#ref_53_14" TARGET="main">Set_User_Data -  terminal_interface-curses-forms-field_user_data.ads:53</A>
-<LI><A HREF="../terminal_interface-curses-forms-form_user_data__ads.htm#ref_53_14" TARGET="main">Set_User_Data -  terminal_interface-curses-forms-form_user_data.ads:53</A>
-<LI><A HREF="../terminal_interface-curses-menus-item_user_data__ads.htm#ref_58_14" TARGET="main">Set_User_Data -  terminal_interface-curses-menus-item_user_data.ads:58</A>
-<LI><A HREF="../terminal_interface-curses-menus-menu_user_data__ads.htm#ref_53_14" TARGET="main">Set_User_Data -  terminal_interface-curses-menus-menu_user_data.ads:53</A>
-<LI><A HREF="../terminal_interface-curses-panels-user_data__ads.htm#ref_53_14" TARGET="main">Set_User_Data -  terminal_interface-curses-panels-user_data.ads:53</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_210_14" TARGET="main">Set_Value</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_506_14" TARGET="main">Set_Window -  terminal_interface-curses-forms.ads:506</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_359_14" TARGET="main">Set_Window -  terminal_interface-curses-menus.ads:359</A>
-<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_59_14" TARGET="main">Set_Window -  terminal_interface-curses-text_io.ads:59</A>
-<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_86_14" TARGET="main">Show</A>
-<LI><A HREF="../terminal_interface-curses-panels__adb.htm#ref_85_16" TARGET="main">Showpanel</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1967_16" TARGET="main">Slk_Attr -  terminal_interface-curses.adb:1967</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1977_16" TARGET="main">Slk_Attr -  terminal_interface-curses.adb:1977</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1931_16" TARGET="main">Slk_Attroff</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1929_16" TARGET="main">Slk_Attron</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1953_16" TARGET="main">Slk_Attrset</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1897_16" TARGET="main">Slk_Clear</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1987_16" TARGET="main">Slk_Color</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1830_16" TARGET="main">Slk_Init</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1881_16" TARGET="main">Slk_Label -  terminal_interface-curses.adb:1881</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1889_16" TARGET="main">Slk_Label -  terminal_interface-curses.adb:1889</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1870_16" TARGET="main">Slk_Noutrefresh</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1860_16" TARGET="main">Slk_Refresh</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1907_16" TARGET="main">Slk_Restore</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1842_16" TARGET="main">Slk_Set</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1917_16" TARGET="main">Slk_Touch</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_506_14" TARGET="main">Spacing</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_644_13" TARGET="main">Standard_Window</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_970_14" TARGET="main">Standout</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1877_14" TARGET="main">Start_Color</A>
-<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_115_13" TARGET="main">Start_Mouse</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1453_16" TARGET="main">Subpad</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_271_16" TARGET="main">Subwin</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1443_13" TARGET="main">Sub_Pad</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_764_13" TARGET="main">Sub_Window</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1842_13" TARGET="main">Supported_Attributes</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_976_14" TARGET="main">Switch_Character_Attribute</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_404_14" TARGET="main">Switch_Options -  terminal_interface-curses-forms.ads:404</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_651_14" TARGET="main">Switch_Options -  terminal_interface-curses-forms.ads:651</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_240_14" TARGET="main">Switch_Options -  terminal_interface-curses-menus.ads:240</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_337_14" TARGET="main">Switch_Options -  terminal_interface-curses-menus.ads:337</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1718_14" TARGET="main">Switch_Soft_Label_Key_Attributes</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_808_14" TARGET="main">Synchronize_Downwards</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_803_14" TARGET="main">Synchronize_Upwards</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_364_16" TARGET="main">Syncok</A>
-</UL></BODY></HTML>
+</head>
+<body>
+<h2>Functions - S</h2>
+<a href="../funcs.htm" target="_self">[index]</a>
+<ul compact type="disc">
+<li><a href="../terminal_interface-curses__adb.htm#ref_2302_16" target="main">Savetty</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1930_14" target="main">Save_Curses_Mode</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1942_14" target="main">Save_Terminal_State</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_529_14" target="main">Scale -  terminal_interface-curses-forms.ads:529</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_382_14" target="main">Scale -  terminal_interface-curses-menus.ads:382</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_2040_14" target="main">Screen_Dump_To_File</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_2048_14" target="main">Screen_Init_From_File</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_2044_14" target="main">Screen_Restore_From_File</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_2052_14" target="main">Screen_Set_File</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1493_14" target="main">Scroll</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1193_13" target="main">Scrolling_Allowed</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1026_16" target="main">Scrollok</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_2490_16" target="main">scr_dump</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_2516_16" target="main">scr_init</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_2503_16" target="main">scr_restore</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_2529_16" target="main">scr_set</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_448_14" target="main">Set_Background -  terminal_interface-curses-forms.ads:448</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_442_14" target="main">Set_Background -  terminal_interface-curses-menus.ads:442</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1279_14" target="main">Set_Background -  terminal_interface-curses.ads:1279</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_356_14" target="main">Set_Buffer</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1057_14" target="main">Set_Cbreak_Mode</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_988_14" target="main">Set_Character_Attributes</a>
+<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_93_14" target="main">Set_Col -  terminal_interface-curses-text_io.ads:93</a>
+<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_94_14" target="main">Set_Col -  terminal_interface-curses-text_io.ads:94</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1009_14" target="main">Set_Color</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_725_14" target="main">Set_Current -  terminal_interface-curses-forms.ads:725</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_287_14" target="main">Set_Current -  terminal_interface-curses-menus.ads:287</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_906_16" target="main">Set_Current_Fld</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_251_16" target="main">Set_Curr_Item</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1972_14" target="main">Set_Cursor_Visibility</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1069_14" target="main">Set_Echo_Mode</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1135_14" target="main">Set_Escape_Timer_Mode</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_597_14" target="main">Set_Fields</a>
+<li><a href="../terminal_interface-curses-forms-field_types__ads.htm#ref_228_13" target="main">Set_Fieldtype_Arg</a>
+<li><a href="../terminal_interface-curses-forms-field_types__ads.htm#ref_235_13" target="main">Set_Fieldtype_Choice</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_396_16" target="main">Set_Field_Back</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_357_16" target="main">Set_Field_Fore</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_588_16" target="main">Set_Field_Init</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_543_14" target="main">Set_Field_Init_Hook</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_176_16" target="main">Set_Field_Just</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_277_16" target="main">Set_Field_Max</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_294_16" target="main">Set_Field_Opts</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_433_16" target="main">Set_Field_Pad</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_601_16" target="main">Set_Field_Term</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_549_14" target="main">Set_Field_Term_Hook</a>
+<li><a href="../terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_50_14" target="main">Set_Field_Type -  terminal_interface-curses-forms-field_types-alpha.ads:50</a>
+<li><a href="../terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_51_14" target="main">Set_Field_Type -  terminal_interface-curses-forms-field_types-alphanumeric.ads:51</a>
+<li><a href="../terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_85_14" target="main">Set_Field_Type -  terminal_interface-curses-forms-field_types-enumeration.ads:85</a>
+<li><a href="../terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_52_14" target="main">Set_Field_Type -  terminal_interface-curses-forms-field_types-intfield.ads:52</a>
+<li><a href="../terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_48_14" target="main">Set_Field_Type -  terminal_interface-curses-forms-field_types-ipv4_address.ads:48</a>
+<li><a href="../terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_52_14" target="main">Set_Field_Type -  terminal_interface-curses-forms-field_types-numeric.ads:52</a>
+<li><a href="../terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_52_14" target="main">Set_Field_Type -  terminal_interface-curses-forms-field_types-regexp.ads:52</a>
+<li><a href="../terminal_interface-curses-forms-field_types-user__ads.htm#ref_71_14" target="main">Set_Field_Type -  terminal_interface-curses-forms-field_types-user.ads:71</a>
+<li><a href="../terminal_interface-curses-forms-field_user_data__adb.htm#ref_56_16" target="main">Set_Field_Userptr</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_206_16" target="main">Set_Fld_Buffer</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_246_16" target="main">Set_Fld_Status</a>
+<li><a href="../terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_50_16" target="main">Set_Fld_Type -  terminal_interface-curses-forms-field_types-alpha.adb:50</a>
+<li><a href="../terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_50_16" target="main">Set_Fld_Type -  terminal_interface-curses-forms-field_types-alphanumeric.adb:50</a>
+<li><a href="../terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_95_16" target="main">Set_Fld_Type -  terminal_interface-curses-forms-field_types-enumeration.adb:95</a>
+<li><a href="../terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_50_16" target="main">Set_Fld_Type -  terminal_interface-curses-forms-field_types-intfield.adb:50</a>
+<li><a href="../terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_50_16" target="main">Set_Fld_Type -  terminal_interface-curses-forms-field_types-ipv4_address.adb:50</a>
+<li><a href="../terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_53_16" target="main">Set_Fld_Type -  terminal_interface-curses-forms-field_types-numeric.adb:53</a>
+<li><a href="../terminal_interface-curses-forms-field_types-user__adb.htm#ref_54_16" target="main">Set_Fld_Type -  terminal_interface-curses-forms-field_types-user.adb:54</a>
+<li><a href="../terminal_interface-curses-forms-field_types__adb.htm#ref_135_16" target="main">Set_Fld_Type -  terminal_interface-curses-forms-field_types.adb:135</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1099_14" target="main">Set_Flush_On_Interrupt_Mode</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_428_14" target="main">Set_Foreground -  terminal_interface-curses-forms.ads:428</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_422_14" target="main">Set_Foreground -  terminal_interface-curses-menus.ads:422</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_536_14" target="main">Set_Format</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_614_16" target="main">Set_Form_Init</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_555_14" target="main">Set_Form_Init_Hook</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_746_16" target="main">Set_Form_Opts</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_542_16" target="main">Set_Form_Sub</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_627_16" target="main">Set_Form_Term</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_561_14" target="main">Set_Form_Term_Hook</a>
+<li><a href="../terminal_interface-curses-forms-form_user_data__adb.htm#ref_57_16" target="main">Set_Form_Userptr</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_517_16" target="main">Set_Form_Win</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_644_16" target="main">Set_Frm_Fields</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_933_16" target="main">Set_Frm_Page</a>
+<li><a href="../terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_50_16" target="main">Set_Ftyp</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_462_14" target="main">Set_Grey</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_617_14" target="main">Set_Items -  terminal_interface-curses-menus.ads:617</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_782_16" target="main">Set_Items -  terminal_interface-curses-menus.adb:782</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_706_16" target="main">Set_Item_Init</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_564_14" target="main">Set_Item_Init_Hook</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_169_16" target="main">Set_Item_Opts</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_717_16" target="main">Set_Item_Term</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_570_14" target="main">Set_Item_Term_Hook</a>
+<li><a href="../terminal_interface-curses-menus-item_user_data__adb.htm#ref_49_16" target="main">Set_Item_Userptr</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_133_16" target="main">Set_Item_Val</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_341_14" target="main">Set_Justification</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1081_14" target="main">Set_KeyPad_Mode</a>
+<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_96_14" target="main">Set_Line -  terminal_interface-curses-text_io.ads:96</a>
+<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_97_14" target="main">Set_Line -  terminal_interface-curses-text_io.ads:97</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_402_14" target="main">Set_Mark -  terminal_interface-curses-menus.ads:402</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_445_16" target="main">Set_Mark -  terminal_interface-curses-menus.adb:445</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_389_14" target="main">Set_Maximum_Size</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_515_16" target="main">Set_Menu_Back</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_675_16" target="main">Set_Menu_Fmt</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_479_16" target="main">Set_Menu_Fore</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_550_16" target="main">Set_Menu_Grey</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_728_16" target="main">Set_Menu_Init</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_576_14" target="main">Set_Menu_Init_Hook</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_328_16" target="main">Set_Menu_Opts</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_585_16" target="main">Set_Menu_Pad</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_397_16" target="main">Set_Menu_Sub</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_739_16" target="main">Set_Menu_Term</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_582_14" target="main">Set_Menu_Term_Hook</a>
+<li><a href="../terminal_interface-curses-menus-menu_user_data__adb.htm#ref_49_16" target="main">Set_Menu_Userptr</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_376_16" target="main">Set_Menu_Win</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1075_14" target="main">Set_Meta_Mode</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_759_14" target="main">Set_New_Page</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1146_14" target="main">Set_NL_Mode</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1114_14" target="main">Set_NoDelay_Mode</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_399_14" target="main">Set_Options -  terminal_interface-curses-forms.ads:399</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_646_14" target="main">Set_Options -  terminal_interface-curses-forms.ads:646</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_235_14" target="main">Set_Options -  terminal_interface-curses-menus.ads:235</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_332_14" target="main">Set_Options -  terminal_interface-curses-menus.ads:332</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_468_14" target="main">Set_Pad_Character -  terminal_interface-curses-forms.ads:468</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_483_14" target="main">Set_Pad_Character -  terminal_interface-curses-menus.ads:483</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_736_14" target="main">Set_Page -  terminal_interface-curses-forms.ads:736</a>
+<li><a href="../terminal_interface-curses-forms__adb.htm#ref_979_16" target="main">Set_Page -  terminal_interface-curses-forms.adb:979</a>
+<li><a href="../terminal_interface-curses-panels-user_data__adb.htm#ref_55_16" target="main">Set_Panel_Userptr</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_519_13" target="main">Set_Pattern -  terminal_interface-curses-menus.ads:519</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_643_16" target="main">Set_Pattern -  terminal_interface-curses-menus.adb:643</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1106_14" target="main">Set_Queue_Interrupt_Mode</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1063_14" target="main">Set_Raw_Mode</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1198_14" target="main">Set_Scroll_Region</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1676_14" target="main">Set_Soft_Label_Key</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1727_14" target="main">Set_Soft_Label_Key_Attributes</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1743_14" target="main">Set_Soft_Label_Key_Color</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_499_14" target="main">Set_Spacing -  terminal_interface-curses-menus.ads:499</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_607_16" target="main">Set_Spacing -  terminal_interface-curses-menus.adb:607</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_378_14" target="main">Set_Status</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_518_14" target="main">Set_Sub_Window -  terminal_interface-curses-forms.ads:518</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_371_14" target="main">Set_Sub_Window -  terminal_interface-curses-menus.ads:371</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_814_14" target="main">Set_Synch_Mode</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1123_14" target="main">Set_Timeout_Mode</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_275_16" target="main">Set_Toprow</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_298_14" target="main">Set_Top_Row</a>
+<li><a href="../terminal_interface-curses-forms-field_user_data__ads.htm#ref_54_14" target="main">Set_User_Data -  terminal_interface-curses-forms-field_user_data.ads:54</a>
+<li><a href="../terminal_interface-curses-forms-form_user_data__ads.htm#ref_54_14" target="main">Set_User_Data -  terminal_interface-curses-forms-form_user_data.ads:54</a>
+<li><a href="../terminal_interface-curses-menus-item_user_data__ads.htm#ref_59_14" target="main">Set_User_Data -  terminal_interface-curses-menus-item_user_data.ads:59</a>
+<li><a href="../terminal_interface-curses-menus-menu_user_data__ads.htm#ref_54_14" target="main">Set_User_Data -  terminal_interface-curses-menus-menu_user_data.ads:54</a>
+<li><a href="../terminal_interface-curses-panels-user_data__ads.htm#ref_54_14" target="main">Set_User_Data -  terminal_interface-curses-panels-user_data.ads:54</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_211_14" target="main">Set_Value</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_507_14" target="main">Set_Window -  terminal_interface-curses-forms.ads:507</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_360_14" target="main">Set_Window -  terminal_interface-curses-menus.ads:360</a>
+<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_60_14" target="main">Set_Window -  terminal_interface-curses-text_io.ads:60</a>
+<li><a href="../terminal_interface-curses-panels__ads.htm#ref_87_14" target="main">Show</a>
+<li><a href="../terminal_interface-curses-panels__adb.htm#ref_86_16" target="main">Showpanel</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1967_16" target="main">Slk_Attr -  terminal_interface-curses.adb:1967</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1977_16" target="main">Slk_Attr -  terminal_interface-curses.adb:1977</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1931_16" target="main">Slk_Attroff</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1929_16" target="main">Slk_Attron</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1953_16" target="main">Slk_Attrset</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1897_16" target="main">Slk_Clear</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1987_16" target="main">Slk_Color</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1830_16" target="main">Slk_Init</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1881_16" target="main">Slk_Label -  terminal_interface-curses.adb:1881</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1889_16" target="main">Slk_Label -  terminal_interface-curses.adb:1889</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1870_16" target="main">Slk_Noutrefresh</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1860_16" target="main">Slk_Refresh</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1907_16" target="main">Slk_Restore</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1842_16" target="main">Slk_Set</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1917_16" target="main">Slk_Touch</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_507_14" target="main">Spacing</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_645_13" target="main">Standard_Window</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_971_14" target="main">Standout</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1878_14" target="main">Start_Color</a>
+<li><a href="../terminal_interface-curses-mouse__ads.htm#ref_116_13" target="main">Start_Mouse</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1453_16" target="main">Subpad</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_271_16" target="main">Subwin</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1444_13" target="main">Sub_Pad</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_765_13" target="main">Sub_Window</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1843_13" target="main">Supported_Attributes</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_977_14" target="main">Switch_Character_Attribute</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_405_14" target="main">Switch_Options -  terminal_interface-curses-forms.ads:405</a>
+<li><a href="../terminal_interface-curses-forms__ads.htm#ref_652_14" target="main">Switch_Options -  terminal_interface-curses-forms.ads:652</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_241_14" target="main">Switch_Options -  terminal_interface-curses-menus.ads:241</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_338_14" target="main">Switch_Options -  terminal_interface-curses-menus.ads:338</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1719_14" target="main">Switch_Soft_Label_Key_Attributes</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_809_14" target="main">Synchronize_Downwards</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_804_14" target="main">Synchronize_Upwards</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_364_16" target="main">Syncok</a>
+</ul></body></html>
diff --git a/doc/html/ada/funcs/T.htm b/doc/html/ada/funcs/T.htm
index 12cf99c..2534502 100644
--- a/doc/html/ada/funcs/T.htm
+++ b/doc/html/ada/funcs/T.htm
@@ -1,43 +1,43 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>T</TITLE>
+<html>
+<head>
+<title>T</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<BODY>
-<H2>Functions - T</H2>
-<A HREF="../funcs.htm" TARGET="_self">[index]</A>
-<UL COMPACT TYPE=DISC>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2373_16" TARGET="main">TABSIZE_As_Function</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_556_13" TARGET="main">Tab_Size</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2113_16" TARGET="main">Termattrs</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1857_14" TARGET="main">Terminal_Name -  terminal_interface-curses.ads:1857</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1861_13" TARGET="main">Terminal_Name -  terminal_interface-curses.ads:1861</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2139_16" TARGET="main">Termname -  terminal_interface-curses.adb:2139</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2147_16" TARGET="main">Termname -  terminal_interface-curses.adb:2147</A>
-<LI><A HREF="../terminal_interface-curses-termcap__adb.htm#ref_51_16" TARGET="main">tgetent</A>
-<LI><A HREF="../terminal_interface-curses-termcap__adb.htm#ref_71_16" TARGET="main">tgetflag</A>
-<LI><A HREF="../terminal_interface-curses-termcap__adb.htm#ref_89_16" TARGET="main">tgetnum</A>
-<LI><A HREF="../terminal_interface-curses-termcap__adb.htm#ref_108_16" TARGET="main">tgetstr -  terminal_interface-curses-termcap.adb:108</A>
-<LI><A HREF="../terminal_interface-curses-termcap__adb.htm#ref_129_16" TARGET="main">tgetstr -  terminal_interface-curses-termcap.adb:129</A>
-<LI><A HREF="../terminal_interface-curses-termcap__adb.htm#ref_151_16" TARGET="main">tgoto</A>
-<LI><A HREF="../terminal_interface-curses-termcap__ads.htm#ref_53_13" TARGET="main">TGoto</A>
-<LI><A HREF="../terminal_interface-curses-terminfo__adb.htm#ref_69_16" TARGET="main">tigetflag</A>
-<LI><A HREF="../terminal_interface-curses-terminfo__adb.htm#ref_87_16" TARGET="main">tigetstr -  terminal_interface-curses-terminfo.adb:87</A>
-<LI><A HREF="../terminal_interface-curses-terminfo__adb.htm#ref_108_16" TARGET="main">tigetstr -  terminal_interface-curses-terminfo.adb:108</A>
-<LI><A HREF="../terminal_interface-curses-terminfo__adb.htm#ref_127_16" TARGET="main">tigetstr -  terminal_interface-curses-terminfo.adb:127</A>
-<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_81_14" TARGET="main">Top</A>
-<LI><A HREF="../terminal_interface-curses-panels__adb.htm#ref_75_16" TARGET="main">Toppanel</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_285_16" TARGET="main">Toprow</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_303_13" TARGET="main">Top_Row</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1311_14" TARGET="main">Touch -  terminal_interface-curses.ads:1311</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1315_14" TARGET="main">Touch -  terminal_interface-curses.ads:1315</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1713_14" TARGET="main">Touch_Soft_Label_Keys</A>
-<LI><A HREF="../terminal_interface-curses-terminfo__adb.htm#ref_140_16" TARGET="main">tputs</A>
-<LI><A HREF="../terminal_interface-curses-trace__adb.htm#ref_46_17" TARGET="main">traceC</A>
-<LI><A HREF="../terminal_interface-curses-trace__adb.htm#ref_53_17" TARGET="main">tracef</A>
-<LI><A HREF="../terminal_interface-curses-trace__ads.htm#ref_114_14" TARGET="main">Trace_On</A>
-<LI><A HREF="../terminal_interface-curses-trace__ads.htm#ref_118_14" TARGET="main">Trace_Put</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2403_16" TARGET="main">Transform</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1984_14" TARGET="main">Transform_Coordinates</A>
-</UL></BODY></HTML>
+</head>
+<body>
+<h2>Functions - T</h2>
+<a href="../funcs.htm" target="_self">[index]</a>
+<ul compact type="disc">
+<li><a href="../terminal_interface-curses__adb.htm#ref_2373_16" target="main">TABSIZE_As_Function</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_557_13" target="main">Tab_Size</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_2113_16" target="main">Termattrs</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1858_14" target="main">Terminal_Name -  terminal_interface-curses.ads:1858</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1862_13" target="main">Terminal_Name -  terminal_interface-curses.ads:1862</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_2139_16" target="main">Termname -  terminal_interface-curses.adb:2139</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_2147_16" target="main">Termname -  terminal_interface-curses.adb:2147</a>
+<li><a href="../terminal_interface-curses-termcap__adb.htm#ref_52_16" target="main">tgetent</a>
+<li><a href="../terminal_interface-curses-termcap__adb.htm#ref_72_16" target="main">tgetflag</a>
+<li><a href="../terminal_interface-curses-termcap__adb.htm#ref_90_16" target="main">tgetnum</a>
+<li><a href="../terminal_interface-curses-termcap__adb.htm#ref_109_16" target="main">tgetstr -  terminal_interface-curses-termcap.adb:109</a>
+<li><a href="../terminal_interface-curses-termcap__adb.htm#ref_130_16" target="main">tgetstr -  terminal_interface-curses-termcap.adb:130</a>
+<li><a href="../terminal_interface-curses-termcap__ads.htm#ref_54_13" target="main">TGoto</a>
+<li><a href="../terminal_interface-curses-termcap__adb.htm#ref_152_16" target="main">tgoto</a>
+<li><a href="../terminal_interface-curses-terminfo__adb.htm#ref_70_16" target="main">tigetflag</a>
+<li><a href="../terminal_interface-curses-terminfo__adb.htm#ref_88_16" target="main">tigetstr -  terminal_interface-curses-terminfo.adb:88</a>
+<li><a href="../terminal_interface-curses-terminfo__adb.htm#ref_109_16" target="main">tigetstr -  terminal_interface-curses-terminfo.adb:109</a>
+<li><a href="../terminal_interface-curses-terminfo__adb.htm#ref_128_16" target="main">tigetstr -  terminal_interface-curses-terminfo.adb:128</a>
+<li><a href="../terminal_interface-curses-panels__ads.htm#ref_82_14" target="main">Top</a>
+<li><a href="../terminal_interface-curses-panels__adb.htm#ref_76_16" target="main">Toppanel</a>
+<li><a href="../terminal_interface-curses-menus__adb.htm#ref_285_16" target="main">Toprow</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_304_13" target="main">Top_Row</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1312_14" target="main">Touch -  terminal_interface-curses.ads:1312</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1316_14" target="main">Touch -  terminal_interface-curses.ads:1316</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1714_14" target="main">Touch_Soft_Label_Keys</a>
+<li><a href="../terminal_interface-curses-terminfo__adb.htm#ref_141_16" target="main">tputs</a>
+<li><a href="../terminal_interface-curses-trace__adb.htm#ref_47_17" target="main">traceC</a>
+<li><a href="../terminal_interface-curses-trace__adb.htm#ref_54_17" target="main">tracef</a>
+<li><a href="../terminal_interface-curses-trace__ads.htm#ref_115_14" target="main">Trace_On</a>
+<li><a href="../terminal_interface-curses-trace__ads.htm#ref_119_14" target="main">Trace_Put</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_2403_16" target="main">Transform</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1985_14" target="main">Transform_Coordinates</a>
+</ul></body></html>
diff --git a/doc/html/ada/funcs/U.htm b/doc/html/ada/funcs/U.htm
index 9edd2bd..8a6d40d 100644
--- a/doc/html/ada/funcs/U.htm
+++ b/doc/html/ada/funcs/U.htm
@@ -1,27 +1,27 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>U</TITLE>
+<html>
+<head>
+<title>U</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<BODY>
-<H2>Functions - U</H2>
-<A HREF="../funcs.htm" TARGET="_self">[index]</A>
-<UL COMPACT TYPE=DISC>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2029_16" TARGET="main">Unctrl -  terminal_interface-curses.adb:2029</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2037_16" TARGET="main">Unctrl -  terminal_interface-curses.adb:2037</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_932_14" TARGET="main">Undo_Keystroke</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_540_16" TARGET="main">Ungetch</A>
-<LI><A HREF="../terminal_interface-curses-mouse__adb.htm#ref_186_16" TARGET="main">Ungetmouse</A>
-<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_141_14" TARGET="main">Unget_Mouse</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1306_14" TARGET="main">Untouch</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1792_14" TARGET="main">Un_Control -  terminal_interface-curses.ads:1792</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1797_13" TARGET="main">Un_Control -  terminal_interface-curses.ads:1797</A>
-<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_91_14" TARGET="main">Update_Panels</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1210_14" TARGET="main">Update_Screen</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_2003_14" TARGET="main">Use_Default_Colors</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_2023_13" TARGET="main">Use_Extended_Names</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2475_16" TARGET="main">use_extended_namesC</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1165_14" TARGET="main">Use_Insert_Delete_Character</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1158_14" TARGET="main">Use_Insert_Delete_Line</A>
-</UL></BODY></HTML>
+</head>
+<body>
+<h2>Functions - U</h2>
+<a href="../funcs.htm" target="_self">[index]</a>
+<ul compact type="disc">
+<li><a href="../terminal_interface-curses__adb.htm#ref_2029_16" target="main">Unctrl -  terminal_interface-curses.adb:2029</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_2037_16" target="main">Unctrl -  terminal_interface-curses.adb:2037</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_933_14" target="main">Undo_Keystroke</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_540_16" target="main">Ungetch</a>
+<li><a href="../terminal_interface-curses-mouse__adb.htm#ref_186_16" target="main">Ungetmouse</a>
+<li><a href="../terminal_interface-curses-mouse__ads.htm#ref_142_14" target="main">Unget_Mouse</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1307_14" target="main">Untouch</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1793_14" target="main">Un_Control -  terminal_interface-curses.ads:1793</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1798_13" target="main">Un_Control -  terminal_interface-curses.ads:1798</a>
+<li><a href="../terminal_interface-curses-panels__ads.htm#ref_92_14" target="main">Update_Panels</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1211_14" target="main">Update_Screen</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_2004_14" target="main">Use_Default_Colors</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_2024_13" target="main">Use_Extended_Names</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_2475_16" target="main">use_extended_namesC</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1166_14" target="main">Use_Insert_Delete_Character</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_1159_14" target="main">Use_Insert_Delete_Line</a>
+</ul></body></html>
diff --git a/doc/html/ada/funcs/V.htm b/doc/html/ada/funcs/V.htm
index bd1cc37..2609973 100644
--- a/doc/html/ada/funcs/V.htm
+++ b/doc/html/ada/funcs/V.htm
@@ -1,15 +1,15 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>V</TITLE>
+<html>
+<head>
+<title>V</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<BODY>
-<H2>Functions - V</H2>
-<A HREF="../funcs.htm" TARGET="_self">[index]</A>
-<UL COMPACT TYPE=DISC>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_53_13" TARGET="main">Value -  terminal_interface-curses-forms-field_types-enumeration-ada.ads:53</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_216_13" TARGET="main">Value -  terminal_interface-curses-menus.ads:216</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_907_14" TARGET="main">Vertical_Line</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_225_13" TARGET="main">Visible</A>
-</UL></BODY></HTML>
+</head>
+<body>
+<h2>Functions - V</h2>
+<a href="../funcs.htm" target="_self">[index]</a>
+<ul compact type="disc">
+<li><a href="../terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_54_13" target="main">Value -  terminal_interface-curses-forms-field_types-enumeration-ada.ads:54</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_217_13" target="main">Value -  terminal_interface-curses-menus.ads:217</a>
+<li><a href="../terminal_interface-curses__ads.htm#ref_908_14" target="main">Vertical_Line</a>
+<li><a href="../terminal_interface-curses-menus__ads.htm#ref_226_13" target="main">Visible</a>
+</ul></body></html>
diff --git a/doc/html/ada/funcs/W.htm b/doc/html/ada/funcs/W.htm
index 926ec19..8bf0c83 100644
--- a/doc/html/ada/funcs/W.htm
+++ b/doc/html/ada/funcs/W.htm
@@ -1,57 +1,57 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<TITLE>W</TITLE>
+<html>
+<head>
+<title>W</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<BODY>
-<H2>Functions - W</H2>
-<A HREF="../funcs.htm" TARGET="_self">[index]</A>
-<UL COMPACT TYPE=DISC>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_151_16" TARGET="main">Waddch</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_408_16" TARGET="main">Waddchnstr</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_377_16" TARGET="main">Waddnstr</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_657_16" TARGET="main">Wattrget -  terminal_interface-curses.adb:657</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_678_16" TARGET="main">Wattrget -  terminal_interface-curses.adb:678</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_617_16" TARGET="main">Wattroff</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_614_16" TARGET="main">Wattron</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_642_16" TARGET="main">Wattrset</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1163_17" TARGET="main">WBackground</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_450_16" TARGET="main">Wborder</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1173_16" TARGET="main">WChangeBkgd</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_718_16" TARGET="main">Wchgat</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1131_16" TARGET="main">Wclear</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1141_16" TARGET="main">Wclearbot</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1151_16" TARGET="main">Wcleareol</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1576_16" TARGET="main">Wdelch</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_255_16" TARGET="main">Wdelwin</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_209_16" TARGET="main">Wechochar</A>
-<LI><A HREF="../terminal_interface-curses-mouse__adb.htm#ref_197_16" TARGET="main">Wenclose</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1121_16" TARGET="main">Werase</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1185_16" TARGET="main">Wgetbkgd</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_526_16" TARGET="main">Wgetch</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1790_16" TARGET="main">Wgetnstr</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_491_16" TARGET="main">Whline</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1602_16" TARGET="main">Winch</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1742_16" TARGET="main">Winchnstr</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1700_16" TARGET="main">Winnstr</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1624_16" TARGET="main">Winsch</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1330_16" TARGET="main">Winsdelln</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1657_16" TARGET="main">Winsnstr</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1241_16" TARGET="main">WLineTouched</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_137_16" TARGET="main">Wmove</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1083_16" TARGET="main">Wnoutrefresh</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm#ref_152_14" TARGET="main">Wrap_Builtin</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1106_16" TARGET="main">Wredrawln</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1072_16" TARGET="main">Wrefresh</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2543_16" TARGET="main">wresize</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1564_16" TARGET="main">Wscrl</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1048_16" TARGET="main">Wsetscrreg</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_699_16" TARGET="main">Wset_Color</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_594_16" TARGET="main">wstandend</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_592_16" TARGET="main">wstandout</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_915_17" TARGET="main">Wtimeout</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1196_16" TARGET="main">Wtouchln</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_509_16" TARGET="main">Wvline</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1254_16" TARGET="main">WWinTouched</A>
-</UL></BODY></HTML>
+</head>
+<body>
+<h2>Functions - W</h2>
+<a href="../funcs.htm" target="_self">[index]</a>
+<ul compact type="disc">
+<li><a href="../terminal_interface-curses__adb.htm#ref_151_16" target="main">Waddch</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_408_16" target="main">Waddchnstr</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_377_16" target="main">Waddnstr</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_657_16" target="main">Wattrget -  terminal_interface-curses.adb:657</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_678_16" target="main">Wattrget -  terminal_interface-curses.adb:678</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_617_16" target="main">Wattroff</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_614_16" target="main">Wattron</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_642_16" target="main">Wattrset</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1163_17" target="main">WBackground</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_450_16" target="main">Wborder</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1173_16" target="main">WChangeBkgd</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_718_16" target="main">Wchgat</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1131_16" target="main">Wclear</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1141_16" target="main">Wclearbot</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1151_16" target="main">Wcleareol</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1576_16" target="main">Wdelch</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_255_16" target="main">Wdelwin</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_209_16" target="main">Wechochar</a>
+<li><a href="../terminal_interface-curses-mouse__adb.htm#ref_197_16" target="main">Wenclose</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1121_16" target="main">Werase</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1185_16" target="main">Wgetbkgd</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_526_16" target="main">Wgetch</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1790_16" target="main">Wgetnstr</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_491_16" target="main">Whline</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1602_16" target="main">Winch</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1742_16" target="main">Winchnstr</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1700_16" target="main">Winnstr</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1624_16" target="main">Winsch</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1330_16" target="main">Winsdelln</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1657_16" target="main">Winsnstr</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1241_16" target="main">WLineTouched</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_137_16" target="main">Wmove</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1083_16" target="main">Wnoutrefresh</a>
+<li><a href="../terminal_interface-curses-forms-field_types__ads.htm#ref_152_14" target="main">Wrap_Builtin</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1106_16" target="main">Wredrawln</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1072_16" target="main">Wrefresh</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_2543_16" target="main">wresize</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1564_16" target="main">Wscrl</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1048_16" target="main">Wsetscrreg</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_699_16" target="main">Wset_Color</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_594_16" target="main">wstandend</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_592_16" target="main">wstandout</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_915_17" target="main">Wtimeout</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1196_16" target="main">Wtouchln</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_509_16" target="main">Wvline</a>
+<li><a href="../terminal_interface-curses__adb.htm#ref_1254_16" target="main">WWinTouched</a>
+</ul></body></html>
diff --git a/doc/html/ada/index.htm b/doc/html/ada/index.htm
index b0a6a84..2f7801e 100644
--- a/doc/html/ada/index.htm
+++ b/doc/html/ada/index.htm
@@ -1,42 +1,42 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
-<HTML>
-<HEAD>
-<TITLE>Source Browser</TITLE>
+<html>
+<head>
+<title>Source Browser</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<FRAMESET COLS="250,*">
-<NOFRAMES>
-<H2 ALIGN=CENTER>Files</H2>
-<A HREF="files/T.htm">[T]</A>
-<HR>
-<H2 ALIGN=CENTER>Functions/Procedures</H2>
-<A HREF="funcs/A.htm">[A]</A>
-<A HREF="funcs/B.htm">[B]</A>
-<A HREF="funcs/C.htm">[C]</A>
-<A HREF="funcs/D.htm">[D]</A>
-<A HREF="funcs/E.htm">[E]</A>
-<A HREF="funcs/F.htm">[F]</A>
-<A HREF="funcs/G.htm">[G]</A>
-<A HREF="funcs/H.htm">[H]</A>
-<A HREF="funcs/I.htm">[I]</A>
-<A HREF="funcs/K.htm">[K]</A>
-<A HREF="funcs/L.htm">[L]</A>
-<A HREF="funcs/M.htm">[M]</A>
-<A HREF="funcs/N.htm">[N]</A>
-<A HREF="funcs/O.htm">[O]</A>
-<A HREF="funcs/P.htm">[P]</A>
-<A HREF="funcs/Q.htm">[Q]</A>
-<A HREF="funcs/R.htm">[R]</A>
-<A HREF="funcs/S.htm">[S]</A>
-<A HREF="funcs/T.htm">[T]</A>
-<A HREF="funcs/U.htm">[U]</A>
-<A HREF="funcs/V.htm">[V]</A>
-<A HREF="funcs/W.htm">[W]</A>
-</NOFRAMES>
-<FRAMESET ROWS="50%,50%">
-<FRAME NAME=files SRC=files.htm>
-<FRAME NAME=funcs SRC=funcs.htm>
-</FRAMESET>
-<FRAME NAME=main SRC=main.htm>
-</FRAMESET>
-</HTML>
+</head>
+<frameset cols="250,*">
+<noframes>
+<h2 align="center">Files</h2>
+<a href="files/T.htm">[T]</a>
+<hr>
+<h2 align="center">Functions/Procedures</h2>
+<a href="funcs/A.htm">[A]</a>
+<a href="funcs/B.htm">[B]</a>
+<a href="funcs/C.htm">[C]</a>
+<a href="funcs/D.htm">[D]</a>
+<a href="funcs/E.htm">[E]</a>
+<a href="funcs/F.htm">[F]</a>
+<a href="funcs/G.htm">[G]</a>
+<a href="funcs/H.htm">[H]</a>
+<a href="funcs/I.htm">[I]</a>
+<a href="funcs/K.htm">[K]</a>
+<a href="funcs/L.htm">[L]</a>
+<a href="funcs/M.htm">[M]</a>
+<a href="funcs/N.htm">[N]</a>
+<a href="funcs/O.htm">[O]</a>
+<a href="funcs/P.htm">[P]</a>
+<a href="funcs/Q.htm">[Q]</a>
+<a href="funcs/R.htm">[R]</a>
+<a href="funcs/S.htm">[S]</a>
+<a href="funcs/T.htm">[T]</a>
+<a href="funcs/U.htm">[U]</a>
+<a href="funcs/V.htm">[V]</a>
+<a href="funcs/W.htm">[W]</a>
+</noframes>
+<frameset rows="50%,50%">
+<frame name="files" src="files.htm">
+<frame name="funcs" src="funcs.htm">
+</frameset>
+<frame name="main" src="main.htm">
+</frameset>
+</html>
diff --git a/doc/html/ada/main.htm b/doc/html/ada/main.htm
index e4475a5..4308712 100644
--- a/doc/html/ada/main.htm
+++ b/doc/html/ada/main.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE></TITLE>
+<html>
+<head>
+<title></title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,72 +11,72 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<P ALIGN=right><A HREF="main.htm" TARGET="_top">[No frame version is here]</A><P><H2 ALIGN=CENTER>Files</H2>
-<A HREF="files/T.htm">[T]</A>
-<HR><H2 ALIGN=CENTER>Functions/Procedures</H2>
-<A HREF="funcs/A.htm">[A]</A>
-<A HREF="funcs/B.htm">[B]</A>
-<A HREF="funcs/C.htm">[C]</A>
-<A HREF="funcs/D.htm">[D]</A>
-<A HREF="funcs/E.htm">[E]</A>
-<A HREF="funcs/F.htm">[F]</A>
-<A HREF="funcs/G.htm">[G]</A>
-<A HREF="funcs/H.htm">[H]</A>
-<A HREF="funcs/I.htm">[I]</A>
-<A HREF="funcs/K.htm">[K]</A>
-<A HREF="funcs/L.htm">[L]</A>
-<A HREF="funcs/M.htm">[M]</A>
-<A HREF="funcs/N.htm">[N]</A>
-<A HREF="funcs/O.htm">[O]</A>
-<A HREF="funcs/P.htm">[P]</A>
-<A HREF="funcs/Q.htm">[Q]</A>
-<A HREF="funcs/R.htm">[R]</A>
-<A HREF="funcs/S.htm">[S]</A>
-<A HREF="funcs/T.htm">[T]</A>
-<A HREF="funcs/U.htm">[U]</A>
-<A HREF="funcs/V.htm">[V]</A>
-<A HREF="funcs/W.htm">[W]</A>
-<HR>
+</head>
+<body>
+<p align="right"><a href="main.htm" target="_top">[No frame version is here]</a><p><h2 align="center">Files</h2>
+<a href="files/T.htm">[T]</a>
+<hr><h2 align="center">Functions/Procedures</h2>
+<a href="funcs/A.htm">[A]</a>
+<a href="funcs/B.htm">[B]</a>
+<a href="funcs/C.htm">[C]</a>
+<a href="funcs/D.htm">[D]</a>
+<a href="funcs/E.htm">[E]</a>
+<a href="funcs/F.htm">[F]</a>
+<a href="funcs/G.htm">[G]</a>
+<a href="funcs/H.htm">[H]</a>
+<a href="funcs/I.htm">[I]</a>
+<a href="funcs/K.htm">[K]</a>
+<a href="funcs/L.htm">[L]</a>
+<a href="funcs/M.htm">[M]</a>
+<a href="funcs/N.htm">[N]</a>
+<a href="funcs/O.htm">[O]</a>
+<a href="funcs/P.htm">[P]</a>
+<a href="funcs/Q.htm">[Q]</a>
+<a href="funcs/R.htm">[R]</a>
+<a href="funcs/S.htm">[S]</a>
+<a href="funcs/T.htm">[T]</a>
+<a href="funcs/U.htm">[U]</a>
+<a href="funcs/V.htm">[V]</a>
+<a href="funcs/W.htm">[W]</a>
+<hr>
 You should start your browsing with one of these files:
-<UL>
-<LI><A HREF="terminal_interface-curses-aux__ads.htm">terminal_interface-curses-aux.ads</A>
-<LI><A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm">terminal_interface-curses-forms-field_types-alpha.ads</A>
-<LI><A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm">terminal_interface-curses-forms-field_types-alphanumeric.ads</A>
-<LI><A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm">terminal_interface-curses-forms-field_types-enumeration-ada.ads</A>
-<LI><A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm">terminal_interface-curses-forms-field_types-enumeration.ads</A>
-<LI><A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm">terminal_interface-curses-forms-field_types-intfield.ads</A>
-<LI><A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm">terminal_interface-curses-forms-field_types-ipv4_address.ads</A>
-<LI><A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm">terminal_interface-curses-forms-field_types-numeric.ads</A>
-<LI><A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm">terminal_interface-curses-forms-field_types-regexp.ads</A>
-<LI><A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm">terminal_interface-curses-forms-field_types-user-choice.ads</A>
-<LI><A HREF="terminal_interface-curses-forms-field_types-user__ads.htm">terminal_interface-curses-forms-field_types-user.ads</A>
-<LI><A HREF="terminal_interface-curses-forms-field_types__ads.htm">terminal_interface-curses-forms-field_types.ads</A>
-<LI><A HREF="terminal_interface-curses-forms-field_user_data__ads.htm">terminal_interface-curses-forms-field_user_data.ads</A>
-<LI><A HREF="terminal_interface-curses-forms-form_user_data__ads.htm">terminal_interface-curses-forms-form_user_data.ads</A>
-<LI><A HREF="terminal_interface-curses-forms__ads.htm">terminal_interface-curses-forms.ads</A>
-<LI><A HREF="terminal_interface-curses-menus-item_user_data__ads.htm">terminal_interface-curses-menus-item_user_data.ads</A>
-<LI><A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm">terminal_interface-curses-menus-menu_user_data.ads</A>
-<LI><A HREF="terminal_interface-curses-menus__ads.htm">terminal_interface-curses-menus.ads</A>
-<LI><A HREF="terminal_interface-curses-mouse__ads.htm">terminal_interface-curses-mouse.ads</A>
-<LI><A HREF="terminal_interface-curses-panels-user_data__ads.htm">terminal_interface-curses-panels-user_data.ads</A>
-<LI><A HREF="terminal_interface-curses-panels__ads.htm">terminal_interface-curses-panels.ads</A>
-<LI><A HREF="terminal_interface-curses-putwin__ads.htm">terminal_interface-curses-putwin.ads</A>
-<LI><A HREF="terminal_interface-curses-termcap__ads.htm">terminal_interface-curses-termcap.ads</A>
-<LI><A HREF="terminal_interface-curses-terminfo__ads.htm">terminal_interface-curses-terminfo.ads</A>
-<LI><A HREF="terminal_interface-curses-text_io-aux__ads.htm">terminal_interface-curses-text_io-aux.ads</A>
-<LI><A HREF="terminal_interface-curses-text_io-complex_io__ads.htm">terminal_interface-curses-text_io-complex_io.ads</A>
-<LI><A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm">terminal_interface-curses-text_io-decimal_io.ads</A>
-<LI><A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm">terminal_interface-curses-text_io-enumeration_io.ads</A>
-<LI><A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm">terminal_interface-curses-text_io-fixed_io.ads</A>
-<LI><A HREF="terminal_interface-curses-text_io-float_io__ads.htm">terminal_interface-curses-text_io-float_io.ads</A>
-<LI><A HREF="terminal_interface-curses-text_io-integer_io__ads.htm">terminal_interface-curses-text_io-integer_io.ads</A>
-<LI><A HREF="terminal_interface-curses-text_io-modular_io__ads.htm">terminal_interface-curses-text_io-modular_io.ads</A>
-<LI><A HREF="terminal_interface-curses-text_io__ads.htm">terminal_interface-curses-text_io.ads</A>
-<LI><A HREF="terminal_interface-curses-trace__ads.htm">terminal_interface-curses-trace.ads</A>
-<LI><A HREF="terminal_interface-curses__ads.htm">terminal_interface-curses.ads</A>
-<LI><A HREF="terminal_interface-curses_constants__ads.htm">terminal_interface-curses_constants.ads</A>
-<LI><A HREF="terminal_interface__ads.htm">terminal_interface.ads</A>
-</UL>
-</BODY></HTML>
+<ul>
+<li><a href="terminal_interface-curses-aux__ads.htm">terminal_interface-curses-aux.ads</a>
+<li><a href="terminal_interface-curses-forms-field_types-alpha__ads.htm">terminal_interface-curses-forms-field_types-alpha.ads</a>
+<li><a href="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm">terminal_interface-curses-forms-field_types-alphanumeric.ads</a>
+<li><a href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm">terminal_interface-curses-forms-field_types-enumeration-ada.ads</a>
+<li><a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm">terminal_interface-curses-forms-field_types-enumeration.ads</a>
+<li><a href="terminal_interface-curses-forms-field_types-intfield__ads.htm">terminal_interface-curses-forms-field_types-intfield.ads</a>
+<li><a href="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm">terminal_interface-curses-forms-field_types-ipv4_address.ads</a>
+<li><a href="terminal_interface-curses-forms-field_types-numeric__ads.htm">terminal_interface-curses-forms-field_types-numeric.ads</a>
+<li><a href="terminal_interface-curses-forms-field_types-regexp__ads.htm">terminal_interface-curses-forms-field_types-regexp.ads</a>
+<li><a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm">terminal_interface-curses-forms-field_types-user-choice.ads</a>
+<li><a href="terminal_interface-curses-forms-field_types-user__ads.htm">terminal_interface-curses-forms-field_types-user.ads</a>
+<li><a href="terminal_interface-curses-forms-field_types__ads.htm">terminal_interface-curses-forms-field_types.ads</a>
+<li><a href="terminal_interface-curses-forms-field_user_data__ads.htm">terminal_interface-curses-forms-field_user_data.ads</a>
+<li><a href="terminal_interface-curses-forms-form_user_data__ads.htm">terminal_interface-curses-forms-form_user_data.ads</a>
+<li><a href="terminal_interface-curses-forms__ads.htm">terminal_interface-curses-forms.ads</a>
+<li><a href="terminal_interface-curses-menus-item_user_data__ads.htm">terminal_interface-curses-menus-item_user_data.ads</a>
+<li><a href="terminal_interface-curses-menus-menu_user_data__ads.htm">terminal_interface-curses-menus-menu_user_data.ads</a>
+<li><a href="terminal_interface-curses-menus__ads.htm">terminal_interface-curses-menus.ads</a>
+<li><a href="terminal_interface-curses-mouse__ads.htm">terminal_interface-curses-mouse.ads</a>
+<li><a href="terminal_interface-curses-panels-user_data__ads.htm">terminal_interface-curses-panels-user_data.ads</a>
+<li><a href="terminal_interface-curses-panels__ads.htm">terminal_interface-curses-panels.ads</a>
+<li><a href="terminal_interface-curses-putwin__ads.htm">terminal_interface-curses-putwin.ads</a>
+<li><a href="terminal_interface-curses-termcap__ads.htm">terminal_interface-curses-termcap.ads</a>
+<li><a href="terminal_interface-curses-terminfo__ads.htm">terminal_interface-curses-terminfo.ads</a>
+<li><a href="terminal_interface-curses-text_io-aux__ads.htm">terminal_interface-curses-text_io-aux.ads</a>
+<li><a href="terminal_interface-curses-text_io-complex_io__ads.htm">terminal_interface-curses-text_io-complex_io.ads</a>
+<li><a href="terminal_interface-curses-text_io-decimal_io__ads.htm">terminal_interface-curses-text_io-decimal_io.ads</a>
+<li><a href="terminal_interface-curses-text_io-enumeration_io__ads.htm">terminal_interface-curses-text_io-enumeration_io.ads</a>
+<li><a href="terminal_interface-curses-text_io-fixed_io__ads.htm">terminal_interface-curses-text_io-fixed_io.ads</a>
+<li><a href="terminal_interface-curses-text_io-float_io__ads.htm">terminal_interface-curses-text_io-float_io.ads</a>
+<li><a href="terminal_interface-curses-text_io-integer_io__ads.htm">terminal_interface-curses-text_io-integer_io.ads</a>
+<li><a href="terminal_interface-curses-text_io-modular_io__ads.htm">terminal_interface-curses-text_io-modular_io.ads</a>
+<li><a href="terminal_interface-curses-text_io__ads.htm">terminal_interface-curses-text_io.ads</a>
+<li><a href="terminal_interface-curses-trace__ads.htm">terminal_interface-curses-trace.ads</a>
+<li><a href="terminal_interface-curses__ads.htm">terminal_interface-curses.ads</a>
+<li><a href="terminal_interface-curses_constants__ads.htm">terminal_interface-curses_constants.ads</a>
+<li><a href="terminal_interface__ads.htm">terminal_interface.ads</a>
+</ul>
+</body></html>
diff --git a/doc/html/ada/table.html b/doc/html/ada/table.html
index ce8d91f..7635427 100644
--- a/doc/html/ada/table.html
+++ b/doc/html/ada/table.html
@@ -1,17 +1,14 @@
-<!DOCTYPE HTML
-PUBLIC "-//IETF//DTD HTML 3.0//EN">
-<HTML>
-<HEAD>
-<TITLE>Correspondence between ncurses C and Ada functions</TITLE>
-</HEAD>
-<BODY>
-<H1>Correspondence between ncurses C and Ada functions</H1>
-<H2>Sorted by C function name</H2>
-<TABLE ALIGN=CENTER BORDER>
-<TR ALIGN=LEFT>
-<TH>C name</TH><TH>Ada name</TH><TH>man page</TH></TR>
-<TR><TD>_nc_freeall()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_159">Curses_Free_All</A></TD><TD><A HREF="../man/curs_trace.3x.html">curs_trace.3x</A></TD></TR>
-<TR><TD>_tracef()</TD><TD><A HREF="terminal_interface-curses-trace__ads.htm#AFU_2">Trace_Put</A></TD><TD><A HREF="../man/curs_trace.3x.html">curs_trace.3x</A></TD></TR>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<html>
+<head>
+<title>Correspondence between ncurses C and Ada functions</title>
+</head>
+<body>
+<h1>Correspondence between ncurses C and Ada functions</h1>
+<h2>Sorted by C function name</h2>
+<table align="center" border summary="Correspondence between ncurses C and Ada functions">
+<tr align="left">
+<th>C name</th><th>Ada name</th><th>man page</th></tr>
 <TR><TD>assume_default_colors()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_156">Assume_Default_Colors</A></TD><TD><A HREF="../man/default_colors.3x.html">default_colors.3x</A></TD></TR>
 <TR><TD>baudrate()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_131">Baudrate</A></TD><TD><A HREF="../man/curs_termattrs.3x.html">curs_termattrs.3x</A></TD></TR>
 <TR><TD>beep()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_40">Beep</A></TD><TD><A HREF="../man/curs_beep.3x.html">curs_beep.3x</A></TD></TR>
@@ -24,15 +21,15 @@
 <TR><TD>copywin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_79">Copy</A></TD><TD><A HREF="../man/curs_overlay.3x.html">curs_overlay.3x</A></TD></TR>
 <TR><TD>current_field()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_58">Current</A></TD><TD><A HREF="../man/form_page.3x.html">form_page.3x</A></TD></TR>
 <TR><TD>current_item()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_14">Current</A></TD><TD><A HREF="../man/mitem_current.3x.html">mitem_current.3x</A></TD></TR>
-<TR><TD>curs_set()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_153">Set_Cursor_Visibility</A></TD><TD><A HREF="../man/curs_kernel.3x.html">curs_kernel.3x</A></TD></TR>
 <TR><TD>curscr</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_2">Current_Window</A></TD><TD><A HREF="../man/curs_initscr.3x.html">curs_initscr.3x</A></TD></TR>
 <TR><TD>curses_version()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_157">Curses_Version</A></TD><TD><A HREF="../man/curs_extend.3x.html">curs_extend.3x</A></TD></TR>
+<TR><TD>curs_set()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_153">Set_Cursor_Visibility</A></TD><TD><A HREF="../man/curs_kernel.3x.html">curs_kernel.3x</A></TD></TR>
 <TR><TD>data_ahead()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_54">Data_Ahead</A></TD><TD><A HREF="../man/form_data.3x.html">form_data.3x</A></TD></TR>
 <TR><TD>data_behind()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_55">Data_Behind</A></TD><TD><A HREF="../man/form_data.3x.html">form_data.3x</A></TD></TR>
-<TR><TD>def_prog_mode()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_148">Save_Curses_Mode</A></TD><TD><A HREF="../man/curs_kernel.3x.html">curs_kernel.3x</A></TD></TR>
 <TR><TD>define_key()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_124">Define_Key</A></TD><TD><A HREF="../man/define_key.3x.html">define_key.3x</A></TD></TR>
-<TR><TD>del_panel()</TD><TD><A HREF="terminal_interface-curses-panels__ads.htm#AFU_15">Delete</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
+<TR><TD>def_prog_mode()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_148">Save_Curses_Mode</A></TD><TD><A HREF="../man/curs_kernel.3x.html">curs_kernel.3x</A></TD></TR>
 <TR><TD>delay_output()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_129">Delay_Output</A></TD><TD><A HREF="../man/curs_util.3x.html">curs_util.3x</A></TD></TR>
+<TR><TD>del_panel()</TD><TD><A HREF="terminal_interface-curses-panels__ads.htm#AFU_15">Delete</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
 <TR><TD>delwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_12">Delete</A></TD><TD><A HREF="../man/curs_window.3x.html">curs_window.3x</A></TD></TR>
 <TR><TD>derwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_14">Derived_Window</A></TD><TD><A HREF="../man/curs_window.3x.html">curs_window.3x</A></TD></TR>
 <TR><TD>doupdate()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_61">Update_Screen</A></TD><TD><A HREF="../man/curs_refresh.3x.html">curs_refresh.3x</A></TD></TR>
@@ -52,9 +49,9 @@
 <TR><TD>field_info()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_25">Info</A></TD><TD><A HREF="../man/form_field_info.3x.html">form_field_info.3x</A></TD></TR>
 <TR><TD>field_init()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_36">Get_Field_Init_Hook</A></TD><TD><A HREF="../man/form_hook.3x.html">form_hook.3x</A></TD></TR>
 <TR><TD>field_just()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_7">Get_Justification</A></TD><TD><A HREF="../man/form_field_just.3x.html">form_field_just.3x</A></TD></TR>
+<TR><TD>field_opts_on()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_14">Switch_Options</A></TD><TD><A HREF="../man/form_field_opts.3x.html">form_field_opts.3x</A></TD></TR>
 <TR><TD>field_opts()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_15">Get_Options</A></TD><TD><A HREF="../man/form_field_opts.3x.html">form_field_opts.3x</A></TD></TR>
 <TR><TD>field_opts()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_16">Get_Options</A></TD><TD><A HREF="../man/form_field_opts.3x.html">form_field_opts.3x</A></TD></TR>
-<TR><TD>field_opts_on()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_14">Switch_Options</A></TD><TD><A HREF="../man/form_field_opts.3x.html">form_field_opts.3x</A></TD></TR>
 <TR><TD>field_pad()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_24">Pad_Character</A></TD><TD><A HREF="../man/form_field_attributes.3x.html">form_field_attributes.3x</A></TD></TR>
 <TR><TD>field_status()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_11">Changed</A></TD><TD><A HREF="../man/form_field_buffer.3x.html">form_field_buffer.3x</A></TD></TR>
 <TR><TD>field_term()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_37">Get_Field_Term_Hook</A></TD><TD><A HREF="../man/form_hook.3x.html">form_hook.3x</A></TD></TR>
@@ -66,9 +63,9 @@
 <TR><TD>form_driver()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_56">Driver</A></TD><TD><A HREF="../man/form_driver.3x.html">form_driver.3x</A></TD></TR>
 <TR><TD>form_fields()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_42">Fields</A></TD><TD><A HREF="../man/form_field.3x.html">form_field.3x</A></TD></TR>
 <TR><TD>form_init()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_38">Get_Form_Init_Hook</A></TD><TD><A HREF="../man/form_hook.3x.html">form_hook.3x</A></TD></TR>
+<TR><TD>form_opts_on()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_49">Switch_Options</A></TD><TD><A HREF="../man/form_opts.3x.html">form_opts.3x</A></TD></TR>
 <TR><TD>form_opts()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_50">Get_Options</A></TD><TD><A HREF="../man/form_opts.3x.html">form_opts.3x</A></TD></TR>
 <TR><TD>form_opts()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_51">Get_Options</A></TD><TD><A HREF="../man/form_opts.3x.html">form_opts.3x</A></TD></TR>
-<TR><TD>form_opts_on()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_49">Switch_Options</A></TD><TD><A HREF="../man/form_opts.3x.html">form_opts.3x</A></TD></TR>
 <TR><TD>form_page()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_60">Page</A></TD><TD><A HREF="../man/form_page.3x.html">form_page.3x</A></TD></TR>
 <TR><TD>form_sub()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_30">Get_Sub_Window</A></TD><TD><A HREF="../man/form_win.3x.html">form_win.3x</A></TD></TR>
 <TR><TD>form_term()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_39">Get_Form_Term_Hook</A></TD><TD><A HREF="../man/form_hook.3x.html">form_hook.3x</A></TD></TR>
@@ -98,17 +95,17 @@
 <TR><TD>initscr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_3">Init_Screen</A></TD><TD><A HREF="../man/curs_initscr.3x.html">curs_initscr.3x</A></TD></TR>
 <TR><TD>initscr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_4">Init_Windows</A></TD><TD><A HREF="../man/curs_initscr.3x.html">curs_initscr.3x</A></TD></TR>
 <TR><TD>intrflush()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_48">Set_Flush_On_Interrupt_Mode</A></TD><TD><A HREF="../man/curs_inopts.3x.html">curs_inopts.3x</A></TD></TR>
+<TR><TD>isendwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_6">Is_End_Window</A></TD><TD><A HREF="../man/curs_initscr.3x.html">curs_initscr.3x</A></TD></TR>
 <TR><TD>is_linetouched()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_77">Is_Touched</A></TD><TD><A HREF="../man/curs_touch.3x.html">curs_touch.3x</A></TD></TR>
 <TR><TD>is_wintouched()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_78">Is_Touched</A></TD><TD><A HREF="../man/curs_touch.3x.html">curs_touch.3x</A></TD></TR>
-<TR><TD>isendwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_6">Is_End_Window</A></TD><TD><A HREF="../man/curs_initscr.3x.html">curs_initscr.3x</A></TD></TR>
 <TR><TD>item_count()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_58">Item_Count</A></TD><TD><A HREF="../man/menu_items.3x.html">menu_items.3x</A></TD></TR>
 <TR><TD>item_description();</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_12">Description</A></TD><TD><A HREF="../man/mitem_name.3x.html">mitem_name.3x</A></TD></TR>
 <TR><TD>item_index()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_17">Get_Index</A></TD><TD><A HREF="../man/mitem_current.3x.html">mitem_current.3x</A></TD></TR>
 <TR><TD>item_init()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_52">Get_Item_Init_Hook</A></TD><TD><A HREF="../man/menu_hook.3x.html">menu_hook.3x</A></TD></TR>
 <TR><TD>item_name()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_11">Name</A></TD><TD><A HREF="../man/mitem_name.3x.html">mitem_name.3x</A></TD></TR>
+<TR><TD>item_opts_on()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_8">Switch_Options</A></TD><TD><A HREF="../man/mitem_opts.3x.html">mitem_opts.3x</A></TD></TR>
 <TR><TD>item_opts()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_10">Get_Options</A></TD><TD><A HREF="../man/mitem_opts.3x.html">mitem_opts.3x</A></TD></TR>
 <TR><TD>item_opts()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_9">Get_Options</A></TD><TD><A HREF="../man/mitem_opts.3x.html">mitem_opts.3x</A></TD></TR>
-<TR><TD>item_opts_on()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_8">Switch_Options</A></TD><TD><A HREF="../man/mitem_opts.3x.html">mitem_opts.3x</A></TD></TR>
 <TR><TD>item_term()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_53">Get_Item_Term_Hook</A></TD><TD><A HREF="../man/menu_hook.3x.html">menu_hook.3x</A></TD></TR>
 <TR><TD>item_userptr</TD><TD><A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#AFU_2">Get_User_Data</A></TD><TD><A HREF="../man/mitem_userptr.3x.html">mitem_userptr.3x</A></TD></TR>
 <TR><TD>item_userptr</TD><TD><A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#AFU_3">Get_User_Data</A></TD><TD><A HREF="../man/mitem_userptr.3x.html">mitem_userptr.3x</A></TD></TR>
@@ -134,9 +131,9 @@
 <TR><TD>menu_init()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_54">Get_Menu_Init_Hook</A></TD><TD><A HREF="../man/menu_hook.3x.html">menu_hook.3x</A></TD></TR>
 <TR><TD>menu_items()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_57">Items</A></TD><TD><A HREF="../man/menu_items.3x.html">menu_items.3x</A></TD></TR>
 <TR><TD>menu_mark()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_30">Mark</A></TD><TD><A HREF="../man/menu_mark.3x.html">menu_mark.3x</A></TD></TR>
+<TR><TD>menu_opts_on()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_20">Switch_Options</A></TD><TD><A HREF="../man/menu_opts.3x.html">menu_opts.3x</A></TD></TR>
 <TR><TD>menu_opts()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_21">Get_Options</A></TD><TD><A HREF="../man/menu_opts.3x.html">menu_opts.3x</A></TD></TR>
 <TR><TD>menu_opts()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_22">Get_Options</A></TD><TD><A HREF="../man/menu_opts.3x.html">menu_opts.3x</A></TD></TR>
-<TR><TD>menu_opts_on()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_20">Switch_Options</A></TD><TD><A HREF="../man/menu_opts.3x.html">menu_opts.3x</A></TD></TR>
 <TR><TD>menu_pad()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_41">Pad_Character</A></TD><TD><A HREF="../man/menu_attributes.3x.html">menu_attributes.3x</A></TD></TR>
 <TR><TD>menu_pattern()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_45">Pattern</A></TD><TD><A HREF="../man/menu_pattern.3x.html">menu_pattern.3x</A></TD></TR>
 <TR><TD>menu_requestname.3x</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_62"></A></TD><TD><A HREF="../man/menu_driver.3x.html">menu_driver.3x</A></TD></TR>
@@ -152,19 +149,20 @@
 <TR><TD>move_field()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_44">Move</A></TD><TD><A HREF="../man/form_field.3x.html">form_field.3x</A></TD></TR>
 <TR><TD>move_panel()</TD><TD><A HREF="terminal_interface-curses-panels__ads.htm#AFU_11">Move</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
 <TR><TD>mvderwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_17">Move_Derived_Window</A></TD><TD><A HREF="../man/curs_window.3x.html">curs_window.3x</A></TD></TR>
-<TR><TD>mvwaddch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_9">Add</A></TD><TD><A HREF="../man/curs_addch.3x.html">curs_addch.3x</A></TD></TR>
 <TR><TD>mvwaddchnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_24">Add</A></TD><TD><A HREF="../man/curs_addchstr.3x.html">curs_addchstr.3x</A></TD></TR>
+<TR><TD>mvwaddch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_9">Add</A></TD><TD><A HREF="../man/curs_addch.3x.html">curs_addch.3x</A></TD></TR>
 <TR><TD>mvwaddnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_22">Add</A></TD><TD><A HREF="../man/curs_addstr.3x.html">curs_addstr.3x</A></TD></TR>
 <TR><TD>mvwchgat()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_39">Change_Attributes</A></TD><TD><A HREF="../man/curs_attr.3x.html">curs_attr.3x</A></TD></TR>
 <TR><TD>mvwdelch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_96">Delete_Character</A></TD><TD><A HREF="../man/curs_delch.3x.html">curs_delch.3x</A></TD></TR>
 <TR><TD>mvwgetnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_108">Get</A></TD><TD><A HREF="../man/curs_getstr.3x.html">curs_getstr.3x</A></TD></TR>
-<TR><TD>mvwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_16">Move_Window</A></TD><TD><A HREF="../man/curs_window.3x.html">curs_window.3x</A></TD></TR>
-<TR><TD>mvwinch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_98">Peek</A></TD><TD><A HREF="../man/curs_inch.3x.html">curs_inch.3x</A></TD></TR>
 <TR><TD>mvwinchnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_106">Peek</A></TD><TD><A HREF="../man/curs_inchstr.3x.html">curs_inchstr.3x</A></TD></TR>
+<TR><TD>mvwinch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_98">Peek</A></TD><TD><A HREF="../man/curs_inch.3x.html">curs_inch.3x</A></TD></TR>
 <TR><TD>mvwinnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_104">Peek</A></TD><TD><A HREF="../man/curs_instr.3x.html">curs_instr.3x</A></TD></TR>
 <TR><TD>mvwinsch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_100">Insert</A></TD><TD><A HREF="../man/curs_insch.3x.html">curs_insch.3x</A></TD></TR>
 <TR><TD>mvwinsnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_102">Insert</A></TD><TD><A HREF="../man/curs_insstr.3x.html">curs_insstr.3x</A></TD></TR>
+<TR><TD>mvwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_16">Move_Window</A></TD><TD><A HREF="../man/curs_window.3x.html">curs_window.3x</A></TD></TR>
 <TR><TD>napms()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_154">Nap_Milli_Seconds</A></TD><TD><A HREF="../man/curs_kernel.3x.html">curs_kernel.3x</A></TD></TR>
+<TR><TD>_nc_freeall()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_159">Curses_Free_All</A></TD><TD><A HREF="../man/curs_trace.3x.html">curs_trace.3x</A></TD></TR>
 <TR><TD>new_field()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_1">Create</A></TD><TD><A HREF="../man/form_field_new.3x.html">form_field_new.3x</A></TD></TR>
 <TR><TD>new_field()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_2">New_Field</A></TD><TD><A HREF="../man/form_field_new.3x.html">form_field_new.3x</A></TD></TR>
 <TR><TD>new_form()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_45">Create</A></TD><TD><A HREF="../man/form_new.3x.html">form_new.3x</A></TD></TR>
@@ -172,10 +170,10 @@
 <TR><TD>new_item()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_1">Create</A></TD><TD><A HREF="../man/mitem_new.3x.html">mitem_new.3x</A></TD></TR>
 <TR><TD>new_item()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_2">New_Item</A></TD><TD><A HREF="../man/mitem_new.3x.html">mitem_new.3x</A></TD></TR>
 <TR><TD>new_menu()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_59">Create</A></TD><TD><A HREF="../man/menu_new.3x.html">menu_new.3x</A></TD></TR>
+<TR><TD>newpad()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_89">New_Pad</A></TD><TD><A HREF="../man/curs_pad.3x.html">curs_pad.3x</A></TD></TR>
 <TR><TD>new_page()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_63">Is_New_Page</A></TD><TD><A HREF="../man/form_new_page.3x.html">form_new_page.3x</A></TD></TR>
 <TR><TD>new_panel()</TD><TD><A HREF="terminal_interface-curses-panels__ads.htm#AFU_1">Create</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
 <TR><TD>new_panel()</TD><TD><A HREF="terminal_interface-curses-panels__ads.htm#AFU_2">New_Panel</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
-<TR><TD>newpad()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_89">New_Pad</A></TD><TD><A HREF="../man/curs_pad.3x.html">curs_pad.3x</A></TD></TR>
 <TR><TD>newwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_11">Create</A></TD><TD><A HREF="../man/curs_window.3x.html">curs_window.3x</A></TD></TR>
 <TR><TD>nl()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_53">Set_NL_Mode</A></TD><TD><A HREF="../man/curs_outopts.3x.html">curs_outopts.3x</A></TD></TR>
 <TR><TD>nodelay()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_50">Set_NoDelay_Mode</A></TD><TD><A HREF="../man/curs_inopts.3x.html">curs_inopts.3x</A></TD></TR>
@@ -209,9 +207,9 @@
 <TR><TD>scale_menu()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_27">Scale</A></TD><TD><A HREF="../man/menu_win.3x.html">menu_win.3x</A></TD></TR>
 <TR><TD>scr_dump()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_160">Screen_Dump_To_File</A></TD><TD><A HREF="../man/curs_scr_dump.3x.html">curs_scr_dump.3x</A></TD></TR>
 <TR><TD>scr_init()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_162">Screen_Init_From_File</A></TD><TD><A HREF="../man/curs_scr_dump.3x.html">curs_scr_dump.3x</A></TD></TR>
+<TR><TD>scrollok()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_59">Allow_Scrolling</A></TD><TD><A HREF="../man/curs_outopts.3x.html">curs_outopts.3x</A></TD></TR>
 <TR><TD>scr_restore()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_161">Screen_Restore_From_File</A></TD><TD><A HREF="../man/curs_scr_dump.3x.html">curs_scr_dump.3x</A></TD></TR>
 <TR><TD>scr_set()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_163">Screen_Set_File</A></TD><TD><A HREF="../man/curs_scr_dump.3x.html">curs_scr_dump.3x</A></TD></TR>
-<TR><TD>scrollok()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_59">Allow_Scrolling</A></TD><TD><A HREF="../man/curs_outopts.3x.html">curs_outopts.3x</A></TD></TR>
 <TR><TD>set_current_field()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_57">Set_Current</A></TD><TD><A HREF="../man/form_page.3x.html">form_page.3x</A></TD></TR>
 <TR><TD>set_current_item()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_13">Set_Current</A></TD><TD><A HREF="../man/mitem_current.3x.html">mitem_current.3x</A></TD></TR>
 <TR><TD>set_field_back()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_20">Set_Background</A></TD><TD><A HREF="../man/form_field_attributes.3x.html">form_field_attributes.3x</A></TD></TR>
@@ -259,10 +257,10 @@
 <TR><TD>set_panel_userptr</TD><TD><A HREF="terminal_interface-curses-panels-user_data__ads.htm#AFU_1">Set_User_Data</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
 <TR><TD>set_top_row()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_15">Set_Top_Row</A></TD><TD><A HREF="../man/mitem_current.3x.html">mitem_current.3x</A></TD></TR>
 <TR><TD>show_panel()</TD><TD><A HREF="terminal_interface-curses-panels__ads.htm#AFU_5">Show</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
-<TR><TD>slk_attr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_120">Get_Soft_Label_Key_Attributes</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
-<TR><TD>slk_attr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_121">Get_Soft_Label_Key_Attributes</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
 <TR><TD>slk_attron()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_118">Switch_Soft_Label_Key_Attributes</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
 <TR><TD>slk_attrset()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_119">Set_Soft_Label_Key_Attributes</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
+<TR><TD>slk_attr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_120">Get_Soft_Label_Key_Attributes</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
+<TR><TD>slk_attr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_121">Get_Soft_Label_Key_Attributes</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
 <TR><TD>slk_clear()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_115">Clear_Soft_Label_Keys</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
 <TR><TD>slk_color()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_122">Set_Soft_Label_Key_Color</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
 <TR><TD>slk_init()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_109">Init_Soft_Label_Keys</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
@@ -286,6 +284,7 @@
 <TR><TD>top_row()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_16">Top_Row</A></TD><TD><A HREF="../man/mitem_current.3x.html">mitem_current.3x</A></TD></TR>
 <TR><TD>touchline()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_75">Touch</A></TD><TD><A HREF="../man/curs_touch.3x.html">curs_touch.3x</A></TD></TR>
 <TR><TD>touchwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_74">Touch</A></TD><TD><A HREF="../man/curs_touch.3x.html">curs_touch.3x</A></TD></TR>
+<TR><TD>_tracef()</TD><TD><A HREF="terminal_interface-curses-trace__ads.htm#AFU_2">Trace_Put</A></TD><TD><A HREF="../man/curs_trace.3x.html">curs_trace.3x</A></TD></TR>
 <TR><TD>trace()</TD><TD><A HREF="terminal_interface-curses-trace__ads.htm#AFU_1">Trace_on</A></TD><TD><A HREF="../man/curs_trace.3x.html">curs_trace.3x</A></TD></TR>
 <TR><TD>unctrl()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_127">Un_Control</A></TD><TD><A HREF="../man/curs_util.3x.html">curs_util.3x</A></TD></TR>
 <TR><TD>unctrl()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_128">Un_Control</A></TD><TD><A HREF="../man/curs_util.3x.html">curs_util.3x</A></TD></TR>
@@ -295,16 +294,16 @@
 <TR><TD>update_panels()</TD><TD><A HREF="terminal_interface-curses-panels__ads.htm#AFU_6">Update_Panels</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
 <TR><TD>use_default_colors()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_155">Use_Default_Colors</A></TD><TD><A HREF="../man/default_colors.3x.html">default_colors.3x</A></TD></TR>
 <TR><TD>use_extended_names()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_158">Use_Extended_Names</A></TD><TD><A HREF="../man/curs_extend.3x.html">curs_extend.3x</A></TD></TR>
-<TR><TD>waddch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_8">Add</A></TD><TD><A HREF="../man/curs_addch.3x.html">curs_addch.3x</A></TD></TR>
 <TR><TD>waddchnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_23">Add</A></TD><TD><A HREF="../man/curs_addchstr.3x.html">curs_addchstr.3x</A></TD></TR>
+<TR><TD>waddch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_8">Add</A></TD><TD><A HREF="../man/curs_addch.3x.html">curs_addch.3x</A></TD></TR>
 <TR><TD>waddnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_21">Add</A></TD><TD><A HREF="../man/curs_addstr.3x.html">curs_addstr.3x</A></TD></TR>
 <TR><TD>wattr_get()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_35">Get_Character_Attributes</A></TD><TD><A HREF="../man/curs_attr.3x.html">curs_attr.3x</A></TD></TR>
 <TR><TD>wattr_get()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_36">Get_Character_Attribute</A></TD><TD><A HREF="../man/curs_attr.3x.html">curs_attr.3x</A></TD></TR>
 <TR><TD>wattron()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_33">Switch_Character_Attribute</A></TD><TD><A HREF="../man/curs_attr.3x.html">curs_attr.3x</A></TD></TR>
 <TR><TD>wattrset()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_34">Set_Character_Attributes</A></TD><TD><A HREF="../man/curs_attr.3x.html">curs_attr.3x</A></TD></TR>
-<TR><TD>wbkgd()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_71">Change_Background</A></TD><TD><A HREF="../man/curs_bkgd.3x.html">curs_bkgd.3x</A></TD></TR>
 <TR><TD>wbkgdget()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_72">Get_Background</A></TD><TD><A HREF="../man/curs_bkgd.3x.html">curs_bkgd.3x</A></TD></TR>
 <TR><TD>wbkgdset()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_70">Set_Background</A></TD><TD><A HREF="../man/curs_bkgd.3x.html">curs_bkgd.3x</A></TD></TR>
+<TR><TD>wbkgd()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_71">Change_Background</A></TD><TD><A HREF="../man/curs_bkgd.3x.html">curs_bkgd.3x</A></TD></TR>
 <TR><TD>wborder()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_25">Border</A></TD><TD><A HREF="../man/curs_border.3x.html">curs_border.3x</A></TD></TR>
 <TR><TD>wchgat()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_38">Change_Attributes</A></TD><TD><A HREF="../man/curs_attr.3x.html">curs_attr.3x</A></TD></TR>
 <TR><TD>wclear()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_67">Clear</A></TD><TD><A HREF="../man/curs_clear.3x.html">curs_clear.3x</A></TD></TR>
@@ -319,8 +318,8 @@
 <TR><TD>wgetch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_29">Get_Keystroke</A></TD><TD><A HREF="../man/curs_getch.3x.html">curs_getch.3x</A></TD></TR>
 <TR><TD>wgetnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_107">Get</A></TD><TD><A HREF="../man/curs_getstr.3x.html">curs_getstr.3x</A></TD></TR>
 <TR><TD>whline()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_27">Horizontal_Line</A></TD><TD><A HREF="../man/curs_border.3x.html">curs_border.3x</A></TD></TR>
-<TR><TD>winch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_97">Peek</A></TD><TD><A HREF="../man/curs_inch.3x.html">curs_inch.3x</A></TD></TR>
 <TR><TD>winchnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_105">Peek</A></TD><TD><A HREF="../man/curs_inchstr.3x.html">curs_inchstr.3x</A></TD></TR>
+<TR><TD>winch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_97">Peek</A></TD><TD><A HREF="../man/curs_inch.3x.html">curs_inch.3x</A></TD></TR>
 <TR><TD>winnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_103">Peek</A></TD><TD><A HREF="../man/curs_instr.3x.html">curs_instr.3x</A></TD></TR>
 <TR><TD>winsch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_99">Insert</A></TD><TD><A HREF="../man/curs_insch.3x.html">curs_insch.3x</A></TD></TR>
 <TR><TD>winsdelln()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_82">Insert_Delete_Lines</A></TD><TD><A HREF="../man/curs_deleteln.3x.html">curs_deleteln.3x</A></TD></TR>
@@ -338,4 +337,4 @@
 <TR><TD>wtimeout()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_51">Set_Timeout_Mode</A></TD><TD><A HREF="../man/curs_inopts.3x.html">curs_inopts.3x</A></TD></TR>
 <TR><TD>wtouchln()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_76">Change_Line_Status</A></TD><TD><A HREF="../man/curs_touch.3x.html">curs_touch.3x</A></TD></TR>
 <TR><TD>wvline()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_28">Vertical_Line</A></TD><TD><A HREF="../man/curs_border.3x.html">curs_border.3x</A></TD></TR>
-</TABLE></BODY></HTML>
+</table></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-aux__adb.htm b/doc/html/ada/terminal_interface-curses-aux__adb.htm
index f36a363..61ea3de 100644
--- a/doc/html/ada/terminal_interface-curses-aux__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-aux__adb.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-aux.adb</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-aux.adb</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,124 +11,125 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-aux.adb </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                      Terminal_Interface.Curses.Aux                       --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 B O D Y                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2003,2009 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.11 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<span class="symbol"><A NAME="ref_41_40" HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A></span> <b>is</b>
-   <span class="comment"><EM>--</EM></span>
-   <span class="comment"><EM>--  Some helpers</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_44_14" HREF="terminal_interface-curses-aux__ads.htm#ref_92_14">Fill_String</A></span> (<span class="symbol"><A NAME="ref_44_27" HREF="terminal_interface-curses-aux__ads.htm#ref_92_27">Cp</A></span>  : chars_ptr;
-                          <span class="symbol"><A NAME="ref_45_27" HREF="terminal_interface-curses-aux__ads.htm#ref_93_27">Str</A></span> : <b>out</b> String)
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-aux.adb </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                      Terminal_Interface.Curses.Aux                       --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 B O D Y                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.12 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<span class="symbol"><a name="ref_42_40" href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a></span> <b>is</b>
+   <span class="comment"><em>--</em></span>
+   <span class="comment"><em>--  Some helpers</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_45_14" href="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</a></span> (<span class="symbol"><a name="ref_45_27" href="terminal_interface-curses-aux__ads.htm#ref_91_27">Cp</a></span>  : chars_ptr;
+                          <span class="symbol"><a name="ref_46_27" href="terminal_interface-curses-aux__ads.htm#ref_92_27">Str</a></span> : <b>out</b> String)
    <b>is</b>
-      <span class="comment"><EM>--  Fill the string with the characters referenced by the</EM></span>
-      <span class="comment"><EM>--  chars_ptr.</EM></span>
-      <span class="comment"><EM>--</EM></span>
-      <span class="symbol"><A NAME="ref_50_7">Len</A></span> : Natural;
+      <span class="comment"><em>--  Fill the string with the characters referenced by the</em></span>
+      <span class="comment"><em>--  chars_ptr.</em></span>
+      <span class="comment"><em>--</em></span>
+      <span class="symbol"><a name="ref_51_7">Len</a></span> : Natural;
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_92_27">Cp</A> /= Null_Ptr <b>then</b>
-         <A HREF="terminal_interface-curses-aux__adb.htm#ref_50_7">Len</A> := Natural (Strlen (<A HREF="terminal_interface-curses-aux__ads.htm#ref_92_27">Cp</A>));
-         <b>if</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_93_27">Str</A>'Length &lt; <A HREF="terminal_interface-curses-aux__adb.htm#ref_50_7">Len</A> <b>then</b>
+      <b>if</b> <a href="terminal_interface-curses-aux__ads.htm#ref_91_27">Cp</a> /= Null_Ptr <b>then</b>
+         <a href="terminal_interface-curses-aux__adb.htm#ref_51_7">Len</a> := Natural (Strlen (<a href="terminal_interface-curses-aux__ads.htm#ref_91_27">Cp</a>));
+         <b>if</b> <a href="terminal_interface-curses-aux__ads.htm#ref_92_27">Str</a>'Length &lt; <a href="terminal_interface-curses-aux__adb.htm#ref_51_7">Len</a> <b>then</b>
             <b>raise</b> Constraint_Error;
          <b>end</b> <b>if</b>;
          <b>declare</b>
-            <span class="symbol"><A NAME="ref_58_13">S</A></span> : String (1 .. <A HREF="terminal_interface-curses-aux__adb.htm#ref_50_7">Len</A>);
+            <span class="symbol"><a name="ref_59_13">S</a></span> : String (1 .. <a href="terminal_interface-curses-aux__adb.htm#ref_51_7">Len</a>);
          <b>begin</b>
-            <A HREF="terminal_interface-curses-aux__adb.htm#ref_58_13">S</A> := Value (<A HREF="terminal_interface-curses-aux__ads.htm#ref_92_27">Cp</A>);
-            <A HREF="terminal_interface-curses-aux__ads.htm#ref_93_27">Str</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_93_27">Str</A>'First .. (<A HREF="terminal_interface-curses-aux__ads.htm#ref_93_27">Str</A>'First + <A HREF="terminal_interface-curses-aux__adb.htm#ref_50_7">Len</A> - 1)) := <A HREF="terminal_interface-curses-aux__adb.htm#ref_58_13">S</A> (<A HREF="terminal_interface-curses-aux__adb.htm#ref_58_13">S</A>'<b>Range</b>);
+            <a href="terminal_interface-curses-aux__adb.htm#ref_59_13">S</a> := Value (<a href="terminal_interface-curses-aux__ads.htm#ref_91_27">Cp</a>);
+            <a href="terminal_interface-curses-aux__ads.htm#ref_92_27">Str</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_92_27">Str</a>'First .. (<a href="terminal_interface-curses-aux__ads.htm#ref_92_27">Str</a>'First + <a href="terminal_interface-curses-aux__adb.htm#ref_51_7">Len</a> - 1)) := <a href="terminal_interface-curses-aux__adb.htm#ref_59_13">S</a> (<a href="terminal_interface-curses-aux__adb.htm#ref_59_13">S</a>'<b>Range</b>);
          <b>end</b>;
       <b>else</b>
-         <A HREF="terminal_interface-curses-aux__adb.htm#ref_50_7">Len</A> := 0;
+         <a href="terminal_interface-curses-aux__adb.htm#ref_51_7">Len</a> := 0;
       <b>end</b> <b>if</b>;
 
-      <b>if</b> <A HREF="terminal_interface-curses-aux__adb.htm#ref_50_7">Len</A> &lt; <A HREF="terminal_interface-curses-aux__ads.htm#ref_93_27">Str</A>'Length <b>then</b>
-         <A HREF="terminal_interface-curses-aux__ads.htm#ref_93_27">Str</A> ((<A HREF="terminal_interface-curses-aux__ads.htm#ref_93_27">Str</A>'First + <A HREF="terminal_interface-curses-aux__adb.htm#ref_50_7">Len</A>) .. <A HREF="terminal_interface-curses-aux__ads.htm#ref_93_27">Str</A>'Last) := (<b>others</b> =&gt; ' ');
+      <b>if</b> <a href="terminal_interface-curses-aux__adb.htm#ref_51_7">Len</a> &lt; <a href="terminal_interface-curses-aux__ads.htm#ref_92_27">Str</a>'Length <b>then</b>
+         <a href="terminal_interface-curses-aux__ads.htm#ref_92_27">Str</a> ((<a href="terminal_interface-curses-aux__ads.htm#ref_92_27">Str</a>'First + <a href="terminal_interface-curses-aux__adb.htm#ref_51_7">Len</a>) .. <a href="terminal_interface-curses-aux__ads.htm#ref_92_27">Str</a>'Last) := (<b>others</b> =&gt; ' ');
       <b>end</b> <b>if</b>;
 
-   <b>end</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_92_14">Fill_String</A>;
+   <b>end</b> <a href="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_73_13" HREF="terminal_interface-curses-aux__ads.htm#ref_97_13">Fill_String</A></span> (<span class="symbol"><A NAME="ref_73_26" HREF="terminal_interface-curses-aux__ads.htm#ref_97_26">Cp</A></span> : chars_ptr) <b>return</b> String
+   <b>function</b> <span class="symbol"><a name="ref_74_13" href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a></span> (<span class="symbol"><a name="ref_74_26" href="terminal_interface-curses-aux__ads.htm#ref_96_26">Cp</a></span> : chars_ptr) <b>return</b> String
    <b>is</b>
-      <span class="symbol"><A NAME="ref_75_7">Len</A></span> : Natural;
+      <span class="symbol"><a name="ref_76_7">Len</a></span> : Natural;
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_97_26">Cp</A> /= Null_Ptr <b>then</b>
-         <A HREF="terminal_interface-curses-aux__adb.htm#ref_75_7">Len</A> := Natural (Strlen (<A HREF="terminal_interface-curses-aux__ads.htm#ref_97_26">Cp</A>));
-         <b>if</b> <A HREF="terminal_interface-curses-aux__adb.htm#ref_75_7">Len</A> = 0 <b>then</b>
+      <b>if</b> <a href="terminal_interface-curses-aux__ads.htm#ref_96_26">Cp</a> /= Null_Ptr <b>then</b>
+         <a href="terminal_interface-curses-aux__adb.htm#ref_76_7">Len</a> := Natural (Strlen (<a href="terminal_interface-curses-aux__ads.htm#ref_96_26">Cp</a>));
+         <b>if</b> <a href="terminal_interface-curses-aux__adb.htm#ref_76_7">Len</a> = 0 <b>then</b>
             <b>return</b> "";
          <b>else</b>
             <b>declare</b>
-               <span class="symbol"><A NAME="ref_83_16">S</A></span> : String (1 .. <A HREF="terminal_interface-curses-aux__adb.htm#ref_75_7">Len</A>);
+               <span class="symbol"><a name="ref_84_16">S</a></span> : String (1 .. <a href="terminal_interface-curses-aux__adb.htm#ref_76_7">Len</a>);
             <b>begin</b>
-               <A HREF="terminal_interface-curses-aux__ads.htm#ref_92_14">Fill_String</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_97_26">Cp</A>, <A HREF="terminal_interface-curses-aux__adb.htm#ref_83_16">S</A>);
-               <b>return</b> <A HREF="terminal_interface-curses-aux__adb.htm#ref_83_16">S</A>;
+               <a href="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_96_26">Cp</a>, <a href="terminal_interface-curses-aux__adb.htm#ref_84_16">S</a>);
+               <b>return</b> <a href="terminal_interface-curses-aux__adb.htm#ref_84_16">S</a>;
             <b>end</b>;
          <b>end</b> <b>if</b>;
       <b>else</b>
          <b>return</b> "";
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_97_13">Fill_String</A>;
+   <b>end</b> <a href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_94_14" HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A></span> (<span class="symbol"><A NAME="ref_94_29" HREF="terminal_interface-curses-aux__ads.htm#ref_88_29">Code</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_95_14" href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a></span> (<span class="symbol"><a name="ref_95_29" href="terminal_interface-curses-aux__ads.htm#ref_87_29">Code</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>)
    <b>is</b>
    <b>begin</b>
-      <b>case</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_29">Code</A> <b>is</b>
-         <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_7">E_Ok</A>              =&gt; <b>null</b>;
-         <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_85_7">E_System_Error</A>    =&gt; <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_527_4">Eti_System_Error</A>;
-         <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_84_7">E_Bad_Argument</A>    =&gt; <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_528_4">Eti_Bad_Argument</A>;
-         <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_83_7">E_Posted</A>          =&gt; <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_529_4">Eti_Posted</A>;
-         <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_82_7">E_Connected</A>       =&gt; <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_530_4">Eti_Connected</A>;
-         <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_81_7">E_Bad_State</A>       =&gt; <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_531_4">Eti_Bad_State</A>;
-         <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_7">E_No_Room</A>         =&gt; <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_532_4">Eti_No_Room</A>;
-         <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_79_7">E_Not_Posted</A>      =&gt; <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_533_4">Eti_Not_Posted</A>;
-         <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_7">E_Unknown_Command</A> =&gt; <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_534_4">Eti_Unknown_Command</A>;
-         <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_77_7">E_No_Match</A>        =&gt; <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_535_4">Eti_No_Match</A>;
-         <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_76_7">E_Not_Selectable</A>  =&gt; <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_536_4">Eti_Not_Selectable</A>;
-         <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_75_7">E_Not_Connected</A>   =&gt; <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_537_4">Eti_Not_Connected</A>;
-         <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_74_7">E_Request_Denied</A>  =&gt; <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_538_4">Eti_Request_Denied</A>;
-         <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_73_7">E_Invalid_Field</A>   =&gt; <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_539_4">Eti_Invalid_Field</A>;
-         <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_7">E_Current</A>         =&gt; <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_540_4">Eti_Current</A>;
+      <b>case</b> <a href="terminal_interface-curses-aux__ads.htm#ref_87_29">Code</a> <b>is</b>
+         <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_85_7">E_Ok</a>              =&gt; <b>null</b>;
+         <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_84_7">E_System_Error</a>    =&gt; <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_528_4">Eti_System_Error</a>;
+         <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_83_7">E_Bad_Argument</a>    =&gt; <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_529_4">Eti_Bad_Argument</a>;
+         <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_82_7">E_Posted</a>          =&gt; <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_530_4">Eti_Posted</a>;
+         <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_81_7">E_Connected</a>       =&gt; <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_531_4">Eti_Connected</a>;
+         <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_80_7">E_Bad_State</a>       =&gt; <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_532_4">Eti_Bad_State</a>;
+         <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_79_7">E_No_Room</a>         =&gt; <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_533_4">Eti_No_Room</a>;
+         <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_78_7">E_Not_Posted</a>      =&gt; <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_534_4">Eti_Not_Posted</a>;
+         <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_77_7">E_Unknown_Command</a> =&gt; <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_535_4">Eti_Unknown_Command</a>;
+         <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_76_7">E_No_Match</a>        =&gt; <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_536_4">Eti_No_Match</a>;
+         <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_75_7">E_Not_Selectable</a>  =&gt; <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_537_4">Eti_Not_Selectable</a>;
+         <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_74_7">E_Not_Connected</a>   =&gt; <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_538_4">Eti_Not_Connected</a>;
+         <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_73_7">E_Request_Denied</a>  =&gt; <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_539_4">Eti_Request_Denied</a>;
+         <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_72_7">E_Invalid_Field</a>   =&gt; <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_540_4">Eti_Invalid_Field</a>;
+         <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_71_7">E_Current</a>         =&gt; <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_541_4">Eti_Current</a>;
       <b>end</b> <b>case</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A>;
+   <b>end</b> <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a>;
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-aux__ads.htm b/doc/html/ada/terminal_interface-curses-aux__ads.htm
index 391ab73..b539719 100644
--- a/doc/html/ada/terminal_interface-curses-aux__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-aux__ads.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-aux.ads</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-aux.ads</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,127 +11,126 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-aux.ads </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                       Terminal_Interface.Curses.Aux                      --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 S P E C                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2011,2014 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.23 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-aux.ads </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                       Terminal_Interface.Curses.Aux                      --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 S P E C                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2018,2020 Thomas E. Dickey                                     --</em></span>
+<span class="comment"><em>-- Copyright 1998-2011,2014 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.25 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
 <b>with</b> System;
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C;
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings; <b>use</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings;
+<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C;
+<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings; <b>use</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings;
 
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<span class="symbol"><A NAME="ref_45_35" HREF="terminal_interface-curses-aux__adb.htm#ref_41_40">Aux</A></span> <b>is</b>
-   <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>);
+<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<span class="symbol"><a name="ref_46_35" href="terminal_interface-curses-aux__adb.htm#ref_42_40">Aux</a></span> <b>is</b>
+   <b>pragma</b> Preelaborate (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>);
 
-   <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.int;
+   <b>subtype</b> <span class="symbol"><a name="ref_49_12">C_Int</a></span>      <b>is</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.int;
+   <b>subtype</b> <span class="symbol"><a name="ref_50_12">C_Short</a></span>    <b>is</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.short;
+   <b>subtype</b> <span class="symbol"><a name="ref_51_12">C_Long_Int</a></span> <b>is</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.long;
+   <b>subtype</b> <span class="symbol"><a name="ref_52_12">C_Size_T</a></span>   <b>is</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.size_t;
+   <b>subtype</b> <span class="symbol"><a name="ref_53_12">C_UInt</a></span>     <b>is</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.unsigned;
+   <b>subtype</b> <span class="symbol"><a name="ref_54_12">C_ULong</a></span>    <b>is</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.unsigned_long;
+   <b>subtype</b> <span class="symbol"><a name="ref_55_12">C_Char_Ptr</a></span> <b>is</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings.chars_ptr;
+   <b>type</b>    <span class="symbol"><a name="ref_56_12">C_Void_Ptr</a></span> <b>is</b> <b>new</b> System.Address;
 
-   <b>subtype</b> <span class="symbol"><A NAME="ref_50_12">C_Int</A></span>      <b>is</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.int;
-   <b>subtype</b> <span class="symbol"><A NAME="ref_51_12">C_Short</A></span>    <b>is</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.short;
-   <b>subtype</b> <span class="symbol"><A NAME="ref_52_12">C_Long_Int</A></span> <b>is</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.long;
-   <b>subtype</b> <span class="symbol"><A NAME="ref_53_12">C_Size_T</A></span>   <b>is</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.size_t;
-   <b>subtype</b> <span class="symbol"><A NAME="ref_54_12">C_UInt</A></span>     <b>is</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.unsigned;
-   <b>subtype</b> <span class="symbol"><A NAME="ref_55_12">C_ULong</A></span>    <b>is</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.unsigned_long;
-   <b>subtype</b> <span class="symbol"><A NAME="ref_56_12">C_Char_Ptr</A></span> <b>is</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings.chars_ptr;
-   <b>type</b>    <span class="symbol"><A NAME="ref_57_12">C_Void_Ptr</A></span> <b>is</b> <b>new</b> System.Address;
+   <span class="comment"><em>--  This is how those constants are defined in ncurses. I see them also</em></span>
+   <span class="comment"><em>--  exactly like this in all ETI implementations I ever tested. So it</em></span>
+   <span class="comment"><em>--  could be that this is quite general, but please check with your curses.</em></span>
+   <span class="comment"><em>--  This is critical, because curses sometime mixes Boolean returns with</em></span>
+   <span class="comment"><em>--  returning an error status.</em></span>
+   <span class="symbol"><a name="ref_63_4">Curses_Ok</a></span>    : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_12_4">OK</a>;
+   <span class="symbol"><a name="ref_64_4">Curses_Err</a></span>   : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_13_4">ERR</a>;
 
-   <span class="comment"><EM>--  This is how those constants are defined in ncurses. I see them also</EM></span>
-   <span class="comment"><EM>--  exactly like this in all ETI implementations I ever tested. So it</EM></span>
-   <span class="comment"><EM>--  could be that this is quite general, but please check with your curses.</EM></span>
-   <span class="comment"><EM>--  This is critical, because curses sometime mixes Boolean returns with</EM></span>
-   <span class="comment"><EM>--  returning an error status.</EM></span>
-   <span class="symbol"><A NAME="ref_64_4">Curses_Ok</A></span>    : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_12_4">OK</A>;
-   <span class="symbol"><A NAME="ref_65_4">Curses_Err</A></span>   : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_13_4">ERR</A>;
+   <span class="symbol"><a name="ref_66_4">Curses_True</a></span>  : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_15_4">TRUE</a>;
+   <span class="symbol"><a name="ref_67_4">Curses_False</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_16_4">FALSE</a>;
 
-   <span class="symbol"><A NAME="ref_67_4">Curses_True</A></span>  : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_15_4">TRUE</A>;
-   <span class="symbol"><A NAME="ref_68_4">Curses_False</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_16_4">FALSE</A>;
+   <span class="comment"><em>--  Eti_Error: type for error codes returned by the menu and form subsystem</em></span>
+   <b>type</b> <span class="symbol"><a name="ref_70_9" href="terminal_interface-curses-aux__ads.htm#ref_46_35">Eti_Error</a></span> <b>is</b>
+     (<span class="symbol"><a name="ref_71_7">E_Current</a></span>,
+      <span class="symbol"><a name="ref_72_7">E_Invalid_Field</a></span>,
+      <span class="symbol"><a name="ref_73_7">E_Request_Denied</a></span>,
+      <span class="symbol"><a name="ref_74_7">E_Not_Connected</a></span>,
+      <span class="symbol"><a name="ref_75_7">E_Not_Selectable</a></span>,
+      <span class="symbol"><a name="ref_76_7">E_No_Match</a></span>,
+      <span class="symbol"><a name="ref_77_7">E_Unknown_Command</a></span>,
+      <span class="symbol"><a name="ref_78_7">E_Not_Posted</a></span>,
+      <span class="symbol"><a name="ref_79_7">E_No_Room</a></span>,
+      <span class="symbol"><a name="ref_80_7">E_Bad_State</a></span>,
+      <span class="symbol"><a name="ref_81_7">E_Connected</a></span>,
+      <span class="symbol"><a name="ref_82_7">E_Posted</a></span>,
+      <span class="symbol"><a name="ref_83_7">E_Bad_Argument</a></span>,
+      <span class="symbol"><a name="ref_84_7">E_System_Error</a></span>,
+      <span class="symbol"><a name="ref_85_7">E_Ok</a></span>);
 
-   <span class="comment"><EM>--  Eti_Error: type for error codes returned by the menu and form subsystem</EM></span>
-   <b>type</b> <span class="symbol"><A NAME="ref_71_9">Eti_Error</A></span> <b>is</b>
-     (<span class="symbol"><A NAME="ref_72_7">E_Current</A></span>,
-      <span class="symbol"><A NAME="ref_73_7">E_Invalid_Field</A></span>,
-      <span class="symbol"><A NAME="ref_74_7">E_Request_Denied</A></span>,
-      <span class="symbol"><A NAME="ref_75_7">E_Not_Connected</A></span>,
-      <span class="symbol"><A NAME="ref_76_7">E_Not_Selectable</A></span>,
-      <span class="symbol"><A NAME="ref_77_7">E_No_Match</A></span>,
-      <span class="symbol"><A NAME="ref_78_7">E_Unknown_Command</A></span>,
-      <span class="symbol"><A NAME="ref_79_7">E_Not_Posted</A></span>,
-      <span class="symbol"><A NAME="ref_80_7">E_No_Room</A></span>,
-      <span class="symbol"><A NAME="ref_81_7">E_Bad_State</A></span>,
-      <span class="symbol"><A NAME="ref_82_7">E_Connected</A></span>,
-      <span class="symbol"><A NAME="ref_83_7">E_Posted</A></span>,
-      <span class="symbol"><A NAME="ref_84_7">E_Bad_Argument</A></span>,
-      <span class="symbol"><A NAME="ref_85_7">E_System_Error</A></span>,
-      <span class="symbol"><A NAME="ref_86_7">E_Ok</A></span>);
+   <b>procedure</b> <span class="symbol"><a name="ref_87_14" href="terminal_interface-curses-aux__adb.htm#ref_95_14">Eti_Exception</a></span> (<span class="symbol"><a name="ref_87_29" href="terminal_interface-curses-aux__adb.htm#ref_95_29">Code</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>);
+   <span class="comment"><em>--  Do nothing if Code = E_Ok.</em></span>
+   <span class="comment"><em>--  Else dispatch the error code and raise the appropriate exception.</em></span>
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_88_14" HREF="terminal_interface-curses-aux__adb.htm#ref_94_14">Eti_Exception</A></span> (<span class="symbol"><A NAME="ref_88_29" HREF="terminal_interface-curses-aux__adb.htm#ref_94_29">Code</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>);
-   <span class="comment"><EM>--  Do nothing if Code = E_Ok.</EM></span>
-   <span class="comment"><EM>--  Else dispatch the error code and raise the appropriate exception.</EM></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_91_14" href="terminal_interface-curses-aux__adb.htm#ref_45_14">Fill_String</a></span> (<span class="symbol"><a name="ref_91_27" href="terminal_interface-curses-aux__adb.htm#ref_45_27">Cp</a></span>  : chars_ptr;
+                          <span class="symbol"><a name="ref_92_27" href="terminal_interface-curses-aux__adb.htm#ref_46_27">Str</a></span> : <b>out</b> String);
+   <span class="comment"><em>--  Fill the Str parameter with the string denoted by the chars_ptr</em></span>
+   <span class="comment"><em>--  C-Style string.</em></span>
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_92_14" HREF="terminal_interface-curses-aux__adb.htm#ref_44_14">Fill_String</A></span> (<span class="symbol"><A NAME="ref_92_27" HREF="terminal_interface-curses-aux__adb.htm#ref_44_27">Cp</A></span>  : chars_ptr;
-                          <span class="symbol"><A NAME="ref_93_27" HREF="terminal_interface-curses-aux__adb.htm#ref_45_27">Str</A></span> : <b>out</b> String);
-   <span class="comment"><EM>--  Fill the Str parameter with the string denoted by the chars_ptr</EM></span>
-   <span class="comment"><EM>--  C-Style string.</EM></span>
-
-   <b>function</b> <span class="symbol"><A NAME="ref_97_13" HREF="terminal_interface-curses-aux__adb.htm#ref_73_13">Fill_String</A></span> (<span class="symbol"><A NAME="ref_97_26" HREF="terminal_interface-curses-aux__adb.htm#ref_73_26">Cp</A></span> : chars_ptr) <b>return</b> String;
-   <span class="comment"><EM>--  Same but as function.</EM></span>
+   <b>function</b> <span class="symbol"><a name="ref_96_13" href="terminal_interface-curses-aux__adb.htm#ref_74_13">Fill_String</a></span> (<span class="symbol"><a name="ref_96_26" href="terminal_interface-curses-aux__adb.htm#ref_74_26">Cp</a></span> : chars_ptr) <b>return</b> String;
+   <span class="comment"><em>--  Same but as function.</em></span>
 
 <b>private</b>
-   <b>for</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>'Size <b>use</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>'Size;
-   <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>);
-   <b>for</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A> <b>use</b>
-     (<A HREF="terminal_interface-curses-aux__ads.htm#ref_72_7">E_Current</A>         =&gt; <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_94_4">E_CURRENT</A>,
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_73_7">E_Invalid_Field</A>   =&gt; <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_93_4">E_INVALID_FIELD</A>,
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_74_7">E_Request_Denied</A>  =&gt; <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_92_4">E_REQUEST_DENIED</A>,
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_75_7">E_Not_Connected</A>   =&gt; <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_91_4">E_NOT_CONNECTED</A>,
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_76_7">E_Not_Selectable</A>  =&gt; <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_90_4">E_NOT_SELECTABLE</A>,
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_77_7">E_No_Match</A>        =&gt; <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_89_4">E_NO_MATCH</A>,
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_7">E_Unknown_Command</A> =&gt; <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_88_4">E_UNKNOWN_COMMAND</A>,
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_79_7">E_Not_Posted</A>      =&gt; <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_87_4">E_NOT_POSTED</A>,
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_7">E_No_Room</A>         =&gt; <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_86_4">E_NO_ROOM</A>,
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_81_7">E_Bad_State</A>       =&gt; <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_85_4">E_BAD_STATE</A>,
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_82_7">E_Connected</A>       =&gt; <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_84_4">E_CONNECTED</A>,
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_83_7">E_Posted</A>          =&gt; <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_83_4">E_POSTED</A>,
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_84_7">E_Bad_Argument</A>    =&gt; <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_82_4">E_BAD_ARGUMENT</A>,
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_85_7">E_System_Error</A>    =&gt; <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_81_4">E_SYSTEM_ERROR</A>,
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_7">E_Ok</A>              =&gt; <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_80_4">E_OK</A>);
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
-</PRE></BODY></HTML>
+   <b>for</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>'Size <b>use</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>'Size;
+   <b>pragma</b> Convention (C, <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>);
+   <b>for</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a> <b>use</b>
+     (<a href="terminal_interface-curses-aux__ads.htm#ref_71_7">E_Current</a>         =&gt; <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_94_4">E_CURRENT</a>,
+      <a href="terminal_interface-curses-aux__ads.htm#ref_72_7">E_Invalid_Field</a>   =&gt; <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_93_4">E_INVALID_FIELD</a>,
+      <a href="terminal_interface-curses-aux__ads.htm#ref_73_7">E_Request_Denied</a>  =&gt; <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_92_4">E_REQUEST_DENIED</a>,
+      <a href="terminal_interface-curses-aux__ads.htm#ref_74_7">E_Not_Connected</a>   =&gt; <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_91_4">E_NOT_CONNECTED</a>,
+      <a href="terminal_interface-curses-aux__ads.htm#ref_75_7">E_Not_Selectable</a>  =&gt; <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_90_4">E_NOT_SELECTABLE</a>,
+      <a href="terminal_interface-curses-aux__ads.htm#ref_76_7">E_No_Match</a>        =&gt; <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_89_4">E_NO_MATCH</a>,
+      <a href="terminal_interface-curses-aux__ads.htm#ref_77_7">E_Unknown_Command</a> =&gt; <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_88_4">E_UNKNOWN_COMMAND</a>,
+      <a href="terminal_interface-curses-aux__ads.htm#ref_78_7">E_Not_Posted</a>      =&gt; <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_87_4">E_NOT_POSTED</a>,
+      <a href="terminal_interface-curses-aux__ads.htm#ref_79_7">E_No_Room</a>         =&gt; <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_86_4">E_NO_ROOM</a>,
+      <a href="terminal_interface-curses-aux__ads.htm#ref_80_7">E_Bad_State</a>       =&gt; <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_85_4">E_BAD_STATE</a>,
+      <a href="terminal_interface-curses-aux__ads.htm#ref_81_7">E_Connected</a>       =&gt; <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_84_4">E_CONNECTED</a>,
+      <a href="terminal_interface-curses-aux__ads.htm#ref_82_7">E_Posted</a>          =&gt; <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_83_4">E_POSTED</a>,
+      <a href="terminal_interface-curses-aux__ads.htm#ref_83_7">E_Bad_Argument</a>    =&gt; <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_82_4">E_BAD_ARGUMENT</a>,
+      <a href="terminal_interface-curses-aux__ads.htm#ref_84_7">E_System_Error</a>    =&gt; <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_81_4">E_SYSTEM_ERROR</a>,
+      <a href="terminal_interface-curses-aux__ads.htm#ref_85_7">E_Ok</a>              =&gt; <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_80_4">E_OK</a>);
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-alpha__adb.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-alpha__adb.htm
index eb94006..6c51ab7 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_types-alpha__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-alpha__adb.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-forms-field_types-alpha.adb</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-forms-field_types-alpha.adb</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,66 +11,67 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_types-alpha.adb </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--              Terminal_Interface.Curses.Forms.Field_Types.Alpha           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 B O D Y                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2011,2014 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.13 @</EM></span>
-<span class="comment"><EM>--  @Date: 2014/05/24 21:31:05 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_types-alpha.adb </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--              Terminal_Interface.Curses.Forms.Field_Types.Alpha           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 B O D Y                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1999-2011,2014 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.14 @</em></span>
+<span class="comment"><em>--  @Date: 2020/02/02 23:34:34 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; <b>use</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>;
 
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<span class="symbol"><A NAME="ref_44_58" HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_41_53">Alpha</A></span> <b>is</b>
+<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<span class="symbol"><a name="ref_45_58" href="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_42_53">Alpha</a></span> <b>is</b>
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_46_14" HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_49_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_46_30" HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_49_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                             <span class="symbol"><A NAME="ref_47_30" HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_50_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_44_9">Alpha_Field</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_47_14" href="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_50_14">Set_Field_Type</a></span> (<span class="symbol"><a name="ref_47_30" href="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_50_30">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                             <span class="symbol"><a name="ref_48_30" href="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_51_30">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_45_9">Alpha_Field</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_49_16">Set_Fld_Type</A></span> (<span class="symbol"><A NAME="ref_49_30" HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_49_16">F</A></span>    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_49_30">Fld</A>;
-                             <span class="symbol"><A NAME="ref_50_30" HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_49_16">Arg1</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_50_16">Set_Fld_Type</a></span> (<span class="symbol"><a name="ref_50_30">F</a></span>    : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> := <a href="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_50_30">Fld</a>;
+                             <span class="symbol"><a name="ref_51_30">Arg1</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Fld_Type, "set_field_type_alpha");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_49_16">Set_Fld_Type</A> (<A HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_50_30">Arg1</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</A> (<A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_50_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_46_9">Minimum_Field_Width</A>)));
-      <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_152_14">Wrap_Builtin</A> (<A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_49_30">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_50_30">Typ</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_49_14">Set_Field_Type</A>;
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_50_16">Set_Fld_Type</a> (<a href="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_51_30">Arg1</a> =&gt; <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</a> (<a href="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_51_30">Typ</a>.<a href="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_47_9">Minimum_Field_Width</a>)));
+      <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_152_14">Wrap_Builtin</a> (<a href="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_50_30">Fld</a>, <a href="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_51_30">Typ</a>);
+   <b>end</b> <a href="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_50_14">Set_Field_Type</a>;
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_41_53">Alpha</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_42_53">Alpha</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-alpha__ads.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-alpha__ads.htm
index ab3427a..88ad718 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_types-alpha__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-alpha__ads.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-forms-field_types-alpha.ads</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-forms-field_types-alpha.ads</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,61 +11,62 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_types-alpha.ads </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--              Terminal_Interface.Curses.Forms.Field_Types.Alpha           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 S P E C                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2003,2009 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.12 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<span class="symbol"><A NAME="ref_41_53" HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_44_58">Alpha</A></span> <b>is</b>
-   <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_41_53">Alpha</A>);
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_types-alpha.ads </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--              Terminal_Interface.Curses.Forms.Field_Types.Alpha           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 S P E C                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.13 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<span class="symbol"><a name="ref_42_53" href="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_45_58">Alpha</a></span> <b>is</b>
+   <b>pragma</b> Preelaborate (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_42_53">Alpha</a>);
 
-   <b>type</b> <span class="symbol"><A NAME="ref_44_9">Alpha_Field</A></span> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</A>
+   <b>type</b> <span class="symbol"><a name="ref_45_9">Alpha_Field</a></span> <b>is</b> <b>new</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</a>
      <b>with</b> <b>record</b>
-        <span class="symbol"><A NAME="ref_46_9">Minimum_Field_Width</A></span> : Natural := 0;
+        <span class="symbol"><a name="ref_47_9">Minimum_Field_Width</a></span> : Natural := 0;
      <b>end</b> <b>record</b>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_49_14" HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_46_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_49_30" HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_46_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                             <span class="symbol"><A NAME="ref_50_30" HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_47_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_44_9">Alpha_Field</A>);
+   <b>procedure</b> <span class="symbol"><a name="ref_50_14" href="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_47_14">Set_Field_Type</a></span> (<span class="symbol"><a name="ref_50_30" href="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_47_30">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                             <span class="symbol"><a name="ref_51_30" href="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_48_30">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_45_9">Alpha_Field</a>);
    <b>pragma</b> Inline (Set_Field_Type);
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_41_53">Alpha</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_42_53">Alpha</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-alphanumeric__adb.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-alphanumeric__adb.htm
index 15b4553..7e759e6 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_types-alphanumeric__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-alphanumeric__adb.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-forms-field_types-alphanumeric.adb</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-forms-field_types-alphanumeric.adb</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,66 +11,67 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_types-alphanumeric.adb </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--          Terminal_Interface.Curses.Forms.Field_Types.AlphaNumeric        --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 B O D Y                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2011,2014 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.13 @</EM></span>
-<span class="comment"><EM>--  @Date: 2014/05/24 21:31:05 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_types-alphanumeric.adb </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--          Terminal_Interface.Curses.Forms.Field_Types.AlphaNumeric        --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 B O D Y                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1999-2011,2014 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.14 @</em></span>
+<span class="comment"><em>--  @Date: 2020/02/02 23:34:34 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; <b>use</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>;
 
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<span class="symbol"><A NAME="ref_44_58" HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_41_53">AlphaNumeric</A></span> <b>is</b>
+<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<span class="symbol"><a name="ref_45_58" href="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_42_53">AlphaNumeric</a></span> <b>is</b>
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_46_14" HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_50_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_46_30" HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_50_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                             <span class="symbol"><A NAME="ref_47_30" HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_51_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_45_9">AlphaNumeric_Field</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_47_14" href="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_51_14">Set_Field_Type</a></span> (<span class="symbol"><a name="ref_47_30" href="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_51_30">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                             <span class="symbol"><a name="ref_48_30" href="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_52_30">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_46_9">AlphaNumeric_Field</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_49_16">Set_Fld_Type</A></span> (<span class="symbol"><A NAME="ref_49_30" HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_49_16">F</A></span>    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_50_30">Fld</A>;
-                             <span class="symbol"><A NAME="ref_50_30" HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_49_16">Arg1</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_50_16">Set_Fld_Type</a></span> (<span class="symbol"><a name="ref_50_30">F</a></span>    : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> := <a href="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_51_30">Fld</a>;
+                             <span class="symbol"><a name="ref_51_30">Arg1</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Fld_Type, "set_field_type_alnum");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_49_16">Set_Fld_Type</A> (<A HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_50_30">Arg1</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</A> (<A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_51_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_47_9">Minimum_Field_Width</A>)));
-      <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_152_14">Wrap_Builtin</A> (<A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_50_30">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_51_30">Typ</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_50_14">Set_Field_Type</A>;
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_50_16">Set_Fld_Type</a> (<a href="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_51_30">Arg1</a> =&gt; <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</a> (<a href="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_52_30">Typ</a>.<a href="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_48_9">Minimum_Field_Width</a>)));
+      <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_152_14">Wrap_Builtin</a> (<a href="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_51_30">Fld</a>, <a href="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_52_30">Typ</a>);
+   <b>end</b> <a href="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_51_14">Set_Field_Type</a>;
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_41_53">AlphaNumeric</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_42_53">AlphaNumeric</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-alphanumeric__ads.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-alphanumeric__ads.htm
index ea08cd2..73cdb40 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_types-alphanumeric__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-alphanumeric__ads.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-forms-field_types-alphanumeric.ads</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-forms-field_types-alphanumeric.ads</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,62 +11,63 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_types-alphanumeric.ads </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--          Terminal_Interface.Curses.Forms.Field_Types.AlphaNumeric        --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 S P E C                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2003,2009 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.12 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<span class="symbol"><A NAME="ref_41_53" HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_44_58">AlphaNumeric</A></span> <b>is</b>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_types-alphanumeric.ads </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--          Terminal_Interface.Curses.Forms.Field_Types.AlphaNumeric        --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 S P E C                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.13 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<span class="symbol"><a name="ref_42_53" href="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_45_58">AlphaNumeric</a></span> <b>is</b>
    <b>pragma</b> Preelaborate
-     (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_41_53">AlphaNumeric</A>);
+     (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_42_53">AlphaNumeric</a>);
 
-   <b>type</b> <span class="symbol"><A NAME="ref_45_9">AlphaNumeric_Field</A></span> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</A>
+   <b>type</b> <span class="symbol"><a name="ref_46_9">AlphaNumeric_Field</a></span> <b>is</b> <b>new</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</a>
      <b>with</b> <b>record</b>
-        <span class="symbol"><A NAME="ref_47_9">Minimum_Field_Width</A></span> : Natural := 0;
+        <span class="symbol"><a name="ref_48_9">Minimum_Field_Width</a></span> : Natural := 0;
      <b>end</b> <b>record</b>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_50_14" HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_46_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_50_30" HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_46_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                             <span class="symbol"><A NAME="ref_51_30" HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_47_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_45_9">AlphaNumeric_Field</A>);
+   <b>procedure</b> <span class="symbol"><a name="ref_51_14" href="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_47_14">Set_Field_Type</a></span> (<span class="symbol"><a name="ref_51_30" href="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_47_30">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                             <span class="symbol"><a name="ref_52_30" href="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_48_30">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_46_9">AlphaNumeric_Field</a>);
    <b>pragma</b> Inline (Set_Field_Type);
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_41_53">AlphaNumeric</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_42_53">AlphaNumeric</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm
index 346bc74..acd1729 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-forms-field_types-enumeration-ada.adb</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-forms-field_types-enumeration-ada.adb</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,89 +11,90 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_types-enumeration-ada.adb </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--         Terminal_Interface.Curses.Forms.Field_Types.Enumeration.Ada      --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 B O D Y                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2004,2011 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.11 @</EM></span>
-<span class="comment"><EM>--  @Date: 2011/03/22 23:36:20 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_types-enumeration-ada.adb </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--         Terminal_Interface.Curses.Forms.Field_Types.Enumeration.Ada      --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 B O D Y                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1999-2004,2011 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.12 @</em></span>
+<span class="comment"><em>--  @Date: 2020/02/02 23:34:34 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
 <b>with</b> Ada.Characters.Handling; <b>use</b> Ada.Characters.Handling;
 
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_43_53">Enumeration</A>.<span class="symbol"><A NAME="ref_44_70" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_44_65">Ada</A></span> <b>is</b>
+<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_44_53">Enumeration</a>.<span class="symbol"><a name="ref_45_70" href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_45_65">Ada</a></span> <b>is</b>
 
-   <b>function</b> <span class="symbol"><A NAME="ref_46_13" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_48_13">Create</A></span> (<span class="symbol"><A NAME="ref_46_21" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_48_21">Set</A></span>            : <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_50_9">Type_Set</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_50_46">Mixed_Case</A>;
-                    <span class="symbol"><A NAME="ref_47_21" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_49_21">Case_Sensitive</A></span> : Boolean  := False;
-                    <span class="symbol"><A NAME="ref_48_21" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_50_21">Must_Be_Unique</A></span> : Boolean  := False)
-                    <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_62_9">Enumeration_Field</A>
+   <b>function</b> <span class="symbol"><a name="ref_47_13" href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_49_13">Create</a></span> (<span class="symbol"><a name="ref_47_21" href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_49_21">Set</a></span>            : <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_51_9">Type_Set</a> := <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_51_46">Mixed_Case</a>;
+                    <span class="symbol"><a name="ref_48_21" href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_50_21">Case_Sensitive</a></span> : Boolean  := False;
+                    <span class="symbol"><a name="ref_49_21" href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_51_21">Must_Be_Unique</a></span> : Boolean  := False)
+                    <b>return</b> <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_63_9">Enumeration_Field</a>
    <b>is</b>
-      <span class="symbol"><A NAME="ref_51_7">I</A></span> : <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_55_9">Enumeration_Info</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_42_9">T</A>'Pos (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_42_9">T</A>'Last) - <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_42_9">T</A>'Pos (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_42_9">T</A>'First) + 1);
-      <span class="symbol"><A NAME="ref_52_7">J</A></span> : Positive := 1;
+      <span class="symbol"><a name="ref_52_7">I</a></span> : <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_56_9">Enumeration_Info</a> (<a href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_43_9">T</a>'Pos (<a href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_43_9">T</a>'Last) - <a href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_43_9">T</a>'Pos (<a href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_43_9">T</a>'First) + 1);
+      <span class="symbol"><a name="ref_53_7">J</a></span> : Positive := 1;
    <b>begin</b>
-      <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_51_7">I</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_58_10">Case_Sensitive</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_49_21">Case_Sensitive</A>;
-      <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_51_7">I</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_59_10">Match_Must_Be_Unique</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_50_21">Must_Be_Unique</A>;
+      <a href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">I</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_58_10">Case_Sensitive</a> := <a href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_50_21">Case_Sensitive</a>;
+      <a href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">I</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_59_10">Match_Must_Be_Unique</a> := <a href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_51_21">Must_Be_Unique</a>;
 
-      <b>for</b> <span class="symbol"><A NAME="ref_57_11">E</A></span> <b>in</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_42_9">T</A>'<b>Range</b> <b>loop</b>
-         <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_51_7">I</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_57_10">Names</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">J</A>) := <b>new</b> String'(<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_42_9">T</A>'Image (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_57_11">E</A>));
-         <span class="comment"><EM>--  The Image attribute defaults to upper case, so we have to handle</EM></span>
-         <span class="comment"><EM>--  only the other ones...</EM></span>
-         <b>if</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_48_21">Set</A> /= <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_50_34">Upper_Case</A> <b>then</b>
-            <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_51_7">I</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_57_10">Names</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">J</A>).<b>all</b> := To_Lower (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_51_7">I</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_57_10">Names</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">J</A>).<b>all</b>);
-            <b>if</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_48_21">Set</A> = <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_50_46">Mixed_Case</A> <b>then</b>
-               <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_51_7">I</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_57_10">Names</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">J</A>).<b>all</b> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_51_7">I</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_57_10">Names</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">J</A>).<b>all</b>'First) :=
-                 To_Upper (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_51_7">I</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_57_10">Names</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">J</A>).<b>all</b> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_51_7">I</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_57_10">Names</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">J</A>).<b>all</b>'First));
+      <b>for</b> <span class="symbol"><a name="ref_58_11">E</a></span> <b>in</b> <a href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_43_9">T</a>'<b>Range</b> <b>loop</b>
+         <a href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">I</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_60_10">Names</a> (<a href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_53_7">J</a>) := <b>new</b> String'(<a href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_43_9">T</a>'Image (<a href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_58_11">E</a>));
+         <span class="comment"><em>--  The Image attribute defaults to upper case, so we have to handle</em></span>
+         <span class="comment"><em>--  only the other ones...</em></span>
+         <b>if</b> <a href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_49_21">Set</a> /= <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_51_34">Upper_Case</a> <b>then</b>
+            <a href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">I</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_60_10">Names</a> (<a href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_53_7">J</a>).<b>all</b> := To_Lower (<a href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">I</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_60_10">Names</a> (<a href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_53_7">J</a>).<b>all</b>);
+            <b>if</b> <a href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_49_21">Set</a> = <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_51_46">Mixed_Case</a> <b>then</b>
+               <a href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">I</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_60_10">Names</a> (<a href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_53_7">J</a>).<b>all</b> (<a href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">I</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_60_10">Names</a> (<a href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_53_7">J</a>).<b>all</b>'First) :=
+                 To_Upper (<a href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">I</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_60_10">Names</a> (<a href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_53_7">J</a>).<b>all</b> (<a href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">I</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_60_10">Names</a> (<a href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_53_7">J</a>).<b>all</b>'First));
             <b>end</b> <b>if</b>;
          <b>end</b> <b>if</b>;
-         <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">J</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">J</A> + 1;
+         <a href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_53_7">J</a> := <a href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_53_7">J</a> + 1;
       <b>end</b> <b>loop</b>;
 
-      <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_64_13">Create</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_51_7">I</A>, True);
-   <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_48_13">Create</A>;
+      <b>return</b> <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_65_13">Create</a> (<a href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">I</a>, True);
+   <b>end</b> <a href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_49_13">Create</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_74_13" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_53_13">Value</A></span> (<span class="symbol"><A NAME="ref_74_20" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_53_20">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                   <span class="symbol"><A NAME="ref_75_20" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_54_20">Buf</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A>'First) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_42_9">T</A>
+   <b>function</b> <span class="symbol"><a name="ref_75_13" href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_54_13">Value</a></span> (<span class="symbol"><a name="ref_75_20" href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_54_20">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                   <span class="symbol"><a name="ref_76_20" href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_55_20">Buf</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a>'First) <b>return</b> <a href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_43_9">T</a>
    <b>is</b>
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_42_9">T</A>'Value (<A HREF="terminal_interface-curses-forms__ads.htm#ref_369_13">Get_Buffer</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_53_20">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_54_20">Buf</A>));
-   <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_53_13">Value</A>;
+      <b>return</b> <a href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_43_9">T</a>'Value (<a href="terminal_interface-curses-forms__ads.htm#ref_370_13">Get_Buffer</a> (<a href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_54_20">Fld</a>, <a href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_55_20">Buf</a>));
+   <b>end</b> <a href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_54_13">Value</a>;
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_43_53">Enumeration</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_44_65">Ada</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_44_53">Enumeration</a>.<a href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_45_65">Ada</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm
index e17faca..9ec8c26 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-forms-field_types-enumeration-ada.ads</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-forms-field_types-enumeration-ada.ads</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,67 +11,68 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_types-enumeration-ada.ads </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--         Terminal_Interface.Curses.Forms.Field_Types.Enumeration.Ada      --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 S P E C                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998 Free Software Foundation, Inc.                        --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.10 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_types-enumeration-ada.ads </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--         Terminal_Interface.Curses.Forms.Field_Types.Enumeration.Ada      --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 S P E C                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1999-2002,2003 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.12 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
 <b>generic</b>
-   <b>type</b> <span class="symbol"><A NAME="ref_42_9" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_44_65">T</A></span> <b>is</b> (&lt;&gt;);
+   <b>type</b> <span class="symbol"><a name="ref_43_9">T</a></span> <b>is</b> (&lt;&gt;);
 
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_43_53">Enumeration</A>.<span class="symbol"><A NAME="ref_44_65" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_44_70">Ada</A></span> <b>is</b>
+<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_44_53">Enumeration</a>.<span class="symbol"><a name="ref_45_65" href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_45_70">Ada</a></span> <b>is</b>
    <b>pragma</b> Preelaborate
-     (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_43_53">Enumeration</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_44_65">Ada</A>);
+     (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_44_53">Enumeration</a>.<a href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_45_65">Ada</a>);
 
-   <b>function</b> <span class="symbol"><A NAME="ref_48_13" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_46_13">Create</A></span> (<span class="symbol"><A NAME="ref_48_21" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_46_21">Set</A></span>            : <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_50_9">Type_Set</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_50_46">Mixed_Case</A>;
-                    <span class="symbol"><A NAME="ref_49_21" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_47_21">Case_Sensitive</A></span> : Boolean  := False;
-                    <span class="symbol"><A NAME="ref_50_21" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_48_21">Must_Be_Unique</A></span> : Boolean  := False)
-                    <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_62_9">Enumeration_Field</A>;
+   <b>function</b> <span class="symbol"><a name="ref_49_13" href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_47_13">Create</a></span> (<span class="symbol"><a name="ref_49_21" href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_47_21">Set</a></span>            : <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_51_9">Type_Set</a> := <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_51_46">Mixed_Case</a>;
+                    <span class="symbol"><a name="ref_50_21" href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_48_21">Case_Sensitive</a></span> : Boolean  := False;
+                    <span class="symbol"><a name="ref_51_21" href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_49_21">Must_Be_Unique</a></span> : Boolean  := False)
+                    <b>return</b> <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_63_9">Enumeration_Field</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_53_13" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_74_13">Value</A></span> (<span class="symbol"><A NAME="ref_53_20" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_74_20">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                   <span class="symbol"><A NAME="ref_54_20" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_75_20">Buf</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A>'First) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_42_9">T</A>;
-   <span class="comment"><EM>--  Translate the content of the fields buffer - indicated by the</EM></span>
-   <span class="comment"><EM>--  buffer number - into an enumeration value. If the buffer is empty</EM></span>
-   <span class="comment"><EM>--  or the content is invalid, a Constraint_Error is raises.</EM></span>
+   <b>function</b> <span class="symbol"><a name="ref_54_13" href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_75_13">Value</a></span> (<span class="symbol"><a name="ref_54_20" href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_75_20">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                   <span class="symbol"><a name="ref_55_20" href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_76_20">Buf</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a>'First) <b>return</b> <a href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_43_9">T</a>;
+   <span class="comment"><em>--  Translate the content of the fields buffer - indicated by the</em></span>
+   <span class="comment"><em>--  buffer number - into an enumeration value. If the buffer is empty</em></span>
+   <span class="comment"><em>--  or the content is invalid, a Constraint_Error is raises.</em></span>
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_43_53">Enumeration</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_44_65">Ada</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_44_53">Enumeration</a>.<a href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_45_65">Ada</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__adb.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__adb.htm
index e4d75dd..1747221 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__adb.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-forms-field_types-enumeration.adb</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-forms-field_types-enumeration.adb</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,120 +11,121 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_types-enumeration.adb </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--          Terminal_Interface.Curses.Forms.Field_Types.Enumeration         --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 B O D Y                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2011,2014 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.12 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_types-enumeration.adb </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--          Terminal_Interface.Curses.Forms.Field_Types.Enumeration         --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 B O D Y                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1999-2011,2014 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.13 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
 <b>with</b> Ada.Unchecked_Deallocation;
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C; <b>use</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C;
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings; <b>use</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings;
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
+<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C; <b>use</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C;
+<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings; <b>use</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings;
+<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; <b>use</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>;
 
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<span class="symbol"><A NAME="ref_46_58" HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_43_53">Enumeration</A></span> <b>is</b>
+<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<span class="symbol"><a name="ref_47_58" href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_44_53">Enumeration</a></span> <b>is</b>
 
-   <b>function</b> <span class="symbol"><A NAME="ref_48_13" HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_64_13">Create</A></span> (<span class="symbol"><A NAME="ref_48_21" HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_64_21">Info</A></span>               : <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_55_9">Enumeration_Info</A>;
-                    <span class="symbol"><A NAME="ref_49_21" HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_65_21">Auto_Release_Names</A></span> : Boolean := False)
-                    <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_62_9">Enumeration_Field</A>
+   <b>function</b> <span class="symbol"><a name="ref_49_13" href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_65_13">Create</a></span> (<span class="symbol"><a name="ref_49_21" href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_65_21">Info</a></span>               : <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_56_9">Enumeration_Info</a>;
+                    <span class="symbol"><a name="ref_50_21" href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_66_21">Auto_Release_Names</a></span> : Boolean := False)
+                    <b>return</b> <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_63_9">Enumeration_Field</a>
    <b>is</b>
       <b>procedure</b> Release_String <b>is</b>
         <b>new</b> Ada.Unchecked_Deallocation (String,
-                                        <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_47_9">String_Access</A>);
-      <span class="symbol"><A NAME="ref_55_7">E</A></span> : <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_62_9">Enumeration_Field</A>;
-      <span class="symbol"><A NAME="ref_56_7">L</A></span> : <b>constant</b> size_t := 1 + size_t (<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_64_21">Info</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_55_27">C</A>);
-      <span class="symbol"><A NAME="ref_57_7">S</A></span> : <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_47_9">String_Access</A>;
+                                        <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_48_9">String_Access</a>);
+      <span class="symbol"><a name="ref_56_7">E</a></span> : <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_63_9">Enumeration_Field</a>;
+      <span class="symbol"><a name="ref_57_7">L</a></span> : <b>constant</b> size_t := 1 + size_t (<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_65_21">Info</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_56_27">C</a>);
+      <span class="symbol"><a name="ref_58_7">S</a></span> : <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_48_9">String_Access</a>;
    <b>begin</b>
-      <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_55_7">E</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_93_10">Case_Sensitive</A>       := <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_64_21">Info</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_58_10">Case_Sensitive</A>;
-      <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_55_7">E</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_94_10">Match_Must_Be_Unique</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_64_21">Info</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_59_10">Match_Must_Be_Unique</A>;
-      <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_55_7">E</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_95_10">Arr</A> := <b>new</b> chars_ptr_array (size_t (1) .. <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_56_7">L</A>);
-      <b>for</b> <span class="symbol"><A NAME="ref_62_11">I</A></span> <b>in</b> 1 .. Positive (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_56_7">L</A> - 1) <b>loop</b>
-         <b>if</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_64_21">Info</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_57_10">Names</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_62_11">I</A>) = <b>null</b> <b>then</b>
-            <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_287_4">Form_Exception</A>;
+      <a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_56_7">E</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_94_10">Case_Sensitive</a>       := <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_65_21">Info</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_58_10">Case_Sensitive</a>;
+      <a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_56_7">E</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_95_10">Match_Must_Be_Unique</a> := <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_65_21">Info</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_59_10">Match_Must_Be_Unique</a>;
+      <a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_56_7">E</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_96_10">Arr</a> := <b>new</b> chars_ptr_array (size_t (1) .. <a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_57_7">L</a>);
+      <b>for</b> <span class="symbol"><a name="ref_63_11">I</a></span> <b>in</b> 1 .. Positive (<a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_57_7">L</a> - 1) <b>loop</b>
+         <b>if</b> <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_65_21">Info</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_60_10">Names</a> (<a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_63_11">I</a>) = <b>null</b> <b>then</b>
+            <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>;
          <b>end</b> <b>if</b>;
-         <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_55_7">E</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_95_10">Arr</A>.<b>all</b> (size_t (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_62_11">I</A>)) := New_String (<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_64_21">Info</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_57_10">Names</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_62_11">I</A>).<b>all</b>);
-         <b>if</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_65_21">Auto_Release_Names</A> <b>then</b>
-            <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_57_7">S</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_64_21">Info</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_57_10">Names</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_62_11">I</A>);
-            Release_String (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_57_7">S</A>);
+         <a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_56_7">E</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_96_10">Arr</a>.<b>all</b> (size_t (<a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_63_11">I</a>)) := New_String (<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_65_21">Info</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_60_10">Names</a> (<a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_63_11">I</a>).<b>all</b>);
+         <b>if</b> <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_66_21">Auto_Release_Names</a> <b>then</b>
+            <a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_58_7">S</a> := <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_65_21">Info</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_60_10">Names</a> (<a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_63_11">I</a>);
+            Release_String (<a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_58_7">S</a>);
          <b>end</b> <b>if</b>;
       <b>end</b> <b>loop</b>;
-      <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_55_7">E</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_95_10">Arr</A>.<b>all</b> (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_56_7">L</A>) := Null_Ptr;
-      <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_55_7">E</A>;
-   <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_64_13">Create</A>;
+      <a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_56_7">E</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_96_10">Arr</a>.<b>all</b> (<a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_57_7">L</a>) := Null_Ptr;
+      <b>return</b> <a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_56_7">E</a>;
+   <b>end</b> <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_65_13">Create</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_76_14" HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_77_14">Release</A></span> (<span class="symbol"><A NAME="ref_76_23" HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_77_23">Enum</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_62_9">Enumeration_Field</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_77_14" href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_78_14">Release</a></span> (<span class="symbol"><a name="ref_77_23" href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_78_23">Enum</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_63_9">Enumeration_Field</a>)
    <b>is</b>
-      <span class="symbol"><A NAME="ref_78_7">I</A></span> : size_t := 0;
-      <span class="symbol"><A NAME="ref_79_7">P</A></span> : chars_ptr;
+      <span class="symbol"><a name="ref_79_7">I</a></span> : size_t := 0;
+      <span class="symbol"><a name="ref_80_7">P</a></span> : chars_ptr;
    <b>begin</b>
       <b>loop</b>
-         <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_79_7">P</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_77_23">Enum</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_95_10">Arr</A>.<b>all</b> (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_78_7">I</A>);
-         <b>exit</b> <b>when</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_79_7">P</A> = Null_Ptr;
-         Free (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_79_7">P</A>);
-         <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_77_23">Enum</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_95_10">Arr</A>.<b>all</b> (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_78_7">I</A>) := Null_Ptr;
-         <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_78_7">I</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_78_7">I</A> + 1;
+         <a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_80_7">P</a> := <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_78_23">Enum</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_96_10">Arr</a>.<b>all</b> (<a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_79_7">I</a>);
+         <b>exit</b> <b>when</b> <a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_80_7">P</a> = Null_Ptr;
+         Free (<a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_80_7">P</a>);
+         <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_78_23">Enum</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_96_10">Arr</a>.<b>all</b> (<a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_79_7">I</a>) := Null_Ptr;
+         <a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_79_7">I</a> := <a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_79_7">I</a> + 1;
       <b>end</b> <b>loop</b>;
-      <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_77_23">Enum</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_95_10">Arr</A> := <b>null</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_77_14">Release</A>;
+      <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_78_23">Enum</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_96_10">Arr</a> := <b>null</b>;
+   <b>end</b> <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_78_14">Release</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_91_14" HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_84_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_91_30" HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_84_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                             <span class="symbol"><A NAME="ref_92_30" HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_85_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_62_9">Enumeration_Field</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_92_14" href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_85_14">Set_Field_Type</a></span> (<span class="symbol"><a name="ref_92_30" href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_85_30">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                             <span class="symbol"><a name="ref_93_30" href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_86_30">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_63_9">Enumeration_Field</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_94_16">Set_Fld_Type</A></span> (<span class="symbol"><A NAME="ref_94_30" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_94_16">F</A></span>    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_84_30">Fld</A>;
-                             <span class="symbol"><A NAME="ref_95_30" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_94_16">Arg1</A></span> : chars_ptr_array;
-                             <span class="symbol"><A NAME="ref_96_30" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_94_16">Arg2</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</A>;
-                             <span class="symbol"><A NAME="ref_97_30" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_94_16">Arg3</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_95_16">Set_Fld_Type</a></span> (<span class="symbol"><a name="ref_95_30">F</a></span>    : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> := <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_85_30">Fld</a>;
+                             <span class="symbol"><a name="ref_96_30">Arg1</a></span> : chars_ptr_array;
+                             <span class="symbol"><a name="ref_97_30">Arg2</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</a>;
+                             <span class="symbol"><a name="ref_98_30">Arg3</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Fld_Type, "set_field_type_enum");
 
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_85_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_95_10">Arr</A> = <b>null</b> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_287_4">Form_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_86_30">Typ</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_96_10">Arr</a> = <b>null</b> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>;
       <b>end</b> <b>if</b>;
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A>
-        (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_94_16">Set_Fld_Type</A>
-           (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_95_30">Arg1</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_85_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_95_10">Arr</A>.<b>all</b>,
-            <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_96_30">Arg2</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</A> (Boolean'Pos (<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_85_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_93_10">Case_Sensitive</A>)),
-            <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_97_30">Arg3</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</A> (Boolean'Pos (<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_85_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_94_10">Match_Must_Be_Unique</A>))));
-      <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_152_14">Wrap_Builtin</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_84_30">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_85_30">Typ</A>, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_150_13">C_Choice_Router</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_84_14">Set_Field_Type</A>;
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a>
+        (<a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_95_16">Set_Fld_Type</a>
+           (<a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_96_30">Arg1</a> =&gt; <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_86_30">Typ</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_96_10">Arr</a>.<b>all</b>,
+            <a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_97_30">Arg2</a> =&gt; <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</a> (Boolean'Pos (<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_86_30">Typ</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_94_10">Case_Sensitive</a>)),
+            <a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_98_30">Arg3</a> =&gt; <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</a> (Boolean'Pos (<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_86_30">Typ</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_95_10">Match_Must_Be_Unique</a>))));
+      <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_152_14">Wrap_Builtin</a> (<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_85_30">Fld</a>, <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_86_30">Typ</a>, <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_150_13">C_Choice_Router</a>);
+   <b>end</b> <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_85_14">Set_Field_Type</a>;
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_43_53">Enumeration</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_44_53">Enumeration</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__ads.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__ads.htm
index d7180b6..21719db 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__ads.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-forms-field_types-enumeration.ads</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-forms-field_types-enumeration.ads</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,106 +11,107 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_types-enumeration.ads </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--           Terminal_Interface.Curses.Forms.Field_Types.Enumeration        --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 S P E C                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2003,2009 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.12 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings;
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_types-enumeration.ads </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--           Terminal_Interface.Curses.Forms.Field_Types.Enumeration        --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 S P E C                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2018,2020 Thomas E. Dickey                                     --</em></span>
+<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.15 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings;
 
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<span class="symbol"><A NAME="ref_43_53" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_46_58">Enumeration</A></span> <b>is</b>
+<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<span class="symbol"><a name="ref_44_53" href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_47_58">Enumeration</a></span> <b>is</b>
    <b>pragma</b> Preelaborate
-     (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_43_53">Enumeration</A>);
+     (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_44_53">Enumeration</a>);
 
-   <b>type</b> <span class="symbol"><A NAME="ref_47_9">String_Access</A></span> <b>is</b> <b>access</b> String;
+   <b>type</b> <span class="symbol"><a name="ref_48_9">String_Access</a></span> <b>is</b> <b>access</b> String;
 
-   <span class="comment"><EM>--  Type_Set is used by the child package Ada</EM></span>
-   <b>type</b> <span class="symbol"><A NAME="ref_50_9">Type_Set</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_50_22">Lower_Case</A></span>, <span class="symbol"><A NAME="ref_50_34">Upper_Case</A></span>, <span class="symbol"><A NAME="ref_50_46">Mixed_Case</A></span>);
+   <span class="comment"><em>--  Type_Set is used by the child package Ada</em></span>
+   <b>type</b> <span class="symbol"><a name="ref_51_9">Type_Set</a></span> <b>is</b> (<span class="symbol"><a name="ref_51_22">Lower_Case</a></span>, <span class="symbol"><a name="ref_51_34">Upper_Case</a></span>, <span class="symbol"><a name="ref_51_46">Mixed_Case</a></span>);
 
    <b>type</b> Enum_Array <b>is</b> <b>array</b> (Positive <b>range</b> &lt;&gt;)
-     <b>of</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_47_9">String_Access</A>;
+     <b>of</b> <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_48_9">String_Access</a>;
 
-   <b>type</b> <span class="symbol"><A NAME="ref_55_9">Enumeration_Info</A></span> (<span class="symbol"><A NAME="ref_55_27" HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_55_9">C</A></span> : Positive) <b>is</b>
+   <b>type</b> <span class="symbol"><a name="ref_56_9">Enumeration_Info</a></span> (<span class="symbol"><a name="ref_56_27">C</a></span> : Positive) <b>is</b>
       <b>record</b>
-         <span class="symbol"><A NAME="ref_57_10">Names</A></span>                : Enum_Array (1 .. <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_55_27">C</A>);
-         <span class="symbol"><A NAME="ref_58_10">Case_Sensitive</A></span>       : Boolean := False;
-         <span class="symbol"><A NAME="ref_59_10">Match_Must_Be_Unique</A></span> : Boolean := False;
+         <span class="symbol"><a name="ref_58_10">Case_Sensitive</a></span>       : Boolean := False;
+         <span class="symbol"><a name="ref_59_10">Match_Must_Be_Unique</a></span> : Boolean := False;
+         <span class="symbol"><a name="ref_60_10">Names</a></span>                : Enum_Array (1 .. <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_56_27">C</a>);
       <b>end</b> <b>record</b>;
 
-   <b>type</b> <span class="symbol"><A NAME="ref_62_9">Enumeration_Field</A></span> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</A> <b>with</b> <b>private</b>;
+   <b>type</b> <span class="symbol"><a name="ref_63_9">Enumeration_Field</a></span> <b>is</b> <b>new</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</a> <b>with</b> <b>private</b>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_64_13" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_48_13">Create</A></span> (<span class="symbol"><A NAME="ref_64_21" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_48_21">Info</A></span> : <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_55_9">Enumeration_Info</A>;
-                    <span class="symbol"><A NAME="ref_65_21" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_49_21">Auto_Release_Names</A></span> : Boolean := False)
-                    <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_62_9">Enumeration_Field</A>;
-   <span class="comment"><EM>--  Make an fieldtype from the info. Enumerations are special, because</EM></span>
-   <span class="comment"><EM>--  they normally don't copy the enum values into a private store, so</EM></span>
-   <span class="comment"><EM>--  we have to care for the lifetime of the info we provide.</EM></span>
-   <span class="comment"><EM>--  The Auto_Release_Names flag may be used to automatically releases</EM></span>
-   <span class="comment"><EM>--  the strings in the Names array of the Enumeration_Info.</EM></span>
+   <b>function</b> <span class="symbol"><a name="ref_65_13" href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_49_13">Create</a></span> (<span class="symbol"><a name="ref_65_21" href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_49_21">Info</a></span> : <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_56_9">Enumeration_Info</a>;
+                    <span class="symbol"><a name="ref_66_21" href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_50_21">Auto_Release_Names</a></span> : Boolean := False)
+                    <b>return</b> <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_63_9">Enumeration_Field</a>;
+   <span class="comment"><em>--  Make an fieldtype from the info. Enumerations are special, because</em></span>
+   <span class="comment"><em>--  they normally don't copy the enum values into a private store, so</em></span>
+   <span class="comment"><em>--  we have to care for the lifetime of the info we provide.</em></span>
+   <span class="comment"><em>--  The Auto_Release_Names flag may be used to automatically releases</em></span>
+   <span class="comment"><em>--  the strings in the Names array of the Enumeration_Info.</em></span>
 
-   <b>function</b> Make_Enumeration_Type (<span class="symbol"><A NAME="ref_73_36">Info</A></span> : <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_55_9">Enumeration_Info</A>;
-                                   <span class="symbol"><A NAME="ref_74_36">Auto_Release_Names</A></span> : Boolean := False)
-                                   <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_62_9">Enumeration_Field</A> <b>renames</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_64_13">Create</A>;
+   <b>function</b> Make_Enumeration_Type (<span class="symbol"><a name="ref_74_36">Info</a></span> : <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_56_9">Enumeration_Info</a>;
+                                   <span class="symbol"><a name="ref_75_36">Auto_Release_Names</a></span> : Boolean := False)
+                                   <b>return</b> <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_63_9">Enumeration_Field</a> <b>renames</b> <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_65_13">Create</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_77_14" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_76_14">Release</A></span> (<span class="symbol"><A NAME="ref_77_23" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_76_23">Enum</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_62_9">Enumeration_Field</A>);
-   <span class="comment"><EM>--  But we may want to release the field to release the memory allocated</EM></span>
-   <span class="comment"><EM>--  by it internally. After that the Enumeration field is no longer usable.</EM></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_78_14" href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_77_14">Release</a></span> (<span class="symbol"><a name="ref_78_23" href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_77_23">Enum</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_63_9">Enumeration_Field</a>);
+   <span class="comment"><em>--  But we may want to release the field to release the memory allocated</em></span>
+   <span class="comment"><em>--  by it internally. After that the Enumeration field is no longer usable.</em></span>
 
-   <span class="comment"><EM>--  The next type defintions are all ncurses extensions. They are typically</EM></span>
-   <span class="comment"><EM>--  not available in other curses implementations.</EM></span>
+   <span class="comment"><em>--  The next type definitions are all ncurses extensions. They are typically</em></span>
+   <span class="comment"><em>--  not available in other curses implementations.</em></span>
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_84_14" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_91_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_84_30" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_91_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                             <span class="symbol"><A NAME="ref_85_30" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_92_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_62_9">Enumeration_Field</A>);
+   <b>procedure</b> <span class="symbol"><a name="ref_85_14" href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_92_14">Set_Field_Type</a></span> (<span class="symbol"><a name="ref_85_30" href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_92_30">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                             <span class="symbol"><a name="ref_86_30" href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_93_30">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_63_9">Enumeration_Field</a>);
    <b>pragma</b> Inline (Set_Field_Type);
 
 <b>private</b>
-   <b>type</b> <span class="symbol"><A NAME="ref_89_9">CPA_Access</A></span> <b>is</b> <b>access</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings.chars_ptr_array;
+   <b>type</b> <span class="symbol"><a name="ref_90_9" href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_44_53">CPA_Access</a></span> <b>is</b> <b>access</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings.chars_ptr_array;
 
-   <b>type</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_62_9">Enumeration_Field</A> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</A> <b>with</b>
+   <b>type</b> <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_63_9">Enumeration_Field</a> <b>is</b> <b>new</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</a> <b>with</b>
       <b>record</b>
-         <span class="symbol"><A NAME="ref_93_10">Case_Sensitive</A></span>       : Boolean := False;
-         <span class="symbol"><A NAME="ref_94_10">Match_Must_Be_Unique</A></span> : Boolean := False;
-         <span class="symbol"><A NAME="ref_95_10">Arr</A></span>                  : <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_89_9">CPA_Access</A> := <b>null</b>;
+         <span class="symbol"><a name="ref_94_10">Case_Sensitive</a></span>       : Boolean := False;
+         <span class="symbol"><a name="ref_95_10">Match_Must_Be_Unique</a></span> : Boolean := False;
+         <span class="symbol"><a name="ref_96_10">Arr</a></span>                  : <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_90_9">CPA_Access</a> := <b>null</b>;
       <b>end</b> <b>record</b>;
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_43_53">Enumeration</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_44_53">Enumeration</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-intfield__adb.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-intfield__adb.htm
index e9683ab..6ff20e8 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_types-intfield__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-intfield__adb.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-forms-field_types-intfield.adb</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-forms-field_types-intfield.adb</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,70 +11,71 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_types-intfield.adb </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--            Terminal_Interface.Curses.Forms.Field_Types.IntField          --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 B O D Y                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2011,2014 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.13 @</EM></span>
-<span class="comment"><EM>--  @Date: 2014/05/24 21:31:05 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_types-intfield.adb </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--            Terminal_Interface.Curses.Forms.Field_Types.IntField          --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 B O D Y                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1999-2011,2014 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.14 @</em></span>
+<span class="comment"><em>--  @Date: 2020/02/02 23:34:34 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; <b>use</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>;
 
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<span class="symbol"><A NAME="ref_44_58" HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_41_53">IntField</A></span> <b>is</b>
+<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<span class="symbol"><a name="ref_45_58" href="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_42_53">IntField</a></span> <b>is</b>
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_46_14" HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_51_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_46_30" HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_51_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                             <span class="symbol"><A NAME="ref_47_30" HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_52_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_44_9">Integer_Field</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_47_14" href="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_52_14">Set_Field_Type</a></span> (<span class="symbol"><a name="ref_47_30" href="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_52_30">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                             <span class="symbol"><a name="ref_48_30" href="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_53_30">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_45_9">Integer_Field</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_49_16">Set_Fld_Type</A></span> (<span class="symbol"><A NAME="ref_49_30" HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_49_16">F</A></span>    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_51_30">Fld</A>;
-                             <span class="symbol"><A NAME="ref_50_30" HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_49_16">Arg1</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</A>;
-                             <span class="symbol"><A NAME="ref_51_30" HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_49_16">Arg2</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_52_12">C_Long_Int</A>;
-                             <span class="symbol"><A NAME="ref_52_30" HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_49_16">Arg3</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_52_12">C_Long_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_50_16">Set_Fld_Type</a></span> (<span class="symbol"><a name="ref_50_30">F</a></span>    : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> := <a href="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_52_30">Fld</a>;
+                             <span class="symbol"><a name="ref_51_30">Arg1</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</a>;
+                             <span class="symbol"><a name="ref_52_30">Arg2</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Long_Int</a>;
+                             <span class="symbol"><a name="ref_53_30">Arg3</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Long_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Fld_Type, "set_field_type_integer");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_49_16">Set_Fld_Type</A> (<A HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_50_30">Arg1</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</A> (<A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_52_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_46_10">Precision</A>),
-                                   <A HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_51_30">Arg2</A> =&gt; <A HREF="terminal_interface-curses-aux__ads.htm#ref_52_12">C_Long_Int</A> (<A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_52_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_47_10">Lower_Limit</A>),
-                                   <A HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_52_30">Arg3</A> =&gt; <A HREF="terminal_interface-curses-aux__ads.htm#ref_52_12">C_Long_Int</A> (<A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_52_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_48_10">Upper_Limit</A>)));
-      <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_152_14">Wrap_Builtin</A> (<A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_51_30">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_52_30">Typ</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_51_14">Set_Field_Type</A>;
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_50_16">Set_Fld_Type</a> (<a href="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_51_30">Arg1</a> =&gt; <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</a> (<a href="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_53_30">Typ</a>.<a href="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_47_10">Precision</a>),
+                                   <a href="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_52_30">Arg2</a> =&gt; <a href="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Long_Int</a> (<a href="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_53_30">Typ</a>.<a href="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_48_10">Lower_Limit</a>),
+                                   <a href="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_53_30">Arg3</a> =&gt; <a href="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Long_Int</a> (<a href="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_53_30">Typ</a>.<a href="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_49_10">Upper_Limit</a>)));
+      <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_152_14">Wrap_Builtin</a> (<a href="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_52_30">Fld</a>, <a href="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_53_30">Typ</a>);
+   <b>end</b> <a href="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_52_14">Set_Field_Type</a>;
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_41_53">IntField</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_42_53">IntField</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-intfield__ads.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-intfield__ads.htm
index 6c0d7a6..9115175 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_types-intfield__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-intfield__ads.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-forms-field_types-intfield.ads</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-forms-field_types-intfield.ads</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,63 +11,64 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_types-intfield.ads </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--            Terminal_Interface.Curses.Forms.Field_Types.IntField          --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 S P E C                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2003,2009 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.12 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<span class="symbol"><A NAME="ref_41_53" HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_44_58">IntField</A></span> <b>is</b>
-   <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_41_53">IntField</A>);
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_types-intfield.ads </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--            Terminal_Interface.Curses.Forms.Field_Types.IntField          --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 S P E C                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.13 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<span class="symbol"><a name="ref_42_53" href="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_45_58">IntField</a></span> <b>is</b>
+   <b>pragma</b> Preelaborate (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_42_53">IntField</a>);
 
-   <b>type</b> <span class="symbol"><A NAME="ref_44_9">Integer_Field</A></span> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</A> <b>with</b>
+   <b>type</b> <span class="symbol"><a name="ref_45_9">Integer_Field</a></span> <b>is</b> <b>new</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</a> <b>with</b>
       <b>record</b>
-         <span class="symbol"><A NAME="ref_46_10">Precision</A></span>   : Natural;
-         <span class="symbol"><A NAME="ref_47_10">Lower_Limit</A></span> : Integer;
-         <span class="symbol"><A NAME="ref_48_10">Upper_Limit</A></span> : Integer;
+         <span class="symbol"><a name="ref_47_10">Precision</a></span>   : Natural;
+         <span class="symbol"><a name="ref_48_10">Lower_Limit</a></span> : Integer;
+         <span class="symbol"><a name="ref_49_10">Upper_Limit</a></span> : Integer;
       <b>end</b> <b>record</b>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_51_14" HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_46_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_51_30" HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_46_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                             <span class="symbol"><A NAME="ref_52_30" HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_47_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_44_9">Integer_Field</A>);
+   <b>procedure</b> <span class="symbol"><a name="ref_52_14" href="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_47_14">Set_Field_Type</a></span> (<span class="symbol"><a name="ref_52_30" href="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_47_30">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                             <span class="symbol"><a name="ref_53_30" href="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_48_30">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_45_9">Integer_Field</a>);
    <b>pragma</b> Inline (Set_Field_Type);
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_41_53">IntField</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_42_53">IntField</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-ipv4_address__adb.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-ipv4_address__adb.htm
index 9f9e09c..e433d75 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_types-ipv4_address__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-ipv4_address__adb.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-forms-field_types-ipv4_address.adb</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-forms-field_types-ipv4_address.adb</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,66 +11,67 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_types-ipv4_address.adb </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--          Terminal_Interface.Curses.Forms.Field_Types.IPV4_Address        --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 B O D Y                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2011,2014 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.13 @</EM></span>
-<span class="comment"><EM>--  @Date: 2014/05/24 21:31:05 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_types-ipv4_address.adb </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--          Terminal_Interface.Curses.Forms.Field_Types.IPV4_Address        --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 B O D Y                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1999-2011,2014 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.14 @</em></span>
+<span class="comment"><em>--  @Date: 2020/02/02 23:34:34 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; <b>use</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>;
 
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<span class="symbol"><A NAME="ref_44_58" HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_41_53">IPV4_Address</A></span> <b>is</b>
+<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<span class="symbol"><a name="ref_45_58" href="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_42_53">IPV4_Address</a></span> <b>is</b>
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_46_14" HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_47_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_46_30" HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_47_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                             <span class="symbol"><A NAME="ref_47_30" HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_48_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_45_9">Internet_V4_Address_Field</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_47_14" href="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_48_14">Set_Field_Type</a></span> (<span class="symbol"><a name="ref_47_30" href="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_48_30">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                             <span class="symbol"><a name="ref_48_30" href="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_49_30">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_46_9">Internet_V4_Address_Field</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_49_16">Set_Fld_Type</A></span> (<span class="symbol"><A NAME="ref_49_30" HREF="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_49_16">F</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_47_30">Fld</A>)
-                             <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_50_16">Set_Fld_Type</a></span> (<span class="symbol"><a name="ref_50_30">F</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> := <a href="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_48_30">Fld</a>)
+                             <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Fld_Type, "set_field_type_ipv4");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_49_16">Set_Fld_Type</A>);
-      <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_152_14">Wrap_Builtin</A> (<A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_47_30">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_48_30">Typ</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_47_14">Set_Field_Type</A>;
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_50_16">Set_Fld_Type</a>);
+      <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_152_14">Wrap_Builtin</a> (<a href="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_48_30">Fld</a>, <a href="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_49_30">Typ</a>);
+   <b>end</b> <a href="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_48_14">Set_Field_Type</a>;
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_41_53">IPV4_Address</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_42_53">IPV4_Address</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-ipv4_address__ads.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-ipv4_address__ads.htm
index 5a020f1..5ace0d5 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_types-ipv4_address__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-ipv4_address__ads.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-forms-field_types-ipv4_address.ads</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-forms-field_types-ipv4_address.ads</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,59 +11,60 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_types-ipv4_address.ads </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--          Terminal_Interface.Curses.Forms.Field_Types.IPV4_Address        --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 S P E C                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2003,2009 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.12 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<span class="symbol"><A NAME="ref_41_53" HREF="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_44_58">IPV4_Address</A></span> <b>is</b>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_types-ipv4_address.ads </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--          Terminal_Interface.Curses.Forms.Field_Types.IPV4_Address        --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 S P E C                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.13 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<span class="symbol"><a name="ref_42_53" href="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_45_58">IPV4_Address</a></span> <b>is</b>
    <b>pragma</b> Preelaborate
-     (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_41_53">IPV4_Address</A>);
+     (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_42_53">IPV4_Address</a>);
 
-   <b>type</b> <span class="symbol"><A NAME="ref_45_9">Internet_V4_Address_Field</A></span> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</A> <b>with</b> <b>null</b> <b>record</b>;
+   <b>type</b> <span class="symbol"><a name="ref_46_9">Internet_V4_Address_Field</a></span> <b>is</b> <b>new</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</a> <b>with</b> <b>null</b> <b>record</b>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_47_14" HREF="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_46_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_47_30" HREF="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_46_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                             <span class="symbol"><A NAME="ref_48_30" HREF="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_47_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_45_9">Internet_V4_Address_Field</A>);
+   <b>procedure</b> <span class="symbol"><a name="ref_48_14" href="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_47_14">Set_Field_Type</a></span> (<span class="symbol"><a name="ref_48_30" href="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_47_30">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                             <span class="symbol"><a name="ref_49_30" href="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_48_30">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_46_9">Internet_V4_Address_Field</a>);
    <b>pragma</b> Inline (Set_Field_Type);
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_41_53">IPV4_Address</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_42_53">IPV4_Address</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-numeric__adb.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-numeric__adb.htm
index a996109..11b48eb 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_types-numeric__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-numeric__adb.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-forms-field_types-numeric.adb</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-forms-field_types-numeric.adb</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,73 +11,74 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_types-numeric.adb </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--            Terminal_Interface.Curses.Forms.Field_Types.Numeric           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 B O D Y                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2011,2014 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.14 @</EM></span>
-<span class="comment"><EM>--  @Date: 2014/05/24 21:31:05 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C;
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_types-numeric.adb </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--            Terminal_Interface.Curses.Forms.Field_Types.Numeric           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 B O D Y                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1999-2011,2014 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.15 @</em></span>
+<span class="comment"><em>--  @Date: 2020/02/02 23:34:34 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C;
+<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; <b>use</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>;
 
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<span class="symbol"><A NAME="ref_45_58" HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_41_53">Numeric</A></span> <b>is</b>
+<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<span class="symbol"><a name="ref_46_58" href="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_42_53">Numeric</a></span> <b>is</b>
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_47_14" HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_51_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_47_30" HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_51_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                             <span class="symbol"><A NAME="ref_48_30" HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_52_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_44_9">Numeric_Field</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_48_14" href="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_52_14">Set_Field_Type</a></span> (<span class="symbol"><a name="ref_48_30" href="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_52_30">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                             <span class="symbol"><a name="ref_49_30" href="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_53_30">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_45_9">Numeric_Field</a>)
    <b>is</b>
-      <b>type</b> <span class="symbol"><A NAME="ref_50_12">Double</A></span> <b>is</b> <b>new</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.double;
+      <b>type</b> <span class="symbol"><a name="ref_51_12">Double</a></span> <b>is</b> <b>new</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.double;
 
-      <b>function</b> <span class="symbol"><A NAME="ref_52_16">Set_Fld_Type</A></span> (<span class="symbol"><A NAME="ref_52_30" HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_52_16">F</A></span>    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_51_30">Fld</A>;
-                             <span class="symbol"><A NAME="ref_53_30" HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_52_16">Arg1</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</A>;
-                             <span class="symbol"><A NAME="ref_54_30" HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_52_16">Arg2</A></span> : <A HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_50_12">Double</A>;
-                             <span class="symbol"><A NAME="ref_55_30" HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_52_16">Arg3</A></span> : <A HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_50_12">Double</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_53_16">Set_Fld_Type</a></span> (<span class="symbol"><a name="ref_53_30">F</a></span>    : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> := <a href="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_52_30">Fld</a>;
+                             <span class="symbol"><a name="ref_54_30">Arg1</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</a>;
+                             <span class="symbol"><a name="ref_55_30">Arg2</a></span> : <a href="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_51_12">Double</a>;
+                             <span class="symbol"><a name="ref_56_30">Arg3</a></span> : <a href="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_51_12">Double</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Fld_Type, "set_field_type_numeric");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_52_16">Set_Fld_Type</A> (<A HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_53_30">Arg1</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</A> (<A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_52_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_46_10">Precision</A>),
-                                   <A HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_54_30">Arg2</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_50_12">Double</A> (<A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_52_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_47_10">Lower_Limit</A>),
-                                   <A HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_55_30">Arg3</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_50_12">Double</A> (<A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_52_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_48_10">Upper_Limit</A>)));
-      <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_152_14">Wrap_Builtin</A> (<A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_51_30">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_52_30">Typ</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_51_14">Set_Field_Type</A>;
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_53_16">Set_Fld_Type</a> (<a href="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_54_30">Arg1</a> =&gt; <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</a> (<a href="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_53_30">Typ</a>.<a href="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_47_10">Precision</a>),
+                                   <a href="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_55_30">Arg2</a> =&gt; <a href="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_51_12">Double</a> (<a href="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_53_30">Typ</a>.<a href="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_48_10">Lower_Limit</a>),
+                                   <a href="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_56_30">Arg3</a> =&gt; <a href="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_51_12">Double</a> (<a href="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_53_30">Typ</a>.<a href="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_49_10">Upper_Limit</a>)));
+      <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_152_14">Wrap_Builtin</a> (<a href="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_52_30">Fld</a>, <a href="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_53_30">Typ</a>);
+   <b>end</b> <a href="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_52_14">Set_Field_Type</a>;
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_41_53">Numeric</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_42_53">Numeric</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-numeric__ads.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-numeric__ads.htm
index 659e69d..0dddc36 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_types-numeric__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-numeric__ads.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-forms-field_types-numeric.ads</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-forms-field_types-numeric.ads</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,63 +11,64 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_types-numeric.ads </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--             Terminal_Interface.Curses.Forms.Field_Types.Numeric          --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 S P E C                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2003,2009 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.12 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<span class="symbol"><A NAME="ref_41_53" HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_45_58">Numeric</A></span> <b>is</b>
-   <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_41_53">Numeric</A>);
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_types-numeric.ads </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--             Terminal_Interface.Curses.Forms.Field_Types.Numeric          --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 S P E C                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.13 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<span class="symbol"><a name="ref_42_53" href="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_46_58">Numeric</a></span> <b>is</b>
+   <b>pragma</b> Preelaborate (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_42_53">Numeric</a>);
 
-   <b>type</b> <span class="symbol"><A NAME="ref_44_9">Numeric_Field</A></span> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</A> <b>with</b>
+   <b>type</b> <span class="symbol"><a name="ref_45_9">Numeric_Field</a></span> <b>is</b> <b>new</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</a> <b>with</b>
       <b>record</b>
-         <span class="symbol"><A NAME="ref_46_10">Precision</A></span>   : Natural;
-         <span class="symbol"><A NAME="ref_47_10">Lower_Limit</A></span> : Float;
-         <span class="symbol"><A NAME="ref_48_10">Upper_Limit</A></span> : Float;
+         <span class="symbol"><a name="ref_47_10">Precision</a></span>   : Natural;
+         <span class="symbol"><a name="ref_48_10">Lower_Limit</a></span> : Float;
+         <span class="symbol"><a name="ref_49_10">Upper_Limit</a></span> : Float;
       <b>end</b> <b>record</b>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_51_14" HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_47_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_51_30" HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_47_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                             <span class="symbol"><A NAME="ref_52_30" HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_48_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_44_9">Numeric_Field</A>);
+   <b>procedure</b> <span class="symbol"><a name="ref_52_14" href="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_48_14">Set_Field_Type</a></span> (<span class="symbol"><a name="ref_52_30" href="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_48_30">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                             <span class="symbol"><a name="ref_53_30" href="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_49_30">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_45_9">Numeric_Field</a>);
    <b>pragma</b> Inline (Set_Field_Type);
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_41_53">Numeric</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_42_53">Numeric</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-regexp__adb.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-regexp__adb.htm
index fc3ec33..a8936f5 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_types-regexp__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-regexp__adb.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-forms-field_types-regexp.adb</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-forms-field_types-regexp.adb</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,66 +11,67 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_types-regexp.adb </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--             Terminal_Interface.Curses.Forms.Field_Types.RegExp           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 B O D Y                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2011,2014 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.12 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C; <b>use</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C;
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_types-regexp.adb </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--             Terminal_Interface.Curses.Forms.Field_Types.RegExp           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 B O D Y                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1999-2011,2014 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.13 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C; <b>use</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C;
+<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; <b>use</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>;
 
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<span class="symbol"><A NAME="ref_44_58" HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_41_53">RegExp</A></span> <b>is</b>
+<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<span class="symbol"><a name="ref_45_58" href="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_42_53">RegExp</a></span> <b>is</b>
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_46_14" HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_51_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_46_30" HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_51_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                             <span class="symbol"><A NAME="ref_47_30" HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_52_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_46_9">Regular_Expression_Field</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_47_14" href="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_52_14">Set_Field_Type</a></span> (<span class="symbol"><a name="ref_47_30" href="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_52_30">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                             <span class="symbol"><a name="ref_48_30" href="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_53_30">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_47_9">Regular_Expression_Field</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_49_16">Set_Ftyp</A></span> (<span class="symbol"><A NAME="ref_49_26" HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_49_16">F</A></span>    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_51_30">Fld</A>;
-                         <span class="symbol"><A NAME="ref_50_26" HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_49_16">Arg1</A></span> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_50_16">Set_Ftyp</a></span> (<span class="symbol"><a name="ref_50_26">F</a></span>    : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> := <a href="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_52_30">Fld</a>;
+                         <span class="symbol"><a name="ref_51_26">Arg1</a></span> : char_array) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Ftyp, "set_field_type_regexp");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_49_16">Set_Ftyp</A> (<A HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_50_26">Arg1</A> =&gt; To_C (<A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_52_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_48_10">Regular_Expression</A>.<b>all</b>)));
-      <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_152_14">Wrap_Builtin</A> (<A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_51_30">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_52_30">Typ</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_51_14">Set_Field_Type</A>;
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_50_16">Set_Ftyp</a> (<a href="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_51_26">Arg1</a> =&gt; To_C (<a href="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_53_30">Typ</a>.<a href="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_49_10">Regular_Expression</a>.<b>all</b>)));
+      <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_152_14">Wrap_Builtin</a> (<a href="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_52_30">Fld</a>, <a href="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_53_30">Typ</a>);
+   <b>end</b> <a href="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_52_14">Set_Field_Type</a>;
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_41_53">RegExp</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_42_53">RegExp</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-regexp__ads.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-regexp__ads.htm
index b2527b6..19f903d 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_types-regexp__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-regexp__ads.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-forms-field_types-regexp.ads</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-forms-field_types-regexp.ads</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,63 +11,64 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_types-regexp.ads </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--              Terminal_Interface.Curses.Forms.Field_Types.RegExp          --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 S P E C                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2003,2009 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.12 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<span class="symbol"><A NAME="ref_41_53" HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_44_58">RegExp</A></span> <b>is</b>
-   <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_41_53">RegExp</A>);
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_types-regexp.ads </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--              Terminal_Interface.Curses.Forms.Field_Types.RegExp          --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 S P E C                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.13 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<span class="symbol"><a name="ref_42_53" href="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_45_58">RegExp</a></span> <b>is</b>
+   <b>pragma</b> Preelaborate (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_42_53">RegExp</a>);
 
-   <b>type</b> <span class="symbol"><A NAME="ref_44_9">String_Access</A></span> <b>is</b> <b>access</b> String;
+   <b>type</b> <span class="symbol"><a name="ref_45_9">String_Access</a></span> <b>is</b> <b>access</b> String;
 
-   <b>type</b> <span class="symbol"><A NAME="ref_46_9">Regular_Expression_Field</A></span> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</A> <b>with</b>
+   <b>type</b> <span class="symbol"><a name="ref_47_9">Regular_Expression_Field</a></span> <b>is</b> <b>new</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</a> <b>with</b>
       <b>record</b>
-         <span class="symbol"><A NAME="ref_48_10">Regular_Expression</A></span> : <A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_44_9">String_Access</A>;
+         <span class="symbol"><a name="ref_49_10">Regular_Expression</a></span> : <a href="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_45_9">String_Access</a>;
       <b>end</b> <b>record</b>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_51_14" HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_46_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_51_30" HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_46_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                             <span class="symbol"><A NAME="ref_52_30" HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_47_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_46_9">Regular_Expression_Field</A>);
+   <b>procedure</b> <span class="symbol"><a name="ref_52_14" href="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_47_14">Set_Field_Type</a></span> (<span class="symbol"><a name="ref_52_30" href="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_47_30">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                             <span class="symbol"><a name="ref_53_30" href="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_48_30">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_47_9">Regular_Expression_Field</a>);
    <b>pragma</b> Inline (Set_Field_Type);
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_41_53">RegExp</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_42_53">RegExp</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-user-choice__adb.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-user-choice__adb.htm
index c09a087..b9f797a 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_types-user-choice__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-user-choice__adb.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-forms-field_types-user-choice.adb</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-forms-field_types-user-choice.adb</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,112 +11,113 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_types-user-choice.adb </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--          Terminal_Interface.Curses.Forms.Field_Types.User.Choice         --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 B O D Y                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2011,2014 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.20 @</EM></span>
-<span class="comment"><EM>--  @Date: 2014/05/24 21:31:05 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_types-user-choice.adb </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--          Terminal_Interface.Curses.Forms.Field_Types.User.Choice         --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 B O D Y                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1999-2011,2014 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.21 @</em></span>
+<span class="comment"><em>--  @Date: 2020/02/02 23:34:34 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
 <b>with</b> System.Address_To_Access_Conversions;
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
+<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; <b>use</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>;
 
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_44_53">User</A>.<span class="symbol"><A NAME="ref_45_63" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_44_58">Choice</A></span> <b>is</b>
+<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_45_53">User</a>.<span class="symbol"><a name="ref_46_63" href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_45_58">Choice</a></span> <b>is</b>
 
    <b>package</b> Argument_Conversions <b>is</b>
-      <b>new</b> System.Address_To_Access_Conversions (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_212_9">Argument</A>);
+      <b>new</b> System.Address_To_Access_Conversions (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_212_9">Argument</a>);
 
-   <b>function</b> <span class="symbol"><A NAME="ref_50_13" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_80_13">Generic_Next</A></span> (<span class="symbol"><A NAME="ref_50_27" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_80_27">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                          <span class="symbol"><A NAME="ref_51_27" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_81_27">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>
+   <b>function</b> <span class="symbol"><a name="ref_51_13" href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_81_13">Generic_Next</a></span> (<span class="symbol"><a name="ref_51_27" href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_81_27">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                          <span class="symbol"><a name="ref_52_27" href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_82_27">Usr</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>
    <b>is</b>
-      <span class="symbol"><A NAME="ref_53_7">Result</A></span> : Boolean;
-      <span class="symbol"><A NAME="ref_54_7">Udf</A></span>    : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_57_9">User_Defined_Field_Type_With_Choice_Access</A> :=
-        <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_57_9">User_Defined_Field_Type_With_Choice_Access</A>
-        (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</A> (Argument_Conversions.To_Pointer (<A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_81_27">Usr</A>)).<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</A>);
+      <span class="symbol"><a name="ref_54_7">Result</a></span> : Boolean;
+      <span class="symbol"><a name="ref_55_7">Udf</a></span>    : <b>constant</b> <a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_58_9">User_Defined_Field_Type_With_Choice_Access</a> :=
+        <a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_58_9">User_Defined_Field_Type_With_Choice_Access</a>
+        (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</a> (Argument_Conversions.To_Pointer (<a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_82_27">Usr</a>)).<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</a>);
    <b>begin</b>
-      <A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_53_7">Result</A> := <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_60_13">Next</A> (<A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_80_27">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_54_7">Udf</A>.<b>all</b>);
-      <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_53_7">Result</A>));
-   <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_80_13">Generic_Next</A>;
+      <a href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_54_7">Result</a> := <a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_61_13">Next</a> (<a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_81_27">Fld</a>, <a href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_55_7">Udf</a>.<b>all</b>);
+      <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_54_7">Result</a>));
+   <b>end</b> <a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_81_13">Generic_Next</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_62_13" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_87_13">Generic_Prev</A></span> (<span class="symbol"><A NAME="ref_62_27" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_87_27">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                          <span class="symbol"><A NAME="ref_63_27" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_88_27">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>
+   <b>function</b> <span class="symbol"><a name="ref_63_13" href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_88_13">Generic_Prev</a></span> (<span class="symbol"><a name="ref_63_27" href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_88_27">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                          <span class="symbol"><a name="ref_64_27" href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_89_27">Usr</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>
    <b>is</b>
-      <span class="symbol"><A NAME="ref_65_7">Result</A></span> : Boolean;
-      <span class="symbol"><A NAME="ref_66_7">Udf</A></span>    : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_57_9">User_Defined_Field_Type_With_Choice_Access</A> :=
-        <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_57_9">User_Defined_Field_Type_With_Choice_Access</A>
-        (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</A> (Argument_Conversions.To_Pointer (<A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_88_27">Usr</A>)).<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</A>);
+      <span class="symbol"><a name="ref_66_7">Result</a></span> : Boolean;
+      <span class="symbol"><a name="ref_67_7">Udf</a></span>    : <b>constant</b> <a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_58_9">User_Defined_Field_Type_With_Choice_Access</a> :=
+        <a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_58_9">User_Defined_Field_Type_With_Choice_Access</a>
+        (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</a> (Argument_Conversions.To_Pointer (<a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_89_27">Usr</a>)).<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</a>);
    <b>begin</b>
-      <A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_65_7">Result</A> := <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_67_13">Previous</A> (<A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_87_27">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_66_7">Udf</A>.<b>all</b>);
-      <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_65_7">Result</A>));
-   <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_87_13">Generic_Prev</A>;
+      <a href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_66_7">Result</a> := <a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_68_13">Previous</a> (<a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_88_27">Fld</a>, <a href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_67_7">Udf</a>.<b>all</b>);
+      <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_66_7">Result</a>));
+   <b>end</b> <a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_88_13">Generic_Prev</a>;
 
-   <span class="comment"><EM>--  -----------------------------------------------------------------------</EM></span>
-   <span class="comment"><EM>--</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_76_13" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_78_13">C_Generic_Choice</A></span> <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A>
+   <span class="comment"><em>--  -----------------------------------------------------------------------</em></span>
+   <span class="comment"><em>--</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_77_13" href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_79_13">C_Generic_Choice</a></span> <b>return</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a>
    <b>is</b>
-      <span class="symbol"><A NAME="ref_78_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
-      <span class="symbol"><A NAME="ref_79_7">T</A></span>   : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A>;
+      <span class="symbol"><a name="ref_79_7">Res</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
+      <span class="symbol"><a name="ref_80_7">T</a></span>   : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a>;
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_143_4">M_Generic_Choice</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</A> <b>then</b>
-         <A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_79_7">T</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_223_13">New_Fieldtype</A> (<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_81_13">Generic_Field_Check</A>'<b>Access</b>,
-                             <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_88_13">Generic_Char_Check</A>'<b>Access</b>);
-         <b>if</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_79_7">T</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</A> <b>then</b>
-            <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_287_4">Form_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_143_4">M_Generic_Choice</a> = <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</a> <b>then</b>
+         <a href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_80_7">T</a> := <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_223_13">New_Fieldtype</a> (<a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_82_13">Generic_Field_Check</a>'<b>Access</b>,
+                             <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_89_13">Generic_Char_Check</a>'<b>Access</b>);
+         <b>if</b> <a href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_80_7">T</a> = <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</a> <b>then</b>
+            <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>;
          <b>else</b>
-            <A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_78_7">Res</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_228_13">Set_Fieldtype_Arg</A> (<A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_79_7">T</A>,
-                                      <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_163_13">Make_Arg</A>'<b>Access</b>,
-                                      <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_168_13">Copy_Arg</A>'<b>Access</b>,
-                                      <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_173_14">Free_Arg</A>'<b>Access</b>);
-            <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_78_7">Res</A>);
+            <a href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_79_7">Res</a> := <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_228_13">Set_Fieldtype_Arg</a> (<a href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_80_7">T</a>,
+                                      <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_163_13">Make_Arg</a>'<b>Access</b>,
+                                      <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_168_13">Copy_Arg</a>'<b>Access</b>,
+                                      <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_173_14">Free_Arg</a>'<b>Access</b>);
+            <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_79_7">Res</a>);
 
-            <A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_78_7">Res</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_235_13">Set_Fieldtype_Choice</A> (<A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_79_7">T</A>,
-                                         <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_80_13">Generic_Next</A>'<b>Access</b>,
-                                         <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_87_13">Generic_Prev</A>'<b>Access</b>);
-            <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_78_7">Res</A>);
+            <a href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_79_7">Res</a> := <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_235_13">Set_Fieldtype_Choice</a> (<a href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_80_7">T</a>,
+                                         <a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_81_13">Generic_Next</a>'<b>Access</b>,
+                                         <a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_88_13">Generic_Prev</a>'<b>Access</b>);
+            <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_79_7">Res</a>);
          <b>end</b> <b>if</b>;
-         <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_143_4">M_Generic_Choice</A> := <A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_79_7">T</A>;
+         <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_143_4">M_Generic_Choice</a> := <a href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_80_7">T</a>;
       <b>end</b> <b>if</b>;
-      <b>pragma</b> Assert (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_143_4">M_Generic_Choice</A> /= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</A>);
-      <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_143_4">M_Generic_Choice</A>;
-   <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_78_13">C_Generic_Choice</A>;
+      <b>pragma</b> Assert (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_143_4">M_Generic_Choice</a> /= <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</a>);
+      <b>return</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_143_4">M_Generic_Choice</a>;
+   <b>end</b> <a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_79_13">C_Generic_Choice</a>;
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_44_53">User</A>.<A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_44_58">Choice</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_45_53">User</a>.<a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_45_58">Choice</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-user-choice__ads.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-user-choice__ads.htm
index 4d83d4f..74a6588 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_types-user-choice__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-user-choice__ads.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-forms-field_types-user-choice.ads</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-forms-field_types-user-choice.ads</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,102 +11,103 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_types-user-choice.ads </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--           Terminal_Interface.Curses.Forms.Field_Types.User.Choice        --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 S P E C                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2008,2011 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.14 @</EM></span>
-<span class="comment"><EM>--  @Date: 2011/03/19 12:27:47 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C;
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_types-user-choice.ads </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--           Terminal_Interface.Curses.Forms.Field_Types.User.Choice        --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 S P E C                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1999-2008,2011 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.15 @</em></span>
+<span class="comment"><em>--  @Date: 2020/02/02 23:34:34 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C;
 
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_44_53">User</A>.<span class="symbol"><A NAME="ref_44_58" HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_45_63">Choice</A></span> <b>is</b>
+<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_45_53">User</a>.<span class="symbol"><a name="ref_45_58" href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_46_63">Choice</a></span> <b>is</b>
    <b>pragma</b> Preelaborate
-     (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_44_53">User</A>.<A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_44_58">Choice</A>);
+     (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_45_53">User</a>.<a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_45_58">Choice</a>);
 
-   <b>subtype</b> <span class="symbol"><A NAME="ref_48_12">C_Int</A></span> <b>is</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.int;
+   <b>subtype</b> <span class="symbol"><a name="ref_49_12">C_Int</a></span> <b>is</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.int;
 
-   <b>type</b> <span class="symbol"><A NAME="ref_50_9">User_Defined_Field_Type_With_Choice</A></span> <b>is</b> <b>abstract</b> <b>new</b>
-     <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_48_9">User_Defined_Field_Type</A> <b>with</b> <b>null</b> <b>record</b>;
-   <span class="comment"><EM>--  This is the root of the mechanism we use to create field types in</EM></span>
-   <span class="comment"><EM>--  Ada95 that allow the prev/next mechanism. You should your own type</EM></span>
-   <span class="comment"><EM>--  derive from this one and implement the Field_Check, Character_Check</EM></span>
-   <span class="comment"><EM>--  Next and Previous functions for your own type.</EM></span>
+   <b>type</b> <span class="symbol"><a name="ref_51_9">User_Defined_Field_Type_With_Choice</a></span> <b>is</b> <b>abstract</b> <b>new</b>
+     <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_49_9">User_Defined_Field_Type</a> <b>with</b> <b>null</b> <b>record</b>;
+   <span class="comment"><em>--  This is the root of the mechanism we use to create field types in</em></span>
+   <span class="comment"><em>--  Ada95 that allow the prev/next mechanism. You should your own type</em></span>
+   <span class="comment"><em>--  derive from this one and implement the Field_Check, Character_Check</em></span>
+   <span class="comment"><em>--  Next and Previous functions for your own type.</em></span>
 
-   <b>type</b> <span class="symbol"><A NAME="ref_57_9">User_Defined_Field_Type_With_Choice_Access</A></span> <b>is</b> <b>access</b> <b>all</b>
-     <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_50_9">User_Defined_Field_Type_With_Choice</A>'Class;
+   <b>type</b> <span class="symbol"><a name="ref_58_9">User_Defined_Field_Type_With_Choice_Access</a></span> <b>is</b> <b>access</b> <b>all</b>
+     <a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_51_9">User_Defined_Field_Type_With_Choice</a>'Class;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_60_13">Next</A></span>
-     (<span class="symbol"><A NAME="ref_61_7" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_60_13">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-      <span class="symbol"><A NAME="ref_62_7" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_60_13">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_50_9">User_Defined_Field_Type_With_Choice</A>) <b>return</b> Boolean
+   <b>function</b> <span class="symbol"><a name="ref_61_13">Next</a></span>
+     (<span class="symbol"><a name="ref_62_7">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+      <span class="symbol"><a name="ref_63_7">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_51_9">User_Defined_Field_Type_With_Choice</a>) <b>return</b> Boolean
       <b>is</b> <b>abstract</b>;
-   <span class="comment"><EM>--  If True is returned, the function successfully generated a next</EM></span>
-   <span class="comment"><EM>--  value into the fields buffer.</EM></span>
+   <span class="comment"><em>--  If True is returned, the function successfully generated a next</em></span>
+   <span class="comment"><em>--  value into the fields buffer.</em></span>
 
-   <b>function</b> <span class="symbol"><A NAME="ref_67_13">Previous</A></span>
-     (<span class="symbol"><A NAME="ref_68_7" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_67_13">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-      <span class="symbol"><A NAME="ref_69_7" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_67_13">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_50_9">User_Defined_Field_Type_With_Choice</A>) <b>return</b> Boolean
+   <b>function</b> <span class="symbol"><a name="ref_68_13">Previous</a></span>
+     (<span class="symbol"><a name="ref_69_7">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+      <span class="symbol"><a name="ref_70_7">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_51_9">User_Defined_Field_Type_With_Choice</a>) <b>return</b> Boolean
       <b>is</b> <b>abstract</b>;
-   <span class="comment"><EM>--  If True is returned, the function successfully generated a previous</EM></span>
-   <span class="comment"><EM>--  value into the fields buffer.</EM></span>
+   <span class="comment"><em>--  If True is returned, the function successfully generated a previous</em></span>
+   <span class="comment"><em>--  value into the fields buffer.</em></span>
 
-   <span class="comment"><EM>--  +----------------------------------------------------------------------</EM></span>
-   <span class="comment"><EM>--  | Private Part.</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
+   <span class="comment"><em>--  +----------------------------------------------------------------------</em></span>
+   <span class="comment"><em>--  | Private Part.</em></span>
+   <span class="comment"><em>--  |</em></span>
 <b>private</b>
-   <b>function</b> <span class="symbol"><A NAME="ref_78_13" HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_76_13">C_Generic_Choice</A></span> <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A>;
+   <b>function</b> <span class="symbol"><a name="ref_79_13" href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_77_13">C_Generic_Choice</a></span> <b>return</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_80_13" HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_50_13">Generic_Next</A></span> (<span class="symbol"><A NAME="ref_80_27" HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_50_27">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                          <span class="symbol"><A NAME="ref_81_27" HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_51_27">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
-   <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_80_13">Generic_Next</A>);
-   <span class="comment"><EM>--  This is the generic next Choice_Function for the low-level fieldtype</EM></span>
-   <span class="comment"><EM>--  representing all the User_Defined_Field_Type derivatives. It routes</EM></span>
-   <span class="comment"><EM>--  the call to the Next implementation for the type.</EM></span>
+   <b>function</b> <span class="symbol"><a name="ref_81_13" href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_51_13">Generic_Next</a></span> (<span class="symbol"><a name="ref_81_27" href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_51_27">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                          <span class="symbol"><a name="ref_82_27" href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_52_27">Usr</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>;
+   <b>pragma</b> Convention (C, <a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_81_13">Generic_Next</a>);
+   <span class="comment"><em>--  This is the generic next Choice_Function for the low-level fieldtype</em></span>
+   <span class="comment"><em>--  representing all the User_Defined_Field_Type derivatives. It routes</em></span>
+   <span class="comment"><em>--  the call to the Next implementation for the type.</em></span>
 
-   <b>function</b> <span class="symbol"><A NAME="ref_87_13" HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_62_13">Generic_Prev</A></span> (<span class="symbol"><A NAME="ref_87_27" HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_62_27">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                          <span class="symbol"><A NAME="ref_88_27" HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_63_27">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
-   <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_87_13">Generic_Prev</A>);
-   <span class="comment"><EM>--  This is the generic prev Choice_Function for the low-level fieldtype</EM></span>
-   <span class="comment"><EM>--  representing all the User_Defined_Field_Type derivatives. It routes</EM></span>
-   <span class="comment"><EM>--  the call to the Previous implementation for the type.</EM></span>
+   <b>function</b> <span class="symbol"><a name="ref_88_13" href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_63_13">Generic_Prev</a></span> (<span class="symbol"><a name="ref_88_27" href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_63_27">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                          <span class="symbol"><a name="ref_89_27" href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_64_27">Usr</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>;
+   <b>pragma</b> Convention (C, <a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_88_13">Generic_Prev</a>);
+   <span class="comment"><em>--  This is the generic prev Choice_Function for the low-level fieldtype</em></span>
+   <span class="comment"><em>--  representing all the User_Defined_Field_Type derivatives. It routes</em></span>
+   <span class="comment"><em>--  the call to the Previous implementation for the type.</em></span>
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_44_53">User</A>.<A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_44_58">Choice</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_45_53">User</a>.<a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_45_58">Choice</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-user__adb.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-user__adb.htm
index f51abdd..066df29 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_types-user__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-user__adb.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-forms-field_types-user.adb</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-forms-field_types-user.adb</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,134 +11,135 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_types-user.adb </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--              Terminal_Interface.Curses.Forms.Field_Types.User            --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 B O D Y                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2011,2014 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.23 @</EM></span>
-<span class="comment"><EM>--  @Date: 2014/05/24 21:31:05 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_types-user.adb </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--              Terminal_Interface.Curses.Forms.Field_Types.User            --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 B O D Y                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1999-2011,2014 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.24 @</em></span>
+<span class="comment"><em>--  @Date: 2020/02/02 23:34:34 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
 <b>with</b> System.Address_To_Access_Conversions;
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
+<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; <b>use</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>;
 
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<span class="symbol"><A NAME="ref_45_58" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_44_53">User</A></span> <b>is</b>
+<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<span class="symbol"><a name="ref_46_58" href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_45_53">User</a></span> <b>is</b>
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_47_14" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_70_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_47_30" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_70_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                             <span class="symbol"><A NAME="ref_48_30" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_71_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_48_9">User_Defined_Field_Type</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_48_14" href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_71_14">Set_Field_Type</a></span> (<span class="symbol"><a name="ref_48_30" href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_71_30">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                             <span class="symbol"><a name="ref_49_30" href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_72_30">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_49_9">User_Defined_Field_Type</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_50_16" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_59_16">Allocate_Arg</A></span> (<span class="symbol"><A NAME="ref_50_30" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_59_30">T</A></span> : <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_48_9">User_Defined_Field_Type</A>'Class)
-                             <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</A>;
+      <b>function</b> <span class="symbol"><a name="ref_51_16" href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_60_16">Allocate_Arg</a></span> (<span class="symbol"><a name="ref_51_30" href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_60_30">T</a></span> : <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_49_9">User_Defined_Field_Type</a>'Class)
+                             <b>return</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</a>;
 
-      <b>function</b> <span class="symbol"><A NAME="ref_53_16">Set_Fld_Type</A></span> (<span class="symbol"><A NAME="ref_53_30" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_53_16">F</A></span>    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_70_30">Fld</A>;
-                             <span class="symbol"><A NAME="ref_54_30" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_53_16">Cft</A></span>  : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A> := <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_79_13">C_Generic_Type</A>;
-                             <span class="symbol"><A NAME="ref_55_30" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_53_16">Arg1</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</A>)
-                             <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_54_16">Set_Fld_Type</a></span> (<span class="symbol"><a name="ref_54_30">F</a></span>    : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> := <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_71_30">Fld</a>;
+                             <span class="symbol"><a name="ref_55_30">Cft</a></span>  : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a> := <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_80_13">C_Generic_Type</a>;
+                             <span class="symbol"><a name="ref_56_30">Arg1</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</a>)
+                             <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Fld_Type, "set_field_type_user");
 
-      <b>function</b> <span class="symbol"><A NAME="ref_59_16" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_50_16">Allocate_Arg</A></span> (<span class="symbol"><A NAME="ref_59_30" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_50_30">T</A></span> : <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_48_9">User_Defined_Field_Type</A>'Class)
-                             <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</A>
+      <b>function</b> <span class="symbol"><a name="ref_60_16" href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_51_16">Allocate_Arg</a></span> (<span class="symbol"><a name="ref_60_30" href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_51_30">T</a></span> : <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_49_9">User_Defined_Field_Type</a>'Class)
+                             <b>return</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</a>
       <b>is</b>
-         <span class="symbol"><A NAME="ref_62_10">Ptr</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_64_9">Field_Type_Access</A>
-             := <b>new</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_48_9">User_Defined_Field_Type</A>'Class'(<A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_50_30">T</A>);
+         <span class="symbol"><a name="ref_63_10">Ptr</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_64_9">Field_Type_Access</a>
+             := <b>new</b> <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_49_9">User_Defined_Field_Type</a>'Class'(<a href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_51_30">T</a>);
       <b>begin</b>
-         <b>return</b> <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_212_9">Argument</A>'(<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Usr</A> =&gt; System.Null_Address,
-                              <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_62_10">Ptr</A>,
-                              <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</A>);
-      <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_50_16">Allocate_Arg</A>;
+         <b>return</b> <b>new</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_212_9">Argument</a>'(<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Usr</a> =&gt; System.Null_Address,
+                              <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</a> =&gt; <a href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_63_10">Ptr</a>,
+                              <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</a> =&gt; <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</a>);
+      <b>end</b> <a href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_51_16">Allocate_Arg</a>;
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_53_16">Set_Fld_Type</A> (<A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_55_30">Arg1</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_50_16">Allocate_Arg</A> (<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_71_30">Typ</A>)));
-   <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_70_14">Set_Field_Type</A>;
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_54_16">Set_Fld_Type</a> (<a href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_56_30">Arg1</a> =&gt; <a href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_51_16">Allocate_Arg</a> (<a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_72_30">Typ</a>)));
+   <b>end</b> <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_71_14">Set_Field_Type</a>;
 
    <b>package</b> Argument_Conversions <b>is</b>
-      <b>new</b> System.Address_To_Access_Conversions (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_212_9">Argument</A>);
+      <b>new</b> System.Address_To_Access_Conversions (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_212_9">Argument</a>);
 
-   <b>function</b> <span class="symbol"><A NAME="ref_77_13" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_81_13">Generic_Field_Check</A></span> (<span class="symbol"><A NAME="ref_77_34" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_81_34">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                                 <span class="symbol"><A NAME="ref_78_34" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_82_34">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>
+   <b>function</b> <span class="symbol"><a name="ref_78_13" href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_82_13">Generic_Field_Check</a></span> (<span class="symbol"><a name="ref_78_34" href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_82_34">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                                 <span class="symbol"><a name="ref_79_34" href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_83_34">Usr</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>
    <b>is</b>
-      <span class="symbol"><A NAME="ref_80_7">Result</A></span> : Boolean;
-      <span class="symbol"><A NAME="ref_81_7">Udf</A></span>    : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_53_9">User_Defined_Field_Type_Access</A> :=
-        <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_53_9">User_Defined_Field_Type_Access</A>
-          (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</A> (Argument_Conversions.To_Pointer (<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_82_34">Usr</A>)).<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</A>);
+      <span class="symbol"><a name="ref_81_7">Result</a></span> : Boolean;
+      <span class="symbol"><a name="ref_82_7">Udf</a></span>    : <b>constant</b> <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_54_9">User_Defined_Field_Type_Access</a> :=
+        <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_54_9">User_Defined_Field_Type_Access</a>
+          (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</a> (Argument_Conversions.To_Pointer (<a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_83_34">Usr</a>)).<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</a>);
    <b>begin</b>
-      <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_80_7">Result</A> := <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_56_13">Field_Check</A> (<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_81_34">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_81_7">Udf</A>.<b>all</b>);
-      <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_80_7">Result</A>));
-   <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_81_13">Generic_Field_Check</A>;
+      <a href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_81_7">Result</a> := <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_57_13">Field_Check</a> (<a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_82_34">Fld</a>, <a href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_82_7">Udf</a>.<b>all</b>);
+      <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_81_7">Result</a>));
+   <b>end</b> <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_82_13">Generic_Field_Check</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_89_13" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_88_13">Generic_Char_Check</A></span> (<span class="symbol"><A NAME="ref_89_33" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_88_33">Ch</A></span>  : <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_46_12">C_Int</A>;
-                                <span class="symbol"><A NAME="ref_90_33" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_89_33">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>
+   <b>function</b> <span class="symbol"><a name="ref_90_13" href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_89_13">Generic_Char_Check</a></span> (<span class="symbol"><a name="ref_90_33" href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_89_33">Ch</a></span>  : <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_47_12">C_Int</a>;
+                                <span class="symbol"><a name="ref_91_33" href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_90_33">Usr</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>
    <b>is</b>
-      <span class="symbol"><A NAME="ref_92_7">Result</A></span> : Boolean;
-      <span class="symbol"><A NAME="ref_93_7">Udf</A></span>    : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_53_9">User_Defined_Field_Type_Access</A> :=
-        <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_53_9">User_Defined_Field_Type_Access</A>
-          (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</A> (Argument_Conversions.To_Pointer (<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_89_33">Usr</A>)).<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</A>);
+      <span class="symbol"><a name="ref_93_7">Result</a></span> : Boolean;
+      <span class="symbol"><a name="ref_94_7">Udf</a></span>    : <b>constant</b> <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_54_9">User_Defined_Field_Type_Access</a> :=
+        <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_54_9">User_Defined_Field_Type_Access</a>
+          (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</a> (Argument_Conversions.To_Pointer (<a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_90_33">Usr</a>)).<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</a>);
    <b>begin</b>
-      <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_92_7">Result</A> := <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_63_13">Character_Check</A> (Character'Val (<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_88_33">Ch</A>), <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_93_7">Udf</A>.<b>all</b>);
-      <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_92_7">Result</A>));
-   <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_88_13">Generic_Char_Check</A>;
+      <a href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_93_7">Result</a> := <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_64_13">Character_Check</a> (Character'Val (<a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_89_33">Ch</a>), <a href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_94_7">Udf</a>.<b>all</b>);
+      <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_93_7">Result</a>));
+   <b>end</b> <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_89_13">Generic_Char_Check</a>;
 
-   <span class="comment"><EM>--  -----------------------------------------------------------------------</EM></span>
-   <span class="comment"><EM>--</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_103_13" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_79_13">C_Generic_Type</A></span> <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A>
+   <span class="comment"><em>--  -----------------------------------------------------------------------</em></span>
+   <span class="comment"><em>--</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_104_13" href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_80_13">C_Generic_Type</a></span> <b>return</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a>
    <b>is</b>
-      <span class="symbol"><A NAME="ref_105_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
-      <span class="symbol"><A NAME="ref_106_7">T</A></span>   : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A>;
+      <span class="symbol"><a name="ref_106_7">Res</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
+      <span class="symbol"><a name="ref_107_7">T</a></span>   : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a>;
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_142_4">M_Generic_Type</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</A> <b>then</b>
-         <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_106_7">T</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_223_13">New_Fieldtype</A> (<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_81_13">Generic_Field_Check</A>'<b>Access</b>,
-                             <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_88_13">Generic_Char_Check</A>'<b>Access</b>);
-         <b>if</b> <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_106_7">T</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</A> <b>then</b>
-            <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_287_4">Form_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_142_4">M_Generic_Type</a> = <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</a> <b>then</b>
+         <a href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_107_7">T</a> := <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_223_13">New_Fieldtype</a> (<a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_82_13">Generic_Field_Check</a>'<b>Access</b>,
+                             <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_89_13">Generic_Char_Check</a>'<b>Access</b>);
+         <b>if</b> <a href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_107_7">T</a> = <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</a> <b>then</b>
+            <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>;
          <b>else</b>
-            <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_105_7">Res</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_228_13">Set_Fieldtype_Arg</A> (<A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_106_7">T</A>,
-                                      <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_163_13">Make_Arg</A>'<b>Access</b>,
-                                      <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_168_13">Copy_Arg</A>'<b>Access</b>,
-                                      <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_173_14">Free_Arg</A>'<b>Access</b>);
-            <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_105_7">Res</A>);
+            <a href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_106_7">Res</a> := <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_228_13">Set_Fieldtype_Arg</a> (<a href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_107_7">T</a>,
+                                      <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_163_13">Make_Arg</a>'<b>Access</b>,
+                                      <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_168_13">Copy_Arg</a>'<b>Access</b>,
+                                      <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_173_14">Free_Arg</a>'<b>Access</b>);
+            <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_106_7">Res</a>);
          <b>end</b> <b>if</b>;
-         <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_142_4">M_Generic_Type</A> := <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_106_7">T</A>;
+         <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_142_4">M_Generic_Type</a> := <a href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_107_7">T</a>;
       <b>end</b> <b>if</b>;
-      <b>pragma</b> Assert (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_142_4">M_Generic_Type</A> /= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</A>);
-      <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_142_4">M_Generic_Type</A>;
-   <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_79_13">C_Generic_Type</A>;
+      <b>pragma</b> Assert (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_142_4">M_Generic_Type</a> /= <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</a>);
+      <b>return</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_142_4">M_Generic_Type</a>;
+   <b>end</b> <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_80_13">C_Generic_Type</a>;
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_44_53">User</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_45_53">User</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-user__ads.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-user__ads.htm
index f89e1f7..7190283 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_types-user__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-user__ads.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-forms-field_types-user.ads</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-forms-field_types-user.ads</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,103 +11,104 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_types-user.ads </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--               Terminal_Interface.Curses.Forms.Field_Types.User           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 S P E C                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2009,2011 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.15 @</EM></span>
-<span class="comment"><EM>--  @Date: 2011/03/19 12:27:21 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C;
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_types-user.ads </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--               Terminal_Interface.Curses.Forms.Field_Types.User           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 S P E C                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1999-2009,2011 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.16 @</em></span>
+<span class="comment"><em>--  @Date: 2020/02/02 23:34:34 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C;
 
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<span class="symbol"><A NAME="ref_44_53" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_45_58">User</A></span> <b>is</b>
-   <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_44_53">User</A>);
-   <b>subtype</b> <span class="symbol"><A NAME="ref_46_12">C_Int</A></span> <b>is</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.int;
+<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<span class="symbol"><a name="ref_45_53" href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_46_58">User</a></span> <b>is</b>
+   <b>pragma</b> Preelaborate (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_45_53">User</a>);
+   <b>subtype</b> <span class="symbol"><a name="ref_47_12">C_Int</a></span> <b>is</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.int;
 
-   <b>type</b> <span class="symbol"><A NAME="ref_48_9">User_Defined_Field_Type</A></span> <b>is</b> <b>abstract</b> <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</A> <b>with</b> <b>null</b> <b>record</b>;
-   <span class="comment"><EM>--  This is the root of the mechanism we use to create field types in</EM></span>
-   <span class="comment"><EM>--  Ada95. You should your own type derive from this one and implement</EM></span>
-   <span class="comment"><EM>--  the Field_Check and Character_Check functions for your own type.</EM></span>
+   <b>type</b> <span class="symbol"><a name="ref_49_9">User_Defined_Field_Type</a></span> <b>is</b> <b>abstract</b> <b>new</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</a> <b>with</b> <b>null</b> <b>record</b>;
+   <span class="comment"><em>--  This is the root of the mechanism we use to create field types in</em></span>
+   <span class="comment"><em>--  Ada95. You should your own type derive from this one and implement</em></span>
+   <span class="comment"><em>--  the Field_Check and Character_Check functions for your own type.</em></span>
 
-   <b>type</b> <span class="symbol"><A NAME="ref_53_9">User_Defined_Field_Type_Access</A></span> <b>is</b> <b>access</b> <b>all</b>
-     <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_48_9">User_Defined_Field_Type</A>'Class;
+   <b>type</b> <span class="symbol"><a name="ref_54_9">User_Defined_Field_Type_Access</a></span> <b>is</b> <b>access</b> <b>all</b>
+     <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_49_9">User_Defined_Field_Type</a>'Class;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_56_13">Field_Check</A></span>
-     (<span class="symbol"><A NAME="ref_57_7" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_56_13">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-      <span class="symbol"><A NAME="ref_58_7" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_56_13">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_48_9">User_Defined_Field_Type</A>) <b>return</b> Boolean
+   <b>function</b> <span class="symbol"><a name="ref_57_13">Field_Check</a></span>
+     (<span class="symbol"><a name="ref_58_7">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+      <span class="symbol"><a name="ref_59_7">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_49_9">User_Defined_Field_Type</a>) <b>return</b> Boolean
       <b>is</b> <b>abstract</b>;
-   <span class="comment"><EM>--  If True is returned, the field is considered valid, otherwise it is</EM></span>
-   <span class="comment"><EM>--  invalid.</EM></span>
+   <span class="comment"><em>--  If True is returned, the field is considered valid, otherwise it is</em></span>
+   <span class="comment"><em>--  invalid.</em></span>
 
-   <b>function</b> <span class="symbol"><A NAME="ref_63_13">Character_Check</A></span>
-     (<span class="symbol"><A NAME="ref_64_7" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_63_13">Ch</A></span>  : Character;
-      <span class="symbol"><A NAME="ref_65_7" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_63_13">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_48_9">User_Defined_Field_Type</A>) <b>return</b> Boolean
+   <b>function</b> <span class="symbol"><a name="ref_64_13">Character_Check</a></span>
+     (<span class="symbol"><a name="ref_65_7">Ch</a></span>  : Character;
+      <span class="symbol"><a name="ref_66_7">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_49_9">User_Defined_Field_Type</a>) <b>return</b> Boolean
       <b>is</b> <b>abstract</b>;
-   <span class="comment"><EM>--  If True is returned, the character is considered as valid for the</EM></span>
-   <span class="comment"><EM>--  field, otherwise as invalid.</EM></span>
+   <span class="comment"><em>--  If True is returned, the character is considered as valid for the</em></span>
+   <span class="comment"><em>--  field, otherwise as invalid.</em></span>
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_70_14" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_47_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_70_30" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_47_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                             <span class="symbol"><A NAME="ref_71_30" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_48_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_48_9">User_Defined_Field_Type</A>);
-   <span class="comment"><EM>--  This should work for all types derived from User_Defined_Field_Type.</EM></span>
-   <span class="comment"><EM>--  No need to reimplement it for your derived type.</EM></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_71_14" href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_48_14">Set_Field_Type</a></span> (<span class="symbol"><a name="ref_71_30" href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_48_30">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                             <span class="symbol"><a name="ref_72_30" href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_49_30">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_49_9">User_Defined_Field_Type</a>);
+   <span class="comment"><em>--  This should work for all types derived from User_Defined_Field_Type.</em></span>
+   <span class="comment"><em>--  No need to reimplement it for your derived type.</em></span>
 
-   <span class="comment"><EM>--  +----------------------------------------------------------------------</EM></span>
-   <span class="comment"><EM>--  | Private Part.</EM></span>
-   <span class="comment"><EM>--  | Used by the Choice child package.</EM></span>
+   <span class="comment"><em>--  +----------------------------------------------------------------------</em></span>
+   <span class="comment"><em>--  | Private Part.</em></span>
+   <span class="comment"><em>--  | Used by the Choice child package.</em></span>
 <b>private</b>
-   <b>function</b> <span class="symbol"><A NAME="ref_79_13" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_103_13">C_Generic_Type</A></span>   <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A>;
+   <b>function</b> <span class="symbol"><a name="ref_80_13" href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_104_13">C_Generic_Type</a></span>   <b>return</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_81_13" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_77_13">Generic_Field_Check</A></span> (<span class="symbol"><A NAME="ref_81_34" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_77_34">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                                 <span class="symbol"><A NAME="ref_82_34" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_78_34">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
-   <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_81_13">Generic_Field_Check</A>);
-   <span class="comment"><EM>--  This is the generic Field_Check_Function for the low-level fieldtype</EM></span>
-   <span class="comment"><EM>--  representing all the User_Defined_Field_Type derivatives. It routes</EM></span>
-   <span class="comment"><EM>--  the call to the Field_Check implementation for the type.</EM></span>
+   <b>function</b> <span class="symbol"><a name="ref_82_13" href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_78_13">Generic_Field_Check</a></span> (<span class="symbol"><a name="ref_82_34" href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_78_34">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                                 <span class="symbol"><a name="ref_83_34" href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_79_34">Usr</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>;
+   <b>pragma</b> Convention (C, <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_82_13">Generic_Field_Check</a>);
+   <span class="comment"><em>--  This is the generic Field_Check_Function for the low-level fieldtype</em></span>
+   <span class="comment"><em>--  representing all the User_Defined_Field_Type derivatives. It routes</em></span>
+   <span class="comment"><em>--  the call to the Field_Check implementation for the type.</em></span>
 
-   <b>function</b> <span class="symbol"><A NAME="ref_88_13" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_89_13">Generic_Char_Check</A></span> (<span class="symbol"><A NAME="ref_88_33" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_89_33">Ch</A></span>  : <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_46_12">C_Int</A>;
-                                <span class="symbol"><A NAME="ref_89_33" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_90_33">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
-   <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_88_13">Generic_Char_Check</A>);
-   <span class="comment"><EM>--  This is the generic Char_Check_Function for the low-level fieldtype</EM></span>
-   <span class="comment"><EM>--  representing all the User_Defined_Field_Type derivatives. It routes</EM></span>
-   <span class="comment"><EM>--  the call to the Character_Check implementation for the type.</EM></span>
+   <b>function</b> <span class="symbol"><a name="ref_89_13" href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_90_13">Generic_Char_Check</a></span> (<span class="symbol"><a name="ref_89_33" href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_90_33">Ch</a></span>  : <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_47_12">C_Int</a>;
+                                <span class="symbol"><a name="ref_90_33" href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_91_33">Usr</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>;
+   <b>pragma</b> Convention (C, <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_89_13">Generic_Char_Check</a>);
+   <span class="comment"><em>--  This is the generic Char_Check_Function for the low-level fieldtype</em></span>
+   <span class="comment"><em>--  representing all the User_Defined_Field_Type derivatives. It routes</em></span>
+   <span class="comment"><em>--  the call to the Character_Check implementation for the type.</em></span>
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_44_53">User</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_45_53">User</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types__adb.htm b/doc/html/ada/terminal_interface-curses-forms-field_types__adb.htm
index 3d876e3..c028825 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_types__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types__adb.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-forms-field_types.adb</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-forms-field_types.adb</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,277 +11,278 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_types.adb </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                 Terminal_Interface.Curses.Forms.Field_Types              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 B O D Y                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2011,2014 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.28 @</EM></span>
-<span class="comment"><EM>--  @Date: 2014/09/13 19:00:47 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_types.adb </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                 Terminal_Interface.Curses.Forms.Field_Types              --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 B O D Y                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1999-2011,2014 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.29 @</em></span>
+<span class="comment"><em>--  @Date: 2020/02/02 23:34:34 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; <b>use</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>;
 <b>with</b> Ada.Unchecked_Deallocation;
 <b>with</b> System.Address_To_Access_Conversions;
 
-<span class="comment"><EM>--  |</EM></span>
-<span class="comment"><EM>--  |=====================================================================</EM></span>
-<span class="comment"><EM>--  | man page form_fieldtype.3x</EM></span>
-<span class="comment"><EM>--  |=====================================================================</EM></span>
-<span class="comment"><EM>--  |</EM></span>
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<span class="symbol"><A NAME="ref_51_46" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A></span> <b>is</b>
+<span class="comment"><em>--  |</em></span>
+<span class="comment"><em>--  |=====================================================================</em></span>
+<span class="comment"><em>--  | man page form_fieldtype.3x</em></span>
+<span class="comment"><em>--  |=====================================================================</em></span>
+<span class="comment"><em>--  |</em></span>
+<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<span class="symbol"><a name="ref_52_46" href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a></span> <b>is</b>
 
    <b>use</b> <b>type</b> System.Address;
 
    <b>package</b> Argument_Conversions <b>is</b>
-      <b>new</b> System.Address_To_Access_Conversions (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_212_9">Argument</A>);
+      <b>new</b> System.Address_To_Access_Conversions (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_212_9">Argument</a>);
 
-   <b>function</b> <span class="symbol"><A NAME="ref_58_13">Get_Fieldtype</A></span> (<span class="symbol"><A NAME="ref_58_28" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_58_13">F</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A>;
+   <b>function</b> <span class="symbol"><a name="ref_59_13">Get_Fieldtype</a></span> (<span class="symbol"><a name="ref_59_28">F</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a>;
    <b>pragma</b> Import (C, Get_Fieldtype, "field_type");
 
-   <b>function</b> <span class="symbol"><A NAME="ref_61_13">Get_Arg</A></span> (<span class="symbol"><A NAME="ref_61_22" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_61_13">F</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> System.Address;
+   <b>function</b> <span class="symbol"><a name="ref_62_13">Get_Arg</a></span> (<span class="symbol"><a name="ref_62_22">F</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> System.Address;
    <b>pragma</b> Import (C, Get_Arg, "field_arg");
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | man page form_field_validation.3x</EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_70_13" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_80_13">Get_Type</A></span> (<span class="symbol"><A NAME="ref_70_23" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_80_23">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_64_9">Field_Type_Access</A>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | man page form_field_validation.3x</em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_71_13" href="terminal_interface-curses-forms-field_types__ads.htm#ref_80_13">Get_Type</a></span> (<span class="symbol"><a name="ref_71_23" href="terminal_interface-curses-forms-field_types__ads.htm#ref_80_23">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_64_9">Field_Type_Access</a>
    <b>is</b>
-      <span class="symbol"><A NAME="ref_72_7">Low_Level</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A> := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_58_13">Get_Fieldtype</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_80_23">Fld</A>);
-      <span class="symbol"><A NAME="ref_73_7">Arg</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</A>;
+      <span class="symbol"><a name="ref_73_7">Low_Level</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a> := <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_59_13">Get_Fieldtype</a> (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_80_23">Fld</a>);
+      <span class="symbol"><a name="ref_74_7">Arg</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</a>;
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_72_7">Low_Level</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</A> <b>then</b>
+      <b>if</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_73_7">Low_Level</a> = <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</a> <b>then</b>
          <b>return</b> <b>null</b>;
       <b>else</b>
-         <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_72_7">Low_Level</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_144_4">M_Builtin_Router</A> <b>or</b> <b>else</b>
-            <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_72_7">Low_Level</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_142_4">M_Generic_Type</A> <b>or</b> <b>else</b>
-            <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_72_7">Low_Level</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_145_4">M_Choice_Router</A> <b>or</b> <b>else</b>
-            <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_72_7">Low_Level</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_143_4">M_Generic_Choice</A>
+         <b>if</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_73_7">Low_Level</a> = <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_144_4">M_Builtin_Router</a> <b>or</b> <b>else</b>
+            <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_73_7">Low_Level</a> = <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_142_4">M_Generic_Type</a> <b>or</b> <b>else</b>
+            <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_73_7">Low_Level</a> = <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_145_4">M_Choice_Router</a> <b>or</b> <b>else</b>
+            <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_73_7">Low_Level</a> = <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_143_4">M_Generic_Choice</a>
          <b>then</b>
-            <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_73_7">Arg</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</A>
-         (Argument_Conversions.To_Pointer (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_61_13">Get_Arg</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_80_23">Fld</A>)));
-            <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_73_7">Arg</A> = <b>null</b> <b>then</b>
-               <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_287_4">Form_Exception</A>;
+            <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_74_7">Arg</a> := <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</a>
+         (Argument_Conversions.To_Pointer (<a href="terminal_interface-curses-forms-field_types__adb.htm#ref_62_13">Get_Arg</a> (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_80_23">Fld</a>)));
+            <b>if</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_74_7">Arg</a> = <b>null</b> <b>then</b>
+               <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>;
             <b>else</b>
-               <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_73_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</A>;
+               <b>return</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_74_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</a>;
             <b>end</b> <b>if</b>;
          <b>else</b>
-            <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_287_4">Form_Exception</A>;
+            <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>;
          <b>end</b> <b>if</b>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_80_13">Get_Type</A>;
+   <b>end</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_80_13">Get_Type</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_96_13" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_168_13">Copy_Arg</A></span> (<span class="symbol"><A NAME="ref_96_23" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_168_23">Usr</A></span> : System.Address) <b>return</b> System.Address
+   <b>function</b> <span class="symbol"><a name="ref_97_13" href="terminal_interface-curses-forms-field_types__ads.htm#ref_168_13">Copy_Arg</a></span> (<span class="symbol"><a name="ref_97_23" href="terminal_interface-curses-forms-field_types__ads.htm#ref_168_23">Usr</a></span> : System.Address) <b>return</b> System.Address
    <b>is</b>
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_168_23">Usr</A>;
-   <b>end</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_168_13">Copy_Arg</A>;
+      <b>return</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_168_23">Usr</a>;
+   <b>end</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_168_13">Copy_Arg</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_102_14" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_173_14">Free_Arg</A></span> (<span class="symbol"><A NAME="ref_102_24" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_173_24">Usr</A></span> : System.Address)
+   <b>procedure</b> <span class="symbol"><a name="ref_103_14" href="terminal_interface-curses-forms-field_types__ads.htm#ref_173_14">Free_Arg</a></span> (<span class="symbol"><a name="ref_103_24" href="terminal_interface-curses-forms-field_types__ads.htm#ref_173_24">Usr</a></span> : System.Address)
    <b>is</b>
       <b>procedure</b> Free_Type <b>is</b> <b>new</b> Ada.Unchecked_Deallocation
-        (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</A>'Class, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_64_9">Field_Type_Access</A>);
+        (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</a>'Class, <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_64_9">Field_Type_Access</a>);
       <b>procedure</b> Freeargs <b>is</b> <b>new</b> Ada.Unchecked_Deallocation
-        (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_212_9">Argument</A>, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</A>);
+        (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_212_9">Argument</a>, <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</a>);
 
-      <span class="symbol"><A NAME="ref_109_7">To_Be_Free</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</A>
-   := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</A> (Argument_Conversions.To_Pointer (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_173_24">Usr</A>));
-      <span class="symbol"><A NAME="ref_111_7">Low_Level</A></span>  : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A>;
+      <span class="symbol"><a name="ref_110_7">To_Be_Free</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</a>
+   := <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</a> (Argument_Conversions.To_Pointer (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_173_24">Usr</a>));
+      <span class="symbol"><a name="ref_112_7">Low_Level</a></span>  : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a>;
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_109_7">To_Be_Free</A> /= <b>null</b> <b>then</b>
-         <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_109_7">To_Be_Free</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Usr</A> /= System.Null_Address <b>then</b>
-            <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_111_7">Low_Level</A> := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_109_7">To_Be_Free</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</A>;
-            <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_111_7">Low_Level</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_127_10">Freearg</A> /= <b>null</b> <b>then</b>
-               <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_111_7">Low_Level</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_127_10">Freearg</A> (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_109_7">To_Be_Free</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Usr</A>);
+      <b>if</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_110_7">To_Be_Free</a> /= <b>null</b> <b>then</b>
+         <b>if</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_110_7">To_Be_Free</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Usr</a> /= System.Null_Address <b>then</b>
+            <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_112_7">Low_Level</a> := <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_110_7">To_Be_Free</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</a>;
+            <b>if</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_112_7">Low_Level</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_127_10">Freearg</a> /= <b>null</b> <b>then</b>
+               <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_112_7">Low_Level</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_127_10">Freearg</a> (<a href="terminal_interface-curses-forms-field_types__adb.htm#ref_110_7">To_Be_Free</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Usr</a>);
             <b>end</b> <b>if</b>;
          <b>end</b> <b>if</b>;
-         <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_109_7">To_Be_Free</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</A> /= <b>null</b> <b>then</b>
-            Free_Type (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_109_7">To_Be_Free</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</A>);
+         <b>if</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_110_7">To_Be_Free</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</a> /= <b>null</b> <b>then</b>
+            Free_Type (<a href="terminal_interface-curses-forms-field_types__adb.htm#ref_110_7">To_Be_Free</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</a>);
          <b>end</b> <b>if</b>;
-         Freeargs (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_109_7">To_Be_Free</A>);
+         Freeargs (<a href="terminal_interface-curses-forms-field_types__adb.htm#ref_110_7">To_Be_Free</a>);
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_173_14">Free_Arg</A>;
+   <b>end</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_173_14">Free_Arg</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_127_14" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_152_14">Wrap_Builtin</A></span> (<span class="symbol"><A NAME="ref_127_28" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_152_28">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                           <span class="symbol"><A NAME="ref_128_28" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_153_28">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</A>'Class;
-                           <span class="symbol"><A NAME="ref_129_28" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_154_28">Cft</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_149_13">C_Builtin_Router</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_128_14" href="terminal_interface-curses-forms-field_types__ads.htm#ref_152_14">Wrap_Builtin</a></span> (<span class="symbol"><a name="ref_128_28" href="terminal_interface-curses-forms-field_types__ads.htm#ref_152_28">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                           <span class="symbol"><a name="ref_129_28" href="terminal_interface-curses-forms-field_types__ads.htm#ref_153_28">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</a>'Class;
+                           <span class="symbol"><a name="ref_130_28" href="terminal_interface-curses-forms-field_types__ads.htm#ref_154_28">Cft</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a> := <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_149_13">C_Builtin_Router</a>)
    <b>is</b>
-      <span class="symbol"><A NAME="ref_131_7">Usr_Arg</A></span>   : <b>constant</b> System.Address := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_61_13">Get_Arg</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_152_28">Fld</A>);
-      <span class="symbol"><A NAME="ref_132_7">Low_Level</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A> := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_58_13">Get_Fieldtype</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_152_28">Fld</A>);
-      <span class="symbol"><A NAME="ref_133_7">Arg</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</A>;
-      <b>function</b> <span class="symbol"><A NAME="ref_134_16">Set_Fld_Type</A></span> (<span class="symbol"><A NAME="ref_134_30" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_134_16">F</A></span>    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_152_28">Fld</A>;
-                             <span class="symbol"><A NAME="ref_135_30" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_134_16">Cf</A></span>   : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_154_28">Cft</A>;
-                             <span class="symbol"><A NAME="ref_136_30" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_134_16">Arg1</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <span class="symbol"><a name="ref_132_7">Usr_Arg</a></span>   : <b>constant</b> System.Address := <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_62_13">Get_Arg</a> (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_152_28">Fld</a>);
+      <span class="symbol"><a name="ref_133_7">Low_Level</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a> := <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_59_13">Get_Fieldtype</a> (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_152_28">Fld</a>);
+      <span class="symbol"><a name="ref_134_7">Arg</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</a>;
+      <b>function</b> <span class="symbol"><a name="ref_135_16">Set_Fld_Type</a></span> (<span class="symbol"><a name="ref_135_30">F</a></span>    : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> := <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_152_28">Fld</a>;
+                             <span class="symbol"><a name="ref_136_30">Cf</a></span>   : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a> := <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_154_28">Cft</a>;
+                             <span class="symbol"><a name="ref_137_30">Arg1</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Fld_Type, "set_field_type_user");
 
    <b>begin</b>
-      <b>pragma</b> Assert (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_132_7">Low_Level</A> /= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</A>);
-      <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_154_28">Cft</A> /= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_149_13">C_Builtin_Router</A> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_154_28">Cft</A> /= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_150_13">C_Choice_Router</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_287_4">Form_Exception</A>;
+      <b>pragma</b> Assert (<a href="terminal_interface-curses-forms-field_types__adb.htm#ref_133_7">Low_Level</a> /= <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</a>);
+      <b>if</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_154_28">Cft</a> /= <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_149_13">C_Builtin_Router</a> <b>and</b> <b>then</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_154_28">Cft</a> /= <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_150_13">C_Choice_Router</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>;
       <b>else</b>
-         <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_133_7">Arg</A> := <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_212_9">Argument</A>'(<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Usr</A> =&gt; System.Null_Address,
-                              <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</A> =&gt; <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</A>'Class'(<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_153_28">Typ</A>),
-                              <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_58_13">Get_Fieldtype</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_152_28">Fld</A>));
-         <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_131_7">Usr_Arg</A> /= System.Null_Address <b>then</b>
-            <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_132_7">Low_Level</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_126_10">Copyarg</A> /= <b>null</b> <b>then</b>
-               <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_133_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Usr</A> := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_132_7">Low_Level</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_126_10">Copyarg</A> (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_131_7">Usr_Arg</A>);
+         <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_134_7">Arg</a> := <b>new</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_212_9">Argument</a>'(<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Usr</a> =&gt; System.Null_Address,
+                              <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</a> =&gt; <b>new</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</a>'Class'(<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_153_28">Typ</a>),
+                              <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</a> =&gt; <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_59_13">Get_Fieldtype</a> (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_152_28">Fld</a>));
+         <b>if</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_132_7">Usr_Arg</a> /= System.Null_Address <b>then</b>
+            <b>if</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_133_7">Low_Level</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_126_10">Copyarg</a> /= <b>null</b> <b>then</b>
+               <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_134_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Usr</a> := <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_133_7">Low_Level</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_126_10">Copyarg</a> (<a href="terminal_interface-curses-forms-field_types__adb.htm#ref_132_7">Usr_Arg</a>);
             <b>else</b>
-               <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_133_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Usr</A> := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_131_7">Usr_Arg</A>;
+               <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_134_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Usr</a> := <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_132_7">Usr_Arg</a>;
             <b>end</b> <b>if</b>;
          <b>end</b> <b>if</b>;
 
-         <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_134_16">Set_Fld_Type</A> (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_136_30">Arg1</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_133_7">Arg</A>));
+         <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms-field_types__adb.htm#ref_135_16">Set_Fld_Type</a> (<a href="terminal_interface-curses-forms-field_types__adb.htm#ref_137_30">Arg1</a> =&gt; <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_134_7">Arg</a>));
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_152_14">Wrap_Builtin</A>;
+   <b>end</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_152_14">Wrap_Builtin</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_159_13" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_178_13">Field_Check_Router</A></span> (<span class="symbol"><A NAME="ref_159_33" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_178_33">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                                <span class="symbol"><A NAME="ref_160_33" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_179_33">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>
+   <b>function</b> <span class="symbol"><a name="ref_160_13" href="terminal_interface-curses-forms-field_types__ads.htm#ref_178_13">Field_Check_Router</a></span> (<span class="symbol"><a name="ref_160_33" href="terminal_interface-curses-forms-field_types__ads.htm#ref_178_33">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                                <span class="symbol"><a name="ref_161_33" href="terminal_interface-curses-forms-field_types__ads.htm#ref_179_33">Usr</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>
    <b>is</b>
-      <span class="symbol"><A NAME="ref_162_7">Arg</A></span>  : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</A>
-   := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</A> (Argument_Conversions.To_Pointer (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_179_33">Usr</A>));
+      <span class="symbol"><a name="ref_163_7">Arg</a></span>  : <b>constant</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</a>
+   := <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</a> (Argument_Conversions.To_Pointer (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_179_33">Usr</a>));
    <b>begin</b>
-      <b>pragma</b> Assert (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_162_7">Arg</A> /= <b>null</b> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_162_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</A> /= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</A>
-                     <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_162_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</A> /= <b>null</b>);
-      <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_162_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_128_10">Fcheck</A> /= <b>null</b> <b>then</b>
-         <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_162_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_128_10">Fcheck</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_178_33">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_162_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Usr</A>);
+      <b>pragma</b> Assert (<a href="terminal_interface-curses-forms-field_types__adb.htm#ref_163_7">Arg</a> /= <b>null</b> <b>and</b> <b>then</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_163_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</a> /= <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</a>
+                     <b>and</b> <b>then</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_163_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</a> /= <b>null</b>);
+      <b>if</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_163_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_128_10">Fcheck</a> /= <b>null</b> <b>then</b>
+         <b>return</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_163_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_128_10">Fcheck</a> (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_178_33">Fld</a>, <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_163_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Usr</a>);
       <b>else</b>
          <b>return</b> 1;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_178_13">Field_Check_Router</A>;
+   <b>end</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_178_13">Field_Check_Router</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_174_13" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_186_13">Char_Check_Router</A></span> (<span class="symbol"><A NAME="ref_174_32" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_186_32">Ch</A></span>  : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</A>;
-                               <span class="symbol"><A NAME="ref_175_32" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_187_32">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>
+   <b>function</b> <span class="symbol"><a name="ref_175_13" href="terminal_interface-curses-forms-field_types__ads.htm#ref_186_13">Char_Check_Router</a></span> (<span class="symbol"><a name="ref_175_32" href="terminal_interface-curses-forms-field_types__ads.htm#ref_186_32">Ch</a></span>  : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</a>;
+                               <span class="symbol"><a name="ref_176_32" href="terminal_interface-curses-forms-field_types__ads.htm#ref_187_32">Usr</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>
    <b>is</b>
-      <span class="symbol"><A NAME="ref_177_7">Arg</A></span>  : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</A>
-   := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</A> (Argument_Conversions.To_Pointer (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_187_32">Usr</A>));
+      <span class="symbol"><a name="ref_178_7">Arg</a></span>  : <b>constant</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</a>
+   := <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</a> (Argument_Conversions.To_Pointer (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_187_32">Usr</a>));
    <b>begin</b>
-      <b>pragma</b> Assert (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_177_7">Arg</A> /= <b>null</b> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_177_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</A> /= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</A>
-                     <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_177_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</A> /= <b>null</b>);
-      <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_177_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_129_10">Ccheck</A> /= <b>null</b> <b>then</b>
-         <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_177_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_129_10">Ccheck</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_186_32">Ch</A>, <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_177_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Usr</A>);
+      <b>pragma</b> Assert (<a href="terminal_interface-curses-forms-field_types__adb.htm#ref_178_7">Arg</a> /= <b>null</b> <b>and</b> <b>then</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_178_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</a> /= <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</a>
+                     <b>and</b> <b>then</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_178_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</a> /= <b>null</b>);
+      <b>if</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_178_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_129_10">Ccheck</a> /= <b>null</b> <b>then</b>
+         <b>return</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_178_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_129_10">Ccheck</a> (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_186_32">Ch</a>, <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_178_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Usr</a>);
       <b>else</b>
          <b>return</b> 1;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_186_13">Char_Check_Router</A>;
+   <b>end</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_186_13">Char_Check_Router</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_189_13" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_194_13">Next_Router</A></span> (<span class="symbol"><A NAME="ref_189_26" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_194_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                         <span class="symbol"><A NAME="ref_190_26" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_195_26">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>
+   <b>function</b> <span class="symbol"><a name="ref_190_13" href="terminal_interface-curses-forms-field_types__ads.htm#ref_194_13">Next_Router</a></span> (<span class="symbol"><a name="ref_190_26" href="terminal_interface-curses-forms-field_types__ads.htm#ref_194_26">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                         <span class="symbol"><a name="ref_191_26" href="terminal_interface-curses-forms-field_types__ads.htm#ref_195_26">Usr</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>
    <b>is</b>
-      <span class="symbol"><A NAME="ref_192_7">Arg</A></span>  : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</A>
-   := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</A> (Argument_Conversions.To_Pointer (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_195_26">Usr</A>));
+      <span class="symbol"><a name="ref_193_7">Arg</a></span>  : <b>constant</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</a>
+   := <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</a> (Argument_Conversions.To_Pointer (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_195_26">Usr</a>));
    <b>begin</b>
-      <b>pragma</b> Assert (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_192_7">Arg</A> /= <b>null</b> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_192_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</A> /= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</A>
-                     <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_192_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</A> /= <b>null</b>);
-      <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_192_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_130_10">Next</A> /= <b>null</b> <b>then</b>
-         <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_192_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_130_10">Next</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_194_26">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_192_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Usr</A>);
+      <b>pragma</b> Assert (<a href="terminal_interface-curses-forms-field_types__adb.htm#ref_193_7">Arg</a> /= <b>null</b> <b>and</b> <b>then</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_193_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</a> /= <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</a>
+                     <b>and</b> <b>then</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_193_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</a> /= <b>null</b>);
+      <b>if</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_193_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_130_10">Next</a> /= <b>null</b> <b>then</b>
+         <b>return</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_193_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_130_10">Next</a> (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_194_26">Fld</a>, <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_193_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Usr</a>);
       <b>else</b>
          <b>return</b> 1;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_194_13">Next_Router</A>;
+   <b>end</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_194_13">Next_Router</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_204_13" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_202_13">Prev_Router</A></span> (<span class="symbol"><A NAME="ref_204_26" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_202_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                         <span class="symbol"><A NAME="ref_205_26" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_203_26">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>
+   <b>function</b> <span class="symbol"><a name="ref_205_13" href="terminal_interface-curses-forms-field_types__ads.htm#ref_202_13">Prev_Router</a></span> (<span class="symbol"><a name="ref_205_26" href="terminal_interface-curses-forms-field_types__ads.htm#ref_202_26">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                         <span class="symbol"><a name="ref_206_26" href="terminal_interface-curses-forms-field_types__ads.htm#ref_203_26">Usr</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>
    <b>is</b>
-      <span class="symbol"><A NAME="ref_207_7">Arg</A></span>  : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</A> :=
-               <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</A> (Argument_Conversions.To_Pointer (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_203_26">Usr</A>));
+      <span class="symbol"><a name="ref_208_7">Arg</a></span>  : <b>constant</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</a> :=
+               <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</a> (Argument_Conversions.To_Pointer (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_203_26">Usr</a>));
    <b>begin</b>
-      <b>pragma</b> Assert (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_207_7">Arg</A> /= <b>null</b> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_207_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</A> /= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</A>
-                     <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_207_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</A> /= <b>null</b>);
-      <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_207_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_130_16">Prev</A> /= <b>null</b> <b>then</b>
-         <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_207_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_130_16">Prev</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_202_26">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_207_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Usr</A>);
+      <b>pragma</b> Assert (<a href="terminal_interface-curses-forms-field_types__adb.htm#ref_208_7">Arg</a> /= <b>null</b> <b>and</b> <b>then</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_208_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</a> /= <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</a>
+                     <b>and</b> <b>then</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_208_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</a> /= <b>null</b>);
+      <b>if</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_208_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_130_16">Prev</a> /= <b>null</b> <b>then</b>
+         <b>return</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_208_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_130_16">Prev</a> (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_202_26">Fld</a>, <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_208_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Usr</a>);
       <b>else</b>
          <b>return</b> 1;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_202_13">Prev_Router</A>;
+   <b>end</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_202_13">Prev_Router</a>;
 
-   <span class="comment"><EM>--  -----------------------------------------------------------------------</EM></span>
-   <span class="comment"><EM>--</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_221_13" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_149_13">C_Builtin_Router</A></span> <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A>
+   <span class="comment"><em>--  -----------------------------------------------------------------------</em></span>
+   <span class="comment"><em>--</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_222_13" href="terminal_interface-curses-forms-field_types__ads.htm#ref_149_13">C_Builtin_Router</a></span> <b>return</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a>
    <b>is</b>
-      <span class="symbol"><A NAME="ref_223_7">T</A></span>   : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A>;
+      <span class="symbol"><a name="ref_224_7">T</a></span>   : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a>;
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_144_4">M_Builtin_Router</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</A> <b>then</b>
-         <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_223_7">T</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_223_13">New_Fieldtype</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_178_13">Field_Check_Router</A>'<b>Access</b>,
-                             <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_186_13">Char_Check_Router</A>'<b>Access</b>);
-         <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_223_7">T</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</A> <b>then</b>
-            <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_287_4">Form_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_144_4">M_Builtin_Router</a> = <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</a> <b>then</b>
+         <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_224_7">T</a> := <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_223_13">New_Fieldtype</a> (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_178_13">Field_Check_Router</a>'<b>Access</b>,
+                             <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_186_13">Char_Check_Router</a>'<b>Access</b>);
+         <b>if</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_224_7">T</a> = <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</a> <b>then</b>
+            <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>;
          <b>else</b>
-            <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_228_13">Set_Fieldtype_Arg</A> (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_223_7">T</A>,
-                                              <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_163_13">Make_Arg</A>'<b>Access</b>,
-                                              <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_168_13">Copy_Arg</A>'<b>Access</b>,
-                                              <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_173_14">Free_Arg</A>'<b>Access</b>));
+            <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_228_13">Set_Fieldtype_Arg</a> (<a href="terminal_interface-curses-forms-field_types__adb.htm#ref_224_7">T</a>,
+                                              <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_163_13">Make_Arg</a>'<b>Access</b>,
+                                              <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_168_13">Copy_Arg</a>'<b>Access</b>,
+                                              <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_173_14">Free_Arg</a>'<b>Access</b>));
          <b>end</b> <b>if</b>;
-         <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_144_4">M_Builtin_Router</A> := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_223_7">T</A>;
+         <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_144_4">M_Builtin_Router</a> := <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_224_7">T</a>;
       <b>end</b> <b>if</b>;
-      <b>pragma</b> Assert (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_144_4">M_Builtin_Router</A> /= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</A>);
-      <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_144_4">M_Builtin_Router</A>;
-   <b>end</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_149_13">C_Builtin_Router</A>;
+      <b>pragma</b> Assert (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_144_4">M_Builtin_Router</a> /= <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</a>);
+      <b>return</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_144_4">M_Builtin_Router</a>;
+   <b>end</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_149_13">C_Builtin_Router</a>;
 
-   <span class="comment"><EM>--  -----------------------------------------------------------------------</EM></span>
-   <span class="comment"><EM>--</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_244_13" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_150_13">C_Choice_Router</A></span> <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A>
+   <span class="comment"><em>--  -----------------------------------------------------------------------</em></span>
+   <span class="comment"><em>--</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_245_13" href="terminal_interface-curses-forms-field_types__ads.htm#ref_150_13">C_Choice_Router</a></span> <b>return</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a>
    <b>is</b>
-      <span class="symbol"><A NAME="ref_246_7">T</A></span>   : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A>;
+      <span class="symbol"><a name="ref_247_7">T</a></span>   : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a>;
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_145_4">M_Choice_Router</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</A> <b>then</b>
-         <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_246_7">T</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_223_13">New_Fieldtype</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_178_13">Field_Check_Router</A>'<b>Access</b>,
-                             <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_186_13">Char_Check_Router</A>'<b>Access</b>);
-         <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_246_7">T</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</A> <b>then</b>
-            <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_287_4">Form_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_145_4">M_Choice_Router</a> = <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</a> <b>then</b>
+         <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_247_7">T</a> := <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_223_13">New_Fieldtype</a> (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_178_13">Field_Check_Router</a>'<b>Access</b>,
+                             <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_186_13">Char_Check_Router</a>'<b>Access</b>);
+         <b>if</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_247_7">T</a> = <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</a> <b>then</b>
+            <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>;
          <b>else</b>
-            <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_228_13">Set_Fieldtype_Arg</A> (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_246_7">T</A>,
-                                              <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_163_13">Make_Arg</A>'<b>Access</b>,
-                                              <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_168_13">Copy_Arg</A>'<b>Access</b>,
-                                              <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_173_14">Free_Arg</A>'<b>Access</b>));
+            <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_228_13">Set_Fieldtype_Arg</a> (<a href="terminal_interface-curses-forms-field_types__adb.htm#ref_247_7">T</a>,
+                                              <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_163_13">Make_Arg</a>'<b>Access</b>,
+                                              <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_168_13">Copy_Arg</a>'<b>Access</b>,
+                                              <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_173_14">Free_Arg</a>'<b>Access</b>));
 
-            <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_235_13">Set_Fieldtype_Choice</A> (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_246_7">T</A>,
-                                                 <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_194_13">Next_Router</A>'<b>Access</b>,
-                                                 <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_202_13">Prev_Router</A>'<b>Access</b>));
+            <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_235_13">Set_Fieldtype_Choice</a> (<a href="terminal_interface-curses-forms-field_types__adb.htm#ref_247_7">T</a>,
+                                                 <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_194_13">Next_Router</a>'<b>Access</b>,
+                                                 <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_202_13">Prev_Router</a>'<b>Access</b>));
          <b>end</b> <b>if</b>;
-         <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_145_4">M_Choice_Router</A> := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_246_7">T</A>;
+         <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_145_4">M_Choice_Router</a> := <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_247_7">T</a>;
       <b>end</b> <b>if</b>;
-      <b>pragma</b> Assert (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_145_4">M_Choice_Router</A> /= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</A>);
-      <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_145_4">M_Choice_Router</A>;
-   <b>end</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_150_13">C_Choice_Router</A>;
+      <b>pragma</b> Assert (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_145_4">M_Choice_Router</a> /= <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</a>);
+      <b>return</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_145_4">M_Choice_Router</a>;
+   <b>end</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_150_13">C_Choice_Router</a>;
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types__ads.htm b/doc/html/ada/terminal_interface-curses-forms-field_types__ads.htm
index a22b5d5..1970dd4 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_types__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types__ads.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-forms-field_types.ads</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-forms-field_types.ads</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,248 +11,248 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_types.ads </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                 Terminal_Interface.Curses.Forms.Field_Types              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 S P E C                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2011,2014 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.19 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C;
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_types.ads </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                 Terminal_Interface.Curses.Forms.Field_Types              --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 S P E C                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2018,2020 Thomas E. Dickey                                     --</em></span>
+<span class="comment"><em>-- Copyright 1998-2011,2014 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.21 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C;
+<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>;
 
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<span class="symbol"><A NAME="ref_44_41" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_51_46">Field_Types</A></span> <b>is</b>
-   <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>);
-   <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.int;
-   <b>subtype</b> <span class="symbol"><A NAME="ref_47_12">C_Int</A></span> <b>is</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.int;
+<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<span class="symbol"><a name="ref_45_41" href="terminal_interface-curses-forms-field_types__adb.htm#ref_52_46">Field_Types</a></span> <b>is</b>
+   <b>pragma</b> Preelaborate (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>);
+   <b>subtype</b> <span class="symbol"><a name="ref_47_12">C_Int</a></span> <b>is</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.int;
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/form_fieldtype.3x.html">form_fieldtype.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/form_fieldtype.3x.html">form_fieldtype.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <b>type</b> <span class="symbol"><A NAME="ref_53_9">Field_Type</A></span> <b>is</b> <b>abstract</b> <b>tagged</b> <b>null</b> <b>record</b>;
-   <span class="comment"><EM>--  Abstract base type for all field types. A concrete field type</EM></span>
-   <span class="comment"><EM>--  is an extension that adds some data elements describing formats or</EM></span>
-   <span class="comment"><EM>--  boundary values for the type and validation routines.</EM></span>
-   <span class="comment"><EM>--  For the builtin low-level fieldtypes, the validation routines are</EM></span>
-   <span class="comment"><EM>--  already defined by the low-level C library.</EM></span>
-   <span class="comment"><EM>--  The builtin types like Alpha or AlphaNumeric etc. are defined in</EM></span>
-   <span class="comment"><EM>--  child packages of this package. You may use one of them as example</EM></span>
-   <span class="comment"><EM>--  how to create you own child packages for low-level field types that</EM></span>
-   <span class="comment"><EM>--  you may have already written in C.</EM></span>
+   <b>type</b> <span class="symbol"><a name="ref_53_9">Field_Type</a></span> <b>is</b> <b>abstract</b> <b>tagged</b> <b>null</b> <b>record</b>;
+   <span class="comment"><em>--  Abstract base type for all field types. A concrete field type</em></span>
+   <span class="comment"><em>--  is an extension that adds some data elements describing formats or</em></span>
+   <span class="comment"><em>--  boundary values for the type and validation routines.</em></span>
+   <span class="comment"><em>--  For the builtin low-level fieldtypes, the validation routines are</em></span>
+   <span class="comment"><em>--  already defined by the low-level C library.</em></span>
+   <span class="comment"><em>--  The builtin types like Alpha or AlphaNumeric etc. are defined in</em></span>
+   <span class="comment"><em>--  child packages of this package. You may use one of them as example</em></span>
+   <span class="comment"><em>--  how to create you own child packages for low-level field types that</em></span>
+   <span class="comment"><em>--  you may have already written in C.</em></span>
 
-   <b>type</b> <span class="symbol"><A NAME="ref_64_9">Field_Type_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</A>'Class;
+   <b>type</b> <span class="symbol"><a name="ref_64_9">Field_Type_Access</a></span> <b>is</b> <b>access</b> <b>all</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</a>'Class;
 
-   <span class="comment"><EM>--  #1A NAME="AFU_1"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_67_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_67_30" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_67_14">Fld</A></span>      : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                             <span class="symbol"><A NAME="ref_68_30" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_67_14">Fld_Type</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</A>) <b>is</b> <b>abstract</b>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_fieldtype.3x.html">set_field_type()</A></EM></span>
-   <span class="comment"><EM>--  But: we hide the vararg mechanism of the C interface. You always</EM></span>
-   <span class="comment"><EM>--       have to pass a single Field_Type parameter.</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_1">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_67_14">Set_Field_Type</a></span> (<span class="symbol"><a name="ref_67_30">Fld</a></span>      : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                             <span class="symbol"><a name="ref_68_30">Fld_Type</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</a>) <b>is</b> <b>abstract</b>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_fieldtype.3x.html">set_field_type()</A></em></span>
+   <span class="comment"><em>--  But: we hide the vararg mechanism of the C interface. You always</em></span>
+   <span class="comment"><em>--       have to pass a single Field_Type parameter.</em></span>
 
-   <span class="comment"><EM>--  ---------------------------------------------------------------------</EM></span>
+   <span class="comment"><em>--  ---------------------------------------------------------------------</em></span>
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/form_field_validation.3x.html">form_field_validation.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/form_field_validation.3x.html">form_field_validation.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_2"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_80_13" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_70_13">Get_Type</A></span> (<span class="symbol"><A NAME="ref_80_23" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_70_23">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_64_9">Field_Type_Access</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_field_validation.3x.html">field_type()</A></EM></span>
-   <span class="comment"><EM>--  AKA: field_arg()</EM></span>
-   <span class="comment"><EM>--  In Ada95 we can combine these. If you try to retrieve the field type</EM></span>
-   <span class="comment"><EM>--  that is not defined as extension of the abstract tagged type above,</EM></span>
-   <span class="comment"><EM>--  you will raise a Form_Exception.</EM></span>
-   <span class="comment"><EM>--  This is not inlined</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_2">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_80_13" href="terminal_interface-curses-forms-field_types__adb.htm#ref_71_13">Get_Type</a></span> (<span class="symbol"><a name="ref_80_23" href="terminal_interface-curses-forms-field_types__adb.htm#ref_71_23">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_64_9">Field_Type_Access</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_field_validation.3x.html">field_type()</A></em></span>
+   <span class="comment"><em>--  AKA: field_arg()</em></span>
+   <span class="comment"><em>--  In Ada95 we can combine these. If you try to retrieve the field type</em></span>
+   <span class="comment"><em>--  that is not defined as extension of the abstract tagged type above,</em></span>
+   <span class="comment"><em>--  you will raise a Form_Exception.</em></span>
+   <span class="comment"><em>--  This is not inlined</em></span>
 
-   <span class="comment"><EM>--  +----------------------------------------------------------------------</EM></span>
-   <span class="comment"><EM>--  | Private Part.</EM></span>
-   <span class="comment"><EM>--  | Most of this is used by the implementations of the child packages.</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
+   <span class="comment"><em>--  +----------------------------------------------------------------------</em></span>
+   <span class="comment"><em>--  | Private Part.</em></span>
+   <span class="comment"><em>--  | Most of this is used by the implementations of the child packages.</em></span>
+   <span class="comment"><em>--  |</em></span>
 <b>private</b>
-   <b>type</b> <span class="symbol"><A NAME="ref_93_9">Makearg_Function</A></span> <b>is</b> <b>access</b>
-     <b>function</b> (<span class="symbol"><A NAME="ref_94_16">Args</A></span> : System.Address) <b>return</b> System.Address;
-   <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_93_9">Makearg_Function</A>);
+   <b>type</b> <span class="symbol"><a name="ref_93_9" href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Makearg_Function</a></span> <b>is</b> <b>access</b>
+     <b>function</b> (<span class="symbol"><a name="ref_94_16">Args</a></span> : System.Address) <b>return</b> System.Address;
+   <b>pragma</b> Convention (C, <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_93_9">Makearg_Function</a>);
 
-   <b>type</b> <span class="symbol"><A NAME="ref_97_9">Copyarg_Function</A></span> <b>is</b> <b>access</b>
-     <b>function</b> (<span class="symbol"><A NAME="ref_98_16">Usr</A></span> : System.Address) <b>return</b> System.Address;
-   <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_97_9">Copyarg_Function</A>);
+   <b>type</b> <span class="symbol"><a name="ref_97_9">Copyarg_Function</a></span> <b>is</b> <b>access</b>
+     <b>function</b> (<span class="symbol"><a name="ref_98_16">Usr</a></span> : System.Address) <b>return</b> System.Address;
+   <b>pragma</b> Convention (C, <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_97_9">Copyarg_Function</a>);
 
-   <b>type</b> <span class="symbol"><A NAME="ref_101_9">Freearg_Function</A></span> <b>is</b> <b>access</b>
-     <b>procedure</b> (<span class="symbol"><A NAME="ref_102_17">Usr</A></span> : System.Address);
-   <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_101_9">Freearg_Function</A>);
+   <b>type</b> <span class="symbol"><a name="ref_101_9">Freearg_Function</a></span> <b>is</b> <b>access</b>
+     <b>procedure</b> (<span class="symbol"><a name="ref_102_17">Usr</a></span> : System.Address);
+   <b>pragma</b> Convention (C, <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_101_9">Freearg_Function</a>);
 
-   <b>type</b> <span class="symbol"><A NAME="ref_105_9">Field_Check_Function</A></span> <b>is</b> <b>access</b>
-     <b>function</b> (<span class="symbol"><A NAME="ref_106_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>; <span class="symbol"><A NAME="ref_106_29">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
-   <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_105_9">Field_Check_Function</A>);
+   <b>type</b> <span class="symbol"><a name="ref_105_9">Field_Check_Function</a></span> <b>is</b> <b>access</b>
+     <b>function</b> (<span class="symbol"><a name="ref_106_16">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; <span class="symbol"><a name="ref_106_29">Usr</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>;
+   <b>pragma</b> Convention (C, <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_105_9">Field_Check_Function</a>);
 
-   <b>type</b> <span class="symbol"><A NAME="ref_109_9">Char_Check_Function</A></span> <b>is</b> <b>access</b>
-     <b>function</b> (<span class="symbol"><A NAME="ref_110_16">Ch</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</A>; <span class="symbol"><A NAME="ref_110_28">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
-   <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_109_9">Char_Check_Function</A>);
+   <b>type</b> <span class="symbol"><a name="ref_109_9">Char_Check_Function</a></span> <b>is</b> <b>access</b>
+     <b>function</b> (<span class="symbol"><a name="ref_110_16">Ch</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</a>; <span class="symbol"><a name="ref_110_28">Usr</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>;
+   <b>pragma</b> Convention (C, <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_109_9">Char_Check_Function</a>);
 
-   <b>type</b> <span class="symbol"><A NAME="ref_113_9">Choice_Function</A></span> <b>is</b> <b>access</b>
-     <b>function</b> (<span class="symbol"><A NAME="ref_114_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>; <span class="symbol"><A NAME="ref_114_29">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
-   <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_113_9">Choice_Function</A>);
+   <b>type</b> <span class="symbol"><a name="ref_113_9">Choice_Function</a></span> <b>is</b> <b>access</b>
+     <b>function</b> (<span class="symbol"><a name="ref_114_16">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; <span class="symbol"><a name="ref_114_29">Usr</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>;
+   <b>pragma</b> Convention (C, <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_113_9">Choice_Function</a>);
 
-   <span class="comment"><EM>--  +----------------------------------------------------------------------</EM></span>
-   <span class="comment"><EM>--  | This must be in sync with the FIELDTYPE structure in form.h</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>type</b> <span class="symbol"><A NAME="ref_120_9">Low_Level_Field_Type</A></span> <b>is</b>
+   <span class="comment"><em>--  +----------------------------------------------------------------------</em></span>
+   <span class="comment"><em>--  | This must be in sync with the FIELDTYPE structure in form.h</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>type</b> <span class="symbol"><a name="ref_120_9">Low_Level_Field_Type</a></span> <b>is</b>
       <b>record</b>
-         <span class="symbol"><A NAME="ref_122_10">Status</A></span> :              <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.unsigned_short;
-         <span class="symbol"><A NAME="ref_123_10">Ref_Count</A></span> :           <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.long;
-         <span class="symbol"><A NAME="ref_124_10">Left</A></span>, <span class="symbol"><A NAME="ref_124_16">Right</A></span> :         System.Address;
-         <span class="symbol"><A NAME="ref_125_10">Makearg</A></span> :             <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_93_9">Makearg_Function</A>;
-         <span class="symbol"><A NAME="ref_126_10">Copyarg</A></span> :             <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_97_9">Copyarg_Function</A>;
-         <span class="symbol"><A NAME="ref_127_10">Freearg</A></span> :             <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_101_9">Freearg_Function</A>;
-         <span class="symbol"><A NAME="ref_128_10">Fcheck</A></span> :              <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_105_9">Field_Check_Function</A>;
-         <span class="symbol"><A NAME="ref_129_10">Ccheck</A></span> :              <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_109_9">Char_Check_Function</A>;
-         <span class="symbol"><A NAME="ref_130_10">Next</A></span>, <span class="symbol"><A NAME="ref_130_16">Prev</A></span> :          <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_113_9">Choice_Function</A>;
+         <span class="symbol"><a name="ref_122_10">Status</a></span> :              <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.unsigned_short;
+         <span class="symbol"><a name="ref_123_10">Ref_Count</a></span> :           <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.long;
+         <span class="symbol"><a name="ref_124_10">Left</a></span>, <span class="symbol"><a name="ref_124_16">Right</a></span> :         System.Address;
+         <span class="symbol"><a name="ref_125_10">Makearg</a></span> :             <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_93_9">Makearg_Function</a>;
+         <span class="symbol"><a name="ref_126_10">Copyarg</a></span> :             <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_97_9">Copyarg_Function</a>;
+         <span class="symbol"><a name="ref_127_10">Freearg</a></span> :             <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_101_9">Freearg_Function</a>;
+         <span class="symbol"><a name="ref_128_10">Fcheck</a></span> :              <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_105_9">Field_Check_Function</a>;
+         <span class="symbol"><a name="ref_129_10">Ccheck</a></span> :              <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_109_9">Char_Check_Function</a>;
+         <span class="symbol"><a name="ref_130_10">Next</a></span>, <span class="symbol"><a name="ref_130_16">Prev</a></span> :          <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_113_9">Choice_Function</a>;
       <b>end</b> <b>record</b>;
-   <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_120_9">Low_Level_Field_Type</A>);
-   <b>type</b> <span class="symbol"><A NAME="ref_133_9">C_Field_Type</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_120_9">Low_Level_Field_Type</A>;
+   <b>pragma</b> Convention (C, <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_120_9">Low_Level_Field_Type</a>);
+   <b>type</b> <span class="symbol"><a name="ref_133_9">C_Field_Type</a></span> <b>is</b> <b>access</b> <b>all</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_120_9">Low_Level_Field_Type</a>;
 
-   <span class="symbol"><A NAME="ref_135_4">Null_Field_Type</A></span>   : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A> := <b>null</b>;
+   <span class="symbol"><a name="ref_135_4">Null_Field_Type</a></span>   : <b>constant</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a> := <b>null</b>;
 
-   <span class="comment"><EM>--  +----------------------------------------------------------------------</EM></span>
-   <span class="comment"><EM>--  | This four low-level fieldtypes are the ones associated with</EM></span>
-   <span class="comment"><EM>--  | fieldtypes handled by this binding. Any other low-level fieldtype</EM></span>
-   <span class="comment"><EM>--  | will result in a Form_Exception is function Get_Type.</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="symbol"><A NAME="ref_142_4">M_Generic_Type</A></span>   : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A> := <b>null</b>;
-   <span class="symbol"><A NAME="ref_143_4">M_Generic_Choice</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A> := <b>null</b>;
-   <span class="symbol"><A NAME="ref_144_4">M_Builtin_Router</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A> := <b>null</b>;
-   <span class="symbol"><A NAME="ref_145_4">M_Choice_Router</A></span>  : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A> := <b>null</b>;
+   <span class="comment"><em>--  +----------------------------------------------------------------------</em></span>
+   <span class="comment"><em>--  | This four low-level fieldtypes are the ones associated with</em></span>
+   <span class="comment"><em>--  | fieldtypes handled by this binding. Any other low-level fieldtype</em></span>
+   <span class="comment"><em>--  | will result in a Form_Exception is function Get_Type.</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="symbol"><a name="ref_142_4">M_Generic_Type</a></span>   : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a> := <b>null</b>;
+   <span class="symbol"><a name="ref_143_4">M_Generic_Choice</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a> := <b>null</b>;
+   <span class="symbol"><a name="ref_144_4">M_Builtin_Router</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a> := <b>null</b>;
+   <span class="symbol"><a name="ref_145_4">M_Choice_Router</a></span>  : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a> := <b>null</b>;
 
-   <span class="comment"><EM>--  Two wrapper functions to access those low-level fieldtypes defined</EM></span>
-   <span class="comment"><EM>--  in this package.</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_149_13" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_221_13">C_Builtin_Router</A></span> <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A>;
-   <b>function</b> <span class="symbol"><A NAME="ref_150_13" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_244_13">C_Choice_Router</A></span>  <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A>;
+   <span class="comment"><em>--  Two wrapper functions to access those low-level fieldtypes defined</em></span>
+   <span class="comment"><em>--  in this package.</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_149_13" href="terminal_interface-curses-forms-field_types__adb.htm#ref_222_13">C_Builtin_Router</a></span> <b>return</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a>;
+   <b>function</b> <span class="symbol"><a name="ref_150_13" href="terminal_interface-curses-forms-field_types__adb.htm#ref_245_13">C_Choice_Router</a></span>  <b>return</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_152_14" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_127_14">Wrap_Builtin</A></span> (<span class="symbol"><A NAME="ref_152_28" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_127_28">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                           <span class="symbol"><A NAME="ref_153_28" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_128_28">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</A>'Class;
-                           <span class="symbol"><A NAME="ref_154_28" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_129_28">Cft</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_149_13">C_Builtin_Router</A>);
-   <span class="comment"><EM>--  This procedure has to be called by the Set_Field_Type implementation</EM></span>
-   <span class="comment"><EM>--  for builtin low-level fieldtypes to replace it by an Ada95</EM></span>
-   <span class="comment"><EM>--  conformant Field_Type object.</EM></span>
-   <span class="comment"><EM>--  The parameter Cft must be C_Builtin_Router for regular low-level</EM></span>
-   <span class="comment"><EM>--  fieldtypes (like TYP_ALPHA or TYP_ALNUM) and C_Choice_Router for</EM></span>
-   <span class="comment"><EM>--  low-level fieldtypes witch choice functions (like TYP_ENUM).</EM></span>
-   <span class="comment"><EM>--  Any other value will raise a Form_Exception.</EM></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_152_14" href="terminal_interface-curses-forms-field_types__adb.htm#ref_128_14">Wrap_Builtin</a></span> (<span class="symbol"><a name="ref_152_28" href="terminal_interface-curses-forms-field_types__adb.htm#ref_128_28">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                           <span class="symbol"><a name="ref_153_28" href="terminal_interface-curses-forms-field_types__adb.htm#ref_129_28">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</a>'Class;
+                           <span class="symbol"><a name="ref_154_28" href="terminal_interface-curses-forms-field_types__adb.htm#ref_130_28">Cft</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a> := <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_149_13">C_Builtin_Router</a>);
+   <span class="comment"><em>--  This procedure has to be called by the Set_Field_Type implementation</em></span>
+   <span class="comment"><em>--  for builtin low-level fieldtypes to replace it by an Ada95</em></span>
+   <span class="comment"><em>--  conformant Field_Type object.</em></span>
+   <span class="comment"><em>--  The parameter Cft must be C_Builtin_Router for regular low-level</em></span>
+   <span class="comment"><em>--  fieldtypes (like TYP_ALPHA or TYP_ALNUM) and C_Choice_Router for</em></span>
+   <span class="comment"><em>--  low-level fieldtypes witch choice functions (like TYP_ENUM).</em></span>
+   <span class="comment"><em>--  Any other value will raise a Form_Exception.</em></span>
 
-   <b>function</b> <span class="symbol"><A NAME="ref_163_13">Make_Arg</A></span> (<span class="symbol"><A NAME="ref_163_23" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_163_13">Args</A></span> : System.Address) <b>return</b> System.Address;
+   <b>function</b> <span class="symbol"><a name="ref_163_13">Make_Arg</a></span> (<span class="symbol"><a name="ref_163_23">Args</a></span> : System.Address) <b>return</b> System.Address;
    <b>pragma</b> Import (C, Make_Arg, "void_star_make_arg");
-   <span class="comment"><EM>--  This is the Makearg_Function for the internal low-level types</EM></span>
-   <span class="comment"><EM>--  introduced by this binding.</EM></span>
+   <span class="comment"><em>--  This is the Makearg_Function for the internal low-level types</em></span>
+   <span class="comment"><em>--  introduced by this binding.</em></span>
 
-   <b>function</b> <span class="symbol"><A NAME="ref_168_13" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_96_13">Copy_Arg</A></span> (<span class="symbol"><A NAME="ref_168_23" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_96_23">Usr</A></span> : System.Address) <b>return</b> System.Address;
-   <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_168_13">Copy_Arg</A>);
-   <span class="comment"><EM>--  This is the Copyarg_Function for the internal low-level types</EM></span>
-   <span class="comment"><EM>--  introduced by this binding.</EM></span>
+   <b>function</b> <span class="symbol"><a name="ref_168_13" href="terminal_interface-curses-forms-field_types__adb.htm#ref_97_13">Copy_Arg</a></span> (<span class="symbol"><a name="ref_168_23" href="terminal_interface-curses-forms-field_types__adb.htm#ref_97_23">Usr</a></span> : System.Address) <b>return</b> System.Address;
+   <b>pragma</b> Convention (C, <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_168_13">Copy_Arg</a>);
+   <span class="comment"><em>--  This is the Copyarg_Function for the internal low-level types</em></span>
+   <span class="comment"><em>--  introduced by this binding.</em></span>
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_173_14" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_102_14">Free_Arg</A></span> (<span class="symbol"><A NAME="ref_173_24" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_102_24">Usr</A></span> : System.Address);
-   <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_173_14">Free_Arg</A>);
-   <span class="comment"><EM>--  This is the Freearg_Function for the internal low-level types</EM></span>
-   <span class="comment"><EM>--  introduced by this binding.</EM></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_173_14" href="terminal_interface-curses-forms-field_types__adb.htm#ref_103_14">Free_Arg</a></span> (<span class="symbol"><a name="ref_173_24" href="terminal_interface-curses-forms-field_types__adb.htm#ref_103_24">Usr</a></span> : System.Address);
+   <b>pragma</b> Convention (C, <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_173_14">Free_Arg</a>);
+   <span class="comment"><em>--  This is the Freearg_Function for the internal low-level types</em></span>
+   <span class="comment"><em>--  introduced by this binding.</em></span>
 
-   <b>function</b> <span class="symbol"><A NAME="ref_178_13" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_159_13">Field_Check_Router</A></span> (<span class="symbol"><A NAME="ref_178_33" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_159_33">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                                <span class="symbol"><A NAME="ref_179_33" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_160_33">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
-   <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_178_13">Field_Check_Router</A>);
-   <span class="comment"><EM>--  This is the Field_Check_Function for the internal low-level types</EM></span>
-   <span class="comment"><EM>--  introduced to wrap the low-level types by a Field_Type derived</EM></span>
-   <span class="comment"><EM>--  type. It routes the call to the corresponding low-level validation</EM></span>
-   <span class="comment"><EM>--  function.</EM></span>
+   <b>function</b> <span class="symbol"><a name="ref_178_13" href="terminal_interface-curses-forms-field_types__adb.htm#ref_160_13">Field_Check_Router</a></span> (<span class="symbol"><a name="ref_178_33" href="terminal_interface-curses-forms-field_types__adb.htm#ref_160_33">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                                <span class="symbol"><a name="ref_179_33" href="terminal_interface-curses-forms-field_types__adb.htm#ref_161_33">Usr</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>;
+   <b>pragma</b> Convention (C, <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_178_13">Field_Check_Router</a>);
+   <span class="comment"><em>--  This is the Field_Check_Function for the internal low-level types</em></span>
+   <span class="comment"><em>--  introduced to wrap the low-level types by a Field_Type derived</em></span>
+   <span class="comment"><em>--  type. It routes the call to the corresponding low-level validation</em></span>
+   <span class="comment"><em>--  function.</em></span>
 
-   <b>function</b> <span class="symbol"><A NAME="ref_186_13" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_174_13">Char_Check_Router</A></span> (<span class="symbol"><A NAME="ref_186_32" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_174_32">Ch</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</A>;
-                               <span class="symbol"><A NAME="ref_187_32" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_175_32">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
-   <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_186_13">Char_Check_Router</A>);
-   <span class="comment"><EM>--  This is the Char_Check_Function for the internal low-level types</EM></span>
-   <span class="comment"><EM>--  introduced to wrap the low-level types by a Field_Type derived</EM></span>
-   <span class="comment"><EM>--  type. It routes the call to the corresponding low-level validation</EM></span>
-   <span class="comment"><EM>--  function.</EM></span>
+   <b>function</b> <span class="symbol"><a name="ref_186_13" href="terminal_interface-curses-forms-field_types__adb.htm#ref_175_13">Char_Check_Router</a></span> (<span class="symbol"><a name="ref_186_32" href="terminal_interface-curses-forms-field_types__adb.htm#ref_175_32">Ch</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</a>;
+                               <span class="symbol"><a name="ref_187_32" href="terminal_interface-curses-forms-field_types__adb.htm#ref_176_32">Usr</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>;
+   <b>pragma</b> Convention (C, <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_186_13">Char_Check_Router</a>);
+   <span class="comment"><em>--  This is the Char_Check_Function for the internal low-level types</em></span>
+   <span class="comment"><em>--  introduced to wrap the low-level types by a Field_Type derived</em></span>
+   <span class="comment"><em>--  type. It routes the call to the corresponding low-level validation</em></span>
+   <span class="comment"><em>--  function.</em></span>
 
-   <b>function</b> <span class="symbol"><A NAME="ref_194_13" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_189_13">Next_Router</A></span> (<span class="symbol"><A NAME="ref_194_26" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_189_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                         <span class="symbol"><A NAME="ref_195_26" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_190_26">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
-   <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_194_13">Next_Router</A>);
-   <span class="comment"><EM>--  This is the Choice_Function for the internal low-level types</EM></span>
-   <span class="comment"><EM>--  introduced to wrap the low-level types by a Field_Type derived</EM></span>
-   <span class="comment"><EM>--  type. It routes the call to the corresponding low-level next_choice</EM></span>
-   <span class="comment"><EM>--  function.</EM></span>
+   <b>function</b> <span class="symbol"><a name="ref_194_13" href="terminal_interface-curses-forms-field_types__adb.htm#ref_190_13">Next_Router</a></span> (<span class="symbol"><a name="ref_194_26" href="terminal_interface-curses-forms-field_types__adb.htm#ref_190_26">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                         <span class="symbol"><a name="ref_195_26" href="terminal_interface-curses-forms-field_types__adb.htm#ref_191_26">Usr</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>;
+   <b>pragma</b> Convention (C, <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_194_13">Next_Router</a>);
+   <span class="comment"><em>--  This is the Choice_Function for the internal low-level types</em></span>
+   <span class="comment"><em>--  introduced to wrap the low-level types by a Field_Type derived</em></span>
+   <span class="comment"><em>--  type. It routes the call to the corresponding low-level next_choice</em></span>
+   <span class="comment"><em>--  function.</em></span>
 
-   <b>function</b> <span class="symbol"><A NAME="ref_202_13" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_204_13">Prev_Router</A></span> (<span class="symbol"><A NAME="ref_202_26" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_204_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                         <span class="symbol"><A NAME="ref_203_26" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_205_26">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
-   <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_202_13">Prev_Router</A>);
-   <span class="comment"><EM>--  This is the Choice_Function for the internal low-level types</EM></span>
-   <span class="comment"><EM>--  introduced to wrap the low-level types by a Field_Type derived</EM></span>
-   <span class="comment"><EM>--  type. It routes the call to the corresponding low-level prev_choice</EM></span>
-   <span class="comment"><EM>--  function.</EM></span>
+   <b>function</b> <span class="symbol"><a name="ref_202_13" href="terminal_interface-curses-forms-field_types__adb.htm#ref_205_13">Prev_Router</a></span> (<span class="symbol"><a name="ref_202_26" href="terminal_interface-curses-forms-field_types__adb.htm#ref_205_26">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                         <span class="symbol"><a name="ref_203_26" href="terminal_interface-curses-forms-field_types__adb.htm#ref_206_26">Usr</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>;
+   <b>pragma</b> Convention (C, <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_202_13">Prev_Router</a>);
+   <span class="comment"><em>--  This is the Choice_Function for the internal low-level types</em></span>
+   <span class="comment"><em>--  introduced to wrap the low-level types by a Field_Type derived</em></span>
+   <span class="comment"><em>--  type. It routes the call to the corresponding low-level prev_choice</em></span>
+   <span class="comment"><em>--  function.</em></span>
 
-   <span class="comment"><EM>--  This is the Argument structure maintained by all low-level field types</EM></span>
-   <span class="comment"><EM>--  introduced by this binding.</EM></span>
-   <b>type</b> <span class="symbol"><A NAME="ref_212_9">Argument</A></span> <b>is</b> <b>record</b>
-      <span class="symbol"><A NAME="ref_213_7">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_64_9">Field_Type_Access</A>;   <span class="comment"><EM>--  the Field_Type creating this record</EM></span>
-      <span class="symbol"><A NAME="ref_214_7">Usr</A></span> : System.Address;      <span class="comment"><EM>--  original arg for builtin low-level types</EM></span>
-      <span class="symbol"><A NAME="ref_215_7">Cft</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A>;        <span class="comment"><EM>--  the original low-level type</EM></span>
+   <span class="comment"><em>--  This is the Argument structure maintained by all low-level field types</em></span>
+   <span class="comment"><em>--  introduced by this binding.</em></span>
+   <b>type</b> <span class="symbol"><a name="ref_212_9">Argument</a></span> <b>is</b> <b>record</b>
+      <span class="symbol"><a name="ref_213_7">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_64_9">Field_Type_Access</a>;   <span class="comment"><em>--  the Field_Type creating this record</em></span>
+      <span class="symbol"><a name="ref_214_7">Usr</a></span> : System.Address;      <span class="comment"><em>--  original arg for builtin low-level types</em></span>
+      <span class="symbol"><a name="ref_215_7">Cft</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a>;        <span class="comment"><em>--  the original low-level type</em></span>
    <b>end</b> <b>record</b>;
-   <b>type</b> <span class="symbol"><A NAME="ref_217_9">Argument_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_212_9">Argument</A>;
+   <b>type</b> <span class="symbol"><a name="ref_217_9">Argument_Access</a></span> <b>is</b> <b>access</b> <b>all</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_212_9">Argument</a>;
 
-   <span class="comment"><EM>--  +----------------------------------------------------------------------</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  | Some Imports of libform routines to deal with low-level fieldtypes.</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_223_13">New_Fieldtype</A></span> (<span class="symbol"><A NAME="ref_223_28" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_223_13">Fcheck</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_105_9">Field_Check_Function</A>;
-                           <span class="symbol"><A NAME="ref_224_28" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_223_13">Ccheck</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_109_9">Char_Check_Function</A>)
-     <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A>;
+   <span class="comment"><em>--  +----------------------------------------------------------------------</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  | Some Imports of libform routines to deal with low-level fieldtypes.</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_223_13">New_Fieldtype</a></span> (<span class="symbol"><a name="ref_223_28">Fcheck</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_105_9">Field_Check_Function</a>;
+                           <span class="symbol"><a name="ref_224_28">Ccheck</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_109_9">Char_Check_Function</a>)
+     <b>return</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a>;
    <b>pragma</b> Import (C, New_Fieldtype, "new_fieldtype");
 
-   <b>function</b> <span class="symbol"><A NAME="ref_228_13">Set_Fieldtype_Arg</A></span> (<span class="symbol"><A NAME="ref_228_32" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_228_13">Cft</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A>;
-                               <span class="symbol"><A NAME="ref_229_32" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_228_13">Mak</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_93_9">Makearg_Function</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_163_13">Make_Arg</A>'<b>Access</b>;
-                               <span class="symbol"><A NAME="ref_230_32" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_228_13">Cop</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_97_9">Copyarg_Function</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_168_13">Copy_Arg</A>'<b>Access</b>;
-                               <span class="symbol"><A NAME="ref_231_32" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_228_13">Fre</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_101_9">Freearg_Function</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_173_14">Free_Arg</A>'<b>Access</b>)
-     <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+   <b>function</b> <span class="symbol"><a name="ref_228_13">Set_Fieldtype_Arg</a></span> (<span class="symbol"><a name="ref_228_32">Cft</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a>;
+                               <span class="symbol"><a name="ref_229_32">Mak</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_93_9">Makearg_Function</a> := <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_163_13">Make_Arg</a>'<b>Access</b>;
+                               <span class="symbol"><a name="ref_230_32">Cop</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_97_9">Copyarg_Function</a> := <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_168_13">Copy_Arg</a>'<b>Access</b>;
+                               <span class="symbol"><a name="ref_231_32">Fre</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_101_9">Freearg_Function</a> := <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_173_14">Free_Arg</a>'<b>Access</b>)
+     <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
    <b>pragma</b> Import (C, Set_Fieldtype_Arg, "set_fieldtype_arg");
 
-   <b>function</b> <span class="symbol"><A NAME="ref_235_13">Set_Fieldtype_Choice</A></span> (<span class="symbol"><A NAME="ref_235_35" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_235_13">Cft</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A>;
-                                  <span class="symbol"><A NAME="ref_236_35" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_235_13">Next</A></span>, <span class="symbol"><A NAME="ref_236_41" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_235_13">Prev</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_113_9">Choice_Function</A>)
-     <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+   <b>function</b> <span class="symbol"><a name="ref_235_13">Set_Fieldtype_Choice</a></span> (<span class="symbol"><a name="ref_235_35">Cft</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a>;
+                                  <span class="symbol"><a name="ref_236_35">Next</a></span>, <span class="symbol"><a name="ref_236_41">Prev</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_113_9">Choice_Function</a>)
+     <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
    <b>pragma</b> Import (C, Set_Fieldtype_Choice, "set_fieldtype_choice");
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_user_data__adb.htm b/doc/html/ada/terminal_interface-curses-forms-field_user_data__adb.htm
index 75986d6..a0c5a41 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_user_data__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_user_data__adb.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-forms-field_user_data.adb</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-forms-field_user_data.adb</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,90 +11,89 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_user_data.adb </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--               Terminal_Interface.Curses.Forms.Field_User_Data            --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 B O D Y                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2009,2014 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.15 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>; <b>use</b>  <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_user_data.adb </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--               Terminal_Interface.Curses.Forms.Field_User_Data            --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 B O D Y                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2018,2020 Thomas E. Dickey                                     --</em></span>
+<span class="comment"><em>-- Copyright 1999-2009,2014 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.17 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; <b>use</b>  <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>;
 
-<span class="comment"><EM>--  |</EM></span>
-<span class="comment"><EM>--  |=====================================================================</EM></span>
-<span class="comment"><EM>--  | man page form_field_userptr.3x</EM></span>
-<span class="comment"><EM>--  |=====================================================================</EM></span>
-<span class="comment"><EM>--  |</EM></span>
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<span class="symbol"><A NAME="ref_48_46" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_45_41">Field_User_Data</A></span> <b>is</b>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.int;
-
-   <b>procedure</b> <span class="symbol"><A NAME="ref_54_14" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_53_14">Set_User_Data</A></span> (<span class="symbol"><A NAME="ref_54_29" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_53_29">Fld</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                            <span class="symbol"><A NAME="ref_55_29" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_54_29">Data</A></span> : <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_44_9">User_Access</A>)
+<span class="comment"><em>--  |</em></span>
+<span class="comment"><em>--  |=====================================================================</em></span>
+<span class="comment"><em>--  | man page form_field_userptr.3x</em></span>
+<span class="comment"><em>--  |=====================================================================</em></span>
+<span class="comment"><em>--  |</em></span>
+<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<span class="symbol"><a name="ref_49_46" href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_46_41">Field_User_Data</a></span> <b>is</b>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_53_14" href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_54_14">Set_User_Data</a></span> (<span class="symbol"><a name="ref_53_29" href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_54_29">Fld</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                            <span class="symbol"><a name="ref_54_29" href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_55_29">Data</a></span> : <a href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_45_9">User_Access</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_57_16">Set_Field_Userptr</A></span> (<span class="symbol"><A NAME="ref_57_35" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_57_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                                  <span class="symbol"><A NAME="ref_58_35" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_57_16">Usr</A></span> : <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_44_9">User_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_56_16">Set_Field_Userptr</a></span> (<span class="symbol"><a name="ref_56_35">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                                  <span class="symbol"><a name="ref_57_35">Usr</a></span> : <a href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_45_9">User_Access</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Field_Userptr, "set_field_userptr");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_57_16">Set_Field_Userptr</A> (<A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_53_29">Fld</A>, <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_54_29">Data</A>));
-   <b>end</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_53_14">Set_User_Data</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_67_13" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_64_13">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_67_28" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_64_28">Fld</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_44_9">User_Access</A>
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms-field_user_data__adb.htm#ref_56_16">Set_Field_Userptr</a> (<a href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_54_29">Fld</a>, <a href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_55_29">Data</a>));
+   <b>end</b> <a href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_54_14">Set_User_Data</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_66_13" href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_65_13">Get_User_Data</a></span> (<span class="symbol"><a name="ref_66_28" href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_65_28">Fld</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_45_9">User_Access</a>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_69_16">Field_Userptr</A></span> (<span class="symbol"><A NAME="ref_69_31" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_69_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_44_9">User_Access</A>;
+      <b>function</b> <span class="symbol"><a name="ref_68_16">Field_Userptr</a></span> (<span class="symbol"><a name="ref_68_31">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_45_9">User_Access</a>;
       <b>pragma</b> Import (C, Field_Userptr, "field_userptr");
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_69_16">Field_Userptr</A> (<A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_64_28">Fld</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_64_13">Get_User_Data</A>;
+      <b>return</b> <a href="terminal_interface-curses-forms-field_user_data__adb.htm#ref_68_16">Field_Userptr</a> (<a href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_65_28">Fld</a>);
+   <b>end</b> <a href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_65_13">Get_User_Data</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_75_14" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_59_14">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_75_29" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_59_29">Fld</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                            <span class="symbol"><A NAME="ref_76_29" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_60_29">Data</A></span> : <b>out</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_44_9">User_Access</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_74_14" href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_60_14">Get_User_Data</a></span> (<span class="symbol"><a name="ref_74_29" href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_60_29">Fld</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                            <span class="symbol"><a name="ref_75_29" href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_61_29">Data</a></span> : <b>out</b> <a href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_45_9">User_Access</a>)
    <b>is</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_60_29">Data</A> := <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_64_13">Get_User_Data</A> (<A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_59_29">Fld</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_59_14">Get_User_Data</A>;
+      <a href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_61_29">Data</a> := <a href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_65_13">Get_User_Data</a> (<a href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_60_29">Fld</a>);
+   <b>end</b> <a href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_60_14">Get_User_Data</a>;
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_45_41">Field_User_Data</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_46_41">Field_User_Data</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_user_data__ads.htm b/doc/html/ada/terminal_interface-curses-forms-field_user_data__ads.htm
index b435438..d1a467c 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_user_data__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_user_data__ads.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-forms-field_user_data.ads</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-forms-field_user_data.ads</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,77 +11,78 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_user_data.ads </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--               Terminal_Interface.Curses.Forms.Field_User_Data            --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 S P E C                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2003,2009 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.16 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_user_data.ads </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--               Terminal_Interface.Curses.Forms.Field_User_Data            --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 S P E C                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1998-2003,2009 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.17 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
 
 <b>generic</b>
-   <b>type</b> <span class="symbol"><A NAME="ref_43_9" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_45_41">User</A></span> <b>is</b> <b>limited</b> <b>private</b>;
-   <b>type</b> <span class="symbol"><A NAME="ref_44_9" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_45_41">User_Access</A></span> <b>is</b> <b>access</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_43_9">User</A>;
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<span class="symbol"><A NAME="ref_45_41" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_48_46">Field_User_Data</A></span> <b>is</b>
-   <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_45_41">Field_User_Data</A>);
+   <b>type</b> <span class="symbol"><a name="ref_44_9">User</a></span> <b>is</b> <b>limited</b> <b>private</b>;
+   <b>type</b> <span class="symbol"><a name="ref_45_9">User_Access</a></span> <b>is</b> <b>access</b> <a href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_44_9">User</a>;
+<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<span class="symbol"><a name="ref_46_41" href="terminal_interface-curses-forms-field_user_data__adb.htm#ref_49_46">Field_User_Data</a></span> <b>is</b>
+   <b>pragma</b> Preelaborate (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_46_41">Field_User_Data</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/form_field_userptr.3x.html">form_field_userptr.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/form_field_userptr.3x.html">form_field_userptr.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_1"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_53_14" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_54_14">Set_User_Data</A></span> (<span class="symbol"><A NAME="ref_53_29" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_54_29">Fld</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                            <span class="symbol"><A NAME="ref_54_29" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_55_29">Data</A></span> : <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_44_9">User_Access</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_field_userptr.3x.html">set_field_userptr</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_53_14">Set_User_Data</A>);
+   <span class="comment"><em>--  <A NAME="AFU_1">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_54_14" href="terminal_interface-curses-forms-field_user_data__adb.htm#ref_53_14">Set_User_Data</a></span> (<span class="symbol"><a name="ref_54_29" href="terminal_interface-curses-forms-field_user_data__adb.htm#ref_53_29">Fld</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                            <span class="symbol"><a name="ref_55_29" href="terminal_interface-curses-forms-field_user_data__adb.htm#ref_54_29">Data</a></span> : <a href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_45_9">User_Access</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_field_userptr.3x.html">set_field_userptr</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_54_14">Set_User_Data</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_2"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_59_14" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_75_14">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_59_29" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_75_29">Fld</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                            <span class="symbol"><A NAME="ref_60_29" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_76_29">Data</A></span> : <b>out</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_44_9">User_Access</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_field_userptr.3x.html">field_userptr</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_2">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_60_14" href="terminal_interface-curses-forms-field_user_data__adb.htm#ref_74_14">Get_User_Data</a></span> (<span class="symbol"><a name="ref_60_29" href="terminal_interface-curses-forms-field_user_data__adb.htm#ref_74_29">Fld</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                            <span class="symbol"><a name="ref_61_29" href="terminal_interface-curses-forms-field_user_data__adb.htm#ref_75_29">Data</a></span> : <b>out</b> <a href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_45_9">User_Access</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_field_userptr.3x.html">field_userptr</A></em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_3"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_64_13" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_67_13">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_64_28" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_67_28">Fld</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_44_9">User_Access</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_field_userptr.3x.html">field_userptr</A></EM></span>
-   <span class="comment"><EM>--  Sama as function</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_3">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_65_13" href="terminal_interface-curses-forms-field_user_data__adb.htm#ref_66_13">Get_User_Data</a></span> (<span class="symbol"><a name="ref_65_28" href="terminal_interface-curses-forms-field_user_data__adb.htm#ref_66_28">Fld</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_45_9">User_Access</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_field_userptr.3x.html">field_userptr</A></em></span>
+   <span class="comment"><em>--  Sama as function</em></span>
    <b>pragma</b> Inline (Get_User_Data);
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_45_41">Field_User_Data</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_46_41">Field_User_Data</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-forms-form_user_data__adb.htm b/doc/html/ada/terminal_interface-curses-forms-form_user_data__adb.htm
index bc3e065..fbb0b5c 100644
--- a/doc/html/ada/terminal_interface-curses-forms-form_user_data__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-form_user_data__adb.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-forms-form_user_data.adb</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-forms-form_user_data.adb</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,91 +11,90 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-form_user_data.adb </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                Terminal_Interface.Curses.Forms.Form_User_Data            --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 B O D Y                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2009,2014 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.15 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  |</EM></span>
-<span class="comment"><EM>--  |=====================================================================</EM></span>
-<span class="comment"><EM>--  | man page form__userptr.3x</EM></span>
-<span class="comment"><EM>--  |=====================================================================</EM></span>
-<span class="comment"><EM>--  |</EM></span>
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-form_user_data.adb </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                Terminal_Interface.Curses.Forms.Form_User_Data            --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 B O D Y                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2018,2020 Thomas E. Dickey                                     --</em></span>
+<span class="comment"><em>-- Copyright 1999-2009,2014 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.17 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  |</em></span>
+<span class="comment"><em>--  |=====================================================================</em></span>
+<span class="comment"><em>--  | man page form__userptr.3x</em></span>
+<span class="comment"><em>--  |=====================================================================</em></span>
+<span class="comment"><em>--  |</em></span>
+<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; <b>use</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>;
 
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<span class="symbol"><A NAME="ref_48_46" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_45_41">Form_User_Data</A></span> <b>is</b>
+<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<span class="symbol"><a name="ref_49_46" href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_46_41">Form_User_Data</a></span> <b>is</b>
 
-   <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.int;
-
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_55_14" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_53_14">Set_User_Data</A></span> (<span class="symbol"><A NAME="ref_55_29" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_53_29">Frm</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                            <span class="symbol"><A NAME="ref_56_29" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_54_29">Data</A></span> : <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_44_9">User_Access</A>)
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_54_14" href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_54_14">Set_User_Data</a></span> (<span class="symbol"><a name="ref_54_29" href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_54_29">Frm</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                            <span class="symbol"><a name="ref_55_29" href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_55_29">Data</a></span> : <a href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_45_9">User_Access</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_58_16">Set_Form_Userptr</A></span> (<span class="symbol"><A NAME="ref_58_34" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_58_16">Frm</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                                 <span class="symbol"><A NAME="ref_59_34" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_58_16">Data</A></span> : <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_44_9">User_Access</A>)  <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_57_16">Set_Form_Userptr</a></span> (<span class="symbol"><a name="ref_57_34">Frm</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                                 <span class="symbol"><a name="ref_58_34">Data</a></span> : <a href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_45_9">User_Access</a>)  <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Form_Userptr, "set_form_userptr");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_58_16">Set_Form_Userptr</A> (<A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_53_29">Frm</A>, <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_54_29">Data</A>));
-   <b>end</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_53_14">Set_User_Data</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_68_13" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_64_13">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_68_28" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_64_28">Frm</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_44_9">User_Access</A>
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms-form_user_data__adb.htm#ref_57_16">Set_Form_Userptr</a> (<a href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_54_29">Frm</a>, <a href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_55_29">Data</a>));
+   <b>end</b> <a href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_54_14">Set_User_Data</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_67_13" href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_65_13">Get_User_Data</a></span> (<span class="symbol"><a name="ref_67_28" href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_65_28">Frm</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_45_9">User_Access</a>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_70_16">Form_Userptr</A></span> (<span class="symbol"><A NAME="ref_70_30" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_70_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_44_9">User_Access</A>;
+      <b>function</b> <span class="symbol"><a name="ref_69_16">Form_Userptr</a></span> (<span class="symbol"><a name="ref_69_30">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_45_9">User_Access</a>;
       <b>pragma</b> Import (C, Form_Userptr, "form_userptr");
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_70_16">Form_Userptr</A> (<A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_64_28">Frm</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_64_13">Get_User_Data</A>;
+      <b>return</b> <a href="terminal_interface-curses-forms-form_user_data__adb.htm#ref_69_16">Form_Userptr</a> (<a href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_65_28">Frm</a>);
+   <b>end</b> <a href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_65_13">Get_User_Data</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_76_14" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_59_14">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_76_29" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_59_29">Frm</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                            <span class="symbol"><A NAME="ref_77_29" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_60_29">Data</A></span> : <b>out</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_44_9">User_Access</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_75_14" href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_60_14">Get_User_Data</a></span> (<span class="symbol"><a name="ref_75_29" href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_60_29">Frm</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                            <span class="symbol"><a name="ref_76_29" href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_61_29">Data</a></span> : <b>out</b> <a href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_45_9">User_Access</a>)
    <b>is</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_60_29">Data</A> := <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_64_13">Get_User_Data</A> (<A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_59_29">Frm</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_59_14">Get_User_Data</A>;
+      <a href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_61_29">Data</a> := <a href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_65_13">Get_User_Data</a> (<a href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_60_29">Frm</a>);
+   <b>end</b> <a href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_60_14">Get_User_Data</a>;
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_45_41">Form_User_Data</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_46_41">Form_User_Data</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-forms-form_user_data__ads.htm b/doc/html/ada/terminal_interface-curses-forms-form_user_data__ads.htm
index d33dac5..c6baf65 100644
--- a/doc/html/ada/terminal_interface-curses-forms-form_user_data__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-form_user_data__ads.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-forms-form_user_data.ads</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-forms-form_user_data.ads</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,77 +11,78 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-form_user_data.ads </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                Terminal_Interface.Curses.Forms.Form_User_Data            --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 S P E C                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2003,2009 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.15 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-form_user_data.ads </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                Terminal_Interface.Curses.Forms.Form_User_Data            --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 S P E C                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1998-2003,2009 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.16 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
 
 <b>generic</b>
-   <b>type</b> <span class="symbol"><A NAME="ref_43_9" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_45_41">User</A></span> <b>is</b> <b>limited</b> <b>private</b>;
-   <b>type</b> <span class="symbol"><A NAME="ref_44_9" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_45_41">User_Access</A></span> <b>is</b> <b>access</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_43_9">User</A>;
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<span class="symbol"><A NAME="ref_45_41" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_48_46">Form_User_Data</A></span> <b>is</b>
-   <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_45_41">Form_User_Data</A>);
+   <b>type</b> <span class="symbol"><a name="ref_44_9">User</a></span> <b>is</b> <b>limited</b> <b>private</b>;
+   <b>type</b> <span class="symbol"><a name="ref_45_9">User_Access</a></span> <b>is</b> <b>access</b> <a href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_44_9">User</a>;
+<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<span class="symbol"><a name="ref_46_41" href="terminal_interface-curses-forms-form_user_data__adb.htm#ref_49_46">Form_User_Data</a></span> <b>is</b>
+   <b>pragma</b> Preelaborate (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_46_41">Form_User_Data</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/form_userptr.3x.html">form_userptr.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/form_userptr.3x.html">form_userptr.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_1"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_53_14" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_55_14">Set_User_Data</A></span> (<span class="symbol"><A NAME="ref_53_29" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_55_29">Frm</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                            <span class="symbol"><A NAME="ref_54_29" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_56_29">Data</A></span> : <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_44_9">User_Access</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_userptr.3x.html">set_form_userptr</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_53_14">Set_User_Data</A>);
+   <span class="comment"><em>--  <A NAME="AFU_1">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_54_14" href="terminal_interface-curses-forms-form_user_data__adb.htm#ref_54_14">Set_User_Data</a></span> (<span class="symbol"><a name="ref_54_29" href="terminal_interface-curses-forms-form_user_data__adb.htm#ref_54_29">Frm</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                            <span class="symbol"><a name="ref_55_29" href="terminal_interface-curses-forms-form_user_data__adb.htm#ref_55_29">Data</a></span> : <a href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_45_9">User_Access</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_userptr.3x.html">set_form_userptr</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_54_14">Set_User_Data</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_2"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_59_14" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_76_14">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_59_29" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_76_29">Frm</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                            <span class="symbol"><A NAME="ref_60_29" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_77_29">Data</A></span> : <b>out</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_44_9">User_Access</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_userptr.3x.html">form_userptr</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_2">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_60_14" href="terminal_interface-curses-forms-form_user_data__adb.htm#ref_75_14">Get_User_Data</a></span> (<span class="symbol"><a name="ref_60_29" href="terminal_interface-curses-forms-form_user_data__adb.htm#ref_75_29">Frm</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                            <span class="symbol"><a name="ref_61_29" href="terminal_interface-curses-forms-form_user_data__adb.htm#ref_76_29">Data</a></span> : <b>out</b> <a href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_45_9">User_Access</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_userptr.3x.html">form_userptr</A></em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_3"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_64_13" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_68_13">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_64_28" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_68_28">Frm</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_44_9">User_Access</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_userptr.3x.html">form_userptr</A></EM></span>
-   <span class="comment"><EM>--  Same as function</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_3">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_65_13" href="terminal_interface-curses-forms-form_user_data__adb.htm#ref_67_13">Get_User_Data</a></span> (<span class="symbol"><a name="ref_65_28" href="terminal_interface-curses-forms-form_user_data__adb.htm#ref_67_28">Frm</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_45_9">User_Access</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_userptr.3x.html">form_userptr</A></em></span>
+   <span class="comment"><em>--  Same as function</em></span>
    <b>pragma</b> Inline (Get_User_Data);
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_45_41">Form_User_Data</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_46_41">Form_User_Data</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-forms__adb.htm b/doc/html/ada/terminal_interface-curses-forms__adb.htm
index 9d62eb2..3f22b40 100644
--- a/doc/html/ada/terminal_interface-curses-forms__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-forms__adb.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-forms.adb</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-forms.adb</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,1039 +11,1040 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms.adb </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                      Terminal_Interface.Curses.Forms                     --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 B O D Y                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2011,2014 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.32 @</EM></span>
-<span class="comment"><EM>--  @Date: 2014/05/24 21:31:05 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms.adb </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                      Terminal_Interface.Curses.Forms                     --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 B O D Y                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1999-2011,2014 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.33 @</em></span>
+<span class="comment"><em>--  @Date: 2020/02/02 23:34:34 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
 <b>with</b> Ada.Unchecked_Deallocation;
 
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C; <b>use</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C;
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings; <b>use</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings;
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Pointers;
+<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C; <b>use</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C;
+<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings; <b>use</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings;
+<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Pointers;
 
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
+<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>;
 
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<span class="symbol"><A NAME="ref_50_40" HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A></span> <b>is</b>
+<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<span class="symbol"><a name="ref_51_40" href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a></span> <b>is</b>
 
-   <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
+   <b>use</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>;
 
-   <b>type</b> C_Field_Array <b>is</b> <b>array</b> (Natural <b>range</b> &lt;&gt;) <b>of</b> <b>aliased</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+   <b>type</b> C_Field_Array <b>is</b> <b>array</b> (Natural <b>range</b> &lt;&gt;) <b>of</b> <b>aliased</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
    <b>package</b> F_Array <b>is</b> <b>new</b>
-     <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Pointers (Natural, <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>, C_Field_Array, <A HREF="terminal_interface-curses-forms__ads.htm#ref_54_4">Null_Field</A>);
+     <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Pointers (Natural, <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>, C_Field_Array, <a href="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</a>);
 
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  subtype chars_ptr is Interfaces.C.Strings.chars_ptr;</EM></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  subtype chars_ptr is Interfaces.C.Strings.chars_ptr;</em></span>
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_64_14" HREF="terminal_interface-curses-forms__ads.htm#ref_277_14">Request_Name</A></span> (<span class="symbol"><A NAME="ref_64_28" HREF="terminal_interface-curses-forms__ads.htm#ref_277_28">Key</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A>;
-                                <span class="symbol"><A NAME="ref_65_33" HREF="terminal_interface-curses-forms__ads.htm#ref_278_28">Name</A></span> : <b>out</b> String)
+   <b>procedure</b> <span class="symbol"><a name="ref_65_14" href="terminal_interface-curses-forms__ads.htm#ref_278_14">Request_Name</a></span> (<span class="symbol"><a name="ref_65_28" href="terminal_interface-curses-forms__ads.htm#ref_278_28">Key</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a>;
+                                <span class="symbol"><a name="ref_66_33" href="terminal_interface-curses-forms__ads.htm#ref_279_28">Name</a></span> : <b>out</b> String)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_67_16">Form_Request_Name</A></span> (<span class="symbol"><A NAME="ref_67_35" HREF="terminal_interface-curses-forms__adb.htm#ref_67_16">Key</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> chars_ptr;
+      <b>function</b> <span class="symbol"><a name="ref_68_16">Form_Request_Name</a></span> (<span class="symbol"><a name="ref_68_35">Key</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> chars_ptr;
       <b>pragma</b> Import (C, Form_Request_Name, "form_request_name");
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_92_14">Fill_String</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_67_16">Form_Request_Name</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_277_28">Key</A>)), <A HREF="terminal_interface-curses-forms__ads.htm#ref_278_28">Name</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_277_14">Request_Name</A>;
+      <a href="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_68_16">Form_Request_Name</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_278_28">Key</a>)), <a href="terminal_interface-curses-forms__ads.htm#ref_279_28">Name</a>);
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_278_14">Request_Name</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_73_13" HREF="terminal_interface-curses-forms__ads.htm#ref_280_14">Request_Name</A></span> (<span class="symbol"><A NAME="ref_73_27" HREF="terminal_interface-curses-forms__ads.htm#ref_280_28">Key</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A>) <b>return</b> String
+   <b>function</b> <span class="symbol"><a name="ref_74_13" href="terminal_interface-curses-forms__ads.htm#ref_281_14">Request_Name</a></span> (<span class="symbol"><a name="ref_74_27" href="terminal_interface-curses-forms__ads.htm#ref_281_28">Key</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a>) <b>return</b> String
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_75_16">Form_Request_Name</A></span> (<span class="symbol"><A NAME="ref_75_35" HREF="terminal_interface-curses-forms__adb.htm#ref_75_16">Key</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> chars_ptr;
+      <b>function</b> <span class="symbol"><a name="ref_76_16">Form_Request_Name</a></span> (<span class="symbol"><a name="ref_76_35">Key</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> chars_ptr;
       <b>pragma</b> Import (C, Form_Request_Name, "form_request_name");
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_97_13">Fill_String</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_75_16">Form_Request_Name</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_280_28">Key</A>)));
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_280_14">Request_Name</A>;
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | man page form_field_new.3x</EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_91_13" HREF="terminal_interface-curses-forms__ads.htm#ref_294_13">Create</A></span> (<span class="symbol"><A NAME="ref_91_21" HREF="terminal_interface-curses-forms__ads.htm#ref_294_21">Height</A></span>       : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
-                    <span class="symbol"><A NAME="ref_92_21" HREF="terminal_interface-curses-forms__ads.htm#ref_295_21">Width</A></span>        : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
-                    <span class="symbol"><A NAME="ref_93_21" HREF="terminal_interface-curses-forms__ads.htm#ref_296_21">Top</A></span>          : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-                    <span class="symbol"><A NAME="ref_94_21" HREF="terminal_interface-curses-forms__ads.htm#ref_297_21">Left</A></span>         : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-                    <span class="symbol"><A NAME="ref_95_21" HREF="terminal_interface-curses-forms__ads.htm#ref_298_21">Off_Screen</A></span>   : Natural := 0;
-                    <span class="symbol"><A NAME="ref_96_21" HREF="terminal_interface-curses-forms__ads.htm#ref_299_21">More_Buffers</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A>'First)
-                    <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>
+      <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_76_16">Form_Request_Name</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_281_28">Key</a>)));
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_281_14">Request_Name</a>;
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | man page form_field_new.3x</em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_92_13" href="terminal_interface-curses-forms__ads.htm#ref_295_13">Create</a></span> (<span class="symbol"><a name="ref_92_21" href="terminal_interface-curses-forms__ads.htm#ref_295_21">Height</a></span>       : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
+                    <span class="symbol"><a name="ref_93_21" href="terminal_interface-curses-forms__ads.htm#ref_296_21">Width</a></span>        : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>;
+                    <span class="symbol"><a name="ref_94_21" href="terminal_interface-curses-forms__ads.htm#ref_297_21">Top</a></span>          : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+                    <span class="symbol"><a name="ref_95_21" href="terminal_interface-curses-forms__ads.htm#ref_298_21">Left</a></span>         : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+                    <span class="symbol"><a name="ref_96_21" href="terminal_interface-curses-forms__ads.htm#ref_299_21">Off_Screen</a></span>   : Natural := 0;
+                    <span class="symbol"><a name="ref_97_21" href="terminal_interface-curses-forms__ads.htm#ref_300_21">More_Buffers</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a>'First)
+                    <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_99_16">Newfield</A></span> (<span class="symbol"><A NAME="ref_99_26" HREF="terminal_interface-curses-forms__adb.htm#ref_99_16">H</A></span>, <span class="symbol"><A NAME="ref_99_29" HREF="terminal_interface-curses-forms__adb.htm#ref_99_16">W</A></span>, <span class="symbol"><A NAME="ref_99_32" HREF="terminal_interface-curses-forms__adb.htm#ref_99_16">T</A></span>, <span class="symbol"><A NAME="ref_99_35" HREF="terminal_interface-curses-forms__adb.htm#ref_99_16">L</A></span>, <span class="symbol"><A NAME="ref_99_38" HREF="terminal_interface-curses-forms__adb.htm#ref_99_16">O</A></span>, <span class="symbol"><A NAME="ref_99_41" HREF="terminal_interface-curses-forms__adb.htm#ref_99_16">M</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+      <b>function</b> <span class="symbol"><a name="ref_100_16">Newfield</a></span> (<span class="symbol"><a name="ref_100_26">H</a></span>, <span class="symbol"><a name="ref_100_29">W</a></span>, <span class="symbol"><a name="ref_100_32">T</a></span>, <span class="symbol"><a name="ref_100_35">L</a></span>, <span class="symbol"><a name="ref_100_38">O</a></span>, <span class="symbol"><a name="ref_100_41">M</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
       <b>pragma</b> Import (C, Newfield, "new_field");
-      <span class="symbol"><A NAME="ref_101_7">Fld</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_99_16">Newfield</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_294_21">Height</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_295_21">Width</A>),
-                                        <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_296_21">Top</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_297_21">Left</A>),
-                                        <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_298_21">Off_Screen</A>),
-                                        <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_299_21">More_Buffers</A>));
+      <span class="symbol"><a name="ref_102_7">Fld</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_100_16">Newfield</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_295_21">Height</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_296_21">Width</a>),
+                                        <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_297_21">Top</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_298_21">Left</a>),
+                                        <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_299_21">Off_Screen</a>),
+                                        <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_300_21">More_Buffers</a>));
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_101_7">Fld</A> = <A HREF="terminal_interface-curses-forms__ads.htm#ref_54_4">Null_Field</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_287_4">Form_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses-forms__adb.htm#ref_102_7">Fld</a> = <a href="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>;
       <b>end</b> <b>if</b>;
-      <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_101_7">Fld</A>;
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_294_13">Create</A>;
-<span class="comment"><EM>--  |</EM></span>
-<span class="comment"><EM>--  |</EM></span>
-<span class="comment"><EM>--  |</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_114_14" HREF="terminal_interface-curses-forms__ads.htm#ref_316_14">Delete</A></span> (<span class="symbol"><A NAME="ref_114_22" HREF="terminal_interface-curses-forms__ads.htm#ref_316_22">Fld</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>)
+      <b>return</b> <a href="terminal_interface-curses-forms__adb.htm#ref_102_7">Fld</a>;
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_295_13">Create</a>;
+<span class="comment"><em>--  |</em></span>
+<span class="comment"><em>--  |</em></span>
+<span class="comment"><em>--  |</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_115_14" href="terminal_interface-curses-forms__ads.htm#ref_317_14">Delete</a></span> (<span class="symbol"><a name="ref_115_22" href="terminal_interface-curses-forms__ads.htm#ref_317_22">Fld</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_116_16">Free_Field</A></span> (<span class="symbol"><A NAME="ref_116_28" HREF="terminal_interface-curses-forms__adb.htm#ref_116_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_117_16">Free_Field</a></span> (<span class="symbol"><a name="ref_117_28">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Free_Field, "free_field");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_116_16">Free_Field</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_316_22">Fld</A>));
-      <A HREF="terminal_interface-curses-forms__ads.htm#ref_316_22">Fld</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_54_4">Null_Field</A>;
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_316_14">Delete</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_126_13" HREF="terminal_interface-curses-forms__ads.htm#ref_322_13">Duplicate</A></span> (<span class="symbol"><A NAME="ref_126_24" HREF="terminal_interface-curses-forms__ads.htm#ref_322_24">Fld</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                       <span class="symbol"><A NAME="ref_127_24" HREF="terminal_interface-curses-forms__ads.htm#ref_323_24">Top</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-                       <span class="symbol"><A NAME="ref_128_24" HREF="terminal_interface-curses-forms__ads.htm#ref_324_24">Left</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_117_16">Free_Field</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_317_22">Fld</a>));
+      <a href="terminal_interface-curses-forms__ads.htm#ref_317_22">Fld</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</a>;
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_317_14">Delete</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_127_13" href="terminal_interface-curses-forms__ads.htm#ref_323_13">Duplicate</a></span> (<span class="symbol"><a name="ref_127_24" href="terminal_interface-curses-forms__ads.htm#ref_323_24">Fld</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                       <span class="symbol"><a name="ref_128_24" href="terminal_interface-curses-forms__ads.htm#ref_324_24">Top</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+                       <span class="symbol"><a name="ref_129_24" href="terminal_interface-curses-forms__ads.htm#ref_325_24">Left</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_130_16">Dup_Field</A></span> (<span class="symbol"><A NAME="ref_130_27" HREF="terminal_interface-curses-forms__adb.htm#ref_130_16">Fld</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                          <span class="symbol"><A NAME="ref_131_27" HREF="terminal_interface-curses-forms__adb.htm#ref_130_16">Top</A></span>  : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-                          <span class="symbol"><A NAME="ref_132_27" HREF="terminal_interface-curses-forms__adb.htm#ref_130_16">Left</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+      <b>function</b> <span class="symbol"><a name="ref_131_16">Dup_Field</a></span> (<span class="symbol"><a name="ref_131_27">Fld</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                          <span class="symbol"><a name="ref_132_27">Top</a></span>  : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+                          <span class="symbol"><a name="ref_133_27">Left</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
       <b>pragma</b> Import (C, Dup_Field, "dup_field");
 
-      <span class="symbol"><A NAME="ref_135_7">F</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_130_16">Dup_Field</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_322_24">Fld</A>,
-                                       <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_323_24">Top</A>),
-                                       <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_324_24">Left</A>));
+      <span class="symbol"><a name="ref_136_7">F</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_131_16">Dup_Field</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_323_24">Fld</a>,
+                                       <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_324_24">Top</a>),
+                                       <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_325_24">Left</a>));
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_135_7">F</A> = <A HREF="terminal_interface-curses-forms__ads.htm#ref_54_4">Null_Field</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_287_4">Form_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses-forms__adb.htm#ref_136_7">F</a> = <a href="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>;
       <b>end</b> <b>if</b>;
-      <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_135_7">F</A>;
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_322_13">Duplicate</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_147_13" HREF="terminal_interface-curses-forms__ads.htm#ref_329_13">Link</A></span> (<span class="symbol"><A NAME="ref_147_19" HREF="terminal_interface-curses-forms__ads.htm#ref_329_19">Fld</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                  <span class="symbol"><A NAME="ref_148_19" HREF="terminal_interface-curses-forms__ads.htm#ref_330_19">Top</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-                  <span class="symbol"><A NAME="ref_149_19" HREF="terminal_interface-curses-forms__ads.htm#ref_331_19">Left</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>
+      <b>return</b> <a href="terminal_interface-curses-forms__adb.htm#ref_136_7">F</a>;
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_323_13">Duplicate</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_148_13" href="terminal_interface-curses-forms__ads.htm#ref_330_13">Link</a></span> (<span class="symbol"><a name="ref_148_19" href="terminal_interface-curses-forms__ads.htm#ref_330_19">Fld</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                  <span class="symbol"><a name="ref_149_19" href="terminal_interface-curses-forms__ads.htm#ref_331_19">Top</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+                  <span class="symbol"><a name="ref_150_19" href="terminal_interface-curses-forms__ads.htm#ref_332_19">Left</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_151_16">Lnk_Field</A></span> (<span class="symbol"><A NAME="ref_151_27" HREF="terminal_interface-curses-forms__adb.htm#ref_151_16">Fld</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                          <span class="symbol"><A NAME="ref_152_27" HREF="terminal_interface-curses-forms__adb.htm#ref_151_16">Top</A></span>  : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-                          <span class="symbol"><A NAME="ref_153_27" HREF="terminal_interface-curses-forms__adb.htm#ref_151_16">Left</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+      <b>function</b> <span class="symbol"><a name="ref_152_16">Lnk_Field</a></span> (<span class="symbol"><a name="ref_152_27">Fld</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                          <span class="symbol"><a name="ref_153_27">Top</a></span>  : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+                          <span class="symbol"><a name="ref_154_27">Left</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
       <b>pragma</b> Import (C, Lnk_Field, "link_field");
 
-      <span class="symbol"><A NAME="ref_156_7">F</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_151_16">Lnk_Field</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_329_19">Fld</A>,
-                                       <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_330_19">Top</A>),
-                                       <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_331_19">Left</A>));
+      <span class="symbol"><a name="ref_157_7">F</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_152_16">Lnk_Field</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_330_19">Fld</a>,
+                                       <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_331_19">Top</a>),
+                                       <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_332_19">Left</a>));
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_156_7">F</A> = <A HREF="terminal_interface-curses-forms__ads.htm#ref_54_4">Null_Field</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_287_4">Form_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses-forms__adb.htm#ref_157_7">F</a> = <a href="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>;
       <b>end</b> <b>if</b>;
-      <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_156_7">F</A>;
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_329_13">Link</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | man page form_field_just.3x</EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_172_14" HREF="terminal_interface-curses-forms__ads.htm#ref_340_14">Set_Justification</A></span> (<span class="symbol"><A NAME="ref_172_33" HREF="terminal_interface-curses-forms__ads.htm#ref_340_33">Fld</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                                <span class="symbol"><A NAME="ref_173_33" HREF="terminal_interface-curses-forms__ads.htm#ref_341_33">Just</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Field_Justification</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_33">None</A>)
+      <b>return</b> <a href="terminal_interface-curses-forms__adb.htm#ref_157_7">F</a>;
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_330_13">Link</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | man page form_field_just.3x</em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_173_14" href="terminal_interface-curses-forms__ads.htm#ref_341_14">Set_Justification</a></span> (<span class="symbol"><a name="ref_173_33" href="terminal_interface-curses-forms__ads.htm#ref_341_33">Fld</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                                <span class="symbol"><a name="ref_174_33" href="terminal_interface-curses-forms__ads.htm#ref_342_33">Just</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_58_9">Field_Justification</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_58_33">None</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_175_16">Set_Field_Just</A></span> (<span class="symbol"><A NAME="ref_175_32" HREF="terminal_interface-curses-forms__adb.htm#ref_175_16">Fld</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                               <span class="symbol"><A NAME="ref_176_32" HREF="terminal_interface-curses-forms__adb.htm#ref_175_16">Just</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_176_16">Set_Field_Just</a></span> (<span class="symbol"><a name="ref_176_32">Fld</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                               <span class="symbol"><a name="ref_177_32">Just</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Field_Just, "set_field_just");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_175_16">Set_Field_Just</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_340_33">Fld</A>,
-                                     <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Field_Justification</A>'Pos (<A HREF="terminal_interface-curses-forms__ads.htm#ref_341_33">Just</A>))));
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_340_14">Set_Justification</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_186_13" HREF="terminal_interface-curses-forms__ads.htm#ref_346_13">Get_Justification</A></span> (<span class="symbol"><A NAME="ref_186_32" HREF="terminal_interface-curses-forms__ads.htm#ref_346_32">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Field_Justification</A>
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_176_16">Set_Field_Just</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_341_33">Fld</a>,
+                                     <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_58_9">Field_Justification</a>'Pos (<a href="terminal_interface-curses-forms__ads.htm#ref_342_33">Just</a>))));
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_341_14">Set_Justification</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_187_13" href="terminal_interface-curses-forms__ads.htm#ref_347_13">Get_Justification</a></span> (<span class="symbol"><a name="ref_187_32" href="terminal_interface-curses-forms__ads.htm#ref_347_32">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_58_9">Field_Justification</a>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_188_16">Field_Just</A></span> (<span class="symbol"><A NAME="ref_188_28" HREF="terminal_interface-curses-forms__adb.htm#ref_188_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_189_16">Field_Just</a></span> (<span class="symbol"><a name="ref_189_28">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Field_Just, "field_just");
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Field_Justification</A>'Val (<A HREF="terminal_interface-curses-forms__adb.htm#ref_188_16">Field_Just</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_346_32">Fld</A>));
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_346_13">Get_Justification</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | man page form_field_buffer.3x</EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_200_14" HREF="terminal_interface-curses-forms__ads.htm#ref_355_14">Set_Buffer</A></span>
-     (<span class="symbol"><A NAME="ref_201_7" HREF="terminal_interface-curses-forms__ads.htm#ref_356_7">Fld</A></span>    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-      <span class="symbol"><A NAME="ref_202_7" HREF="terminal_interface-curses-forms__ads.htm#ref_357_7">Buffer</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A>'First;
-      <span class="symbol"><A NAME="ref_203_7" HREF="terminal_interface-curses-forms__ads.htm#ref_358_7">Str</A></span>    : String)
+      <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_58_9">Field_Justification</a>'Val (<a href="terminal_interface-curses-forms__adb.htm#ref_189_16">Field_Just</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_347_32">Fld</a>));
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_347_13">Get_Justification</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | man page form_field_buffer.3x</em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_201_14" href="terminal_interface-curses-forms__ads.htm#ref_356_14">Set_Buffer</a></span>
+     (<span class="symbol"><a name="ref_202_7" href="terminal_interface-curses-forms__ads.htm#ref_357_7">Fld</a></span>    : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+      <span class="symbol"><a name="ref_203_7" href="terminal_interface-curses-forms__ads.htm#ref_358_7">Buffer</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a>'First;
+      <span class="symbol"><a name="ref_204_7" href="terminal_interface-curses-forms__ads.htm#ref_359_7">Str</a></span>    : String)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_205_16">Set_Fld_Buffer</A></span> (<span class="symbol"><A NAME="ref_205_32" HREF="terminal_interface-curses-forms__adb.htm#ref_205_16">Fld</A></span>    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                                 <span class="symbol"><A NAME="ref_206_34" HREF="terminal_interface-curses-forms__adb.htm#ref_205_16">Bufnum</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-                                 <span class="symbol"><A NAME="ref_207_34" HREF="terminal_interface-curses-forms__adb.htm#ref_205_16">S</A></span>      : char_array)
-        <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_206_16">Set_Fld_Buffer</a></span> (<span class="symbol"><a name="ref_206_32">Fld</a></span>    : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                                 <span class="symbol"><a name="ref_207_34">Bufnum</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+                                 <span class="symbol"><a name="ref_208_34">S</a></span>      : char_array)
+        <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Fld_Buffer, "set_field_buffer");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_205_16">Set_Fld_Buffer</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_356_7">Fld</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_357_7">Buffer</A>), To_C (<A HREF="terminal_interface-curses-forms__ads.htm#ref_358_7">Str</A>)));
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_355_14">Set_Buffer</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_217_14" HREF="terminal_interface-curses-forms__ads.htm#ref_363_14">Get_Buffer</A></span>
-     (<span class="symbol"><A NAME="ref_218_7" HREF="terminal_interface-curses-forms__ads.htm#ref_364_7">Fld</A></span>    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-      <span class="symbol"><A NAME="ref_219_7" HREF="terminal_interface-curses-forms__ads.htm#ref_365_7">Buffer</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A>'First;
-      <span class="symbol"><A NAME="ref_220_7" HREF="terminal_interface-curses-forms__ads.htm#ref_366_7">Str</A></span>    : <b>out</b> String)
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_206_16">Set_Fld_Buffer</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_357_7">Fld</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_358_7">Buffer</a>), To_C (<a href="terminal_interface-curses-forms__ads.htm#ref_359_7">Str</a>)));
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_356_14">Set_Buffer</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_218_14" href="terminal_interface-curses-forms__ads.htm#ref_364_14">Get_Buffer</a></span>
+     (<span class="symbol"><a name="ref_219_7" href="terminal_interface-curses-forms__ads.htm#ref_365_7">Fld</a></span>    : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+      <span class="symbol"><a name="ref_220_7" href="terminal_interface-curses-forms__ads.htm#ref_366_7">Buffer</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a>'First;
+      <span class="symbol"><a name="ref_221_7" href="terminal_interface-curses-forms__ads.htm#ref_367_7">Str</a></span>    : <b>out</b> String)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_222_16">Field_Buffer</A></span> (<span class="symbol"><A NAME="ref_222_30" HREF="terminal_interface-curses-forms__adb.htm#ref_222_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                             <span class="symbol"><A NAME="ref_223_30" HREF="terminal_interface-curses-forms__adb.htm#ref_222_16">B</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> chars_ptr;
+      <b>function</b> <span class="symbol"><a name="ref_223_16">Field_Buffer</a></span> (<span class="symbol"><a name="ref_223_30">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                             <span class="symbol"><a name="ref_224_30">B</a></span>   : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> chars_ptr;
       <b>pragma</b> Import (C, Field_Buffer, "field_buffer");
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_92_14">Fill_String</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_222_16">Field_Buffer</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_364_7">Fld</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_365_7">Buffer</A>)), <A HREF="terminal_interface-curses-forms__ads.htm#ref_366_7">Str</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_363_14">Get_Buffer</A>;
+      <a href="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_223_16">Field_Buffer</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_365_7">Fld</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_366_7">Buffer</a>)), <a href="terminal_interface-curses-forms__ads.htm#ref_367_7">Str</a>);
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_364_14">Get_Buffer</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_229_13" HREF="terminal_interface-curses-forms__ads.htm#ref_369_13">Get_Buffer</A></span>
-     (<span class="symbol"><A NAME="ref_230_7" HREF="terminal_interface-curses-forms__ads.htm#ref_370_7">Fld</A></span>    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-      <span class="symbol"><A NAME="ref_231_7" HREF="terminal_interface-curses-forms__ads.htm#ref_371_7">Buffer</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A>'First) <b>return</b> String
+   <b>function</b> <span class="symbol"><a name="ref_230_13" href="terminal_interface-curses-forms__ads.htm#ref_370_13">Get_Buffer</a></span>
+     (<span class="symbol"><a name="ref_231_7" href="terminal_interface-curses-forms__ads.htm#ref_371_7">Fld</a></span>    : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+      <span class="symbol"><a name="ref_232_7" href="terminal_interface-curses-forms__ads.htm#ref_372_7">Buffer</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a>'First) <b>return</b> String
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_233_16">Field_Buffer</A></span> (<span class="symbol"><A NAME="ref_233_30" HREF="terminal_interface-curses-forms__adb.htm#ref_233_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                             <span class="symbol"><A NAME="ref_234_30" HREF="terminal_interface-curses-forms__adb.htm#ref_233_16">B</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> chars_ptr;
+      <b>function</b> <span class="symbol"><a name="ref_234_16">Field_Buffer</a></span> (<span class="symbol"><a name="ref_234_30">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                             <span class="symbol"><a name="ref_235_30">B</a></span>   : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> chars_ptr;
       <b>pragma</b> Import (C, Field_Buffer, "field_buffer");
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_97_13">Fill_String</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_233_16">Field_Buffer</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_370_7">Fld</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_371_7">Buffer</A>)));
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_369_13">Get_Buffer</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_242_14" HREF="terminal_interface-curses-forms__ads.htm#ref_377_14">Set_Status</A></span> (<span class="symbol"><A NAME="ref_242_26" HREF="terminal_interface-curses-forms__ads.htm#ref_377_26">Fld</A></span>    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                         <span class="symbol"><A NAME="ref_243_26" HREF="terminal_interface-curses-forms__ads.htm#ref_378_26">Status</A></span> : Boolean := True)
+      <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_234_16">Field_Buffer</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_371_7">Fld</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_372_7">Buffer</a>)));
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_370_13">Get_Buffer</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_243_14" href="terminal_interface-curses-forms__ads.htm#ref_378_14">Set_Status</a></span> (<span class="symbol"><a name="ref_243_26" href="terminal_interface-curses-forms__ads.htm#ref_378_26">Fld</a></span>    : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                         <span class="symbol"><a name="ref_244_26" href="terminal_interface-curses-forms__ads.htm#ref_379_26">Status</a></span> : Boolean := True)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_245_16">Set_Fld_Status</A></span> (<span class="symbol"><A NAME="ref_245_32" HREF="terminal_interface-curses-forms__adb.htm#ref_245_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                               <span class="symbol"><A NAME="ref_246_32" HREF="terminal_interface-curses-forms__adb.htm#ref_245_16">St</A></span>  : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_246_16">Set_Fld_Status</a></span> (<span class="symbol"><a name="ref_246_32">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                               <span class="symbol"><a name="ref_247_32">St</a></span>  : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Fld_Status, "set_field_status");
 
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_245_16">Set_Fld_Status</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_377_26">Fld</A>, Boolean'Pos (<A HREF="terminal_interface-curses-forms__ads.htm#ref_378_26">Status</A>)) /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_7">E_Ok</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_287_4">Form_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses-forms__adb.htm#ref_246_16">Set_Fld_Status</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_378_26">Fld</a>, Boolean'Pos (<a href="terminal_interface-curses-forms__ads.htm#ref_379_26">Status</a>)) /= <a href="terminal_interface-curses-aux__ads.htm#ref_85_7">E_Ok</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_377_14">Set_Status</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_257_13" HREF="terminal_interface-curses-forms__ads.htm#ref_383_13">Changed</A></span> (<span class="symbol"><A NAME="ref_257_22" HREF="terminal_interface-curses-forms__ads.htm#ref_383_22">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> Boolean
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_378_14">Set_Status</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_258_13" href="terminal_interface-curses-forms__ads.htm#ref_384_13">Changed</a></span> (<span class="symbol"><a name="ref_258_22" href="terminal_interface-curses-forms__ads.htm#ref_384_22">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> Boolean
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_259_16">Field_Status</A></span> (<span class="symbol"><A NAME="ref_259_30" HREF="terminal_interface-curses-forms__adb.htm#ref_259_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_260_16">Field_Status</a></span> (<span class="symbol"><a name="ref_260_30">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Field_Status, "field_status");
 
-      <span class="symbol"><A NAME="ref_262_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_259_16">Field_Status</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_383_22">Fld</A>);
+      <span class="symbol"><a name="ref_263_7">Res</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_260_16">Field_Status</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_384_22">Fld</a>);
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_262_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_68_4">Curses_False</A> <b>then</b>
+      <b>if</b> <a href="terminal_interface-curses-forms__adb.htm#ref_263_7">Res</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_67_4">Curses_False</a> <b>then</b>
          <b>return</b> False;
       <b>else</b>
          <b>return</b> True;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_383_13">Changed</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_273_14" HREF="terminal_interface-curses-forms__ads.htm#ref_388_14">Set_Maximum_Size</A></span> (<span class="symbol"><A NAME="ref_273_32" HREF="terminal_interface-curses-forms__ads.htm#ref_388_32">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                               <span class="symbol"><A NAME="ref_274_32" HREF="terminal_interface-curses-forms__ads.htm#ref_389_32">Max</A></span> : Natural := 0)
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_384_13">Changed</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_274_14" href="terminal_interface-curses-forms__ads.htm#ref_389_14">Set_Maximum_Size</a></span> (<span class="symbol"><a name="ref_274_32" href="terminal_interface-curses-forms__ads.htm#ref_389_32">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                               <span class="symbol"><a name="ref_275_32" href="terminal_interface-curses-forms__ads.htm#ref_390_32">Max</a></span> : Natural := 0)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_276_16">Set_Field_Max</A></span> (<span class="symbol"><A NAME="ref_276_31" HREF="terminal_interface-curses-forms__adb.htm#ref_276_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                              <span class="symbol"><A NAME="ref_277_31" HREF="terminal_interface-curses-forms__adb.htm#ref_276_16">M</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_277_16">Set_Field_Max</a></span> (<span class="symbol"><a name="ref_277_31">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                              <span class="symbol"><a name="ref_278_31">M</a></span>   : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Field_Max, "set_max_field");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_276_16">Set_Field_Max</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_388_32">Fld</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_389_32">Max</A>)));
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_388_14">Set_Maximum_Size</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | man page form_field_opts.3x</EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_290_14" HREF="terminal_interface-curses-forms__ads.htm#ref_398_14">Set_Options</A></span> (<span class="symbol"><A NAME="ref_290_27" HREF="terminal_interface-curses-forms__ads.htm#ref_398_27">Fld</A></span>     : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                          <span class="symbol"><A NAME="ref_291_27" HREF="terminal_interface-curses-forms__ads.htm#ref_399_27">Options</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_62_9">Field_Option_Set</A>)
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_277_16">Set_Field_Max</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_389_32">Fld</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_390_32">Max</a>)));
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_389_14">Set_Maximum_Size</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | man page form_field_opts.3x</em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_291_14" href="terminal_interface-curses-forms__ads.htm#ref_399_14">Set_Options</a></span> (<span class="symbol"><a name="ref_291_27" href="terminal_interface-curses-forms__ads.htm#ref_399_27">Fld</a></span>     : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                          <span class="symbol"><a name="ref_292_27" href="terminal_interface-curses-forms__ads.htm#ref_400_27">Options</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_293_16">Set_Field_Opts</A></span> (<span class="symbol"><A NAME="ref_293_32" HREF="terminal_interface-curses-forms__adb.htm#ref_293_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                               <span class="symbol"><A NAME="ref_294_32" HREF="terminal_interface-curses-forms__adb.htm#ref_293_16">Opt</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_62_9">Field_Option_Set</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_294_16">Set_Field_Opts</a></span> (<span class="symbol"><a name="ref_294_32">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                               <span class="symbol"><a name="ref_295_32">Opt</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Field_Opts, "set_field_opts");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_293_16">Set_Field_Opts</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_398_27">Fld</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_399_27">Options</A>));
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_398_14">Set_Options</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_303_14" HREF="terminal_interface-curses-forms__ads.htm#ref_404_14">Switch_Options</A></span> (<span class="symbol"><A NAME="ref_303_30" HREF="terminal_interface-curses-forms__ads.htm#ref_404_30">Fld</A></span>     : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                             <span class="symbol"><A NAME="ref_304_30" HREF="terminal_interface-curses-forms__ads.htm#ref_405_30">Options</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_62_9">Field_Option_Set</A>;
-                             <span class="symbol"><A NAME="ref_305_30" HREF="terminal_interface-curses-forms__ads.htm#ref_406_30">On</A></span>      : Boolean := True)
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_294_16">Set_Field_Opts</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_399_27">Fld</a>, <a href="terminal_interface-curses-forms__ads.htm#ref_400_27">Options</a>));
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_399_14">Set_Options</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_304_14" href="terminal_interface-curses-forms__ads.htm#ref_405_14">Switch_Options</a></span> (<span class="symbol"><a name="ref_304_30" href="terminal_interface-curses-forms__ads.htm#ref_405_30">Fld</a></span>     : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                             <span class="symbol"><a name="ref_305_30" href="terminal_interface-curses-forms__ads.htm#ref_406_30">Options</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a>;
+                             <span class="symbol"><a name="ref_306_30" href="terminal_interface-curses-forms__ads.htm#ref_407_30">On</a></span>      : Boolean := True)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_307_16">Field_Opts_On</A></span> (<span class="symbol"><A NAME="ref_307_31" HREF="terminal_interface-curses-forms__adb.htm#ref_307_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                              <span class="symbol"><A NAME="ref_308_31" HREF="terminal_interface-curses-forms__adb.htm#ref_307_16">Opt</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_62_9">Field_Option_Set</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_308_16">Field_Opts_On</a></span> (<span class="symbol"><a name="ref_308_31">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                              <span class="symbol"><a name="ref_309_31">Opt</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Field_Opts_On, "field_opts_on");
-      <b>function</b> <span class="symbol"><A NAME="ref_310_16">Field_Opts_Off</A></span> (<span class="symbol"><A NAME="ref_310_32" HREF="terminal_interface-curses-forms__adb.htm#ref_310_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                               <span class="symbol"><A NAME="ref_311_32" HREF="terminal_interface-curses-forms__adb.htm#ref_310_16">Opt</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_62_9">Field_Option_Set</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_311_16">Field_Opts_Off</a></span> (<span class="symbol"><a name="ref_311_32">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                               <span class="symbol"><a name="ref_312_32">Opt</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Field_Opts_Off, "field_opts_off");
 
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_406_30">On</A> <b>then</b>
-         <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_307_16">Field_Opts_On</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_404_30">Fld</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_405_30">Options</A>));
+      <b>if</b> <a href="terminal_interface-curses-forms__ads.htm#ref_407_30">On</a> <b>then</b>
+         <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_308_16">Field_Opts_On</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_405_30">Fld</a>, <a href="terminal_interface-curses-forms__ads.htm#ref_406_30">Options</a>));
       <b>else</b>
-         <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_310_16">Field_Opts_Off</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_404_30">Fld</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_405_30">Options</A>));
+         <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_311_16">Field_Opts_Off</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_405_30">Fld</a>, <a href="terminal_interface-curses-forms__ads.htm#ref_406_30">Options</a>));
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_404_14">Switch_Options</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_324_14" HREF="terminal_interface-curses-forms__ads.htm#ref_412_14">Get_Options</A></span> (<span class="symbol"><A NAME="ref_324_27" HREF="terminal_interface-curses-forms__ads.htm#ref_412_27">Fld</A></span>     : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                          <span class="symbol"><A NAME="ref_325_27" HREF="terminal_interface-curses-forms__ads.htm#ref_413_27">Options</A></span> : <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_62_9">Field_Option_Set</A>)
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_405_14">Switch_Options</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_325_14" href="terminal_interface-curses-forms__ads.htm#ref_413_14">Get_Options</a></span> (<span class="symbol"><a name="ref_325_27" href="terminal_interface-curses-forms__ads.htm#ref_413_27">Fld</a></span>     : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                          <span class="symbol"><a name="ref_326_27" href="terminal_interface-curses-forms__ads.htm#ref_414_27">Options</a></span> : <b>out</b> <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_327_16">Field_Opts</A></span> (<span class="symbol"><A NAME="ref_327_28" HREF="terminal_interface-curses-forms__adb.htm#ref_327_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_62_9">Field_Option_Set</A>;
+      <b>function</b> <span class="symbol"><a name="ref_328_16">Field_Opts</a></span> (<span class="symbol"><a name="ref_328_28">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a>;
       <b>pragma</b> Import (C, Field_Opts, "field_opts");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-forms__ads.htm#ref_413_27">Options</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_327_16">Field_Opts</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_412_27">Fld</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_412_14">Get_Options</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_336_13" HREF="terminal_interface-curses-forms__ads.htm#ref_417_13">Get_Options</A></span> (<span class="symbol"><A NAME="ref_336_26" HREF="terminal_interface-curses-forms__ads.htm#ref_417_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_54_4">Null_Field</A>)
-                         <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_62_9">Field_Option_Set</A>
+      <a href="terminal_interface-curses-forms__ads.htm#ref_414_27">Options</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_328_16">Field_Opts</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_413_27">Fld</a>);
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_413_14">Get_Options</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_337_13" href="terminal_interface-curses-forms__ads.htm#ref_418_13">Get_Options</a></span> (<span class="symbol"><a name="ref_337_26" href="terminal_interface-curses-forms__ads.htm#ref_418_26">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</a>)
+                         <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a>
    <b>is</b>
-      <span class="symbol"><A NAME="ref_339_7">Fos</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_62_9">Field_Option_Set</A>;
+      <span class="symbol"><a name="ref_340_7">Fos</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a>;
    <b>begin</b>
-      <A HREF="terminal_interface-curses-forms__ads.htm#ref_412_14">Get_Options</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_417_26">Fld</A>, <A HREF="terminal_interface-curses-forms__adb.htm#ref_339_7">Fos</A>);
-      <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_339_7">Fos</A>;
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_417_13">Get_Options</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | man page form_field_attributes.3x</EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_351_14" HREF="terminal_interface-curses-forms__ads.htm#ref_427_14">Set_Foreground</A></span>
-     (<span class="symbol"><A NAME="ref_352_7" HREF="terminal_interface-curses-forms__ads.htm#ref_428_7">Fld</A></span>   : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-      <span class="symbol"><A NAME="ref_353_7" HREF="terminal_interface-curses-forms__ads.htm#ref_429_7">Fore</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
-      <span class="symbol"><A NAME="ref_354_7" HREF="terminal_interface-curses-forms__ads.htm#ref_430_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First)
+      <a href="terminal_interface-curses-forms__ads.htm#ref_413_14">Get_Options</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_418_26">Fld</a>, <a href="terminal_interface-curses-forms__adb.htm#ref_340_7">Fos</a>);
+      <b>return</b> <a href="terminal_interface-curses-forms__adb.htm#ref_340_7">Fos</a>;
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_418_13">Get_Options</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | man page form_field_attributes.3x</em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_352_14" href="terminal_interface-curses-forms__ads.htm#ref_428_14">Set_Foreground</a></span>
+     (<span class="symbol"><a name="ref_353_7" href="terminal_interface-curses-forms__ads.htm#ref_429_7">Fld</a></span>   : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+      <span class="symbol"><a name="ref_354_7" href="terminal_interface-curses-forms__ads.htm#ref_430_7">Fore</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>;
+      <span class="symbol"><a name="ref_355_7" href="terminal_interface-curses-forms__ads.htm#ref_431_7">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_356_16">Set_Field_Fore</A></span> (<span class="symbol"><A NAME="ref_356_32" HREF="terminal_interface-curses-forms__adb.htm#ref_356_16">Fld</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                               <span class="symbol"><A NAME="ref_357_32" HREF="terminal_interface-curses-forms__adb.htm#ref_356_16">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_357_16">Set_Field_Fore</a></span> (<span class="symbol"><a name="ref_357_32">Fld</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                               <span class="symbol"><a name="ref_358_32">Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Field_Fore, "set_field_fore");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_356_16">Set_Field_Fore</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_428_7">Fld</A>, (<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A>    =&gt; Character'First,
-                                           <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses-forms__ads.htm#ref_430_7">Color</A>,
-                                           <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>  =&gt; <A HREF="terminal_interface-curses-forms__ads.htm#ref_429_7">Fore</A>)));
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_427_14">Set_Foreground</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_368_14" HREF="terminal_interface-curses-forms__ads.htm#ref_435_14">Foreground</A></span> (<span class="symbol"><A NAME="ref_368_26" HREF="terminal_interface-curses-forms__ads.htm#ref_435_26">Fld</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                         <span class="symbol"><A NAME="ref_369_26" HREF="terminal_interface-curses-forms__ads.htm#ref_436_26">Fore</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>)
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_357_16">Set_Field_Fore</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_429_7">Fld</a>, (<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a>    =&gt; Character'First,
+                                           <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> =&gt; <a href="terminal_interface-curses-forms__ads.htm#ref_431_7">Color</a>,
+                                           <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>  =&gt; <a href="terminal_interface-curses-forms__ads.htm#ref_430_7">Fore</a>)));
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_428_14">Set_Foreground</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_369_14" href="terminal_interface-curses-forms__ads.htm#ref_436_14">Foreground</a></span> (<span class="symbol"><a name="ref_369_26" href="terminal_interface-curses-forms__ads.htm#ref_436_26">Fld</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                         <span class="symbol"><a name="ref_370_26" href="terminal_interface-curses-forms__ads.htm#ref_437_26">Fore</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_371_16">Field_Fore</A></span> (<span class="symbol"><A NAME="ref_371_28" HREF="terminal_interface-curses-forms__adb.htm#ref_371_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
+      <b>function</b> <span class="symbol"><a name="ref_372_16">Field_Fore</a></span> (<span class="symbol"><a name="ref_372_28">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
       <b>pragma</b> Import (C, Field_Fore, "field_fore");
    <b>begin</b>
-      <A HREF="terminal_interface-curses-forms__ads.htm#ref_436_26">Fore</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_371_16">Field_Fore</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_435_26">Fld</A>).<A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>;
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_435_14">Foreground</A>;
+      <a href="terminal_interface-curses-forms__ads.htm#ref_437_26">Fore</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_372_16">Field_Fore</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_436_26">Fld</a>).<a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>;
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_436_14">Foreground</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_377_14" HREF="terminal_interface-curses-forms__ads.htm#ref_440_14">Foreground</A></span> (<span class="symbol"><A NAME="ref_377_26" HREF="terminal_interface-curses-forms__ads.htm#ref_440_26">Fld</A></span>   : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                         <span class="symbol"><A NAME="ref_378_26" HREF="terminal_interface-curses-forms__ads.htm#ref_441_26">Fore</A></span>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>;
-                         <span class="symbol"><A NAME="ref_379_26" HREF="terminal_interface-curses-forms__ads.htm#ref_442_26">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_378_14" href="terminal_interface-curses-forms__ads.htm#ref_441_14">Foreground</a></span> (<span class="symbol"><a name="ref_378_26" href="terminal_interface-curses-forms__ads.htm#ref_441_26">Fld</a></span>   : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                         <span class="symbol"><a name="ref_379_26" href="terminal_interface-curses-forms__ads.htm#ref_442_26">Fore</a></span>  : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>;
+                         <span class="symbol"><a name="ref_380_26" href="terminal_interface-curses-forms__ads.htm#ref_443_26">Color</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_381_16">Field_Fore</A></span> (<span class="symbol"><A NAME="ref_381_28" HREF="terminal_interface-curses-forms__adb.htm#ref_381_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
+      <b>function</b> <span class="symbol"><a name="ref_382_16">Field_Fore</a></span> (<span class="symbol"><a name="ref_382_28">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
       <b>pragma</b> Import (C, Field_Fore, "field_fore");
    <b>begin</b>
-      <A HREF="terminal_interface-curses-forms__ads.htm#ref_441_26">Fore</A>  := <A HREF="terminal_interface-curses-forms__adb.htm#ref_381_16">Field_Fore</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_440_26">Fld</A>).<A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>;
-      <A HREF="terminal_interface-curses-forms__ads.htm#ref_442_26">Color</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_381_16">Field_Fore</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_440_26">Fld</A>).<A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A>;
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_440_14">Foreground</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_390_14" HREF="terminal_interface-curses-forms__ads.htm#ref_447_14">Set_Background</A></span>
-     (<span class="symbol"><A NAME="ref_391_7" HREF="terminal_interface-curses-forms__ads.htm#ref_448_7">Fld</A></span>   : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-      <span class="symbol"><A NAME="ref_392_7" HREF="terminal_interface-curses-forms__ads.htm#ref_449_7">Back</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
-      <span class="symbol"><A NAME="ref_393_7" HREF="terminal_interface-curses-forms__ads.htm#ref_450_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First)
+      <a href="terminal_interface-curses-forms__ads.htm#ref_442_26">Fore</a>  := <a href="terminal_interface-curses-forms__adb.htm#ref_382_16">Field_Fore</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_441_26">Fld</a>).<a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>;
+      <a href="terminal_interface-curses-forms__ads.htm#ref_443_26">Color</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_382_16">Field_Fore</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_441_26">Fld</a>).<a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a>;
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_441_14">Foreground</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_391_14" href="terminal_interface-curses-forms__ads.htm#ref_448_14">Set_Background</a></span>
+     (<span class="symbol"><a name="ref_392_7" href="terminal_interface-curses-forms__ads.htm#ref_449_7">Fld</a></span>   : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+      <span class="symbol"><a name="ref_393_7" href="terminal_interface-curses-forms__ads.htm#ref_450_7">Back</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>;
+      <span class="symbol"><a name="ref_394_7" href="terminal_interface-curses-forms__ads.htm#ref_451_7">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_395_16">Set_Field_Back</A></span> (<span class="symbol"><A NAME="ref_395_32" HREF="terminal_interface-curses-forms__adb.htm#ref_395_16">Fld</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                               <span class="symbol"><A NAME="ref_396_32" HREF="terminal_interface-curses-forms__adb.htm#ref_395_16">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_396_16">Set_Field_Back</a></span> (<span class="symbol"><a name="ref_396_32">Fld</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                               <span class="symbol"><a name="ref_397_32">Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Field_Back, "set_field_back");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_395_16">Set_Field_Back</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_448_7">Fld</A>, (<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A>    =&gt; Character'First,
-                                           <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses-forms__ads.htm#ref_450_7">Color</A>,
-                                           <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>  =&gt; <A HREF="terminal_interface-curses-forms__ads.htm#ref_449_7">Back</A>)));
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_447_14">Set_Background</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_407_14" HREF="terminal_interface-curses-forms__ads.htm#ref_455_14">Background</A></span> (<span class="symbol"><A NAME="ref_407_26" HREF="terminal_interface-curses-forms__ads.htm#ref_455_26">Fld</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                         <span class="symbol"><A NAME="ref_408_26" HREF="terminal_interface-curses-forms__ads.htm#ref_456_26">Back</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>)
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_396_16">Set_Field_Back</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_449_7">Fld</a>, (<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a>    =&gt; Character'First,
+                                           <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> =&gt; <a href="terminal_interface-curses-forms__ads.htm#ref_451_7">Color</a>,
+                                           <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>  =&gt; <a href="terminal_interface-curses-forms__ads.htm#ref_450_7">Back</a>)));
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_448_14">Set_Background</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_408_14" href="terminal_interface-curses-forms__ads.htm#ref_456_14">Background</a></span> (<span class="symbol"><a name="ref_408_26" href="terminal_interface-curses-forms__ads.htm#ref_456_26">Fld</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                         <span class="symbol"><a name="ref_409_26" href="terminal_interface-curses-forms__ads.htm#ref_457_26">Back</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_410_16">Field_Back</A></span> (<span class="symbol"><A NAME="ref_410_28" HREF="terminal_interface-curses-forms__adb.htm#ref_410_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
+      <b>function</b> <span class="symbol"><a name="ref_411_16">Field_Back</a></span> (<span class="symbol"><a name="ref_411_28">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
       <b>pragma</b> Import (C, Field_Back, "field_back");
    <b>begin</b>
-      <A HREF="terminal_interface-curses-forms__ads.htm#ref_456_26">Back</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_410_16">Field_Back</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_455_26">Fld</A>).<A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>;
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_455_14">Background</A>;
+      <a href="terminal_interface-curses-forms__ads.htm#ref_457_26">Back</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_411_16">Field_Back</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_456_26">Fld</a>).<a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>;
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_456_14">Background</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_416_14" HREF="terminal_interface-curses-forms__ads.htm#ref_460_14">Background</A></span> (<span class="symbol"><A NAME="ref_416_26" HREF="terminal_interface-curses-forms__ads.htm#ref_460_26">Fld</A></span>   : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                         <span class="symbol"><A NAME="ref_417_26" HREF="terminal_interface-curses-forms__ads.htm#ref_461_26">Back</A></span>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>;
-                         <span class="symbol"><A NAME="ref_418_26" HREF="terminal_interface-curses-forms__ads.htm#ref_462_26">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_417_14" href="terminal_interface-curses-forms__ads.htm#ref_461_14">Background</a></span> (<span class="symbol"><a name="ref_417_26" href="terminal_interface-curses-forms__ads.htm#ref_461_26">Fld</a></span>   : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                         <span class="symbol"><a name="ref_418_26" href="terminal_interface-curses-forms__ads.htm#ref_462_26">Back</a></span>  : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>;
+                         <span class="symbol"><a name="ref_419_26" href="terminal_interface-curses-forms__ads.htm#ref_463_26">Color</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_420_16">Field_Back</A></span> (<span class="symbol"><A NAME="ref_420_28" HREF="terminal_interface-curses-forms__adb.htm#ref_420_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
+      <b>function</b> <span class="symbol"><a name="ref_421_16">Field_Back</a></span> (<span class="symbol"><a name="ref_421_28">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
       <b>pragma</b> Import (C, Field_Back, "field_back");
    <b>begin</b>
-      <A HREF="terminal_interface-curses-forms__ads.htm#ref_461_26">Back</A>  := <A HREF="terminal_interface-curses-forms__adb.htm#ref_420_16">Field_Back</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_460_26">Fld</A>).<A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>;
-      <A HREF="terminal_interface-curses-forms__ads.htm#ref_462_26">Color</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_420_16">Field_Back</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_460_26">Fld</A>).<A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A>;
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_460_14">Background</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_429_14" HREF="terminal_interface-curses-forms__ads.htm#ref_467_14">Set_Pad_Character</A></span> (<span class="symbol"><A NAME="ref_429_33" HREF="terminal_interface-curses-forms__ads.htm#ref_467_33">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                                <span class="symbol"><A NAME="ref_430_33" HREF="terminal_interface-curses-forms__ads.htm#ref_468_33">Pad</A></span> : Character := Space)
+      <a href="terminal_interface-curses-forms__ads.htm#ref_462_26">Back</a>  := <a href="terminal_interface-curses-forms__adb.htm#ref_421_16">Field_Back</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_461_26">Fld</a>).<a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>;
+      <a href="terminal_interface-curses-forms__ads.htm#ref_463_26">Color</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_421_16">Field_Back</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_461_26">Fld</a>).<a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a>;
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_461_14">Background</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_430_14" href="terminal_interface-curses-forms__ads.htm#ref_468_14">Set_Pad_Character</a></span> (<span class="symbol"><a name="ref_430_33" href="terminal_interface-curses-forms__ads.htm#ref_468_33">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                                <span class="symbol"><a name="ref_431_33" href="terminal_interface-curses-forms__ads.htm#ref_469_33">Pad</a></span> : Character := Space)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_432_16">Set_Field_Pad</A></span> (<span class="symbol"><A NAME="ref_432_31" HREF="terminal_interface-curses-forms__adb.htm#ref_432_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                              <span class="symbol"><A NAME="ref_433_31" HREF="terminal_interface-curses-forms__adb.htm#ref_432_16">Ch</A></span>  : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_433_16">Set_Field_Pad</a></span> (<span class="symbol"><a name="ref_433_31">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                              <span class="symbol"><a name="ref_434_31">Ch</a></span>  : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Field_Pad, "set_field_pad");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_432_16">Set_Field_Pad</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_467_33">Fld</A>,
-                                    <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (Character'Pos (<A HREF="terminal_interface-curses-forms__ads.htm#ref_468_33">Pad</A>))));
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_467_14">Set_Pad_Character</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_443_14" HREF="terminal_interface-curses-forms__ads.htm#ref_473_14">Pad_Character</A></span> (<span class="symbol"><A NAME="ref_443_29" HREF="terminal_interface-curses-forms__ads.htm#ref_473_29">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                            <span class="symbol"><A NAME="ref_444_29" HREF="terminal_interface-curses-forms__ads.htm#ref_474_29">Pad</A></span> : <b>out</b> Character)
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_433_16">Set_Field_Pad</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_468_33">Fld</a>,
+                                    <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (Character'Pos (<a href="terminal_interface-curses-forms__ads.htm#ref_469_33">Pad</a>))));
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_468_14">Set_Pad_Character</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_444_14" href="terminal_interface-curses-forms__ads.htm#ref_474_14">Pad_Character</a></span> (<span class="symbol"><a name="ref_444_29" href="terminal_interface-curses-forms__ads.htm#ref_474_29">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                            <span class="symbol"><a name="ref_445_29" href="terminal_interface-curses-forms__ads.htm#ref_475_29">Pad</a></span> : <b>out</b> Character)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_446_16">Field_Pad</A></span> (<span class="symbol"><A NAME="ref_446_27" HREF="terminal_interface-curses-forms__adb.htm#ref_446_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_447_16">Field_Pad</a></span> (<span class="symbol"><a name="ref_447_27">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Field_Pad, "field_pad");
    <b>begin</b>
-      <A HREF="terminal_interface-curses-forms__ads.htm#ref_474_29">Pad</A> := Character'Val (<A HREF="terminal_interface-curses-forms__adb.htm#ref_446_16">Field_Pad</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_473_29">Fld</A>));
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_473_14">Pad_Character</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | man page form_field_info.3x</EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_458_14" HREF="terminal_interface-curses-forms__ads.htm#ref_483_14">Info</A></span> (<span class="symbol"><A NAME="ref_458_20" HREF="terminal_interface-curses-forms__ads.htm#ref_483_20">Fld</A></span>                : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                   <span class="symbol"><A NAME="ref_459_20" HREF="terminal_interface-curses-forms__ads.htm#ref_484_20">Lines</A></span>              : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
-                   <span class="symbol"><A NAME="ref_460_20" HREF="terminal_interface-curses-forms__ads.htm#ref_485_20">Columns</A></span>            : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
-                   <span class="symbol"><A NAME="ref_461_20" HREF="terminal_interface-curses-forms__ads.htm#ref_486_20">First_Row</A></span>          : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-                   <span class="symbol"><A NAME="ref_462_20" HREF="terminal_interface-curses-forms__ads.htm#ref_487_20">First_Column</A></span>       : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-                   <span class="symbol"><A NAME="ref_463_20" HREF="terminal_interface-curses-forms__ads.htm#ref_488_20">Off_Screen</A></span>         : <b>out</b> Natural;
-                   <span class="symbol"><A NAME="ref_464_20" HREF="terminal_interface-curses-forms__ads.htm#ref_489_20">Additional_Buffers</A></span> : <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A>)
+      <a href="terminal_interface-curses-forms__ads.htm#ref_475_29">Pad</a> := Character'Val (<a href="terminal_interface-curses-forms__adb.htm#ref_447_16">Field_Pad</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_474_29">Fld</a>));
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_474_14">Pad_Character</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | man page form_field_info.3x</em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_459_14" href="terminal_interface-curses-forms__ads.htm#ref_484_14">Info</a></span> (<span class="symbol"><a name="ref_459_20" href="terminal_interface-curses-forms__ads.htm#ref_484_20">Fld</a></span>                : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                   <span class="symbol"><a name="ref_460_20" href="terminal_interface-curses-forms__ads.htm#ref_485_20">Lines</a></span>              : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
+                   <span class="symbol"><a name="ref_461_20" href="terminal_interface-curses-forms__ads.htm#ref_486_20">Columns</a></span>            : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>;
+                   <span class="symbol"><a name="ref_462_20" href="terminal_interface-curses-forms__ads.htm#ref_487_20">First_Row</a></span>          : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+                   <span class="symbol"><a name="ref_463_20" href="terminal_interface-curses-forms__ads.htm#ref_488_20">First_Column</a></span>       : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+                   <span class="symbol"><a name="ref_464_20" href="terminal_interface-curses-forms__ads.htm#ref_489_20">Off_Screen</a></span>         : <b>out</b> Natural;
+                   <span class="symbol"><a name="ref_465_20" href="terminal_interface-curses-forms__ads.htm#ref_490_20">Additional_Buffers</a></span> : <b>out</b> <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a>)
    <b>is</b>
-      <b>type</b> <span class="symbol"><A NAME="ref_466_12">C_Int_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-      <b>function</b> <span class="symbol"><A NAME="ref_467_16">Fld_Info</A></span> (<span class="symbol"><A NAME="ref_467_26" HREF="terminal_interface-curses-forms__adb.htm#ref_467_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                         <span class="symbol"><A NAME="ref_468_26" HREF="terminal_interface-curses-forms__adb.htm#ref_467_16">L</A></span>, <span class="symbol"><A NAME="ref_468_29" HREF="terminal_interface-curses-forms__adb.htm#ref_467_16">C</A></span>, <span class="symbol"><A NAME="ref_468_32" HREF="terminal_interface-curses-forms__adb.htm#ref_467_16">Fr</A></span>, <span class="symbol"><A NAME="ref_468_36" HREF="terminal_interface-curses-forms__adb.htm#ref_467_16">Fc</A></span>, <span class="symbol"><A NAME="ref_468_40" HREF="terminal_interface-curses-forms__adb.htm#ref_467_16">Os</A></span>, <span class="symbol"><A NAME="ref_468_44" HREF="terminal_interface-curses-forms__adb.htm#ref_467_16">Ab</A></span> : <A HREF="terminal_interface-curses-forms__adb.htm#ref_466_12">C_Int_Access</A>)
-                         <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>type</b> <span class="symbol"><a name="ref_467_12">C_Int_Access</a></span> <b>is</b> <b>access</b> <b>all</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+      <b>function</b> <span class="symbol"><a name="ref_468_16">Fld_Info</a></span> (<span class="symbol"><a name="ref_468_26">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                         <span class="symbol"><a name="ref_469_26">L</a></span>, <span class="symbol"><a name="ref_469_29">C</a></span>, <span class="symbol"><a name="ref_469_32">Fr</a></span>, <span class="symbol"><a name="ref_469_36">Fc</a></span>, <span class="symbol"><a name="ref_469_40">Os</a></span>, <span class="symbol"><a name="ref_469_44">Ab</a></span> : <a href="terminal_interface-curses-forms__adb.htm#ref_467_12">C_Int_Access</a>)
+                         <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Fld_Info, "field_info");
 
-      <span class="symbol"><A NAME="ref_472_7">L</A></span>, <span class="symbol"><A NAME="ref_472_10">C</A></span>, <span class="symbol"><A NAME="ref_472_13">Fr</A></span>, <span class="symbol"><A NAME="ref_472_17">Fc</A></span>, <span class="symbol"><A NAME="ref_472_21">Os</A></span>, <span class="symbol"><A NAME="ref_472_25">Ab</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <span class="symbol"><a name="ref_473_7">L</a></span>, <span class="symbol"><a name="ref_473_10">C</a></span>, <span class="symbol"><a name="ref_473_13">Fr</a></span>, <span class="symbol"><a name="ref_473_17">Fc</a></span>, <span class="symbol"><a name="ref_473_21">Os</a></span>, <span class="symbol"><a name="ref_473_25">Ab</a></span> : <b>aliased</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_467_16">Fld_Info</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_483_20">Fld</A>,
-                               <A HREF="terminal_interface-curses-forms__adb.htm#ref_472_7">L</A>'<b>Access</b>, <A HREF="terminal_interface-curses-forms__adb.htm#ref_472_10">C</A>'<b>Access</b>,
-                               <A HREF="terminal_interface-curses-forms__adb.htm#ref_472_13">Fr</A>'<b>Access</b>, <A HREF="terminal_interface-curses-forms__adb.htm#ref_472_17">Fc</A>'<b>Access</b>,
-                               <A HREF="terminal_interface-curses-forms__adb.htm#ref_472_21">Os</A>'<b>Access</b>, <A HREF="terminal_interface-curses-forms__adb.htm#ref_472_25">Ab</A>'<b>Access</b>));
-      <A HREF="terminal_interface-curses-forms__ads.htm#ref_484_20">Lines</A>              := <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_472_7">L</A>);
-      <A HREF="terminal_interface-curses-forms__ads.htm#ref_485_20">Columns</A>            := <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_472_10">C</A>);
-      <A HREF="terminal_interface-curses-forms__ads.htm#ref_486_20">First_Row</A>          := <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_472_13">Fr</A>);
-      <A HREF="terminal_interface-curses-forms__ads.htm#ref_487_20">First_Column</A>       := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_472_17">Fc</A>);
-      <A HREF="terminal_interface-curses-forms__ads.htm#ref_488_20">Off_Screen</A>         := Natural (<A HREF="terminal_interface-curses-forms__adb.htm#ref_472_21">Os</A>);
-      <A HREF="terminal_interface-curses-forms__ads.htm#ref_489_20">Additional_Buffers</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_472_25">Ab</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_483_14">Info</A>;
-<span class="comment"><EM>--  |</EM></span>
-<span class="comment"><EM>--  |</EM></span>
-<span class="comment"><EM>--  |</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_488_14" HREF="terminal_interface-curses-forms__ads.htm#ref_494_14">Dynamic_Info</A></span> (<span class="symbol"><A NAME="ref_488_28" HREF="terminal_interface-curses-forms__ads.htm#ref_494_28">Fld</A></span>     : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                           <span class="symbol"><A NAME="ref_489_28" HREF="terminal_interface-curses-forms__ads.htm#ref_495_28">Lines</A></span>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
-                           <span class="symbol"><A NAME="ref_490_28" HREF="terminal_interface-curses-forms__ads.htm#ref_496_28">Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
-                           <span class="symbol"><A NAME="ref_491_28" HREF="terminal_interface-curses-forms__ads.htm#ref_497_28">Max</A></span>     : <b>out</b> Natural)
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_468_16">Fld_Info</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_484_20">Fld</a>,
+                               <a href="terminal_interface-curses-forms__adb.htm#ref_473_7">L</a>'<b>Access</b>, <a href="terminal_interface-curses-forms__adb.htm#ref_473_10">C</a>'<b>Access</b>,
+                               <a href="terminal_interface-curses-forms__adb.htm#ref_473_13">Fr</a>'<b>Access</b>, <a href="terminal_interface-curses-forms__adb.htm#ref_473_17">Fc</a>'<b>Access</b>,
+                               <a href="terminal_interface-curses-forms__adb.htm#ref_473_21">Os</a>'<b>Access</b>, <a href="terminal_interface-curses-forms__adb.htm#ref_473_25">Ab</a>'<b>Access</b>));
+      <a href="terminal_interface-curses-forms__ads.htm#ref_485_20">Lines</a>              := <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_473_7">L</a>);
+      <a href="terminal_interface-curses-forms__ads.htm#ref_486_20">Columns</a>            := <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_473_10">C</a>);
+      <a href="terminal_interface-curses-forms__ads.htm#ref_487_20">First_Row</a>          := <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_473_13">Fr</a>);
+      <a href="terminal_interface-curses-forms__ads.htm#ref_488_20">First_Column</a>       := <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_473_17">Fc</a>);
+      <a href="terminal_interface-curses-forms__ads.htm#ref_489_20">Off_Screen</a>         := Natural (<a href="terminal_interface-curses-forms__adb.htm#ref_473_21">Os</a>);
+      <a href="terminal_interface-curses-forms__ads.htm#ref_490_20">Additional_Buffers</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_473_25">Ab</a>);
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_484_14">Info</a>;
+<span class="comment"><em>--  |</em></span>
+<span class="comment"><em>--  |</em></span>
+<span class="comment"><em>--  |</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_489_14" href="terminal_interface-curses-forms__ads.htm#ref_495_14">Dynamic_Info</a></span> (<span class="symbol"><a name="ref_489_28" href="terminal_interface-curses-forms__ads.htm#ref_495_28">Fld</a></span>     : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                           <span class="symbol"><a name="ref_490_28" href="terminal_interface-curses-forms__ads.htm#ref_496_28">Lines</a></span>   : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
+                           <span class="symbol"><a name="ref_491_28" href="terminal_interface-curses-forms__ads.htm#ref_497_28">Columns</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>;
+                           <span class="symbol"><a name="ref_492_28" href="terminal_interface-curses-forms__ads.htm#ref_498_28">Max</a></span>     : <b>out</b> Natural)
    <b>is</b>
-      <b>type</b> <span class="symbol"><A NAME="ref_493_12">C_Int_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-      <b>function</b> <span class="symbol"><A NAME="ref_494_16">Dyn_Info</A></span> (<span class="symbol"><A NAME="ref_494_26" HREF="terminal_interface-curses-forms__adb.htm#ref_494_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>; <span class="symbol"><A NAME="ref_494_39" HREF="terminal_interface-curses-forms__adb.htm#ref_494_16">L</A></span>, <span class="symbol"><A NAME="ref_494_42" HREF="terminal_interface-curses-forms__adb.htm#ref_494_16">C</A></span>, <span class="symbol"><A NAME="ref_494_45" HREF="terminal_interface-curses-forms__adb.htm#ref_494_16">M</A></span> : <A HREF="terminal_interface-curses-forms__adb.htm#ref_493_12">C_Int_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>type</b> <span class="symbol"><a name="ref_494_12">C_Int_Access</a></span> <b>is</b> <b>access</b> <b>all</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+      <b>function</b> <span class="symbol"><a name="ref_495_16">Dyn_Info</a></span> (<span class="symbol"><a name="ref_495_26">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; <span class="symbol"><a name="ref_495_39">L</a></span>, <span class="symbol"><a name="ref_495_42">C</a></span>, <span class="symbol"><a name="ref_495_45">M</a></span> : <a href="terminal_interface-curses-forms__adb.htm#ref_494_12">C_Int_Access</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Dyn_Info, "dynamic_field_info");
 
-      <span class="symbol"><A NAME="ref_497_7">L</A></span>, <span class="symbol"><A NAME="ref_497_10">C</A></span>, <span class="symbol"><A NAME="ref_497_13">M</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <span class="symbol"><a name="ref_498_7">L</a></span>, <span class="symbol"><a name="ref_498_10">C</a></span>, <span class="symbol"><a name="ref_498_13">M</a></span> : <b>aliased</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_494_16">Dyn_Info</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_494_28">Fld</A>,
-                               <A HREF="terminal_interface-curses-forms__adb.htm#ref_497_7">L</A>'<b>Access</b>, <A HREF="terminal_interface-curses-forms__adb.htm#ref_497_10">C</A>'<b>Access</b>,
-                               <A HREF="terminal_interface-curses-forms__adb.htm#ref_497_13">M</A>'<b>Access</b>));
-      <A HREF="terminal_interface-curses-forms__ads.htm#ref_495_28">Lines</A>   := <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_497_7">L</A>);
-      <A HREF="terminal_interface-curses-forms__ads.htm#ref_496_28">Columns</A> := <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_497_10">C</A>);
-      <A HREF="terminal_interface-curses-forms__ads.htm#ref_497_28">Max</A>     := Natural (<A HREF="terminal_interface-curses-forms__adb.htm#ref_497_13">M</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_494_14">Dynamic_Info</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | man page form_win.3x</EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_513_14" HREF="terminal_interface-curses-forms__ads.htm#ref_506_14">Set_Window</A></span> (<span class="symbol"><A NAME="ref_513_26" HREF="terminal_interface-curses-forms__ads.htm#ref_506_26">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                         <span class="symbol"><A NAME="ref_514_26" HREF="terminal_interface-curses-forms__ads.htm#ref_507_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>)
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_495_16">Dyn_Info</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_495_28">Fld</a>,
+                               <a href="terminal_interface-curses-forms__adb.htm#ref_498_7">L</a>'<b>Access</b>, <a href="terminal_interface-curses-forms__adb.htm#ref_498_10">C</a>'<b>Access</b>,
+                               <a href="terminal_interface-curses-forms__adb.htm#ref_498_13">M</a>'<b>Access</b>));
+      <a href="terminal_interface-curses-forms__ads.htm#ref_496_28">Lines</a>   := <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_498_7">L</a>);
+      <a href="terminal_interface-curses-forms__ads.htm#ref_497_28">Columns</a> := <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_498_10">C</a>);
+      <a href="terminal_interface-curses-forms__ads.htm#ref_498_28">Max</a>     := Natural (<a href="terminal_interface-curses-forms__adb.htm#ref_498_13">M</a>);
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_495_14">Dynamic_Info</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | man page form_win.3x</em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_514_14" href="terminal_interface-curses-forms__ads.htm#ref_507_14">Set_Window</a></span> (<span class="symbol"><a name="ref_514_26" href="terminal_interface-curses-forms__ads.htm#ref_507_26">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                         <span class="symbol"><a name="ref_515_26" href="terminal_interface-curses-forms__ads.htm#ref_508_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_516_16">Set_Form_Win</A></span> (<span class="symbol"><A NAME="ref_516_30" HREF="terminal_interface-curses-forms__adb.htm#ref_516_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                             <span class="symbol"><A NAME="ref_517_30" HREF="terminal_interface-curses-forms__adb.htm#ref_516_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_517_16">Set_Form_Win</a></span> (<span class="symbol"><a name="ref_517_30">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                             <span class="symbol"><a name="ref_518_30">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Form_Win, "set_form_win");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_516_16">Set_Form_Win</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_506_26">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_507_26">Win</A>));
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_506_14">Set_Window</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_526_13" HREF="terminal_interface-curses-forms__ads.htm#ref_512_13">Get_Window</A></span> (<span class="symbol"><A NAME="ref_526_25" HREF="terminal_interface-curses-forms__ads.htm#ref_512_25">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_517_16">Set_Form_Win</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_507_26">Frm</a>, <a href="terminal_interface-curses-forms__ads.htm#ref_508_26">Win</a>));
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_507_14">Set_Window</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_527_13" href="terminal_interface-curses-forms__ads.htm#ref_513_13">Get_Window</a></span> (<span class="symbol"><a name="ref_527_25" href="terminal_interface-curses-forms__ads.htm#ref_513_25">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_528_16">Form_Win</A></span> (<span class="symbol"><A NAME="ref_528_26" HREF="terminal_interface-curses-forms__adb.htm#ref_528_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+      <b>function</b> <span class="symbol"><a name="ref_529_16">Form_Win</a></span> (<span class="symbol"><a name="ref_529_26">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
       <b>pragma</b> Import (C, Form_Win, "form_win");
 
-      <span class="symbol"><A NAME="ref_531_7">W</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_528_16">Form_Win</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_512_25">Frm</A>);
+      <span class="symbol"><a name="ref_532_7">W</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_529_16">Form_Win</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_513_25">Frm</a>);
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_531_7">W</A>;
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_512_13">Get_Window</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_538_14" HREF="terminal_interface-curses-forms__ads.htm#ref_517_14">Set_Sub_Window</A></span> (<span class="symbol"><A NAME="ref_538_30" HREF="terminal_interface-curses-forms__ads.htm#ref_517_30">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                             <span class="symbol"><A NAME="ref_539_30" HREF="terminal_interface-curses-forms__ads.htm#ref_518_30">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>)
+      <b>return</b> <a href="terminal_interface-curses-forms__adb.htm#ref_532_7">W</a>;
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_513_13">Get_Window</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_539_14" href="terminal_interface-curses-forms__ads.htm#ref_518_14">Set_Sub_Window</a></span> (<span class="symbol"><a name="ref_539_30" href="terminal_interface-curses-forms__ads.htm#ref_518_30">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                             <span class="symbol"><a name="ref_540_30" href="terminal_interface-curses-forms__ads.htm#ref_519_30">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_541_16">Set_Form_Sub</A></span> (<span class="symbol"><A NAME="ref_541_30" HREF="terminal_interface-curses-forms__adb.htm#ref_541_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                             <span class="symbol"><A NAME="ref_542_30" HREF="terminal_interface-curses-forms__adb.htm#ref_541_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_542_16">Set_Form_Sub</a></span> (<span class="symbol"><a name="ref_542_30">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                             <span class="symbol"><a name="ref_543_30">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Form_Sub, "set_form_sub");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_541_16">Set_Form_Sub</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_517_30">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_518_30">Win</A>));
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_517_14">Set_Sub_Window</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_551_13" HREF="terminal_interface-curses-forms__ads.htm#ref_523_13">Get_Sub_Window</A></span> (<span class="symbol"><A NAME="ref_551_29" HREF="terminal_interface-curses-forms__ads.htm#ref_523_29">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_542_16">Set_Form_Sub</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_518_30">Frm</a>, <a href="terminal_interface-curses-forms__ads.htm#ref_519_30">Win</a>));
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_518_14">Set_Sub_Window</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_552_13" href="terminal_interface-curses-forms__ads.htm#ref_524_13">Get_Sub_Window</a></span> (<span class="symbol"><a name="ref_552_29" href="terminal_interface-curses-forms__ads.htm#ref_524_29">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_553_16">Form_Sub</A></span> (<span class="symbol"><A NAME="ref_553_26" HREF="terminal_interface-curses-forms__adb.htm#ref_553_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+      <b>function</b> <span class="symbol"><a name="ref_554_16">Form_Sub</a></span> (<span class="symbol"><a name="ref_554_26">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
       <b>pragma</b> Import (C, Form_Sub, "form_sub");
 
-      <span class="symbol"><A NAME="ref_556_7">W</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_553_16">Form_Sub</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_523_29">Frm</A>);
+      <span class="symbol"><a name="ref_557_7">W</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_554_16">Form_Sub</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_524_29">Frm</a>);
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_556_7">W</A>;
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_523_13">Get_Sub_Window</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_563_14" HREF="terminal_interface-curses-forms__ads.htm#ref_528_14">Scale</A></span> (<span class="symbol"><A NAME="ref_563_21" HREF="terminal_interface-curses-forms__ads.htm#ref_528_21">Frm</A></span>     : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                    <span class="symbol"><A NAME="ref_564_21" HREF="terminal_interface-curses-forms__ads.htm#ref_529_21">Lines</A></span>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
-                    <span class="symbol"><A NAME="ref_565_21" HREF="terminal_interface-curses-forms__ads.htm#ref_530_21">Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>)
+      <b>return</b> <a href="terminal_interface-curses-forms__adb.htm#ref_557_7">W</a>;
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_524_13">Get_Sub_Window</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_564_14" href="terminal_interface-curses-forms__ads.htm#ref_529_14">Scale</a></span> (<span class="symbol"><a name="ref_564_21" href="terminal_interface-curses-forms__ads.htm#ref_529_21">Frm</a></span>     : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                    <span class="symbol"><a name="ref_565_21" href="terminal_interface-curses-forms__ads.htm#ref_530_21">Lines</a></span>   : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
+                    <span class="symbol"><a name="ref_566_21" href="terminal_interface-curses-forms__ads.htm#ref_531_21">Columns</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>)
    <b>is</b>
-      <b>type</b> <span class="symbol"><A NAME="ref_567_12">C_Int_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-      <b>function</b> <span class="symbol"><A NAME="ref_568_16">M_Scale</A></span> (<span class="symbol"><A NAME="ref_568_25" HREF="terminal_interface-curses-forms__adb.htm#ref_568_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>; <span class="symbol"><A NAME="ref_568_37" HREF="terminal_interface-curses-forms__adb.htm#ref_568_16">Yp</A></span>, <span class="symbol"><A NAME="ref_568_41" HREF="terminal_interface-curses-forms__adb.htm#ref_568_16">Xp</A></span> : <A HREF="terminal_interface-curses-forms__adb.htm#ref_567_12">C_Int_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>type</b> <span class="symbol"><a name="ref_568_12">C_Int_Access</a></span> <b>is</b> <b>access</b> <b>all</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+      <b>function</b> <span class="symbol"><a name="ref_569_16">M_Scale</a></span> (<span class="symbol"><a name="ref_569_25">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; <span class="symbol"><a name="ref_569_37">Yp</a></span>, <span class="symbol"><a name="ref_569_41">Xp</a></span> : <a href="terminal_interface-curses-forms__adb.htm#ref_568_12">C_Int_Access</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, M_Scale, "scale_form");
 
-      <span class="symbol"><A NAME="ref_571_7">X</A></span>, <span class="symbol"><A NAME="ref_571_10">Y</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <span class="symbol"><a name="ref_572_7">X</a></span>, <span class="symbol"><a name="ref_572_10">Y</a></span> : <b>aliased</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_568_16">M_Scale</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_528_21">Frm</A>, <A HREF="terminal_interface-curses-forms__adb.htm#ref_571_10">Y</A>'<b>Access</b>, <A HREF="terminal_interface-curses-forms__adb.htm#ref_571_7">X</A>'<b>Access</b>));
-      <A HREF="terminal_interface-curses-forms__ads.htm#ref_529_21">Lines</A>   := <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_571_10">Y</A>);
-      <A HREF="terminal_interface-curses-forms__ads.htm#ref_530_21">Columns</A> := <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_571_7">X</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_528_14">Scale</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | man page menu_hook.3x</EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_584_14" HREF="terminal_interface-curses-forms__ads.htm#ref_542_14">Set_Field_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_584_35" HREF="terminal_interface-curses-forms__ads.htm#ref_542_35">Frm</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                                  <span class="symbol"><A NAME="ref_585_35" HREF="terminal_interface-curses-forms__ads.htm#ref_543_35">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_538_9">Form_Hook_Function</A>)
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_569_16">M_Scale</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_529_21">Frm</a>, <a href="terminal_interface-curses-forms__adb.htm#ref_572_10">Y</a>'<b>Access</b>, <a href="terminal_interface-curses-forms__adb.htm#ref_572_7">X</a>'<b>Access</b>));
+      <a href="terminal_interface-curses-forms__ads.htm#ref_530_21">Lines</a>   := <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_572_10">Y</a>);
+      <a href="terminal_interface-curses-forms__ads.htm#ref_531_21">Columns</a> := <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_572_7">X</a>);
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_529_14">Scale</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | man page menu_hook.3x</em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_585_14" href="terminal_interface-curses-forms__ads.htm#ref_543_14">Set_Field_Init_Hook</a></span> (<span class="symbol"><a name="ref_585_35" href="terminal_interface-curses-forms__ads.htm#ref_543_35">Frm</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                                  <span class="symbol"><a name="ref_586_35" href="terminal_interface-curses-forms__ads.htm#ref_544_35">Proc</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_587_16">Set_Field_Init</A></span> (<span class="symbol"><A NAME="ref_587_32" HREF="terminal_interface-curses-forms__adb.htm#ref_587_16">Frm</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                               <span class="symbol"><A NAME="ref_588_32" HREF="terminal_interface-curses-forms__adb.htm#ref_587_16">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_538_9">Form_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_588_16">Set_Field_Init</a></span> (<span class="symbol"><a name="ref_588_32">Frm</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                               <span class="symbol"><a name="ref_589_32">Proc</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Field_Init, "set_field_init");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_587_16">Set_Field_Init</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_542_35">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_543_35">Proc</A>));
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_542_14">Set_Field_Init_Hook</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_597_14" HREF="terminal_interface-curses-forms__ads.htm#ref_548_14">Set_Field_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_597_35" HREF="terminal_interface-curses-forms__ads.htm#ref_548_35">Frm</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                                  <span class="symbol"><A NAME="ref_598_35" HREF="terminal_interface-curses-forms__ads.htm#ref_549_35">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_538_9">Form_Hook_Function</A>)
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_588_16">Set_Field_Init</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_543_35">Frm</a>, <a href="terminal_interface-curses-forms__ads.htm#ref_544_35">Proc</a>));
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_543_14">Set_Field_Init_Hook</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_598_14" href="terminal_interface-curses-forms__ads.htm#ref_549_14">Set_Field_Term_Hook</a></span> (<span class="symbol"><a name="ref_598_35" href="terminal_interface-curses-forms__ads.htm#ref_549_35">Frm</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                                  <span class="symbol"><a name="ref_599_35" href="terminal_interface-curses-forms__ads.htm#ref_550_35">Proc</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_600_16">Set_Field_Term</A></span> (<span class="symbol"><A NAME="ref_600_32" HREF="terminal_interface-curses-forms__adb.htm#ref_600_16">Frm</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                               <span class="symbol"><A NAME="ref_601_32" HREF="terminal_interface-curses-forms__adb.htm#ref_600_16">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_538_9">Form_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_601_16">Set_Field_Term</a></span> (<span class="symbol"><a name="ref_601_32">Frm</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                               <span class="symbol"><a name="ref_602_32">Proc</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Field_Term, "set_field_term");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_600_16">Set_Field_Term</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_548_35">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_549_35">Proc</A>));
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_548_14">Set_Field_Term_Hook</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_610_14" HREF="terminal_interface-curses-forms__ads.htm#ref_554_14">Set_Form_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_610_34" HREF="terminal_interface-curses-forms__ads.htm#ref_554_34">Frm</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                                 <span class="symbol"><A NAME="ref_611_34" HREF="terminal_interface-curses-forms__ads.htm#ref_555_34">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_538_9">Form_Hook_Function</A>)
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_601_16">Set_Field_Term</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_549_35">Frm</a>, <a href="terminal_interface-curses-forms__ads.htm#ref_550_35">Proc</a>));
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_549_14">Set_Field_Term_Hook</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_611_14" href="terminal_interface-curses-forms__ads.htm#ref_555_14">Set_Form_Init_Hook</a></span> (<span class="symbol"><a name="ref_611_34" href="terminal_interface-curses-forms__ads.htm#ref_555_34">Frm</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                                 <span class="symbol"><a name="ref_612_34" href="terminal_interface-curses-forms__ads.htm#ref_556_34">Proc</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_613_16">Set_Form_Init</A></span> (<span class="symbol"><A NAME="ref_613_31" HREF="terminal_interface-curses-forms__adb.htm#ref_613_16">Frm</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                              <span class="symbol"><A NAME="ref_614_31" HREF="terminal_interface-curses-forms__adb.htm#ref_613_16">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_538_9">Form_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_614_16">Set_Form_Init</a></span> (<span class="symbol"><a name="ref_614_31">Frm</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                              <span class="symbol"><a name="ref_615_31">Proc</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Form_Init, "set_form_init");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_613_16">Set_Form_Init</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_554_34">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_555_34">Proc</A>));
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_554_14">Set_Form_Init_Hook</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_623_14" HREF="terminal_interface-curses-forms__ads.htm#ref_560_14">Set_Form_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_623_34" HREF="terminal_interface-curses-forms__ads.htm#ref_560_34">Frm</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                                 <span class="symbol"><A NAME="ref_624_34" HREF="terminal_interface-curses-forms__ads.htm#ref_561_34">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_538_9">Form_Hook_Function</A>)
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_614_16">Set_Form_Init</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_555_34">Frm</a>, <a href="terminal_interface-curses-forms__ads.htm#ref_556_34">Proc</a>));
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_555_14">Set_Form_Init_Hook</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_624_14" href="terminal_interface-curses-forms__ads.htm#ref_561_14">Set_Form_Term_Hook</a></span> (<span class="symbol"><a name="ref_624_34" href="terminal_interface-curses-forms__ads.htm#ref_561_34">Frm</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                                 <span class="symbol"><a name="ref_625_34" href="terminal_interface-curses-forms__ads.htm#ref_562_34">Proc</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_626_16">Set_Form_Term</A></span> (<span class="symbol"><A NAME="ref_626_31" HREF="terminal_interface-curses-forms__adb.htm#ref_626_16">Frm</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                              <span class="symbol"><A NAME="ref_627_31" HREF="terminal_interface-curses-forms__adb.htm#ref_626_16">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_538_9">Form_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_627_16">Set_Form_Term</a></span> (<span class="symbol"><a name="ref_627_31">Frm</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                              <span class="symbol"><a name="ref_628_31">Proc</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Form_Term, "set_form_term");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_626_16">Set_Form_Term</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_560_34">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_561_34">Proc</A>));
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_560_14">Set_Form_Term_Hook</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | man page form_fields.3x</EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_640_14" HREF="terminal_interface-curses-forms__ads.htm#ref_590_14">Redefine</A></span> (<span class="symbol"><A NAME="ref_640_24" HREF="terminal_interface-curses-forms__ads.htm#ref_590_24">Frm</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                       <span class="symbol"><A NAME="ref_641_24" HREF="terminal_interface-curses-forms__ads.htm#ref_591_24">Flds</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_135_9">Field_Array_Access</A>)
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_627_16">Set_Form_Term</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_561_34">Frm</a>, <a href="terminal_interface-curses-forms__ads.htm#ref_562_34">Proc</a>));
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_561_14">Set_Form_Term_Hook</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | man page form_fields.3x</em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_641_14" href="terminal_interface-curses-forms__ads.htm#ref_591_14">Redefine</a></span> (<span class="symbol"><a name="ref_641_24" href="terminal_interface-curses-forms__ads.htm#ref_591_24">Frm</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                       <span class="symbol"><a name="ref_642_24" href="terminal_interface-curses-forms__ads.htm#ref_592_24">Flds</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_136_9">Field_Array_Access</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_643_16">Set_Frm_Fields</A></span> (<span class="symbol"><A NAME="ref_643_32" HREF="terminal_interface-curses-forms__adb.htm#ref_643_16">Frm</A></span>   : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                               <span class="symbol"><A NAME="ref_644_32" HREF="terminal_interface-curses-forms__adb.htm#ref_643_16">Items</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_644_16">Set_Frm_Fields</a></span> (<span class="symbol"><a name="ref_644_32">Frm</a></span>   : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                               <span class="symbol"><a name="ref_645_32">Items</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Frm_Fields, "set_form_fields");
 
    <b>begin</b>
-      <b>pragma</b> Assert (<A HREF="terminal_interface-curses-forms__ads.htm#ref_591_24">Flds</A>.<b>all</b> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_591_24">Flds</A>'Last) = <A HREF="terminal_interface-curses-forms__ads.htm#ref_54_4">Null_Field</A>);
-      <b>if</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_591_24">Flds</A>.<b>all</b> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_591_24">Flds</A>'Last) /= <A HREF="terminal_interface-curses-forms__ads.htm#ref_54_4">Null_Field</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_287_4">Form_Exception</A>;
+      <b>pragma</b> Assert (<a href="terminal_interface-curses-forms__ads.htm#ref_592_24">Flds</a>.<b>all</b> (<a href="terminal_interface-curses-forms__ads.htm#ref_592_24">Flds</a>'Last) = <a href="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</a>);
+      <b>if</b> <a href="terminal_interface-curses-forms__ads.htm#ref_592_24">Flds</a>.<b>all</b> (<a href="terminal_interface-curses-forms__ads.htm#ref_592_24">Flds</a>'Last) /= <a href="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>;
       <b>else</b>
-         <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_643_16">Set_Frm_Fields</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_590_24">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_591_24">Flds</A>.<b>all</b> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_591_24">Flds</A>'First)'Address));
+         <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_644_16">Set_Frm_Fields</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_591_24">Frm</a>, <a href="terminal_interface-curses-forms__ads.htm#ref_592_24">Flds</a>.<b>all</b> (<a href="terminal_interface-curses-forms__ads.htm#ref_592_24">Flds</a>'First)'Address));
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_590_14">Redefine</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_658_13" HREF="terminal_interface-curses-forms__ads.htm#ref_602_13">Fields</A></span> (<span class="symbol"><A NAME="ref_658_21" HREF="terminal_interface-curses-forms__ads.htm#ref_602_21">Frm</A></span>   : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                    <span class="symbol"><A NAME="ref_659_21" HREF="terminal_interface-curses-forms__ads.htm#ref_603_21">Index</A></span> : Positive) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_591_14">Redefine</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_659_13" href="terminal_interface-curses-forms__ads.htm#ref_603_13">Fields</a></span> (<span class="symbol"><a name="ref_659_21" href="terminal_interface-curses-forms__ads.htm#ref_603_21">Frm</a></span>   : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                    <span class="symbol"><a name="ref_660_21" href="terminal_interface-curses-forms__ads.htm#ref_604_21">Index</a></span> : Positive) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>
    <b>is</b>
       <b>use</b> F_Array;
 
-      <b>function</b> C_Fields (<span class="symbol"><A NAME="ref_663_26">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> Pointer;
+      <b>function</b> C_Fields (<span class="symbol"><a name="ref_664_26">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> Pointer;
       <b>pragma</b> Import (C, C_Fields, "form_fields");
 
-      P : Pointer := C_Fields (<A HREF="terminal_interface-curses-forms__ads.htm#ref_602_21">Frm</A>);
+      P : Pointer := C_Fields (<a href="terminal_interface-curses-forms__ads.htm#ref_603_21">Frm</a>);
    <b>begin</b>
-      <b>if</b> P = <b>null</b> <b>or</b> <b>else</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_603_21">Index</A> &gt; <A HREF="terminal_interface-curses-forms__ads.htm#ref_608_13">Field_Count</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_602_21">Frm</A>) <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_287_4">Form_Exception</A>;
+      <b>if</b> P = <b>null</b> <b>or</b> <b>else</b> <a href="terminal_interface-curses-forms__ads.htm#ref_604_21">Index</a> &gt; <a href="terminal_interface-curses-forms__ads.htm#ref_609_13">Field_Count</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_603_21">Frm</a>) <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>;
       <b>else</b>
-         P := P + ptrdiff_t (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_603_21">Index</A>) - 1);
+         P := P + ptrdiff_t (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_604_21">Index</a>) - 1);
          <b>return</b> P.<b>all</b>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_602_13">Fields</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_678_13" HREF="terminal_interface-curses-forms__ads.htm#ref_608_13">Field_Count</A></span> (<span class="symbol"><A NAME="ref_678_26" HREF="terminal_interface-curses-forms__ads.htm#ref_608_26">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> Natural
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_603_13">Fields</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_679_13" href="terminal_interface-curses-forms__ads.htm#ref_609_13">Field_Count</a></span> (<span class="symbol"><a name="ref_679_26" href="terminal_interface-curses-forms__ads.htm#ref_609_26">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> Natural
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_680_16">Count</A></span> (<span class="symbol"><A NAME="ref_680_23" HREF="terminal_interface-curses-forms__adb.htm#ref_680_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_681_16">Count</a></span> (<span class="symbol"><a name="ref_681_23">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Count, "field_count");
    <b>begin</b>
-      <b>return</b> Natural (<A HREF="terminal_interface-curses-forms__adb.htm#ref_680_16">Count</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_608_26">Frm</A>));
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_608_13">Field_Count</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_688_14" HREF="terminal_interface-curses-forms__ads.htm#ref_613_14">Move</A></span> (<span class="symbol"><A NAME="ref_688_20" HREF="terminal_interface-curses-forms__ads.htm#ref_613_20">Fld</A></span>    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                   <span class="symbol"><A NAME="ref_689_20" HREF="terminal_interface-curses-forms__ads.htm#ref_614_20">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-                   <span class="symbol"><A NAME="ref_690_20" HREF="terminal_interface-curses-forms__ads.htm#ref_615_20">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>)
+      <b>return</b> Natural (<a href="terminal_interface-curses-forms__adb.htm#ref_681_16">Count</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_609_26">Frm</a>));
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_609_13">Field_Count</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_689_14" href="terminal_interface-curses-forms__ads.htm#ref_614_14">Move</a></span> (<span class="symbol"><a name="ref_689_20" href="terminal_interface-curses-forms__ads.htm#ref_614_20">Fld</a></span>    : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                   <span class="symbol"><a name="ref_690_20" href="terminal_interface-curses-forms__ads.htm#ref_615_20">Line</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+                   <span class="symbol"><a name="ref_691_20" href="terminal_interface-curses-forms__ads.htm#ref_616_20">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_692_16">Move</A></span> (<span class="symbol"><A NAME="ref_692_22" HREF="terminal_interface-curses-forms__adb.htm#ref_692_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>; <span class="symbol"><A NAME="ref_692_35" HREF="terminal_interface-curses-forms__adb.htm#ref_692_16">L</A></span>, <span class="symbol"><A NAME="ref_692_38" HREF="terminal_interface-curses-forms__adb.htm#ref_692_16">C</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_693_16">Move</a></span> (<span class="symbol"><a name="ref_693_22">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; <span class="symbol"><a name="ref_693_35">L</a></span>, <span class="symbol"><a name="ref_693_38">C</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Move, "move_field");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_692_16">Move</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_613_20">Fld</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_614_20">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_615_20">Column</A>)));
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_613_14">Move</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | man page form_new.3x</EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_705_13" HREF="terminal_interface-curses-forms__ads.htm#ref_624_13">Create</A></span> (<span class="symbol"><A NAME="ref_705_21" HREF="terminal_interface-curses-forms__ads.htm#ref_624_21">Fields</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_135_9">Field_Array_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_693_16">Move</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_614_20">Fld</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_615_20">Line</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_616_20">Column</a>)));
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_614_14">Move</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | man page form_new.3x</em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_706_13" href="terminal_interface-curses-forms__ads.htm#ref_625_13">Create</a></span> (<span class="symbol"><a name="ref_706_21" href="terminal_interface-curses-forms__ads.htm#ref_625_21">Fields</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_136_9">Field_Array_Access</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_707_16">NewForm</A></span> (<span class="symbol"><A NAME="ref_707_25" HREF="terminal_interface-curses-forms__adb.htm#ref_707_16">Fields</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+      <b>function</b> <span class="symbol"><a name="ref_708_16">NewForm</a></span> (<span class="symbol"><a name="ref_708_25">Fields</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
       <b>pragma</b> Import (C, NewForm, "new_form");
 
-      <span class="symbol"><A NAME="ref_710_7">M</A></span>   : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+      <span class="symbol"><a name="ref_711_7">M</a></span>   : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
    <b>begin</b>
-      <b>pragma</b> Assert (<A HREF="terminal_interface-curses-forms__ads.htm#ref_624_21">Fields</A>.<b>all</b> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_624_21">Fields</A>'Last) = <A HREF="terminal_interface-curses-forms__ads.htm#ref_54_4">Null_Field</A>);
-      <b>if</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_624_21">Fields</A>.<b>all</b> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_624_21">Fields</A>'Last) /= <A HREF="terminal_interface-curses-forms__ads.htm#ref_54_4">Null_Field</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_287_4">Form_Exception</A>;
+      <b>pragma</b> Assert (<a href="terminal_interface-curses-forms__ads.htm#ref_625_21">Fields</a>.<b>all</b> (<a href="terminal_interface-curses-forms__ads.htm#ref_625_21">Fields</a>'Last) = <a href="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</a>);
+      <b>if</b> <a href="terminal_interface-curses-forms__ads.htm#ref_625_21">Fields</a>.<b>all</b> (<a href="terminal_interface-curses-forms__ads.htm#ref_625_21">Fields</a>'Last) /= <a href="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>;
       <b>else</b>
-         <A HREF="terminal_interface-curses-forms__adb.htm#ref_710_7">M</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_707_16">NewForm</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_624_21">Fields</A>.<b>all</b> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_624_21">Fields</A>'First)'Address);
-         <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_710_7">M</A> = <A HREF="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Form</A> <b>then</b>
-            <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_287_4">Form_Exception</A>;
+         <a href="terminal_interface-curses-forms__adb.htm#ref_711_7">M</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_708_16">NewForm</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_625_21">Fields</a>.<b>all</b> (<a href="terminal_interface-curses-forms__ads.htm#ref_625_21">Fields</a>'First)'Address);
+         <b>if</b> <a href="terminal_interface-curses-forms__adb.htm#ref_711_7">M</a> = <a href="terminal_interface-curses-forms__ads.htm#ref_56_4">Null_Form</a> <b>then</b>
+            <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>;
          <b>end</b> <b>if</b>;
-         <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_710_7">M</A>;
+         <b>return</b> <a href="terminal_interface-curses-forms__adb.htm#ref_711_7">M</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_624_13">Create</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_726_14" HREF="terminal_interface-curses-forms__ads.htm#ref_635_14">Delete</A></span> (<span class="symbol"><A NAME="ref_726_22" HREF="terminal_interface-curses-forms__ads.htm#ref_635_22">Frm</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>)
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_625_13">Create</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_727_14" href="terminal_interface-curses-forms__ads.htm#ref_636_14">Delete</a></span> (<span class="symbol"><a name="ref_727_22" href="terminal_interface-curses-forms__ads.htm#ref_636_22">Frm</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_728_16">Free</A></span> (<span class="symbol"><A NAME="ref_728_22" HREF="terminal_interface-curses-forms__adb.htm#ref_728_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_729_16">Free</a></span> (<span class="symbol"><a name="ref_729_22">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Free, "free_form");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_728_16">Free</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_635_22">Frm</A>));
-      <A HREF="terminal_interface-curses-forms__ads.htm#ref_635_22">Frm</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Form</A>;
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_635_14">Delete</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | man page form_opts.3x</EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_742_14" HREF="terminal_interface-curses-forms__ads.htm#ref_645_14">Set_Options</A></span> (<span class="symbol"><A NAME="ref_742_27" HREF="terminal_interface-curses-forms__ads.htm#ref_645_27">Frm</A></span>     : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                          <span class="symbol"><A NAME="ref_743_27" HREF="terminal_interface-curses-forms__ads.htm#ref_646_27">Options</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>)
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_729_16">Free</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_636_22">Frm</a>));
+      <a href="terminal_interface-curses-forms__ads.htm#ref_636_22">Frm</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_56_4">Null_Form</a>;
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_636_14">Delete</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | man page form_opts.3x</em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_743_14" href="terminal_interface-curses-forms__ads.htm#ref_646_14">Set_Options</a></span> (<span class="symbol"><a name="ref_743_27" href="terminal_interface-curses-forms__ads.htm#ref_646_27">Frm</a></span>     : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                          <span class="symbol"><a name="ref_744_27" href="terminal_interface-curses-forms__ads.htm#ref_647_27">Options</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_745_16">Set_Form_Opts</A></span> (<span class="symbol"><A NAME="ref_745_31" HREF="terminal_interface-curses-forms__adb.htm#ref_745_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                              <span class="symbol"><A NAME="ref_746_31" HREF="terminal_interface-curses-forms__adb.htm#ref_745_16">Opt</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_746_16">Set_Form_Opts</a></span> (<span class="symbol"><a name="ref_746_31">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                              <span class="symbol"><a name="ref_747_31">Opt</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Form_Opts, "set_form_opts");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_745_16">Set_Form_Opts</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_645_27">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_646_27">Options</A>));
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_645_14">Set_Options</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_755_14" HREF="terminal_interface-curses-forms__ads.htm#ref_651_14">Switch_Options</A></span> (<span class="symbol"><A NAME="ref_755_30" HREF="terminal_interface-curses-forms__ads.htm#ref_651_30">Frm</A></span>     : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                             <span class="symbol"><A NAME="ref_756_30" HREF="terminal_interface-curses-forms__ads.htm#ref_652_30">Options</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>;
-                             <span class="symbol"><A NAME="ref_757_30" HREF="terminal_interface-curses-forms__ads.htm#ref_653_30">On</A></span>      : Boolean := True)
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_746_16">Set_Form_Opts</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_646_27">Frm</a>, <a href="terminal_interface-curses-forms__ads.htm#ref_647_27">Options</a>));
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_646_14">Set_Options</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_756_14" href="terminal_interface-curses-forms__ads.htm#ref_652_14">Switch_Options</a></span> (<span class="symbol"><a name="ref_756_30" href="terminal_interface-curses-forms__ads.htm#ref_652_30">Frm</a></span>     : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                             <span class="symbol"><a name="ref_757_30" href="terminal_interface-curses-forms__ads.htm#ref_653_30">Options</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a>;
+                             <span class="symbol"><a name="ref_758_30" href="terminal_interface-curses-forms__ads.htm#ref_654_30">On</a></span>      : Boolean := True)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_759_16">Form_Opts_On</A></span> (<span class="symbol"><A NAME="ref_759_30" HREF="terminal_interface-curses-forms__adb.htm#ref_759_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                             <span class="symbol"><A NAME="ref_760_30" HREF="terminal_interface-curses-forms__adb.htm#ref_759_16">Opt</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_760_16">Form_Opts_On</a></span> (<span class="symbol"><a name="ref_760_30">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                             <span class="symbol"><a name="ref_761_30">Opt</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Form_Opts_On, "form_opts_on");
-      <b>function</b> <span class="symbol"><A NAME="ref_762_16">Form_Opts_Off</A></span> (<span class="symbol"><A NAME="ref_762_31" HREF="terminal_interface-curses-forms__adb.htm#ref_762_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                              <span class="symbol"><A NAME="ref_763_31" HREF="terminal_interface-curses-forms__adb.htm#ref_762_16">Opt</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_763_16">Form_Opts_Off</a></span> (<span class="symbol"><a name="ref_763_31">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                              <span class="symbol"><a name="ref_764_31">Opt</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Form_Opts_Off, "form_opts_off");
 
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_653_30">On</A> <b>then</b>
-         <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_759_16">Form_Opts_On</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_651_30">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_652_30">Options</A>));
+      <b>if</b> <a href="terminal_interface-curses-forms__ads.htm#ref_654_30">On</a> <b>then</b>
+         <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_760_16">Form_Opts_On</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_652_30">Frm</a>, <a href="terminal_interface-curses-forms__ads.htm#ref_653_30">Options</a>));
       <b>else</b>
-         <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_762_16">Form_Opts_Off</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_651_30">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_652_30">Options</A>));
+         <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_763_16">Form_Opts_Off</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_652_30">Frm</a>, <a href="terminal_interface-curses-forms__ads.htm#ref_653_30">Options</a>));
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_651_14">Switch_Options</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_776_14" HREF="terminal_interface-curses-forms__ads.htm#ref_659_14">Get_Options</A></span> (<span class="symbol"><A NAME="ref_776_27" HREF="terminal_interface-curses-forms__ads.htm#ref_659_27">Frm</A></span>     : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                          <span class="symbol"><A NAME="ref_777_27" HREF="terminal_interface-curses-forms__ads.htm#ref_660_27">Options</A></span> : <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>)
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_652_14">Switch_Options</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_777_14" href="terminal_interface-curses-forms__ads.htm#ref_660_14">Get_Options</a></span> (<span class="symbol"><a name="ref_777_27" href="terminal_interface-curses-forms__ads.htm#ref_660_27">Frm</a></span>     : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                          <span class="symbol"><a name="ref_778_27" href="terminal_interface-curses-forms__ads.htm#ref_661_27">Options</a></span> : <b>out</b> <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_779_16">Form_Opts</A></span> (<span class="symbol"><A NAME="ref_779_27" HREF="terminal_interface-curses-forms__adb.htm#ref_779_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>;
+      <b>function</b> <span class="symbol"><a name="ref_780_16">Form_Opts</a></span> (<span class="symbol"><a name="ref_780_27">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a>;
       <b>pragma</b> Import (C, Form_Opts, "form_opts");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-forms__ads.htm#ref_660_27">Options</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_779_16">Form_Opts</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_659_27">Frm</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_659_14">Get_Options</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_788_13" HREF="terminal_interface-curses-forms__ads.htm#ref_664_13">Get_Options</A></span> (<span class="symbol"><A NAME="ref_788_26" HREF="terminal_interface-curses-forms__ads.htm#ref_664_26">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>
+      <a href="terminal_interface-curses-forms__ads.htm#ref_661_27">Options</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_780_16">Form_Opts</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_660_27">Frm</a>);
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_660_14">Get_Options</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_789_13" href="terminal_interface-curses-forms__ads.htm#ref_665_13">Get_Options</a></span> (<span class="symbol"><a name="ref_789_26" href="terminal_interface-curses-forms__ads.htm#ref_665_26">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_56_4">Null_Form</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a>
    <b>is</b>
-      <span class="symbol"><A NAME="ref_790_7">Fos</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>;
+      <span class="symbol"><a name="ref_791_7">Fos</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a>;
    <b>begin</b>
-      <A HREF="terminal_interface-curses-forms__ads.htm#ref_659_14">Get_Options</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_664_26">Frm</A>, <A HREF="terminal_interface-curses-forms__adb.htm#ref_790_7">Fos</A>);
-      <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_790_7">Fos</A>;
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_664_13">Get_Options</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | man page form_post.3x</EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_802_14" HREF="terminal_interface-curses-forms__ads.htm#ref_673_14">Post</A></span> (<span class="symbol"><A NAME="ref_802_20" HREF="terminal_interface-curses-forms__ads.htm#ref_673_20">Frm</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                   <span class="symbol"><A NAME="ref_803_20" HREF="terminal_interface-curses-forms__ads.htm#ref_674_20">Post</A></span> : Boolean := True)
+      <a href="terminal_interface-curses-forms__ads.htm#ref_660_14">Get_Options</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_665_26">Frm</a>, <a href="terminal_interface-curses-forms__adb.htm#ref_791_7">Fos</a>);
+      <b>return</b> <a href="terminal_interface-curses-forms__adb.htm#ref_791_7">Fos</a>;
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_665_13">Get_Options</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | man page form_post.3x</em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_803_14" href="terminal_interface-curses-forms__ads.htm#ref_674_14">Post</a></span> (<span class="symbol"><a name="ref_803_20" href="terminal_interface-curses-forms__ads.htm#ref_674_20">Frm</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                   <span class="symbol"><a name="ref_804_20" href="terminal_interface-curses-forms__ads.htm#ref_675_20">Post</a></span> : Boolean := True)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_805_16">M_Post</A></span> (<span class="symbol"><A NAME="ref_805_24" HREF="terminal_interface-curses-forms__adb.htm#ref_805_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_806_16">M_Post</a></span> (<span class="symbol"><a name="ref_806_24">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, M_Post, "post_form");
-      <b>function</b> <span class="symbol"><A NAME="ref_807_16">M_Unpost</A></span> (<span class="symbol"><A NAME="ref_807_26" HREF="terminal_interface-curses-forms__adb.htm#ref_807_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_808_16">M_Unpost</a></span> (<span class="symbol"><a name="ref_808_26">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, M_Unpost, "unpost_form");
 
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_674_20">Post</A> <b>then</b>
-         <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_805_16">M_Post</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_673_20">Frm</A>));
+      <b>if</b> <a href="terminal_interface-curses-forms__ads.htm#ref_675_20">Post</a> <b>then</b>
+         <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_806_16">M_Post</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_674_20">Frm</a>));
       <b>else</b>
-         <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_807_16">M_Unpost</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_673_20">Frm</A>));
+         <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_808_16">M_Unpost</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_674_20">Frm</a>));
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_673_14">Post</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | man page form_cursor.3x</EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_824_14" HREF="terminal_interface-curses-forms__ads.htm#ref_684_14">Position_Cursor</A></span> (<span class="symbol"><A NAME="ref_824_31" HREF="terminal_interface-curses-forms__ads.htm#ref_684_31">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>)
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_674_14">Post</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | man page form_cursor.3x</em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_825_14" href="terminal_interface-curses-forms__ads.htm#ref_685_14">Position_Cursor</a></span> (<span class="symbol"><a name="ref_825_31" href="terminal_interface-curses-forms__ads.htm#ref_685_31">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_826_16">Pos_Form_Cursor</A></span> (<span class="symbol"><A NAME="ref_826_33" HREF="terminal_interface-curses-forms__adb.htm#ref_826_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_827_16">Pos_Form_Cursor</a></span> (<span class="symbol"><a name="ref_827_33">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Pos_Form_Cursor, "pos_form_cursor");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_826_16">Pos_Form_Cursor</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_684_31">Frm</A>));
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_684_14">Position_Cursor</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | man page form_data.3x</EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_839_13" HREF="terminal_interface-curses-forms__ads.htm#ref_693_13">Data_Ahead</A></span> (<span class="symbol"><A NAME="ref_839_25" HREF="terminal_interface-curses-forms__ads.htm#ref_693_25">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> Boolean
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_827_16">Pos_Form_Cursor</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_685_31">Frm</a>));
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_685_14">Position_Cursor</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | man page form_data.3x</em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_840_13" href="terminal_interface-curses-forms__ads.htm#ref_694_13">Data_Ahead</a></span> (<span class="symbol"><a name="ref_840_25" href="terminal_interface-curses-forms__ads.htm#ref_694_25">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> Boolean
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_841_16">Ahead</A></span> (<span class="symbol"><A NAME="ref_841_23" HREF="terminal_interface-curses-forms__adb.htm#ref_841_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_842_16">Ahead</a></span> (<span class="symbol"><a name="ref_842_23">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Ahead, "data_ahead");
 
-      <span class="symbol"><A NAME="ref_844_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_841_16">Ahead</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_693_25">Frm</A>);
+      <span class="symbol"><a name="ref_845_7">Res</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_842_16">Ahead</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_694_25">Frm</a>);
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_844_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_68_4">Curses_False</A> <b>then</b>
+      <b>if</b> <a href="terminal_interface-curses-forms__adb.htm#ref_845_7">Res</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_67_4">Curses_False</a> <b>then</b>
          <b>return</b> False;
       <b>else</b>
          <b>return</b> True;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_693_13">Data_Ahead</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_855_13" HREF="terminal_interface-curses-forms__ads.htm#ref_698_13">Data_Behind</A></span> (<span class="symbol"><A NAME="ref_855_26" HREF="terminal_interface-curses-forms__ads.htm#ref_698_26">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> Boolean
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_694_13">Data_Ahead</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_856_13" href="terminal_interface-curses-forms__ads.htm#ref_699_13">Data_Behind</a></span> (<span class="symbol"><a name="ref_856_26" href="terminal_interface-curses-forms__ads.htm#ref_699_26">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> Boolean
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_857_16">Behind</A></span> (<span class="symbol"><A NAME="ref_857_24" HREF="terminal_interface-curses-forms__adb.htm#ref_857_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_858_16">Behind</a></span> (<span class="symbol"><a name="ref_858_24">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Behind, "data_behind");
 
-      <span class="symbol"><A NAME="ref_860_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_857_16">Behind</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_698_26">Frm</A>);
+      <span class="symbol"><a name="ref_861_7">Res</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_858_16">Behind</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_699_26">Frm</a>);
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_860_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_68_4">Curses_False</A> <b>then</b>
+      <b>if</b> <a href="terminal_interface-curses-forms__adb.htm#ref_861_7">Res</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_67_4">Curses_False</a> <b>then</b>
          <b>return</b> False;
       <b>else</b>
          <b>return</b> True;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_698_13">Data_Behind</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | man page form_driver.3x</EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_875_13" HREF="terminal_interface-curses-forms__ads.htm#ref_712_13">Driver</A></span> (<span class="symbol"><A NAME="ref_875_21" HREF="terminal_interface-curses-forms__ads.htm#ref_712_21">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                    <span class="symbol"><A NAME="ref_876_21" HREF="terminal_interface-curses-forms__ads.htm#ref_713_21">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_66_9">Key_Code</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_706_9">Driver_Result</A>
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_699_13">Data_Behind</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | man page form_driver.3x</em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_876_13" href="terminal_interface-curses-forms__ads.htm#ref_713_13">Driver</a></span> (<span class="symbol"><a name="ref_876_21" href="terminal_interface-curses-forms__ads.htm#ref_713_21">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                    <span class="symbol"><a name="ref_877_21" href="terminal_interface-curses-forms__ads.htm#ref_714_21">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_67_9">Key_Code</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_707_9">Driver_Result</a>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_878_16">Frm_Driver</A></span> (<span class="symbol"><A NAME="ref_878_28" HREF="terminal_interface-curses-forms__adb.htm#ref_878_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>; <span class="symbol"><A NAME="ref_878_40" HREF="terminal_interface-curses-forms__adb.htm#ref_878_16">Key</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_879_16">Frm_Driver</a></span> (<span class="symbol"><a name="ref_879_28">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; <span class="symbol"><a name="ref_879_40">Key</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Frm_Driver, "form_driver");
 
-      <span class="symbol"><A NAME="ref_881_7">R</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_878_16">Frm_Driver</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_712_21">Frm</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_713_21">Key</A>));
+      <span class="symbol"><a name="ref_882_7">R</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_879_16">Frm_Driver</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_713_21">Frm</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_714_21">Key</a>));
    <b>begin</b>
-      <b>case</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_881_7">R</A> <b>is</b>
-         <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_7">E_Unknown_Command</A> =&gt;
-            <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_708_27">Unknown_Request</A>;
-         <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_73_7">E_Invalid_Field</A> =&gt;
-            <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_709_27">Invalid_Field</A>;
-         <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_74_7">E_Request_Denied</A> =&gt;
-            <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_707_27">Request_Denied</A>;
+      <b>case</b> <a href="terminal_interface-curses-forms__adb.htm#ref_882_7">R</a> <b>is</b>
+         <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_77_7">E_Unknown_Command</a> =&gt;
+            <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_709_27">Unknown_Request</a>;
+         <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_72_7">E_Invalid_Field</a> =&gt;
+            <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_710_27">Invalid_Field</a>;
+         <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_73_7">E_Request_Denied</a> =&gt;
+            <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_708_27">Request_Denied</a>;
          <b>when</b> <b>others</b> =&gt;
-            <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_881_7">R</A>);
-            <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_706_27">Form_Ok</A>;
+            <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_882_7">R</a>);
+            <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_707_27">Form_Ok</a>;
       <b>end</b> <b>case</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_712_13">Driver</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | man page form_page.3x</EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_902_14" HREF="terminal_interface-curses-forms__ads.htm#ref_724_14">Set_Current</A></span> (<span class="symbol"><A NAME="ref_902_27" HREF="terminal_interface-curses-forms__ads.htm#ref_724_27">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                          <span class="symbol"><A NAME="ref_903_27" HREF="terminal_interface-curses-forms__ads.htm#ref_725_27">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>)
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_713_13">Driver</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | man page form_page.3x</em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_903_14" href="terminal_interface-curses-forms__ads.htm#ref_725_14">Set_Current</a></span> (<span class="symbol"><a name="ref_903_27" href="terminal_interface-curses-forms__ads.htm#ref_725_27">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                          <span class="symbol"><a name="ref_904_27" href="terminal_interface-curses-forms__ads.htm#ref_726_27">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_905_16">Set_Current_Fld</A></span> (<span class="symbol"><A NAME="ref_905_33" HREF="terminal_interface-curses-forms__adb.htm#ref_905_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>; <span class="symbol"><A NAME="ref_905_45" HREF="terminal_interface-curses-forms__adb.htm#ref_905_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_906_16">Set_Current_Fld</a></span> (<span class="symbol"><a name="ref_906_33">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; <span class="symbol"><a name="ref_906_45">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Current_Fld, "set_current_field");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_905_16">Set_Current_Fld</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_724_27">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_725_27">Fld</A>));
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_724_14">Set_Current</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_914_13" HREF="terminal_interface-curses-forms__ads.htm#ref_730_13">Current</A></span> (<span class="symbol"><A NAME="ref_914_22" HREF="terminal_interface-curses-forms__ads.htm#ref_730_22">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_906_16">Set_Current_Fld</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_725_27">Frm</a>, <a href="terminal_interface-curses-forms__ads.htm#ref_726_27">Fld</a>));
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_725_14">Set_Current</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_915_13" href="terminal_interface-curses-forms__ads.htm#ref_731_13">Current</a></span> (<span class="symbol"><a name="ref_915_22" href="terminal_interface-curses-forms__ads.htm#ref_731_22">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_916_16">Current_Fld</A></span> (<span class="symbol"><A NAME="ref_916_29" HREF="terminal_interface-curses-forms__adb.htm#ref_916_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+      <b>function</b> <span class="symbol"><a name="ref_917_16">Current_Fld</a></span> (<span class="symbol"><a name="ref_917_29">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
       <b>pragma</b> Import (C, Current_Fld, "current_field");
 
-      <span class="symbol"><A NAME="ref_919_7">Fld</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_916_16">Current_Fld</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_730_22">Frm</A>);
+      <span class="symbol"><a name="ref_920_7">Fld</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_917_16">Current_Fld</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_731_22">Frm</a>);
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_919_7">Fld</A> = <A HREF="terminal_interface-curses-forms__ads.htm#ref_54_4">Null_Field</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_287_4">Form_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses-forms__adb.htm#ref_920_7">Fld</a> = <a href="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>;
       <b>end</b> <b>if</b>;
-      <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_919_7">Fld</A>;
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_730_13">Current</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_929_14" HREF="terminal_interface-curses-forms__ads.htm#ref_735_14">Set_Page</A></span> (<span class="symbol"><A NAME="ref_929_24" HREF="terminal_interface-curses-forms__ads.htm#ref_735_24">Frm</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                       <span class="symbol"><A NAME="ref_930_24" HREF="terminal_interface-curses-forms__ads.htm#ref_736_24">Page</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_721_9">Page_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_721_9">Page_Number</A>'First)
+      <b>return</b> <a href="terminal_interface-curses-forms__adb.htm#ref_920_7">Fld</a>;
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_731_13">Current</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_930_14" href="terminal_interface-curses-forms__ads.htm#ref_736_14">Set_Page</a></span> (<span class="symbol"><a name="ref_930_24" href="terminal_interface-curses-forms__ads.htm#ref_736_24">Frm</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                       <span class="symbol"><a name="ref_931_24" href="terminal_interface-curses-forms__ads.htm#ref_737_24">Page</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_722_9">Page_Number</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_722_9">Page_Number</a>'First)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_932_16">Set_Frm_Page</A></span> (<span class="symbol"><A NAME="ref_932_30" HREF="terminal_interface-curses-forms__adb.htm#ref_932_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>; <span class="symbol"><A NAME="ref_932_42" HREF="terminal_interface-curses-forms__adb.htm#ref_932_16">Pg</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_933_16">Set_Frm_Page</a></span> (<span class="symbol"><a name="ref_933_30">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; <span class="symbol"><a name="ref_933_42">Pg</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Frm_Page, "set_form_page");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_932_16">Set_Frm_Page</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_735_24">Frm</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_736_24">Page</A>)));
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_735_14">Set_Page</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_941_13" HREF="terminal_interface-curses-forms__ads.htm#ref_741_13">Page</A></span> (<span class="symbol"><A NAME="ref_941_19" HREF="terminal_interface-curses-forms__ads.htm#ref_741_19">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_721_9">Page_Number</A>
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_933_16">Set_Frm_Page</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_736_24">Frm</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_737_24">Page</a>)));
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_736_14">Set_Page</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_942_13" href="terminal_interface-curses-forms__ads.htm#ref_742_13">Page</a></span> (<span class="symbol"><a name="ref_942_19" href="terminal_interface-curses-forms__ads.htm#ref_742_19">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_722_9">Page_Number</a>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_943_16">Get_Page</A></span> (<span class="symbol"><A NAME="ref_943_26" HREF="terminal_interface-curses-forms__adb.htm#ref_943_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_944_16">Get_Page</a></span> (<span class="symbol"><a name="ref_944_26">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Get_Page, "form_page");
 
-      <span class="symbol"><A NAME="ref_946_7">P</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_943_16">Get_Page</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_741_19">Frm</A>);
+      <span class="symbol"><a name="ref_947_7">P</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_944_16">Get_Page</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_742_19">Frm</a>);
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_946_7">P</A> &lt; 0 <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_287_4">Form_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses-forms__adb.htm#ref_947_7">P</a> &lt; 0 <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>;
       <b>else</b>
-         <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_721_9">Page_Number</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_946_7">P</A>);
+         <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_722_9">Page_Number</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_947_7">P</a>);
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_741_13">Page</A>;
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_742_13">Page</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_955_13" HREF="terminal_interface-curses-forms__ads.htm#ref_746_13">Get_Index</A></span> (<span class="symbol"><A NAME="ref_955_24" HREF="terminal_interface-curses-forms__ads.htm#ref_746_24">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> Positive
+   <b>function</b> <span class="symbol"><a name="ref_956_13" href="terminal_interface-curses-forms__ads.htm#ref_747_13">Get_Index</a></span> (<span class="symbol"><a name="ref_956_24" href="terminal_interface-curses-forms__ads.htm#ref_747_24">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> Positive
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_957_16">Get_Fieldindex</A></span> (<span class="symbol"><A NAME="ref_957_32" HREF="terminal_interface-curses-forms__adb.htm#ref_957_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_958_16">Get_Fieldindex</a></span> (<span class="symbol"><a name="ref_958_32">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Get_Fieldindex, "field_index");
 
-      <span class="symbol"><A NAME="ref_960_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_957_16">Get_Fieldindex</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_746_24">Fld</A>);
+      <span class="symbol"><a name="ref_961_7">Res</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_958_16">Get_Fieldindex</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_747_24">Fld</a>);
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_960_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_287_4">Form_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses-forms__adb.htm#ref_961_7">Res</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>;
       <b>end</b> <b>if</b>;
-      <b>return</b> Positive (Natural (<A HREF="terminal_interface-curses-forms__adb.htm#ref_960_7">Res</A>) + Positive'First);
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_746_13">Get_Index</A>;
+      <b>return</b> Positive (Natural (<a href="terminal_interface-curses-forms__adb.htm#ref_961_7">Res</a>) + Positive'First);
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_747_13">Get_Index</a>;
 
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | man page form_new_page.3x</EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_975_14" HREF="terminal_interface-curses-forms__ads.htm#ref_758_14">Set_New_Page</A></span> (<span class="symbol"><A NAME="ref_975_28" HREF="terminal_interface-curses-forms__ads.htm#ref_758_28">Fld</A></span>      : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                           <span class="symbol"><A NAME="ref_976_28" HREF="terminal_interface-curses-forms__ads.htm#ref_759_28">New_Page</A></span> : Boolean := True)
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | man page form_new_page.3x</em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_976_14" href="terminal_interface-curses-forms__ads.htm#ref_759_14">Set_New_Page</a></span> (<span class="symbol"><a name="ref_976_28" href="terminal_interface-curses-forms__ads.htm#ref_759_28">Fld</a></span>      : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                           <span class="symbol"><a name="ref_977_28" href="terminal_interface-curses-forms__ads.htm#ref_760_28">New_Page</a></span> : Boolean := True)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_978_16">Set_Page</A></span> (<span class="symbol"><A NAME="ref_978_26" HREF="terminal_interface-curses-forms__adb.htm#ref_978_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>; <span class="symbol"><A NAME="ref_978_39" HREF="terminal_interface-curses-forms__adb.htm#ref_978_16">Flg</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_979_16">Set_Page</a></span> (<span class="symbol"><a name="ref_979_26">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; <span class="symbol"><a name="ref_979_39">Flg</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Page, "set_new_page");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_978_16">Set_Page</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_758_28">Fld</A>, Boolean'Pos (<A HREF="terminal_interface-curses-forms__ads.htm#ref_759_28">New_Page</A>)));
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_758_14">Set_New_Page</A>;
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_987_13" HREF="terminal_interface-curses-forms__ads.htm#ref_764_13">Is_New_Page</A></span> (<span class="symbol"><A NAME="ref_987_26" HREF="terminal_interface-curses-forms__ads.htm#ref_764_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> Boolean
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_979_16">Set_Page</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_759_28">Fld</a>, Boolean'Pos (<a href="terminal_interface-curses-forms__ads.htm#ref_760_28">New_Page</a>)));
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_759_14">Set_New_Page</a>;
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_988_13" href="terminal_interface-curses-forms__ads.htm#ref_765_13">Is_New_Page</a></span> (<span class="symbol"><a name="ref_988_26" href="terminal_interface-curses-forms__ads.htm#ref_765_26">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> Boolean
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_989_16">Is_New</A></span> (<span class="symbol"><A NAME="ref_989_24" HREF="terminal_interface-curses-forms__adb.htm#ref_989_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_990_16">Is_New</a></span> (<span class="symbol"><a name="ref_990_24">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Is_New, "new_page");
 
-      <span class="symbol"><A NAME="ref_992_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_989_16">Is_New</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_764_26">Fld</A>);
+      <span class="symbol"><a name="ref_993_7">Res</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_990_16">Is_New</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_765_26">Fld</a>);
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_992_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_68_4">Curses_False</A> <b>then</b>
+      <b>if</b> <a href="terminal_interface-curses-forms__adb.htm#ref_993_7">Res</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_67_4">Curses_False</a> <b>then</b>
          <b>return</b> False;
       <b>else</b>
          <b>return</b> True;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_764_13">Is_New_Page</A>;
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_765_13">Is_New_Page</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1001_14" HREF="terminal_interface-curses-forms__ads.htm#ref_137_14">Free</A></span> (<span class="symbol"><A NAME="ref_1001_20" HREF="terminal_interface-curses-forms__ads.htm#ref_137_20">FA</A></span>          : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_135_9">Field_Array_Access</A>;
-                   <span class="symbol"><A NAME="ref_1002_20" HREF="terminal_interface-curses-forms__ads.htm#ref_138_20">Free_Fields</A></span> : Boolean := False)
+   <b>procedure</b> <span class="symbol"><a name="ref_1002_14" href="terminal_interface-curses-forms__ads.htm#ref_138_14">Free</a></span> (<span class="symbol"><a name="ref_1002_20" href="terminal_interface-curses-forms__ads.htm#ref_138_20">FA</a></span>          : <b>in</b> <b>out</b> <a href="terminal_interface-curses-forms__ads.htm#ref_136_9">Field_Array_Access</a>;
+                   <span class="symbol"><a name="ref_1003_20" href="terminal_interface-curses-forms__ads.htm#ref_139_20">Free_Fields</a></span> : Boolean := False)
    <b>is</b>
       <b>procedure</b> Release <b>is</b> <b>new</b> Ada.Unchecked_Deallocation
-        (Field_Array, <A HREF="terminal_interface-curses-forms__ads.htm#ref_135_9">Field_Array_Access</A>);
+        (Field_Array, <a href="terminal_interface-curses-forms__ads.htm#ref_136_9">Field_Array_Access</a>);
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_137_20">FA</A> /= <b>null</b> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_138_20">Free_Fields</A> <b>then</b>
-         <b>for</b> <span class="symbol"><A NAME="ref_1008_14">I</A></span> <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_137_20">FA</A>'First .. (<A HREF="terminal_interface-curses-forms__ads.htm#ref_137_20">FA</A>'Last - 1) <b>loop</b>
-            <b>if</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_137_20">FA</A>.<b>all</b> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_1008_14">I</A>) /= <A HREF="terminal_interface-curses-forms__ads.htm#ref_54_4">Null_Field</A> <b>then</b>
-               <A HREF="terminal_interface-curses-forms__ads.htm#ref_316_14">Delete</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_137_20">FA</A>.<b>all</b> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_1008_14">I</A>));
+      <b>if</b> <a href="terminal_interface-curses-forms__ads.htm#ref_138_20">FA</a> /= <b>null</b> <b>and</b> <b>then</b> <a href="terminal_interface-curses-forms__ads.htm#ref_139_20">Free_Fields</a> <b>then</b>
+         <b>for</b> <span class="symbol"><a name="ref_1009_14">I</a></span> <b>in</b> <a href="terminal_interface-curses-forms__ads.htm#ref_138_20">FA</a>'First .. (<a href="terminal_interface-curses-forms__ads.htm#ref_138_20">FA</a>'Last - 1) <b>loop</b>
+            <b>if</b> <a href="terminal_interface-curses-forms__ads.htm#ref_138_20">FA</a>.<b>all</b> (<a href="terminal_interface-curses-forms__adb.htm#ref_1009_14">I</a>) /= <a href="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</a> <b>then</b>
+               <a href="terminal_interface-curses-forms__ads.htm#ref_317_14">Delete</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_138_20">FA</a>.<b>all</b> (<a href="terminal_interface-curses-forms__adb.htm#ref_1009_14">I</a>));
             <b>end</b> <b>if</b>;
          <b>end</b> <b>loop</b>;
       <b>end</b> <b>if</b>;
-      Release (<A HREF="terminal_interface-curses-forms__ads.htm#ref_137_20">FA</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_137_14">Free</A>;
+      Release (<a href="terminal_interface-curses-forms__ads.htm#ref_138_20">FA</a>);
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_138_14">Free</a>;
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <b>function</b> <span class="symbol"><A NAME="ref_1019_13" HREF="terminal_interface-curses-forms__ads.htm#ref_104_13">Default_Field_Options</A></span> <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_62_9">Field_Option_Set</A>
+   <b>function</b> <span class="symbol"><a name="ref_1020_13" href="terminal_interface-curses-forms__ads.htm#ref_105_13">Default_Field_Options</a></span> <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a>
    <b>is</b>
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_417_13">Get_Options</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_54_4">Null_Field</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_104_13">Default_Field_Options</A>;
+      <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_418_13">Get_Options</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</a>);
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_105_13">Default_Field_Options</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_1025_13" HREF="terminal_interface-curses-forms__ads.htm#ref_126_13">Default_Form_Options</A></span> <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>
+   <b>function</b> <span class="symbol"><a name="ref_1026_13" href="terminal_interface-curses-forms__ads.htm#ref_127_13">Default_Form_Options</a></span> <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a>
    <b>is</b>
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_664_13">Get_Options</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Form</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_126_13">Default_Form_Options</A>;
+      <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_665_13">Get_Options</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_56_4">Null_Form</a>);
+   <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_127_13">Default_Form_Options</a>;
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-forms__ads.htm b/doc/html/ada/terminal_interface-curses-forms__ads.htm
index dd40209..22a91e4 100644
--- a/doc/html/ada/terminal_interface-curses-forms__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-forms__ads.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-forms.ads</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-forms.ads</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,789 +11,790 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms.ads </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                      Terminal_Interface.Curses.Form                      --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 S P E C                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2009,2014 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.33 @</EM></span>
-<span class="comment"><EM>--  @Date: 2014/05/24 21:31:57 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms.ads </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                      Terminal_Interface.Curses.Form                      --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 S P E C                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1998-2009,2014 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.34 @</em></span>
+<span class="comment"><em>--  @Date: 2020/02/02 23:34:34 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
 <b>with</b> System;
 <b>with</b> Ada.Characters.Latin_1;
 
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<span class="symbol"><A NAME="ref_45_35" HREF="terminal_interface-curses-forms__adb.htm#ref_50_40">Forms</A></span> <b>is</b>
-   <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>);
-   <b>pragma</b> Linker_Options ("-lform" &amp; <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_9_4">DFT_ARG_SUFFIX</A>);
+<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<span class="symbol"><a name="ref_46_35" href="terminal_interface-curses-forms__adb.htm#ref_51_40">Forms</a></span> <b>is</b>
+   <b>pragma</b> Preelaborate (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>);
+   <b>pragma</b> Linker_Options ("-lform" &amp; <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_9_4">DFT_ARG_SUFFIX</a>);
 
    Space : Character <b>renames</b> Ada.Characters.Latin_1.Space;
 
-   <b>type</b> <span class="symbol"><A NAME="ref_51_9">Field</A></span>        <b>is</b> <b>private</b>;
-   <b>type</b> <span class="symbol"><A NAME="ref_52_9">Form</A></span>         <b>is</b> <b>private</b>;
+   <b>type</b> <span class="symbol"><a name="ref_52_9">Field</a></span>        <b>is</b> <b>private</b>;
+   <b>type</b> <span class="symbol"><a name="ref_53_9">Form</a></span>         <b>is</b> <b>private</b>;
 
-   <span class="symbol"><A NAME="ref_54_4">Null_Field</A></span>        : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-   <span class="symbol"><A NAME="ref_55_4">Null_Form</A></span>         : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+   <span class="symbol"><a name="ref_55_4">Null_Field</a></span>        : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+   <span class="symbol"><a name="ref_56_4">Null_Form</a></span>         : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
 
-   <b>type</b> <span class="symbol"><A NAME="ref_57_9">Field_Justification</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_57_33">None</A></span>,
-                                <span class="symbol"><A NAME="ref_58_33">Left</A></span>,
-                                <span class="symbol"><A NAME="ref_59_33">Center</A></span>,
-                                <span class="symbol"><A NAME="ref_60_33">Right</A></span>);
+   <b>type</b> <span class="symbol"><a name="ref_58_9">Field_Justification</a></span> <b>is</b> (<span class="symbol"><a name="ref_58_33">None</a></span>,
+                                <span class="symbol"><a name="ref_59_33">Left</a></span>,
+                                <span class="symbol"><a name="ref_60_33">Center</a></span>,
+                                <span class="symbol"><a name="ref_61_33">Right</a></span>);
 
-   <b>type</b> <span class="symbol"><A NAME="ref_62_9">Field_Option_Set</A></span> <b>is</b>
+   <b>type</b> <span class="symbol"><a name="ref_63_9">Field_Option_Set</a></span> <b>is</b>
       <b>record</b>
-         <span class="symbol"><A NAME="ref_64_10">Visible</A></span>   : Boolean;
-         <span class="symbol"><A NAME="ref_65_10">Active</A></span>    : Boolean;
-         <span class="symbol"><A NAME="ref_66_10">Public</A></span>    : Boolean;
-         <span class="symbol"><A NAME="ref_67_10">Edit</A></span>      : Boolean;
-         <span class="symbol"><A NAME="ref_68_10">Wrap</A></span>      : Boolean;
-         <span class="symbol"><A NAME="ref_69_10">Blank</A></span>     : Boolean;
-         <span class="symbol"><A NAME="ref_70_10">Auto_Skip</A></span> : Boolean;
-         <span class="symbol"><A NAME="ref_71_10">Null_Ok</A></span>   : Boolean;
-         <span class="symbol"><A NAME="ref_72_10">Pass_Ok</A></span>   : Boolean;
-         <span class="symbol"><A NAME="ref_73_10">Static</A></span>    : Boolean;
+         <span class="symbol"><a name="ref_65_10">Visible</a></span>   : Boolean;
+         <span class="symbol"><a name="ref_66_10">Active</a></span>    : Boolean;
+         <span class="symbol"><a name="ref_67_10">Public</a></span>    : Boolean;
+         <span class="symbol"><a name="ref_68_10">Edit</a></span>      : Boolean;
+         <span class="symbol"><a name="ref_69_10">Wrap</a></span>      : Boolean;
+         <span class="symbol"><a name="ref_70_10">Blank</a></span>     : Boolean;
+         <span class="symbol"><a name="ref_71_10">Auto_Skip</a></span> : Boolean;
+         <span class="symbol"><a name="ref_72_10">Null_Ok</a></span>   : Boolean;
+         <span class="symbol"><a name="ref_73_10">Pass_Ok</a></span>   : Boolean;
+         <span class="symbol"><a name="ref_74_10">Static</a></span>    : Boolean;
       <b>end</b> <b>record</b>;
-   <b>pragma</b> Convention (C_Pass_By_Copy, <A HREF="terminal_interface-curses-forms__ads.htm#ref_62_9">Field_Option_Set</A>);
+   <b>pragma</b> Convention (C_Pass_By_Copy, <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a>);
 
-   <b>for</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_62_9">Field_Option_Set</A> <b>use</b>
+   <b>for</b> <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a> <b>use</b>
       <b>record</b>
-         <A HREF="terminal_interface-curses-forms__ads.htm#ref_64_10">Visible</A>   <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_279_4">O_VISIBLE_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_280_4">O_VISIBLE_Last</A>;
-         <A HREF="terminal_interface-curses-forms__ads.htm#ref_65_10">Active</A>    <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_281_4">O_ACTIVE_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_282_4">O_ACTIVE_Last</A>;
-         <A HREF="terminal_interface-curses-forms__ads.htm#ref_66_10">Public</A>    <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_283_4">O_PUBLIC_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_284_4">O_PUBLIC_Last</A>;
-         <A HREF="terminal_interface-curses-forms__ads.htm#ref_67_10">Edit</A>      <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_285_4">O_EDIT_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_286_4">O_EDIT_Last</A>;
-         <A HREF="terminal_interface-curses-forms__ads.htm#ref_68_10">Wrap</A>      <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_287_4">O_WRAP_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_288_4">O_WRAP_Last</A>;
-         <A HREF="terminal_interface-curses-forms__ads.htm#ref_69_10">Blank</A>     <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_289_4">O_BLANK_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_290_4">O_BLANK_Last</A>;
-         <A HREF="terminal_interface-curses-forms__ads.htm#ref_70_10">Auto_Skip</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_291_4">O_AUTOSKIP_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_292_4">O_AUTOSKIP_Last</A>;
-         <A HREF="terminal_interface-curses-forms__ads.htm#ref_71_10">Null_Ok</A>   <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_293_4">O_NULLOK_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_294_4">O_NULLOK_Last</A>;
-         <A HREF="terminal_interface-curses-forms__ads.htm#ref_72_10">Pass_Ok</A>   <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_295_4">O_PASSOK_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_296_4">O_PASSOK_Last</A>;
-         <A HREF="terminal_interface-curses-forms__ads.htm#ref_73_10">Static</A>    <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_297_4">O_STATIC_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_298_4">O_STATIC_Last</A>;
+         <a href="terminal_interface-curses-forms__ads.htm#ref_65_10">Visible</a>   <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_279_4">O_VISIBLE_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_280_4">O_VISIBLE_Last</a>;
+         <a href="terminal_interface-curses-forms__ads.htm#ref_66_10">Active</a>    <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_281_4">O_ACTIVE_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_282_4">O_ACTIVE_Last</a>;
+         <a href="terminal_interface-curses-forms__ads.htm#ref_67_10">Public</a>    <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_283_4">O_PUBLIC_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_284_4">O_PUBLIC_Last</a>;
+         <a href="terminal_interface-curses-forms__ads.htm#ref_68_10">Edit</a>      <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_285_4">O_EDIT_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_286_4">O_EDIT_Last</a>;
+         <a href="terminal_interface-curses-forms__ads.htm#ref_69_10">Wrap</a>      <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_287_4">O_WRAP_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_288_4">O_WRAP_Last</a>;
+         <a href="terminal_interface-curses-forms__ads.htm#ref_70_10">Blank</a>     <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_289_4">O_BLANK_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_290_4">O_BLANK_Last</a>;
+         <a href="terminal_interface-curses-forms__ads.htm#ref_71_10">Auto_Skip</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_291_4">O_AUTOSKIP_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_292_4">O_AUTOSKIP_Last</a>;
+         <a href="terminal_interface-curses-forms__ads.htm#ref_72_10">Null_Ok</a>   <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_293_4">O_NULLOK_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_294_4">O_NULLOK_Last</a>;
+         <a href="terminal_interface-curses-forms__ads.htm#ref_73_10">Pass_Ok</a>   <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_295_4">O_PASSOK_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_296_4">O_PASSOK_Last</a>;
+         <a href="terminal_interface-curses-forms__ads.htm#ref_74_10">Static</a>    <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_297_4">O_STATIC_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_298_4">O_STATIC_Last</a>;
       <b>end</b> <b>record</b>;
    <b>pragma</b> Warnings (Off);
-   <b>for</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_62_9">Field_Option_Set</A>'Size <b>use</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_299_4">Field_Options_Size</A>;
+   <b>for</b> <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a>'Size <b>use</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_299_4">Field_Options_Size</a>;
    <b>pragma</b> Warnings (On);
 
-   <b>function</b> <span class="symbol"><A NAME="ref_104_13" HREF="terminal_interface-curses-forms__adb.htm#ref_1019_13">Default_Field_Options</A></span> <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_62_9">Field_Option_Set</A>;
-   <span class="comment"><EM>--  The initial defaults for the field options.</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_104_13">Default_Field_Options</A>);
+   <b>function</b> <span class="symbol"><a name="ref_105_13" href="terminal_interface-curses-forms__adb.htm#ref_1020_13">Default_Field_Options</a></span> <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a>;
+   <span class="comment"><em>--  The initial defaults for the field options.</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_105_13">Default_Field_Options</a>);
 
-   <b>type</b> <span class="symbol"><A NAME="ref_108_9">Form_Option_Set</A></span> <b>is</b>
+   <b>type</b> <span class="symbol"><a name="ref_109_9">Form_Option_Set</a></span> <b>is</b>
       <b>record</b>
-         <span class="symbol"><A NAME="ref_110_10">NL_Overload</A></span> : Boolean;
-         <span class="symbol"><A NAME="ref_111_10">BS_Overload</A></span> : Boolean;
+         <span class="symbol"><a name="ref_111_10">NL_Overload</a></span> : Boolean;
+         <span class="symbol"><a name="ref_112_10">BS_Overload</a></span> : Boolean;
       <b>end</b> <b>record</b>;
-   <b>pragma</b> Convention (C_Pass_By_Copy, <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>);
+   <b>pragma</b> Convention (C_Pass_By_Copy, <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a>);
 
-   <b>for</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A> <b>use</b>
+   <b>for</b> <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a> <b>use</b>
       <b>record</b>
-         <A HREF="terminal_interface-curses-forms__ads.htm#ref_110_10">NL_Overload</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_303_4">O_NL_OVERLOAD_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_304_4">O_NL_OVERLOAD_Last</A>;
-         <A HREF="terminal_interface-curses-forms__ads.htm#ref_111_10">BS_Overload</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_305_4">O_BS_OVERLOAD_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_306_4">O_BS_OVERLOAD_Last</A>;
+         <a href="terminal_interface-curses-forms__ads.htm#ref_111_10">NL_Overload</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_303_4">O_NL_OVERLOAD_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_304_4">O_NL_OVERLOAD_Last</a>;
+         <a href="terminal_interface-curses-forms__ads.htm#ref_112_10">BS_Overload</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_305_4">O_BS_OVERLOAD_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_306_4">O_BS_OVERLOAD_Last</a>;
       <b>end</b> <b>record</b>;
    <b>pragma</b> Warnings (Off);
-   <b>for</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>'Size <b>use</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_299_4">Field_Options_Size</A>;
+   <b>for</b> <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a>'Size <b>use</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_299_4">Field_Options_Size</a>;
    <b>pragma</b> Warnings (On);
 
-   <b>function</b> <span class="symbol"><A NAME="ref_126_13" HREF="terminal_interface-curses-forms__adb.htm#ref_1025_13">Default_Form_Options</A></span> <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>;
-   <span class="comment"><EM>--  The initial defaults for the form options.</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_126_13">Default_Form_Options</A>);
+   <b>function</b> <span class="symbol"><a name="ref_127_13" href="terminal_interface-curses-forms__adb.htm#ref_1026_13">Default_Form_Options</a></span> <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a>;
+   <span class="comment"><em>--  The initial defaults for the form options.</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_127_13">Default_Form_Options</a>);
 
-   <b>type</b> <span class="symbol"><A NAME="ref_130_9">Buffer_Number</A></span> <b>is</b> <b>new</b> Natural;
+   <b>type</b> <span class="symbol"><a name="ref_131_9">Buffer_Number</a></span> <b>is</b> <b>new</b> Natural;
 
-   <b>type</b> Field_Array <b>is</b> <b>array</b> (Positive <b>range</b> &lt;&gt;) <b>of</b> <b>aliased</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+   <b>type</b> Field_Array <b>is</b> <b>array</b> (Positive <b>range</b> &lt;&gt;) <b>of</b> <b>aliased</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
    <b>pragma</b> Convention (C, Field_Array);
 
-   <b>type</b> <span class="symbol"><A NAME="ref_135_9">Field_Array_Access</A></span> <b>is</b> <b>access</b> Field_Array;
+   <b>type</b> <span class="symbol"><a name="ref_136_9">Field_Array_Access</a></span> <b>is</b> <b>access</b> Field_Array;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_137_14" HREF="terminal_interface-curses-forms__adb.htm#ref_1001_14">Free</A></span> (<span class="symbol"><A NAME="ref_137_20" HREF="terminal_interface-curses-forms__adb.htm#ref_1001_20">FA</A></span>          : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_135_9">Field_Array_Access</A>;
-                   <span class="symbol"><A NAME="ref_138_20" HREF="terminal_interface-curses-forms__adb.htm#ref_1002_20">Free_Fields</A></span> : Boolean := False);
-   <span class="comment"><EM>--  Release the memory for an allocated field array</EM></span>
-   <span class="comment"><EM>--  If Free_Fields is True, call Delete() for all the fields in</EM></span>
-   <span class="comment"><EM>--  the array.</EM></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_138_14" href="terminal_interface-curses-forms__adb.htm#ref_1002_14">Free</a></span> (<span class="symbol"><a name="ref_138_20" href="terminal_interface-curses-forms__adb.htm#ref_1002_20">FA</a></span>          : <b>in</b> <b>out</b> <a href="terminal_interface-curses-forms__ads.htm#ref_136_9">Field_Array_Access</a>;
+                   <span class="symbol"><a name="ref_139_20" href="terminal_interface-curses-forms__adb.htm#ref_1003_20">Free_Fields</a></span> : Boolean := False);
+   <span class="comment"><em>--  Release the memory for an allocated field array</em></span>
+   <span class="comment"><em>--  If Free_Fields is True, call Delete() for all the fields in</em></span>
+   <span class="comment"><em>--  the array.</em></span>
 
-   <b>subtype</b> <span class="symbol"><A NAME="ref_143_12">Form_Request_Code</A></span> <b>is</b> <A HREF="terminal_interface-curses__ads.htm#ref_66_9">Key_Code</A> <b>range</b> (<A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 1) .. (<A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 57);
+   <b>subtype</b> <span class="symbol"><a name="ref_144_12">Form_Request_Code</a></span> <b>is</b> <a href="terminal_interface-curses__ads.htm#ref_67_9">Key_Code</a> <b>range</b> (<a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 1) .. (<a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 57);
 
-   <span class="comment"><EM>--  The prefix F_ stands for "Form Request"</EM></span>
-   <span class="symbol"><A NAME="ref_146_4">F_Next_Page</A></span>                : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 1;
-   <span class="symbol"><A NAME="ref_147_4">F_Previous_Page</A></span>            : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 2;
-   <span class="symbol"><A NAME="ref_148_4">F_First_Page</A></span>               : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 3;
-   <span class="symbol"><A NAME="ref_149_4">F_Last_Page</A></span>                : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 4;
+   <span class="comment"><em>--  The prefix F_ stands for "Form Request"</em></span>
+   <span class="symbol"><a name="ref_147_4">F_Next_Page</a></span>                : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 1;
+   <span class="symbol"><a name="ref_148_4">F_Previous_Page</a></span>            : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 2;
+   <span class="symbol"><a name="ref_149_4">F_First_Page</a></span>               : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 3;
+   <span class="symbol"><a name="ref_150_4">F_Last_Page</a></span>                : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 4;
 
-   <span class="symbol"><A NAME="ref_151_4">F_Next_Field</A></span>               : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 5;
-   <span class="symbol"><A NAME="ref_152_4">F_Previous_Field</A></span>           : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 6;
-   <span class="symbol"><A NAME="ref_153_4">F_First_Field</A></span>              : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 7;
-   <span class="symbol"><A NAME="ref_154_4">F_Last_Field</A></span>               : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 8;
-   <span class="symbol"><A NAME="ref_155_4">F_Sorted_Next_Field</A></span>        : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 9;
-   <span class="symbol"><A NAME="ref_156_4">F_Sorted_Previous_Field</A></span>    : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 10;
-   <span class="symbol"><A NAME="ref_157_4">F_Sorted_First_Field</A></span>       : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 11;
-   <span class="symbol"><A NAME="ref_158_4">F_Sorted_Last_Field</A></span>        : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 12;
-   <span class="symbol"><A NAME="ref_159_4">F_Left_Field</A></span>               : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 13;
-   <span class="symbol"><A NAME="ref_160_4">F_Right_Field</A></span>              : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 14;
-   <span class="symbol"><A NAME="ref_161_4">F_Up_Field</A></span>                 : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 15;
-   <span class="symbol"><A NAME="ref_162_4">F_Down_Field</A></span>               : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 16;
+   <span class="symbol"><a name="ref_152_4">F_Next_Field</a></span>               : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 5;
+   <span class="symbol"><a name="ref_153_4">F_Previous_Field</a></span>           : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 6;
+   <span class="symbol"><a name="ref_154_4">F_First_Field</a></span>              : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 7;
+   <span class="symbol"><a name="ref_155_4">F_Last_Field</a></span>               : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 8;
+   <span class="symbol"><a name="ref_156_4">F_Sorted_Next_Field</a></span>        : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 9;
+   <span class="symbol"><a name="ref_157_4">F_Sorted_Previous_Field</a></span>    : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 10;
+   <span class="symbol"><a name="ref_158_4">F_Sorted_First_Field</a></span>       : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 11;
+   <span class="symbol"><a name="ref_159_4">F_Sorted_Last_Field</a></span>        : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 12;
+   <span class="symbol"><a name="ref_160_4">F_Left_Field</a></span>               : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 13;
+   <span class="symbol"><a name="ref_161_4">F_Right_Field</a></span>              : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 14;
+   <span class="symbol"><a name="ref_162_4">F_Up_Field</a></span>                 : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 15;
+   <span class="symbol"><a name="ref_163_4">F_Down_Field</a></span>               : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 16;
 
-   <span class="symbol"><A NAME="ref_164_4">F_Next_Char</A></span>                : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 17;
-   <span class="symbol"><A NAME="ref_165_4">F_Previous_Char</A></span>            : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 18;
-   <span class="symbol"><A NAME="ref_166_4">F_Next_Line</A></span>                : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 19;
-   <span class="symbol"><A NAME="ref_167_4">F_Previous_Line</A></span>            : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 20;
-   <span class="symbol"><A NAME="ref_168_4">F_Next_Word</A></span>                : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 21;
-   <span class="symbol"><A NAME="ref_169_4">F_Previous_Word</A></span>            : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 22;
-   <span class="symbol"><A NAME="ref_170_4">F_Begin_Field</A></span>              : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 23;
-   <span class="symbol"><A NAME="ref_171_4">F_End_Field</A></span>                : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 24;
-   <span class="symbol"><A NAME="ref_172_4">F_Begin_Line</A></span>               : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 25;
-   <span class="symbol"><A NAME="ref_173_4">F_End_Line</A></span>                 : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 26;
-   <span class="symbol"><A NAME="ref_174_4">F_Left_Char</A></span>                : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 27;
-   <span class="symbol"><A NAME="ref_175_4">F_Right_Char</A></span>               : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 28;
-   <span class="symbol"><A NAME="ref_176_4">F_Up_Char</A></span>                  : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 29;
-   <span class="symbol"><A NAME="ref_177_4">F_Down_Char</A></span>                : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 30;
+   <span class="symbol"><a name="ref_165_4">F_Next_Char</a></span>                : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 17;
+   <span class="symbol"><a name="ref_166_4">F_Previous_Char</a></span>            : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 18;
+   <span class="symbol"><a name="ref_167_4">F_Next_Line</a></span>                : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 19;
+   <span class="symbol"><a name="ref_168_4">F_Previous_Line</a></span>            : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 20;
+   <span class="symbol"><a name="ref_169_4">F_Next_Word</a></span>                : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 21;
+   <span class="symbol"><a name="ref_170_4">F_Previous_Word</a></span>            : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 22;
+   <span class="symbol"><a name="ref_171_4">F_Begin_Field</a></span>              : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 23;
+   <span class="symbol"><a name="ref_172_4">F_End_Field</a></span>                : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 24;
+   <span class="symbol"><a name="ref_173_4">F_Begin_Line</a></span>               : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 25;
+   <span class="symbol"><a name="ref_174_4">F_End_Line</a></span>                 : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 26;
+   <span class="symbol"><a name="ref_175_4">F_Left_Char</a></span>                : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 27;
+   <span class="symbol"><a name="ref_176_4">F_Right_Char</a></span>               : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 28;
+   <span class="symbol"><a name="ref_177_4">F_Up_Char</a></span>                  : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 29;
+   <span class="symbol"><a name="ref_178_4">F_Down_Char</a></span>                : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 30;
 
-   <span class="symbol"><A NAME="ref_179_4">F_New_Line</A></span>                 : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 31;
-   <span class="symbol"><A NAME="ref_180_4">F_Insert_Char</A></span>              : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 32;
-   <span class="symbol"><A NAME="ref_181_4">F_Insert_Line</A></span>              : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 33;
-   <span class="symbol"><A NAME="ref_182_4">F_Delete_Char</A></span>              : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 34;
-   <span class="symbol"><A NAME="ref_183_4">F_Delete_Previous</A></span>          : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 35;
-   <span class="symbol"><A NAME="ref_184_4">F_Delete_Line</A></span>              : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 36;
-   <span class="symbol"><A NAME="ref_185_4">F_Delete_Word</A></span>              : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 37;
-   <span class="symbol"><A NAME="ref_186_4">F_Clear_EOL</A></span>                : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 38;
-   <span class="symbol"><A NAME="ref_187_4">F_Clear_EOF</A></span>                : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 39;
-   <span class="symbol"><A NAME="ref_188_4">F_Clear_Field</A></span>              : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 40;
-   <span class="symbol"><A NAME="ref_189_4">F_Overlay_Mode</A></span>             : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 41;
-   <span class="symbol"><A NAME="ref_190_4">F_Insert_Mode</A></span>              : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 42;
+   <span class="symbol"><a name="ref_180_4">F_New_Line</a></span>                 : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 31;
+   <span class="symbol"><a name="ref_181_4">F_Insert_Char</a></span>              : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 32;
+   <span class="symbol"><a name="ref_182_4">F_Insert_Line</a></span>              : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 33;
+   <span class="symbol"><a name="ref_183_4">F_Delete_Char</a></span>              : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 34;
+   <span class="symbol"><a name="ref_184_4">F_Delete_Previous</a></span>          : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 35;
+   <span class="symbol"><a name="ref_185_4">F_Delete_Line</a></span>              : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 36;
+   <span class="symbol"><a name="ref_186_4">F_Delete_Word</a></span>              : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 37;
+   <span class="symbol"><a name="ref_187_4">F_Clear_EOL</a></span>                : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 38;
+   <span class="symbol"><a name="ref_188_4">F_Clear_EOF</a></span>                : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 39;
+   <span class="symbol"><a name="ref_189_4">F_Clear_Field</a></span>              : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 40;
+   <span class="symbol"><a name="ref_190_4">F_Overlay_Mode</a></span>             : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 41;
+   <span class="symbol"><a name="ref_191_4">F_Insert_Mode</a></span>              : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 42;
 
-   <span class="comment"><EM>--  Vertical Scrolling</EM></span>
-   <span class="symbol"><A NAME="ref_193_4">F_ScrollForward_Line</A></span>       : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 43;
-   <span class="symbol"><A NAME="ref_194_4">F_ScrollBackward_Line</A></span>      : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 44;
-   <span class="symbol"><A NAME="ref_195_4">F_ScrollForward_Page</A></span>       : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 45;
-   <span class="symbol"><A NAME="ref_196_4">F_ScrollBackward_Page</A></span>      : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 46;
-   <span class="symbol"><A NAME="ref_197_4">F_ScrollForward_HalfPage</A></span>   : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 47;
-   <span class="symbol"><A NAME="ref_198_4">F_ScrollBackward_HalfPage</A></span>  : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 48;
+   <span class="comment"><em>--  Vertical Scrolling</em></span>
+   <span class="symbol"><a name="ref_194_4">F_ScrollForward_Line</a></span>       : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 43;
+   <span class="symbol"><a name="ref_195_4">F_ScrollBackward_Line</a></span>      : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 44;
+   <span class="symbol"><a name="ref_196_4">F_ScrollForward_Page</a></span>       : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 45;
+   <span class="symbol"><a name="ref_197_4">F_ScrollBackward_Page</a></span>      : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 46;
+   <span class="symbol"><a name="ref_198_4">F_ScrollForward_HalfPage</a></span>   : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 47;
+   <span class="symbol"><a name="ref_199_4">F_ScrollBackward_HalfPage</a></span>  : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 48;
 
-   <span class="comment"><EM>--  Horizontal Scrolling</EM></span>
-   <span class="symbol"><A NAME="ref_201_4">F_HScrollForward_Char</A></span>      : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 49;
-   <span class="symbol"><A NAME="ref_202_4">F_HScrollBackward_Char</A></span>     : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 50;
-   <span class="symbol"><A NAME="ref_203_4">F_HScrollForward_Line</A></span>      : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 51;
-   <span class="symbol"><A NAME="ref_204_4">F_HScrollBackward_Line</A></span>     : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 52;
-   <span class="symbol"><A NAME="ref_205_4">F_HScrollForward_HalfLine</A></span>  : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 53;
-   <span class="symbol"><A NAME="ref_206_4">F_HScrollBackward_HalfLine</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 54;
+   <span class="comment"><em>--  Horizontal Scrolling</em></span>
+   <span class="symbol"><a name="ref_202_4">F_HScrollForward_Char</a></span>      : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 49;
+   <span class="symbol"><a name="ref_203_4">F_HScrollBackward_Char</a></span>     : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 50;
+   <span class="symbol"><a name="ref_204_4">F_HScrollForward_Line</a></span>      : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 51;
+   <span class="symbol"><a name="ref_205_4">F_HScrollBackward_Line</a></span>     : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 52;
+   <span class="symbol"><a name="ref_206_4">F_HScrollForward_HalfLine</a></span>  : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 53;
+   <span class="symbol"><a name="ref_207_4">F_HScrollBackward_HalfLine</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 54;
 
-   <span class="symbol"><A NAME="ref_208_4">F_Validate_Field</A></span>           : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 55;
-   <span class="symbol"><A NAME="ref_209_4">F_Next_Choice</A></span>              : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 56;
-   <span class="symbol"><A NAME="ref_210_4">F_Previous_Choice</A></span>          : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 57;
+   <span class="symbol"><a name="ref_209_4">F_Validate_Field</a></span>           : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 55;
+   <span class="symbol"><a name="ref_210_4">F_Next_Choice</a></span>              : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 56;
+   <span class="symbol"><a name="ref_211_4">F_Previous_Choice</a></span>          : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 57;
 
-   <span class="comment"><EM>--  For those who like the old 'C' style request names</EM></span>
-   REQ_NEXT_PAGE    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_146_4">F_Next_Page</A>;
-   REQ_PREV_PAGE    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_147_4">F_Previous_Page</A>;
-   REQ_FIRST_PAGE   : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_148_4">F_First_Page</A>;
-   REQ_LAST_PAGE    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_149_4">F_Last_Page</A>;
+   <span class="comment"><em>--  For those who like the old 'C' style request names</em></span>
+   REQ_NEXT_PAGE    : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_147_4">F_Next_Page</a>;
+   REQ_PREV_PAGE    : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_148_4">F_Previous_Page</a>;
+   REQ_FIRST_PAGE   : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_149_4">F_First_Page</a>;
+   REQ_LAST_PAGE    : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_150_4">F_Last_Page</a>;
 
-   REQ_NEXT_FIELD   : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_151_4">F_Next_Field</A>;
-   REQ_PREV_FIELD   : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_152_4">F_Previous_Field</A>;
-   REQ_FIRST_FIELD  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_153_4">F_First_Field</A>;
-   REQ_LAST_FIELD   : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_154_4">F_Last_Field</A>;
-   REQ_SNEXT_FIELD  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_155_4">F_Sorted_Next_Field</A>;
-   REQ_SPREV_FIELD  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_156_4">F_Sorted_Previous_Field</A>;
-   REQ_SFIRST_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_157_4">F_Sorted_First_Field</A>;
-   REQ_SLAST_FIELD  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_158_4">F_Sorted_Last_Field</A>;
-   REQ_LEFT_FIELD   : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_159_4">F_Left_Field</A>;
-   REQ_RIGHT_FIELD  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_160_4">F_Right_Field</A>;
-   REQ_UP_FIELD     : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_161_4">F_Up_Field</A>;
-   REQ_DOWN_FIELD   : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_162_4">F_Down_Field</A>;
+   REQ_NEXT_FIELD   : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_152_4">F_Next_Field</a>;
+   REQ_PREV_FIELD   : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_153_4">F_Previous_Field</a>;
+   REQ_FIRST_FIELD  : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_154_4">F_First_Field</a>;
+   REQ_LAST_FIELD   : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_155_4">F_Last_Field</a>;
+   REQ_SNEXT_FIELD  : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_156_4">F_Sorted_Next_Field</a>;
+   REQ_SPREV_FIELD  : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_157_4">F_Sorted_Previous_Field</a>;
+   REQ_SFIRST_FIELD : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_158_4">F_Sorted_First_Field</a>;
+   REQ_SLAST_FIELD  : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_159_4">F_Sorted_Last_Field</a>;
+   REQ_LEFT_FIELD   : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_160_4">F_Left_Field</a>;
+   REQ_RIGHT_FIELD  : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_161_4">F_Right_Field</a>;
+   REQ_UP_FIELD     : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_162_4">F_Up_Field</a>;
+   REQ_DOWN_FIELD   : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_163_4">F_Down_Field</a>;
 
-   REQ_NEXT_CHAR    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_164_4">F_Next_Char</A>;
-   REQ_PREV_CHAR    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_165_4">F_Previous_Char</A>;
-   REQ_NEXT_LINE    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_166_4">F_Next_Line</A>;
-   REQ_PREV_LINE    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_167_4">F_Previous_Line</A>;
-   REQ_NEXT_WORD    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_168_4">F_Next_Word</A>;
-   REQ_PREV_WORD    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_169_4">F_Previous_Word</A>;
-   REQ_BEG_FIELD    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_170_4">F_Begin_Field</A>;
-   REQ_END_FIELD    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_171_4">F_End_Field</A>;
-   REQ_BEG_LINE     : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_172_4">F_Begin_Line</A>;
-   REQ_END_LINE     : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_173_4">F_End_Line</A>;
-   REQ_LEFT_CHAR    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_174_4">F_Left_Char</A>;
-   REQ_RIGHT_CHAR   : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_175_4">F_Right_Char</A>;
-   REQ_UP_CHAR      : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_176_4">F_Up_Char</A>;
-   REQ_DOWN_CHAR    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_177_4">F_Down_Char</A>;
+   REQ_NEXT_CHAR    : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_165_4">F_Next_Char</a>;
+   REQ_PREV_CHAR    : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_166_4">F_Previous_Char</a>;
+   REQ_NEXT_LINE    : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_167_4">F_Next_Line</a>;
+   REQ_PREV_LINE    : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_168_4">F_Previous_Line</a>;
+   REQ_NEXT_WORD    : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_169_4">F_Next_Word</a>;
+   REQ_PREV_WORD    : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_170_4">F_Previous_Word</a>;
+   REQ_BEG_FIELD    : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_171_4">F_Begin_Field</a>;
+   REQ_END_FIELD    : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_172_4">F_End_Field</a>;
+   REQ_BEG_LINE     : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_173_4">F_Begin_Line</a>;
+   REQ_END_LINE     : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_174_4">F_End_Line</a>;
+   REQ_LEFT_CHAR    : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_175_4">F_Left_Char</a>;
+   REQ_RIGHT_CHAR   : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_176_4">F_Right_Char</a>;
+   REQ_UP_CHAR      : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_177_4">F_Up_Char</a>;
+   REQ_DOWN_CHAR    : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_178_4">F_Down_Char</a>;
 
-   REQ_NEW_LINE     : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_179_4">F_New_Line</A>;
-   REQ_INS_CHAR     : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_180_4">F_Insert_Char</A>;
-   REQ_INS_LINE     : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_181_4">F_Insert_Line</A>;
-   REQ_DEL_CHAR     : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_182_4">F_Delete_Char</A>;
-   REQ_DEL_PREV     : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_183_4">F_Delete_Previous</A>;
-   REQ_DEL_LINE     : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_184_4">F_Delete_Line</A>;
-   REQ_DEL_WORD     : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_185_4">F_Delete_Word</A>;
-   REQ_CLR_EOL      : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_186_4">F_Clear_EOL</A>;
-   REQ_CLR_EOF      : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_187_4">F_Clear_EOF</A>;
-   REQ_CLR_FIELD    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_188_4">F_Clear_Field</A>;
-   REQ_OVL_MODE     : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_189_4">F_Overlay_Mode</A>;
-   REQ_INS_MODE     : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_190_4">F_Insert_Mode</A>;
+   REQ_NEW_LINE     : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_180_4">F_New_Line</a>;
+   REQ_INS_CHAR     : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_181_4">F_Insert_Char</a>;
+   REQ_INS_LINE     : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_182_4">F_Insert_Line</a>;
+   REQ_DEL_CHAR     : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_183_4">F_Delete_Char</a>;
+   REQ_DEL_PREV     : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_184_4">F_Delete_Previous</a>;
+   REQ_DEL_LINE     : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_185_4">F_Delete_Line</a>;
+   REQ_DEL_WORD     : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_186_4">F_Delete_Word</a>;
+   REQ_CLR_EOL      : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_187_4">F_Clear_EOL</a>;
+   REQ_CLR_EOF      : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_188_4">F_Clear_EOF</a>;
+   REQ_CLR_FIELD    : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_189_4">F_Clear_Field</a>;
+   REQ_OVL_MODE     : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_190_4">F_Overlay_Mode</a>;
+   REQ_INS_MODE     : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_191_4">F_Insert_Mode</a>;
 
-   REQ_SCR_FLINE    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_193_4">F_ScrollForward_Line</A>;
-   REQ_SCR_BLINE    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_194_4">F_ScrollBackward_Line</A>;
-   REQ_SCR_FPAGE    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_195_4">F_ScrollForward_Page</A>;
-   REQ_SCR_BPAGE    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_196_4">F_ScrollBackward_Page</A>;
-   REQ_SCR_FHPAGE   : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_197_4">F_ScrollForward_HalfPage</A>;
-   REQ_SCR_BHPAGE   : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_198_4">F_ScrollBackward_HalfPage</A>;
+   REQ_SCR_FLINE    : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_194_4">F_ScrollForward_Line</a>;
+   REQ_SCR_BLINE    : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_195_4">F_ScrollBackward_Line</a>;
+   REQ_SCR_FPAGE    : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_196_4">F_ScrollForward_Page</a>;
+   REQ_SCR_BPAGE    : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_197_4">F_ScrollBackward_Page</a>;
+   REQ_SCR_FHPAGE   : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_198_4">F_ScrollForward_HalfPage</a>;
+   REQ_SCR_BHPAGE   : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_199_4">F_ScrollBackward_HalfPage</a>;
 
-   REQ_SCR_FCHAR    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_201_4">F_HScrollForward_Char</A>;
-   REQ_SCR_BCHAR    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_202_4">F_HScrollBackward_Char</A>;
-   REQ_SCR_HFLINE   : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_203_4">F_HScrollForward_Line</A>;
-   REQ_SCR_HBLINE   : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_204_4">F_HScrollBackward_Line</A>;
-   REQ_SCR_HFHALF   : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_205_4">F_HScrollForward_HalfLine</A>;
-   REQ_SCR_HBHALF   : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_206_4">F_HScrollBackward_HalfLine</A>;
+   REQ_SCR_FCHAR    : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_202_4">F_HScrollForward_Char</a>;
+   REQ_SCR_BCHAR    : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_203_4">F_HScrollBackward_Char</a>;
+   REQ_SCR_HFLINE   : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_204_4">F_HScrollForward_Line</a>;
+   REQ_SCR_HBLINE   : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_205_4">F_HScrollBackward_Line</a>;
+   REQ_SCR_HFHALF   : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_206_4">F_HScrollForward_HalfLine</a>;
+   REQ_SCR_HBHALF   : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_207_4">F_HScrollBackward_HalfLine</a>;
 
-   REQ_VALIDATION   : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_208_4">F_Validate_Field</A>;
-   REQ_NEXT_CHOICE  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_209_4">F_Next_Choice</A>;
-   REQ_PREV_CHOICE  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_210_4">F_Previous_Choice</A>;
+   REQ_VALIDATION   : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_209_4">F_Validate_Field</a>;
+   REQ_NEXT_CHOICE  : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_210_4">F_Next_Choice</a>;
+   REQ_PREV_CHOICE  : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_211_4">F_Previous_Choice</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_277_14" HREF="terminal_interface-curses-forms__adb.htm#ref_64_14">Request_Name</A></span> (<span class="symbol"><A NAME="ref_277_28" HREF="terminal_interface-curses-forms__adb.htm#ref_64_28">Key</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A>;
-                           <span class="symbol"><A NAME="ref_278_28" HREF="terminal_interface-curses-forms__adb.htm#ref_65_33">Name</A></span> : <b>out</b> String);
+   <b>procedure</b> <span class="symbol"><a name="ref_278_14" href="terminal_interface-curses-forms__adb.htm#ref_65_14">Request_Name</a></span> (<span class="symbol"><a name="ref_278_28" href="terminal_interface-curses-forms__adb.htm#ref_65_28">Key</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a>;
+                           <span class="symbol"><a name="ref_279_28" href="terminal_interface-curses-forms__adb.htm#ref_66_33">Name</a></span> : <b>out</b> String);
 
-   <b>function</b>  <span class="symbol"><A NAME="ref_280_14" HREF="terminal_interface-curses-forms__adb.htm#ref_73_13">Request_Name</A></span> (<span class="symbol"><A NAME="ref_280_28" HREF="terminal_interface-curses-forms__adb.htm#ref_73_27">Key</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A>) <b>return</b> String;
-   <span class="comment"><EM>--  Same as function</EM></span>
+   <b>function</b>  <span class="symbol"><a name="ref_281_14" href="terminal_interface-curses-forms__adb.htm#ref_74_13">Request_Name</a></span> (<span class="symbol"><a name="ref_281_28" href="terminal_interface-curses-forms__adb.htm#ref_74_27">Key</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a>) <b>return</b> String;
+   <span class="comment"><em>--  Same as function</em></span>
    <b>pragma</b> Inline (Request_Name);
 
-   <span class="comment"><EM>------------------</EM></span>
-   <span class="comment"><EM>--  Exceptions  --</EM></span>
-   <span class="comment"><EM>------------------</EM></span>
-   <span class="symbol"><A NAME="ref_287_4">Form_Exception</A></span> : <b>exception</b>;
+   <span class="comment"><em>------------------</em></span>
+   <span class="comment"><em>--  Exceptions  --</em></span>
+   <span class="comment"><em>------------------</em></span>
+   <span class="symbol"><a name="ref_288_4">Form_Exception</a></span> : <b>exception</b>;
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/form_field_new.3x.html">form_field_new.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/form_field_new.3x.html">form_field_new.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_1"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_294_13" HREF="terminal_interface-curses-forms__adb.htm#ref_91_13">Create</A></span> (<span class="symbol"><A NAME="ref_294_21" HREF="terminal_interface-curses-forms__adb.htm#ref_91_21">Height</A></span>       : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
-                    <span class="symbol"><A NAME="ref_295_21" HREF="terminal_interface-curses-forms__adb.htm#ref_92_21">Width</A></span>        : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
-                    <span class="symbol"><A NAME="ref_296_21" HREF="terminal_interface-curses-forms__adb.htm#ref_93_21">Top</A></span>          : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-                    <span class="symbol"><A NAME="ref_297_21" HREF="terminal_interface-curses-forms__adb.htm#ref_94_21">Left</A></span>         : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-                    <span class="symbol"><A NAME="ref_298_21" HREF="terminal_interface-curses-forms__adb.htm#ref_95_21">Off_Screen</A></span>   : Natural := 0;
-                    <span class="symbol"><A NAME="ref_299_21" HREF="terminal_interface-curses-forms__adb.htm#ref_96_21">More_Buffers</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A>'First)
-                    <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_field_new.3x.html">new_field()</A></EM></span>
-   <span class="comment"><EM>--  An overloaded Create is defined later. Pragma Inline appears there.</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_1">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_295_13" href="terminal_interface-curses-forms__adb.htm#ref_92_13">Create</a></span> (<span class="symbol"><a name="ref_295_21" href="terminal_interface-curses-forms__adb.htm#ref_92_21">Height</a></span>       : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
+                    <span class="symbol"><a name="ref_296_21" href="terminal_interface-curses-forms__adb.htm#ref_93_21">Width</a></span>        : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>;
+                    <span class="symbol"><a name="ref_297_21" href="terminal_interface-curses-forms__adb.htm#ref_94_21">Top</a></span>          : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+                    <span class="symbol"><a name="ref_298_21" href="terminal_interface-curses-forms__adb.htm#ref_95_21">Left</a></span>         : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+                    <span class="symbol"><a name="ref_299_21" href="terminal_interface-curses-forms__adb.htm#ref_96_21">Off_Screen</a></span>   : Natural := 0;
+                    <span class="symbol"><a name="ref_300_21" href="terminal_interface-curses-forms__adb.htm#ref_97_21">More_Buffers</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a>'First)
+                    <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_field_new.3x.html">new_field()</A></em></span>
+   <span class="comment"><em>--  An overloaded Create is defined later. Pragma Inline appears there.</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_2"#2|</EM></span>
-   <b>function</b> New_Field (<span class="symbol"><A NAME="ref_305_24">Height</A></span>       : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
-                       <span class="symbol"><A NAME="ref_306_24">Width</A></span>        : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
-                       <span class="symbol"><A NAME="ref_307_24">Top</A></span>          : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-                       <span class="symbol"><A NAME="ref_308_24">Left</A></span>         : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-                       <span class="symbol"><A NAME="ref_309_24">Off_Screen</A></span>   : Natural := 0;
-                       <span class="symbol"><A NAME="ref_310_24">More_Buffers</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A>'First)
-                       <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_294_13">Create</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_field_new.3x.html">new_field()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_2">|</A></em></span>
+   <b>function</b> New_Field (<span class="symbol"><a name="ref_306_24">Height</a></span>       : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
+                       <span class="symbol"><a name="ref_307_24">Width</a></span>        : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>;
+                       <span class="symbol"><a name="ref_308_24">Top</a></span>          : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+                       <span class="symbol"><a name="ref_309_24">Left</a></span>         : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+                       <span class="symbol"><a name="ref_310_24">Off_Screen</a></span>   : Natural := 0;
+                       <span class="symbol"><a name="ref_311_24">More_Buffers</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a>'First)
+                       <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_295_13">Create</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_field_new.3x.html">new_field()</A></em></span>
    <b>pragma</b> Inline (New_Field);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_3"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_316_14" HREF="terminal_interface-curses-forms__adb.htm#ref_114_14">Delete</A></span> (<span class="symbol"><A NAME="ref_316_22" HREF="terminal_interface-curses-forms__adb.htm#ref_114_22">Fld</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_field_new.3x.html">free_field()</A></EM></span>
-   <span class="comment"><EM>--  Reset Fld to Null_Field</EM></span>
-   <span class="comment"><EM>--  An overloaded Delete is defined later. Pragma Inline appears there.</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_3">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_317_14" href="terminal_interface-curses-forms__adb.htm#ref_115_14">Delete</a></span> (<span class="symbol"><a name="ref_317_22" href="terminal_interface-curses-forms__adb.htm#ref_115_22">Fld</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_field_new.3x.html">free_field()</A></em></span>
+   <span class="comment"><em>--  Reset Fld to Null_Field</em></span>
+   <span class="comment"><em>--  An overloaded Delete is defined later. Pragma Inline appears there.</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_4"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_322_13" HREF="terminal_interface-curses-forms__adb.htm#ref_126_13">Duplicate</A></span> (<span class="symbol"><A NAME="ref_322_24" HREF="terminal_interface-curses-forms__adb.htm#ref_126_24">Fld</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                       <span class="symbol"><A NAME="ref_323_24" HREF="terminal_interface-curses-forms__adb.htm#ref_127_24">Top</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-                       <span class="symbol"><A NAME="ref_324_24" HREF="terminal_interface-curses-forms__adb.htm#ref_128_24">Left</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_field_new.3x.html">dup_field()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_4">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_323_13" href="terminal_interface-curses-forms__adb.htm#ref_127_13">Duplicate</a></span> (<span class="symbol"><a name="ref_323_24" href="terminal_interface-curses-forms__adb.htm#ref_127_24">Fld</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                       <span class="symbol"><a name="ref_324_24" href="terminal_interface-curses-forms__adb.htm#ref_128_24">Top</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+                       <span class="symbol"><a name="ref_325_24" href="terminal_interface-curses-forms__adb.htm#ref_129_24">Left</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_field_new.3x.html">dup_field()</A></em></span>
    <b>pragma</b> Inline (Duplicate);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_5"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_329_13" HREF="terminal_interface-curses-forms__adb.htm#ref_147_13">Link</A></span> (<span class="symbol"><A NAME="ref_329_19" HREF="terminal_interface-curses-forms__adb.htm#ref_147_19">Fld</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                  <span class="symbol"><A NAME="ref_330_19" HREF="terminal_interface-curses-forms__adb.htm#ref_148_19">Top</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-                  <span class="symbol"><A NAME="ref_331_19" HREF="terminal_interface-curses-forms__adb.htm#ref_149_19">Left</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_field_new.3x.html">link_field()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_329_13">Link</A>);
+   <span class="comment"><em>--  <A NAME="AFU_5">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_330_13" href="terminal_interface-curses-forms__adb.htm#ref_148_13">Link</a></span> (<span class="symbol"><a name="ref_330_19" href="terminal_interface-curses-forms__adb.htm#ref_148_19">Fld</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                  <span class="symbol"><a name="ref_331_19" href="terminal_interface-curses-forms__adb.htm#ref_149_19">Top</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+                  <span class="symbol"><a name="ref_332_19" href="terminal_interface-curses-forms__adb.htm#ref_150_19">Left</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_field_new.3x.html">link_field()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_330_13">Link</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/form_field_just.3x.html">form_field_just.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/form_field_just.3x.html">form_field_just.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_6"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_340_14" HREF="terminal_interface-curses-forms__adb.htm#ref_172_14">Set_Justification</A></span> (<span class="symbol"><A NAME="ref_340_33" HREF="terminal_interface-curses-forms__adb.htm#ref_172_33">Fld</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                                <span class="symbol"><A NAME="ref_341_33" HREF="terminal_interface-curses-forms__adb.htm#ref_173_33">Just</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Field_Justification</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_33">None</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_field_just.3x.html">set_field_just()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_340_14">Set_Justification</A>);
+   <span class="comment"><em>--  <A NAME="AFU_6">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_341_14" href="terminal_interface-curses-forms__adb.htm#ref_173_14">Set_Justification</a></span> (<span class="symbol"><a name="ref_341_33" href="terminal_interface-curses-forms__adb.htm#ref_173_33">Fld</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                                <span class="symbol"><a name="ref_342_33" href="terminal_interface-curses-forms__adb.htm#ref_174_33">Just</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_58_9">Field_Justification</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_58_33">None</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_field_just.3x.html">set_field_just()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_341_14">Set_Justification</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_7"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_346_13" HREF="terminal_interface-curses-forms__adb.htm#ref_186_13">Get_Justification</A></span> (<span class="symbol"><A NAME="ref_346_32" HREF="terminal_interface-curses-forms__adb.htm#ref_186_32">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Field_Justification</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_field_just.3x.html">field_just()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_346_13">Get_Justification</A>);
+   <span class="comment"><em>--  <A NAME="AFU_7">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_347_13" href="terminal_interface-curses-forms__adb.htm#ref_187_13">Get_Justification</a></span> (<span class="symbol"><a name="ref_347_32" href="terminal_interface-curses-forms__adb.htm#ref_187_32">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_58_9">Field_Justification</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_field_just.3x.html">field_just()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_347_13">Get_Justification</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/form_field_buffer.3x.html">form_field_buffer.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/form_field_buffer.3x.html">form_field_buffer.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_8"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_355_14" HREF="terminal_interface-curses-forms__adb.htm#ref_200_14">Set_Buffer</A></span>
-     (<span class="symbol"><A NAME="ref_356_7" HREF="terminal_interface-curses-forms__adb.htm#ref_201_7">Fld</A></span>    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-      <span class="symbol"><A NAME="ref_357_7" HREF="terminal_interface-curses-forms__adb.htm#ref_202_7">Buffer</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A>'First;
-      <span class="symbol"><A NAME="ref_358_7" HREF="terminal_interface-curses-forms__adb.htm#ref_203_7">Str</A></span>    : String);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_field_buffer.3x.html">set_field_buffer()</A></EM></span>
-   <span class="comment"><EM>--  Not inlined</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_8">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_356_14" href="terminal_interface-curses-forms__adb.htm#ref_201_14">Set_Buffer</a></span>
+     (<span class="symbol"><a name="ref_357_7" href="terminal_interface-curses-forms__adb.htm#ref_202_7">Fld</a></span>    : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+      <span class="symbol"><a name="ref_358_7" href="terminal_interface-curses-forms__adb.htm#ref_203_7">Buffer</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a>'First;
+      <span class="symbol"><a name="ref_359_7" href="terminal_interface-curses-forms__adb.htm#ref_204_7">Str</a></span>    : String);
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_field_buffer.3x.html">set_field_buffer()</A></em></span>
+   <span class="comment"><em>--  Not inlined</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_9"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_363_14" HREF="terminal_interface-curses-forms__adb.htm#ref_217_14">Get_Buffer</A></span>
-     (<span class="symbol"><A NAME="ref_364_7" HREF="terminal_interface-curses-forms__adb.htm#ref_218_7">Fld</A></span>    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-      <span class="symbol"><A NAME="ref_365_7" HREF="terminal_interface-curses-forms__adb.htm#ref_219_7">Buffer</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A>'First;
-      <span class="symbol"><A NAME="ref_366_7" HREF="terminal_interface-curses-forms__adb.htm#ref_220_7">Str</A></span>    : <b>out</b> String);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_field_buffer.3x.html">field_buffer()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_9">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_364_14" href="terminal_interface-curses-forms__adb.htm#ref_218_14">Get_Buffer</a></span>
+     (<span class="symbol"><a name="ref_365_7" href="terminal_interface-curses-forms__adb.htm#ref_219_7">Fld</a></span>    : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+      <span class="symbol"><a name="ref_366_7" href="terminal_interface-curses-forms__adb.htm#ref_220_7">Buffer</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a>'First;
+      <span class="symbol"><a name="ref_367_7" href="terminal_interface-curses-forms__adb.htm#ref_221_7">Str</a></span>    : <b>out</b> String);
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_field_buffer.3x.html">field_buffer()</A></em></span>
 
-   <b>function</b> <span class="symbol"><A NAME="ref_369_13" HREF="terminal_interface-curses-forms__adb.htm#ref_229_13">Get_Buffer</A></span>
-     (<span class="symbol"><A NAME="ref_370_7" HREF="terminal_interface-curses-forms__adb.htm#ref_230_7">Fld</A></span>    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-      <span class="symbol"><A NAME="ref_371_7" HREF="terminal_interface-curses-forms__adb.htm#ref_231_7">Buffer</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A>'First) <b>return</b> String;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_field_buffer.3x.html">field_buffer()</A></EM></span>
-   <span class="comment"><EM>--  Same but as function</EM></span>
+   <b>function</b> <span class="symbol"><a name="ref_370_13" href="terminal_interface-curses-forms__adb.htm#ref_230_13">Get_Buffer</a></span>
+     (<span class="symbol"><a name="ref_371_7" href="terminal_interface-curses-forms__adb.htm#ref_231_7">Fld</a></span>    : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+      <span class="symbol"><a name="ref_372_7" href="terminal_interface-curses-forms__adb.htm#ref_232_7">Buffer</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a>'First) <b>return</b> String;
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_field_buffer.3x.html">field_buffer()</A></em></span>
+   <span class="comment"><em>--  Same but as function</em></span>
    <b>pragma</b> Inline (Get_Buffer);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_10"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_377_14" HREF="terminal_interface-curses-forms__adb.htm#ref_242_14">Set_Status</A></span> (<span class="symbol"><A NAME="ref_377_26" HREF="terminal_interface-curses-forms__adb.htm#ref_242_26">Fld</A></span>    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                         <span class="symbol"><A NAME="ref_378_26" HREF="terminal_interface-curses-forms__adb.htm#ref_243_26">Status</A></span> : Boolean := True);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_field_buffer.3x.html">set_field_status()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_377_14">Set_Status</A>);
+   <span class="comment"><em>--  <A NAME="AFU_10">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_378_14" href="terminal_interface-curses-forms__adb.htm#ref_243_14">Set_Status</a></span> (<span class="symbol"><a name="ref_378_26" href="terminal_interface-curses-forms__adb.htm#ref_243_26">Fld</a></span>    : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                         <span class="symbol"><a name="ref_379_26" href="terminal_interface-curses-forms__adb.htm#ref_244_26">Status</a></span> : Boolean := True);
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_field_buffer.3x.html">set_field_status()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_378_14">Set_Status</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_11"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_383_13" HREF="terminal_interface-curses-forms__adb.htm#ref_257_13">Changed</A></span> (<span class="symbol"><A NAME="ref_383_22" HREF="terminal_interface-curses-forms__adb.htm#ref_257_22">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> Boolean;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_field_buffer.3x.html">field_status()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_383_13">Changed</A>);
+   <span class="comment"><em>--  <A NAME="AFU_11">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_384_13" href="terminal_interface-curses-forms__adb.htm#ref_258_13">Changed</a></span> (<span class="symbol"><a name="ref_384_22" href="terminal_interface-curses-forms__adb.htm#ref_258_22">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> Boolean;
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_field_buffer.3x.html">field_status()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_384_13">Changed</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_12"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_388_14" HREF="terminal_interface-curses-forms__adb.htm#ref_273_14">Set_Maximum_Size</A></span> (<span class="symbol"><A NAME="ref_388_32" HREF="terminal_interface-curses-forms__adb.htm#ref_273_32">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                               <span class="symbol"><A NAME="ref_389_32" HREF="terminal_interface-curses-forms__adb.htm#ref_274_32">Max</A></span> : Natural := 0);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_field_buffer.3x.html">set_field_max()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_388_14">Set_Maximum_Size</A>);
+   <span class="comment"><em>--  <A NAME="AFU_12">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_389_14" href="terminal_interface-curses-forms__adb.htm#ref_274_14">Set_Maximum_Size</a></span> (<span class="symbol"><a name="ref_389_32" href="terminal_interface-curses-forms__adb.htm#ref_274_32">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                               <span class="symbol"><a name="ref_390_32" href="terminal_interface-curses-forms__adb.htm#ref_275_32">Max</a></span> : Natural := 0);
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_field_buffer.3x.html">set_field_max()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_389_14">Set_Maximum_Size</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/form_field_opts.3x.html">form_field_opts.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/form_field_opts.3x.html">form_field_opts.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_13"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_398_14" HREF="terminal_interface-curses-forms__adb.htm#ref_290_14">Set_Options</A></span> (<span class="symbol"><A NAME="ref_398_27" HREF="terminal_interface-curses-forms__adb.htm#ref_290_27">Fld</A></span>     : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                          <span class="symbol"><A NAME="ref_399_27" HREF="terminal_interface-curses-forms__adb.htm#ref_291_27">Options</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_62_9">Field_Option_Set</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_field_opts.3x.html">set_field_opts()</A></EM></span>
-   <span class="comment"><EM>--  An overloaded version is defined later. Pragma Inline appears there</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_13">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_399_14" href="terminal_interface-curses-forms__adb.htm#ref_291_14">Set_Options</a></span> (<span class="symbol"><a name="ref_399_27" href="terminal_interface-curses-forms__adb.htm#ref_291_27">Fld</a></span>     : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                          <span class="symbol"><a name="ref_400_27" href="terminal_interface-curses-forms__adb.htm#ref_292_27">Options</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_field_opts.3x.html">set_field_opts()</A></em></span>
+   <span class="comment"><em>--  An overloaded version is defined later. Pragma Inline appears there</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_14"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_404_14" HREF="terminal_interface-curses-forms__adb.htm#ref_303_14">Switch_Options</A></span> (<span class="symbol"><A NAME="ref_404_30" HREF="terminal_interface-curses-forms__adb.htm#ref_303_30">Fld</A></span>     : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                             <span class="symbol"><A NAME="ref_405_30" HREF="terminal_interface-curses-forms__adb.htm#ref_304_30">Options</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_62_9">Field_Option_Set</A>;
-                             <span class="symbol"><A NAME="ref_406_30" HREF="terminal_interface-curses-forms__adb.htm#ref_305_30">On</A></span>      : Boolean := True);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_field_opts.3x.html">field_opts_on()</A></EM></span>
-   <span class="comment"><EM>--  AKA: field_opts_off()</EM></span>
-   <span class="comment"><EM>--  An overloaded version is defined later. Pragma Inline appears there</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_14">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_405_14" href="terminal_interface-curses-forms__adb.htm#ref_304_14">Switch_Options</a></span> (<span class="symbol"><a name="ref_405_30" href="terminal_interface-curses-forms__adb.htm#ref_304_30">Fld</a></span>     : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                             <span class="symbol"><a name="ref_406_30" href="terminal_interface-curses-forms__adb.htm#ref_305_30">Options</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a>;
+                             <span class="symbol"><a name="ref_407_30" href="terminal_interface-curses-forms__adb.htm#ref_306_30">On</a></span>      : Boolean := True);
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_field_opts.3x.html">field_opts_on()</A></em></span>
+   <span class="comment"><em>--  AKA: field_opts_off()</em></span>
+   <span class="comment"><em>--  An overloaded version is defined later. Pragma Inline appears there</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_15"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_412_14" HREF="terminal_interface-curses-forms__adb.htm#ref_324_14">Get_Options</A></span> (<span class="symbol"><A NAME="ref_412_27" HREF="terminal_interface-curses-forms__adb.htm#ref_324_27">Fld</A></span>     : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                          <span class="symbol"><A NAME="ref_413_27" HREF="terminal_interface-curses-forms__adb.htm#ref_325_27">Options</A></span> : <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_62_9">Field_Option_Set</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_field_opts.3x.html">field_opts()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_15">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_413_14" href="terminal_interface-curses-forms__adb.htm#ref_325_14">Get_Options</a></span> (<span class="symbol"><a name="ref_413_27" href="terminal_interface-curses-forms__adb.htm#ref_325_27">Fld</a></span>     : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                          <span class="symbol"><a name="ref_414_27" href="terminal_interface-curses-forms__adb.htm#ref_326_27">Options</a></span> : <b>out</b> <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_field_opts.3x.html">field_opts()</A></em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_16"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_417_13" HREF="terminal_interface-curses-forms__adb.htm#ref_336_13">Get_Options</A></span> (<span class="symbol"><A NAME="ref_417_26" HREF="terminal_interface-curses-forms__adb.htm#ref_336_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_54_4">Null_Field</A>)
-                         <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_62_9">Field_Option_Set</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_field_opts.3x.html">field_opts()</A></EM></span>
-   <span class="comment"><EM>--  An overloaded version is defined later. Pragma Inline appears there</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_16">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_418_13" href="terminal_interface-curses-forms__adb.htm#ref_337_13">Get_Options</a></span> (<span class="symbol"><a name="ref_418_26" href="terminal_interface-curses-forms__adb.htm#ref_337_26">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</a>)
+                         <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_field_opts.3x.html">field_opts()</A></em></span>
+   <span class="comment"><em>--  An overloaded version is defined later. Pragma Inline appears there</em></span>
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/form_field_attributes.3x.html">form_field_attributes.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/form_field_attributes.3x.html">form_field_attributes.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_17"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_427_14" HREF="terminal_interface-curses-forms__adb.htm#ref_351_14">Set_Foreground</A></span>
-     (<span class="symbol"><A NAME="ref_428_7" HREF="terminal_interface-curses-forms__adb.htm#ref_352_7">Fld</A></span>   : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-      <span class="symbol"><A NAME="ref_429_7" HREF="terminal_interface-curses-forms__adb.htm#ref_353_7">Fore</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
-      <span class="symbol"><A NAME="ref_430_7" HREF="terminal_interface-curses-forms__adb.htm#ref_354_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_field_attributes.3x.html">set_field_fore()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_427_14">Set_Foreground</A>);
+   <span class="comment"><em>--  <A NAME="AFU_17">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_428_14" href="terminal_interface-curses-forms__adb.htm#ref_352_14">Set_Foreground</a></span>
+     (<span class="symbol"><a name="ref_429_7" href="terminal_interface-curses-forms__adb.htm#ref_353_7">Fld</a></span>   : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+      <span class="symbol"><a name="ref_430_7" href="terminal_interface-curses-forms__adb.htm#ref_354_7">Fore</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>;
+      <span class="symbol"><a name="ref_431_7" href="terminal_interface-curses-forms__adb.htm#ref_355_7">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First);
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_field_attributes.3x.html">set_field_fore()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_428_14">Set_Foreground</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_18"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_435_14" HREF="terminal_interface-curses-forms__adb.htm#ref_368_14">Foreground</A></span> (<span class="symbol"><A NAME="ref_435_26" HREF="terminal_interface-curses-forms__adb.htm#ref_368_26">Fld</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                         <span class="symbol"><A NAME="ref_436_26" HREF="terminal_interface-curses-forms__adb.htm#ref_369_26">Fore</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_field_attributes.3x.html">field_fore()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_18">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_436_14" href="terminal_interface-curses-forms__adb.htm#ref_369_14">Foreground</a></span> (<span class="symbol"><a name="ref_436_26" href="terminal_interface-curses-forms__adb.htm#ref_369_26">Fld</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                         <span class="symbol"><a name="ref_437_26" href="terminal_interface-curses-forms__adb.htm#ref_370_26">Fore</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_field_attributes.3x.html">field_fore()</A></em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_19"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_440_14" HREF="terminal_interface-curses-forms__adb.htm#ref_377_14">Foreground</A></span> (<span class="symbol"><A NAME="ref_440_26" HREF="terminal_interface-curses-forms__adb.htm#ref_377_26">Fld</A></span>   : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                         <span class="symbol"><A NAME="ref_441_26" HREF="terminal_interface-curses-forms__adb.htm#ref_378_26">Fore</A></span>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>;
-                         <span class="symbol"><A NAME="ref_442_26" HREF="terminal_interface-curses-forms__adb.htm#ref_379_26">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_field_attributes.3x.html">field_fore()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_19">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_441_14" href="terminal_interface-curses-forms__adb.htm#ref_378_14">Foreground</a></span> (<span class="symbol"><a name="ref_441_26" href="terminal_interface-curses-forms__adb.htm#ref_378_26">Fld</a></span>   : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                         <span class="symbol"><a name="ref_442_26" href="terminal_interface-curses-forms__adb.htm#ref_379_26">Fore</a></span>  : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>;
+                         <span class="symbol"><a name="ref_443_26" href="terminal_interface-curses-forms__adb.htm#ref_380_26">Color</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_field_attributes.3x.html">field_fore()</A></em></span>
    <b>pragma</b> Inline (Foreground);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_20"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_447_14" HREF="terminal_interface-curses-forms__adb.htm#ref_390_14">Set_Background</A></span>
-     (<span class="symbol"><A NAME="ref_448_7" HREF="terminal_interface-curses-forms__adb.htm#ref_391_7">Fld</A></span>   : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-      <span class="symbol"><A NAME="ref_449_7" HREF="terminal_interface-curses-forms__adb.htm#ref_392_7">Back</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
-      <span class="symbol"><A NAME="ref_450_7" HREF="terminal_interface-curses-forms__adb.htm#ref_393_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_field_attributes.3x.html">set_field_back()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_20">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_448_14" href="terminal_interface-curses-forms__adb.htm#ref_391_14">Set_Background</a></span>
+     (<span class="symbol"><a name="ref_449_7" href="terminal_interface-curses-forms__adb.htm#ref_392_7">Fld</a></span>   : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+      <span class="symbol"><a name="ref_450_7" href="terminal_interface-curses-forms__adb.htm#ref_393_7">Back</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>;
+      <span class="symbol"><a name="ref_451_7" href="terminal_interface-curses-forms__adb.htm#ref_394_7">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First);
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_field_attributes.3x.html">set_field_back()</A></em></span>
    <b>pragma</b> Inline (Set_Background);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_21"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_455_14" HREF="terminal_interface-curses-forms__adb.htm#ref_407_14">Background</A></span> (<span class="symbol"><A NAME="ref_455_26" HREF="terminal_interface-curses-forms__adb.htm#ref_407_26">Fld</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                         <span class="symbol"><A NAME="ref_456_26" HREF="terminal_interface-curses-forms__adb.htm#ref_408_26">Back</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_field_attributes.3x.html">field_back()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_21">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_456_14" href="terminal_interface-curses-forms__adb.htm#ref_408_14">Background</a></span> (<span class="symbol"><a name="ref_456_26" href="terminal_interface-curses-forms__adb.htm#ref_408_26">Fld</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                         <span class="symbol"><a name="ref_457_26" href="terminal_interface-curses-forms__adb.htm#ref_409_26">Back</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_field_attributes.3x.html">field_back()</A></em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_22"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_460_14" HREF="terminal_interface-curses-forms__adb.htm#ref_416_14">Background</A></span> (<span class="symbol"><A NAME="ref_460_26" HREF="terminal_interface-curses-forms__adb.htm#ref_416_26">Fld</A></span>   : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                         <span class="symbol"><A NAME="ref_461_26" HREF="terminal_interface-curses-forms__adb.htm#ref_417_26">Back</A></span>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>;
-                         <span class="symbol"><A NAME="ref_462_26" HREF="terminal_interface-curses-forms__adb.htm#ref_418_26">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_field_attributes.3x.html">field_back()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_22">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_461_14" href="terminal_interface-curses-forms__adb.htm#ref_417_14">Background</a></span> (<span class="symbol"><a name="ref_461_26" href="terminal_interface-curses-forms__adb.htm#ref_417_26">Fld</a></span>   : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                         <span class="symbol"><a name="ref_462_26" href="terminal_interface-curses-forms__adb.htm#ref_418_26">Back</a></span>  : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>;
+                         <span class="symbol"><a name="ref_463_26" href="terminal_interface-curses-forms__adb.htm#ref_419_26">Color</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_field_attributes.3x.html">field_back()</A></em></span>
    <b>pragma</b> Inline (Background);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_23"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_467_14" HREF="terminal_interface-curses-forms__adb.htm#ref_429_14">Set_Pad_Character</A></span> (<span class="symbol"><A NAME="ref_467_33" HREF="terminal_interface-curses-forms__adb.htm#ref_429_33">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                                <span class="symbol"><A NAME="ref_468_33" HREF="terminal_interface-curses-forms__adb.htm#ref_430_33">Pad</A></span> : Character := Space);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_field_attributes.3x.html">set_field_pad()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_467_14">Set_Pad_Character</A>);
+   <span class="comment"><em>--  <A NAME="AFU_23">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_468_14" href="terminal_interface-curses-forms__adb.htm#ref_430_14">Set_Pad_Character</a></span> (<span class="symbol"><a name="ref_468_33" href="terminal_interface-curses-forms__adb.htm#ref_430_33">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                                <span class="symbol"><a name="ref_469_33" href="terminal_interface-curses-forms__adb.htm#ref_431_33">Pad</a></span> : Character := Space);
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_field_attributes.3x.html">set_field_pad()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_468_14">Set_Pad_Character</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_24"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_473_14" HREF="terminal_interface-curses-forms__adb.htm#ref_443_14">Pad_Character</A></span> (<span class="symbol"><A NAME="ref_473_29" HREF="terminal_interface-curses-forms__adb.htm#ref_443_29">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                            <span class="symbol"><A NAME="ref_474_29" HREF="terminal_interface-curses-forms__adb.htm#ref_444_29">Pad</A></span> : <b>out</b> Character);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_field_attributes.3x.html">field_pad()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_473_14">Pad_Character</A>);
+   <span class="comment"><em>--  <A NAME="AFU_24">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_474_14" href="terminal_interface-curses-forms__adb.htm#ref_444_14">Pad_Character</a></span> (<span class="symbol"><a name="ref_474_29" href="terminal_interface-curses-forms__adb.htm#ref_444_29">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                            <span class="symbol"><a name="ref_475_29" href="terminal_interface-curses-forms__adb.htm#ref_445_29">Pad</a></span> : <b>out</b> Character);
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_field_attributes.3x.html">field_pad()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_474_14">Pad_Character</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/form_field_info.3x.html">form_field_info.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/form_field_info.3x.html">form_field_info.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_25"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_483_14" HREF="terminal_interface-curses-forms__adb.htm#ref_458_14">Info</A></span> (<span class="symbol"><A NAME="ref_483_20" HREF="terminal_interface-curses-forms__adb.htm#ref_458_20">Fld</A></span>                : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                   <span class="symbol"><A NAME="ref_484_20" HREF="terminal_interface-curses-forms__adb.htm#ref_459_20">Lines</A></span>              : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
-                   <span class="symbol"><A NAME="ref_485_20" HREF="terminal_interface-curses-forms__adb.htm#ref_460_20">Columns</A></span>            : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
-                   <span class="symbol"><A NAME="ref_486_20" HREF="terminal_interface-curses-forms__adb.htm#ref_461_20">First_Row</A></span>          : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-                   <span class="symbol"><A NAME="ref_487_20" HREF="terminal_interface-curses-forms__adb.htm#ref_462_20">First_Column</A></span>       : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-                   <span class="symbol"><A NAME="ref_488_20" HREF="terminal_interface-curses-forms__adb.htm#ref_463_20">Off_Screen</A></span>         : <b>out</b> Natural;
-                   <span class="symbol"><A NAME="ref_489_20" HREF="terminal_interface-curses-forms__adb.htm#ref_464_20">Additional_Buffers</A></span> : <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_field_info.3x.html">field_info()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_483_14">Info</A>);
+   <span class="comment"><em>--  <A NAME="AFU_25">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_484_14" href="terminal_interface-curses-forms__adb.htm#ref_459_14">Info</a></span> (<span class="symbol"><a name="ref_484_20" href="terminal_interface-curses-forms__adb.htm#ref_459_20">Fld</a></span>                : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                   <span class="symbol"><a name="ref_485_20" href="terminal_interface-curses-forms__adb.htm#ref_460_20">Lines</a></span>              : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
+                   <span class="symbol"><a name="ref_486_20" href="terminal_interface-curses-forms__adb.htm#ref_461_20">Columns</a></span>            : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>;
+                   <span class="symbol"><a name="ref_487_20" href="terminal_interface-curses-forms__adb.htm#ref_462_20">First_Row</a></span>          : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+                   <span class="symbol"><a name="ref_488_20" href="terminal_interface-curses-forms__adb.htm#ref_463_20">First_Column</a></span>       : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+                   <span class="symbol"><a name="ref_489_20" href="terminal_interface-curses-forms__adb.htm#ref_464_20">Off_Screen</a></span>         : <b>out</b> Natural;
+                   <span class="symbol"><a name="ref_490_20" href="terminal_interface-curses-forms__adb.htm#ref_465_20">Additional_Buffers</a></span> : <b>out</b> <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_field_info.3x.html">field_info()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_484_14">Info</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_26"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_494_14" HREF="terminal_interface-curses-forms__adb.htm#ref_488_14">Dynamic_Info</A></span> (<span class="symbol"><A NAME="ref_494_28" HREF="terminal_interface-curses-forms__adb.htm#ref_488_28">Fld</A></span>     : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                           <span class="symbol"><A NAME="ref_495_28" HREF="terminal_interface-curses-forms__adb.htm#ref_489_28">Lines</A></span>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
-                           <span class="symbol"><A NAME="ref_496_28" HREF="terminal_interface-curses-forms__adb.htm#ref_490_28">Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
-                           <span class="symbol"><A NAME="ref_497_28" HREF="terminal_interface-curses-forms__adb.htm#ref_491_28">Max</A></span>     : <b>out</b> Natural);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_field_info.3x.html">dynamic_field_info()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_494_14">Dynamic_Info</A>);
+   <span class="comment"><em>--  <A NAME="AFU_26">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_495_14" href="terminal_interface-curses-forms__adb.htm#ref_489_14">Dynamic_Info</a></span> (<span class="symbol"><a name="ref_495_28" href="terminal_interface-curses-forms__adb.htm#ref_489_28">Fld</a></span>     : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                           <span class="symbol"><a name="ref_496_28" href="terminal_interface-curses-forms__adb.htm#ref_490_28">Lines</a></span>   : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
+                           <span class="symbol"><a name="ref_497_28" href="terminal_interface-curses-forms__adb.htm#ref_491_28">Columns</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>;
+                           <span class="symbol"><a name="ref_498_28" href="terminal_interface-curses-forms__adb.htm#ref_492_28">Max</a></span>     : <b>out</b> Natural);
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_field_info.3x.html">dynamic_field_info()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_495_14">Dynamic_Info</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/form_win.3x.html">form_win.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/form_win.3x.html">form_win.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_27"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_506_14" HREF="terminal_interface-curses-forms__adb.htm#ref_513_14">Set_Window</A></span> (<span class="symbol"><A NAME="ref_506_26" HREF="terminal_interface-curses-forms__adb.htm#ref_513_26">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                         <span class="symbol"><A NAME="ref_507_26" HREF="terminal_interface-curses-forms__adb.htm#ref_514_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_win.3x.html">set_form_win()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_506_14">Set_Window</A>);
+   <span class="comment"><em>--  <A NAME="AFU_27">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_507_14" href="terminal_interface-curses-forms__adb.htm#ref_514_14">Set_Window</a></span> (<span class="symbol"><a name="ref_507_26" href="terminal_interface-curses-forms__adb.htm#ref_514_26">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                         <span class="symbol"><a name="ref_508_26" href="terminal_interface-curses-forms__adb.htm#ref_515_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_win.3x.html">set_form_win()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_507_14">Set_Window</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_28"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_512_13" HREF="terminal_interface-curses-forms__adb.htm#ref_526_13">Get_Window</A></span> (<span class="symbol"><A NAME="ref_512_25" HREF="terminal_interface-curses-forms__adb.htm#ref_526_25">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_win.3x.html">form_win()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_512_13">Get_Window</A>);
+   <span class="comment"><em>--  <A NAME="AFU_28">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_513_13" href="terminal_interface-curses-forms__adb.htm#ref_527_13">Get_Window</a></span> (<span class="symbol"><a name="ref_513_25" href="terminal_interface-curses-forms__adb.htm#ref_527_25">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_win.3x.html">form_win()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_513_13">Get_Window</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_29"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_517_14" HREF="terminal_interface-curses-forms__adb.htm#ref_538_14">Set_Sub_Window</A></span> (<span class="symbol"><A NAME="ref_517_30" HREF="terminal_interface-curses-forms__adb.htm#ref_538_30">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                             <span class="symbol"><A NAME="ref_518_30" HREF="terminal_interface-curses-forms__adb.htm#ref_539_30">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_win.3x.html">set_form_sub()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_517_14">Set_Sub_Window</A>);
+   <span class="comment"><em>--  <A NAME="AFU_29">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_518_14" href="terminal_interface-curses-forms__adb.htm#ref_539_14">Set_Sub_Window</a></span> (<span class="symbol"><a name="ref_518_30" href="terminal_interface-curses-forms__adb.htm#ref_539_30">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                             <span class="symbol"><a name="ref_519_30" href="terminal_interface-curses-forms__adb.htm#ref_540_30">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_win.3x.html">set_form_sub()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_518_14">Set_Sub_Window</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_30"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_523_13" HREF="terminal_interface-curses-forms__adb.htm#ref_551_13">Get_Sub_Window</A></span> (<span class="symbol"><A NAME="ref_523_29" HREF="terminal_interface-curses-forms__adb.htm#ref_551_29">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_win.3x.html">form_sub()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_523_13">Get_Sub_Window</A>);
+   <span class="comment"><em>--  <A NAME="AFU_30">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_524_13" href="terminal_interface-curses-forms__adb.htm#ref_552_13">Get_Sub_Window</a></span> (<span class="symbol"><a name="ref_524_29" href="terminal_interface-curses-forms__adb.htm#ref_552_29">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_win.3x.html">form_sub()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_524_13">Get_Sub_Window</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_31"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_528_14" HREF="terminal_interface-curses-forms__adb.htm#ref_563_14">Scale</A></span> (<span class="symbol"><A NAME="ref_528_21" HREF="terminal_interface-curses-forms__adb.htm#ref_563_21">Frm</A></span>     : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                    <span class="symbol"><A NAME="ref_529_21" HREF="terminal_interface-curses-forms__adb.htm#ref_564_21">Lines</A></span>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
-                    <span class="symbol"><A NAME="ref_530_21" HREF="terminal_interface-curses-forms__adb.htm#ref_565_21">Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_win.3x.html">scale_form()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_528_14">Scale</A>);
+   <span class="comment"><em>--  <A NAME="AFU_31">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_529_14" href="terminal_interface-curses-forms__adb.htm#ref_564_14">Scale</a></span> (<span class="symbol"><a name="ref_529_21" href="terminal_interface-curses-forms__adb.htm#ref_564_21">Frm</a></span>     : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                    <span class="symbol"><a name="ref_530_21" href="terminal_interface-curses-forms__adb.htm#ref_565_21">Lines</a></span>   : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
+                    <span class="symbol"><a name="ref_531_21" href="terminal_interface-curses-forms__adb.htm#ref_566_21">Columns</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_win.3x.html">scale_form()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_529_14">Scale</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/form_hook.3x.html">form_hook.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/form_hook.3x.html">form_hook.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <b>type</b> <span class="symbol"><A NAME="ref_538_9">Form_Hook_Function</A></span> <b>is</b> <b>access</b> <b>procedure</b> (<span class="symbol"><A NAME="ref_538_49">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>);
-   <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms__ads.htm#ref_538_9">Form_Hook_Function</A>);
+   <b>type</b> <span class="symbol"><a name="ref_539_9">Form_Hook_Function</a></span> <b>is</b> <b>access</b> <b>procedure</b> (<span class="symbol"><a name="ref_539_49">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>);
+   <b>pragma</b> Convention (C, <a href="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_32"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_542_14" HREF="terminal_interface-curses-forms__adb.htm#ref_584_14">Set_Field_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_542_35" HREF="terminal_interface-curses-forms__adb.htm#ref_584_35">Frm</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                                  <span class="symbol"><A NAME="ref_543_35" HREF="terminal_interface-curses-forms__adb.htm#ref_585_35">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_538_9">Form_Hook_Function</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_hook.3x.html">set_field_init()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_542_14">Set_Field_Init_Hook</A>);
+   <span class="comment"><em>--  <A NAME="AFU_32">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_543_14" href="terminal_interface-curses-forms__adb.htm#ref_585_14">Set_Field_Init_Hook</a></span> (<span class="symbol"><a name="ref_543_35" href="terminal_interface-curses-forms__adb.htm#ref_585_35">Frm</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                                  <span class="symbol"><a name="ref_544_35" href="terminal_interface-curses-forms__adb.htm#ref_586_35">Proc</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_hook.3x.html">set_field_init()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_543_14">Set_Field_Init_Hook</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_33"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_548_14" HREF="terminal_interface-curses-forms__adb.htm#ref_597_14">Set_Field_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_548_35" HREF="terminal_interface-curses-forms__adb.htm#ref_597_35">Frm</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                                  <span class="symbol"><A NAME="ref_549_35" HREF="terminal_interface-curses-forms__adb.htm#ref_598_35">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_538_9">Form_Hook_Function</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_hook.3x.html">set_field_term()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_548_14">Set_Field_Term_Hook</A>);
+   <span class="comment"><em>--  <A NAME="AFU_33">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_549_14" href="terminal_interface-curses-forms__adb.htm#ref_598_14">Set_Field_Term_Hook</a></span> (<span class="symbol"><a name="ref_549_35" href="terminal_interface-curses-forms__adb.htm#ref_598_35">Frm</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                                  <span class="symbol"><a name="ref_550_35" href="terminal_interface-curses-forms__adb.htm#ref_599_35">Proc</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_hook.3x.html">set_field_term()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_549_14">Set_Field_Term_Hook</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_34"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_554_14" HREF="terminal_interface-curses-forms__adb.htm#ref_610_14">Set_Form_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_554_34" HREF="terminal_interface-curses-forms__adb.htm#ref_610_34">Frm</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                                 <span class="symbol"><A NAME="ref_555_34" HREF="terminal_interface-curses-forms__adb.htm#ref_611_34">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_538_9">Form_Hook_Function</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_hook.3x.html">set_form_init()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_554_14">Set_Form_Init_Hook</A>);
+   <span class="comment"><em>--  <A NAME="AFU_34">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_555_14" href="terminal_interface-curses-forms__adb.htm#ref_611_14">Set_Form_Init_Hook</a></span> (<span class="symbol"><a name="ref_555_34" href="terminal_interface-curses-forms__adb.htm#ref_611_34">Frm</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                                 <span class="symbol"><a name="ref_556_34" href="terminal_interface-curses-forms__adb.htm#ref_612_34">Proc</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_hook.3x.html">set_form_init()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_555_14">Set_Form_Init_Hook</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_35"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_560_14" HREF="terminal_interface-curses-forms__adb.htm#ref_623_14">Set_Form_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_560_34" HREF="terminal_interface-curses-forms__adb.htm#ref_623_34">Frm</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                                 <span class="symbol"><A NAME="ref_561_34" HREF="terminal_interface-curses-forms__adb.htm#ref_624_34">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_538_9">Form_Hook_Function</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_hook.3x.html">set_form_term()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_560_14">Set_Form_Term_Hook</A>);
+   <span class="comment"><em>--  <A NAME="AFU_35">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_561_14" href="terminal_interface-curses-forms__adb.htm#ref_624_14">Set_Form_Term_Hook</a></span> (<span class="symbol"><a name="ref_561_34" href="terminal_interface-curses-forms__adb.htm#ref_624_34">Frm</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                                 <span class="symbol"><a name="ref_562_34" href="terminal_interface-curses-forms__adb.htm#ref_625_34">Proc</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_hook.3x.html">set_form_term()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_561_14">Set_Form_Term_Hook</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_36"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_566_13">Get_Field_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_566_34" HREF="terminal_interface-curses-forms__ads.htm#ref_566_13">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_538_9">Form_Hook_Function</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_hook.3x.html">field_init()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_36">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_567_13">Get_Field_Init_Hook</a></span> (<span class="symbol"><a name="ref_567_34">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_hook.3x.html">field_init()</A></em></span>
    <b>pragma</b> Import (C, Get_Field_Init_Hook, "field_init");
 
-   <span class="comment"><EM>--  #1A NAME="AFU_37"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_571_13">Get_Field_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_571_34" HREF="terminal_interface-curses-forms__ads.htm#ref_571_13">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_538_9">Form_Hook_Function</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_hook.3x.html">field_term()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_37">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_572_13">Get_Field_Term_Hook</a></span> (<span class="symbol"><a name="ref_572_34">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_hook.3x.html">field_term()</A></em></span>
    <b>pragma</b> Import (C, Get_Field_Term_Hook, "field_term");
 
-   <span class="comment"><EM>--  #1A NAME="AFU_38"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_576_13">Get_Form_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_576_33" HREF="terminal_interface-curses-forms__ads.htm#ref_576_13">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_538_9">Form_Hook_Function</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_hook.3x.html">form_init()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_38">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_577_13">Get_Form_Init_Hook</a></span> (<span class="symbol"><a name="ref_577_33">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_hook.3x.html">form_init()</A></em></span>
    <b>pragma</b> Import (C, Get_Form_Init_Hook, "form_init");
 
-   <span class="comment"><EM>--  #1A NAME="AFU_39"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_581_13">Get_Form_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_581_33" HREF="terminal_interface-curses-forms__ads.htm#ref_581_13">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_538_9">Form_Hook_Function</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_hook.3x.html">form_term()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_39">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_582_13">Get_Form_Term_Hook</a></span> (<span class="symbol"><a name="ref_582_33">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_hook.3x.html">form_term()</A></em></span>
    <b>pragma</b> Import (C, Get_Form_Term_Hook, "form_term");
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/form_field.3x.html">form_field.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/form_field.3x.html">form_field.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_40"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_590_14" HREF="terminal_interface-curses-forms__adb.htm#ref_640_14">Redefine</A></span> (<span class="symbol"><A NAME="ref_590_24" HREF="terminal_interface-curses-forms__adb.htm#ref_640_24">Frm</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                       <span class="symbol"><A NAME="ref_591_24" HREF="terminal_interface-curses-forms__adb.htm#ref_641_24">Flds</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_135_9">Field_Array_Access</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_field.3x.html">set_form_fields()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_590_14">Redefine</A>);
+   <span class="comment"><em>--  <A NAME="AFU_40">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_591_14" href="terminal_interface-curses-forms__adb.htm#ref_641_14">Redefine</a></span> (<span class="symbol"><a name="ref_591_24" href="terminal_interface-curses-forms__adb.htm#ref_641_24">Frm</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                       <span class="symbol"><a name="ref_592_24" href="terminal_interface-curses-forms__adb.htm#ref_642_24">Flds</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_136_9">Field_Array_Access</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_field.3x.html">set_form_fields()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_591_14">Redefine</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_41"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_596_14">Set_Fields</A></span> (<span class="symbol"><A NAME="ref_596_26">Frm</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                         <span class="symbol"><A NAME="ref_597_26">Flds</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_135_9">Field_Array_Access</A>) <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_590_14">Redefine</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_field.3x.html">set_form_fields()</A></EM></span>
-   <span class="comment"><EM>--  pragma Inline (Set_Fields);</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_41">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_597_14">Set_Fields</a></span> (<span class="symbol"><a name="ref_597_26">Frm</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                         <span class="symbol"><a name="ref_598_26">Flds</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_136_9">Field_Array_Access</a>) <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_591_14">Redefine</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_field.3x.html">set_form_fields()</A></em></span>
+   <span class="comment"><em>--  pragma Inline (Set_Fields);</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_42"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_602_13" HREF="terminal_interface-curses-forms__adb.htm#ref_658_13">Fields</A></span> (<span class="symbol"><A NAME="ref_602_21" HREF="terminal_interface-curses-forms__adb.htm#ref_658_21">Frm</A></span>   : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                    <span class="symbol"><A NAME="ref_603_21" HREF="terminal_interface-curses-forms__adb.htm#ref_659_21">Index</A></span> : Positive) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_field.3x.html">form_fields()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_602_13">Fields</A>);
+   <span class="comment"><em>--  <A NAME="AFU_42">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_603_13" href="terminal_interface-curses-forms__adb.htm#ref_659_13">Fields</a></span> (<span class="symbol"><a name="ref_603_21" href="terminal_interface-curses-forms__adb.htm#ref_659_21">Frm</a></span>   : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                    <span class="symbol"><a name="ref_604_21" href="terminal_interface-curses-forms__adb.htm#ref_660_21">Index</a></span> : Positive) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_field.3x.html">form_fields()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_603_13">Fields</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_43"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_608_13" HREF="terminal_interface-curses-forms__adb.htm#ref_678_13">Field_Count</A></span> (<span class="symbol"><A NAME="ref_608_26" HREF="terminal_interface-curses-forms__adb.htm#ref_678_26">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> Natural;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_field.3x.html">field_count()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_608_13">Field_Count</A>);
+   <span class="comment"><em>--  <A NAME="AFU_43">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_609_13" href="terminal_interface-curses-forms__adb.htm#ref_679_13">Field_Count</a></span> (<span class="symbol"><a name="ref_609_26" href="terminal_interface-curses-forms__adb.htm#ref_679_26">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> Natural;
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_field.3x.html">field_count()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_609_13">Field_Count</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_44"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_613_14" HREF="terminal_interface-curses-forms__adb.htm#ref_688_14">Move</A></span> (<span class="symbol"><A NAME="ref_613_20" HREF="terminal_interface-curses-forms__adb.htm#ref_688_20">Fld</A></span>    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                   <span class="symbol"><A NAME="ref_614_20" HREF="terminal_interface-curses-forms__adb.htm#ref_689_20">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-                   <span class="symbol"><A NAME="ref_615_20" HREF="terminal_interface-curses-forms__adb.htm#ref_690_20">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_field.3x.html">move_field()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_613_14">Move</A>);
+   <span class="comment"><em>--  <A NAME="AFU_44">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_614_14" href="terminal_interface-curses-forms__adb.htm#ref_689_14">Move</a></span> (<span class="symbol"><a name="ref_614_20" href="terminal_interface-curses-forms__adb.htm#ref_689_20">Fld</a></span>    : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                   <span class="symbol"><a name="ref_615_20" href="terminal_interface-curses-forms__adb.htm#ref_690_20">Line</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+                   <span class="symbol"><a name="ref_616_20" href="terminal_interface-curses-forms__adb.htm#ref_691_20">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_field.3x.html">move_field()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_614_14">Move</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/form_new.3x.html">form_new.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/form_new.3x.html">form_new.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_45"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_624_13" HREF="terminal_interface-curses-forms__adb.htm#ref_705_13">Create</A></span> (<span class="symbol"><A NAME="ref_624_21" HREF="terminal_interface-curses-forms__adb.htm#ref_705_21">Fields</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_135_9">Field_Array_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_new.3x.html">new_form()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_45">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_625_13" href="terminal_interface-curses-forms__adb.htm#ref_706_13">Create</a></span> (<span class="symbol"><a name="ref_625_21" href="terminal_interface-curses-forms__adb.htm#ref_706_21">Fields</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_136_9">Field_Array_Access</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_new.3x.html">new_form()</A></em></span>
    <b>pragma</b> Inline (Create);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_46"#2|</EM></span>
-   <b>function</b> New_Form (<span class="symbol"><A NAME="ref_629_23">Fields</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_135_9">Field_Array_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>
-     <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_624_13">Create</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_new.3x.html">new_form()</A></EM></span>
-   <span class="comment"><EM>--  pragma Inline (New_Form);</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_46">|</A></em></span>
+   <b>function</b> New_Form (<span class="symbol"><a name="ref_630_23">Fields</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_136_9">Field_Array_Access</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>
+     <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_625_13">Create</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_new.3x.html">new_form()</A></em></span>
+   <span class="comment"><em>--  pragma Inline (New_Form);</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_47"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_635_14" HREF="terminal_interface-curses-forms__adb.htm#ref_726_14">Delete</A></span> (<span class="symbol"><A NAME="ref_635_22" HREF="terminal_interface-curses-forms__adb.htm#ref_726_22">Frm</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_new.3x.html">free_form()</A></EM></span>
-   <span class="comment"><EM>--  Reset Frm to Null_Form</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_47">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_636_14" href="terminal_interface-curses-forms__adb.htm#ref_727_14">Delete</a></span> (<span class="symbol"><a name="ref_636_22" href="terminal_interface-curses-forms__adb.htm#ref_727_22">Frm</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_new.3x.html">free_form()</A></em></span>
+   <span class="comment"><em>--  Reset Frm to Null_Form</em></span>
    <b>pragma</b> Inline (Delete);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/form_opts.3x.html">form_opts.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/form_opts.3x.html">form_opts.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_48"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_645_14" HREF="terminal_interface-curses-forms__adb.htm#ref_742_14">Set_Options</A></span> (<span class="symbol"><A NAME="ref_645_27" HREF="terminal_interface-curses-forms__adb.htm#ref_742_27">Frm</A></span>     : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                          <span class="symbol"><A NAME="ref_646_27" HREF="terminal_interface-curses-forms__adb.htm#ref_743_27">Options</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_opts.3x.html">set_form_opts()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_48">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_646_14" href="terminal_interface-curses-forms__adb.htm#ref_743_14">Set_Options</a></span> (<span class="symbol"><a name="ref_646_27" href="terminal_interface-curses-forms__adb.htm#ref_743_27">Frm</a></span>     : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                          <span class="symbol"><a name="ref_647_27" href="terminal_interface-curses-forms__adb.htm#ref_744_27">Options</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_opts.3x.html">set_form_opts()</A></em></span>
    <b>pragma</b> Inline (Set_Options);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_49"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_651_14" HREF="terminal_interface-curses-forms__adb.htm#ref_755_14">Switch_Options</A></span> (<span class="symbol"><A NAME="ref_651_30" HREF="terminal_interface-curses-forms__adb.htm#ref_755_30">Frm</A></span>     : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                             <span class="symbol"><A NAME="ref_652_30" HREF="terminal_interface-curses-forms__adb.htm#ref_756_30">Options</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>;
-                             <span class="symbol"><A NAME="ref_653_30" HREF="terminal_interface-curses-forms__adb.htm#ref_757_30">On</A></span>      : Boolean := True);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_opts.3x.html">form_opts_on()</A></EM></span>
-   <span class="comment"><EM>--  AKA: form_opts_off()</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_49">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_652_14" href="terminal_interface-curses-forms__adb.htm#ref_756_14">Switch_Options</a></span> (<span class="symbol"><a name="ref_652_30" href="terminal_interface-curses-forms__adb.htm#ref_756_30">Frm</a></span>     : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                             <span class="symbol"><a name="ref_653_30" href="terminal_interface-curses-forms__adb.htm#ref_757_30">Options</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a>;
+                             <span class="symbol"><a name="ref_654_30" href="terminal_interface-curses-forms__adb.htm#ref_758_30">On</a></span>      : Boolean := True);
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_opts.3x.html">form_opts_on()</A></em></span>
+   <span class="comment"><em>--  AKA: form_opts_off()</em></span>
    <b>pragma</b> Inline (Switch_Options);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_50"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_659_14" HREF="terminal_interface-curses-forms__adb.htm#ref_776_14">Get_Options</A></span> (<span class="symbol"><A NAME="ref_659_27" HREF="terminal_interface-curses-forms__adb.htm#ref_776_27">Frm</A></span>     : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                          <span class="symbol"><A NAME="ref_660_27" HREF="terminal_interface-curses-forms__adb.htm#ref_777_27">Options</A></span> : <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_opts.3x.html">form_opts()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_50">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_660_14" href="terminal_interface-curses-forms__adb.htm#ref_777_14">Get_Options</a></span> (<span class="symbol"><a name="ref_660_27" href="terminal_interface-curses-forms__adb.htm#ref_777_27">Frm</a></span>     : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                          <span class="symbol"><a name="ref_661_27" href="terminal_interface-curses-forms__adb.htm#ref_778_27">Options</a></span> : <b>out</b> <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_opts.3x.html">form_opts()</A></em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_51"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_664_13" HREF="terminal_interface-curses-forms__adb.htm#ref_788_13">Get_Options</A></span> (<span class="symbol"><A NAME="ref_664_26" HREF="terminal_interface-curses-forms__adb.htm#ref_788_26">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_opts.3x.html">form_opts()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_51">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_665_13" href="terminal_interface-curses-forms__adb.htm#ref_789_13">Get_Options</a></span> (<span class="symbol"><a name="ref_665_26" href="terminal_interface-curses-forms__adb.htm#ref_789_26">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_56_4">Null_Form</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_opts.3x.html">form_opts()</A></em></span>
    <b>pragma</b> Inline (Get_Options);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/form_post.3x.html">form_post.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/form_post.3x.html">form_post.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_52"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_673_14" HREF="terminal_interface-curses-forms__adb.htm#ref_802_14">Post</A></span> (<span class="symbol"><A NAME="ref_673_20" HREF="terminal_interface-curses-forms__adb.htm#ref_802_20">Frm</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                   <span class="symbol"><A NAME="ref_674_20" HREF="terminal_interface-curses-forms__adb.htm#ref_803_20">Post</A></span> : Boolean := True);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_post.3x.html">post_form()</A></EM></span>
-   <span class="comment"><EM>--  AKA: unpost_form()</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_673_14">Post</A>);
+   <span class="comment"><em>--  <A NAME="AFU_52">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_674_14" href="terminal_interface-curses-forms__adb.htm#ref_803_14">Post</a></span> (<span class="symbol"><a name="ref_674_20" href="terminal_interface-curses-forms__adb.htm#ref_803_20">Frm</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                   <span class="symbol"><a name="ref_675_20" href="terminal_interface-curses-forms__adb.htm#ref_804_20">Post</a></span> : Boolean := True);
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_post.3x.html">post_form()</A></em></span>
+   <span class="comment"><em>--  AKA: unpost_form()</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_674_14">Post</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/form_cursor.3x.html">form_cursor.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/form_cursor.3x.html">form_cursor.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_53"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_684_14" HREF="terminal_interface-curses-forms__adb.htm#ref_824_14">Position_Cursor</A></span> (<span class="symbol"><A NAME="ref_684_31" HREF="terminal_interface-curses-forms__adb.htm#ref_824_31">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_cursor.3x.html">pos_form_cursor()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_684_14">Position_Cursor</A>);
+   <span class="comment"><em>--  <A NAME="AFU_53">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_685_14" href="terminal_interface-curses-forms__adb.htm#ref_825_14">Position_Cursor</a></span> (<span class="symbol"><a name="ref_685_31" href="terminal_interface-curses-forms__adb.htm#ref_825_31">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_cursor.3x.html">pos_form_cursor()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_685_14">Position_Cursor</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/form_data.3x.html">form_data.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/form_data.3x.html">form_data.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_54"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_693_13" HREF="terminal_interface-curses-forms__adb.htm#ref_839_13">Data_Ahead</A></span> (<span class="symbol"><A NAME="ref_693_25" HREF="terminal_interface-curses-forms__adb.htm#ref_839_25">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> Boolean;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_data.3x.html">data_ahead()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_693_13">Data_Ahead</A>);
+   <span class="comment"><em>--  <A NAME="AFU_54">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_694_13" href="terminal_interface-curses-forms__adb.htm#ref_840_13">Data_Ahead</a></span> (<span class="symbol"><a name="ref_694_25" href="terminal_interface-curses-forms__adb.htm#ref_840_25">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> Boolean;
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_data.3x.html">data_ahead()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_694_13">Data_Ahead</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_55"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_698_13" HREF="terminal_interface-curses-forms__adb.htm#ref_855_13">Data_Behind</A></span> (<span class="symbol"><A NAME="ref_698_26" HREF="terminal_interface-curses-forms__adb.htm#ref_855_26">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> Boolean;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_data.3x.html">data_behind()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_698_13">Data_Behind</A>);
+   <span class="comment"><em>--  <A NAME="AFU_55">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_699_13" href="terminal_interface-curses-forms__adb.htm#ref_856_13">Data_Behind</a></span> (<span class="symbol"><a name="ref_699_26" href="terminal_interface-curses-forms__adb.htm#ref_856_26">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> Boolean;
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_data.3x.html">data_behind()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_699_13">Data_Behind</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/form_driver.3x.html">form_driver.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/form_driver.3x.html">form_driver.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <b>type</b> <span class="symbol"><A NAME="ref_706_9">Driver_Result</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_706_27">Form_Ok</A></span>,
-                          <span class="symbol"><A NAME="ref_707_27">Request_Denied</A></span>,
-                          <span class="symbol"><A NAME="ref_708_27">Unknown_Request</A></span>,
-                          <span class="symbol"><A NAME="ref_709_27">Invalid_Field</A></span>);
+   <b>type</b> <span class="symbol"><a name="ref_707_9">Driver_Result</a></span> <b>is</b> (<span class="symbol"><a name="ref_707_27">Form_Ok</a></span>,
+                          <span class="symbol"><a name="ref_708_27">Request_Denied</a></span>,
+                          <span class="symbol"><a name="ref_709_27">Unknown_Request</a></span>,
+                          <span class="symbol"><a name="ref_710_27">Invalid_Field</a></span>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_56"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_712_13" HREF="terminal_interface-curses-forms__adb.htm#ref_875_13">Driver</A></span> (<span class="symbol"><A NAME="ref_712_21" HREF="terminal_interface-curses-forms__adb.htm#ref_875_21">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                    <span class="symbol"><A NAME="ref_713_21" HREF="terminal_interface-curses-forms__adb.htm#ref_876_21">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_66_9">Key_Code</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_706_9">Driver_Result</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_driver.3x.html">form_driver()</A></EM></span>
-   <span class="comment"><EM>--  Driver not inlined</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_56">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_713_13" href="terminal_interface-curses-forms__adb.htm#ref_876_13">Driver</a></span> (<span class="symbol"><a name="ref_713_21" href="terminal_interface-curses-forms__adb.htm#ref_876_21">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                    <span class="symbol"><a name="ref_714_21" href="terminal_interface-curses-forms__adb.htm#ref_877_21">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_67_9">Key_Code</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_707_9">Driver_Result</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_driver.3x.html">form_driver()</A></em></span>
+   <span class="comment"><em>--  Driver not inlined</em></span>
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/form_page.3x.html">form_page.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/form_page.3x.html">form_page.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <b>type</b> <span class="symbol"><A NAME="ref_721_9">Page_Number</A></span> <b>is</b> <b>new</b> Natural;
+   <b>type</b> <span class="symbol"><a name="ref_722_9">Page_Number</a></span> <b>is</b> <b>new</b> Natural;
 
-   <span class="comment"><EM>--  #1A NAME="AFU_57"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_724_14" HREF="terminal_interface-curses-forms__adb.htm#ref_902_14">Set_Current</A></span> (<span class="symbol"><A NAME="ref_724_27" HREF="terminal_interface-curses-forms__adb.htm#ref_902_27">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                          <span class="symbol"><A NAME="ref_725_27" HREF="terminal_interface-curses-forms__adb.htm#ref_903_27">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_page.3x.html">set_current_field()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_724_14">Set_Current</A>);
+   <span class="comment"><em>--  <A NAME="AFU_57">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_725_14" href="terminal_interface-curses-forms__adb.htm#ref_903_14">Set_Current</a></span> (<span class="symbol"><a name="ref_725_27" href="terminal_interface-curses-forms__adb.htm#ref_903_27">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                          <span class="symbol"><a name="ref_726_27" href="terminal_interface-curses-forms__adb.htm#ref_904_27">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_page.3x.html">set_current_field()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_725_14">Set_Current</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_58"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_730_13" HREF="terminal_interface-curses-forms__adb.htm#ref_914_13">Current</A></span> (<span class="symbol"><A NAME="ref_730_22" HREF="terminal_interface-curses-forms__adb.htm#ref_914_22">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_page.3x.html">current_field()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_730_13">Current</A>);
+   <span class="comment"><em>--  <A NAME="AFU_58">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_731_13" href="terminal_interface-curses-forms__adb.htm#ref_915_13">Current</a></span> (<span class="symbol"><a name="ref_731_22" href="terminal_interface-curses-forms__adb.htm#ref_915_22">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_page.3x.html">current_field()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_731_13">Current</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_59"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_735_14" HREF="terminal_interface-curses-forms__adb.htm#ref_929_14">Set_Page</A></span> (<span class="symbol"><A NAME="ref_735_24" HREF="terminal_interface-curses-forms__adb.htm#ref_929_24">Frm</A></span>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
-                       <span class="symbol"><A NAME="ref_736_24" HREF="terminal_interface-curses-forms__adb.htm#ref_930_24">Page</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_721_9">Page_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_721_9">Page_Number</A>'First);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_page.3x.html">set_form_page()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_735_14">Set_Page</A>);
+   <span class="comment"><em>--  <A NAME="AFU_59">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_736_14" href="terminal_interface-curses-forms__adb.htm#ref_930_14">Set_Page</a></span> (<span class="symbol"><a name="ref_736_24" href="terminal_interface-curses-forms__adb.htm#ref_930_24">Frm</a></span>  : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>;
+                       <span class="symbol"><a name="ref_737_24" href="terminal_interface-curses-forms__adb.htm#ref_931_24">Page</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_722_9">Page_Number</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_722_9">Page_Number</a>'First);
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_page.3x.html">set_form_page()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_736_14">Set_Page</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_60"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_741_13" HREF="terminal_interface-curses-forms__adb.htm#ref_941_13">Page</A></span> (<span class="symbol"><A NAME="ref_741_19" HREF="terminal_interface-curses-forms__adb.htm#ref_941_19">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_721_9">Page_Number</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_page.3x.html">form_page()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_741_13">Page</A>);
+   <span class="comment"><em>--  <A NAME="AFU_60">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_742_13" href="terminal_interface-curses-forms__adb.htm#ref_942_13">Page</a></span> (<span class="symbol"><a name="ref_742_19" href="terminal_interface-curses-forms__adb.htm#ref_942_19">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_722_9">Page_Number</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_page.3x.html">form_page()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_742_13">Page</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_61"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_746_13" HREF="terminal_interface-curses-forms__adb.htm#ref_955_13">Get_Index</A></span> (<span class="symbol"><A NAME="ref_746_24" HREF="terminal_interface-curses-forms__adb.htm#ref_955_24">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> Positive;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_page.3x.html">field_index()</A></EM></span>
-   <span class="comment"><EM>--  Please note that in this binding we start the numbering of fields</EM></span>
-   <span class="comment"><EM>--  with 1. So this is number is one more than you get from the low</EM></span>
-   <span class="comment"><EM>--  level call.</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_746_13">Get_Index</A>);
+   <span class="comment"><em>--  <A NAME="AFU_61">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_747_13" href="terminal_interface-curses-forms__adb.htm#ref_956_13">Get_Index</a></span> (<span class="symbol"><a name="ref_747_24" href="terminal_interface-curses-forms__adb.htm#ref_956_24">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> Positive;
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_page.3x.html">field_index()</A></em></span>
+   <span class="comment"><em>--  Please note that in this binding we start the numbering of fields</em></span>
+   <span class="comment"><em>--  with 1. So this is number is one more than you get from the low</em></span>
+   <span class="comment"><em>--  level call.</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_747_13">Get_Index</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/form_new_page.3x.html">form_new_page.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/form_new_page.3x.html">form_new_page.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_62"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_758_14" HREF="terminal_interface-curses-forms__adb.htm#ref_975_14">Set_New_Page</A></span> (<span class="symbol"><A NAME="ref_758_28" HREF="terminal_interface-curses-forms__adb.htm#ref_975_28">Fld</A></span>      : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
-                           <span class="symbol"><A NAME="ref_759_28" HREF="terminal_interface-curses-forms__adb.htm#ref_976_28">New_Page</A></span> : Boolean := True);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_new_page.3x.html">set_new_page()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_758_14">Set_New_Page</A>);
+   <span class="comment"><em>--  <A NAME="AFU_62">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_759_14" href="terminal_interface-curses-forms__adb.htm#ref_976_14">Set_New_Page</a></span> (<span class="symbol"><a name="ref_759_28" href="terminal_interface-curses-forms__adb.htm#ref_976_28">Fld</a></span>      : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>;
+                           <span class="symbol"><a name="ref_760_28" href="terminal_interface-curses-forms__adb.htm#ref_977_28">New_Page</a></span> : Boolean := True);
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_new_page.3x.html">set_new_page()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_759_14">Set_New_Page</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_63"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_764_13" HREF="terminal_interface-curses-forms__adb.htm#ref_987_13">Is_New_Page</A></span> (<span class="symbol"><A NAME="ref_764_26" HREF="terminal_interface-curses-forms__adb.htm#ref_987_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> Boolean;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/form_new_page.3x.html">new_page()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_764_13">Is_New_Page</A>);
+   <span class="comment"><em>--  <A NAME="AFU_63">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_765_13" href="terminal_interface-curses-forms__adb.htm#ref_988_13">Is_New_Page</a></span> (<span class="symbol"><a name="ref_765_26" href="terminal_interface-curses-forms__adb.htm#ref_988_26">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> Boolean;
+   <span class="comment"><em>--  AKA: <A HREF="../man/form_new_page.3x.html">new_page()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_765_13">Is_New_Page</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/form_requestname.3x.html">form_requestname.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  Not Implemented: form_request_name, form_request_by_name</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/form_requestname.3x.html">form_requestname.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  Not Implemented: form_request_name, form_request_by_name</em></span>
 
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
 <b>private</b>
-   <b>type</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A> <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address;
-   <b>type</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>  <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address;
+   <b>type</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address;
+   <b>type</b> <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>  <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address;
 
-   <A HREF="terminal_interface-curses-forms__ads.htm#ref_54_4">Null_Field</A> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A> := 0;
-   <A HREF="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Form</A>  : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>  := 0;
+   <a href="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</a> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> := 0;
+   <a href="terminal_interface-curses-forms__ads.htm#ref_56_4">Null_Form</a>  : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>  := 0;
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-menus-item_user_data__adb.htm b/doc/html/ada/terminal_interface-curses-menus-item_user_data__adb.htm
index f980ea5..558bbf6 100644
--- a/doc/html/ada/terminal_interface-curses-menus-item_user_data__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-menus-item_user_data__adb.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-menus-item_user_data.adb</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-menus-item_user_data.adb</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,82 +11,80 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-menus-item_user_data.adb </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--               Terminal_Interface.Curses.Menus.Item_User_Data             --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 B O D Y                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2009,2014 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.14 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C;
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-menus-item_user_data.adb </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--               Terminal_Interface.Curses.Menus.Item_User_Data             --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 B O D Y                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2018,2020 Thomas E. Dickey                                     --</em></span>
+<span class="comment"><em>-- Copyright 1999-2009,2014 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.16 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; <b>use</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>;
 
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_45_35">Menus</A>.<span class="symbol"><A NAME="ref_44_46" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_46_41">Item_User_Data</A></span> <b>is</b>
+<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</a>.<span class="symbol"><a name="ref_44_46" href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_47_41">Item_User_Data</a></span> <b>is</b>
 
-   <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.int;
-
-   <b>procedure</b> <span class="symbol"><A NAME="ref_48_14" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_58_14">Set_User_Data</A></span> (<span class="symbol"><A NAME="ref_48_29" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_58_29">Itm</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
-                            <span class="symbol"><A NAME="ref_49_29" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_59_29">Data</A></span> : <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_45_9">User_Access</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_46_14" href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_59_14">Set_User_Data</a></span> (<span class="symbol"><a name="ref_46_29" href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_59_29">Itm</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
+                            <span class="symbol"><a name="ref_47_29" href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_60_29">Data</a></span> : <a href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_46_9">User_Access</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_51_16">Set_Item_Userptr</A></span> (<span class="symbol"><A NAME="ref_51_34" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_51_16">Itm</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
-                                 <span class="symbol"><A NAME="ref_52_34" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_51_16">Addr</A></span> : <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_45_9">User_Access</A>)  <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_49_16">Set_Item_Userptr</a></span> (<span class="symbol"><a name="ref_49_34">Itm</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
+                                 <span class="symbol"><a name="ref_50_34">Addr</a></span> : <a href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_46_9">User_Access</a>)  <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Item_Userptr, "set_item_userptr");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_51_16">Set_Item_Userptr</A> (<A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_58_29">Itm</A>, <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_59_29">Data</A>));
-   <b>end</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_58_14">Set_User_Data</A>;
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus-item_user_data__adb.htm#ref_49_16">Set_Item_Userptr</a> (<a href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_59_29">Itm</a>, <a href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_60_29">Data</a>));
+   <b>end</b> <a href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_59_14">Set_User_Data</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_59_13" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_69_13">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_59_28" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_69_28">Itm</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_45_9">User_Access</A>
+   <b>function</b> <span class="symbol"><a name="ref_57_13" href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_70_13">Get_User_Data</a></span> (<span class="symbol"><a name="ref_57_28" href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_70_28">Itm</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> <a href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_46_9">User_Access</a>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_61_16">Item_Userptr</A></span> (<span class="symbol"><A NAME="ref_61_30" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_61_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_45_9">User_Access</A>;
+      <b>function</b> <span class="symbol"><a name="ref_59_16">Item_Userptr</a></span> (<span class="symbol"><a name="ref_59_30">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> <a href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_46_9">User_Access</a>;
       <b>pragma</b> Import (C, Item_Userptr, "item_userptr");
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_61_16">Item_Userptr</A> (<A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_69_28">Itm</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_69_13">Get_User_Data</A>;
+      <b>return</b> <a href="terminal_interface-curses-menus-item_user_data__adb.htm#ref_59_16">Item_Userptr</a> (<a href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_70_28">Itm</a>);
+   <b>end</b> <a href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_70_13">Get_User_Data</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_67_14" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_64_14">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_67_29" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_64_29">Itm</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
-                            <span class="symbol"><A NAME="ref_68_29" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_65_29">Data</A></span> : <b>out</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_45_9">User_Access</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_65_14" href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_65_14">Get_User_Data</a></span> (<span class="symbol"><a name="ref_65_29" href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_65_29">Itm</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
+                            <span class="symbol"><a name="ref_66_29" href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_66_29">Data</a></span> : <b>out</b> <a href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_46_9">User_Access</a>)
    <b>is</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_65_29">Data</A> := <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_69_13">Get_User_Data</A> (<A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_64_29">Itm</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_64_14">Get_User_Data</A>;
+      <a href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_66_29">Data</a> := <a href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_70_13">Get_User_Data</a> (<a href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_65_29">Itm</a>);
+   <b>end</b> <a href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_65_14">Get_User_Data</a>;
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_45_35">Menus</A>.<A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_46_41">Item_User_Data</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</a>.<a href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_47_41">Item_User_Data</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-menus-item_user_data__ads.htm b/doc/html/ada/terminal_interface-curses-menus-item_user_data__ads.htm
index 31f1694..44911be 100644
--- a/doc/html/ada/terminal_interface-curses-menus-item_user_data__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-menus-item_user_data__ads.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-menus-item_user_data.ads</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-menus-item_user_data.ads</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,82 +11,83 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-menus-item_user_data.ads </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--               Terminal_Interface.Curses.Menus.Item_User_Data             --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 S P E C                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2006,2009 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.17 @</EM></span>
-<span class="comment"><EM>--  @Date: 2009/12/26 17:31:35 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-menus-item_user_data.ads </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--               Terminal_Interface.Curses.Menus.Item_User_Data             --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 S P E C                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1998-2006,2009 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.18 @</em></span>
+<span class="comment"><em>--  @Date: 2020/02/02 23:34:34 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
 
 <b>generic</b>
-   <b>type</b> <span class="symbol"><A NAME="ref_44_9" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_46_41">User</A></span> <b>is</b> <b>limited</b> <b>private</b>;
-   <b>type</b> <span class="symbol"><A NAME="ref_45_9" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_46_41">User_Access</A></span> <b>is</b> <b>access</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_44_9">User</A>;
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_45_35">Menus</A>.<span class="symbol"><A NAME="ref_46_41" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_44_46">Item_User_Data</A></span> <b>is</b>
-   <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_45_35">Menus</A>.<A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_46_41">Item_User_Data</A>);
+   <b>type</b> <span class="symbol"><a name="ref_45_9">User</a></span> <b>is</b> <b>limited</b> <b>private</b>;
+   <b>type</b> <span class="symbol"><a name="ref_46_9">User_Access</a></span> <b>is</b> <b>access</b> <a href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_45_9">User</a>;
+<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</a>.<span class="symbol"><a name="ref_47_41" href="terminal_interface-curses-menus-item_user_data__adb.htm#ref_44_46">Item_User_Data</a></span> <b>is</b>
+   <b>pragma</b> Preelaborate (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</a>.<a href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_47_41">Item_User_Data</a>);
 
-   <span class="comment"><EM>--  The binding uses the same user pointer for menu items</EM></span>
-   <span class="comment"><EM>--  as the low level C implementation. So you can safely</EM></span>
-   <span class="comment"><EM>--  read or write the user pointer also with the C routines</EM></span>
-   <span class="comment"><EM>--</EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/mitem_userptr.3x.html">mitem_userptr.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  The binding uses the same user pointer for menu items</em></span>
+   <span class="comment"><em>--  as the low level C implementation. So you can safely</em></span>
+   <span class="comment"><em>--  read or write the user pointer also with the C routines</em></span>
+   <span class="comment"><em>--</em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/mitem_userptr.3x.html">mitem_userptr.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_1"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_58_14" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_48_14">Set_User_Data</A></span> (<span class="symbol"><A NAME="ref_58_29" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_48_29">Itm</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
-                            <span class="symbol"><A NAME="ref_59_29" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_49_29">Data</A></span> : <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_45_9">User_Access</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/mitem_userptr.3x.html">set_item_userptr</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_58_14">Set_User_Data</A>);
+   <span class="comment"><em>--  <A NAME="AFU_1">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_59_14" href="terminal_interface-curses-menus-item_user_data__adb.htm#ref_46_14">Set_User_Data</a></span> (<span class="symbol"><a name="ref_59_29" href="terminal_interface-curses-menus-item_user_data__adb.htm#ref_46_29">Itm</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
+                            <span class="symbol"><a name="ref_60_29" href="terminal_interface-curses-menus-item_user_data__adb.htm#ref_47_29">Data</a></span> : <a href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_46_9">User_Access</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_userptr.3x.html">set_item_userptr</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_59_14">Set_User_Data</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_2"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_64_14" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_67_14">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_64_29" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_67_29">Itm</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
-                            <span class="symbol"><A NAME="ref_65_29" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_68_29">Data</A></span> : <b>out</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_45_9">User_Access</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/mitem_userptr.3x.html">item_userptr</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_2">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_65_14" href="terminal_interface-curses-menus-item_user_data__adb.htm#ref_65_14">Get_User_Data</a></span> (<span class="symbol"><a name="ref_65_29" href="terminal_interface-curses-menus-item_user_data__adb.htm#ref_65_29">Itm</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
+                            <span class="symbol"><a name="ref_66_29" href="terminal_interface-curses-menus-item_user_data__adb.htm#ref_66_29">Data</a></span> : <b>out</b> <a href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_46_9">User_Access</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_userptr.3x.html">item_userptr</A></em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_3"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_69_13" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_59_13">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_69_28" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_59_28">Itm</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_45_9">User_Access</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/mitem_userptr.3x.html">item_userptr</A></EM></span>
-   <span class="comment"><EM>--  Same as function</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_3">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_70_13" href="terminal_interface-curses-menus-item_user_data__adb.htm#ref_57_13">Get_User_Data</a></span> (<span class="symbol"><a name="ref_70_28" href="terminal_interface-curses-menus-item_user_data__adb.htm#ref_57_28">Itm</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> <a href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_46_9">User_Access</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_userptr.3x.html">item_userptr</A></em></span>
+   <span class="comment"><em>--  Same as function</em></span>
    <b>pragma</b> Inline (Get_User_Data);
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_45_35">Menus</A>.<A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_46_41">Item_User_Data</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</a>.<a href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_47_41">Item_User_Data</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-menus-menu_user_data__adb.htm b/doc/html/ada/terminal_interface-curses-menus-menu_user_data__adb.htm
index ebb4a81..12c9ecc 100644
--- a/doc/html/ada/terminal_interface-curses-menus-menu_user_data__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-menus-menu_user_data__adb.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-menus-menu_user_data.adb</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-menus-menu_user_data.adb</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,82 +11,81 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-menus-menu_user_data.adb </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--               Terminal_Interface.Curses.Menus.Menu_User_Data             --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 B O D Y                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2009,2014 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.15 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-menus-menu_user_data.adb </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--               Terminal_Interface.Curses.Menus.Menu_User_Data             --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 B O D Y                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2018,2020 Thomas E. Dickey                                     --</em></span>
+<span class="comment"><em>-- Copyright 1999-2009,2014 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.17 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; <b>use</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>;
 
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_45_35">Menus</A>.<span class="symbol"><A NAME="ref_43_46" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_45_41">Menu_User_Data</A></span> <b>is</b>
+<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</a>.<span class="symbol"><a name="ref_44_46" href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_46_41">Menu_User_Data</a></span> <b>is</b>
 
-   <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.int;
-
-   <b>procedure</b> <span class="symbol"><A NAME="ref_47_14" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_53_14">Set_User_Data</A></span> (<span class="symbol"><A NAME="ref_47_29" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_53_29">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                            <span class="symbol"><A NAME="ref_48_29" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_54_29">Data</A></span> : <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_44_9">User_Access</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_46_14" href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_54_14">Set_User_Data</a></span> (<span class="symbol"><a name="ref_46_29" href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_54_29">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                            <span class="symbol"><a name="ref_47_29" href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_55_29">Data</a></span> : <a href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_45_9">User_Access</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_50_16">Set_Menu_Userptr</A></span> (<span class="symbol"><A NAME="ref_50_34" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_50_16">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                                 <span class="symbol"><A NAME="ref_51_34" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_50_16">Data</A></span> : <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_44_9">User_Access</A>)  <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_49_16">Set_Menu_Userptr</a></span> (<span class="symbol"><a name="ref_49_34">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                                 <span class="symbol"><a name="ref_50_34">Data</a></span> : <a href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_45_9">User_Access</a>)  <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Menu_Userptr, "set_menu_userptr");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_50_16">Set_Menu_Userptr</A> (<A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_53_29">Men</A>, <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_54_29">Data</A>));
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_49_16">Set_Menu_Userptr</a> (<a href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_54_29">Men</a>, <a href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_55_29">Data</a>));
 
-   <b>end</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_53_14">Set_User_Data</A>;
+   <b>end</b> <a href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_54_14">Set_User_Data</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_59_13" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_64_13">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_59_28" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_64_28">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_44_9">User_Access</A>
+   <b>function</b> <span class="symbol"><a name="ref_58_13" href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_65_13">Get_User_Data</a></span> (<span class="symbol"><a name="ref_58_28" href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_65_28">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_45_9">User_Access</a>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_61_16">Menu_Userptr</A></span> (<span class="symbol"><A NAME="ref_61_30" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_61_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_44_9">User_Access</A>;
+      <b>function</b> <span class="symbol"><a name="ref_60_16">Menu_Userptr</a></span> (<span class="symbol"><a name="ref_60_30">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_45_9">User_Access</a>;
       <b>pragma</b> Import (C, Menu_Userptr, "menu_userptr");
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_61_16">Menu_Userptr</A> (<A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_64_28">Men</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_64_13">Get_User_Data</A>;
+      <b>return</b> <a href="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_60_16">Menu_Userptr</a> (<a href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_65_28">Men</a>);
+   <b>end</b> <a href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_65_13">Get_User_Data</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_67_14" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_59_14">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_67_29" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_59_29">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                            <span class="symbol"><A NAME="ref_68_29" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_60_29">Data</A></span> : <b>out</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_44_9">User_Access</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_66_14" href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_60_14">Get_User_Data</a></span> (<span class="symbol"><a name="ref_66_29" href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_60_29">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                            <span class="symbol"><a name="ref_67_29" href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_61_29">Data</a></span> : <b>out</b> <a href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_45_9">User_Access</a>)
    <b>is</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_60_29">Data</A> := <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_64_13">Get_User_Data</A> (<A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_59_29">Men</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_59_14">Get_User_Data</A>;
+      <a href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_61_29">Data</a> := <a href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_65_13">Get_User_Data</a> (<a href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_60_29">Men</a>);
+   <b>end</b> <a href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_60_14">Get_User_Data</a>;
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_45_35">Menus</A>.<A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_45_41">Menu_User_Data</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</a>.<a href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_46_41">Menu_User_Data</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-menus-menu_user_data__ads.htm b/doc/html/ada/terminal_interface-curses-menus-menu_user_data__ads.htm
index 7d03aee..aa398ef 100644
--- a/doc/html/ada/terminal_interface-curses-menus-menu_user_data__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-menus-menu_user_data__ads.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-menus-menu_user_data.ads</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-menus-menu_user_data.ads</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,77 +11,78 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-menus-menu_user_data.ads </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--               Terminal_Interface.Curses.Menus.Menu_User_Data             --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 S P E C                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2003,2009 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.15 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-menus-menu_user_data.ads </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--               Terminal_Interface.Curses.Menus.Menu_User_Data             --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 S P E C                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1998-2003,2009 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.16 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
 
 <b>generic</b>
-   <b>type</b> <span class="symbol"><A NAME="ref_43_9" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_45_41">User</A></span> <b>is</b> <b>limited</b> <b>private</b>;
-   <b>type</b> <span class="symbol"><A NAME="ref_44_9" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_45_41">User_Access</A></span> <b>is</b> <b>access</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_43_9">User</A>;
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_45_35">Menus</A>.<span class="symbol"><A NAME="ref_45_41" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_43_46">Menu_User_Data</A></span> <b>is</b>
-   <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_45_35">Menus</A>.<A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_45_41">Menu_User_Data</A>);
+   <b>type</b> <span class="symbol"><a name="ref_44_9">User</a></span> <b>is</b> <b>limited</b> <b>private</b>;
+   <b>type</b> <span class="symbol"><a name="ref_45_9">User_Access</a></span> <b>is</b> <b>access</b> <a href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_44_9">User</a>;
+<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</a>.<span class="symbol"><a name="ref_46_41" href="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_44_46">Menu_User_Data</a></span> <b>is</b>
+   <b>pragma</b> Preelaborate (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</a>.<a href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_46_41">Menu_User_Data</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/menu_userptr.3x.html">menu_userptr.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/menu_userptr.3x.html">menu_userptr.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_1"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_53_14" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_47_14">Set_User_Data</A></span> (<span class="symbol"><A NAME="ref_53_29" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_47_29">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                            <span class="symbol"><A NAME="ref_54_29" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_48_29">Data</A></span> : <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_44_9">User_Access</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_userptr.3x.html">set_menu_userptr</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_53_14">Set_User_Data</A>);
+   <span class="comment"><em>--  <A NAME="AFU_1">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_54_14" href="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_46_14">Set_User_Data</a></span> (<span class="symbol"><a name="ref_54_29" href="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_46_29">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                            <span class="symbol"><a name="ref_55_29" href="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_47_29">Data</a></span> : <a href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_45_9">User_Access</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_userptr.3x.html">set_menu_userptr</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_54_14">Set_User_Data</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_2"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_59_14" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_67_14">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_59_29" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_67_29">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                            <span class="symbol"><A NAME="ref_60_29" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_68_29">Data</A></span> : <b>out</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_44_9">User_Access</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_userptr.3x.html">menu_userptr</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_2">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_60_14" href="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_66_14">Get_User_Data</a></span> (<span class="symbol"><a name="ref_60_29" href="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_66_29">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                            <span class="symbol"><a name="ref_61_29" href="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_67_29">Data</a></span> : <b>out</b> <a href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_45_9">User_Access</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_userptr.3x.html">menu_userptr</A></em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_3"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_64_13" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_59_13">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_64_28" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_59_28">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_44_9">User_Access</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_userptr.3x.html">menu_userptr</A></EM></span>
-   <span class="comment"><EM>--  Same as function</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_3">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_65_13" href="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_58_13">Get_User_Data</a></span> (<span class="symbol"><a name="ref_65_28" href="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_58_28">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_45_9">User_Access</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_userptr.3x.html">menu_userptr</A></em></span>
+   <span class="comment"><em>--  Same as function</em></span>
    <b>pragma</b> Inline (Get_User_Data);
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_45_35">Menus</A>.<A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_45_41">Menu_User_Data</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</a>.<a href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_46_41">Menu_User_Data</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-menus__adb.htm b/doc/html/ada/terminal_interface-curses-menus__adb.htm
index 820bdb0..5602733 100644
--- a/doc/html/ada/terminal_interface-curses-menus__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-menus__adb.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-menus.adb</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-menus.adb</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,912 +11,912 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-menus.adb </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                      Terminal_Interface.Curses.Menus                     --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 B O D Y                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2011,2014 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.32 @</EM></span>
-<span class="comment"><EM>--  @Date: 2014/05/24 21:31:05 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-menus.adb </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                      Terminal_Interface.Curses.Menus                     --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 B O D Y                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2018,2020 Thomas E. Dickey                                     --</em></span>
+<span class="comment"><em>-- Copyright 1999-2011,2014 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.34 @</em></span>
+<span class="comment"><em>--  @Date: 2020/02/02 23:34:34 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
 <b>with</b> Ada.Unchecked_Deallocation;
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
+<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; <b>use</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>;
 
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C; <b>use</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C;
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings; <b>use</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings;
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Pointers;
+<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C; <b>use</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C;
+<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings; <b>use</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings;
+<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Pointers;
 
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<span class="symbol"><A NAME="ref_49_40" HREF="terminal_interface-curses-menus__ads.htm#ref_45_35">Menus</A></span> <b>is</b>
+<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<span class="symbol"><a name="ref_50_40" href="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</a></span> <b>is</b>
 
-   <b>type</b> C_Item_Array <b>is</b> <b>array</b> (Natural <b>range</b> &lt;&gt;) <b>of</b> <b>aliased</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
+   <b>type</b> C_Item_Array <b>is</b> <b>array</b> (Natural <b>range</b> &lt;&gt;) <b>of</b> <b>aliased</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
    <b>package</b> I_Array <b>is</b> <b>new</b>
-     <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Pointers (Natural, <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>, C_Item_Array, <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_4">Null_Item</A>);
+     <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Pointers (Natural, <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>, C_Item_Array, <a href="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</a>);
 
-   <b>use</b> <b>type</b> System.Bit_Order;
-   <b>subtype</b> <span class="symbol"><A NAME="ref_56_12">chars_ptr</A></span> <b>is</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings.chars_ptr;
+   <b>subtype</b> <span class="symbol"><a name="ref_56_12">chars_ptr</a></span> <b>is</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings.chars_ptr;
 
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_59_14" HREF="terminal_interface-curses-menus__ads.htm#ref_101_14">Request_Name</A></span> (<span class="symbol"><A NAME="ref_59_28" HREF="terminal_interface-curses-menus__ads.htm#ref_101_28">Key</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A>;
-                           <span class="symbol"><A NAME="ref_60_28" HREF="terminal_interface-curses-menus__ads.htm#ref_102_28">Name</A></span> : <b>out</b> String)
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_59_14" href="terminal_interface-curses-menus__ads.htm#ref_102_14">Request_Name</a></span> (<span class="symbol"><a name="ref_59_28" href="terminal_interface-curses-menus__ads.htm#ref_102_28">Key</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a>;
+                           <span class="symbol"><a name="ref_60_28" href="terminal_interface-curses-menus__ads.htm#ref_103_28">Name</a></span> : <b>out</b> String)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_62_16">Request_Name</A></span> (<span class="symbol"><A NAME="ref_62_30" HREF="terminal_interface-curses-menus__adb.htm#ref_62_16">Key</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</A>;
+      <b>function</b> <span class="symbol"><a name="ref_62_16">Request_Name</a></span> (<span class="symbol"><a name="ref_62_30">Key</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</a>;
       <b>pragma</b> Import (C, Request_Name, "menu_request_name");
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_92_14">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_62_16">Request_Name</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_101_28">Key</A>)), <A HREF="terminal_interface-curses-menus__ads.htm#ref_102_28">Name</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_101_14">Request_Name</A>;
+      <a href="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_62_16">Request_Name</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_102_28">Key</a>)), <a href="terminal_interface-curses-menus__ads.htm#ref_103_28">Name</a>);
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_102_14">Request_Name</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_68_13" HREF="terminal_interface-curses-menus__ads.htm#ref_104_14">Request_Name</A></span> (<span class="symbol"><A NAME="ref_68_27" HREF="terminal_interface-curses-menus__ads.htm#ref_104_28">Key</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A>) <b>return</b> String
+   <b>function</b> <span class="symbol"><a name="ref_68_13" href="terminal_interface-curses-menus__ads.htm#ref_105_14">Request_Name</a></span> (<span class="symbol"><a name="ref_68_27" href="terminal_interface-curses-menus__ads.htm#ref_105_28">Key</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a>) <b>return</b> String
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_70_16">Request_Name</A></span> (<span class="symbol"><A NAME="ref_70_30" HREF="terminal_interface-curses-menus__adb.htm#ref_70_16">Key</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</A>;
+      <b>function</b> <span class="symbol"><a name="ref_70_16">Request_Name</a></span> (<span class="symbol"><a name="ref_70_30">Key</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</a>;
       <b>pragma</b> Import (C, Request_Name, "menu_request_name");
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_97_13">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_70_16">Request_Name</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_104_28">Key</A>)));
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_104_14">Request_Name</A>;
+      <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_70_16">Request_Name</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_105_28">Key</a>)));
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_105_14">Request_Name</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_76_13" HREF="terminal_interface-curses-menus__ads.htm#ref_189_13">Create</A></span> (<span class="symbol"><A NAME="ref_76_21" HREF="terminal_interface-curses-menus__ads.htm#ref_189_21">Name</A></span>        : String;
-                    <span class="symbol"><A NAME="ref_77_21" HREF="terminal_interface-curses-menus__ads.htm#ref_190_21">Description</A></span> : String := "") <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>
+   <b>function</b> <span class="symbol"><a name="ref_76_13" href="terminal_interface-curses-menus__ads.htm#ref_190_13">Create</a></span> (<span class="symbol"><a name="ref_76_21" href="terminal_interface-curses-menus__ads.htm#ref_190_21">Name</a></span>        : String;
+                    <span class="symbol"><a name="ref_77_21" href="terminal_interface-curses-menus__ads.htm#ref_191_21">Description</a></span> : String := "") <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>
    <b>is</b>
-      <b>type</b> <span class="symbol"><A NAME="ref_79_12">Char_Ptr</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.char;
-      <b>function</b> <span class="symbol"><A NAME="ref_80_16">Newitem</A></span> (<span class="symbol"><A NAME="ref_80_25" HREF="terminal_interface-curses-menus__adb.htm#ref_80_16">Name</A></span>, <span class="symbol"><A NAME="ref_80_31" HREF="terminal_interface-curses-menus__adb.htm#ref_80_16">Desc</A></span> : <A HREF="terminal_interface-curses-menus__adb.htm#ref_79_12">Char_Ptr</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
+      <b>type</b> <span class="symbol"><a name="ref_79_12">Char_Ptr</a></span> <b>is</b> <b>access</b> <b>all</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.char;
+      <b>function</b> <span class="symbol"><a name="ref_80_16">Newitem</a></span> (<span class="symbol"><a name="ref_80_25">Name</a></span>, <span class="symbol"><a name="ref_80_31">Desc</a></span> : <a href="terminal_interface-curses-menus__adb.htm#ref_79_12">Char_Ptr</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
       <b>pragma</b> Import (C, Newitem, "new_item");
 
-      <b>type</b> Name_String <b>is</b> <b>new</b> char_array (0 .. <A HREF="terminal_interface-curses-menus__ads.htm#ref_189_21">Name</A>'Length);
-      <b>type</b> <span class="symbol"><A NAME="ref_84_12">Name_String_Ptr</A></span> <b>is</b> <b>access</b> Name_String;
-      <b>pragma</b> Controlled (<A HREF="terminal_interface-curses-menus__adb.htm#ref_84_12">Name_String_Ptr</A>);
+      <b>type</b> Name_String <b>is</b> <b>new</b> char_array (0 .. <a href="terminal_interface-curses-menus__ads.htm#ref_190_21">Name</a>'Length);
+      <b>type</b> <span class="symbol"><a name="ref_84_12">Name_String_Ptr</a></span> <b>is</b> <b>access</b> Name_String;
+      <b>pragma</b> Controlled (<a href="terminal_interface-curses-menus__adb.htm#ref_84_12">Name_String_Ptr</a>);
 
-      <b>type</b> Desc_String <b>is</b> <b>new</b> char_array (0 .. <A HREF="terminal_interface-curses-menus__ads.htm#ref_190_21">Description</A>'Length);
-      <b>type</b> <span class="symbol"><A NAME="ref_88_12">Desc_String_Ptr</A></span> <b>is</b> <b>access</b> Desc_String;
-      <b>pragma</b> Controlled (<A HREF="terminal_interface-curses-menus__adb.htm#ref_88_12">Desc_String_Ptr</A>);
+      <b>type</b> Desc_String <b>is</b> <b>new</b> char_array (0 .. <a href="terminal_interface-curses-menus__ads.htm#ref_191_21">Description</a>'Length);
+      <b>type</b> <span class="symbol"><a name="ref_88_12">Desc_String_Ptr</a></span> <b>is</b> <b>access</b> Desc_String;
+      <b>pragma</b> Controlled (<a href="terminal_interface-curses-menus__adb.htm#ref_88_12">Desc_String_Ptr</a>);
 
-      <span class="symbol"><A NAME="ref_91_7">Name_Str</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_84_12">Name_String_Ptr</A> := <b>new</b> Name_String;
-      <span class="symbol"><A NAME="ref_92_7">Desc_Str</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_88_12">Desc_String_Ptr</A> := <b>new</b> Desc_String;
-      <span class="symbol"><A NAME="ref_93_7">Name_Len</A></span>, <span class="symbol"><A NAME="ref_93_17">Desc_Len</A></span> : size_t;
-      <span class="symbol"><A NAME="ref_94_7">Result</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
+      <span class="symbol"><a name="ref_91_7">Name_Str</a></span> : <b>constant</b> <a href="terminal_interface-curses-menus__adb.htm#ref_84_12">Name_String_Ptr</a> := <b>new</b> Name_String;
+      <span class="symbol"><a name="ref_92_7">Desc_Str</a></span> : <b>constant</b> <a href="terminal_interface-curses-menus__adb.htm#ref_88_12">Desc_String_Ptr</a> := <b>new</b> Desc_String;
+      <span class="symbol"><a name="ref_93_7">Name_Len</a></span>, <span class="symbol"><a name="ref_93_17">Desc_Len</a></span> : size_t;
+      <span class="symbol"><a name="ref_94_7">Result</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
    <b>begin</b>
-      To_C (<A HREF="terminal_interface-curses-menus__ads.htm#ref_189_21">Name</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_91_7">Name_Str</A>.<b>all</b>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_93_7">Name_Len</A>);
-      To_C (<A HREF="terminal_interface-curses-menus__ads.htm#ref_190_21">Description</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_92_7">Desc_Str</A>.<b>all</b>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_93_17">Desc_Len</A>);
-      <A HREF="terminal_interface-curses-menus__adb.htm#ref_94_7">Result</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_80_16">Newitem</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_91_7">Name_Str</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_91_7">Name_Str</A>.<b>all</b>'First)'<b>Access</b>,
-                         <A HREF="terminal_interface-curses-menus__adb.htm#ref_92_7">Desc_Str</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_92_7">Desc_Str</A>.<b>all</b>'First)'<b>Access</b>);
-      <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_94_7">Result</A> = <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_4">Null_Item</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_527_4">Eti_System_Error</A>;
+      To_C (<a href="terminal_interface-curses-menus__ads.htm#ref_190_21">Name</a>, <a href="terminal_interface-curses-menus__adb.htm#ref_91_7">Name_Str</a>.<b>all</b>, <a href="terminal_interface-curses-menus__adb.htm#ref_93_7">Name_Len</a>);
+      To_C (<a href="terminal_interface-curses-menus__ads.htm#ref_191_21">Description</a>, <a href="terminal_interface-curses-menus__adb.htm#ref_92_7">Desc_Str</a>.<b>all</b>, <a href="terminal_interface-curses-menus__adb.htm#ref_93_17">Desc_Len</a>);
+      <a href="terminal_interface-curses-menus__adb.htm#ref_94_7">Result</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_80_16">Newitem</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_91_7">Name_Str</a>.<b>all</b> (<a href="terminal_interface-curses-menus__adb.htm#ref_91_7">Name_Str</a>.<b>all</b>'First)'<b>Access</b>,
+                         <a href="terminal_interface-curses-menus__adb.htm#ref_92_7">Desc_Str</a>.<b>all</b> (<a href="terminal_interface-curses-menus__adb.htm#ref_92_7">Desc_Str</a>.<b>all</b>'First)'<b>Access</b>);
+      <b>if</b> <a href="terminal_interface-curses-menus__adb.htm#ref_94_7">Result</a> = <a href="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_528_4">Eti_System_Error</a>;
       <b>end</b> <b>if</b>;
-      <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_94_7">Result</A>;
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_189_13">Create</A>;
+      <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_94_7">Result</a>;
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_190_13">Create</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_106_14" HREF="terminal_interface-curses-menus__ads.htm#ref_201_14">Delete</A></span> (<span class="symbol"><A NAME="ref_106_22" HREF="terminal_interface-curses-menus__ads.htm#ref_201_22">Itm</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_106_14" href="terminal_interface-curses-menus__ads.htm#ref_202_14">Delete</a></span> (<span class="symbol"><a name="ref_106_22" href="terminal_interface-curses-menus__ads.htm#ref_202_22">Itm</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_108_16">Descname</A></span> (<span class="symbol"><A NAME="ref_108_26" HREF="terminal_interface-curses-menus__adb.htm#ref_108_16">Itm</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</A>;
+      <b>function</b> <span class="symbol"><a name="ref_108_16">Descname</a></span> (<span class="symbol"><a name="ref_108_26">Itm</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</a>;
       <b>pragma</b> Import (C, Descname, "item_description");
-      <b>function</b> <span class="symbol"><A NAME="ref_110_16">Itemname</A></span> (<span class="symbol"><A NAME="ref_110_26" HREF="terminal_interface-curses-menus__adb.htm#ref_110_16">Itm</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</A>;
+      <b>function</b> <span class="symbol"><a name="ref_110_16">Itemname</a></span> (<span class="symbol"><a name="ref_110_26">Itm</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</a>;
       <b>pragma</b> Import (C, Itemname, "item_name");
 
-      <b>function</b> <span class="symbol"><A NAME="ref_113_16">Freeitem</A></span> (<span class="symbol"><A NAME="ref_113_26" HREF="terminal_interface-curses-menus__adb.htm#ref_113_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_113_16">Freeitem</a></span> (<span class="symbol"><a name="ref_113_26">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Freeitem, "free_item");
 
-      <span class="symbol"><A NAME="ref_116_7">Ptr</A></span> : <A HREF="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</A>;
+      <span class="symbol"><a name="ref_116_7">Ptr</a></span> : <a href="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</a>;
    <b>begin</b>
-      <A HREF="terminal_interface-curses-menus__adb.htm#ref_116_7">Ptr</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_108_16">Descname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_201_22">Itm</A>);
-      <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_116_7">Ptr</A> /= Null_Ptr <b>then</b>
-         <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings.Free (<A HREF="terminal_interface-curses-menus__adb.htm#ref_116_7">Ptr</A>);
+      <a href="terminal_interface-curses-menus__adb.htm#ref_116_7">Ptr</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_108_16">Descname</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_202_22">Itm</a>);
+      <b>if</b> <a href="terminal_interface-curses-menus__adb.htm#ref_116_7">Ptr</a> /= Null_Ptr <b>then</b>
+         <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings.Free (<a href="terminal_interface-curses-menus__adb.htm#ref_116_7">Ptr</a>);
       <b>end</b> <b>if</b>;
-      <A HREF="terminal_interface-curses-menus__adb.htm#ref_116_7">Ptr</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_110_16">Itemname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_201_22">Itm</A>);
-      <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_116_7">Ptr</A> /= Null_Ptr <b>then</b>
-         <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings.Free (<A HREF="terminal_interface-curses-menus__adb.htm#ref_116_7">Ptr</A>);
+      <a href="terminal_interface-curses-menus__adb.htm#ref_116_7">Ptr</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_110_16">Itemname</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_202_22">Itm</a>);
+      <b>if</b> <a href="terminal_interface-curses-menus__adb.htm#ref_116_7">Ptr</a> /= Null_Ptr <b>then</b>
+         <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings.Free (<a href="terminal_interface-curses-menus__adb.htm#ref_116_7">Ptr</a>);
       <b>end</b> <b>if</b>;
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_113_16">Freeitem</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_201_22">Itm</A>));
-      <A HREF="terminal_interface-curses-menus__ads.htm#ref_201_22">Itm</A> := <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_4">Null_Item</A>;
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_201_14">Delete</A>;
-<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_130_14" HREF="terminal_interface-curses-menus__ads.htm#ref_210_14">Set_Value</A></span> (<span class="symbol"><A NAME="ref_130_25" HREF="terminal_interface-curses-menus__ads.htm#ref_210_25">Itm</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
-                        <span class="symbol"><A NAME="ref_131_25" HREF="terminal_interface-curses-menus__ads.htm#ref_211_25">Value</A></span> : Boolean := True)
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_113_16">Freeitem</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_202_22">Itm</a>));
+      <a href="terminal_interface-curses-menus__ads.htm#ref_202_22">Itm</a> := <a href="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</a>;
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_202_14">Delete</a>;
+<span class="comment"><em>-------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_130_14" href="terminal_interface-curses-menus__ads.htm#ref_211_14">Set_Value</a></span> (<span class="symbol"><a name="ref_130_25" href="terminal_interface-curses-menus__ads.htm#ref_211_25">Itm</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
+                        <span class="symbol"><a name="ref_131_25" href="terminal_interface-curses-menus__ads.htm#ref_212_25">Value</a></span> : Boolean := True)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_133_16">Set_Item_Val</A></span> (<span class="symbol"><A NAME="ref_133_30" HREF="terminal_interface-curses-menus__adb.htm#ref_133_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
-                             <span class="symbol"><A NAME="ref_134_30" HREF="terminal_interface-curses-menus__adb.htm#ref_133_16">Val</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_133_16">Set_Item_Val</a></span> (<span class="symbol"><a name="ref_133_30">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
+                             <span class="symbol"><a name="ref_134_30">Val</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Item_Val, "set_item_value");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_133_16">Set_Item_Val</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_210_25">Itm</A>, Boolean'Pos (<A HREF="terminal_interface-curses-menus__ads.htm#ref_211_25">Value</A>)));
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_210_14">Set_Value</A>;
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_133_16">Set_Item_Val</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_211_25">Itm</a>, Boolean'Pos (<a href="terminal_interface-curses-menus__ads.htm#ref_212_25">Value</a>)));
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_211_14">Set_Value</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_141_13" HREF="terminal_interface-curses-menus__ads.htm#ref_216_13">Value</A></span> (<span class="symbol"><A NAME="ref_141_20" HREF="terminal_interface-curses-menus__ads.htm#ref_216_20">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> Boolean
+   <b>function</b> <span class="symbol"><a name="ref_141_13" href="terminal_interface-curses-menus__ads.htm#ref_217_13">Value</a></span> (<span class="symbol"><a name="ref_141_20" href="terminal_interface-curses-menus__ads.htm#ref_217_20">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> Boolean
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_143_16">Item_Val</A></span> (<span class="symbol"><A NAME="ref_143_26" HREF="terminal_interface-curses-menus__adb.htm#ref_143_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_143_16">Item_Val</a></span> (<span class="symbol"><a name="ref_143_26">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Item_Val, "item_value");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_143_16">Item_Val</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_216_20">Itm</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_68_4">Curses_False</A> <b>then</b>
+      <b>if</b> <a href="terminal_interface-curses-menus__adb.htm#ref_143_16">Item_Val</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_217_20">Itm</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_67_4">Curses_False</a> <b>then</b>
          <b>return</b> False;
       <b>else</b>
          <b>return</b> True;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_216_13">Value</A>;
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_217_13">Value</a>;
 
-<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_154_13" HREF="terminal_interface-curses-menus__ads.htm#ref_225_13">Visible</A></span> (<span class="symbol"><A NAME="ref_154_22" HREF="terminal_interface-curses-menus__ads.htm#ref_225_22">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> Boolean
+<span class="comment"><em>-------------------------------------------------------------------------------</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_154_13" href="terminal_interface-curses-menus__ads.htm#ref_226_13">Visible</a></span> (<span class="symbol"><a name="ref_154_22" href="terminal_interface-curses-menus__ads.htm#ref_226_22">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> Boolean
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_156_16">Item_Vis</A></span> (<span class="symbol"><A NAME="ref_156_26" HREF="terminal_interface-curses-menus__adb.htm#ref_156_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_156_16">Item_Vis</a></span> (<span class="symbol"><a name="ref_156_26">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Item_Vis, "item_visible");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_156_16">Item_Vis</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_225_22">Itm</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_68_4">Curses_False</A> <b>then</b>
+      <b>if</b> <a href="terminal_interface-curses-menus__adb.htm#ref_156_16">Item_Vis</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_226_22">Itm</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_67_4">Curses_False</a> <b>then</b>
          <b>return</b> False;
       <b>else</b>
          <b>return</b> True;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_225_13">Visible</A>;
-<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_166_14" HREF="terminal_interface-curses-menus__ads.htm#ref_234_14">Set_Options</A></span> (<span class="symbol"><A NAME="ref_166_27" HREF="terminal_interface-curses-menus__ads.htm#ref_234_27">Itm</A></span>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
-                          <span class="symbol"><A NAME="ref_167_27" HREF="terminal_interface-curses-menus__ads.htm#ref_235_27">Options</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A>)
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_226_13">Visible</a>;
+<span class="comment"><em>-------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_166_14" href="terminal_interface-curses-menus__ads.htm#ref_235_14">Set_Options</a></span> (<span class="symbol"><a name="ref_166_27" href="terminal_interface-curses-menus__ads.htm#ref_235_27">Itm</a></span>     : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
+                          <span class="symbol"><a name="ref_167_27" href="terminal_interface-curses-menus__ads.htm#ref_236_27">Options</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_169_16">Set_Item_Opts</A></span> (<span class="symbol"><A NAME="ref_169_31" HREF="terminal_interface-curses-menus__adb.htm#ref_169_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
-                              <span class="symbol"><A NAME="ref_170_31" HREF="terminal_interface-curses-menus__adb.htm#ref_169_16">Opt</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_169_16">Set_Item_Opts</a></span> (<span class="symbol"><a name="ref_169_31">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
+                              <span class="symbol"><a name="ref_170_31">Opt</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Item_Opts, "set_item_opts");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_169_16">Set_Item_Opts</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_234_27">Itm</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_235_27">Options</A>));
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_234_14">Set_Options</A>;
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_169_16">Set_Item_Opts</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_235_27">Itm</a>, <a href="terminal_interface-curses-menus__ads.htm#ref_236_27">Options</a>));
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_235_14">Set_Options</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_177_14" HREF="terminal_interface-curses-menus__ads.htm#ref_240_14">Switch_Options</A></span> (<span class="symbol"><A NAME="ref_177_30" HREF="terminal_interface-curses-menus__ads.htm#ref_240_30">Itm</A></span>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
-                             <span class="symbol"><A NAME="ref_178_30" HREF="terminal_interface-curses-menus__ads.htm#ref_241_30">Options</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A>;
-                             <span class="symbol"><A NAME="ref_179_30" HREF="terminal_interface-curses-menus__ads.htm#ref_242_30">On</A></span>      : Boolean := True)
+   <b>procedure</b> <span class="symbol"><a name="ref_177_14" href="terminal_interface-curses-menus__ads.htm#ref_241_14">Switch_Options</a></span> (<span class="symbol"><a name="ref_177_30" href="terminal_interface-curses-menus__ads.htm#ref_241_30">Itm</a></span>     : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
+                             <span class="symbol"><a name="ref_178_30" href="terminal_interface-curses-menus__ads.htm#ref_242_30">Options</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>;
+                             <span class="symbol"><a name="ref_179_30" href="terminal_interface-curses-menus__ads.htm#ref_243_30">On</a></span>      : Boolean := True)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_181_16">Item_Opts_On</A></span> (<span class="symbol"><A NAME="ref_181_30" HREF="terminal_interface-curses-menus__adb.htm#ref_181_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
-                             <span class="symbol"><A NAME="ref_182_30" HREF="terminal_interface-curses-menus__adb.htm#ref_181_16">Opt</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_181_16">Item_Opts_On</a></span> (<span class="symbol"><a name="ref_181_30">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
+                             <span class="symbol"><a name="ref_182_30">Opt</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Item_Opts_On, "item_opts_on");
-      <b>function</b> <span class="symbol"><A NAME="ref_184_16">Item_Opts_Off</A></span> (<span class="symbol"><A NAME="ref_184_31" HREF="terminal_interface-curses-menus__adb.htm#ref_184_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
-                              <span class="symbol"><A NAME="ref_185_31" HREF="terminal_interface-curses-menus__adb.htm#ref_184_16">Opt</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_184_16">Item_Opts_Off</a></span> (<span class="symbol"><a name="ref_184_31">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
+                              <span class="symbol"><a name="ref_185_31">Opt</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Item_Opts_Off, "item_opts_off");
 
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_242_30">On</A> <b>then</b>
-         <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_181_16">Item_Opts_On</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_240_30">Itm</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_241_30">Options</A>));
+      <b>if</b> <a href="terminal_interface-curses-menus__ads.htm#ref_243_30">On</a> <b>then</b>
+         <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_181_16">Item_Opts_On</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_241_30">Itm</a>, <a href="terminal_interface-curses-menus__ads.htm#ref_242_30">Options</a>));
       <b>else</b>
-         <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_184_16">Item_Opts_Off</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_240_30">Itm</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_241_30">Options</A>));
+         <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_184_16">Item_Opts_Off</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_241_30">Itm</a>, <a href="terminal_interface-curses-menus__ads.htm#ref_242_30">Options</a>));
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_240_14">Switch_Options</A>;
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_241_14">Switch_Options</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_196_14" HREF="terminal_interface-curses-menus__ads.htm#ref_249_14">Get_Options</A></span> (<span class="symbol"><A NAME="ref_196_27" HREF="terminal_interface-curses-menus__ads.htm#ref_249_27">Itm</A></span>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
-                          <span class="symbol"><A NAME="ref_197_27" HREF="terminal_interface-curses-menus__ads.htm#ref_250_27">Options</A></span> : <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_196_14" href="terminal_interface-curses-menus__ads.htm#ref_250_14">Get_Options</a></span> (<span class="symbol"><a name="ref_196_27" href="terminal_interface-curses-menus__ads.htm#ref_250_27">Itm</a></span>     : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
+                          <span class="symbol"><a name="ref_197_27" href="terminal_interface-curses-menus__ads.htm#ref_251_27">Options</a></span> : <b>out</b> <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_199_16">Item_Opts</A></span> (<span class="symbol"><A NAME="ref_199_27" HREF="terminal_interface-curses-menus__adb.htm#ref_199_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A>;
+      <b>function</b> <span class="symbol"><a name="ref_199_16">Item_Opts</a></span> (<span class="symbol"><a name="ref_199_27">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>;
       <b>pragma</b> Import (C, Item_Opts, "item_opts");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-menus__ads.htm#ref_250_27">Options</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_199_16">Item_Opts</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_249_27">Itm</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_249_14">Get_Options</A>;
+      <a href="terminal_interface-curses-menus__ads.htm#ref_251_27">Options</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_199_16">Item_Opts</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_250_27">Itm</a>);
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_250_14">Get_Options</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_206_13" HREF="terminal_interface-curses-menus__ads.htm#ref_254_13">Get_Options</A></span> (<span class="symbol"><A NAME="ref_206_26" HREF="terminal_interface-curses-menus__ads.htm#ref_254_26">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A> := <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_4">Null_Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A>
+   <b>function</b> <span class="symbol"><a name="ref_206_13" href="terminal_interface-curses-menus__ads.htm#ref_255_13">Get_Options</a></span> (<span class="symbol"><a name="ref_206_26" href="terminal_interface-curses-menus__ads.htm#ref_255_26">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a> := <a href="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>
    <b>is</b>
-      <span class="symbol"><A NAME="ref_208_7">Ios</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A>;
+      <span class="symbol"><a name="ref_208_7">Ios</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>;
    <b>begin</b>
-      <A HREF="terminal_interface-curses-menus__ads.htm#ref_249_14">Get_Options</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_254_26">Itm</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_208_7">Ios</A>);
-      <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_208_7">Ios</A>;
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_254_13">Get_Options</A>;
-<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_214_14" HREF="terminal_interface-curses-menus__ads.htm#ref_263_14">Name</A></span> (<span class="symbol"><A NAME="ref_214_20" HREF="terminal_interface-curses-menus__ads.htm#ref_263_20">Itm</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
-                   <span class="symbol"><A NAME="ref_215_20" HREF="terminal_interface-curses-menus__ads.htm#ref_264_20">Name</A></span> : <b>out</b> String)
+      <a href="terminal_interface-curses-menus__ads.htm#ref_250_14">Get_Options</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_255_26">Itm</a>, <a href="terminal_interface-curses-menus__adb.htm#ref_208_7">Ios</a>);
+      <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_208_7">Ios</a>;
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_255_13">Get_Options</a>;
+<span class="comment"><em>-------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_214_14" href="terminal_interface-curses-menus__ads.htm#ref_264_14">Name</a></span> (<span class="symbol"><a name="ref_214_20" href="terminal_interface-curses-menus__ads.htm#ref_264_20">Itm</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
+                   <span class="symbol"><a name="ref_215_20" href="terminal_interface-curses-menus__ads.htm#ref_265_20">Name</a></span> : <b>out</b> String)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_217_16">Itemname</A></span> (<span class="symbol"><A NAME="ref_217_26" HREF="terminal_interface-curses-menus__adb.htm#ref_217_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</A>;
+      <b>function</b> <span class="symbol"><a name="ref_217_16">Itemname</a></span> (<span class="symbol"><a name="ref_217_26">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</a>;
       <b>pragma</b> Import (C, Itemname, "item_name");
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_92_14">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_217_16">Itemname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_263_20">Itm</A>), <A HREF="terminal_interface-curses-menus__ads.htm#ref_264_20">Name</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_263_14">Name</A>;
+      <a href="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_217_16">Itemname</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_264_20">Itm</a>), <a href="terminal_interface-curses-menus__ads.htm#ref_265_20">Name</a>);
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_264_14">Name</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_223_13" HREF="terminal_interface-curses-menus__ads.htm#ref_266_14">Name</A></span> (<span class="symbol"><A NAME="ref_223_19" HREF="terminal_interface-curses-menus__ads.htm#ref_266_20">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> String
+   <b>function</b> <span class="symbol"><a name="ref_223_13" href="terminal_interface-curses-menus__ads.htm#ref_267_14">Name</a></span> (<span class="symbol"><a name="ref_223_19" href="terminal_interface-curses-menus__ads.htm#ref_267_20">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> String
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_225_16">Itemname</A></span> (<span class="symbol"><A NAME="ref_225_26" HREF="terminal_interface-curses-menus__adb.htm#ref_225_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</A>;
+      <b>function</b> <span class="symbol"><a name="ref_225_16">Itemname</a></span> (<span class="symbol"><a name="ref_225_26">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</a>;
       <b>pragma</b> Import (C, Itemname, "item_name");
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_97_13">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_225_16">Itemname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_266_20">Itm</A>));
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_266_14">Name</A>;
+      <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_225_16">Itemname</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_267_20">Itm</a>));
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_267_14">Name</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_231_14" HREF="terminal_interface-curses-menus__ads.htm#ref_272_14">Description</A></span> (<span class="symbol"><A NAME="ref_231_27" HREF="terminal_interface-curses-menus__ads.htm#ref_272_27">Itm</A></span>         : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
-                          <span class="symbol"><A NAME="ref_232_27" HREF="terminal_interface-curses-menus__ads.htm#ref_273_27">Description</A></span> : <b>out</b> String)
+   <b>procedure</b> <span class="symbol"><a name="ref_231_14" href="terminal_interface-curses-menus__ads.htm#ref_273_14">Description</a></span> (<span class="symbol"><a name="ref_231_27" href="terminal_interface-curses-menus__ads.htm#ref_273_27">Itm</a></span>         : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
+                          <span class="symbol"><a name="ref_232_27" href="terminal_interface-curses-menus__ads.htm#ref_274_27">Description</a></span> : <b>out</b> String)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_234_16">Descname</A></span> (<span class="symbol"><A NAME="ref_234_26" HREF="terminal_interface-curses-menus__adb.htm#ref_234_16">Itm</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</A>;
+      <b>function</b> <span class="symbol"><a name="ref_234_16">Descname</a></span> (<span class="symbol"><a name="ref_234_26">Itm</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</a>;
       <b>pragma</b> Import (C, Descname, "item_description");
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_92_14">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_234_16">Descname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_272_27">Itm</A>), <A HREF="terminal_interface-curses-menus__ads.htm#ref_273_27">Description</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_272_14">Description</A>;
+      <a href="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_234_16">Descname</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_273_27">Itm</a>), <a href="terminal_interface-curses-menus__ads.htm#ref_274_27">Description</a>);
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_273_14">Description</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_240_13" HREF="terminal_interface-curses-menus__ads.htm#ref_276_14">Description</A></span> (<span class="symbol"><A NAME="ref_240_26" HREF="terminal_interface-curses-menus__ads.htm#ref_276_27">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> String
+   <b>function</b> <span class="symbol"><a name="ref_240_13" href="terminal_interface-curses-menus__ads.htm#ref_277_14">Description</a></span> (<span class="symbol"><a name="ref_240_26" href="terminal_interface-curses-menus__ads.htm#ref_277_27">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> String
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_242_16">Descname</A></span> (<span class="symbol"><A NAME="ref_242_26" HREF="terminal_interface-curses-menus__adb.htm#ref_242_16">Itm</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</A>;
+      <b>function</b> <span class="symbol"><a name="ref_242_16">Descname</a></span> (<span class="symbol"><a name="ref_242_26">Itm</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</a>;
       <b>pragma</b> Import (C, Descname, "item_description");
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_97_13">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_242_16">Descname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_276_27">Itm</A>));
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_276_14">Description</A>;
-<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_248_14" HREF="terminal_interface-curses-menus__ads.htm#ref_286_14">Set_Current</A></span> (<span class="symbol"><A NAME="ref_248_27" HREF="terminal_interface-curses-menus__ads.htm#ref_286_27">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                          <span class="symbol"><A NAME="ref_249_27" HREF="terminal_interface-curses-menus__ads.htm#ref_287_27">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>)
+      <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_242_16">Descname</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_277_27">Itm</a>));
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_277_14">Description</a>;
+<span class="comment"><em>-------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_248_14" href="terminal_interface-curses-menus__ads.htm#ref_287_14">Set_Current</a></span> (<span class="symbol"><a name="ref_248_27" href="terminal_interface-curses-menus__ads.htm#ref_287_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                          <span class="symbol"><a name="ref_249_27" href="terminal_interface-curses-menus__ads.htm#ref_288_27">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_251_16">Set_Curr_Item</A></span> (<span class="symbol"><A NAME="ref_251_31" HREF="terminal_interface-curses-menus__adb.htm#ref_251_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                              <span class="symbol"><A NAME="ref_252_31" HREF="terminal_interface-curses-menus__adb.htm#ref_251_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_251_16">Set_Curr_Item</a></span> (<span class="symbol"><a name="ref_251_31">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                              <span class="symbol"><a name="ref_252_31">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Curr_Item, "set_current_item");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_251_16">Set_Curr_Item</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_286_27">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_287_27">Itm</A>));
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_286_14">Set_Current</A>;
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_251_16">Set_Curr_Item</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_287_27">Men</a>, <a href="terminal_interface-curses-menus__ads.htm#ref_288_27">Itm</a>));
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_287_14">Set_Current</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_259_13" HREF="terminal_interface-curses-menus__ads.htm#ref_292_13">Current</A></span> (<span class="symbol"><A NAME="ref_259_22" HREF="terminal_interface-curses-menus__ads.htm#ref_292_22">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>
+   <b>function</b> <span class="symbol"><a name="ref_259_13" href="terminal_interface-curses-menus__ads.htm#ref_293_13">Current</a></span> (<span class="symbol"><a name="ref_259_22" href="terminal_interface-curses-menus__ads.htm#ref_293_22">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_261_16">Curr_Item</A></span> (<span class="symbol"><A NAME="ref_261_27" HREF="terminal_interface-curses-menus__adb.htm#ref_261_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
+      <b>function</b> <span class="symbol"><a name="ref_261_16">Curr_Item</a></span> (<span class="symbol"><a name="ref_261_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
       <b>pragma</b> Import (C, Curr_Item, "current_item");
 
-      <span class="symbol"><A NAME="ref_264_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_261_16">Curr_Item</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_292_22">Men</A>);
+      <span class="symbol"><a name="ref_264_7">Res</a></span> : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_261_16">Curr_Item</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_293_22">Men</a>);
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_264_7">Res</A> = <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_4">Null_Item</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_111_4">Menu_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses-menus__adb.htm#ref_264_7">Res</a> = <a href="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses-menus__ads.htm#ref_112_4">Menu_Exception</a>;
       <b>end</b> <b>if</b>;
-      <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_264_7">Res</A>;
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_292_13">Current</A>;
+      <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_264_7">Res</a>;
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_293_13">Current</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_272_14" HREF="terminal_interface-curses-menus__ads.htm#ref_297_14">Set_Top_Row</A></span> (<span class="symbol"><A NAME="ref_272_27" HREF="terminal_interface-curses-menus__ads.htm#ref_297_27">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                          <span class="symbol"><A NAME="ref_273_27" HREF="terminal_interface-curses-menus__ads.htm#ref_298_27">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_272_14" href="terminal_interface-curses-menus__ads.htm#ref_298_14">Set_Top_Row</a></span> (<span class="symbol"><a name="ref_272_27" href="terminal_interface-curses-menus__ads.htm#ref_298_27">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                          <span class="symbol"><a name="ref_273_27" href="terminal_interface-curses-menus__ads.htm#ref_299_27">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_275_16">Set_Toprow</A></span> (<span class="symbol"><A NAME="ref_275_28" HREF="terminal_interface-curses-menus__adb.htm#ref_275_16">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                           <span class="symbol"><A NAME="ref_276_28" HREF="terminal_interface-curses-menus__adb.htm#ref_275_16">Line</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_275_16">Set_Toprow</a></span> (<span class="symbol"><a name="ref_275_28">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                           <span class="symbol"><a name="ref_276_28">Line</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Toprow, "set_top_row");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_275_16">Set_Toprow</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_297_27">Men</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_298_27">Line</A>)));
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_297_14">Set_Top_Row</A>;
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_275_16">Set_Toprow</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_298_27">Men</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_299_27">Line</a>)));
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_298_14">Set_Top_Row</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_283_13" HREF="terminal_interface-curses-menus__ads.htm#ref_303_13">Top_Row</A></span> (<span class="symbol"><A NAME="ref_283_22" HREF="terminal_interface-curses-menus__ads.htm#ref_303_22">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>
+   <b>function</b> <span class="symbol"><a name="ref_283_13" href="terminal_interface-curses-menus__ads.htm#ref_304_13">Top_Row</a></span> (<span class="symbol"><a name="ref_283_22" href="terminal_interface-curses-menus__ads.htm#ref_304_22">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_285_16">Toprow</A></span> (<span class="symbol"><A NAME="ref_285_24" HREF="terminal_interface-curses-menus__adb.htm#ref_285_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_285_16">Toprow</a></span> (<span class="symbol"><a name="ref_285_24">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Toprow, "top_row");
 
-      <span class="symbol"><A NAME="ref_288_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_285_16">Toprow</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_303_22">Men</A>);
+      <span class="symbol"><a name="ref_288_7">Res</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_285_16">Toprow</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_304_22">Men</a>);
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_288_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_111_4">Menu_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses-menus__adb.htm#ref_288_7">Res</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses-menus__ads.htm#ref_112_4">Menu_Exception</a>;
       <b>end</b> <b>if</b>;
-      <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_288_7">Res</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_303_13">Top_Row</A>;
+      <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_288_7">Res</a>);
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_304_13">Top_Row</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_296_13" HREF="terminal_interface-curses-menus__ads.htm#ref_308_13">Get_Index</A></span> (<span class="symbol"><A NAME="ref_296_24" HREF="terminal_interface-curses-menus__ads.htm#ref_308_24">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> Positive
+   <b>function</b> <span class="symbol"><a name="ref_296_13" href="terminal_interface-curses-menus__ads.htm#ref_309_13">Get_Index</a></span> (<span class="symbol"><a name="ref_296_24" href="terminal_interface-curses-menus__ads.htm#ref_309_24">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> Positive
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_298_16">Get_Itemindex</A></span> (<span class="symbol"><A NAME="ref_298_31" HREF="terminal_interface-curses-menus__adb.htm#ref_298_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_298_16">Get_Itemindex</a></span> (<span class="symbol"><a name="ref_298_31">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Get_Itemindex, "item_index");
 
-      <span class="symbol"><A NAME="ref_301_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_298_16">Get_Itemindex</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_308_24">Itm</A>);
+      <span class="symbol"><a name="ref_301_7">Res</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_298_16">Get_Itemindex</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_309_24">Itm</a>);
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_301_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_111_4">Menu_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses-menus__adb.htm#ref_301_7">Res</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses-menus__ads.htm#ref_112_4">Menu_Exception</a>;
       <b>end</b> <b>if</b>;
-      <b>return</b> Positive (Natural (<A HREF="terminal_interface-curses-menus__adb.htm#ref_301_7">Res</A>) + Positive'First);
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_308_13">Get_Index</A>;
-<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_309_14" HREF="terminal_interface-curses-menus__ads.htm#ref_320_14">Post</A></span> (<span class="symbol"><A NAME="ref_309_20" HREF="terminal_interface-curses-menus__ads.htm#ref_320_20">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                   <span class="symbol"><A NAME="ref_310_20" HREF="terminal_interface-curses-menus__ads.htm#ref_321_20">Post</A></span> : Boolean := True)
+      <b>return</b> Positive (Natural (<a href="terminal_interface-curses-menus__adb.htm#ref_301_7">Res</a>) + Positive'First);
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_309_13">Get_Index</a>;
+<span class="comment"><em>-------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_309_14" href="terminal_interface-curses-menus__ads.htm#ref_321_14">Post</a></span> (<span class="symbol"><a name="ref_309_20" href="terminal_interface-curses-menus__ads.htm#ref_321_20">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                   <span class="symbol"><a name="ref_310_20" href="terminal_interface-curses-menus__ads.htm#ref_322_20">Post</a></span> : Boolean := True)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_312_16">M_Post</A></span> (<span class="symbol"><A NAME="ref_312_24" HREF="terminal_interface-curses-menus__adb.htm#ref_312_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_312_16">M_Post</a></span> (<span class="symbol"><a name="ref_312_24">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, M_Post, "post_menu");
-      <b>function</b> <span class="symbol"><A NAME="ref_314_16">M_Unpost</A></span> (<span class="symbol"><A NAME="ref_314_26" HREF="terminal_interface-curses-menus__adb.htm#ref_314_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_314_16">M_Unpost</a></span> (<span class="symbol"><a name="ref_314_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, M_Unpost, "unpost_menu");
 
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_321_20">Post</A> <b>then</b>
-         <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_312_16">M_Post</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_320_20">Men</A>));
+      <b>if</b> <a href="terminal_interface-curses-menus__ads.htm#ref_322_20">Post</a> <b>then</b>
+         <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_312_16">M_Post</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_321_20">Men</a>));
       <b>else</b>
-         <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_314_16">M_Unpost</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_320_20">Men</A>));
+         <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_314_16">M_Unpost</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_321_20">Men</a>));
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_320_14">Post</A>;
-<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_325_14" HREF="terminal_interface-curses-menus__ads.htm#ref_331_14">Set_Options</A></span> (<span class="symbol"><A NAME="ref_325_27" HREF="terminal_interface-curses-menus__ads.htm#ref_331_27">Men</A></span>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                          <span class="symbol"><A NAME="ref_326_27" HREF="terminal_interface-curses-menus__ads.htm#ref_332_27">Options</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A>)
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_321_14">Post</a>;
+<span class="comment"><em>-------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_325_14" href="terminal_interface-curses-menus__ads.htm#ref_332_14">Set_Options</a></span> (<span class="symbol"><a name="ref_325_27" href="terminal_interface-curses-menus__ads.htm#ref_332_27">Men</a></span>     : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                          <span class="symbol"><a name="ref_326_27" href="terminal_interface-curses-menus__ads.htm#ref_333_27">Options</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_328_16">Set_Menu_Opts</A></span> (<span class="symbol"><A NAME="ref_328_31" HREF="terminal_interface-curses-menus__adb.htm#ref_328_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                              <span class="symbol"><A NAME="ref_329_31" HREF="terminal_interface-curses-menus__adb.htm#ref_328_16">Opt</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_328_16">Set_Menu_Opts</a></span> (<span class="symbol"><a name="ref_328_31">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                              <span class="symbol"><a name="ref_329_31">Opt</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Menu_Opts, "set_menu_opts");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_328_16">Set_Menu_Opts</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_331_27">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_332_27">Options</A>));
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_331_14">Set_Options</A>;
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_328_16">Set_Menu_Opts</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_332_27">Men</a>, <a href="terminal_interface-curses-menus__ads.htm#ref_333_27">Options</a>));
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_332_14">Set_Options</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_336_14" HREF="terminal_interface-curses-menus__ads.htm#ref_337_14">Switch_Options</A></span> (<span class="symbol"><A NAME="ref_336_30" HREF="terminal_interface-curses-menus__ads.htm#ref_337_30">Men</A></span>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                             <span class="symbol"><A NAME="ref_337_30" HREF="terminal_interface-curses-menus__ads.htm#ref_338_30">Options</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A>;
-                             <span class="symbol"><A NAME="ref_338_30" HREF="terminal_interface-curses-menus__ads.htm#ref_339_30">On</A></span>      : Boolean := True)
+   <b>procedure</b> <span class="symbol"><a name="ref_336_14" href="terminal_interface-curses-menus__ads.htm#ref_338_14">Switch_Options</a></span> (<span class="symbol"><a name="ref_336_30" href="terminal_interface-curses-menus__ads.htm#ref_338_30">Men</a></span>     : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                             <span class="symbol"><a name="ref_337_30" href="terminal_interface-curses-menus__ads.htm#ref_339_30">Options</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>;
+                             <span class="symbol"><a name="ref_338_30" href="terminal_interface-curses-menus__ads.htm#ref_340_30">On</a></span>      : Boolean := True)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_340_16">Menu_Opts_On</A></span> (<span class="symbol"><A NAME="ref_340_30" HREF="terminal_interface-curses-menus__adb.htm#ref_340_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                             <span class="symbol"><A NAME="ref_341_30" HREF="terminal_interface-curses-menus__adb.htm#ref_340_16">Opt</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_340_16">Menu_Opts_On</a></span> (<span class="symbol"><a name="ref_340_30">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                             <span class="symbol"><a name="ref_341_30">Opt</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Menu_Opts_On, "menu_opts_on");
-      <b>function</b> <span class="symbol"><A NAME="ref_343_16">Menu_Opts_Off</A></span> (<span class="symbol"><A NAME="ref_343_31" HREF="terminal_interface-curses-menus__adb.htm#ref_343_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                              <span class="symbol"><A NAME="ref_344_31" HREF="terminal_interface-curses-menus__adb.htm#ref_343_16">Opt</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_343_16">Menu_Opts_Off</a></span> (<span class="symbol"><a name="ref_343_31">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                              <span class="symbol"><a name="ref_344_31">Opt</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Menu_Opts_Off, "menu_opts_off");
 
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_339_30">On</A> <b>then</b>
-         <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_340_16">Menu_Opts_On</A>  (<A HREF="terminal_interface-curses-menus__ads.htm#ref_337_30">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_338_30">Options</A>));
+      <b>if</b> <a href="terminal_interface-curses-menus__ads.htm#ref_340_30">On</a> <b>then</b>
+         <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_340_16">Menu_Opts_On</a>  (<a href="terminal_interface-curses-menus__ads.htm#ref_338_30">Men</a>, <a href="terminal_interface-curses-menus__ads.htm#ref_339_30">Options</a>));
       <b>else</b>
-         <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_343_16">Menu_Opts_Off</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_337_30">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_338_30">Options</A>));
+         <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_343_16">Menu_Opts_Off</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_338_30">Men</a>, <a href="terminal_interface-curses-menus__ads.htm#ref_339_30">Options</a>));
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_337_14">Switch_Options</A>;
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_338_14">Switch_Options</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_355_14" HREF="terminal_interface-curses-menus__ads.htm#ref_345_14">Get_Options</A></span> (<span class="symbol"><A NAME="ref_355_27" HREF="terminal_interface-curses-menus__ads.htm#ref_345_27">Men</A></span>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                          <span class="symbol"><A NAME="ref_356_27" HREF="terminal_interface-curses-menus__ads.htm#ref_346_27">Options</A></span> : <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_355_14" href="terminal_interface-curses-menus__ads.htm#ref_346_14">Get_Options</a></span> (<span class="symbol"><a name="ref_355_27" href="terminal_interface-curses-menus__ads.htm#ref_346_27">Men</a></span>     : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                          <span class="symbol"><a name="ref_356_27" href="terminal_interface-curses-menus__ads.htm#ref_347_27">Options</a></span> : <b>out</b> <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_358_16">Menu_Opts</A></span> (<span class="symbol"><A NAME="ref_358_27" HREF="terminal_interface-curses-menus__adb.htm#ref_358_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A>;
+      <b>function</b> <span class="symbol"><a name="ref_358_16">Menu_Opts</a></span> (<span class="symbol"><a name="ref_358_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>;
       <b>pragma</b> Import (C, Menu_Opts, "menu_opts");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-menus__ads.htm#ref_346_27">Options</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_358_16">Menu_Opts</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_345_27">Men</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_345_14">Get_Options</A>;
+      <a href="terminal_interface-curses-menus__ads.htm#ref_347_27">Options</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_358_16">Menu_Opts</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_346_27">Men</a>);
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_346_14">Get_Options</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_365_13" HREF="terminal_interface-curses-menus__ads.htm#ref_350_13">Get_Options</A></span> (<span class="symbol"><A NAME="ref_365_26" HREF="terminal_interface-curses-menus__ads.htm#ref_350_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A> := <A HREF="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A>
+   <b>function</b> <span class="symbol"><a name="ref_365_13" href="terminal_interface-curses-menus__ads.htm#ref_351_13">Get_Options</a></span> (<span class="symbol"><a name="ref_365_26" href="terminal_interface-curses-menus__ads.htm#ref_351_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a> := <a href="terminal_interface-curses-menus__ads.htm#ref_59_4">Null_Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>
    <b>is</b>
-      <span class="symbol"><A NAME="ref_367_7">Mos</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A>;
+      <span class="symbol"><a name="ref_367_7">Mos</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>;
    <b>begin</b>
-      <A HREF="terminal_interface-curses-menus__ads.htm#ref_345_14">Get_Options</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_350_26">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_367_7">Mos</A>);
-      <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_367_7">Mos</A>;
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_350_13">Get_Options</A>;
-<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_373_14" HREF="terminal_interface-curses-menus__ads.htm#ref_359_14">Set_Window</A></span> (<span class="symbol"><A NAME="ref_373_26" HREF="terminal_interface-curses-menus__ads.htm#ref_359_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                         <span class="symbol"><A NAME="ref_374_26" HREF="terminal_interface-curses-menus__ads.htm#ref_360_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>)
+      <a href="terminal_interface-curses-menus__ads.htm#ref_346_14">Get_Options</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_351_26">Men</a>, <a href="terminal_interface-curses-menus__adb.htm#ref_367_7">Mos</a>);
+      <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_367_7">Mos</a>;
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_351_13">Get_Options</a>;
+<span class="comment"><em>-------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_373_14" href="terminal_interface-curses-menus__ads.htm#ref_360_14">Set_Window</a></span> (<span class="symbol"><a name="ref_373_26" href="terminal_interface-curses-menus__ads.htm#ref_360_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                         <span class="symbol"><a name="ref_374_26" href="terminal_interface-curses-menus__ads.htm#ref_361_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_376_16">Set_Menu_Win</A></span> (<span class="symbol"><A NAME="ref_376_30" HREF="terminal_interface-curses-menus__adb.htm#ref_376_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                             <span class="symbol"><A NAME="ref_377_30" HREF="terminal_interface-curses-menus__adb.htm#ref_376_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_376_16">Set_Menu_Win</a></span> (<span class="symbol"><a name="ref_376_30">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                             <span class="symbol"><a name="ref_377_30">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Menu_Win, "set_menu_win");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_376_16">Set_Menu_Win</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_359_26">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_360_26">Win</A>));
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_359_14">Set_Window</A>;
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_376_16">Set_Menu_Win</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_360_26">Men</a>, <a href="terminal_interface-curses-menus__ads.htm#ref_361_26">Win</a>));
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_360_14">Set_Window</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_384_13" HREF="terminal_interface-curses-menus__ads.htm#ref_365_13">Get_Window</A></span> (<span class="symbol"><A NAME="ref_384_25" HREF="terminal_interface-curses-menus__ads.htm#ref_365_25">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>
+   <b>function</b> <span class="symbol"><a name="ref_384_13" href="terminal_interface-curses-menus__ads.htm#ref_366_13">Get_Window</a></span> (<span class="symbol"><a name="ref_384_25" href="terminal_interface-curses-menus__ads.htm#ref_366_25">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_386_16">Menu_Win</A></span> (<span class="symbol"><A NAME="ref_386_26" HREF="terminal_interface-curses-menus__adb.htm#ref_386_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+      <b>function</b> <span class="symbol"><a name="ref_386_16">Menu_Win</a></span> (<span class="symbol"><a name="ref_386_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
       <b>pragma</b> Import (C, Menu_Win, "menu_win");
 
-      <span class="symbol"><A NAME="ref_389_7">W</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_386_16">Menu_Win</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_365_25">Men</A>);
+      <span class="symbol"><a name="ref_389_7">W</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_386_16">Menu_Win</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_366_25">Men</a>);
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_389_7">W</A>;
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_365_13">Get_Window</A>;
+      <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_389_7">W</a>;
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_366_13">Get_Window</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_394_14" HREF="terminal_interface-curses-menus__ads.htm#ref_370_14">Set_Sub_Window</A></span> (<span class="symbol"><A NAME="ref_394_30" HREF="terminal_interface-curses-menus__ads.htm#ref_370_30">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                             <span class="symbol"><A NAME="ref_395_30" HREF="terminal_interface-curses-menus__ads.htm#ref_371_30">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_394_14" href="terminal_interface-curses-menus__ads.htm#ref_371_14">Set_Sub_Window</a></span> (<span class="symbol"><a name="ref_394_30" href="terminal_interface-curses-menus__ads.htm#ref_371_30">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                             <span class="symbol"><a name="ref_395_30" href="terminal_interface-curses-menus__ads.htm#ref_372_30">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_397_16">Set_Menu_Sub</A></span> (<span class="symbol"><A NAME="ref_397_30" HREF="terminal_interface-curses-menus__adb.htm#ref_397_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                             <span class="symbol"><A NAME="ref_398_30" HREF="terminal_interface-curses-menus__adb.htm#ref_397_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_397_16">Set_Menu_Sub</a></span> (<span class="symbol"><a name="ref_397_30">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                             <span class="symbol"><a name="ref_398_30">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Menu_Sub, "set_menu_sub");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_397_16">Set_Menu_Sub</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_370_30">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_371_30">Win</A>));
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_370_14">Set_Sub_Window</A>;
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_397_16">Set_Menu_Sub</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_371_30">Men</a>, <a href="terminal_interface-curses-menus__ads.htm#ref_372_30">Win</a>));
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_371_14">Set_Sub_Window</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_405_13" HREF="terminal_interface-curses-menus__ads.htm#ref_376_13">Get_Sub_Window</A></span> (<span class="symbol"><A NAME="ref_405_29" HREF="terminal_interface-curses-menus__ads.htm#ref_376_29">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>
+   <b>function</b> <span class="symbol"><a name="ref_405_13" href="terminal_interface-curses-menus__ads.htm#ref_377_13">Get_Sub_Window</a></span> (<span class="symbol"><a name="ref_405_29" href="terminal_interface-curses-menus__ads.htm#ref_377_29">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_407_16">Menu_Sub</A></span> (<span class="symbol"><A NAME="ref_407_26" HREF="terminal_interface-curses-menus__adb.htm#ref_407_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+      <b>function</b> <span class="symbol"><a name="ref_407_16">Menu_Sub</a></span> (<span class="symbol"><a name="ref_407_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
       <b>pragma</b> Import (C, Menu_Sub, "menu_sub");
 
-      <span class="symbol"><A NAME="ref_410_7">W</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_407_16">Menu_Sub</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_376_29">Men</A>);
+      <span class="symbol"><a name="ref_410_7">W</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_407_16">Menu_Sub</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_377_29">Men</a>);
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_410_7">W</A>;
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_376_13">Get_Sub_Window</A>;
+      <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_410_7">W</a>;
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_377_13">Get_Sub_Window</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_415_14" HREF="terminal_interface-curses-menus__ads.htm#ref_381_14">Scale</A></span> (<span class="symbol"><A NAME="ref_415_21" HREF="terminal_interface-curses-menus__ads.htm#ref_381_21">Men</A></span>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                    <span class="symbol"><A NAME="ref_416_21" HREF="terminal_interface-curses-menus__ads.htm#ref_382_21">Lines</A></span>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
-                    <span class="symbol"><A NAME="ref_417_21" HREF="terminal_interface-curses-menus__ads.htm#ref_383_21">Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_415_14" href="terminal_interface-curses-menus__ads.htm#ref_382_14">Scale</a></span> (<span class="symbol"><a name="ref_415_21" href="terminal_interface-curses-menus__ads.htm#ref_382_21">Men</a></span>     : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                    <span class="symbol"><a name="ref_416_21" href="terminal_interface-curses-menus__ads.htm#ref_383_21">Lines</a></span>   : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
+                    <span class="symbol"><a name="ref_417_21" href="terminal_interface-curses-menus__ads.htm#ref_384_21">Columns</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>)
    <b>is</b>
-      <b>type</b> <span class="symbol"><A NAME="ref_419_12">C_Int_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-      <b>function</b> <span class="symbol"><A NAME="ref_420_16">M_Scale</A></span> (<span class="symbol"><A NAME="ref_420_25" HREF="terminal_interface-curses-menus__adb.htm#ref_420_16">Men</A></span>    : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                        <span class="symbol"><A NAME="ref_421_25" HREF="terminal_interface-curses-menus__adb.htm#ref_420_16">Yp</A></span>, <span class="symbol"><A NAME="ref_421_29" HREF="terminal_interface-curses-menus__adb.htm#ref_420_16">Xp</A></span> : <A HREF="terminal_interface-curses-menus__adb.htm#ref_419_12">C_Int_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>type</b> <span class="symbol"><a name="ref_419_12">C_Int_Access</a></span> <b>is</b> <b>access</b> <b>all</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+      <b>function</b> <span class="symbol"><a name="ref_420_16">M_Scale</a></span> (<span class="symbol"><a name="ref_420_25">Men</a></span>    : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                        <span class="symbol"><a name="ref_421_25">Yp</a></span>, <span class="symbol"><a name="ref_421_29">Xp</a></span> : <a href="terminal_interface-curses-menus__adb.htm#ref_419_12">C_Int_Access</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, M_Scale, "scale_menu");
 
-      <span class="symbol"><A NAME="ref_424_7">X</A></span>, <span class="symbol"><A NAME="ref_424_10">Y</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <span class="symbol"><a name="ref_424_7">X</a></span>, <span class="symbol"><a name="ref_424_10">Y</a></span> : <b>aliased</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_420_16">M_Scale</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_381_21">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_424_10">Y</A>'<b>Access</b>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_424_7">X</A>'<b>Access</b>));
-      <A HREF="terminal_interface-curses-menus__ads.htm#ref_382_21">Lines</A> := <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_424_10">Y</A>);
-      <A HREF="terminal_interface-curses-menus__ads.htm#ref_383_21">Columns</A> := <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_424_7">X</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_381_14">Scale</A>;
-<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_431_14" HREF="terminal_interface-curses-menus__ads.htm#ref_392_14">Position_Cursor</A></span> (<span class="symbol"><A NAME="ref_431_31" HREF="terminal_interface-curses-menus__ads.htm#ref_392_31">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>)
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_420_16">M_Scale</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_382_21">Men</a>, <a href="terminal_interface-curses-menus__adb.htm#ref_424_10">Y</a>'<b>Access</b>, <a href="terminal_interface-curses-menus__adb.htm#ref_424_7">X</a>'<b>Access</b>));
+      <a href="terminal_interface-curses-menus__ads.htm#ref_383_21">Lines</a> := <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_424_10">Y</a>);
+      <a href="terminal_interface-curses-menus__ads.htm#ref_384_21">Columns</a> := <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_424_7">X</a>);
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_382_14">Scale</a>;
+<span class="comment"><em>-------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_431_14" href="terminal_interface-curses-menus__ads.htm#ref_393_14">Position_Cursor</a></span> (<span class="symbol"><a name="ref_431_31" href="terminal_interface-curses-menus__ads.htm#ref_393_31">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_433_16">Pos_Menu_Cursor</A></span> (<span class="symbol"><A NAME="ref_433_33" HREF="terminal_interface-curses-menus__adb.htm#ref_433_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_433_16">Pos_Menu_Cursor</a></span> (<span class="symbol"><a name="ref_433_33">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Pos_Menu_Cursor, "pos_menu_cursor");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_433_16">Pos_Menu_Cursor</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_392_31">Men</A>));
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_392_14">Position_Cursor</A>;
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_433_16">Pos_Menu_Cursor</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_393_31">Men</a>));
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_393_14">Position_Cursor</a>;
 
-<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_441_14" HREF="terminal_interface-curses-menus__ads.htm#ref_401_14">Set_Mark</A></span> (<span class="symbol"><A NAME="ref_441_24" HREF="terminal_interface-curses-menus__ads.htm#ref_401_24">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                       <span class="symbol"><A NAME="ref_442_24" HREF="terminal_interface-curses-menus__ads.htm#ref_402_24">Mark</A></span> : String)
+<span class="comment"><em>-------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_441_14" href="terminal_interface-curses-menus__ads.htm#ref_402_14">Set_Mark</a></span> (<span class="symbol"><a name="ref_441_24" href="terminal_interface-curses-menus__ads.htm#ref_402_24">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                       <span class="symbol"><a name="ref_442_24" href="terminal_interface-curses-menus__ads.htm#ref_403_24">Mark</a></span> : String)
    <b>is</b>
-      <b>type</b> <span class="symbol"><A NAME="ref_444_12">Char_Ptr</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.char;
-      <b>function</b> <span class="symbol"><A NAME="ref_445_16">Set_Mark</A></span> (<span class="symbol"><A NAME="ref_445_26" HREF="terminal_interface-curses-menus__adb.htm#ref_445_16">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                         <span class="symbol"><A NAME="ref_446_26" HREF="terminal_interface-curses-menus__adb.htm#ref_445_16">Mark</A></span> : <A HREF="terminal_interface-curses-menus__adb.htm#ref_444_12">Char_Ptr</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>type</b> <span class="symbol"><a name="ref_444_12">Char_Ptr</a></span> <b>is</b> <b>access</b> <b>all</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.char;
+      <b>function</b> <span class="symbol"><a name="ref_445_16">Set_Mark</a></span> (<span class="symbol"><a name="ref_445_26">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                         <span class="symbol"><a name="ref_446_26">Mark</a></span> : <a href="terminal_interface-curses-menus__adb.htm#ref_444_12">Char_Ptr</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Mark, "set_menu_mark");
 
-      <span class="symbol"><A NAME="ref_449_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses-menus__ads.htm#ref_402_24">Mark</A>'Length);
-      <span class="symbol"><A NAME="ref_450_7">Len</A></span> : size_t;
+      <span class="symbol"><a name="ref_449_7">Txt</a></span> : char_array (0 .. <a href="terminal_interface-curses-menus__ads.htm#ref_403_24">Mark</a>'Length);
+      <span class="symbol"><a name="ref_450_7">Len</a></span> : size_t;
    <b>begin</b>
-      To_C (<A HREF="terminal_interface-curses-menus__ads.htm#ref_402_24">Mark</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_449_7">Txt</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_450_7">Len</A>);
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_445_16">Set_Mark</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_401_24">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_449_7">Txt</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_449_7">Txt</A>'First)'<b>Access</b>));
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_401_14">Set_Mark</A>;
+      To_C (<a href="terminal_interface-curses-menus__ads.htm#ref_403_24">Mark</a>, <a href="terminal_interface-curses-menus__adb.htm#ref_449_7">Txt</a>, <a href="terminal_interface-curses-menus__adb.htm#ref_450_7">Len</a>);
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_445_16">Set_Mark</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_402_24">Men</a>, <a href="terminal_interface-curses-menus__adb.htm#ref_449_7">Txt</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_449_7">Txt</a>'First)'<b>Access</b>));
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_402_14">Set_Mark</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_456_14" HREF="terminal_interface-curses-menus__ads.htm#ref_407_14">Mark</A></span> (<span class="symbol"><A NAME="ref_456_20" HREF="terminal_interface-curses-menus__ads.htm#ref_407_20">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                   <span class="symbol"><A NAME="ref_457_20" HREF="terminal_interface-curses-menus__ads.htm#ref_408_20">Mark</A></span> : <b>out</b> String)
+   <b>procedure</b> <span class="symbol"><a name="ref_456_14" href="terminal_interface-curses-menus__ads.htm#ref_408_14">Mark</a></span> (<span class="symbol"><a name="ref_456_20" href="terminal_interface-curses-menus__ads.htm#ref_408_20">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                   <span class="symbol"><a name="ref_457_20" href="terminal_interface-curses-menus__ads.htm#ref_409_20">Mark</a></span> : <b>out</b> String)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_459_16">Get_Menu_Mark</A></span> (<span class="symbol"><A NAME="ref_459_31" HREF="terminal_interface-curses-menus__adb.htm#ref_459_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</A>;
+      <b>function</b> <span class="symbol"><a name="ref_459_16">Get_Menu_Mark</a></span> (<span class="symbol"><a name="ref_459_31">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</a>;
       <b>pragma</b> Import (C, Get_Menu_Mark, "menu_mark");
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_92_14">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_459_16">Get_Menu_Mark</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_407_20">Men</A>), <A HREF="terminal_interface-curses-menus__ads.htm#ref_408_20">Mark</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_407_14">Mark</A>;
+      <a href="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_459_16">Get_Menu_Mark</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_408_20">Men</a>), <a href="terminal_interface-curses-menus__ads.htm#ref_409_20">Mark</a>);
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_408_14">Mark</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_465_13" HREF="terminal_interface-curses-menus__ads.htm#ref_411_14">Mark</A></span> (<span class="symbol"><A NAME="ref_465_19" HREF="terminal_interface-curses-menus__ads.htm#ref_411_20">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> String
+   <b>function</b> <span class="symbol"><a name="ref_465_13" href="terminal_interface-curses-menus__ads.htm#ref_412_14">Mark</a></span> (<span class="symbol"><a name="ref_465_19" href="terminal_interface-curses-menus__ads.htm#ref_412_20">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> String
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_467_16">Get_Menu_Mark</A></span> (<span class="symbol"><A NAME="ref_467_31" HREF="terminal_interface-curses-menus__adb.htm#ref_467_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</A>;
+      <b>function</b> <span class="symbol"><a name="ref_467_16">Get_Menu_Mark</a></span> (<span class="symbol"><a name="ref_467_31">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</a>;
       <b>pragma</b> Import (C, Get_Menu_Mark, "menu_mark");
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_97_13">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_467_16">Get_Menu_Mark</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_411_20">Men</A>));
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_411_14">Mark</A>;
+      <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_467_16">Get_Menu_Mark</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_412_20">Men</a>));
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_412_14">Mark</a>;
 
-<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_474_14" HREF="terminal_interface-curses-menus__ads.htm#ref_421_14">Set_Foreground</A></span>
-     (<span class="symbol"><A NAME="ref_475_7" HREF="terminal_interface-curses-menus__ads.htm#ref_422_7">Men</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-      <span class="symbol"><A NAME="ref_476_7" HREF="terminal_interface-curses-menus__ads.htm#ref_423_7">Fore</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
-      <span class="symbol"><A NAME="ref_477_7" HREF="terminal_interface-curses-menus__ads.htm#ref_424_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First)
+<span class="comment"><em>-------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_474_14" href="terminal_interface-curses-menus__ads.htm#ref_422_14">Set_Foreground</a></span>
+     (<span class="symbol"><a name="ref_475_7" href="terminal_interface-curses-menus__ads.htm#ref_423_7">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+      <span class="symbol"><a name="ref_476_7" href="terminal_interface-curses-menus__ads.htm#ref_424_7">Fore</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>;
+      <span class="symbol"><a name="ref_477_7" href="terminal_interface-curses-menus__ads.htm#ref_425_7">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_479_16">Set_Menu_Fore</A></span> (<span class="symbol"><A NAME="ref_479_31" HREF="terminal_interface-curses-menus__adb.htm#ref_479_16">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                              <span class="symbol"><A NAME="ref_480_31" HREF="terminal_interface-curses-menus__adb.htm#ref_479_16">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_479_16">Set_Menu_Fore</a></span> (<span class="symbol"><a name="ref_479_31">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                              <span class="symbol"><a name="ref_480_31">Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Menu_Fore, "set_menu_fore");
 
-      <span class="symbol"><A NAME="ref_483_7">Ch</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A>    =&gt; Character'First,
-                                             <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#ref_424_7">Color</A>,
-                                             <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>  =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#ref_423_7">Fore</A>);
+      <span class="symbol"><a name="ref_483_7">Ch</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := (<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a>    =&gt; Character'First,
+                                             <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> =&gt; <a href="terminal_interface-curses-menus__ads.htm#ref_425_7">Color</a>,
+                                             <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>  =&gt; <a href="terminal_interface-curses-menus__ads.htm#ref_424_7">Fore</a>);
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_479_16">Set_Menu_Fore</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_422_7">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_483_7">Ch</A>));
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_421_14">Set_Foreground</A>;
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_479_16">Set_Menu_Fore</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_423_7">Men</a>, <a href="terminal_interface-curses-menus__adb.htm#ref_483_7">Ch</a>));
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_422_14">Set_Foreground</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_490_14" HREF="terminal_interface-curses-menus__ads.htm#ref_429_14">Foreground</A></span> (<span class="symbol"><A NAME="ref_490_26" HREF="terminal_interface-curses-menus__ads.htm#ref_429_26">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                         <span class="symbol"><A NAME="ref_491_26" HREF="terminal_interface-curses-menus__ads.htm#ref_430_26">Fore</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_490_14" href="terminal_interface-curses-menus__ads.htm#ref_430_14">Foreground</a></span> (<span class="symbol"><a name="ref_490_26" href="terminal_interface-curses-menus__ads.htm#ref_430_26">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                         <span class="symbol"><a name="ref_491_26" href="terminal_interface-curses-menus__ads.htm#ref_431_26">Fore</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_493_16">Menu_Fore</A></span> (<span class="symbol"><A NAME="ref_493_27" HREF="terminal_interface-curses-menus__adb.htm#ref_493_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
+      <b>function</b> <span class="symbol"><a name="ref_493_16">Menu_Fore</a></span> (<span class="symbol"><a name="ref_493_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
       <b>pragma</b> Import (C, Menu_Fore, "menu_fore");
    <b>begin</b>
-      <A HREF="terminal_interface-curses-menus__ads.htm#ref_430_26">Fore</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_493_16">Menu_Fore</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_429_26">Men</A>).<A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>;
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_429_14">Foreground</A>;
+      <a href="terminal_interface-curses-menus__ads.htm#ref_431_26">Fore</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_493_16">Menu_Fore</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_430_26">Men</a>).<a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>;
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_430_14">Foreground</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_499_14" HREF="terminal_interface-curses-menus__ads.htm#ref_434_14">Foreground</A></span> (<span class="symbol"><A NAME="ref_499_26" HREF="terminal_interface-curses-menus__ads.htm#ref_434_26">Men</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                         <span class="symbol"><A NAME="ref_500_26" HREF="terminal_interface-curses-menus__ads.htm#ref_435_26">Fore</A></span>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>;
-                         <span class="symbol"><A NAME="ref_501_26" HREF="terminal_interface-curses-menus__ads.htm#ref_436_26">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_499_14" href="terminal_interface-curses-menus__ads.htm#ref_435_14">Foreground</a></span> (<span class="symbol"><a name="ref_499_26" href="terminal_interface-curses-menus__ads.htm#ref_435_26">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                         <span class="symbol"><a name="ref_500_26" href="terminal_interface-curses-menus__ads.htm#ref_436_26">Fore</a></span>  : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>;
+                         <span class="symbol"><a name="ref_501_26" href="terminal_interface-curses-menus__ads.htm#ref_437_26">Color</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_503_16">Menu_Fore</A></span> (<span class="symbol"><A NAME="ref_503_27" HREF="terminal_interface-curses-menus__adb.htm#ref_503_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
+      <b>function</b> <span class="symbol"><a name="ref_503_16">Menu_Fore</a></span> (<span class="symbol"><a name="ref_503_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
       <b>pragma</b> Import (C, Menu_Fore, "menu_fore");
    <b>begin</b>
-      <A HREF="terminal_interface-curses-menus__ads.htm#ref_435_26">Fore</A>  := <A HREF="terminal_interface-curses-menus__adb.htm#ref_503_16">Menu_Fore</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_434_26">Men</A>).<A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>;
-      <A HREF="terminal_interface-curses-menus__ads.htm#ref_436_26">Color</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_503_16">Menu_Fore</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_434_26">Men</A>).<A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A>;
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_434_14">Foreground</A>;
+      <a href="terminal_interface-curses-menus__ads.htm#ref_436_26">Fore</a>  := <a href="terminal_interface-curses-menus__adb.htm#ref_503_16">Menu_Fore</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_435_26">Men</a>).<a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>;
+      <a href="terminal_interface-curses-menus__ads.htm#ref_437_26">Color</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_503_16">Menu_Fore</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_435_26">Men</a>).<a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a>;
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_435_14">Foreground</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_510_14" HREF="terminal_interface-curses-menus__ads.htm#ref_441_14">Set_Background</A></span>
-     (<span class="symbol"><A NAME="ref_511_7" HREF="terminal_interface-curses-menus__ads.htm#ref_442_7">Men</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-      <span class="symbol"><A NAME="ref_512_7" HREF="terminal_interface-curses-menus__ads.htm#ref_443_7">Back</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
-      <span class="symbol"><A NAME="ref_513_7" HREF="terminal_interface-curses-menus__ads.htm#ref_444_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First)
+   <b>procedure</b> <span class="symbol"><a name="ref_510_14" href="terminal_interface-curses-menus__ads.htm#ref_442_14">Set_Background</a></span>
+     (<span class="symbol"><a name="ref_511_7" href="terminal_interface-curses-menus__ads.htm#ref_443_7">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+      <span class="symbol"><a name="ref_512_7" href="terminal_interface-curses-menus__ads.htm#ref_444_7">Back</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>;
+      <span class="symbol"><a name="ref_513_7" href="terminal_interface-curses-menus__ads.htm#ref_445_7">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_515_16">Set_Menu_Back</A></span> (<span class="symbol"><A NAME="ref_515_31" HREF="terminal_interface-curses-menus__adb.htm#ref_515_16">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                              <span class="symbol"><A NAME="ref_516_31" HREF="terminal_interface-curses-menus__adb.htm#ref_515_16">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_515_16">Set_Menu_Back</a></span> (<span class="symbol"><a name="ref_515_31">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                              <span class="symbol"><a name="ref_516_31">Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Menu_Back, "set_menu_back");
 
-      <span class="symbol"><A NAME="ref_519_7">Ch</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A>    =&gt; Character'First,
-                                             <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#ref_444_7">Color</A>,
-                                             <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>  =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#ref_443_7">Back</A>);
+      <span class="symbol"><a name="ref_519_7">Ch</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := (<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a>    =&gt; Character'First,
+                                             <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> =&gt; <a href="terminal_interface-curses-menus__ads.htm#ref_445_7">Color</a>,
+                                             <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>  =&gt; <a href="terminal_interface-curses-menus__ads.htm#ref_444_7">Back</a>);
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_515_16">Set_Menu_Back</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_442_7">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_519_7">Ch</A>));
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_441_14">Set_Background</A>;
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_515_16">Set_Menu_Back</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_443_7">Men</a>, <a href="terminal_interface-curses-menus__adb.htm#ref_519_7">Ch</a>));
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_442_14">Set_Background</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_526_14" HREF="terminal_interface-curses-menus__ads.htm#ref_449_14">Background</A></span> (<span class="symbol"><A NAME="ref_526_26" HREF="terminal_interface-curses-menus__ads.htm#ref_449_26">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                         <span class="symbol"><A NAME="ref_527_26" HREF="terminal_interface-curses-menus__ads.htm#ref_450_26">Back</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_526_14" href="terminal_interface-curses-menus__ads.htm#ref_450_14">Background</a></span> (<span class="symbol"><a name="ref_526_26" href="terminal_interface-curses-menus__ads.htm#ref_450_26">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                         <span class="symbol"><a name="ref_527_26" href="terminal_interface-curses-menus__ads.htm#ref_451_26">Back</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_529_16">Menu_Back</A></span> (<span class="symbol"><A NAME="ref_529_27" HREF="terminal_interface-curses-menus__adb.htm#ref_529_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
+      <b>function</b> <span class="symbol"><a name="ref_529_16">Menu_Back</a></span> (<span class="symbol"><a name="ref_529_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
       <b>pragma</b> Import (C, Menu_Back, "menu_back");
    <b>begin</b>
-      <A HREF="terminal_interface-curses-menus__ads.htm#ref_450_26">Back</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_529_16">Menu_Back</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_449_26">Men</A>).<A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>;
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_449_14">Background</A>;
+      <a href="terminal_interface-curses-menus__ads.htm#ref_451_26">Back</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_529_16">Menu_Back</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_450_26">Men</a>).<a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>;
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_450_14">Background</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_535_14" HREF="terminal_interface-curses-menus__ads.htm#ref_454_14">Background</A></span> (<span class="symbol"><A NAME="ref_535_26" HREF="terminal_interface-curses-menus__ads.htm#ref_454_26">Men</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                         <span class="symbol"><A NAME="ref_536_26" HREF="terminal_interface-curses-menus__ads.htm#ref_455_26">Back</A></span>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>;
-                         <span class="symbol"><A NAME="ref_537_26" HREF="terminal_interface-curses-menus__ads.htm#ref_456_26">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_535_14" href="terminal_interface-curses-menus__ads.htm#ref_455_14">Background</a></span> (<span class="symbol"><a name="ref_535_26" href="terminal_interface-curses-menus__ads.htm#ref_455_26">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                         <span class="symbol"><a name="ref_536_26" href="terminal_interface-curses-menus__ads.htm#ref_456_26">Back</a></span>  : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>;
+                         <span class="symbol"><a name="ref_537_26" href="terminal_interface-curses-menus__ads.htm#ref_457_26">Color</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_539_16">Menu_Back</A></span> (<span class="symbol"><A NAME="ref_539_27" HREF="terminal_interface-curses-menus__adb.htm#ref_539_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
+      <b>function</b> <span class="symbol"><a name="ref_539_16">Menu_Back</a></span> (<span class="symbol"><a name="ref_539_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
       <b>pragma</b> Import (C, Menu_Back, "menu_back");
    <b>begin</b>
-      <A HREF="terminal_interface-curses-menus__ads.htm#ref_455_26">Back</A>  := <A HREF="terminal_interface-curses-menus__adb.htm#ref_539_16">Menu_Back</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_454_26">Men</A>).<A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>;
-      <A HREF="terminal_interface-curses-menus__ads.htm#ref_456_26">Color</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_539_16">Menu_Back</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_454_26">Men</A>).<A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A>;
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_454_14">Background</A>;
+      <a href="terminal_interface-curses-menus__ads.htm#ref_456_26">Back</a>  := <a href="terminal_interface-curses-menus__adb.htm#ref_539_16">Menu_Back</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_455_26">Men</a>).<a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>;
+      <a href="terminal_interface-curses-menus__ads.htm#ref_457_26">Color</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_539_16">Menu_Back</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_455_26">Men</a>).<a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a>;
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_455_14">Background</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_546_14" HREF="terminal_interface-curses-menus__ads.htm#ref_461_14">Set_Grey</A></span> (<span class="symbol"><A NAME="ref_546_24" HREF="terminal_interface-curses-menus__ads.htm#ref_462_7">Men</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                       <span class="symbol"><A NAME="ref_547_24" HREF="terminal_interface-curses-menus__ads.htm#ref_463_7">Grey</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
-                       <span class="symbol"><A NAME="ref_548_24" HREF="terminal_interface-curses-menus__ads.htm#ref_464_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First)
+   <b>procedure</b> <span class="symbol"><a name="ref_546_14" href="terminal_interface-curses-menus__ads.htm#ref_462_14">Set_Grey</a></span> (<span class="symbol"><a name="ref_546_24" href="terminal_interface-curses-menus__ads.htm#ref_463_7">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                       <span class="symbol"><a name="ref_547_24" href="terminal_interface-curses-menus__ads.htm#ref_464_7">Grey</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>;
+                       <span class="symbol"><a name="ref_548_24" href="terminal_interface-curses-menus__ads.htm#ref_465_7">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_550_16">Set_Menu_Grey</A></span> (<span class="symbol"><A NAME="ref_550_31" HREF="terminal_interface-curses-menus__adb.htm#ref_550_16">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                              <span class="symbol"><A NAME="ref_551_31" HREF="terminal_interface-curses-menus__adb.htm#ref_550_16">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_550_16">Set_Menu_Grey</a></span> (<span class="symbol"><a name="ref_550_31">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                              <span class="symbol"><a name="ref_551_31">Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Menu_Grey, "set_menu_grey");
 
-      <span class="symbol"><A NAME="ref_554_7">Ch</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A>    =&gt; Character'First,
-                                             <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#ref_464_7">Color</A>,
-                                             <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>  =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#ref_463_7">Grey</A>);
+      <span class="symbol"><a name="ref_554_7">Ch</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := (<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a>    =&gt; Character'First,
+                                             <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> =&gt; <a href="terminal_interface-curses-menus__ads.htm#ref_465_7">Color</a>,
+                                             <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>  =&gt; <a href="terminal_interface-curses-menus__ads.htm#ref_464_7">Grey</a>);
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_550_16">Set_Menu_Grey</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_462_7">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_554_7">Ch</A>));
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_461_14">Set_Grey</A>;
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_550_16">Set_Menu_Grey</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_463_7">Men</a>, <a href="terminal_interface-curses-menus__adb.htm#ref_554_7">Ch</a>));
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_462_14">Set_Grey</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_562_14" HREF="terminal_interface-curses-menus__ads.htm#ref_469_14">Grey</A></span> (<span class="symbol"><A NAME="ref_562_20" HREF="terminal_interface-curses-menus__ads.htm#ref_469_20">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                   <span class="symbol"><A NAME="ref_563_20" HREF="terminal_interface-curses-menus__ads.htm#ref_470_20">Grey</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_562_14" href="terminal_interface-curses-menus__ads.htm#ref_470_14">Grey</a></span> (<span class="symbol"><a name="ref_562_20" href="terminal_interface-curses-menus__ads.htm#ref_470_20">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                   <span class="symbol"><a name="ref_563_20" href="terminal_interface-curses-menus__ads.htm#ref_471_20">Grey</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_565_16">Menu_Grey</A></span> (<span class="symbol"><A NAME="ref_565_27" HREF="terminal_interface-curses-menus__adb.htm#ref_565_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
+      <b>function</b> <span class="symbol"><a name="ref_565_16">Menu_Grey</a></span> (<span class="symbol"><a name="ref_565_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
       <b>pragma</b> Import (C, Menu_Grey, "menu_grey");
    <b>begin</b>
-      <A HREF="terminal_interface-curses-menus__ads.htm#ref_470_20">Grey</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_565_16">Menu_Grey</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_469_20">Men</A>).<A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>;
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_469_14">Grey</A>;
+      <a href="terminal_interface-curses-menus__ads.htm#ref_471_20">Grey</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_565_16">Menu_Grey</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_470_20">Men</a>).<a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>;
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_470_14">Grey</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_571_14" HREF="terminal_interface-curses-menus__ads.htm#ref_474_14">Grey</A></span> (<span class="symbol"><A NAME="ref_571_20" HREF="terminal_interface-curses-menus__ads.htm#ref_475_7">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                   <span class="symbol"><A NAME="ref_572_20" HREF="terminal_interface-curses-menus__ads.htm#ref_476_7">Grey</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>;
-                   <span class="symbol"><A NAME="ref_573_20" HREF="terminal_interface-curses-menus__ads.htm#ref_477_7">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_571_14" href="terminal_interface-curses-menus__ads.htm#ref_475_14">Grey</a></span> (<span class="symbol"><a name="ref_571_20" href="terminal_interface-curses-menus__ads.htm#ref_476_7">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                   <span class="symbol"><a name="ref_572_20" href="terminal_interface-curses-menus__ads.htm#ref_477_7">Grey</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>;
+                   <span class="symbol"><a name="ref_573_20" href="terminal_interface-curses-menus__ads.htm#ref_478_7">Color</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_575_16">Menu_Grey</A></span> (<span class="symbol"><A NAME="ref_575_27" HREF="terminal_interface-curses-menus__adb.htm#ref_575_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
+      <b>function</b> <span class="symbol"><a name="ref_575_16">Menu_Grey</a></span> (<span class="symbol"><a name="ref_575_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
       <b>pragma</b> Import (C, Menu_Grey, "menu_grey");
    <b>begin</b>
-      <A HREF="terminal_interface-curses-menus__ads.htm#ref_476_7">Grey</A>  := <A HREF="terminal_interface-curses-menus__adb.htm#ref_575_16">Menu_Grey</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_475_7">Men</A>).<A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>;
-      <A HREF="terminal_interface-curses-menus__ads.htm#ref_477_7">Color</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_575_16">Menu_Grey</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_475_7">Men</A>).<A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A>;
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_474_14">Grey</A>;
+      <a href="terminal_interface-curses-menus__ads.htm#ref_477_7">Grey</a>  := <a href="terminal_interface-curses-menus__adb.htm#ref_575_16">Menu_Grey</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_476_7">Men</a>).<a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>;
+      <a href="terminal_interface-curses-menus__ads.htm#ref_478_7">Color</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_575_16">Menu_Grey</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_476_7">Men</a>).<a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a>;
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_475_14">Grey</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_582_14" HREF="terminal_interface-curses-menus__ads.htm#ref_482_14">Set_Pad_Character</A></span> (<span class="symbol"><A NAME="ref_582_33" HREF="terminal_interface-curses-menus__ads.htm#ref_482_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                                <span class="symbol"><A NAME="ref_583_33" HREF="terminal_interface-curses-menus__ads.htm#ref_483_33">Pad</A></span> : Character := Space)
+   <b>procedure</b> <span class="symbol"><a name="ref_582_14" href="terminal_interface-curses-menus__ads.htm#ref_483_14">Set_Pad_Character</a></span> (<span class="symbol"><a name="ref_582_33" href="terminal_interface-curses-menus__ads.htm#ref_483_33">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                                <span class="symbol"><a name="ref_583_33" href="terminal_interface-curses-menus__ads.htm#ref_484_33">Pad</a></span> : Character := Space)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_585_16">Set_Menu_Pad</A></span> (<span class="symbol"><A NAME="ref_585_30" HREF="terminal_interface-curses-menus__adb.htm#ref_585_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                             <span class="symbol"><A NAME="ref_586_30" HREF="terminal_interface-curses-menus__adb.htm#ref_585_16">Ch</A></span>  : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_585_16">Set_Menu_Pad</a></span> (<span class="symbol"><a name="ref_585_30">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                             <span class="symbol"><a name="ref_586_30">Ch</a></span>  : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Menu_Pad, "set_menu_pad");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_585_16">Set_Menu_Pad</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_482_33">Men</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (Character'Pos (<A HREF="terminal_interface-curses-menus__ads.htm#ref_483_33">Pad</A>))));
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_482_14">Set_Pad_Character</A>;
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_585_16">Set_Menu_Pad</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_483_33">Men</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (Character'Pos (<a href="terminal_interface-curses-menus__ads.htm#ref_484_33">Pad</a>))));
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_483_14">Set_Pad_Character</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_593_14" HREF="terminal_interface-curses-menus__ads.htm#ref_488_14">Pad_Character</A></span> (<span class="symbol"><A NAME="ref_593_29" HREF="terminal_interface-curses-menus__ads.htm#ref_488_29">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                            <span class="symbol"><A NAME="ref_594_29" HREF="terminal_interface-curses-menus__ads.htm#ref_489_29">Pad</A></span> : <b>out</b> Character)
+   <b>procedure</b> <span class="symbol"><a name="ref_593_14" href="terminal_interface-curses-menus__ads.htm#ref_489_14">Pad_Character</a></span> (<span class="symbol"><a name="ref_593_29" href="terminal_interface-curses-menus__ads.htm#ref_489_29">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                            <span class="symbol"><a name="ref_594_29" href="terminal_interface-curses-menus__ads.htm#ref_490_29">Pad</a></span> : <b>out</b> Character)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_596_16">Menu_Pad</A></span> (<span class="symbol"><A NAME="ref_596_26" HREF="terminal_interface-curses-menus__adb.htm#ref_596_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_596_16">Menu_Pad</a></span> (<span class="symbol"><a name="ref_596_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Menu_Pad, "menu_pad");
    <b>begin</b>
-      <A HREF="terminal_interface-curses-menus__ads.htm#ref_489_29">Pad</A> := Character'Val (<A HREF="terminal_interface-curses-menus__adb.htm#ref_596_16">Menu_Pad</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_488_29">Men</A>));
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_488_14">Pad_Character</A>;
-<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_602_14" HREF="terminal_interface-curses-menus__ads.htm#ref_498_14">Set_Spacing</A></span> (<span class="symbol"><A NAME="ref_602_27" HREF="terminal_interface-curses-menus__ads.htm#ref_498_27">Men</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                          <span class="symbol"><A NAME="ref_603_27" HREF="terminal_interface-curses-menus__ads.htm#ref_499_27">Descr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> := 0;
-                          <span class="symbol"><A NAME="ref_604_27" HREF="terminal_interface-curses-menus__ads.htm#ref_500_27">Row</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>   := 0;
-                          <span class="symbol"><A NAME="ref_605_27" HREF="terminal_interface-curses-menus__ads.htm#ref_501_27">Col</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> := 0)
+      <a href="terminal_interface-curses-menus__ads.htm#ref_490_29">Pad</a> := Character'Val (<a href="terminal_interface-curses-menus__adb.htm#ref_596_16">Menu_Pad</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_489_29">Men</a>));
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_489_14">Pad_Character</a>;
+<span class="comment"><em>-------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_602_14" href="terminal_interface-curses-menus__ads.htm#ref_499_14">Set_Spacing</a></span> (<span class="symbol"><a name="ref_602_27" href="terminal_interface-curses-menus__ads.htm#ref_499_27">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                          <span class="symbol"><a name="ref_603_27" href="terminal_interface-curses-menus__ads.htm#ref_500_27">Descr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> := 0;
+                          <span class="symbol"><a name="ref_604_27" href="terminal_interface-curses-menus__ads.htm#ref_501_27">Row</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>   := 0;
+                          <span class="symbol"><a name="ref_605_27" href="terminal_interface-curses-menus__ads.htm#ref_502_27">Col</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> := 0)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_607_16">Set_Spacing</A></span> (<span class="symbol"><A NAME="ref_607_29" HREF="terminal_interface-curses-menus__adb.htm#ref_607_16">Men</A></span>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                            <span class="symbol"><A NAME="ref_608_29" HREF="terminal_interface-curses-menus__adb.htm#ref_607_16">D</A></span>, <span class="symbol"><A NAME="ref_608_32" HREF="terminal_interface-curses-menus__adb.htm#ref_607_16">R</A></span>, <span class="symbol"><A NAME="ref_608_35" HREF="terminal_interface-curses-menus__adb.htm#ref_607_16">C</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_607_16">Set_Spacing</a></span> (<span class="symbol"><a name="ref_607_29">Men</a></span>     : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                            <span class="symbol"><a name="ref_608_29">D</a></span>, <span class="symbol"><a name="ref_608_32">R</a></span>, <span class="symbol"><a name="ref_608_35">C</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Spacing, "set_menu_spacing");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_607_16">Set_Spacing</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_498_27">Men</A>,
-                                  <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_499_27">Descr</A>),
-                                  <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_500_27">Row</A>),
-                                  <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_501_27">Col</A>)));
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_498_14">Set_Spacing</A>;
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_607_16">Set_Spacing</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_499_27">Men</a>,
+                                  <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_500_27">Descr</a>),
+                                  <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_501_27">Row</a>),
+                                  <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_502_27">Col</a>)));
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_499_14">Set_Spacing</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_618_14" HREF="terminal_interface-curses-menus__ads.htm#ref_506_14">Spacing</A></span> (<span class="symbol"><A NAME="ref_618_23" HREF="terminal_interface-curses-menus__ads.htm#ref_506_23">Men</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                      <span class="symbol"><A NAME="ref_619_23" HREF="terminal_interface-curses-menus__ads.htm#ref_507_23">Descr</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-                      <span class="symbol"><A NAME="ref_620_23" HREF="terminal_interface-curses-menus__ads.htm#ref_508_23">Row</A></span>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-                      <span class="symbol"><A NAME="ref_621_23" HREF="terminal_interface-curses-menus__ads.htm#ref_509_23">Col</A></span>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_618_14" href="terminal_interface-curses-menus__ads.htm#ref_507_14">Spacing</a></span> (<span class="symbol"><a name="ref_618_23" href="terminal_interface-curses-menus__ads.htm#ref_507_23">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                      <span class="symbol"><a name="ref_619_23" href="terminal_interface-curses-menus__ads.htm#ref_508_23">Descr</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+                      <span class="symbol"><a name="ref_620_23" href="terminal_interface-curses-menus__ads.htm#ref_509_23">Row</a></span>   : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+                      <span class="symbol"><a name="ref_621_23" href="terminal_interface-curses-menus__ads.htm#ref_510_23">Col</a></span>   : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>)
    <b>is</b>
-      <b>type</b> <span class="symbol"><A NAME="ref_623_12">C_Int_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-      <b>function</b> <span class="symbol"><A NAME="ref_624_16">Get_Spacing</A></span> (<span class="symbol"><A NAME="ref_624_29" HREF="terminal_interface-curses-menus__adb.htm#ref_624_16">Men</A></span>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                            <span class="symbol"><A NAME="ref_625_29" HREF="terminal_interface-curses-menus__adb.htm#ref_624_16">D</A></span>, <span class="symbol"><A NAME="ref_625_32" HREF="terminal_interface-curses-menus__adb.htm#ref_624_16">R</A></span>, <span class="symbol"><A NAME="ref_625_35" HREF="terminal_interface-curses-menus__adb.htm#ref_624_16">C</A></span> : <A HREF="terminal_interface-curses-menus__adb.htm#ref_623_12">C_Int_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>type</b> <span class="symbol"><a name="ref_623_12">C_Int_Access</a></span> <b>is</b> <b>access</b> <b>all</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+      <b>function</b> <span class="symbol"><a name="ref_624_16">Get_Spacing</a></span> (<span class="symbol"><a name="ref_624_29">Men</a></span>     : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                            <span class="symbol"><a name="ref_625_29">D</a></span>, <span class="symbol"><a name="ref_625_32">R</a></span>, <span class="symbol"><a name="ref_625_35">C</a></span> : <a href="terminal_interface-curses-menus__adb.htm#ref_623_12">C_Int_Access</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Get_Spacing, "menu_spacing");
 
-      <span class="symbol"><A NAME="ref_628_7">D</A></span>, <span class="symbol"><A NAME="ref_628_10">R</A></span>, <span class="symbol"><A NAME="ref_628_13">C</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <span class="symbol"><a name="ref_628_7">D</a></span>, <span class="symbol"><a name="ref_628_10">R</a></span>, <span class="symbol"><a name="ref_628_13">C</a></span> : <b>aliased</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_624_16">Get_Spacing</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_506_23">Men</A>,
-                                  <A HREF="terminal_interface-curses-menus__adb.htm#ref_628_7">D</A>'<b>Access</b>,
-                                  <A HREF="terminal_interface-curses-menus__adb.htm#ref_628_10">R</A>'<b>Access</b>,
-                                  <A HREF="terminal_interface-curses-menus__adb.htm#ref_628_13">C</A>'<b>Access</b>));
-      <A HREF="terminal_interface-curses-menus__ads.htm#ref_507_23">Descr</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_628_7">D</A>);
-      <A HREF="terminal_interface-curses-menus__ads.htm#ref_508_23">Row</A>   := <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_628_10">R</A>);
-      <A HREF="terminal_interface-curses-menus__ads.htm#ref_509_23">Col</A>   := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_628_13">C</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_506_14">Spacing</A>;
-<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_639_13" HREF="terminal_interface-curses-menus__ads.htm#ref_518_13">Set_Pattern</A></span> (<span class="symbol"><A NAME="ref_639_26" HREF="terminal_interface-curses-menus__ads.htm#ref_518_26">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                         <span class="symbol"><A NAME="ref_640_26" HREF="terminal_interface-curses-menus__ads.htm#ref_519_26">Text</A></span> : String) <b>return</b> Boolean
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_624_16">Get_Spacing</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_507_23">Men</a>,
+                                  <a href="terminal_interface-curses-menus__adb.htm#ref_628_7">D</a>'<b>Access</b>,
+                                  <a href="terminal_interface-curses-menus__adb.htm#ref_628_10">R</a>'<b>Access</b>,
+                                  <a href="terminal_interface-curses-menus__adb.htm#ref_628_13">C</a>'<b>Access</b>));
+      <a href="terminal_interface-curses-menus__ads.htm#ref_508_23">Descr</a> := <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_628_7">D</a>);
+      <a href="terminal_interface-curses-menus__ads.htm#ref_509_23">Row</a>   := <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_628_10">R</a>);
+      <a href="terminal_interface-curses-menus__ads.htm#ref_510_23">Col</a>   := <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_628_13">C</a>);
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_507_14">Spacing</a>;
+<span class="comment"><em>-------------------------------------------------------------------------------</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_639_13" href="terminal_interface-curses-menus__ads.htm#ref_519_13">Set_Pattern</a></span> (<span class="symbol"><a name="ref_639_26" href="terminal_interface-curses-menus__ads.htm#ref_519_26">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                         <span class="symbol"><a name="ref_640_26" href="terminal_interface-curses-menus__ads.htm#ref_520_26">Text</a></span> : String) <b>return</b> Boolean
    <b>is</b>
-      <b>type</b> <span class="symbol"><A NAME="ref_642_12">Char_Ptr</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.char;
-      <b>function</b> <span class="symbol"><A NAME="ref_643_16">Set_Pattern</A></span> (<span class="symbol"><A NAME="ref_643_29" HREF="terminal_interface-curses-menus__adb.htm#ref_643_16">Men</A></span>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                            <span class="symbol"><A NAME="ref_644_29" HREF="terminal_interface-curses-menus__adb.htm#ref_643_16">Pattern</A></span> : <A HREF="terminal_interface-curses-menus__adb.htm#ref_642_12">Char_Ptr</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>type</b> <span class="symbol"><a name="ref_642_12">Char_Ptr</a></span> <b>is</b> <b>access</b> <b>all</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.char;
+      <b>function</b> <span class="symbol"><a name="ref_643_16">Set_Pattern</a></span> (<span class="symbol"><a name="ref_643_29">Men</a></span>     : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                            <span class="symbol"><a name="ref_644_29">Pattern</a></span> : <a href="terminal_interface-curses-menus__adb.htm#ref_642_12">Char_Ptr</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Pattern, "set_menu_pattern");
 
-      <span class="symbol"><A NAME="ref_647_7">S</A></span>   : char_array (0 .. <A HREF="terminal_interface-curses-menus__ads.htm#ref_519_26">Text</A>'Length);
-      <span class="symbol"><A NAME="ref_648_7">L</A></span>   : size_t;
-      <span class="symbol"><A NAME="ref_649_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <span class="symbol"><a name="ref_647_7">S</a></span>   : char_array (0 .. <a href="terminal_interface-curses-menus__ads.htm#ref_520_26">Text</a>'Length);
+      <span class="symbol"><a name="ref_648_7">L</a></span>   : size_t;
+      <span class="symbol"><a name="ref_649_7">Res</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
    <b>begin</b>
-      To_C (<A HREF="terminal_interface-curses-menus__ads.htm#ref_519_26">Text</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_647_7">S</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_648_7">L</A>);
-      <A HREF="terminal_interface-curses-menus__adb.htm#ref_649_7">Res</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_643_16">Set_Pattern</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_518_26">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_647_7">S</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_647_7">S</A>'First)'<b>Access</b>);
-      <b>case</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_649_7">Res</A> <b>is</b>
-         <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_77_7">E_No_Match</A> =&gt;
+      To_C (<a href="terminal_interface-curses-menus__ads.htm#ref_520_26">Text</a>, <a href="terminal_interface-curses-menus__adb.htm#ref_647_7">S</a>, <a href="terminal_interface-curses-menus__adb.htm#ref_648_7">L</a>);
+      <a href="terminal_interface-curses-menus__adb.htm#ref_649_7">Res</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_643_16">Set_Pattern</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_519_26">Men</a>, <a href="terminal_interface-curses-menus__adb.htm#ref_647_7">S</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_647_7">S</a>'First)'<b>Access</b>);
+      <b>case</b> <a href="terminal_interface-curses-menus__adb.htm#ref_649_7">Res</a> <b>is</b>
+         <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_76_7">E_No_Match</a> =&gt;
             <b>return</b> False;
          <b>when</b> <b>others</b> =&gt;
-            <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_649_7">Res</A>);
+            <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_649_7">Res</a>);
             <b>return</b> True;
       <b>end</b> <b>case</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_518_13">Set_Pattern</A>;
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_519_13">Set_Pattern</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_662_14" HREF="terminal_interface-curses-menus__ads.htm#ref_525_14">Pattern</A></span> (<span class="symbol"><A NAME="ref_662_23" HREF="terminal_interface-curses-menus__ads.htm#ref_525_23">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                      <span class="symbol"><A NAME="ref_663_23" HREF="terminal_interface-curses-menus__ads.htm#ref_526_23">Text</A></span> : <b>out</b> String)
+   <b>procedure</b> <span class="symbol"><a name="ref_662_14" href="terminal_interface-curses-menus__ads.htm#ref_526_14">Pattern</a></span> (<span class="symbol"><a name="ref_662_23" href="terminal_interface-curses-menus__ads.htm#ref_526_23">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                      <span class="symbol"><a name="ref_663_23" href="terminal_interface-curses-menus__ads.htm#ref_527_23">Text</a></span> : <b>out</b> String)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_665_16">Get_Pattern</A></span> (<span class="symbol"><A NAME="ref_665_29" HREF="terminal_interface-curses-menus__adb.htm#ref_665_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</A>;
+      <b>function</b> <span class="symbol"><a name="ref_665_16">Get_Pattern</a></span> (<span class="symbol"><a name="ref_665_29">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</a>;
       <b>pragma</b> Import (C, Get_Pattern, "menu_pattern");
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_92_14">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_665_16">Get_Pattern</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_525_23">Men</A>), <A HREF="terminal_interface-curses-menus__ads.htm#ref_526_23">Text</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_525_14">Pattern</A>;
-<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_671_14" HREF="terminal_interface-curses-menus__ads.htm#ref_535_14">Set_Format</A></span> (<span class="symbol"><A NAME="ref_671_26" HREF="terminal_interface-curses-menus__ads.htm#ref_535_26">Men</A></span>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                         <span class="symbol"><A NAME="ref_672_26" HREF="terminal_interface-curses-menus__ads.htm#ref_536_26">Lines</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
-                         <span class="symbol"><A NAME="ref_673_26" HREF="terminal_interface-curses-menus__ads.htm#ref_537_26">Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>)
+      <a href="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_665_16">Get_Pattern</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_526_23">Men</a>), <a href="terminal_interface-curses-menus__ads.htm#ref_527_23">Text</a>);
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_526_14">Pattern</a>;
+<span class="comment"><em>-------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_671_14" href="terminal_interface-curses-menus__ads.htm#ref_536_14">Set_Format</a></span> (<span class="symbol"><a name="ref_671_26" href="terminal_interface-curses-menus__ads.htm#ref_536_26">Men</a></span>     : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                         <span class="symbol"><a name="ref_672_26" href="terminal_interface-curses-menus__ads.htm#ref_537_26">Lines</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
+                         <span class="symbol"><a name="ref_673_26" href="terminal_interface-curses-menus__ads.htm#ref_538_26">Columns</a></span> : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_675_16">Set_Menu_Fmt</A></span> (<span class="symbol"><A NAME="ref_675_30" HREF="terminal_interface-curses-menus__adb.htm#ref_675_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                             <span class="symbol"><A NAME="ref_676_30" HREF="terminal_interface-curses-menus__adb.htm#ref_675_16">Lin</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-                             <span class="symbol"><A NAME="ref_677_30" HREF="terminal_interface-curses-menus__adb.htm#ref_675_16">Col</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_675_16">Set_Menu_Fmt</a></span> (<span class="symbol"><a name="ref_675_30">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                             <span class="symbol"><a name="ref_676_30">Lin</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+                             <span class="symbol"><a name="ref_677_30">Col</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Menu_Fmt, "set_menu_format");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_675_16">Set_Menu_Fmt</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_535_26">Men</A>,
-                                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_536_26">Lines</A>),
-                                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_537_26">Columns</A>)));
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_675_16">Set_Menu_Fmt</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_536_26">Men</a>,
+                                   <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_537_26">Lines</a>),
+                                   <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_538_26">Columns</a>)));
 
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_535_14">Set_Format</A>;
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_536_14">Set_Format</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_687_14" HREF="terminal_interface-curses-menus__ads.htm#ref_549_14">Format</A></span> (<span class="symbol"><A NAME="ref_687_22" HREF="terminal_interface-curses-menus__ads.htm#ref_549_22">Men</A></span>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                     <span class="symbol"><A NAME="ref_688_22" HREF="terminal_interface-curses-menus__ads.htm#ref_550_22">Lines</A></span>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
-                     <span class="symbol"><A NAME="ref_689_22" HREF="terminal_interface-curses-menus__ads.htm#ref_551_22">Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_687_14" href="terminal_interface-curses-menus__ads.htm#ref_550_14">Format</a></span> (<span class="symbol"><a name="ref_687_22" href="terminal_interface-curses-menus__ads.htm#ref_550_22">Men</a></span>     : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                     <span class="symbol"><a name="ref_688_22" href="terminal_interface-curses-menus__ads.htm#ref_551_22">Lines</a></span>   : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
+                     <span class="symbol"><a name="ref_689_22" href="terminal_interface-curses-menus__ads.htm#ref_552_22">Columns</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>)
    <b>is</b>
-      <b>type</b> <span class="symbol"><A NAME="ref_691_12">C_Int_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-      <b>function</b> <span class="symbol"><A NAME="ref_692_16">Menu_Fmt</A></span> (<span class="symbol"><A NAME="ref_692_26" HREF="terminal_interface-curses-menus__adb.htm#ref_692_16">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                         <span class="symbol"><A NAME="ref_693_26" HREF="terminal_interface-curses-menus__adb.htm#ref_692_16">Y</A></span>, <span class="symbol"><A NAME="ref_693_29" HREF="terminal_interface-curses-menus__adb.htm#ref_692_16">X</A></span> : <A HREF="terminal_interface-curses-menus__adb.htm#ref_691_12">C_Int_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>type</b> <span class="symbol"><a name="ref_691_12">C_Int_Access</a></span> <b>is</b> <b>access</b> <b>all</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+      <b>function</b> <span class="symbol"><a name="ref_692_16">Menu_Fmt</a></span> (<span class="symbol"><a name="ref_692_26">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                         <span class="symbol"><a name="ref_693_26">Y</a></span>, <span class="symbol"><a name="ref_693_29">X</a></span> : <a href="terminal_interface-curses-menus__adb.htm#ref_691_12">C_Int_Access</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Menu_Fmt, "menu_format");
 
-      <span class="symbol"><A NAME="ref_696_7">L</A></span>, <span class="symbol"><A NAME="ref_696_10">C</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <span class="symbol"><a name="ref_696_7">L</a></span>, <span class="symbol"><a name="ref_696_10">C</a></span> : <b>aliased</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_692_16">Menu_Fmt</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_549_22">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_696_7">L</A>'<b>Access</b>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_696_10">C</A>'<b>Access</b>));
-      <A HREF="terminal_interface-curses-menus__ads.htm#ref_550_22">Lines</A>   := <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_696_7">L</A>);
-      <A HREF="terminal_interface-curses-menus__ads.htm#ref_551_22">Columns</A> := <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_696_10">C</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_549_14">Format</A>;
-<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_703_14" HREF="terminal_interface-curses-menus__ads.htm#ref_563_14">Set_Item_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_703_34" HREF="terminal_interface-curses-menus__ads.htm#ref_563_34">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                                 <span class="symbol"><A NAME="ref_704_34" HREF="terminal_interface-curses-menus__ads.htm#ref_564_34">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>)
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_692_16">Menu_Fmt</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_550_22">Men</a>, <a href="terminal_interface-curses-menus__adb.htm#ref_696_7">L</a>'<b>Access</b>, <a href="terminal_interface-curses-menus__adb.htm#ref_696_10">C</a>'<b>Access</b>));
+      <a href="terminal_interface-curses-menus__ads.htm#ref_551_22">Lines</a>   := <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_696_7">L</a>);
+      <a href="terminal_interface-curses-menus__ads.htm#ref_552_22">Columns</a> := <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_696_10">C</a>);
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_550_14">Format</a>;
+<span class="comment"><em>-------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_703_14" href="terminal_interface-curses-menus__ads.htm#ref_564_14">Set_Item_Init_Hook</a></span> (<span class="symbol"><a name="ref_703_34" href="terminal_interface-curses-menus__ads.htm#ref_564_34">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                                 <span class="symbol"><a name="ref_704_34" href="terminal_interface-curses-menus__ads.htm#ref_565_34">Proc</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_706_16">Set_Item_Init</A></span> (<span class="symbol"><A NAME="ref_706_31" HREF="terminal_interface-curses-menus__adb.htm#ref_706_16">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                              <span class="symbol"><A NAME="ref_707_31" HREF="terminal_interface-curses-menus__adb.htm#ref_706_16">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_706_16">Set_Item_Init</a></span> (<span class="symbol"><a name="ref_706_31">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                              <span class="symbol"><a name="ref_707_31">Proc</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Item_Init, "set_item_init");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_706_16">Set_Item_Init</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_563_34">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_564_34">Proc</A>));
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_563_14">Set_Item_Init_Hook</A>;
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_706_16">Set_Item_Init</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_564_34">Men</a>, <a href="terminal_interface-curses-menus__ads.htm#ref_565_34">Proc</a>));
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_564_14">Set_Item_Init_Hook</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_714_14" HREF="terminal_interface-curses-menus__ads.htm#ref_569_14">Set_Item_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_714_34" HREF="terminal_interface-curses-menus__ads.htm#ref_569_34">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                                 <span class="symbol"><A NAME="ref_715_34" HREF="terminal_interface-curses-menus__ads.htm#ref_570_34">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_714_14" href="terminal_interface-curses-menus__ads.htm#ref_570_14">Set_Item_Term_Hook</a></span> (<span class="symbol"><a name="ref_714_34" href="terminal_interface-curses-menus__ads.htm#ref_570_34">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                                 <span class="symbol"><a name="ref_715_34" href="terminal_interface-curses-menus__ads.htm#ref_571_34">Proc</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_717_16">Set_Item_Term</A></span> (<span class="symbol"><A NAME="ref_717_31" HREF="terminal_interface-curses-menus__adb.htm#ref_717_16">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                              <span class="symbol"><A NAME="ref_718_31" HREF="terminal_interface-curses-menus__adb.htm#ref_717_16">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_717_16">Set_Item_Term</a></span> (<span class="symbol"><a name="ref_717_31">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                              <span class="symbol"><a name="ref_718_31">Proc</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Item_Term, "set_item_term");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_717_16">Set_Item_Term</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_569_34">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_570_34">Proc</A>));
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_569_14">Set_Item_Term_Hook</A>;
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_717_16">Set_Item_Term</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_570_34">Men</a>, <a href="terminal_interface-curses-menus__ads.htm#ref_571_34">Proc</a>));
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_570_14">Set_Item_Term_Hook</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_725_14" HREF="terminal_interface-curses-menus__ads.htm#ref_575_14">Set_Menu_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_725_34" HREF="terminal_interface-curses-menus__ads.htm#ref_575_34">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                                 <span class="symbol"><A NAME="ref_726_34" HREF="terminal_interface-curses-menus__ads.htm#ref_576_34">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_725_14" href="terminal_interface-curses-menus__ads.htm#ref_576_14">Set_Menu_Init_Hook</a></span> (<span class="symbol"><a name="ref_725_34" href="terminal_interface-curses-menus__ads.htm#ref_576_34">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                                 <span class="symbol"><a name="ref_726_34" href="terminal_interface-curses-menus__ads.htm#ref_577_34">Proc</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_728_16">Set_Menu_Init</A></span> (<span class="symbol"><A NAME="ref_728_31" HREF="terminal_interface-curses-menus__adb.htm#ref_728_16">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                              <span class="symbol"><A NAME="ref_729_31" HREF="terminal_interface-curses-menus__adb.htm#ref_728_16">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_728_16">Set_Menu_Init</a></span> (<span class="symbol"><a name="ref_728_31">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                              <span class="symbol"><a name="ref_729_31">Proc</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Menu_Init, "set_menu_init");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_728_16">Set_Menu_Init</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_575_34">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_576_34">Proc</A>));
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_575_14">Set_Menu_Init_Hook</A>;
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_728_16">Set_Menu_Init</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_576_34">Men</a>, <a href="terminal_interface-curses-menus__ads.htm#ref_577_34">Proc</a>));
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_576_14">Set_Menu_Init_Hook</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_736_14" HREF="terminal_interface-curses-menus__ads.htm#ref_581_14">Set_Menu_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_736_34" HREF="terminal_interface-curses-menus__ads.htm#ref_581_34">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                                 <span class="symbol"><A NAME="ref_737_34" HREF="terminal_interface-curses-menus__ads.htm#ref_582_34">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_736_14" href="terminal_interface-curses-menus__ads.htm#ref_582_14">Set_Menu_Term_Hook</a></span> (<span class="symbol"><a name="ref_736_34" href="terminal_interface-curses-menus__ads.htm#ref_582_34">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                                 <span class="symbol"><a name="ref_737_34" href="terminal_interface-curses-menus__ads.htm#ref_583_34">Proc</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_739_16">Set_Menu_Term</A></span> (<span class="symbol"><A NAME="ref_739_31" HREF="terminal_interface-curses-menus__adb.htm#ref_739_16">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                              <span class="symbol"><A NAME="ref_740_31" HREF="terminal_interface-curses-menus__adb.htm#ref_739_16">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_739_16">Set_Menu_Term</a></span> (<span class="symbol"><a name="ref_739_31">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                              <span class="symbol"><a name="ref_740_31">Proc</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Menu_Term, "set_menu_term");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_739_16">Set_Menu_Term</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_581_34">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_582_34">Proc</A>));
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_581_14">Set_Menu_Term_Hook</A>;
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_739_16">Set_Menu_Term</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_582_34">Men</a>, <a href="terminal_interface-curses-menus__ads.htm#ref_583_34">Proc</a>));
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_582_14">Set_Menu_Term_Hook</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_747_13" HREF="terminal_interface-curses-menus__ads.htm#ref_587_13">Get_Item_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_747_33" HREF="terminal_interface-curses-menus__ads.htm#ref_587_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>
+   <b>function</b> <span class="symbol"><a name="ref_747_13" href="terminal_interface-curses-menus__ads.htm#ref_588_13">Get_Item_Init_Hook</a></span> (<span class="symbol"><a name="ref_747_33" href="terminal_interface-curses-menus__ads.htm#ref_588_33">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_749_16">Item_Init</A></span> (<span class="symbol"><A NAME="ref_749_27" HREF="terminal_interface-curses-menus__adb.htm#ref_749_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>;
+      <b>function</b> <span class="symbol"><a name="ref_749_16">Item_Init</a></span> (<span class="symbol"><a name="ref_749_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>;
       <b>pragma</b> Import (C, Item_Init, "item_init");
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_749_16">Item_Init</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_587_33">Men</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_587_13">Get_Item_Init_Hook</A>;
+      <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_749_16">Item_Init</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_588_33">Men</a>);
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_588_13">Get_Item_Init_Hook</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_755_13" HREF="terminal_interface-curses-menus__ads.htm#ref_592_13">Get_Item_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_755_33" HREF="terminal_interface-curses-menus__ads.htm#ref_592_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>
+   <b>function</b> <span class="symbol"><a name="ref_755_13" href="terminal_interface-curses-menus__ads.htm#ref_593_13">Get_Item_Term_Hook</a></span> (<span class="symbol"><a name="ref_755_33" href="terminal_interface-curses-menus__ads.htm#ref_593_33">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_757_16">Item_Term</A></span> (<span class="symbol"><A NAME="ref_757_27" HREF="terminal_interface-curses-menus__adb.htm#ref_757_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>;
+      <b>function</b> <span class="symbol"><a name="ref_757_16">Item_Term</a></span> (<span class="symbol"><a name="ref_757_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>;
       <b>pragma</b> Import (C, Item_Term, "item_term");
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_757_16">Item_Term</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_592_33">Men</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_592_13">Get_Item_Term_Hook</A>;
+      <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_757_16">Item_Term</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_593_33">Men</a>);
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_593_13">Get_Item_Term_Hook</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_763_13" HREF="terminal_interface-curses-menus__ads.htm#ref_597_13">Get_Menu_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_763_33" HREF="terminal_interface-curses-menus__ads.htm#ref_597_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>
+   <b>function</b> <span class="symbol"><a name="ref_763_13" href="terminal_interface-curses-menus__ads.htm#ref_598_13">Get_Menu_Init_Hook</a></span> (<span class="symbol"><a name="ref_763_33" href="terminal_interface-curses-menus__ads.htm#ref_598_33">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_765_16">Menu_Init</A></span> (<span class="symbol"><A NAME="ref_765_27" HREF="terminal_interface-curses-menus__adb.htm#ref_765_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>;
+      <b>function</b> <span class="symbol"><a name="ref_765_16">Menu_Init</a></span> (<span class="symbol"><a name="ref_765_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>;
       <b>pragma</b> Import (C, Menu_Init, "menu_init");
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_765_16">Menu_Init</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_597_33">Men</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_597_13">Get_Menu_Init_Hook</A>;
+      <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_765_16">Menu_Init</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_598_33">Men</a>);
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_598_13">Get_Menu_Init_Hook</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_771_13" HREF="terminal_interface-curses-menus__ads.htm#ref_602_13">Get_Menu_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_771_33" HREF="terminal_interface-curses-menus__ads.htm#ref_602_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>
+   <b>function</b> <span class="symbol"><a name="ref_771_13" href="terminal_interface-curses-menus__ads.htm#ref_603_13">Get_Menu_Term_Hook</a></span> (<span class="symbol"><a name="ref_771_33" href="terminal_interface-curses-menus__ads.htm#ref_603_33">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_773_16">Menu_Term</A></span> (<span class="symbol"><A NAME="ref_773_27" HREF="terminal_interface-curses-menus__adb.htm#ref_773_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>;
+      <b>function</b> <span class="symbol"><a name="ref_773_16">Menu_Term</a></span> (<span class="symbol"><a name="ref_773_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>;
       <b>pragma</b> Import (C, Menu_Term, "menu_term");
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_773_16">Menu_Term</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_602_33">Men</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_602_13">Get_Menu_Term_Hook</A>;
-<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_779_14" HREF="terminal_interface-curses-menus__ads.htm#ref_611_14">Redefine</A></span> (<span class="symbol"><A NAME="ref_779_24" HREF="terminal_interface-curses-menus__ads.htm#ref_611_24">Men</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                       <span class="symbol"><A NAME="ref_780_24" HREF="terminal_interface-curses-menus__ads.htm#ref_612_24">Items</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_176_9">Item_Array_Access</A>)
+      <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_773_16">Menu_Term</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_603_33">Men</a>);
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_603_13">Get_Menu_Term_Hook</a>;
+<span class="comment"><em>-------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_779_14" href="terminal_interface-curses-menus__ads.htm#ref_612_14">Redefine</a></span> (<span class="symbol"><a name="ref_779_24" href="terminal_interface-curses-menus__ads.htm#ref_612_24">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                       <span class="symbol"><a name="ref_780_24" href="terminal_interface-curses-menus__ads.htm#ref_613_24">Items</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_177_9">Item_Array_Access</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_782_16">Set_Items</A></span> (<span class="symbol"><A NAME="ref_782_27" HREF="terminal_interface-curses-menus__adb.htm#ref_782_16">Men</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                          <span class="symbol"><A NAME="ref_783_27" HREF="terminal_interface-curses-menus__adb.htm#ref_782_16">Items</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_782_16">Set_Items</a></span> (<span class="symbol"><a name="ref_782_27">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                          <span class="symbol"><a name="ref_783_27">Items</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Set_Items, "set_menu_items");
 
    <b>begin</b>
-      <b>pragma</b> Assert (<A HREF="terminal_interface-curses-menus__ads.htm#ref_612_24">Items</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_612_24">Items</A>'Last) = <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_4">Null_Item</A>);
-      <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_612_24">Items</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_612_24">Items</A>'Last) /= <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_4">Null_Item</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_111_4">Menu_Exception</A>;
+      <b>pragma</b> Assert (<a href="terminal_interface-curses-menus__ads.htm#ref_613_24">Items</a>.<b>all</b> (<a href="terminal_interface-curses-menus__ads.htm#ref_613_24">Items</a>'Last) = <a href="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</a>);
+      <b>if</b> <a href="terminal_interface-curses-menus__ads.htm#ref_613_24">Items</a>.<b>all</b> (<a href="terminal_interface-curses-menus__ads.htm#ref_613_24">Items</a>'Last) /= <a href="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses-menus__ads.htm#ref_112_4">Menu_Exception</a>;
       <b>else</b>
-         <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_782_16">Set_Items</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_611_24">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_612_24">Items</A>.<b>all</b>'Address));
+         <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_782_16">Set_Items</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_612_24">Men</a>, <a href="terminal_interface-curses-menus__ads.htm#ref_613_24">Items</a>.<b>all</b>'Address));
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_611_14">Redefine</A>;
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_612_14">Redefine</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_795_13" HREF="terminal_interface-curses-menus__ads.htm#ref_627_13">Item_Count</A></span> (<span class="symbol"><A NAME="ref_795_25" HREF="terminal_interface-curses-menus__ads.htm#ref_627_25">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> Natural
+   <b>function</b> <span class="symbol"><a name="ref_795_13" href="terminal_interface-curses-menus__ads.htm#ref_628_13">Item_Count</a></span> (<span class="symbol"><a name="ref_795_25" href="terminal_interface-curses-menus__ads.htm#ref_628_25">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> Natural
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_797_16">Count</A></span> (<span class="symbol"><A NAME="ref_797_23" HREF="terminal_interface-curses-menus__adb.htm#ref_797_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_797_16">Count</a></span> (<span class="symbol"><a name="ref_797_23">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Count, "item_count");
    <b>begin</b>
-      <b>return</b> Natural (<A HREF="terminal_interface-curses-menus__adb.htm#ref_797_16">Count</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_627_25">Men</A>));
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_627_13">Item_Count</A>;
+      <b>return</b> Natural (<a href="terminal_interface-curses-menus__adb.htm#ref_797_16">Count</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_628_25">Men</a>));
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_628_13">Item_Count</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_803_13" HREF="terminal_interface-curses-menus__ads.htm#ref_621_13">Items</A></span> (<span class="symbol"><A NAME="ref_803_20" HREF="terminal_interface-curses-menus__ads.htm#ref_621_20">Men</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                   <span class="symbol"><A NAME="ref_804_20" HREF="terminal_interface-curses-menus__ads.htm#ref_622_20">Index</A></span> : Positive) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>
+   <b>function</b> <span class="symbol"><a name="ref_803_13" href="terminal_interface-curses-menus__ads.htm#ref_622_13">Items</a></span> (<span class="symbol"><a name="ref_803_20" href="terminal_interface-curses-menus__ads.htm#ref_622_20">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                   <span class="symbol"><a name="ref_804_20" href="terminal_interface-curses-menus__ads.htm#ref_623_20">Index</a></span> : Positive) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>
    <b>is</b>
       <b>use</b> I_Array;
 
-      <b>function</b> C_Mitems (<span class="symbol"><A NAME="ref_808_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> Pointer;
+      <b>function</b> C_Mitems (<span class="symbol"><a name="ref_808_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> Pointer;
       <b>pragma</b> Import (C, C_Mitems, "menu_items");
 
-      P : Pointer := C_Mitems (<A HREF="terminal_interface-curses-menus__ads.htm#ref_621_20">Men</A>);
+      P : Pointer := C_Mitems (<a href="terminal_interface-curses-menus__ads.htm#ref_622_20">Men</a>);
    <b>begin</b>
-      <b>if</b> P = <b>null</b> <b>or</b> <b>else</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_622_20">Index</A> &gt; <A HREF="terminal_interface-curses-menus__ads.htm#ref_627_13">Item_Count</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_621_20">Men</A>) <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_111_4">Menu_Exception</A>;
+      <b>if</b> P = <b>null</b> <b>or</b> <b>else</b> <a href="terminal_interface-curses-menus__ads.htm#ref_623_20">Index</a> &gt; <a href="terminal_interface-curses-menus__ads.htm#ref_628_13">Item_Count</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_622_20">Men</a>) <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses-menus__ads.htm#ref_112_4">Menu_Exception</a>;
       <b>else</b>
-         P := P + ptrdiff_t (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_622_20">Index</A>) - 1);
+         P := P + ptrdiff_t (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_623_20">Index</a>) - 1);
          <b>return</b> P.<b>all</b>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_621_13">Items</A>;
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_622_13">Items</a>;
 
-<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_822_13" HREF="terminal_interface-curses-menus__ads.htm#ref_636_13">Create</A></span> (<span class="symbol"><A NAME="ref_822_21" HREF="terminal_interface-curses-menus__ads.htm#ref_636_21">Items</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_176_9">Item_Array_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>
+<span class="comment"><em>-------------------------------------------------------------------------------</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_822_13" href="terminal_interface-curses-menus__ads.htm#ref_637_13">Create</a></span> (<span class="symbol"><a name="ref_822_21" href="terminal_interface-curses-menus__ads.htm#ref_637_21">Items</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_177_9">Item_Array_Access</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_824_16">Newmenu</A></span> (<span class="symbol"><A NAME="ref_824_25" HREF="terminal_interface-curses-menus__adb.htm#ref_824_16">Items</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+      <b>function</b> <span class="symbol"><a name="ref_824_16">Newmenu</a></span> (<span class="symbol"><a name="ref_824_25">Items</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
       <b>pragma</b> Import (C, Newmenu, "new_menu");
 
-      <span class="symbol"><A NAME="ref_827_7">M</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+      <span class="symbol"><a name="ref_827_7">M</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
    <b>begin</b>
-      <b>pragma</b> Assert (<A HREF="terminal_interface-curses-menus__ads.htm#ref_636_21">Items</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_636_21">Items</A>'Last) = <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_4">Null_Item</A>);
-      <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_636_21">Items</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_636_21">Items</A>'Last) /= <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_4">Null_Item</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_111_4">Menu_Exception</A>;
+      <b>pragma</b> Assert (<a href="terminal_interface-curses-menus__ads.htm#ref_637_21">Items</a>.<b>all</b> (<a href="terminal_interface-curses-menus__ads.htm#ref_637_21">Items</a>'Last) = <a href="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</a>);
+      <b>if</b> <a href="terminal_interface-curses-menus__ads.htm#ref_637_21">Items</a>.<b>all</b> (<a href="terminal_interface-curses-menus__ads.htm#ref_637_21">Items</a>'Last) /= <a href="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses-menus__ads.htm#ref_112_4">Menu_Exception</a>;
       <b>else</b>
-         <A HREF="terminal_interface-curses-menus__adb.htm#ref_827_7">M</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_824_16">Newmenu</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_636_21">Items</A>.<b>all</b>'Address);
-         <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_827_7">M</A> = <A HREF="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Menu</A> <b>then</b>
-            <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_111_4">Menu_Exception</A>;
+         <a href="terminal_interface-curses-menus__adb.htm#ref_827_7">M</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_824_16">Newmenu</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_637_21">Items</a>.<b>all</b>'Address);
+         <b>if</b> <a href="terminal_interface-curses-menus__adb.htm#ref_827_7">M</a> = <a href="terminal_interface-curses-menus__ads.htm#ref_59_4">Null_Menu</a> <b>then</b>
+            <b>raise</b> <a href="terminal_interface-curses-menus__ads.htm#ref_112_4">Menu_Exception</a>;
          <b>end</b> <b>if</b>;
-         <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_827_7">M</A>;
+         <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_827_7">M</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_636_13">Create</A>;
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_637_13">Create</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_841_14" HREF="terminal_interface-curses-menus__ads.htm#ref_643_14">Delete</A></span> (<span class="symbol"><A NAME="ref_841_22" HREF="terminal_interface-curses-menus__ads.htm#ref_643_22">Men</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_841_14" href="terminal_interface-curses-menus__ads.htm#ref_644_14">Delete</a></span> (<span class="symbol"><a name="ref_841_22" href="terminal_interface-curses-menus__ads.htm#ref_644_22">Men</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_843_16">Free</A></span> (<span class="symbol"><A NAME="ref_843_22" HREF="terminal_interface-curses-menus__adb.htm#ref_843_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_843_16">Free</a></span> (<span class="symbol"><a name="ref_843_22">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Free, "free_menu");
 
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_843_16">Free</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_643_22">Men</A>));
-      <A HREF="terminal_interface-curses-menus__ads.htm#ref_643_22">Men</A> := <A HREF="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Menu</A>;
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_643_14">Delete</A>;
+      <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_843_16">Free</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_644_22">Men</a>));
+      <a href="terminal_interface-curses-menus__ads.htm#ref_644_22">Men</a> := <a href="terminal_interface-curses-menus__ads.htm#ref_59_4">Null_Menu</a>;
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_644_14">Delete</a>;
 
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_852_13" HREF="terminal_interface-curses-menus__ads.htm#ref_658_13">Driver</A></span> (<span class="symbol"><A NAME="ref_852_21" HREF="terminal_interface-curses-menus__ads.htm#ref_658_21">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                    <span class="symbol"><A NAME="ref_853_21" HREF="terminal_interface-curses-menus__ads.htm#ref_659_21">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_66_9">Key_Code</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_652_9">Driver_Result</A>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_852_13" href="terminal_interface-curses-menus__ads.htm#ref_659_13">Driver</a></span> (<span class="symbol"><a name="ref_852_21" href="terminal_interface-curses-menus__ads.htm#ref_659_21">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                    <span class="symbol"><a name="ref_853_21" href="terminal_interface-curses-menus__ads.htm#ref_660_21">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_67_9">Key_Code</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_653_9">Driver_Result</a>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_855_16">Driver</A></span> (<span class="symbol"><A NAME="ref_855_24" HREF="terminal_interface-curses-menus__adb.htm#ref_855_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                       <span class="symbol"><A NAME="ref_856_24" HREF="terminal_interface-curses-menus__adb.htm#ref_855_16">Key</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A>;
+      <b>function</b> <span class="symbol"><a name="ref_855_16">Driver</a></span> (<span class="symbol"><a name="ref_855_24">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                       <span class="symbol"><a name="ref_856_24">Key</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>;
       <b>pragma</b> Import (C, Driver, "menu_driver");
 
-      <span class="symbol"><A NAME="ref_859_7">R</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_9">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_855_16">Driver</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_658_21">Men</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_659_21">Key</A>));
+      <span class="symbol"><a name="ref_859_7">R</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_855_16">Driver</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_659_21">Men</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_660_21">Key</a>));
    <b>begin</b>
-      <b>case</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_859_7">R</A> <b>is</b>
-         <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_7">E_Unknown_Command</A> =&gt;
-            <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_654_27">Unknown_Request</A>;
-         <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_77_7">E_No_Match</A> =&gt;
-            <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_655_27">No_Match</A>;
-         <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_74_7">E_Request_Denied</A> | <A HREF="terminal_interface-curses-aux__ads.htm#ref_76_7">E_Not_Selectable</A> =&gt;
-            <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_653_27">Request_Denied</A>;
+      <b>case</b> <a href="terminal_interface-curses-menus__adb.htm#ref_859_7">R</a> <b>is</b>
+         <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_77_7">E_Unknown_Command</a> =&gt;
+            <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_655_27">Unknown_Request</a>;
+         <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_76_7">E_No_Match</a> =&gt;
+            <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_656_27">No_Match</a>;
+         <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_73_7">E_Request_Denied</a> | <a href="terminal_interface-curses-aux__ads.htm#ref_75_7">E_Not_Selectable</a> =&gt;
+            <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_654_27">Request_Denied</a>;
          <b>when</b> <b>others</b> =&gt;
-            <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_859_7">R</A>);
-            <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_652_27">Menu_Ok</A>;
+            <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_859_7">R</a>);
+            <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_653_27">Menu_Ok</a>;
       <b>end</b> <b>case</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_658_13">Driver</A>;
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_659_13">Driver</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_874_14" HREF="terminal_interface-curses-menus__ads.htm#ref_178_14">Free</A></span> (<span class="symbol"><A NAME="ref_874_20" HREF="terminal_interface-curses-menus__ads.htm#ref_178_20">IA</A></span>         : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_176_9">Item_Array_Access</A>;
-                   <span class="symbol"><A NAME="ref_875_20" HREF="terminal_interface-curses-menus__ads.htm#ref_179_20">Free_Items</A></span> : Boolean := False)
+   <b>procedure</b> <span class="symbol"><a name="ref_874_14" href="terminal_interface-curses-menus__ads.htm#ref_179_14">Free</a></span> (<span class="symbol"><a name="ref_874_20" href="terminal_interface-curses-menus__ads.htm#ref_179_20">IA</a></span>         : <b>in</b> <b>out</b> <a href="terminal_interface-curses-menus__ads.htm#ref_177_9">Item_Array_Access</a>;
+                   <span class="symbol"><a name="ref_875_20" href="terminal_interface-curses-menus__ads.htm#ref_180_20">Free_Items</a></span> : Boolean := False)
    <b>is</b>
       <b>procedure</b> Release <b>is</b> <b>new</b> Ada.Unchecked_Deallocation
-        (Item_Array, <A HREF="terminal_interface-curses-menus__ads.htm#ref_176_9">Item_Array_Access</A>);
+        (Item_Array, <a href="terminal_interface-curses-menus__ads.htm#ref_177_9">Item_Array_Access</a>);
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_178_20">IA</A> /= <b>null</b> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_179_20">Free_Items</A> <b>then</b>
-         <b>for</b> <span class="symbol"><A NAME="ref_881_14">I</A></span> <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_178_20">IA</A>'First .. (<A HREF="terminal_interface-curses-menus__ads.htm#ref_178_20">IA</A>'Last - 1) <b>loop</b>
-            <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_178_20">IA</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_881_14">I</A>) /= <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_4">Null_Item</A> <b>then</b>
-               <A HREF="terminal_interface-curses-menus__ads.htm#ref_201_14">Delete</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_178_20">IA</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_881_14">I</A>));
+      <b>if</b> <a href="terminal_interface-curses-menus__ads.htm#ref_179_20">IA</a> /= <b>null</b> <b>and</b> <b>then</b> <a href="terminal_interface-curses-menus__ads.htm#ref_180_20">Free_Items</a> <b>then</b>
+         <b>for</b> <span class="symbol"><a name="ref_881_14">I</a></span> <b>in</b> <a href="terminal_interface-curses-menus__ads.htm#ref_179_20">IA</a>'First .. (<a href="terminal_interface-curses-menus__ads.htm#ref_179_20">IA</a>'Last - 1) <b>loop</b>
+            <b>if</b> <a href="terminal_interface-curses-menus__ads.htm#ref_179_20">IA</a>.<b>all</b> (<a href="terminal_interface-curses-menus__adb.htm#ref_881_14">I</a>) /= <a href="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</a> <b>then</b>
+               <a href="terminal_interface-curses-menus__ads.htm#ref_202_14">Delete</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_179_20">IA</a>.<b>all</b> (<a href="terminal_interface-curses-menus__adb.htm#ref_881_14">I</a>));
             <b>end</b> <b>if</b>;
          <b>end</b> <b>loop</b>;
       <b>end</b> <b>if</b>;
-      Release (<A HREF="terminal_interface-curses-menus__ads.htm#ref_178_20">IA</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_178_14">Free</A>;
+      Release (<a href="terminal_interface-curses-menus__ads.htm#ref_179_20">IA</a>);
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_179_14">Free</a>;
 
-<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_891_13" HREF="terminal_interface-curses-menus__ads.htm#ref_145_13">Default_Menu_Options</A></span> <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A>
+<span class="comment"><em>-------------------------------------------------------------------------------</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_891_13" href="terminal_interface-curses-menus__ads.htm#ref_146_13">Default_Menu_Options</a></span> <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>
    <b>is</b>
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_350_13">Get_Options</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Menu</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_145_13">Default_Menu_Options</A>;
+      <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_351_13">Get_Options</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_59_4">Null_Menu</a>);
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_146_13">Default_Menu_Options</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_897_13" HREF="terminal_interface-curses-menus__ads.htm#ref_166_13">Default_Item_Options</A></span> <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A>
+   <b>function</b> <span class="symbol"><a name="ref_897_13" href="terminal_interface-curses-menus__ads.htm#ref_167_13">Default_Item_Options</a></span> <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>
    <b>is</b>
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_254_13">Get_Options</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_57_4">Null_Item</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_166_13">Default_Item_Options</A>;
-<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
+      <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_255_13">Get_Options</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</a>);
+   <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_167_13">Default_Item_Options</a>;
+<span class="comment"><em>-------------------------------------------------------------------------------</em></span>
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_45_35">Menus</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-menus__ads.htm b/doc/html/ada/terminal_interface-curses-menus__ads.htm
index 0adf117..5f61dac 100644
--- a/doc/html/ada/terminal_interface-curses-menus__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-menus__ads.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-menus.ads</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-menus.ads</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,681 +11,682 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-menus.ads </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                      Terminal_Interface.Curses.Menu                      --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 S P E C                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2009,2014 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.31 @</EM></span>
-<span class="comment"><EM>--  @Date: 2014/05/24 21:31:57 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-menus.ads </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                      Terminal_Interface.Curses.Menu                      --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 S P E C                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1998-2009,2014 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.32 @</em></span>
+<span class="comment"><em>--  @Date: 2020/02/02 23:34:34 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
 <b>with</b> System;
 <b>with</b> Ada.Characters.Latin_1;
 
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<span class="symbol"><A NAME="ref_45_35" HREF="terminal_interface-curses-menus__adb.htm#ref_49_40">Menus</A></span> <b>is</b>
-   <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_45_35">Menus</A>);
-   <b>pragma</b> Linker_Options ("-lmenu" &amp; <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_9_4">DFT_ARG_SUFFIX</A>);
+<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<span class="symbol"><a name="ref_46_35" href="terminal_interface-curses-menus__adb.htm#ref_50_40">Menus</a></span> <b>is</b>
+   <b>pragma</b> Preelaborate (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</a>);
+   <b>pragma</b> Linker_Options ("-lmenu" &amp; <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_9_4">DFT_ARG_SUFFIX</a>);
 
    Space : Character <b>renames</b> Ada.Characters.Latin_1.Space;
 
-   <b>type</b> <span class="symbol"><A NAME="ref_51_9">Item</A></span> <b>is</b> <b>private</b>;
-   <b>type</b> <span class="symbol"><A NAME="ref_52_9">Menu</A></span> <b>is</b> <b>private</b>;
+   <b>type</b> <span class="symbol"><a name="ref_52_9">Item</a></span> <b>is</b> <b>private</b>;
+   <b>type</b> <span class="symbol"><a name="ref_53_9">Menu</a></span> <b>is</b> <b>private</b>;
 
-   <span class="comment"><EM>---------------------------</EM></span>
-   <span class="comment"><EM>--  Interface constants  --</EM></span>
-   <span class="comment"><EM>---------------------------</EM></span>
-   <span class="symbol"><A NAME="ref_57_4">Null_Item</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
-   <span class="symbol"><A NAME="ref_58_4">Null_Menu</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+   <span class="comment"><em>---------------------------</em></span>
+   <span class="comment"><em>--  Interface constants  --</em></span>
+   <span class="comment"><em>---------------------------</em></span>
+   <span class="symbol"><a name="ref_58_4">Null_Item</a></span> : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
+   <span class="symbol"><a name="ref_59_4">Null_Menu</a></span> : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
 
-   <b>subtype</b> <span class="symbol"><A NAME="ref_60_12">Menu_Request_Code</A></span> <b>is</b> <A HREF="terminal_interface-curses__ads.htm#ref_66_9">Key_Code</A>
-     <b>range</b> (<A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 1) .. (<A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 17);
+   <b>subtype</b> <span class="symbol"><a name="ref_61_12">Menu_Request_Code</a></span> <b>is</b> <a href="terminal_interface-curses__ads.htm#ref_67_9">Key_Code</a>
+     <b>range</b> (<a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 1) .. (<a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 17);
 
-   <span class="comment"><EM>--  The prefix M_ stands for "Menu Request"</EM></span>
-   <span class="symbol"><A NAME="ref_64_4">M_Left_Item</A></span>       : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 1;
-   <span class="symbol"><A NAME="ref_65_4">M_Right_Item</A></span>      : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 2;
-   <span class="symbol"><A NAME="ref_66_4">M_Up_Item</A></span>         : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 3;
-   <span class="symbol"><A NAME="ref_67_4">M_Down_Item</A></span>       : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 4;
-   <span class="symbol"><A NAME="ref_68_4">M_ScrollUp_Line</A></span>   : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 5;
-   <span class="symbol"><A NAME="ref_69_4">M_ScrollDown_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 6;
-   <span class="symbol"><A NAME="ref_70_4">M_ScrollDown_Page</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 7;
-   <span class="symbol"><A NAME="ref_71_4">M_ScrollUp_Page</A></span>   : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 8;
-   <span class="symbol"><A NAME="ref_72_4">M_First_Item</A></span>      : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 9;
-   <span class="symbol"><A NAME="ref_73_4">M_Last_Item</A></span>       : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 10;
-   <span class="symbol"><A NAME="ref_74_4">M_Next_Item</A></span>       : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 11;
-   <span class="symbol"><A NAME="ref_75_4">M_Previous_Item</A></span>   : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 12;
-   <span class="symbol"><A NAME="ref_76_4">M_Toggle_Item</A></span>     : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 13;
-   <span class="symbol"><A NAME="ref_77_4">M_Clear_Pattern</A></span>   : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 14;
-   <span class="symbol"><A NAME="ref_78_4">M_Back_Pattern</A></span>    : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 15;
-   <span class="symbol"><A NAME="ref_79_4">M_Next_Match</A></span>      : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 16;
-   <span class="symbol"><A NAME="ref_80_4">M_Previous_Match</A></span>  : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 17;
+   <span class="comment"><em>--  The prefix M_ stands for "Menu Request"</em></span>
+   <span class="symbol"><a name="ref_65_4">M_Left_Item</a></span>       : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 1;
+   <span class="symbol"><a name="ref_66_4">M_Right_Item</a></span>      : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 2;
+   <span class="symbol"><a name="ref_67_4">M_Up_Item</a></span>         : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 3;
+   <span class="symbol"><a name="ref_68_4">M_Down_Item</a></span>       : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 4;
+   <span class="symbol"><a name="ref_69_4">M_ScrollUp_Line</a></span>   : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 5;
+   <span class="symbol"><a name="ref_70_4">M_ScrollDown_Line</a></span> : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 6;
+   <span class="symbol"><a name="ref_71_4">M_ScrollDown_Page</a></span> : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 7;
+   <span class="symbol"><a name="ref_72_4">M_ScrollUp_Page</a></span>   : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 8;
+   <span class="symbol"><a name="ref_73_4">M_First_Item</a></span>      : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 9;
+   <span class="symbol"><a name="ref_74_4">M_Last_Item</a></span>       : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 10;
+   <span class="symbol"><a name="ref_75_4">M_Next_Item</a></span>       : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 11;
+   <span class="symbol"><a name="ref_76_4">M_Previous_Item</a></span>   : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 12;
+   <span class="symbol"><a name="ref_77_4">M_Toggle_Item</a></span>     : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 13;
+   <span class="symbol"><a name="ref_78_4">M_Clear_Pattern</a></span>   : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 14;
+   <span class="symbol"><a name="ref_79_4">M_Back_Pattern</a></span>    : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 15;
+   <span class="symbol"><a name="ref_80_4">M_Next_Match</a></span>      : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 16;
+   <span class="symbol"><a name="ref_81_4">M_Previous_Match</a></span>  : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 17;
 
-   <span class="comment"><EM>--  For those who like the old 'C' names for the request codes</EM></span>
-   REQ_LEFT_ITEM     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_64_4">M_Left_Item</A>;
-   REQ_RIGHT_ITEM    : <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_4">M_Right_Item</A>;
-   REQ_UP_ITEM       : <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_66_4">M_Up_Item</A>;
-   REQ_DOWN_ITEM     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_67_4">M_Down_Item</A>;
-   REQ_SCR_ULINE     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_68_4">M_ScrollUp_Line</A>;
-   REQ_SCR_DLINE     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_69_4">M_ScrollDown_Line</A>;
-   REQ_SCR_DPAGE     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_70_4">M_ScrollDown_Page</A>;
-   REQ_SCR_UPAGE     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_71_4">M_ScrollUp_Page</A>;
-   REQ_FIRST_ITEM    : <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_72_4">M_First_Item</A>;
-   REQ_LAST_ITEM     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_73_4">M_Last_Item</A>;
-   REQ_NEXT_ITEM     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_74_4">M_Next_Item</A>;
-   REQ_PREV_ITEM     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_75_4">M_Previous_Item</A>;
-   REQ_TOGGLE_ITEM   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_76_4">M_Toggle_Item</A>;
-   REQ_CLEAR_PATTERN : <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_77_4">M_Clear_Pattern</A>;
-   REQ_BACK_PATTERN  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_78_4">M_Back_Pattern</A>;
-   REQ_NEXT_MATCH    : <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_79_4">M_Next_Match</A>;
-   REQ_PREV_MATCH    : <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_80_4">M_Previous_Match</A>;
+   <span class="comment"><em>--  For those who like the old 'C' names for the request codes</em></span>
+   REQ_LEFT_ITEM     : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_65_4">M_Left_Item</a>;
+   REQ_RIGHT_ITEM    : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_66_4">M_Right_Item</a>;
+   REQ_UP_ITEM       : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_67_4">M_Up_Item</a>;
+   REQ_DOWN_ITEM     : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_68_4">M_Down_Item</a>;
+   REQ_SCR_ULINE     : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_69_4">M_ScrollUp_Line</a>;
+   REQ_SCR_DLINE     : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_70_4">M_ScrollDown_Line</a>;
+   REQ_SCR_DPAGE     : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_71_4">M_ScrollDown_Page</a>;
+   REQ_SCR_UPAGE     : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_72_4">M_ScrollUp_Page</a>;
+   REQ_FIRST_ITEM    : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_73_4">M_First_Item</a>;
+   REQ_LAST_ITEM     : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_74_4">M_Last_Item</a>;
+   REQ_NEXT_ITEM     : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_75_4">M_Next_Item</a>;
+   REQ_PREV_ITEM     : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_76_4">M_Previous_Item</a>;
+   REQ_TOGGLE_ITEM   : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_77_4">M_Toggle_Item</a>;
+   REQ_CLEAR_PATTERN : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_78_4">M_Clear_Pattern</a>;
+   REQ_BACK_PATTERN  : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_79_4">M_Back_Pattern</a>;
+   REQ_NEXT_MATCH    : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_80_4">M_Next_Match</a>;
+   REQ_PREV_MATCH    : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_81_4">M_Previous_Match</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_101_14" HREF="terminal_interface-curses-menus__adb.htm#ref_59_14">Request_Name</A></span> (<span class="symbol"><A NAME="ref_101_28" HREF="terminal_interface-curses-menus__adb.htm#ref_59_28">Key</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A>;
-                           <span class="symbol"><A NAME="ref_102_28" HREF="terminal_interface-curses-menus__adb.htm#ref_60_28">Name</A></span> : <b>out</b> String);
+   <b>procedure</b> <span class="symbol"><a name="ref_102_14" href="terminal_interface-curses-menus__adb.htm#ref_59_14">Request_Name</a></span> (<span class="symbol"><a name="ref_102_28" href="terminal_interface-curses-menus__adb.htm#ref_59_28">Key</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a>;
+                           <span class="symbol"><a name="ref_103_28" href="terminal_interface-curses-menus__adb.htm#ref_60_28">Name</a></span> : <b>out</b> String);
 
-   <b>function</b>  <span class="symbol"><A NAME="ref_104_14" HREF="terminal_interface-curses-menus__adb.htm#ref_68_13">Request_Name</A></span> (<span class="symbol"><A NAME="ref_104_28" HREF="terminal_interface-curses-menus__adb.htm#ref_68_27">Key</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A>) <b>return</b> String;
-   <span class="comment"><EM>--  Same as function</EM></span>
+   <b>function</b>  <span class="symbol"><a name="ref_105_14" href="terminal_interface-curses-menus__adb.htm#ref_68_13">Request_Name</a></span> (<span class="symbol"><a name="ref_105_28" href="terminal_interface-curses-menus__adb.htm#ref_68_27">Key</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a>) <b>return</b> String;
+   <span class="comment"><em>--  Same as function</em></span>
 
-   <span class="comment"><EM>------------------</EM></span>
-   <span class="comment"><EM>--  Exceptions  --</EM></span>
-   <span class="comment"><EM>------------------</EM></span>
+   <span class="comment"><em>------------------</em></span>
+   <span class="comment"><em>--  Exceptions  --</em></span>
+   <span class="comment"><em>------------------</em></span>
 
-   <span class="symbol"><A NAME="ref_111_4">Menu_Exception</A></span> : <b>exception</b>;
-   <span class="comment"><EM>--</EM></span>
-   <span class="comment"><EM>--  Menu options</EM></span>
-   <span class="comment"><EM>--</EM></span>
-   <b>type</b> <span class="symbol"><A NAME="ref_115_9">Menu_Option_Set</A></span> <b>is</b>
+   <span class="symbol"><a name="ref_112_4">Menu_Exception</a></span> : <b>exception</b>;
+   <span class="comment"><em>--</em></span>
+   <span class="comment"><em>--  Menu options</em></span>
+   <span class="comment"><em>--</em></span>
+   <b>type</b> <span class="symbol"><a name="ref_116_9">Menu_Option_Set</a></span> <b>is</b>
       <b>record</b>
-         <span class="symbol"><A NAME="ref_117_10">One_Valued</A></span>        : Boolean;
-         <span class="symbol"><A NAME="ref_118_10">Show_Descriptions</A></span> : Boolean;
-         <span class="symbol"><A NAME="ref_119_10">Row_Major_Order</A></span>   : Boolean;
-         <span class="symbol"><A NAME="ref_120_10">Ignore_Case</A></span>       : Boolean;
-         <span class="symbol"><A NAME="ref_121_10">Show_Matches</A></span>      : Boolean;
-         <span class="symbol"><A NAME="ref_122_10">Non_Cyclic</A></span>        : Boolean;
+         <span class="symbol"><a name="ref_118_10">One_Valued</a></span>        : Boolean;
+         <span class="symbol"><a name="ref_119_10">Show_Descriptions</a></span> : Boolean;
+         <span class="symbol"><a name="ref_120_10">Row_Major_Order</a></span>   : Boolean;
+         <span class="symbol"><a name="ref_121_10">Ignore_Case</a></span>       : Boolean;
+         <span class="symbol"><a name="ref_122_10">Show_Matches</a></span>      : Boolean;
+         <span class="symbol"><a name="ref_123_10">Non_Cyclic</a></span>        : Boolean;
       <b>end</b> <b>record</b>;
-   <b>pragma</b> Convention (C_Pass_By_Copy, <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A>);
+   <b>pragma</b> Convention (C_Pass_By_Copy, <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>);
 
-   <b>for</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A> <b>use</b>
+   <b>for</b> <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a> <b>use</b>
       <b>record</b>
-         <A HREF="terminal_interface-curses-menus__ads.htm#ref_117_10">One_Valued</A>        <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_257_4">O_ONEVALUE_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_258_4">O_ONEVALUE_Last</A>;
-         <A HREF="terminal_interface-curses-menus__ads.htm#ref_118_10">Show_Descriptions</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_259_4">O_SHOWDESC_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_260_4">O_SHOWDESC_Last</A>;
-         <A HREF="terminal_interface-curses-menus__ads.htm#ref_119_10">Row_Major_Order</A>   <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_261_4">O_ROWMAJOR_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_262_4">O_ROWMAJOR_Last</A>;
-         <A HREF="terminal_interface-curses-menus__ads.htm#ref_120_10">Ignore_Case</A>       <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_263_4">O_IGNORECASE_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_264_4">O_IGNORECASE_Last</A>;
-         <A HREF="terminal_interface-curses-menus__ads.htm#ref_121_10">Show_Matches</A>      <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_265_4">O_SHOWMATCH_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_266_4">O_SHOWMATCH_Last</A>;
-         <A HREF="terminal_interface-curses-menus__ads.htm#ref_122_10">Non_Cyclic</A>        <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_267_4">O_NONCYCLIC_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_268_4">O_NONCYCLIC_Last</A>;
+         <a href="terminal_interface-curses-menus__ads.htm#ref_118_10">One_Valued</a>        <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_257_4">O_ONEVALUE_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_258_4">O_ONEVALUE_Last</a>;
+         <a href="terminal_interface-curses-menus__ads.htm#ref_119_10">Show_Descriptions</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_259_4">O_SHOWDESC_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_260_4">O_SHOWDESC_Last</a>;
+         <a href="terminal_interface-curses-menus__ads.htm#ref_120_10">Row_Major_Order</a>   <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_261_4">O_ROWMAJOR_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_262_4">O_ROWMAJOR_Last</a>;
+         <a href="terminal_interface-curses-menus__ads.htm#ref_121_10">Ignore_Case</a>       <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_263_4">O_IGNORECASE_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_264_4">O_IGNORECASE_Last</a>;
+         <a href="terminal_interface-curses-menus__ads.htm#ref_122_10">Show_Matches</a>      <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_265_4">O_SHOWMATCH_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_266_4">O_SHOWMATCH_Last</a>;
+         <a href="terminal_interface-curses-menus__ads.htm#ref_123_10">Non_Cyclic</a>        <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_267_4">O_NONCYCLIC_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_268_4">O_NONCYCLIC_Last</a>;
       <b>end</b> <b>record</b>;
    <b>pragma</b> Warnings (Off);
-   <b>for</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A>'Size <b>use</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_269_4">Menu_Options_Size</A>;
+   <b>for</b> <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>'Size <b>use</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_269_4">Menu_Options_Size</a>;
    <b>pragma</b> Warnings (On);
 
-   <b>function</b> <span class="symbol"><A NAME="ref_145_13" HREF="terminal_interface-curses-menus__adb.htm#ref_891_13">Default_Menu_Options</A></span> <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A>;
-   <span class="comment"><EM>--  Initial default options for a menu.</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_145_13">Default_Menu_Options</A>);
-   <span class="comment"><EM>--</EM></span>
-   <span class="comment"><EM>--  Item options</EM></span>
-   <span class="comment"><EM>--</EM></span>
-   <b>type</b> <span class="symbol"><A NAME="ref_151_9">Item_Option_Set</A></span> <b>is</b>
+   <b>function</b> <span class="symbol"><a name="ref_146_13" href="terminal_interface-curses-menus__adb.htm#ref_891_13">Default_Menu_Options</a></span> <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>;
+   <span class="comment"><em>--  Initial default options for a menu.</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_146_13">Default_Menu_Options</a>);
+   <span class="comment"><em>--</em></span>
+   <span class="comment"><em>--  Item options</em></span>
+   <span class="comment"><em>--</em></span>
+   <b>type</b> <span class="symbol"><a name="ref_152_9">Item_Option_Set</a></span> <b>is</b>
       <b>record</b>
-         <span class="symbol"><A NAME="ref_153_10">Selectable</A></span> : Boolean;
+         <span class="symbol"><a name="ref_154_10">Selectable</a></span> : Boolean;
       <b>end</b> <b>record</b>;
-   <b>pragma</b> Convention (C_Pass_By_Copy, <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A>);
+   <b>pragma</b> Convention (C_Pass_By_Copy, <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>);
 
-   <b>for</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A> <b>use</b>
+   <b>for</b> <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a> <b>use</b>
       <b>record</b>
-         <A HREF="terminal_interface-curses-menus__ads.htm#ref_153_10">Selectable</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_273_4">O_SELECTABLE_First</A>
-           ..  <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_274_4">O_SELECTABLE_Last</A>;
+         <a href="terminal_interface-curses-menus__ads.htm#ref_154_10">Selectable</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_273_4">O_SELECTABLE_First</a>
+           ..  <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_274_4">O_SELECTABLE_Last</a>;
       <b>end</b> <b>record</b>;
    <b>pragma</b> Warnings (Off);
-   <b>for</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A>'Size <b>use</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_275_4">Item_Options_Size</A>;
+   <b>for</b> <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>'Size <b>use</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_275_4">Item_Options_Size</a>;
    <b>pragma</b> Warnings (On);
 
-   <b>function</b> <span class="symbol"><A NAME="ref_166_13" HREF="terminal_interface-curses-menus__adb.htm#ref_897_13">Default_Item_Options</A></span> <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A>;
-   <span class="comment"><EM>--  Initial default options for an item.</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_166_13">Default_Item_Options</A>);
+   <b>function</b> <span class="symbol"><a name="ref_167_13" href="terminal_interface-curses-menus__adb.htm#ref_897_13">Default_Item_Options</a></span> <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>;
+   <span class="comment"><em>--  Initial default options for an item.</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_167_13">Default_Item_Options</a>);
 
-   <span class="comment"><EM>--</EM></span>
-   <span class="comment"><EM>--  Item Array</EM></span>
-   <span class="comment"><EM>--</EM></span>
-   <b>type</b> Item_Array <b>is</b> <b>array</b> (Positive <b>range</b> &lt;&gt;) <b>of</b> <b>aliased</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
+   <span class="comment"><em>--</em></span>
+   <span class="comment"><em>--  Item Array</em></span>
+   <span class="comment"><em>--</em></span>
+   <b>type</b> Item_Array <b>is</b> <b>array</b> (Positive <b>range</b> &lt;&gt;) <b>of</b> <b>aliased</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
    <b>pragma</b> Convention (C, Item_Array);
 
-   <b>type</b> <span class="symbol"><A NAME="ref_176_9">Item_Array_Access</A></span> <b>is</b> <b>access</b> Item_Array;
+   <b>type</b> <span class="symbol"><a name="ref_177_9">Item_Array_Access</a></span> <b>is</b> <b>access</b> Item_Array;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_178_14" HREF="terminal_interface-curses-menus__adb.htm#ref_874_14">Free</A></span> (<span class="symbol"><A NAME="ref_178_20" HREF="terminal_interface-curses-menus__adb.htm#ref_874_20">IA</A></span>         : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_176_9">Item_Array_Access</A>;
-                   <span class="symbol"><A NAME="ref_179_20" HREF="terminal_interface-curses-menus__adb.htm#ref_875_20">Free_Items</A></span> : Boolean := False);
-   <span class="comment"><EM>--  Release the memory for an allocated item array</EM></span>
-   <span class="comment"><EM>--  If Free_Items is True, call Delete() for all the items in</EM></span>
-   <span class="comment"><EM>--  the array.</EM></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_179_14" href="terminal_interface-curses-menus__adb.htm#ref_874_14">Free</a></span> (<span class="symbol"><a name="ref_179_20" href="terminal_interface-curses-menus__adb.htm#ref_874_20">IA</a></span>         : <b>in</b> <b>out</b> <a href="terminal_interface-curses-menus__ads.htm#ref_177_9">Item_Array_Access</a>;
+                   <span class="symbol"><a name="ref_180_20" href="terminal_interface-curses-menus__adb.htm#ref_875_20">Free_Items</a></span> : Boolean := False);
+   <span class="comment"><em>--  Release the memory for an allocated item array</em></span>
+   <span class="comment"><em>--  If Free_Items is True, call Delete() for all the items in</em></span>
+   <span class="comment"><em>--  the array.</em></span>
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/mitem_new.3x.html">mitem_new.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/mitem_new.3x.html">mitem_new.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_1"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_189_13" HREF="terminal_interface-curses-menus__adb.htm#ref_76_13">Create</A></span> (<span class="symbol"><A NAME="ref_189_21" HREF="terminal_interface-curses-menus__adb.htm#ref_76_21">Name</A></span>        : String;
-                    <span class="symbol"><A NAME="ref_190_21" HREF="terminal_interface-curses-menus__adb.htm#ref_77_21">Description</A></span> : String := "") <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/mitem_new.3x.html">new_item()</A></EM></span>
-   <span class="comment"><EM>--  Not inlined.</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_1">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_190_13" href="terminal_interface-curses-menus__adb.htm#ref_76_13">Create</a></span> (<span class="symbol"><a name="ref_190_21" href="terminal_interface-curses-menus__adb.htm#ref_76_21">Name</a></span>        : String;
+                    <span class="symbol"><a name="ref_191_21" href="terminal_interface-curses-menus__adb.htm#ref_77_21">Description</a></span> : String := "") <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_new.3x.html">new_item()</A></em></span>
+   <span class="comment"><em>--  Not inlined.</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_2"#2|</EM></span>
-   <b>function</b> New_Item (<span class="symbol"><A NAME="ref_195_23">Name</A></span>        : String;
-                      <span class="symbol"><A NAME="ref_196_23">Description</A></span> : String := "") <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>
-     <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_189_13">Create</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/mitem_new.3x.html">new_item()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_2">|</A></em></span>
+   <b>function</b> New_Item (<span class="symbol"><a name="ref_196_23">Name</a></span>        : String;
+                      <span class="symbol"><a name="ref_197_23">Description</a></span> : String := "") <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>
+     <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_190_13">Create</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_new.3x.html">new_item()</A></em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_3"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_201_14" HREF="terminal_interface-curses-menus__adb.htm#ref_106_14">Delete</A></span> (<span class="symbol"><A NAME="ref_201_22" HREF="terminal_interface-curses-menus__adb.htm#ref_106_22">Itm</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/mitem_new.3x.html">free_item()</A></EM></span>
-   <span class="comment"><EM>--  Resets Itm to Null_Item</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_3">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_202_14" href="terminal_interface-curses-menus__adb.htm#ref_106_14">Delete</a></span> (<span class="symbol"><a name="ref_202_22" href="terminal_interface-curses-menus__adb.htm#ref_106_22">Itm</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_new.3x.html">free_item()</A></em></span>
+   <span class="comment"><em>--  Resets Itm to Null_Item</em></span>
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/mitem_value.3x.html">mitem_value.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/mitem_value.3x.html">mitem_value.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_4"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_210_14" HREF="terminal_interface-curses-menus__adb.htm#ref_130_14">Set_Value</A></span> (<span class="symbol"><A NAME="ref_210_25" HREF="terminal_interface-curses-menus__adb.htm#ref_130_25">Itm</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
-                        <span class="symbol"><A NAME="ref_211_25" HREF="terminal_interface-curses-menus__adb.htm#ref_131_25">Value</A></span> : Boolean := True);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/mitem_value.3x.html">set_item_value()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_210_14">Set_Value</A>);
+   <span class="comment"><em>--  <A NAME="AFU_4">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_211_14" href="terminal_interface-curses-menus__adb.htm#ref_130_14">Set_Value</a></span> (<span class="symbol"><a name="ref_211_25" href="terminal_interface-curses-menus__adb.htm#ref_130_25">Itm</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
+                        <span class="symbol"><a name="ref_212_25" href="terminal_interface-curses-menus__adb.htm#ref_131_25">Value</a></span> : Boolean := True);
+   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_value.3x.html">set_item_value()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_211_14">Set_Value</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_5"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_216_13" HREF="terminal_interface-curses-menus__adb.htm#ref_141_13">Value</A></span> (<span class="symbol"><A NAME="ref_216_20" HREF="terminal_interface-curses-menus__adb.htm#ref_141_20">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> Boolean;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/mitem_value.3x.html">item_value()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_216_13">Value</A>);
+   <span class="comment"><em>--  <A NAME="AFU_5">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_217_13" href="terminal_interface-curses-menus__adb.htm#ref_141_13">Value</a></span> (<span class="symbol"><a name="ref_217_20" href="terminal_interface-curses-menus__adb.htm#ref_141_20">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> Boolean;
+   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_value.3x.html">item_value()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_217_13">Value</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/mitem_visible.3x.html">mitem_visible.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/mitem_visible.3x.html">mitem_visible.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_6"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_225_13" HREF="terminal_interface-curses-menus__adb.htm#ref_154_13">Visible</A></span> (<span class="symbol"><A NAME="ref_225_22" HREF="terminal_interface-curses-menus__adb.htm#ref_154_22">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> Boolean;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/mitem_visible.3x.html">item_visible()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_225_13">Visible</A>);
+   <span class="comment"><em>--  <A NAME="AFU_6">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_226_13" href="terminal_interface-curses-menus__adb.htm#ref_154_13">Visible</a></span> (<span class="symbol"><a name="ref_226_22" href="terminal_interface-curses-menus__adb.htm#ref_154_22">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> Boolean;
+   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_visible.3x.html">item_visible()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_226_13">Visible</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/mitem_opts.3x.html">mitem_opts.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/mitem_opts.3x.html">mitem_opts.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_7"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_234_14" HREF="terminal_interface-curses-menus__adb.htm#ref_166_14">Set_Options</A></span> (<span class="symbol"><A NAME="ref_234_27" HREF="terminal_interface-curses-menus__adb.htm#ref_166_27">Itm</A></span>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
-                          <span class="symbol"><A NAME="ref_235_27" HREF="terminal_interface-curses-menus__adb.htm#ref_167_27">Options</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/mitem_opts.3x.html">set_item_opts()</A></EM></span>
-   <span class="comment"><EM>--  An overloaded Set_Options is defined later. Pragma Inline appears there</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_7">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_235_14" href="terminal_interface-curses-menus__adb.htm#ref_166_14">Set_Options</a></span> (<span class="symbol"><a name="ref_235_27" href="terminal_interface-curses-menus__adb.htm#ref_166_27">Itm</a></span>     : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
+                          <span class="symbol"><a name="ref_236_27" href="terminal_interface-curses-menus__adb.htm#ref_167_27">Options</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_opts.3x.html">set_item_opts()</A></em></span>
+   <span class="comment"><em>--  An overloaded Set_Options is defined later. Pragma Inline appears there</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_8"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_240_14" HREF="terminal_interface-curses-menus__adb.htm#ref_177_14">Switch_Options</A></span> (<span class="symbol"><A NAME="ref_240_30" HREF="terminal_interface-curses-menus__adb.htm#ref_177_30">Itm</A></span>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
-                             <span class="symbol"><A NAME="ref_241_30" HREF="terminal_interface-curses-menus__adb.htm#ref_178_30">Options</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A>;
-                             <span class="symbol"><A NAME="ref_242_30" HREF="terminal_interface-curses-menus__adb.htm#ref_179_30">On</A></span>      : Boolean := True);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/mitem_opts.3x.html">item_opts_on()</A></EM></span>
-   <span class="comment"><EM>--  AKA: item_opts_off()</EM></span>
-   <span class="comment"><EM>--  An overloaded Switch_Options is defined later.</EM></span>
-   <span class="comment"><EM>--  Pragma Inline appears there</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_8">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_241_14" href="terminal_interface-curses-menus__adb.htm#ref_177_14">Switch_Options</a></span> (<span class="symbol"><a name="ref_241_30" href="terminal_interface-curses-menus__adb.htm#ref_177_30">Itm</a></span>     : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
+                             <span class="symbol"><a name="ref_242_30" href="terminal_interface-curses-menus__adb.htm#ref_178_30">Options</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>;
+                             <span class="symbol"><a name="ref_243_30" href="terminal_interface-curses-menus__adb.htm#ref_179_30">On</a></span>      : Boolean := True);
+   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_opts.3x.html">item_opts_on()</A></em></span>
+   <span class="comment"><em>--  AKA: item_opts_off()</em></span>
+   <span class="comment"><em>--  An overloaded Switch_Options is defined later.</em></span>
+   <span class="comment"><em>--  Pragma Inline appears there</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_9"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_249_14" HREF="terminal_interface-curses-menus__adb.htm#ref_196_14">Get_Options</A></span> (<span class="symbol"><A NAME="ref_249_27" HREF="terminal_interface-curses-menus__adb.htm#ref_196_27">Itm</A></span>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
-                          <span class="symbol"><A NAME="ref_250_27" HREF="terminal_interface-curses-menus__adb.htm#ref_197_27">Options</A></span> : <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/mitem_opts.3x.html">item_opts()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_9">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_250_14" href="terminal_interface-curses-menus__adb.htm#ref_196_14">Get_Options</a></span> (<span class="symbol"><a name="ref_250_27" href="terminal_interface-curses-menus__adb.htm#ref_196_27">Itm</a></span>     : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
+                          <span class="symbol"><a name="ref_251_27" href="terminal_interface-curses-menus__adb.htm#ref_197_27">Options</a></span> : <b>out</b> <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_opts.3x.html">item_opts()</A></em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_10"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_254_13" HREF="terminal_interface-curses-menus__adb.htm#ref_206_13">Get_Options</A></span> (<span class="symbol"><A NAME="ref_254_26" HREF="terminal_interface-curses-menus__adb.htm#ref_206_26">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A> := <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_4">Null_Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/mitem_opts.3x.html">item_opts()</A></EM></span>
-   <span class="comment"><EM>--  An overloaded Get_Options is defined later. Pragma Inline appears there</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_10">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_255_13" href="terminal_interface-curses-menus__adb.htm#ref_206_13">Get_Options</a></span> (<span class="symbol"><a name="ref_255_26" href="terminal_interface-curses-menus__adb.htm#ref_206_26">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a> := <a href="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_opts.3x.html">item_opts()</A></em></span>
+   <span class="comment"><em>--  An overloaded Get_Options is defined later. Pragma Inline appears there</em></span>
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/mitem_name.3x.html">mitem_name.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/mitem_name.3x.html">mitem_name.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_11"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_263_14" HREF="terminal_interface-curses-menus__adb.htm#ref_214_14">Name</A></span> (<span class="symbol"><A NAME="ref_263_20" HREF="terminal_interface-curses-menus__adb.htm#ref_214_20">Itm</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
-                   <span class="symbol"><A NAME="ref_264_20" HREF="terminal_interface-curses-menus__adb.htm#ref_215_20">Name</A></span> : <b>out</b> String);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/mitem_name.3x.html">item_name()</A></EM></span>
-   <b>function</b>  <span class="symbol"><A NAME="ref_266_14" HREF="terminal_interface-curses-menus__adb.htm#ref_223_13">Name</A></span> (<span class="symbol"><A NAME="ref_266_20" HREF="terminal_interface-curses-menus__adb.htm#ref_223_19">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> String;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/mitem_name.3x.html">item_name()</A></EM></span>
-   <span class="comment"><EM>--  Implemented as function</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_11">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_264_14" href="terminal_interface-curses-menus__adb.htm#ref_214_14">Name</a></span> (<span class="symbol"><a name="ref_264_20" href="terminal_interface-curses-menus__adb.htm#ref_214_20">Itm</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
+                   <span class="symbol"><a name="ref_265_20" href="terminal_interface-curses-menus__adb.htm#ref_215_20">Name</a></span> : <b>out</b> String);
+   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_name.3x.html">item_name()</A></em></span>
+   <b>function</b>  <span class="symbol"><a name="ref_267_14" href="terminal_interface-curses-menus__adb.htm#ref_223_13">Name</a></span> (<span class="symbol"><a name="ref_267_20" href="terminal_interface-curses-menus__adb.htm#ref_223_19">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> String;
+   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_name.3x.html">item_name()</A></em></span>
+   <span class="comment"><em>--  Implemented as function</em></span>
    <b>pragma</b> Inline (Name);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_12"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_272_14" HREF="terminal_interface-curses-menus__adb.htm#ref_231_14">Description</A></span> (<span class="symbol"><A NAME="ref_272_27" HREF="terminal_interface-curses-menus__adb.htm#ref_231_27">Itm</A></span>         : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
-                          <span class="symbol"><A NAME="ref_273_27" HREF="terminal_interface-curses-menus__adb.htm#ref_232_27">Description</A></span> : <b>out</b> String);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/mitem_name.3x.html">item_description();</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_12">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_273_14" href="terminal_interface-curses-menus__adb.htm#ref_231_14">Description</a></span> (<span class="symbol"><a name="ref_273_27" href="terminal_interface-curses-menus__adb.htm#ref_231_27">Itm</a></span>         : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
+                          <span class="symbol"><a name="ref_274_27" href="terminal_interface-curses-menus__adb.htm#ref_232_27">Description</a></span> : <b>out</b> String);
+   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_name.3x.html">item_description();</A></em></span>
 
-   <b>function</b>  <span class="symbol"><A NAME="ref_276_14" HREF="terminal_interface-curses-menus__adb.htm#ref_240_13">Description</A></span> (<span class="symbol"><A NAME="ref_276_27" HREF="terminal_interface-curses-menus__adb.htm#ref_240_26">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> String;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/mitem_name.3x.html">item_description();</A></EM></span>
-   <span class="comment"><EM>--  Implemented as function</EM></span>
+   <b>function</b>  <span class="symbol"><a name="ref_277_14" href="terminal_interface-curses-menus__adb.htm#ref_240_13">Description</a></span> (<span class="symbol"><a name="ref_277_27" href="terminal_interface-curses-menus__adb.htm#ref_240_26">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> String;
+   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_name.3x.html">item_description();</A></em></span>
+   <span class="comment"><em>--  Implemented as function</em></span>
    <b>pragma</b> Inline (Description);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/mitem_current.3x.html">mitem_current.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/mitem_current.3x.html">mitem_current.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_13"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_286_14" HREF="terminal_interface-curses-menus__adb.htm#ref_248_14">Set_Current</A></span> (<span class="symbol"><A NAME="ref_286_27" HREF="terminal_interface-curses-menus__adb.htm#ref_248_27">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                          <span class="symbol"><A NAME="ref_287_27" HREF="terminal_interface-curses-menus__adb.htm#ref_249_27">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/mitem_current.3x.html">set_current_item()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_286_14">Set_Current</A>);
+   <span class="comment"><em>--  <A NAME="AFU_13">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_287_14" href="terminal_interface-curses-menus__adb.htm#ref_248_14">Set_Current</a></span> (<span class="symbol"><a name="ref_287_27" href="terminal_interface-curses-menus__adb.htm#ref_248_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                          <span class="symbol"><a name="ref_288_27" href="terminal_interface-curses-menus__adb.htm#ref_249_27">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_current.3x.html">set_current_item()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_287_14">Set_Current</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_14"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_292_13" HREF="terminal_interface-curses-menus__adb.htm#ref_259_13">Current</A></span> (<span class="symbol"><A NAME="ref_292_22" HREF="terminal_interface-curses-menus__adb.htm#ref_259_22">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/mitem_current.3x.html">current_item()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_292_13">Current</A>);
+   <span class="comment"><em>--  <A NAME="AFU_14">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_293_13" href="terminal_interface-curses-menus__adb.htm#ref_259_13">Current</a></span> (<span class="symbol"><a name="ref_293_22" href="terminal_interface-curses-menus__adb.htm#ref_259_22">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_current.3x.html">current_item()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_293_13">Current</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_15"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_297_14" HREF="terminal_interface-curses-menus__adb.htm#ref_272_14">Set_Top_Row</A></span> (<span class="symbol"><A NAME="ref_297_27" HREF="terminal_interface-curses-menus__adb.htm#ref_272_27">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                          <span class="symbol"><A NAME="ref_298_27" HREF="terminal_interface-curses-menus__adb.htm#ref_273_27">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/mitem_current.3x.html">set_top_row()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_297_14">Set_Top_Row</A>);
+   <span class="comment"><em>--  <A NAME="AFU_15">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_298_14" href="terminal_interface-curses-menus__adb.htm#ref_272_14">Set_Top_Row</a></span> (<span class="symbol"><a name="ref_298_27" href="terminal_interface-curses-menus__adb.htm#ref_272_27">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                          <span class="symbol"><a name="ref_299_27" href="terminal_interface-curses-menus__adb.htm#ref_273_27">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_current.3x.html">set_top_row()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_298_14">Set_Top_Row</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_16"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_303_13" HREF="terminal_interface-curses-menus__adb.htm#ref_283_13">Top_Row</A></span> (<span class="symbol"><A NAME="ref_303_22" HREF="terminal_interface-curses-menus__adb.htm#ref_283_22">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/mitem_current.3x.html">top_row()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_303_13">Top_Row</A>);
+   <span class="comment"><em>--  <A NAME="AFU_16">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_304_13" href="terminal_interface-curses-menus__adb.htm#ref_283_13">Top_Row</a></span> (<span class="symbol"><a name="ref_304_22" href="terminal_interface-curses-menus__adb.htm#ref_283_22">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_current.3x.html">top_row()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_304_13">Top_Row</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_17"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_308_13" HREF="terminal_interface-curses-menus__adb.htm#ref_296_13">Get_Index</A></span> (<span class="symbol"><A NAME="ref_308_24" HREF="terminal_interface-curses-menus__adb.htm#ref_296_24">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> Positive;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/mitem_current.3x.html">item_index()</A></EM></span>
-   <span class="comment"><EM>--  Please note that in this binding we start the numbering of items</EM></span>
-   <span class="comment"><EM>--  with 1. So this is number is one more than you get from the low</EM></span>
-   <span class="comment"><EM>--  level call.</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_308_13">Get_Index</A>);
+   <span class="comment"><em>--  <A NAME="AFU_17">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_309_13" href="terminal_interface-curses-menus__adb.htm#ref_296_13">Get_Index</a></span> (<span class="symbol"><a name="ref_309_24" href="terminal_interface-curses-menus__adb.htm#ref_296_24">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> Positive;
+   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_current.3x.html">item_index()</A></em></span>
+   <span class="comment"><em>--  Please note that in this binding we start the numbering of items</em></span>
+   <span class="comment"><em>--  with 1. So this is number is one more than you get from the low</em></span>
+   <span class="comment"><em>--  level call.</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_309_13">Get_Index</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/menu_post.3x.html">menu_post.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/menu_post.3x.html">menu_post.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_18"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_320_14" HREF="terminal_interface-curses-menus__adb.htm#ref_309_14">Post</A></span> (<span class="symbol"><A NAME="ref_320_20" HREF="terminal_interface-curses-menus__adb.htm#ref_309_20">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                   <span class="symbol"><A NAME="ref_321_20" HREF="terminal_interface-curses-menus__adb.htm#ref_310_20">Post</A></span> : Boolean := True);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_post.3x.html">post_menu()</A></EM></span>
-   <span class="comment"><EM>--  AKA: unpost_menu()</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_320_14">Post</A>);
+   <span class="comment"><em>--  <A NAME="AFU_18">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_321_14" href="terminal_interface-curses-menus__adb.htm#ref_309_14">Post</a></span> (<span class="symbol"><a name="ref_321_20" href="terminal_interface-curses-menus__adb.htm#ref_309_20">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                   <span class="symbol"><a name="ref_322_20" href="terminal_interface-curses-menus__adb.htm#ref_310_20">Post</a></span> : Boolean := True);
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_post.3x.html">post_menu()</A></em></span>
+   <span class="comment"><em>--  AKA: unpost_menu()</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_321_14">Post</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/menu_opts.3x.html">menu_opts.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/menu_opts.3x.html">menu_opts.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_19"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_331_14" HREF="terminal_interface-curses-menus__adb.htm#ref_325_14">Set_Options</A></span> (<span class="symbol"><A NAME="ref_331_27" HREF="terminal_interface-curses-menus__adb.htm#ref_325_27">Men</A></span>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                          <span class="symbol"><A NAME="ref_332_27" HREF="terminal_interface-curses-menus__adb.htm#ref_326_27">Options</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_opts.3x.html">set_menu_opts()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_19">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_332_14" href="terminal_interface-curses-menus__adb.htm#ref_325_14">Set_Options</a></span> (<span class="symbol"><a name="ref_332_27" href="terminal_interface-curses-menus__adb.htm#ref_325_27">Men</a></span>     : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                          <span class="symbol"><a name="ref_333_27" href="terminal_interface-curses-menus__adb.htm#ref_326_27">Options</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_opts.3x.html">set_menu_opts()</A></em></span>
    <b>pragma</b> Inline (Set_Options);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_20"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_337_14" HREF="terminal_interface-curses-menus__adb.htm#ref_336_14">Switch_Options</A></span> (<span class="symbol"><A NAME="ref_337_30" HREF="terminal_interface-curses-menus__adb.htm#ref_336_30">Men</A></span>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                             <span class="symbol"><A NAME="ref_338_30" HREF="terminal_interface-curses-menus__adb.htm#ref_337_30">Options</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A>;
-                             <span class="symbol"><A NAME="ref_339_30" HREF="terminal_interface-curses-menus__adb.htm#ref_338_30">On</A></span>      : Boolean := True);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_opts.3x.html">menu_opts_on()</A></EM></span>
-   <span class="comment"><EM>--  AKA: menu_opts_off()</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_20">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_338_14" href="terminal_interface-curses-menus__adb.htm#ref_336_14">Switch_Options</a></span> (<span class="symbol"><a name="ref_338_30" href="terminal_interface-curses-menus__adb.htm#ref_336_30">Men</a></span>     : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                             <span class="symbol"><a name="ref_339_30" href="terminal_interface-curses-menus__adb.htm#ref_337_30">Options</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>;
+                             <span class="symbol"><a name="ref_340_30" href="terminal_interface-curses-menus__adb.htm#ref_338_30">On</a></span>      : Boolean := True);
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_opts.3x.html">menu_opts_on()</A></em></span>
+   <span class="comment"><em>--  AKA: menu_opts_off()</em></span>
    <b>pragma</b> Inline (Switch_Options);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_21"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_345_14" HREF="terminal_interface-curses-menus__adb.htm#ref_355_14">Get_Options</A></span> (<span class="symbol"><A NAME="ref_345_27" HREF="terminal_interface-curses-menus__adb.htm#ref_355_27">Men</A></span>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                          <span class="symbol"><A NAME="ref_346_27" HREF="terminal_interface-curses-menus__adb.htm#ref_356_27">Options</A></span> : <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_opts.3x.html">menu_opts()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_21">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_346_14" href="terminal_interface-curses-menus__adb.htm#ref_355_14">Get_Options</a></span> (<span class="symbol"><a name="ref_346_27" href="terminal_interface-curses-menus__adb.htm#ref_355_27">Men</a></span>     : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                          <span class="symbol"><a name="ref_347_27" href="terminal_interface-curses-menus__adb.htm#ref_356_27">Options</a></span> : <b>out</b> <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_opts.3x.html">menu_opts()</A></em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_22"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_350_13" HREF="terminal_interface-curses-menus__adb.htm#ref_365_13">Get_Options</A></span> (<span class="symbol"><A NAME="ref_350_26" HREF="terminal_interface-curses-menus__adb.htm#ref_365_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A> := <A HREF="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_opts.3x.html">menu_opts()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_22">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_351_13" href="terminal_interface-curses-menus__adb.htm#ref_365_13">Get_Options</a></span> (<span class="symbol"><a name="ref_351_26" href="terminal_interface-curses-menus__adb.htm#ref_365_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a> := <a href="terminal_interface-curses-menus__ads.htm#ref_59_4">Null_Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_opts.3x.html">menu_opts()</A></em></span>
    <b>pragma</b> Inline (Get_Options);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/menu_win.3x.html">menu_win.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/menu_win.3x.html">menu_win.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_23"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_359_14" HREF="terminal_interface-curses-menus__adb.htm#ref_373_14">Set_Window</A></span> (<span class="symbol"><A NAME="ref_359_26" HREF="terminal_interface-curses-menus__adb.htm#ref_373_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                         <span class="symbol"><A NAME="ref_360_26" HREF="terminal_interface-curses-menus__adb.htm#ref_374_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_win.3x.html">set_menu_win()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_359_14">Set_Window</A>);
+   <span class="comment"><em>--  <A NAME="AFU_23">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_360_14" href="terminal_interface-curses-menus__adb.htm#ref_373_14">Set_Window</a></span> (<span class="symbol"><a name="ref_360_26" href="terminal_interface-curses-menus__adb.htm#ref_373_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                         <span class="symbol"><a name="ref_361_26" href="terminal_interface-curses-menus__adb.htm#ref_374_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_win.3x.html">set_menu_win()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_360_14">Set_Window</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_24"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_365_13" HREF="terminal_interface-curses-menus__adb.htm#ref_384_13">Get_Window</A></span> (<span class="symbol"><A NAME="ref_365_25" HREF="terminal_interface-curses-menus__adb.htm#ref_384_25">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_win.3x.html">menu_win()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_365_13">Get_Window</A>);
+   <span class="comment"><em>--  <A NAME="AFU_24">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_366_13" href="terminal_interface-curses-menus__adb.htm#ref_384_13">Get_Window</a></span> (<span class="symbol"><a name="ref_366_25" href="terminal_interface-curses-menus__adb.htm#ref_384_25">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_win.3x.html">menu_win()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_366_13">Get_Window</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_25"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_370_14" HREF="terminal_interface-curses-menus__adb.htm#ref_394_14">Set_Sub_Window</A></span> (<span class="symbol"><A NAME="ref_370_30" HREF="terminal_interface-curses-menus__adb.htm#ref_394_30">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                             <span class="symbol"><A NAME="ref_371_30" HREF="terminal_interface-curses-menus__adb.htm#ref_395_30">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_win.3x.html">set_menu_sub()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_370_14">Set_Sub_Window</A>);
+   <span class="comment"><em>--  <A NAME="AFU_25">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_371_14" href="terminal_interface-curses-menus__adb.htm#ref_394_14">Set_Sub_Window</a></span> (<span class="symbol"><a name="ref_371_30" href="terminal_interface-curses-menus__adb.htm#ref_394_30">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                             <span class="symbol"><a name="ref_372_30" href="terminal_interface-curses-menus__adb.htm#ref_395_30">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_win.3x.html">set_menu_sub()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_371_14">Set_Sub_Window</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_26"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_376_13" HREF="terminal_interface-curses-menus__adb.htm#ref_405_13">Get_Sub_Window</A></span> (<span class="symbol"><A NAME="ref_376_29" HREF="terminal_interface-curses-menus__adb.htm#ref_405_29">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_win.3x.html">menu_sub()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_376_13">Get_Sub_Window</A>);
+   <span class="comment"><em>--  <A NAME="AFU_26">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_377_13" href="terminal_interface-curses-menus__adb.htm#ref_405_13">Get_Sub_Window</a></span> (<span class="symbol"><a name="ref_377_29" href="terminal_interface-curses-menus__adb.htm#ref_405_29">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_win.3x.html">menu_sub()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_377_13">Get_Sub_Window</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_27"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_381_14" HREF="terminal_interface-curses-menus__adb.htm#ref_415_14">Scale</A></span> (<span class="symbol"><A NAME="ref_381_21" HREF="terminal_interface-curses-menus__adb.htm#ref_415_21">Men</A></span>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                    <span class="symbol"><A NAME="ref_382_21" HREF="terminal_interface-curses-menus__adb.htm#ref_416_21">Lines</A></span>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
-                    <span class="symbol"><A NAME="ref_383_21" HREF="terminal_interface-curses-menus__adb.htm#ref_417_21">Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_win.3x.html">scale_menu()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_381_14">Scale</A>);
+   <span class="comment"><em>--  <A NAME="AFU_27">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_382_14" href="terminal_interface-curses-menus__adb.htm#ref_415_14">Scale</a></span> (<span class="symbol"><a name="ref_382_21" href="terminal_interface-curses-menus__adb.htm#ref_415_21">Men</a></span>     : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                    <span class="symbol"><a name="ref_383_21" href="terminal_interface-curses-menus__adb.htm#ref_416_21">Lines</a></span>   : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
+                    <span class="symbol"><a name="ref_384_21" href="terminal_interface-curses-menus__adb.htm#ref_417_21">Columns</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_win.3x.html">scale_menu()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_382_14">Scale</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/menu_cursor.3x.html">menu_cursor.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/menu_cursor.3x.html">menu_cursor.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_28"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_392_14" HREF="terminal_interface-curses-menus__adb.htm#ref_431_14">Position_Cursor</A></span> (<span class="symbol"><A NAME="ref_392_31" HREF="terminal_interface-curses-menus__adb.htm#ref_431_31">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_cursor.3x.html">pos_menu_cursor()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_392_14">Position_Cursor</A>);
+   <span class="comment"><em>--  <A NAME="AFU_28">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_393_14" href="terminal_interface-curses-menus__adb.htm#ref_431_14">Position_Cursor</a></span> (<span class="symbol"><a name="ref_393_31" href="terminal_interface-curses-menus__adb.htm#ref_431_31">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_cursor.3x.html">pos_menu_cursor()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_393_14">Position_Cursor</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/menu_mark.3x.html">menu_mark.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/menu_mark.3x.html">menu_mark.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_29"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_401_14" HREF="terminal_interface-curses-menus__adb.htm#ref_441_14">Set_Mark</A></span> (<span class="symbol"><A NAME="ref_401_24" HREF="terminal_interface-curses-menus__adb.htm#ref_441_24">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                       <span class="symbol"><A NAME="ref_402_24" HREF="terminal_interface-curses-menus__adb.htm#ref_442_24">Mark</A></span> : String);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_mark.3x.html">set_menu_mark()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_401_14">Set_Mark</A>);
+   <span class="comment"><em>--  <A NAME="AFU_29">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_402_14" href="terminal_interface-curses-menus__adb.htm#ref_441_14">Set_Mark</a></span> (<span class="symbol"><a name="ref_402_24" href="terminal_interface-curses-menus__adb.htm#ref_441_24">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                       <span class="symbol"><a name="ref_403_24" href="terminal_interface-curses-menus__adb.htm#ref_442_24">Mark</a></span> : String);
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_mark.3x.html">set_menu_mark()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_402_14">Set_Mark</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_30"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_407_14" HREF="terminal_interface-curses-menus__adb.htm#ref_456_14">Mark</A></span> (<span class="symbol"><A NAME="ref_407_20" HREF="terminal_interface-curses-menus__adb.htm#ref_456_20">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                   <span class="symbol"><A NAME="ref_408_20" HREF="terminal_interface-curses-menus__adb.htm#ref_457_20">Mark</A></span> : <b>out</b> String);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_mark.3x.html">menu_mark()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_30">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_408_14" href="terminal_interface-curses-menus__adb.htm#ref_456_14">Mark</a></span> (<span class="symbol"><a name="ref_408_20" href="terminal_interface-curses-menus__adb.htm#ref_456_20">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                   <span class="symbol"><a name="ref_409_20" href="terminal_interface-curses-menus__adb.htm#ref_457_20">Mark</a></span> : <b>out</b> String);
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_mark.3x.html">menu_mark()</A></em></span>
 
-   <b>function</b>  <span class="symbol"><A NAME="ref_411_14" HREF="terminal_interface-curses-menus__adb.htm#ref_465_13">Mark</A></span> (<span class="symbol"><A NAME="ref_411_20" HREF="terminal_interface-curses-menus__adb.htm#ref_465_19">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> String;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_mark.3x.html">menu_mark()</A></EM></span>
-   <span class="comment"><EM>--  Implemented as function</EM></span>
+   <b>function</b>  <span class="symbol"><a name="ref_412_14" href="terminal_interface-curses-menus__adb.htm#ref_465_13">Mark</a></span> (<span class="symbol"><a name="ref_412_20" href="terminal_interface-curses-menus__adb.htm#ref_465_19">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> String;
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_mark.3x.html">menu_mark()</A></em></span>
+   <span class="comment"><em>--  Implemented as function</em></span>
    <b>pragma</b> Inline (Mark);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/menu_attributes.3x.html">menu_attributes.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/menu_attributes.3x.html">menu_attributes.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_31"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_421_14" HREF="terminal_interface-curses-menus__adb.htm#ref_474_14">Set_Foreground</A></span>
-     (<span class="symbol"><A NAME="ref_422_7" HREF="terminal_interface-curses-menus__adb.htm#ref_475_7">Men</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-      <span class="symbol"><A NAME="ref_423_7" HREF="terminal_interface-curses-menus__adb.htm#ref_476_7">Fore</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
-      <span class="symbol"><A NAME="ref_424_7" HREF="terminal_interface-curses-menus__adb.htm#ref_477_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_attributes.3x.html">set_menu_fore()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_421_14">Set_Foreground</A>);
+   <span class="comment"><em>--  <A NAME="AFU_31">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_422_14" href="terminal_interface-curses-menus__adb.htm#ref_474_14">Set_Foreground</a></span>
+     (<span class="symbol"><a name="ref_423_7" href="terminal_interface-curses-menus__adb.htm#ref_475_7">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+      <span class="symbol"><a name="ref_424_7" href="terminal_interface-curses-menus__adb.htm#ref_476_7">Fore</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>;
+      <span class="symbol"><a name="ref_425_7" href="terminal_interface-curses-menus__adb.htm#ref_477_7">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First);
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_attributes.3x.html">set_menu_fore()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_422_14">Set_Foreground</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_32"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_429_14" HREF="terminal_interface-curses-menus__adb.htm#ref_490_14">Foreground</A></span> (<span class="symbol"><A NAME="ref_429_26" HREF="terminal_interface-curses-menus__adb.htm#ref_490_26">Men</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                         <span class="symbol"><A NAME="ref_430_26" HREF="terminal_interface-curses-menus__adb.htm#ref_491_26">Fore</A></span>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_attributes.3x.html">menu_fore()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_32">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_430_14" href="terminal_interface-curses-menus__adb.htm#ref_490_14">Foreground</a></span> (<span class="symbol"><a name="ref_430_26" href="terminal_interface-curses-menus__adb.htm#ref_490_26">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                         <span class="symbol"><a name="ref_431_26" href="terminal_interface-curses-menus__adb.htm#ref_491_26">Fore</a></span>  : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_attributes.3x.html">menu_fore()</A></em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_33"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_434_14" HREF="terminal_interface-curses-menus__adb.htm#ref_499_14">Foreground</A></span> (<span class="symbol"><A NAME="ref_434_26" HREF="terminal_interface-curses-menus__adb.htm#ref_499_26">Men</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                         <span class="symbol"><A NAME="ref_435_26" HREF="terminal_interface-curses-menus__adb.htm#ref_500_26">Fore</A></span>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>;
-                         <span class="symbol"><A NAME="ref_436_26" HREF="terminal_interface-curses-menus__adb.htm#ref_501_26">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_attributes.3x.html">menu_fore()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_33">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_435_14" href="terminal_interface-curses-menus__adb.htm#ref_499_14">Foreground</a></span> (<span class="symbol"><a name="ref_435_26" href="terminal_interface-curses-menus__adb.htm#ref_499_26">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                         <span class="symbol"><a name="ref_436_26" href="terminal_interface-curses-menus__adb.htm#ref_500_26">Fore</a></span>  : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>;
+                         <span class="symbol"><a name="ref_437_26" href="terminal_interface-curses-menus__adb.htm#ref_501_26">Color</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_attributes.3x.html">menu_fore()</A></em></span>
    <b>pragma</b> Inline (Foreground);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_34"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_441_14" HREF="terminal_interface-curses-menus__adb.htm#ref_510_14">Set_Background</A></span>
-     (<span class="symbol"><A NAME="ref_442_7" HREF="terminal_interface-curses-menus__adb.htm#ref_511_7">Men</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-      <span class="symbol"><A NAME="ref_443_7" HREF="terminal_interface-curses-menus__adb.htm#ref_512_7">Back</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
-      <span class="symbol"><A NAME="ref_444_7" HREF="terminal_interface-curses-menus__adb.htm#ref_513_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_attributes.3x.html">set_menu_back()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_34">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_442_14" href="terminal_interface-curses-menus__adb.htm#ref_510_14">Set_Background</a></span>
+     (<span class="symbol"><a name="ref_443_7" href="terminal_interface-curses-menus__adb.htm#ref_511_7">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+      <span class="symbol"><a name="ref_444_7" href="terminal_interface-curses-menus__adb.htm#ref_512_7">Back</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>;
+      <span class="symbol"><a name="ref_445_7" href="terminal_interface-curses-menus__adb.htm#ref_513_7">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First);
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_attributes.3x.html">set_menu_back()</A></em></span>
    <b>pragma</b> Inline (Set_Background);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_35"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_449_14" HREF="terminal_interface-curses-menus__adb.htm#ref_526_14">Background</A></span> (<span class="symbol"><A NAME="ref_449_26" HREF="terminal_interface-curses-menus__adb.htm#ref_526_26">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                         <span class="symbol"><A NAME="ref_450_26" HREF="terminal_interface-curses-menus__adb.htm#ref_527_26">Back</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_attributes.3x.html">menu_back()</A></EM></span>
-   <span class="comment"><EM>--  #1A NAME="AFU_36"#2|</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_35">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_450_14" href="terminal_interface-curses-menus__adb.htm#ref_526_14">Background</a></span> (<span class="symbol"><a name="ref_450_26" href="terminal_interface-curses-menus__adb.htm#ref_526_26">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                         <span class="symbol"><a name="ref_451_26" href="terminal_interface-curses-menus__adb.htm#ref_527_26">Back</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_attributes.3x.html">menu_back()</A></em></span>
+   <span class="comment"><em>--  <A NAME="AFU_36">|</A></em></span>
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_454_14" HREF="terminal_interface-curses-menus__adb.htm#ref_535_14">Background</A></span> (<span class="symbol"><A NAME="ref_454_26" HREF="terminal_interface-curses-menus__adb.htm#ref_535_26">Men</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                         <span class="symbol"><A NAME="ref_455_26" HREF="terminal_interface-curses-menus__adb.htm#ref_536_26">Back</A></span>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>;
-                         <span class="symbol"><A NAME="ref_456_26" HREF="terminal_interface-curses-menus__adb.htm#ref_537_26">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_attributes.3x.html">menu_back()</A></EM></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_455_14" href="terminal_interface-curses-menus__adb.htm#ref_535_14">Background</a></span> (<span class="symbol"><a name="ref_455_26" href="terminal_interface-curses-menus__adb.htm#ref_535_26">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                         <span class="symbol"><a name="ref_456_26" href="terminal_interface-curses-menus__adb.htm#ref_536_26">Back</a></span>  : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>;
+                         <span class="symbol"><a name="ref_457_26" href="terminal_interface-curses-menus__adb.htm#ref_537_26">Color</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_attributes.3x.html">menu_back()</A></em></span>
    <b>pragma</b> Inline (Background);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_37"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_461_14" HREF="terminal_interface-curses-menus__adb.htm#ref_546_14">Set_Grey</A></span>
-     (<span class="symbol"><A NAME="ref_462_7" HREF="terminal_interface-curses-menus__adb.htm#ref_546_24">Men</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-      <span class="symbol"><A NAME="ref_463_7" HREF="terminal_interface-curses-menus__adb.htm#ref_547_24">Grey</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
-      <span class="symbol"><A NAME="ref_464_7" HREF="terminal_interface-curses-menus__adb.htm#ref_548_24">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_attributes.3x.html">set_menu_grey()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_461_14">Set_Grey</A>);
+   <span class="comment"><em>--  <A NAME="AFU_37">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_462_14" href="terminal_interface-curses-menus__adb.htm#ref_546_14">Set_Grey</a></span>
+     (<span class="symbol"><a name="ref_463_7" href="terminal_interface-curses-menus__adb.htm#ref_546_24">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+      <span class="symbol"><a name="ref_464_7" href="terminal_interface-curses-menus__adb.htm#ref_547_24">Grey</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>;
+      <span class="symbol"><a name="ref_465_7" href="terminal_interface-curses-menus__adb.htm#ref_548_24">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First);
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_attributes.3x.html">set_menu_grey()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_462_14">Set_Grey</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_38"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_469_14" HREF="terminal_interface-curses-menus__adb.htm#ref_562_14">Grey</A></span> (<span class="symbol"><A NAME="ref_469_20" HREF="terminal_interface-curses-menus__adb.htm#ref_562_20">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                   <span class="symbol"><A NAME="ref_470_20" HREF="terminal_interface-curses-menus__adb.htm#ref_563_20">Grey</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_attributes.3x.html">menu_grey()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_38">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_470_14" href="terminal_interface-curses-menus__adb.htm#ref_562_14">Grey</a></span> (<span class="symbol"><a name="ref_470_20" href="terminal_interface-curses-menus__adb.htm#ref_562_20">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                   <span class="symbol"><a name="ref_471_20" href="terminal_interface-curses-menus__adb.htm#ref_563_20">Grey</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_attributes.3x.html">menu_grey()</A></em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_39"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_474_14" HREF="terminal_interface-curses-menus__adb.htm#ref_571_14">Grey</A></span>
-     (<span class="symbol"><A NAME="ref_475_7" HREF="terminal_interface-curses-menus__adb.htm#ref_571_20">Men</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-      <span class="symbol"><A NAME="ref_476_7" HREF="terminal_interface-curses-menus__adb.htm#ref_572_20">Grey</A></span>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>;
-      <span class="symbol"><A NAME="ref_477_7" HREF="terminal_interface-curses-menus__adb.htm#ref_573_20">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_attributes.3x.html">menu_grey()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_39">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_475_14" href="terminal_interface-curses-menus__adb.htm#ref_571_14">Grey</a></span>
+     (<span class="symbol"><a name="ref_476_7" href="terminal_interface-curses-menus__adb.htm#ref_571_20">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+      <span class="symbol"><a name="ref_477_7" href="terminal_interface-curses-menus__adb.htm#ref_572_20">Grey</a></span>  : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>;
+      <span class="symbol"><a name="ref_478_7" href="terminal_interface-curses-menus__adb.htm#ref_573_20">Color</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_attributes.3x.html">menu_grey()</A></em></span>
    <b>pragma</b> Inline (Grey);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_40"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_482_14" HREF="terminal_interface-curses-menus__adb.htm#ref_582_14">Set_Pad_Character</A></span> (<span class="symbol"><A NAME="ref_482_33" HREF="terminal_interface-curses-menus__adb.htm#ref_582_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                                <span class="symbol"><A NAME="ref_483_33" HREF="terminal_interface-curses-menus__adb.htm#ref_583_33">Pad</A></span> : Character := Space);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_attributes.3x.html">set_menu_pad()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_482_14">Set_Pad_Character</A>);
+   <span class="comment"><em>--  <A NAME="AFU_40">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_483_14" href="terminal_interface-curses-menus__adb.htm#ref_582_14">Set_Pad_Character</a></span> (<span class="symbol"><a name="ref_483_33" href="terminal_interface-curses-menus__adb.htm#ref_582_33">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                                <span class="symbol"><a name="ref_484_33" href="terminal_interface-curses-menus__adb.htm#ref_583_33">Pad</a></span> : Character := Space);
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_attributes.3x.html">set_menu_pad()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_483_14">Set_Pad_Character</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_41"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_488_14" HREF="terminal_interface-curses-menus__adb.htm#ref_593_14">Pad_Character</A></span> (<span class="symbol"><A NAME="ref_488_29" HREF="terminal_interface-curses-menus__adb.htm#ref_593_29">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                            <span class="symbol"><A NAME="ref_489_29" HREF="terminal_interface-curses-menus__adb.htm#ref_594_29">Pad</A></span> : <b>out</b> Character);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_attributes.3x.html">menu_pad()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_488_14">Pad_Character</A>);
+   <span class="comment"><em>--  <A NAME="AFU_41">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_489_14" href="terminal_interface-curses-menus__adb.htm#ref_593_14">Pad_Character</a></span> (<span class="symbol"><a name="ref_489_29" href="terminal_interface-curses-menus__adb.htm#ref_593_29">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                            <span class="symbol"><a name="ref_490_29" href="terminal_interface-curses-menus__adb.htm#ref_594_29">Pad</a></span> : <b>out</b> Character);
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_attributes.3x.html">menu_pad()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_489_14">Pad_Character</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/menu_spacing.3x.html">menu_spacing.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/menu_spacing.3x.html">menu_spacing.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_42"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_498_14" HREF="terminal_interface-curses-menus__adb.htm#ref_602_14">Set_Spacing</A></span> (<span class="symbol"><A NAME="ref_498_27" HREF="terminal_interface-curses-menus__adb.htm#ref_602_27">Men</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                          <span class="symbol"><A NAME="ref_499_27" HREF="terminal_interface-curses-menus__adb.htm#ref_603_27">Descr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> := 0;
-                          <span class="symbol"><A NAME="ref_500_27" HREF="terminal_interface-curses-menus__adb.htm#ref_604_27">Row</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>   := 0;
-                          <span class="symbol"><A NAME="ref_501_27" HREF="terminal_interface-curses-menus__adb.htm#ref_605_27">Col</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> := 0);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_spacing.3x.html">set_menu_spacing()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_498_14">Set_Spacing</A>);
+   <span class="comment"><em>--  <A NAME="AFU_42">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_499_14" href="terminal_interface-curses-menus__adb.htm#ref_602_14">Set_Spacing</a></span> (<span class="symbol"><a name="ref_499_27" href="terminal_interface-curses-menus__adb.htm#ref_602_27">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                          <span class="symbol"><a name="ref_500_27" href="terminal_interface-curses-menus__adb.htm#ref_603_27">Descr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> := 0;
+                          <span class="symbol"><a name="ref_501_27" href="terminal_interface-curses-menus__adb.htm#ref_604_27">Row</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>   := 0;
+                          <span class="symbol"><a name="ref_502_27" href="terminal_interface-curses-menus__adb.htm#ref_605_27">Col</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> := 0);
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_spacing.3x.html">set_menu_spacing()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_499_14">Set_Spacing</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_43"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_506_14" HREF="terminal_interface-curses-menus__adb.htm#ref_618_14">Spacing</A></span> (<span class="symbol"><A NAME="ref_506_23" HREF="terminal_interface-curses-menus__adb.htm#ref_618_23">Men</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                      <span class="symbol"><A NAME="ref_507_23" HREF="terminal_interface-curses-menus__adb.htm#ref_619_23">Descr</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-                      <span class="symbol"><A NAME="ref_508_23" HREF="terminal_interface-curses-menus__adb.htm#ref_620_23">Row</A></span>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-                      <span class="symbol"><A NAME="ref_509_23" HREF="terminal_interface-curses-menus__adb.htm#ref_621_23">Col</A></span>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_spacing.3x.html">menu_spacing()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_506_14">Spacing</A>);
+   <span class="comment"><em>--  <A NAME="AFU_43">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_507_14" href="terminal_interface-curses-menus__adb.htm#ref_618_14">Spacing</a></span> (<span class="symbol"><a name="ref_507_23" href="terminal_interface-curses-menus__adb.htm#ref_618_23">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                      <span class="symbol"><a name="ref_508_23" href="terminal_interface-curses-menus__adb.htm#ref_619_23">Descr</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+                      <span class="symbol"><a name="ref_509_23" href="terminal_interface-curses-menus__adb.htm#ref_620_23">Row</a></span>   : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+                      <span class="symbol"><a name="ref_510_23" href="terminal_interface-curses-menus__adb.htm#ref_621_23">Col</a></span>   : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_spacing.3x.html">menu_spacing()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_507_14">Spacing</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/menu_pattern.3x.html">menu_pattern.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/menu_pattern.3x.html">menu_pattern.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_44"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_518_13" HREF="terminal_interface-curses-menus__adb.htm#ref_639_13">Set_Pattern</A></span> (<span class="symbol"><A NAME="ref_518_26" HREF="terminal_interface-curses-menus__adb.htm#ref_639_26">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                         <span class="symbol"><A NAME="ref_519_26" HREF="terminal_interface-curses-menus__adb.htm#ref_640_26">Text</A></span> : String) <b>return</b> Boolean;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_pattern.3x.html">set_menu_pattern()</A></EM></span>
-   <span class="comment"><EM>--  Return TRUE if the pattern matches, FALSE otherwise</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_518_13">Set_Pattern</A>);
+   <span class="comment"><em>--  <A NAME="AFU_44">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_519_13" href="terminal_interface-curses-menus__adb.htm#ref_639_13">Set_Pattern</a></span> (<span class="symbol"><a name="ref_519_26" href="terminal_interface-curses-menus__adb.htm#ref_639_26">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                         <span class="symbol"><a name="ref_520_26" href="terminal_interface-curses-menus__adb.htm#ref_640_26">Text</a></span> : String) <b>return</b> Boolean;
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_pattern.3x.html">set_menu_pattern()</A></em></span>
+   <span class="comment"><em>--  Return TRUE if the pattern matches, FALSE otherwise</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_519_13">Set_Pattern</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_45"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_525_14" HREF="terminal_interface-curses-menus__adb.htm#ref_662_14">Pattern</A></span> (<span class="symbol"><A NAME="ref_525_23" HREF="terminal_interface-curses-menus__adb.htm#ref_662_23">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                      <span class="symbol"><A NAME="ref_526_23" HREF="terminal_interface-curses-menus__adb.htm#ref_663_23">Text</A></span> : <b>out</b> String);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_pattern.3x.html">menu_pattern()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_525_14">Pattern</A>);
+   <span class="comment"><em>--  <A NAME="AFU_45">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_526_14" href="terminal_interface-curses-menus__adb.htm#ref_662_14">Pattern</a></span> (<span class="symbol"><a name="ref_526_23" href="terminal_interface-curses-menus__adb.htm#ref_662_23">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                      <span class="symbol"><a name="ref_527_23" href="terminal_interface-curses-menus__adb.htm#ref_663_23">Text</a></span> : <b>out</b> String);
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_pattern.3x.html">menu_pattern()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_526_14">Pattern</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/menu_format.3x.html">menu_format.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/menu_format.3x.html">menu_format.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_46"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_535_14" HREF="terminal_interface-curses-menus__adb.htm#ref_671_14">Set_Format</A></span> (<span class="symbol"><A NAME="ref_535_26" HREF="terminal_interface-curses-menus__adb.htm#ref_671_26">Men</A></span>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                         <span class="symbol"><A NAME="ref_536_26" HREF="terminal_interface-curses-menus__adb.htm#ref_672_26">Lines</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
-                         <span class="symbol"><A NAME="ref_537_26" HREF="terminal_interface-curses-menus__adb.htm#ref_673_26">Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>);
-   <span class="comment"><EM>--  Not implemented: 0 argument for Lines or Columns;</EM></span>
-   <span class="comment"><EM>--  instead use Format to get the current sizes</EM></span>
-   <span class="comment"><EM>--      The  default  format  is  16  rows,  1  column.    Calling</EM></span>
-   <span class="comment"><EM>--      set_menu_format  with a null menu pointer will change this</EM></span>
-   <span class="comment"><EM>--      default.  A zero row or column argument to set_menu_format</EM></span>
-   <span class="comment"><EM>--      is  interpreted  as  a  request  not to change the current</EM></span>
-   <span class="comment"><EM>--      value.</EM></span>
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_format.3x.html">set_menu_format()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_535_14">Set_Format</A>);
+   <span class="comment"><em>--  <A NAME="AFU_46">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_536_14" href="terminal_interface-curses-menus__adb.htm#ref_671_14">Set_Format</a></span> (<span class="symbol"><a name="ref_536_26" href="terminal_interface-curses-menus__adb.htm#ref_671_26">Men</a></span>     : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                         <span class="symbol"><a name="ref_537_26" href="terminal_interface-curses-menus__adb.htm#ref_672_26">Lines</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
+                         <span class="symbol"><a name="ref_538_26" href="terminal_interface-curses-menus__adb.htm#ref_673_26">Columns</a></span> : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>);
+   <span class="comment"><em>--  Not implemented: 0 argument for Lines or Columns;</em></span>
+   <span class="comment"><em>--  instead use Format to get the current sizes</em></span>
+   <span class="comment"><em>--      The  default  format  is  16  rows,  1  column.    Calling</em></span>
+   <span class="comment"><em>--      set_menu_format  with a null menu pointer will change this</em></span>
+   <span class="comment"><em>--      default.  A zero row or column argument to set_menu_format</em></span>
+   <span class="comment"><em>--      is  interpreted  as  a  request  not to change the current</em></span>
+   <span class="comment"><em>--      value.</em></span>
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_format.3x.html">set_menu_format()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_536_14">Set_Format</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_47"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_549_14" HREF="terminal_interface-curses-menus__adb.htm#ref_687_14">Format</A></span> (<span class="symbol"><A NAME="ref_549_22" HREF="terminal_interface-curses-menus__adb.htm#ref_687_22">Men</A></span>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                     <span class="symbol"><A NAME="ref_550_22" HREF="terminal_interface-curses-menus__adb.htm#ref_688_22">Lines</A></span>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
-                     <span class="symbol"><A NAME="ref_551_22" HREF="terminal_interface-curses-menus__adb.htm#ref_689_22">Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_format.3x.html">menu_format()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_549_14">Format</A>);
+   <span class="comment"><em>--  <A NAME="AFU_47">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_550_14" href="terminal_interface-curses-menus__adb.htm#ref_687_14">Format</a></span> (<span class="symbol"><a name="ref_550_22" href="terminal_interface-curses-menus__adb.htm#ref_687_22">Men</a></span>     : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                     <span class="symbol"><a name="ref_551_22" href="terminal_interface-curses-menus__adb.htm#ref_688_22">Lines</a></span>   : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
+                     <span class="symbol"><a name="ref_552_22" href="terminal_interface-curses-menus__adb.htm#ref_689_22">Columns</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_format.3x.html">menu_format()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_550_14">Format</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/menu_hook.3x.html">menu_hook.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/menu_hook.3x.html">menu_hook.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <b>type</b> <span class="symbol"><A NAME="ref_559_9">Menu_Hook_Function</A></span> <b>is</b> <b>access</b> <b>procedure</b> (<span class="symbol"><A NAME="ref_559_49">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>);
-   <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>);
+   <b>type</b> <span class="symbol"><a name="ref_560_9">Menu_Hook_Function</a></span> <b>is</b> <b>access</b> <b>procedure</b> (<span class="symbol"><a name="ref_560_49">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>);
+   <b>pragma</b> Convention (C, <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_48"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_563_14" HREF="terminal_interface-curses-menus__adb.htm#ref_703_14">Set_Item_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_563_34" HREF="terminal_interface-curses-menus__adb.htm#ref_703_34">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                                 <span class="symbol"><A NAME="ref_564_34" HREF="terminal_interface-curses-menus__adb.htm#ref_704_34">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_hook.3x.html">set_item_init()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_563_14">Set_Item_Init_Hook</A>);
+   <span class="comment"><em>--  <A NAME="AFU_48">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_564_14" href="terminal_interface-curses-menus__adb.htm#ref_703_14">Set_Item_Init_Hook</a></span> (<span class="symbol"><a name="ref_564_34" href="terminal_interface-curses-menus__adb.htm#ref_703_34">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                                 <span class="symbol"><a name="ref_565_34" href="terminal_interface-curses-menus__adb.htm#ref_704_34">Proc</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_hook.3x.html">set_item_init()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_564_14">Set_Item_Init_Hook</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_49"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_569_14" HREF="terminal_interface-curses-menus__adb.htm#ref_714_14">Set_Item_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_569_34" HREF="terminal_interface-curses-menus__adb.htm#ref_714_34">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                                 <span class="symbol"><A NAME="ref_570_34" HREF="terminal_interface-curses-menus__adb.htm#ref_715_34">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_hook.3x.html">set_item_term()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_569_14">Set_Item_Term_Hook</A>);
+   <span class="comment"><em>--  <A NAME="AFU_49">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_570_14" href="terminal_interface-curses-menus__adb.htm#ref_714_14">Set_Item_Term_Hook</a></span> (<span class="symbol"><a name="ref_570_34" href="terminal_interface-curses-menus__adb.htm#ref_714_34">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                                 <span class="symbol"><a name="ref_571_34" href="terminal_interface-curses-menus__adb.htm#ref_715_34">Proc</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_hook.3x.html">set_item_term()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_570_14">Set_Item_Term_Hook</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_50"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_575_14" HREF="terminal_interface-curses-menus__adb.htm#ref_725_14">Set_Menu_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_575_34" HREF="terminal_interface-curses-menus__adb.htm#ref_725_34">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                                 <span class="symbol"><A NAME="ref_576_34" HREF="terminal_interface-curses-menus__adb.htm#ref_726_34">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_hook.3x.html">set_menu_init()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_575_14">Set_Menu_Init_Hook</A>);
+   <span class="comment"><em>--  <A NAME="AFU_50">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_576_14" href="terminal_interface-curses-menus__adb.htm#ref_725_14">Set_Menu_Init_Hook</a></span> (<span class="symbol"><a name="ref_576_34" href="terminal_interface-curses-menus__adb.htm#ref_725_34">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                                 <span class="symbol"><a name="ref_577_34" href="terminal_interface-curses-menus__adb.htm#ref_726_34">Proc</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_hook.3x.html">set_menu_init()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_576_14">Set_Menu_Init_Hook</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_51"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_581_14" HREF="terminal_interface-curses-menus__adb.htm#ref_736_14">Set_Menu_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_581_34" HREF="terminal_interface-curses-menus__adb.htm#ref_736_34">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                                 <span class="symbol"><A NAME="ref_582_34" HREF="terminal_interface-curses-menus__adb.htm#ref_737_34">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_hook.3x.html">set_menu_term()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_581_14">Set_Menu_Term_Hook</A>);
+   <span class="comment"><em>--  <A NAME="AFU_51">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_582_14" href="terminal_interface-curses-menus__adb.htm#ref_736_14">Set_Menu_Term_Hook</a></span> (<span class="symbol"><a name="ref_582_34" href="terminal_interface-curses-menus__adb.htm#ref_736_34">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                                 <span class="symbol"><a name="ref_583_34" href="terminal_interface-curses-menus__adb.htm#ref_737_34">Proc</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_hook.3x.html">set_menu_term()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_582_14">Set_Menu_Term_Hook</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_52"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_587_13" HREF="terminal_interface-curses-menus__adb.htm#ref_747_13">Get_Item_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_587_33" HREF="terminal_interface-curses-menus__adb.htm#ref_747_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_hook.3x.html">item_init()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_587_13">Get_Item_Init_Hook</A>);
+   <span class="comment"><em>--  <A NAME="AFU_52">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_588_13" href="terminal_interface-curses-menus__adb.htm#ref_747_13">Get_Item_Init_Hook</a></span> (<span class="symbol"><a name="ref_588_33" href="terminal_interface-curses-menus__adb.htm#ref_747_33">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_hook.3x.html">item_init()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_588_13">Get_Item_Init_Hook</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_53"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_592_13" HREF="terminal_interface-curses-menus__adb.htm#ref_755_13">Get_Item_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_592_33" HREF="terminal_interface-curses-menus__adb.htm#ref_755_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_hook.3x.html">item_term()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_592_13">Get_Item_Term_Hook</A>);
+   <span class="comment"><em>--  <A NAME="AFU_53">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_593_13" href="terminal_interface-curses-menus__adb.htm#ref_755_13">Get_Item_Term_Hook</a></span> (<span class="symbol"><a name="ref_593_33" href="terminal_interface-curses-menus__adb.htm#ref_755_33">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_hook.3x.html">item_term()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_593_13">Get_Item_Term_Hook</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_54"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_597_13" HREF="terminal_interface-curses-menus__adb.htm#ref_763_13">Get_Menu_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_597_33" HREF="terminal_interface-curses-menus__adb.htm#ref_763_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_hook.3x.html">menu_init()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_597_13">Get_Menu_Init_Hook</A>);
+   <span class="comment"><em>--  <A NAME="AFU_54">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_598_13" href="terminal_interface-curses-menus__adb.htm#ref_763_13">Get_Menu_Init_Hook</a></span> (<span class="symbol"><a name="ref_598_33" href="terminal_interface-curses-menus__adb.htm#ref_763_33">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_hook.3x.html">menu_init()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_598_13">Get_Menu_Init_Hook</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_55"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_602_13" HREF="terminal_interface-curses-menus__adb.htm#ref_771_13">Get_Menu_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_602_33" HREF="terminal_interface-curses-menus__adb.htm#ref_771_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_hook.3x.html">menu_term()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_602_13">Get_Menu_Term_Hook</A>);
+   <span class="comment"><em>--  <A NAME="AFU_55">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_603_13" href="terminal_interface-curses-menus__adb.htm#ref_771_13">Get_Menu_Term_Hook</a></span> (<span class="symbol"><a name="ref_603_33" href="terminal_interface-curses-menus__adb.htm#ref_771_33">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_hook.3x.html">menu_term()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_603_13">Get_Menu_Term_Hook</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/menu_items.3x.html">menu_items.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/menu_items.3x.html">menu_items.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_56"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_611_14" HREF="terminal_interface-curses-menus__adb.htm#ref_779_14">Redefine</A></span> (<span class="symbol"><A NAME="ref_611_24" HREF="terminal_interface-curses-menus__adb.htm#ref_779_24">Men</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                       <span class="symbol"><A NAME="ref_612_24" HREF="terminal_interface-curses-menus__adb.htm#ref_780_24">Items</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_176_9">Item_Array_Access</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_items.3x.html">set_menu_items()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_611_14">Redefine</A>);
+   <span class="comment"><em>--  <A NAME="AFU_56">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_612_14" href="terminal_interface-curses-menus__adb.htm#ref_779_14">Redefine</a></span> (<span class="symbol"><a name="ref_612_24" href="terminal_interface-curses-menus__adb.htm#ref_779_24">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                       <span class="symbol"><a name="ref_613_24" href="terminal_interface-curses-menus__adb.htm#ref_780_24">Items</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_177_9">Item_Array_Access</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_items.3x.html">set_menu_items()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_612_14">Redefine</a>);
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_616_14">Set_Items</A></span> (<span class="symbol"><A NAME="ref_616_25">Men</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                        <span class="symbol"><A NAME="ref_617_25">Items</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_176_9">Item_Array_Access</A>) <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_611_14">Redefine</A>;
-   <span class="comment"><EM>--  pragma Inline (Set_Items);</EM></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_617_14">Set_Items</a></span> (<span class="symbol"><a name="ref_617_25">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                        <span class="symbol"><a name="ref_618_25">Items</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_177_9">Item_Array_Access</a>) <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_612_14">Redefine</a>;
+   <span class="comment"><em>--  pragma Inline (Set_Items);</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_57"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_621_13" HREF="terminal_interface-curses-menus__adb.htm#ref_803_13">Items</A></span> (<span class="symbol"><A NAME="ref_621_20" HREF="terminal_interface-curses-menus__adb.htm#ref_803_20">Men</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                   <span class="symbol"><A NAME="ref_622_20" HREF="terminal_interface-curses-menus__adb.htm#ref_804_20">Index</A></span> : Positive) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_items.3x.html">menu_items()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_621_13">Items</A>);
+   <span class="comment"><em>--  <A NAME="AFU_57">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_622_13" href="terminal_interface-curses-menus__adb.htm#ref_803_13">Items</a></span> (<span class="symbol"><a name="ref_622_20" href="terminal_interface-curses-menus__adb.htm#ref_803_20">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                   <span class="symbol"><a name="ref_623_20" href="terminal_interface-curses-menus__adb.htm#ref_804_20">Index</a></span> : Positive) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_items.3x.html">menu_items()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_622_13">Items</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_58"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_627_13" HREF="terminal_interface-curses-menus__adb.htm#ref_795_13">Item_Count</A></span> (<span class="symbol"><A NAME="ref_627_25" HREF="terminal_interface-curses-menus__adb.htm#ref_795_25">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> Natural;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_items.3x.html">item_count()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_627_13">Item_Count</A>);
+   <span class="comment"><em>--  <A NAME="AFU_58">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_628_13" href="terminal_interface-curses-menus__adb.htm#ref_795_13">Item_Count</a></span> (<span class="symbol"><a name="ref_628_25" href="terminal_interface-curses-menus__adb.htm#ref_795_25">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> Natural;
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_items.3x.html">item_count()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_628_13">Item_Count</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/menu_new.3x.html">menu_new.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/menu_new.3x.html">menu_new.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_59"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_636_13" HREF="terminal_interface-curses-menus__adb.htm#ref_822_13">Create</A></span> (<span class="symbol"><A NAME="ref_636_21" HREF="terminal_interface-curses-menus__adb.htm#ref_822_21">Items</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_176_9">Item_Array_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_new.3x.html">new_menu()</A></EM></span>
-   <span class="comment"><EM>--  Not inlined</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_59">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_637_13" href="terminal_interface-curses-menus__adb.htm#ref_822_13">Create</a></span> (<span class="symbol"><a name="ref_637_21" href="terminal_interface-curses-menus__adb.htm#ref_822_21">Items</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_177_9">Item_Array_Access</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_new.3x.html">new_menu()</A></em></span>
+   <span class="comment"><em>--  Not inlined</em></span>
 
-   <b>function</b> New_Menu (<span class="symbol"><A NAME="ref_640_23">Items</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_176_9">Item_Array_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_636_13">Create</A>;
+   <b>function</b> New_Menu (<span class="symbol"><a name="ref_641_23">Items</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_177_9">Item_Array_Access</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_637_13">Create</a>;
 
-   <span class="comment"><EM>--  #1A NAME="AFU_60"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_643_14" HREF="terminal_interface-curses-menus__adb.htm#ref_841_14">Delete</A></span> (<span class="symbol"><A NAME="ref_643_22" HREF="terminal_interface-curses-menus__adb.htm#ref_841_22">Men</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_new.3x.html">free_menu()</A></EM></span>
-   <span class="comment"><EM>--  Reset Men to Null_Menu</EM></span>
-   <span class="comment"><EM>--  Not inlined</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_60">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_644_14" href="terminal_interface-curses-menus__adb.htm#ref_841_14">Delete</a></span> (<span class="symbol"><a name="ref_644_22" href="terminal_interface-curses-menus__adb.htm#ref_841_22">Men</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_new.3x.html">free_menu()</A></em></span>
+   <span class="comment"><em>--  Reset Men to Null_Menu</em></span>
+   <span class="comment"><em>--  Not inlined</em></span>
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/menu_driver.3x.html">menu_driver.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/menu_driver.3x.html">menu_driver.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <b>type</b> <span class="symbol"><A NAME="ref_652_9">Driver_Result</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_652_27">Menu_Ok</A></span>,
-                          <span class="symbol"><A NAME="ref_653_27">Request_Denied</A></span>,
-                          <span class="symbol"><A NAME="ref_654_27">Unknown_Request</A></span>,
-                          <span class="symbol"><A NAME="ref_655_27">No_Match</A></span>);
+   <b>type</b> <span class="symbol"><a name="ref_653_9">Driver_Result</a></span> <b>is</b> (<span class="symbol"><a name="ref_653_27">Menu_Ok</a></span>,
+                          <span class="symbol"><a name="ref_654_27">Request_Denied</a></span>,
+                          <span class="symbol"><a name="ref_655_27">Unknown_Request</a></span>,
+                          <span class="symbol"><a name="ref_656_27">No_Match</a></span>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_61"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_658_13" HREF="terminal_interface-curses-menus__adb.htm#ref_852_13">Driver</A></span> (<span class="symbol"><A NAME="ref_658_21" HREF="terminal_interface-curses-menus__adb.htm#ref_852_21">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
-                    <span class="symbol"><A NAME="ref_659_21" HREF="terminal_interface-curses-menus__adb.htm#ref_853_21">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_66_9">Key_Code</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_652_9">Driver_Result</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/menu_driver.3x.html">menu_driver()</A></EM></span>
-   <span class="comment"><EM>--  Driver is not inlined</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_61">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_659_13" href="terminal_interface-curses-menus__adb.htm#ref_852_13">Driver</a></span> (<span class="symbol"><a name="ref_659_21" href="terminal_interface-curses-menus__adb.htm#ref_852_21">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
+                    <span class="symbol"><a name="ref_660_21" href="terminal_interface-curses-menus__adb.htm#ref_853_21">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_67_9">Key_Code</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_653_9">Driver_Result</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/menu_driver.3x.html">menu_driver()</A></em></span>
+   <span class="comment"><em>--  Driver is not inlined</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_62"#2|</EM></span>
-   <span class="comment"><EM>--  Not Implemented: menu_request_name, menu_request_by_name</EM></span>
-<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_62">|</A></em></span>
+   <span class="comment"><em>--  Not Implemented: menu_request_name, menu_request_by_name</em></span>
+<span class="comment"><em>-------------------------------------------------------------------------------</em></span>
 <b>private</b>
-   <b>type</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>   <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address;
-   <b>type</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>   <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address;
+   <b>type</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>   <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address;
+   <b>type</b> <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>   <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address;
 
-   <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_4">Null_Item</A> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A> := 0;
-   <A HREF="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Menu</A> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A> := 0;
+   <a href="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</a> : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a> := 0;
+   <a href="terminal_interface-curses-menus__ads.htm#ref_59_4">Null_Menu</a> : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a> := 0;
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_45_35">Menus</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-mouse__adb.htm b/doc/html/ada/terminal_interface-curses-mouse__adb.htm
index 13cecb1..1a473a7 100644
--- a/doc/html/ada/terminal_interface-curses-mouse__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-mouse__adb.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-mouse.adb</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-mouse.adb</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,226 +11,226 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-mouse.adb </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                     Terminal_Interface.Curses.Mouse                      --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 B O D Y                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2009,2014 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.25 @</EM></span>
-<span class="comment"><EM>--  @Date: 2014/09/13 19:10:18 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C; <b>use</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C;
-<b>use</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>;
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-mouse.adb </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                     Terminal_Interface.Curses.Mouse                      --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 B O D Y                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2018,2020 Thomas E. Dickey                                     --</em></span>
+<span class="comment"><em>-- Copyright 1999-2009,2014 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.28 @</em></span>
+<span class="comment"><em>--  @Date: 2020/06/27 18:50:44 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; <b>use</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>;
+<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C; <b>use</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C;
+<b>use</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>;
 
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<span class="symbol"><A NAME="ref_46_40" HREF="terminal_interface-curses-mouse__ads.htm#ref_44_35">Mouse</A></span> <b>is</b>
+<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<span class="symbol"><a name="ref_47_40" href="terminal_interface-curses-mouse__ads.htm#ref_45_35">Mouse</a></span> <b>is</b>
 
-   <b>use</b> <b>type</b> System.Bit_Order;
-
-   <b>function</b> <span class="symbol"><A NAME="ref_50_13" HREF="terminal_interface-curses-mouse__ads.htm#ref_90_13">Has_Mouse</A></span> <b>return</b> Boolean
+   <b>function</b> <span class="symbol"><a name="ref_49_13" href="terminal_interface-curses-mouse__ads.htm#ref_91_13">Has_Mouse</a></span> <b>return</b> Boolean
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_52_16">Mouse_Avail</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_51_16">Mouse_Avail</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Mouse_Avail, "has_mouse");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_937_13">Has_Key</A> (<A HREF="terminal_interface-curses__ads.htm#ref_375_4">Key_Mouse</A>) <b>or</b> <b>else</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_52_16">Mouse_Avail</A> /= 0 <b>then</b>
+      <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_938_13">Has_Key</a> (<a href="terminal_interface-curses__ads.htm#ref_376_4">Key_Mouse</a>) <b>or</b> <b>else</b> <a href="terminal_interface-curses-mouse__adb.htm#ref_51_16">Mouse_Avail</a> /= 0 <b>then</b>
          <b>return</b> True;
       <b>else</b>
          <b>return</b> False;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_90_13">Has_Mouse</A>;
+   <b>end</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_91_13">Has_Mouse</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_62_13" HREF="terminal_interface-curses-mouse__ads.htm#ref_125_13">Get_Mouse</A></span> <b>return</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_84_9">Mouse_Event</A>
+   <b>function</b> <span class="symbol"><a name="ref_61_13" href="terminal_interface-curses-mouse__ads.htm#ref_126_13">Get_Mouse</a></span> <b>return</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</a>
    <b>is</b>
-      <b>type</b> <span class="symbol"><A NAME="ref_64_12">Event_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_84_9">Mouse_Event</A>;
+      <b>type</b> <span class="symbol"><a name="ref_63_12">Event_Access</a></span> <b>is</b> <b>access</b> <b>all</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</a>;
 
-      <b>function</b> <span class="symbol"><A NAME="ref_66_16">Getmouse</A></span> (<span class="symbol"><A NAME="ref_66_26" HREF="terminal_interface-curses-mouse__adb.htm#ref_66_16">Ev</A></span> : <A HREF="terminal_interface-curses-mouse__adb.htm#ref_64_12">Event_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_65_16">Getmouse</a></span> (<span class="symbol"><a name="ref_65_26">Ev</a></span> : <a href="terminal_interface-curses-mouse__adb.htm#ref_63_12">Event_Access</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Getmouse, "getmouse");
 
-      <span class="symbol"><A NAME="ref_69_7">Event</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_84_9">Mouse_Event</A>;
+      <span class="symbol"><a name="ref_68_7">Event</a></span> : <b>aliased</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</a>;
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_66_16">Getmouse</A> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_69_7">Event</A>'<b>Access</b>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses-mouse__adb.htm#ref_65_16">Getmouse</a> (<a href="terminal_interface-curses-mouse__adb.htm#ref_68_7">Event</a>'<b>Access</b>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-      <b>return</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_69_7">Event</A>;
-   <b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_125_13">Get_Mouse</A>;
+      <b>return</b> <a href="terminal_interface-curses-mouse__adb.htm#ref_68_7">Event</a>;
+   <b>end</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_126_13">Get_Mouse</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_77_14" HREF="terminal_interface-curses-mouse__ads.htm#ref_93_14">Register_Reportable_Event</A></span> (<span class="symbol"><A NAME="ref_77_41" HREF="terminal_interface-curses-mouse__ads.htm#ref_94_7">Button</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Mouse_Button</A>;
-                                        <span class="symbol"><A NAME="ref_78_41" HREF="terminal_interface-curses-mouse__ads.htm#ref_95_7">State</A></span>  : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_71_9">Button_State</A>;
-                                        <span class="symbol"><A NAME="ref_79_41" HREF="terminal_interface-curses-mouse__ads.htm#ref_96_7">Mask</A></span>   : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_76_14" href="terminal_interface-curses-mouse__ads.htm#ref_94_14">Register_Reportable_Event</a></span> (<span class="symbol"><a name="ref_76_41" href="terminal_interface-curses-mouse__ads.htm#ref_95_7">Button</a></span> : <a href="terminal_interface-curses-mouse__ads.htm#ref_61_9">Mouse_Button</a>;
+                                        <span class="symbol"><a name="ref_77_41" href="terminal_interface-curses-mouse__ads.htm#ref_96_7">State</a></span>  : <a href="terminal_interface-curses-mouse__ads.htm#ref_72_9">Button_State</a>;
+                                        <span class="symbol"><a name="ref_78_41" href="terminal_interface-curses-mouse__ads.htm#ref_97_7">Mask</a></span>   : <b>in</b> <b>out</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a>)
    <b>is</b>
-      <span class="symbol"><A NAME="ref_81_7">Button_Nr</A></span> : <b>constant</b> Natural := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Mouse_Button</A>'Pos (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_94_7">Button</A>);
-      <span class="symbol"><A NAME="ref_82_7">State_Nr</A></span>  : <b>constant</b> Natural := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_71_9">Button_State</A>'Pos (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_95_7">State</A>);
+      <span class="symbol"><a name="ref_80_7">Button_Nr</a></span> : <b>constant</b> Natural := <a href="terminal_interface-curses-mouse__ads.htm#ref_61_9">Mouse_Button</a>'Pos (<a href="terminal_interface-curses-mouse__ads.htm#ref_95_7">Button</a>);
+      <span class="symbol"><a name="ref_81_7">State_Nr</a></span>  : <b>constant</b> Natural := <a href="terminal_interface-curses-mouse__ads.htm#ref_72_9">Button_State</a>'Pos (<a href="terminal_interface-curses-mouse__ads.htm#ref_96_7">State</a>);
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_94_7">Button</A> <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_69_12">Modifier_Keys</A> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_95_7">State</A> /= <A HREF="terminal_interface-curses-mouse__ads.htm#ref_72_26">Pressed</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_95_7">Button</a> <b>in</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_70_12">Modifier_Keys</a> <b>and</b> <b>then</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_96_7">State</a> /= <a href="terminal_interface-curses-mouse__ads.htm#ref_73_26">Pressed</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>else</b>
-         <b>if</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_94_7">Button</A> <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_68_12">Real_Buttons</A> <b>then</b>
-            <A HREF="terminal_interface-curses-mouse__ads.htm#ref_96_7">Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_96_7">Mask</A> <b>or</b> ((2 ** (6 * <A HREF="terminal_interface-curses-mouse__adb.htm#ref_81_7">Button_Nr</A>)) ** <A HREF="terminal_interface-curses-mouse__adb.htm#ref_82_7">State_Nr</A>);
+         <b>if</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_95_7">Button</a> <b>in</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_69_12">Real_Buttons</a> <b>then</b>
+            <a href="terminal_interface-curses-mouse__ads.htm#ref_97_7">Mask</a> := <a href="terminal_interface-curses-mouse__ads.htm#ref_97_7">Mask</a> <b>or</b> ((2 ** (6 * <a href="terminal_interface-curses-mouse__adb.htm#ref_80_7">Button_Nr</a>)) ** <a href="terminal_interface-curses-mouse__adb.htm#ref_81_7">State_Nr</a>);
          <b>else</b>
-            <A HREF="terminal_interface-curses-mouse__ads.htm#ref_96_7">Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_96_7">Mask</A> <b>or</b> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_189_4">BUTTON_CTRL</A> ** (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_81_7">Button_Nr</A> - 4));
+            <a href="terminal_interface-curses-mouse__ads.htm#ref_97_7">Mask</a> := <a href="terminal_interface-curses-mouse__ads.htm#ref_97_7">Mask</a> <b>or</b> (<a href="terminal_interface-curses-mouse__ads.htm#ref_190_4">BUTTON_CTRL</a> ** (<a href="terminal_interface-curses-mouse__adb.htm#ref_80_7">Button_Nr</a> - 4));
          <b>end</b> <b>if</b>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_93_14">Register_Reportable_Event</A>;
+   <b>end</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_94_14">Register_Reportable_Event</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_95_14" HREF="terminal_interface-curses-mouse__ads.htm#ref_102_14">Register_Reportable_Events</A></span> (<span class="symbol"><A NAME="ref_95_42" HREF="terminal_interface-curses-mouse__ads.htm#ref_103_7">Button</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Mouse_Button</A>;
-                                         <span class="symbol"><A NAME="ref_96_42" HREF="terminal_interface-curses-mouse__ads.htm#ref_104_7">State</A></span>  : Button_States;
-                                         <span class="symbol"><A NAME="ref_97_42" HREF="terminal_interface-curses-mouse__ads.htm#ref_105_7">Mask</A></span>   : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_94_14" href="terminal_interface-curses-mouse__ads.htm#ref_103_14">Register_Reportable_Events</a></span> (<span class="symbol"><a name="ref_94_42" href="terminal_interface-curses-mouse__ads.htm#ref_104_7">Button</a></span> : <a href="terminal_interface-curses-mouse__ads.htm#ref_61_9">Mouse_Button</a>;
+                                         <span class="symbol"><a name="ref_95_42" href="terminal_interface-curses-mouse__ads.htm#ref_105_7">State</a></span>  : Button_States;
+                                         <span class="symbol"><a name="ref_96_42" href="terminal_interface-curses-mouse__ads.htm#ref_106_7">Mask</a></span>   : <b>in</b> <b>out</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a>)
    <b>is</b>
    <b>begin</b>
-      <b>for</b> <span class="symbol"><A NAME="ref_100_11">S</A></span> <b>in</b> Button_States'<b>Range</b> <b>loop</b>
-         <b>if</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_104_7">State</A> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_100_11">S</A>) <b>then</b>
-            <A HREF="terminal_interface-curses-mouse__ads.htm#ref_93_14">Register_Reportable_Event</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_103_7">Button</A>, <A HREF="terminal_interface-curses-mouse__adb.htm#ref_100_11">S</A>, <A HREF="terminal_interface-curses-mouse__ads.htm#ref_105_7">Mask</A>);
+      <b>for</b> <span class="symbol"><a name="ref_99_11">S</a></span> <b>in</b> Button_States'<b>Range</b> <b>loop</b>
+         <b>if</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_105_7">State</a> (<a href="terminal_interface-curses-mouse__adb.htm#ref_99_11">S</a>) <b>then</b>
+            <a href="terminal_interface-curses-mouse__ads.htm#ref_94_14">Register_Reportable_Event</a> (<a href="terminal_interface-curses-mouse__ads.htm#ref_104_7">Button</a>, <a href="terminal_interface-curses-mouse__adb.htm#ref_99_11">S</a>, <a href="terminal_interface-curses-mouse__ads.htm#ref_106_7">Mask</a>);
          <b>end</b> <b>if</b>;
       <b>end</b> <b>loop</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_102_14">Register_Reportable_Events</A>;
+   <b>end</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_103_14">Register_Reportable_Events</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_107_13" HREF="terminal_interface-curses-mouse__ads.htm#ref_115_13">Start_Mouse</A></span> (<span class="symbol"><A NAME="ref_107_26" HREF="terminal_interface-curses-mouse__ads.htm#ref_115_26">Mask</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_58_4">All_Events</A>)
-                         <b>return</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A>
+   <b>function</b> <span class="symbol"><a name="ref_106_13" href="terminal_interface-curses-mouse__ads.htm#ref_116_13">Start_Mouse</a></span> (<span class="symbol"><a name="ref_106_26" href="terminal_interface-curses-mouse__ads.htm#ref_116_26">Mask</a></span> : <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a> := <a href="terminal_interface-curses-mouse__ads.htm#ref_59_4">All_Events</a>)
+                         <b>return</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_110_16">MMask</A></span> (<span class="symbol"><A NAME="ref_110_23" HREF="terminal_interface-curses-mouse__adb.htm#ref_110_16">M</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A>;
-                      <span class="symbol"><A NAME="ref_111_23" HREF="terminal_interface-curses-mouse__adb.htm#ref_110_16">O</A></span> : <b>access</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A>) <b>return</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A>;
+      <b>function</b> <span class="symbol"><a name="ref_109_16">MMask</a></span> (<span class="symbol"><a name="ref_109_23">M</a></span> : <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a>;
+                      <span class="symbol"><a name="ref_110_23">O</a></span> : <b>access</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a>) <b>return</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a>;
       <b>pragma</b> Import (C, MMask, "mousemask");
-      <span class="symbol"><A NAME="ref_113_7">R</A></span>   : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A>;
-      <span class="symbol"><A NAME="ref_114_7">Old</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A>;
+      <span class="symbol"><a name="ref_112_7">R</a></span>   : <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a>;
+      <span class="symbol"><a name="ref_113_7">Old</a></span> : <b>aliased</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a>;
    <b>begin</b>
-      <A HREF="terminal_interface-curses-mouse__adb.htm#ref_113_7">R</A> := <A HREF="terminal_interface-curses-mouse__adb.htm#ref_110_16">MMask</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_115_26">Mask</A>, <A HREF="terminal_interface-curses-mouse__adb.htm#ref_114_7">Old</A>'<b>Access</b>);
-      <b>if</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_113_7">R</A> = <A HREF="terminal_interface-curses-mouse__ads.htm#ref_57_4">No_Events</A> <b>then</b>
-         <A HREF="terminal_interface-curses__ads.htm#ref_1040_14">Beep</A>;
+      <a href="terminal_interface-curses-mouse__adb.htm#ref_112_7">R</a> := <a href="terminal_interface-curses-mouse__adb.htm#ref_109_16">MMask</a> (<a href="terminal_interface-curses-mouse__ads.htm#ref_116_26">Mask</a>, <a href="terminal_interface-curses-mouse__adb.htm#ref_113_7">Old</a>'<b>Access</b>);
+      <b>if</b> <a href="terminal_interface-curses-mouse__adb.htm#ref_112_7">R</a> = <a href="terminal_interface-curses-mouse__ads.htm#ref_58_4">No_Events</a> <b>then</b>
+         <a href="terminal_interface-curses__ads.htm#ref_1041_14">Beep</a>;
       <b>end</b> <b>if</b>;
-      <b>return</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_114_7">Old</A>;
-   <b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_115_13">Start_Mouse</A>;
+      <b>return</b> <a href="terminal_interface-curses-mouse__adb.htm#ref_113_7">Old</a>;
+   <b>end</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_116_13">Start_Mouse</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_123_14" HREF="terminal_interface-curses-mouse__ads.htm#ref_120_14">End_Mouse</A></span> (<span class="symbol"><A NAME="ref_123_25" HREF="terminal_interface-curses-mouse__ads.htm#ref_120_25">Mask</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_57_4">No_Events</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_122_14" href="terminal_interface-curses-mouse__ads.htm#ref_121_14">End_Mouse</a></span> (<span class="symbol"><a name="ref_122_25" href="terminal_interface-curses-mouse__ads.htm#ref_121_25">Mask</a></span> : <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a> := <a href="terminal_interface-curses-mouse__ads.htm#ref_58_4">No_Events</a>)
    <b>is</b>
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_120_25">Mask</A> /= <A HREF="terminal_interface-curses-mouse__ads.htm#ref_57_4">No_Events</A> <b>then</b>
-         <A HREF="terminal_interface-curses__ads.htm#ref_1040_14">Beep</A>;
+      <b>if</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_121_25">Mask</a> /= <a href="terminal_interface-curses-mouse__ads.htm#ref_58_4">No_Events</a> <b>then</b>
+         <a href="terminal_interface-curses__ads.htm#ref_1041_14">Beep</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_120_14">End_Mouse</A>;
+   <b>end</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_121_14">End_Mouse</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_131_14" HREF="terminal_interface-curses-mouse__adb.htm#ref_135_14">Dispatch_Event</A></span> (<span class="symbol"><A NAME="ref_131_30" HREF="terminal_interface-curses-mouse__adb.htm#ref_135_30">Mask</A></span>   : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A>;
-                             <span class="symbol"><A NAME="ref_132_30" HREF="terminal_interface-curses-mouse__adb.htm#ref_136_30">Button</A></span> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Mouse_Button</A>;
-                             <span class="symbol"><A NAME="ref_133_30" HREF="terminal_interface-curses-mouse__adb.htm#ref_137_30">State</A></span>  : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_71_9">Button_State</A>);
+   <b>procedure</b> <span class="symbol"><a name="ref_130_14" href="terminal_interface-curses-mouse__adb.htm#ref_134_14">Dispatch_Event</a></span> (<span class="symbol"><a name="ref_130_30" href="terminal_interface-curses-mouse__adb.htm#ref_134_30">Mask</a></span>   : <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a>;
+                             <span class="symbol"><a name="ref_131_30" href="terminal_interface-curses-mouse__adb.htm#ref_135_30">Button</a></span> : <b>out</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_61_9">Mouse_Button</a>;
+                             <span class="symbol"><a name="ref_132_30" href="terminal_interface-curses-mouse__adb.htm#ref_136_30">State</a></span>  : <b>out</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_72_9">Button_State</a>);
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_135_14" HREF="terminal_interface-curses-mouse__adb.htm#ref_131_14">Dispatch_Event</A></span> (<span class="symbol"><A NAME="ref_135_30" HREF="terminal_interface-curses-mouse__adb.htm#ref_131_30">Mask</A></span>   : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A>;
-                             <span class="symbol"><A NAME="ref_136_30" HREF="terminal_interface-curses-mouse__adb.htm#ref_132_30">Button</A></span> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Mouse_Button</A>;
-                             <span class="symbol"><A NAME="ref_137_30" HREF="terminal_interface-curses-mouse__adb.htm#ref_133_30">State</A></span>  : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_71_9">Button_State</A>) <b>is</b>
-      <span class="symbol"><A NAME="ref_138_7">L</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A>;
+   <b>procedure</b> <span class="symbol"><a name="ref_134_14" href="terminal_interface-curses-mouse__adb.htm#ref_130_14">Dispatch_Event</a></span> (<span class="symbol"><a name="ref_134_30" href="terminal_interface-curses-mouse__adb.htm#ref_130_30">Mask</a></span>   : <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a>;
+                             <span class="symbol"><a name="ref_135_30" href="terminal_interface-curses-mouse__adb.htm#ref_131_30">Button</a></span> : <b>out</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_61_9">Mouse_Button</a>;
+                             <span class="symbol"><a name="ref_136_30" href="terminal_interface-curses-mouse__adb.htm#ref_132_30">State</a></span>  : <b>out</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_72_9">Button_State</a>) <b>is</b>
+      <span class="symbol"><a name="ref_137_7">L</a></span> : <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a>;
    <b>begin</b>
-      <A HREF="terminal_interface-curses-mouse__adb.htm#ref_132_30">Button</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_66_26">Alt</A>;  <span class="comment"><EM>--  preset to non real button;</EM></span>
-      <b>if</b> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_131_30">Mask</A> <b>and</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_192_4">BUTTON1_EVENTS</A>) /= 0 <b>then</b>
-         <A HREF="terminal_interface-curses-mouse__adb.htm#ref_132_30">Button</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_26">Left</A>;
-      <b>elsif</b> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_131_30">Mask</A> <b>and</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_194_4">BUTTON2_EVENTS</A>) /= 0 <b>then</b>
-         <A HREF="terminal_interface-curses-mouse__adb.htm#ref_132_30">Button</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_61_26">Middle</A>;
-      <b>elsif</b> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_131_30">Mask</A> <b>and</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_196_4">BUTTON3_EVENTS</A>) /= 0 <b>then</b>
-         <A HREF="terminal_interface-curses-mouse__adb.htm#ref_132_30">Button</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_62_26">Right</A>;
-      <b>elsif</b> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_131_30">Mask</A> <b>and</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_198_4">BUTTON4_EVENTS</A>) /= 0 <b>then</b>
-         <A HREF="terminal_interface-curses-mouse__adb.htm#ref_132_30">Button</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_63_26">Button4</A>;
+      <a href="terminal_interface-curses-mouse__adb.htm#ref_131_30">Button</a> := <a href="terminal_interface-curses-mouse__ads.htm#ref_67_26">Alt</a>;  <span class="comment"><em>--  preset to non real button;</em></span>
+      <b>if</b> (<a href="terminal_interface-curses-mouse__adb.htm#ref_130_30">Mask</a> <b>and</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_193_4">BUTTON1_EVENTS</a>) /= 0 <b>then</b>
+         <a href="terminal_interface-curses-mouse__adb.htm#ref_131_30">Button</a> := <a href="terminal_interface-curses-mouse__ads.htm#ref_61_26">Left</a>;
+      <b>elsif</b> (<a href="terminal_interface-curses-mouse__adb.htm#ref_130_30">Mask</a> <b>and</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_195_4">BUTTON2_EVENTS</a>) /= 0 <b>then</b>
+         <a href="terminal_interface-curses-mouse__adb.htm#ref_131_30">Button</a> := <a href="terminal_interface-curses-mouse__ads.htm#ref_62_26">Middle</a>;
+      <b>elsif</b> (<a href="terminal_interface-curses-mouse__adb.htm#ref_130_30">Mask</a> <b>and</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_197_4">BUTTON3_EVENTS</a>) /= 0 <b>then</b>
+         <a href="terminal_interface-curses-mouse__adb.htm#ref_131_30">Button</a> := <a href="terminal_interface-curses-mouse__ads.htm#ref_63_26">Right</a>;
+      <b>elsif</b> (<a href="terminal_interface-curses-mouse__adb.htm#ref_130_30">Mask</a> <b>and</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_199_4">BUTTON4_EVENTS</a>) /= 0 <b>then</b>
+         <a href="terminal_interface-curses-mouse__adb.htm#ref_131_30">Button</a> := <a href="terminal_interface-curses-mouse__ads.htm#ref_64_26">Button4</a>;
       <b>end</b> <b>if</b>;
-      <b>if</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_132_30">Button</A> <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_68_12">Real_Buttons</A> <b>then</b>
-         <A HREF="terminal_interface-curses-mouse__adb.htm#ref_138_7">L</A> := 2 ** (6 * <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Mouse_Button</A>'Pos (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_132_30">Button</A>));
-         <b>for</b> <span class="symbol"><A NAME="ref_152_14">I</A></span> <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_71_9">Button_State</A>'<b>Range</b> <b>loop</b>
-            <b>if</b> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_131_30">Mask</A> <b>and</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_138_7">L</A>) /= 0 <b>then</b>
-               <A HREF="terminal_interface-curses-mouse__adb.htm#ref_133_30">State</A> := <A HREF="terminal_interface-curses-mouse__adb.htm#ref_152_14">I</A>;
+      <b>if</b> <a href="terminal_interface-curses-mouse__adb.htm#ref_131_30">Button</a> <b>in</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_69_12">Real_Buttons</a> <b>then</b>
+         <a href="terminal_interface-curses-mouse__adb.htm#ref_132_30">State</a> := <a href="terminal_interface-curses-mouse__ads.htm#ref_72_26">Released</a>;  <span class="comment"><em>--  preset to non real button;</em></span>
+         <a href="terminal_interface-curses-mouse__adb.htm#ref_137_7">L</a> := 2 ** (6 * <a href="terminal_interface-curses-mouse__ads.htm#ref_61_9">Mouse_Button</a>'Pos (<a href="terminal_interface-curses-mouse__adb.htm#ref_131_30">Button</a>));
+         <b>for</b> <span class="symbol"><a name="ref_152_14">I</a></span> <b>in</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_72_9">Button_State</a>'<b>Range</b> <b>loop</b>
+            <b>if</b> (<a href="terminal_interface-curses-mouse__adb.htm#ref_130_30">Mask</a> <b>and</b> <a href="terminal_interface-curses-mouse__adb.htm#ref_137_7">L</a>) /= 0 <b>then</b>
+               <a href="terminal_interface-curses-mouse__adb.htm#ref_132_30">State</a> := <a href="terminal_interface-curses-mouse__adb.htm#ref_152_14">I</a>;
                <b>exit</b>;
             <b>end</b> <b>if</b>;
-            <A HREF="terminal_interface-curses-mouse__adb.htm#ref_138_7">L</A> := 2 * <A HREF="terminal_interface-curses-mouse__adb.htm#ref_138_7">L</A>;
+            <a href="terminal_interface-curses-mouse__adb.htm#ref_137_7">L</a> := 2 * <a href="terminal_interface-curses-mouse__adb.htm#ref_137_7">L</a>;
          <b>end</b> <b>loop</b>;
       <b>else</b>
-         <A HREF="terminal_interface-curses-mouse__adb.htm#ref_133_30">State</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_72_26">Pressed</A>;
-         <b>if</b> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_131_30">Mask</A> <b>and</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_189_4">BUTTON_CTRL</A>) /= 0 <b>then</b>
-            <A HREF="terminal_interface-curses-mouse__adb.htm#ref_132_30">Button</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_26">Control</A>;
-         <b>elsif</b> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_131_30">Mask</A> <b>and</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_190_4">BUTTON_SHIFT</A>) /= 0 <b>then</b>
-            <A HREF="terminal_interface-curses-mouse__adb.htm#ref_132_30">Button</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_65_26">Shift</A>;
-         <b>elsif</b> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_131_30">Mask</A> <b>and</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_191_4">BUTTON_ALT</A>) /= 0 <b>then</b>
-            <A HREF="terminal_interface-curses-mouse__adb.htm#ref_132_30">Button</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_66_26">Alt</A>;
+         <a href="terminal_interface-curses-mouse__adb.htm#ref_132_30">State</a> := <a href="terminal_interface-curses-mouse__ads.htm#ref_73_26">Pressed</a>;
+         <b>if</b> (<a href="terminal_interface-curses-mouse__adb.htm#ref_130_30">Mask</a> <b>and</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_190_4">BUTTON_CTRL</a>) /= 0 <b>then</b>
+            <a href="terminal_interface-curses-mouse__adb.htm#ref_131_30">Button</a> := <a href="terminal_interface-curses-mouse__ads.htm#ref_65_26">Control</a>;
+         <b>elsif</b> (<a href="terminal_interface-curses-mouse__adb.htm#ref_130_30">Mask</a> <b>and</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_191_4">BUTTON_SHIFT</a>) /= 0 <b>then</b>
+            <a href="terminal_interface-curses-mouse__adb.htm#ref_131_30">Button</a> := <a href="terminal_interface-curses-mouse__ads.htm#ref_66_26">Shift</a>;
+         <b>elsif</b> (<a href="terminal_interface-curses-mouse__adb.htm#ref_130_30">Mask</a> <b>and</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_192_4">BUTTON_ALT</a>) /= 0 <b>then</b>
+            <a href="terminal_interface-curses-mouse__adb.htm#ref_131_30">Button</a> := <a href="terminal_interface-curses-mouse__ads.htm#ref_67_26">Alt</a>;
          <b>end</b> <b>if</b>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_131_14">Dispatch_Event</A>;
+   <b>end</b> <a href="terminal_interface-curses-mouse__adb.htm#ref_130_14">Dispatch_Event</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_171_14" HREF="terminal_interface-curses-mouse__ads.htm#ref_129_14">Get_Event</A></span> (<span class="symbol"><A NAME="ref_171_25" HREF="terminal_interface-curses-mouse__ads.htm#ref_129_25">Event</A></span>  : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_84_9">Mouse_Event</A>;
-                        <span class="symbol"><A NAME="ref_172_25" HREF="terminal_interface-curses-mouse__ads.htm#ref_130_25">Y</A></span>      : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-                        <span class="symbol"><A NAME="ref_173_25" HREF="terminal_interface-curses-mouse__ads.htm#ref_131_25">X</A></span>      : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-                        <span class="symbol"><A NAME="ref_174_25" HREF="terminal_interface-curses-mouse__ads.htm#ref_132_25">Button</A></span> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Mouse_Button</A>;
-                        <span class="symbol"><A NAME="ref_175_25" HREF="terminal_interface-curses-mouse__ads.htm#ref_133_25">State</A></span>  : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_71_9">Button_State</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_171_14" href="terminal_interface-curses-mouse__ads.htm#ref_130_14">Get_Event</a></span> (<span class="symbol"><a name="ref_171_25" href="terminal_interface-curses-mouse__ads.htm#ref_130_25">Event</a></span>  : <a href="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</a>;
+                        <span class="symbol"><a name="ref_172_25" href="terminal_interface-curses-mouse__ads.htm#ref_131_25">Y</a></span>      : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+                        <span class="symbol"><a name="ref_173_25" href="terminal_interface-curses-mouse__ads.htm#ref_132_25">X</a></span>      : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+                        <span class="symbol"><a name="ref_174_25" href="terminal_interface-curses-mouse__ads.htm#ref_133_25">Button</a></span> : <b>out</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_61_9">Mouse_Button</a>;
+                        <span class="symbol"><a name="ref_175_25" href="terminal_interface-curses-mouse__ads.htm#ref_134_25">State</a></span>  : <b>out</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_72_9">Button_State</a>)
    <b>is</b>
-      <span class="symbol"><A NAME="ref_177_7">Mask</A></span>  : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_129_25">Event</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_169_10">Bstate</A>;
+      <span class="symbol"><a name="ref_177_7">Mask</a></span>  : <b>constant</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a> := <a href="terminal_interface-curses-mouse__ads.htm#ref_130_25">Event</a>.<a href="terminal_interface-curses-mouse__ads.htm#ref_170_10">Bstate</a>;
    <b>begin</b>
-      <A HREF="terminal_interface-curses-mouse__ads.htm#ref_131_25">X</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_129_25">Event</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_167_10">X</A>);
-      <A HREF="terminal_interface-curses-mouse__ads.htm#ref_130_25">Y</A> := <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>   (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_129_25">Event</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_167_13">Y</A>);
-      <A HREF="terminal_interface-curses-mouse__adb.htm#ref_131_14">Dispatch_Event</A> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_177_7">Mask</A>, <A HREF="terminal_interface-curses-mouse__ads.htm#ref_132_25">Button</A>, <A HREF="terminal_interface-curses-mouse__ads.htm#ref_133_25">State</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_129_14">Get_Event</A>;
+      <a href="terminal_interface-curses-mouse__ads.htm#ref_132_25">X</a> := <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> (<a href="terminal_interface-curses-mouse__ads.htm#ref_130_25">Event</a>.<a href="terminal_interface-curses-mouse__ads.htm#ref_168_10">X</a>);
+      <a href="terminal_interface-curses-mouse__ads.htm#ref_131_25">Y</a> := <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>   (<a href="terminal_interface-curses-mouse__ads.htm#ref_130_25">Event</a>.<a href="terminal_interface-curses-mouse__ads.htm#ref_168_13">Y</a>);
+      <a href="terminal_interface-curses-mouse__adb.htm#ref_130_14">Dispatch_Event</a> (<a href="terminal_interface-curses-mouse__adb.htm#ref_177_7">Mask</a>, <a href="terminal_interface-curses-mouse__ads.htm#ref_133_25">Button</a>, <a href="terminal_interface-curses-mouse__ads.htm#ref_134_25">State</a>);
+   <b>end</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_130_14">Get_Event</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_184_14" HREF="terminal_interface-curses-mouse__ads.htm#ref_141_14">Unget_Mouse</A></span> (<span class="symbol"><A NAME="ref_184_27" HREF="terminal_interface-curses-mouse__ads.htm#ref_141_27">Event</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_84_9">Mouse_Event</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_184_14" href="terminal_interface-curses-mouse__ads.htm#ref_142_14">Unget_Mouse</a></span> (<span class="symbol"><a name="ref_184_27" href="terminal_interface-curses-mouse__ads.htm#ref_142_27">Event</a></span> : <a href="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_186_16">Ungetmouse</A></span> (<span class="symbol"><A NAME="ref_186_28" HREF="terminal_interface-curses-mouse__adb.htm#ref_186_16">Ev</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_84_9">Mouse_Event</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_186_16">Ungetmouse</a></span> (<span class="symbol"><a name="ref_186_28">Ev</a></span> : <a href="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Ungetmouse, "ungetmouse");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_186_16">Ungetmouse</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_141_27">Event</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses-mouse__adb.htm#ref_186_16">Ungetmouse</a> (<a href="terminal_interface-curses-mouse__ads.htm#ref_142_27">Event</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_141_14">Unget_Mouse</A>;
+   <b>end</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_142_14">Unget_Mouse</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_194_13" HREF="terminal_interface-curses-mouse__ads.htm#ref_146_13">Enclosed_In_Window</A></span> (<span class="symbol"><A NAME="ref_194_33" HREF="terminal_interface-curses-mouse__ads.htm#ref_146_33">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                                <span class="symbol"><A NAME="ref_195_33" HREF="terminal_interface-curses-mouse__ads.htm#ref_147_33">Event</A></span>  : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_84_9">Mouse_Event</A>) <b>return</b> Boolean
+   <b>function</b> <span class="symbol"><a name="ref_194_13" href="terminal_interface-curses-mouse__ads.htm#ref_147_13">Enclosed_In_Window</a></span> (<span class="symbol"><a name="ref_194_33" href="terminal_interface-curses-mouse__ads.htm#ref_147_33">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                                <span class="symbol"><a name="ref_195_33" href="terminal_interface-curses-mouse__ads.htm#ref_148_33">Event</a></span>  : <a href="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</a>) <b>return</b> Boolean
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_197_16">Wenclose</A></span> (<span class="symbol"><A NAME="ref_197_26" HREF="terminal_interface-curses-mouse__adb.htm#ref_197_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_197_40" HREF="terminal_interface-curses-mouse__adb.htm#ref_197_16">Y</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>; <span class="symbol"><A NAME="ref_197_51" HREF="terminal_interface-curses-mouse__adb.htm#ref_197_16">X</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>)
-                         <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
+      <b>function</b> <span class="symbol"><a name="ref_197_16">Wenclose</a></span> (<span class="symbol"><a name="ref_197_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_197_40">Y</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <span class="symbol"><a name="ref_197_51">X</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>)
+                         <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>;
       <b>pragma</b> Import (C, Wenclose, "wenclose");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_197_16">Wenclose</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_146_33">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_147_33">Event</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_167_13">Y</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_147_33">Event</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_167_10">X</A>))
-        = <A HREF="terminal_interface-curses__ads.htm#ref_2100_4">Curses_Bool_False</A>
+      <b>if</b> <a href="terminal_interface-curses-mouse__adb.htm#ref_197_16">Wenclose</a> (<a href="terminal_interface-curses-mouse__ads.htm#ref_147_33">Win</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-mouse__ads.htm#ref_148_33">Event</a>.<a href="terminal_interface-curses-mouse__ads.htm#ref_168_13">Y</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-mouse__ads.htm#ref_148_33">Event</a>.<a href="terminal_interface-curses-mouse__ads.htm#ref_168_10">X</a>))
+        = <a href="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</a>
       <b>then</b>
          <b>return</b> False;
       <b>else</b>
          <b>return</b> True;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_146_13">Enclosed_In_Window</A>;
+   <b>end</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_147_13">Enclosed_In_Window</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_210_13" HREF="terminal_interface-curses-mouse__ads.htm#ref_153_13">Mouse_Interval</A></span> (<span class="symbol"><A NAME="ref_210_29" HREF="terminal_interface-curses-mouse__ads.htm#ref_153_29">Msec</A></span> : Natural := 200) <b>return</b> Natural
+   <b>function</b> <span class="symbol"><a name="ref_210_13" href="terminal_interface-curses-mouse__ads.htm#ref_154_13">Mouse_Interval</a></span> (<span class="symbol"><a name="ref_210_29" href="terminal_interface-curses-mouse__ads.htm#ref_154_29">Msec</a></span> : Natural := 200) <b>return</b> Natural
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_212_16">Mouseinterval</A></span> (<span class="symbol"><A NAME="ref_212_31" HREF="terminal_interface-curses-mouse__adb.htm#ref_212_16">Msec</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_212_16">Mouseinterval</a></span> (<span class="symbol"><a name="ref_212_31">Msec</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Mouseinterval, "mouseinterval");
    <b>begin</b>
-      <b>return</b> Natural (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_212_16">Mouseinterval</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_153_29">Msec</A>)));
-   <b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_153_13">Mouse_Interval</A>;
+      <b>return</b> Natural (<a href="terminal_interface-curses-mouse__adb.htm#ref_212_16">Mouseinterval</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-mouse__ads.htm#ref_154_29">Msec</a>)));
+   <b>end</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_154_13">Mouse_Interval</a>;
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_44_35">Mouse</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-mouse__ads.htm#ref_45_35">Mouse</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-mouse__ads.htm b/doc/html/ada/terminal_interface-curses-mouse__ads.htm
index 0c4545a..5ed20a8 100644
--- a/doc/html/ada/terminal_interface-curses-mouse__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-mouse__ads.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-mouse.ads</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-mouse.ads</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,212 +11,213 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-mouse.ads </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                      Terminal_Interface.Curses.Mouse                     --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 S P E C                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2014,2015 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.32 @</EM></span>
-<span class="comment"><EM>--  @Date: 2015/05/30 23:19:19 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-mouse.ads </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                      Terminal_Interface.Curses.Mouse                     --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 S P E C                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1998-2014,2015 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.33 @</em></span>
+<span class="comment"><em>--  @Date: 2020/02/02 23:34:34 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
 <b>with</b> System;
 
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<span class="symbol"><A NAME="ref_44_35" HREF="terminal_interface-curses-mouse__adb.htm#ref_46_40">Mouse</A></span> <b>is</b>
-   <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_44_35">Mouse</A>);
+<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<span class="symbol"><a name="ref_45_35" href="terminal_interface-curses-mouse__adb.htm#ref_47_40">Mouse</a></span> <b>is</b>
+   <b>pragma</b> Preelaborate (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-mouse__ads.htm#ref_45_35">Mouse</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/curs_mouse.3x.html">curs_mouse.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  mouse_trafo, wmouse_trafo are implemented as Transform_Coordinates</EM></span>
-   <span class="comment"><EM>--  in the parent package.</EM></span>
-   <span class="comment"><EM>--</EM></span>
-   <span class="comment"><EM>--  Not implemented:</EM></span>
-   <span class="comment"><EM>--  REPORT_MOUSE_POSITION (i.e. as a parameter to Register_Reportable_Event</EM></span>
-   <span class="comment"><EM>--  or Start_Mouse)</EM></span>
-   <b>type</b> <span class="symbol"><A NAME="ref_56_9">Event_Mask</A></span> <b>is</b> <b>private</b>;
-   <span class="symbol"><A NAME="ref_57_4">No_Events</A></span>  : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A>;
-   <span class="symbol"><A NAME="ref_58_4">All_Events</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A>;
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/curs_mouse.3x.html">curs_mouse.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  mouse_trafo, wmouse_trafo are implemented as Transform_Coordinates</em></span>
+   <span class="comment"><em>--  in the parent package.</em></span>
+   <span class="comment"><em>--</em></span>
+   <span class="comment"><em>--  Not implemented:</em></span>
+   <span class="comment"><em>--  REPORT_MOUSE_POSITION (i.e. as a parameter to Register_Reportable_Event</em></span>
+   <span class="comment"><em>--  or Start_Mouse)</em></span>
+   <b>type</b> <span class="symbol"><a name="ref_57_9">Event_Mask</a></span> <b>is</b> <b>private</b>;
+   <span class="symbol"><a name="ref_58_4">No_Events</a></span>  : <b>constant</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a>;
+   <span class="symbol"><a name="ref_59_4">All_Events</a></span> : <b>constant</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a>;
 
-   <b>type</b> <span class="symbol"><A NAME="ref_60_9">Mouse_Button</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_60_26">Left</A></span>,     <span class="comment"><EM>-- aka: Button 1</EM></span>
-                         <span class="symbol"><A NAME="ref_61_26">Middle</A></span>,   <span class="comment"><EM>-- aka: Button 2</EM></span>
-                         <span class="symbol"><A NAME="ref_62_26">Right</A></span>,    <span class="comment"><EM>-- aka: Button 3</EM></span>
-                         <span class="symbol"><A NAME="ref_63_26">Button4</A></span>,  <span class="comment"><EM>-- aka: Button 4</EM></span>
-                         <span class="symbol"><A NAME="ref_64_26">Control</A></span>,  <span class="comment"><EM>-- Control Key</EM></span>
-                         <span class="symbol"><A NAME="ref_65_26">Shift</A></span>,    <span class="comment"><EM>-- Shift Key</EM></span>
-                         <span class="symbol"><A NAME="ref_66_26">Alt</A></span>);     <span class="comment"><EM>-- ALT Key</EM></span>
+   <b>type</b> <span class="symbol"><a name="ref_61_9">Mouse_Button</a></span> <b>is</b> (<span class="symbol"><a name="ref_61_26">Left</a></span>,     <span class="comment"><em>-- aka: Button 1</em></span>
+                         <span class="symbol"><a name="ref_62_26">Middle</a></span>,   <span class="comment"><em>-- aka: Button 2</em></span>
+                         <span class="symbol"><a name="ref_63_26">Right</a></span>,    <span class="comment"><em>-- aka: Button 3</em></span>
+                         <span class="symbol"><a name="ref_64_26">Button4</a></span>,  <span class="comment"><em>-- aka: Button 4</em></span>
+                         <span class="symbol"><a name="ref_65_26">Control</a></span>,  <span class="comment"><em>-- Control Key</em></span>
+                         <span class="symbol"><a name="ref_66_26">Shift</a></span>,    <span class="comment"><em>-- Shift Key</em></span>
+                         <span class="symbol"><a name="ref_67_26">Alt</a></span>);     <span class="comment"><em>-- ALT Key</em></span>
 
-   <b>subtype</b> <span class="symbol"><A NAME="ref_68_12">Real_Buttons</A></span>  <b>is</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Mouse_Button</A> <b>range</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_26">Left</A> .. <A HREF="terminal_interface-curses-mouse__ads.htm#ref_63_26">Button4</A>;
-   <b>subtype</b> <span class="symbol"><A NAME="ref_69_12">Modifier_Keys</A></span> <b>is</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Mouse_Button</A> <b>range</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_26">Control</A> .. <A HREF="terminal_interface-curses-mouse__ads.htm#ref_66_26">Alt</A>;
+   <b>subtype</b> <span class="symbol"><a name="ref_69_12">Real_Buttons</a></span>  <b>is</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_61_9">Mouse_Button</a> <b>range</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_61_26">Left</a> .. <a href="terminal_interface-curses-mouse__ads.htm#ref_64_26">Button4</a>;
+   <b>subtype</b> <span class="symbol"><a name="ref_70_12">Modifier_Keys</a></span> <b>is</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_61_9">Mouse_Button</a> <b>range</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_65_26">Control</a> .. <a href="terminal_interface-curses-mouse__ads.htm#ref_67_26">Alt</a>;
 
-   <b>type</b> <span class="symbol"><A NAME="ref_71_9">Button_State</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_71_26">Released</A></span>,
-                         <span class="symbol"><A NAME="ref_72_26">Pressed</A></span>,
-                         <span class="symbol"><A NAME="ref_73_26">Clicked</A></span>,
-                         <span class="symbol"><A NAME="ref_74_26">Double_Clicked</A></span>,
-                         <span class="symbol"><A NAME="ref_75_26">Triple_Clicked</A></span>);
+   <b>type</b> <span class="symbol"><a name="ref_72_9">Button_State</a></span> <b>is</b> (<span class="symbol"><a name="ref_72_26">Released</a></span>,
+                         <span class="symbol"><a name="ref_73_26">Pressed</a></span>,
+                         <span class="symbol"><a name="ref_74_26">Clicked</a></span>,
+                         <span class="symbol"><a name="ref_75_26">Double_Clicked</a></span>,
+                         <span class="symbol"><a name="ref_76_26">Triple_Clicked</a></span>);
 
-   <b>type</b> Button_States <b>is</b> <b>array</b> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_71_9">Button_State</A>) <b>of</b> Boolean;
+   <b>type</b> Button_States <b>is</b> <b>array</b> (<a href="terminal_interface-curses-mouse__ads.htm#ref_72_9">Button_State</a>) <b>of</b> Boolean;
    <b>pragma</b> Pack (Button_States);
 
-   <span class="symbol"><A NAME="ref_80_4">All_Clicks</A></span> : <b>constant</b> Button_States := (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_73_26">Clicked</A> .. <A HREF="terminal_interface-curses-mouse__ads.htm#ref_75_26">Triple_Clicked</A> =&gt; True,
+   <span class="symbol"><a name="ref_81_4">All_Clicks</a></span> : <b>constant</b> Button_States := (<a href="terminal_interface-curses-mouse__ads.htm#ref_74_26">Clicked</a> .. <a href="terminal_interface-curses-mouse__ads.htm#ref_76_26">Triple_Clicked</a> =&gt; True,
                                            <b>others</b> =&gt; False);
-   <span class="symbol"><A NAME="ref_82_4">All_States</A></span> : <b>constant</b> Button_States := (<b>others</b> =&gt; True);
+   <span class="symbol"><a name="ref_83_4">All_States</a></span> : <b>constant</b> Button_States := (<b>others</b> =&gt; True);
 
-   <b>type</b> <span class="symbol"><A NAME="ref_84_9">Mouse_Event</A></span> <b>is</b> <b>private</b>;
+   <b>type</b> <span class="symbol"><a name="ref_85_9">Mouse_Event</a></span> <b>is</b> <b>private</b>;
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/curs_mouse.3x.html">curs_mouse.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/curs_mouse.3x.html">curs_mouse.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <b>function</b> <span class="symbol"><A NAME="ref_90_13" HREF="terminal_interface-curses-mouse__adb.htm#ref_50_13">Has_Mouse</A></span> <b>return</b> Boolean;
-   <span class="comment"><EM>--  Return true if a mouse device is supported, false otherwise.</EM></span>
+   <b>function</b> <span class="symbol"><a name="ref_91_13" href="terminal_interface-curses-mouse__adb.htm#ref_49_13">Has_Mouse</a></span> <b>return</b> Boolean;
+   <span class="comment"><em>--  Return true if a mouse device is supported, false otherwise.</em></span>
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_93_14" HREF="terminal_interface-curses-mouse__adb.htm#ref_77_14">Register_Reportable_Event</A></span>
-     (<span class="symbol"><A NAME="ref_94_7" HREF="terminal_interface-curses-mouse__adb.htm#ref_77_41">Button</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Mouse_Button</A>;
-      <span class="symbol"><A NAME="ref_95_7" HREF="terminal_interface-curses-mouse__adb.htm#ref_78_41">State</A></span>  : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_71_9">Button_State</A>;
-      <span class="symbol"><A NAME="ref_96_7" HREF="terminal_interface-curses-mouse__adb.htm#ref_79_41">Mask</A></span>   : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A>);
-   <span class="comment"><EM>--  Stores the event described by the button and the state in the mask.</EM></span>
-   <span class="comment"><EM>--  Before you call this the first time, you should initialize the mask</EM></span>
-   <span class="comment"><EM>--  with the Empty_Mask constant</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_93_14">Register_Reportable_Event</A>);
+   <b>procedure</b> <span class="symbol"><a name="ref_94_14" href="terminal_interface-curses-mouse__adb.htm#ref_76_14">Register_Reportable_Event</a></span>
+     (<span class="symbol"><a name="ref_95_7" href="terminal_interface-curses-mouse__adb.htm#ref_76_41">Button</a></span> : <a href="terminal_interface-curses-mouse__ads.htm#ref_61_9">Mouse_Button</a>;
+      <span class="symbol"><a name="ref_96_7" href="terminal_interface-curses-mouse__adb.htm#ref_77_41">State</a></span>  : <a href="terminal_interface-curses-mouse__ads.htm#ref_72_9">Button_State</a>;
+      <span class="symbol"><a name="ref_97_7" href="terminal_interface-curses-mouse__adb.htm#ref_78_41">Mask</a></span>   : <b>in</b> <b>out</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a>);
+   <span class="comment"><em>--  Stores the event described by the button and the state in the mask.</em></span>
+   <span class="comment"><em>--  Before you call this the first time, you should initialize the mask</em></span>
+   <span class="comment"><em>--  with the Empty_Mask constant</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-mouse__ads.htm#ref_94_14">Register_Reportable_Event</a>);
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_102_14" HREF="terminal_interface-curses-mouse__adb.htm#ref_95_14">Register_Reportable_Events</A></span>
-     (<span class="symbol"><A NAME="ref_103_7" HREF="terminal_interface-curses-mouse__adb.htm#ref_95_42">Button</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Mouse_Button</A>;
-      <span class="symbol"><A NAME="ref_104_7" HREF="terminal_interface-curses-mouse__adb.htm#ref_96_42">State</A></span>  : Button_States;
-      <span class="symbol"><A NAME="ref_105_7" HREF="terminal_interface-curses-mouse__adb.htm#ref_97_42">Mask</A></span>   : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A>);
-   <span class="comment"><EM>--  Register all events described by the Button and the State bitmap.</EM></span>
-   <span class="comment"><EM>--  Before you call this the first time, you should initialize the mask</EM></span>
-   <span class="comment"><EM>--  with the Empty_Mask constant</EM></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_103_14" href="terminal_interface-curses-mouse__adb.htm#ref_94_14">Register_Reportable_Events</a></span>
+     (<span class="symbol"><a name="ref_104_7" href="terminal_interface-curses-mouse__adb.htm#ref_94_42">Button</a></span> : <a href="terminal_interface-curses-mouse__ads.htm#ref_61_9">Mouse_Button</a>;
+      <span class="symbol"><a name="ref_105_7" href="terminal_interface-curses-mouse__adb.htm#ref_95_42">State</a></span>  : Button_States;
+      <span class="symbol"><a name="ref_106_7" href="terminal_interface-curses-mouse__adb.htm#ref_96_42">Mask</a></span>   : <b>in</b> <b>out</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a>);
+   <span class="comment"><em>--  Register all events described by the Button and the State bitmap.</em></span>
+   <span class="comment"><em>--  Before you call this the first time, you should initialize the mask</em></span>
+   <span class="comment"><em>--  with the Empty_Mask constant</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_1"#2|</EM></span>
-   <span class="comment"><EM>--  There is one difference to mousmask(): we return the value of the</EM></span>
-   <span class="comment"><EM>--  old mask, that means the event mask value before this call.</EM></span>
-   <span class="comment"><EM>--  Not Implemented: The library version</EM></span>
-   <span class="comment"><EM>--  returns a Mouse_Mask that tells which events are reported.</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_115_13" HREF="terminal_interface-curses-mouse__adb.htm#ref_107_13">Start_Mouse</A></span> (<span class="symbol"><A NAME="ref_115_26" HREF="terminal_interface-curses-mouse__adb.htm#ref_107_26">Mask</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_58_4">All_Events</A>)
-                         <b>return</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_mouse.3x.html">mousemask()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_115_13">Start_Mouse</A>);
+   <span class="comment"><em>--  <A NAME="AFU_1">|</A></em></span>
+   <span class="comment"><em>--  There is one difference to mousmask(): we return the value of the</em></span>
+   <span class="comment"><em>--  old mask, that means the event mask value before this call.</em></span>
+   <span class="comment"><em>--  Not Implemented: The library version</em></span>
+   <span class="comment"><em>--  returns a Mouse_Mask that tells which events are reported.</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_116_13" href="terminal_interface-curses-mouse__adb.htm#ref_106_13">Start_Mouse</a></span> (<span class="symbol"><a name="ref_116_26" href="terminal_interface-curses-mouse__adb.htm#ref_106_26">Mask</a></span> : <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a> := <a href="terminal_interface-curses-mouse__ads.htm#ref_59_4">All_Events</a>)
+                         <b>return</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_mouse.3x.html">mousemask()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-mouse__ads.htm#ref_116_13">Start_Mouse</a>);
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_120_14" HREF="terminal_interface-curses-mouse__adb.htm#ref_123_14">End_Mouse</A></span> (<span class="symbol"><A NAME="ref_120_25" HREF="terminal_interface-curses-mouse__adb.htm#ref_123_25">Mask</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_57_4">No_Events</A>);
-   <span class="comment"><EM>--  Terminates the mouse, restores the specified event mask</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_120_14">End_Mouse</A>);
+   <b>procedure</b> <span class="symbol"><a name="ref_121_14" href="terminal_interface-curses-mouse__adb.htm#ref_122_14">End_Mouse</a></span> (<span class="symbol"><a name="ref_121_25" href="terminal_interface-curses-mouse__adb.htm#ref_122_25">Mask</a></span> : <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a> := <a href="terminal_interface-curses-mouse__ads.htm#ref_58_4">No_Events</a>);
+   <span class="comment"><em>--  Terminates the mouse, restores the specified event mask</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-mouse__ads.htm#ref_121_14">End_Mouse</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_2"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_125_13" HREF="terminal_interface-curses-mouse__adb.htm#ref_62_13">Get_Mouse</A></span> <b>return</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_84_9">Mouse_Event</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_mouse.3x.html">getmouse()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_125_13">Get_Mouse</A>);
+   <span class="comment"><em>--  <A NAME="AFU_2">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_126_13" href="terminal_interface-curses-mouse__adb.htm#ref_61_13">Get_Mouse</a></span> <b>return</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_mouse.3x.html">getmouse()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-mouse__ads.htm#ref_126_13">Get_Mouse</a>);
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_129_14" HREF="terminal_interface-curses-mouse__adb.htm#ref_171_14">Get_Event</A></span> (<span class="symbol"><A NAME="ref_129_25" HREF="terminal_interface-curses-mouse__adb.htm#ref_171_25">Event</A></span>  : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_84_9">Mouse_Event</A>;
-                        <span class="symbol"><A NAME="ref_130_25" HREF="terminal_interface-curses-mouse__adb.htm#ref_172_25">Y</A></span>      : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-                        <span class="symbol"><A NAME="ref_131_25" HREF="terminal_interface-curses-mouse__adb.htm#ref_173_25">X</A></span>      : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-                        <span class="symbol"><A NAME="ref_132_25" HREF="terminal_interface-curses-mouse__adb.htm#ref_174_25">Button</A></span> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Mouse_Button</A>;
-                        <span class="symbol"><A NAME="ref_133_25" HREF="terminal_interface-curses-mouse__adb.htm#ref_175_25">State</A></span>  : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_71_9">Button_State</A>);
-   <span class="comment"><EM>--  !!! Warning: X and Y are screen coordinates. Due to ripped of lines they</EM></span>
-   <span class="comment"><EM>--  may not be identical to window coordinates.</EM></span>
-   <span class="comment"><EM>--  Not Implemented: Get_Event only reports one event, the C library</EM></span>
-   <span class="comment"><EM>--  version supports multiple events, e.g. {click-1, click-3}</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_129_14">Get_Event</A>);
+   <b>procedure</b> <span class="symbol"><a name="ref_130_14" href="terminal_interface-curses-mouse__adb.htm#ref_171_14">Get_Event</a></span> (<span class="symbol"><a name="ref_130_25" href="terminal_interface-curses-mouse__adb.htm#ref_171_25">Event</a></span>  : <a href="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</a>;
+                        <span class="symbol"><a name="ref_131_25" href="terminal_interface-curses-mouse__adb.htm#ref_172_25">Y</a></span>      : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+                        <span class="symbol"><a name="ref_132_25" href="terminal_interface-curses-mouse__adb.htm#ref_173_25">X</a></span>      : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+                        <span class="symbol"><a name="ref_133_25" href="terminal_interface-curses-mouse__adb.htm#ref_174_25">Button</a></span> : <b>out</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_61_9">Mouse_Button</a>;
+                        <span class="symbol"><a name="ref_134_25" href="terminal_interface-curses-mouse__adb.htm#ref_175_25">State</a></span>  : <b>out</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_72_9">Button_State</a>);
+   <span class="comment"><em>--  !!! Warning: X and Y are screen coordinates. Due to ripped of lines they</em></span>
+   <span class="comment"><em>--  may not be identical to window coordinates.</em></span>
+   <span class="comment"><em>--  Not Implemented: Get_Event only reports one event, the C library</em></span>
+   <span class="comment"><em>--  version supports multiple events, e.g. {click-1, click-3}</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-mouse__ads.htm#ref_130_14">Get_Event</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_3"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_141_14" HREF="terminal_interface-curses-mouse__adb.htm#ref_184_14">Unget_Mouse</A></span> (<span class="symbol"><A NAME="ref_141_27" HREF="terminal_interface-curses-mouse__adb.htm#ref_184_27">Event</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_84_9">Mouse_Event</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_mouse.3x.html">ungetmouse()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_141_14">Unget_Mouse</A>);
+   <span class="comment"><em>--  <A NAME="AFU_3">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_142_14" href="terminal_interface-curses-mouse__adb.htm#ref_184_14">Unget_Mouse</a></span> (<span class="symbol"><a name="ref_142_27" href="terminal_interface-curses-mouse__adb.htm#ref_184_27">Event</a></span> : <a href="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_mouse.3x.html">ungetmouse()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-mouse__ads.htm#ref_142_14">Unget_Mouse</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_4"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_146_13" HREF="terminal_interface-curses-mouse__adb.htm#ref_194_13">Enclosed_In_Window</A></span> (<span class="symbol"><A NAME="ref_146_33" HREF="terminal_interface-curses-mouse__adb.htm#ref_194_33">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                                <span class="symbol"><A NAME="ref_147_33" HREF="terminal_interface-curses-mouse__adb.htm#ref_195_33">Event</A></span>  : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_84_9">Mouse_Event</A>) <b>return</b> Boolean;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_mouse.3x.html">wenclose()</A></EM></span>
-   <span class="comment"><EM>--  But : use event instead of screen coordinates.</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_146_13">Enclosed_In_Window</A>);
+   <span class="comment"><em>--  <A NAME="AFU_4">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_147_13" href="terminal_interface-curses-mouse__adb.htm#ref_194_13">Enclosed_In_Window</a></span> (<span class="symbol"><a name="ref_147_33" href="terminal_interface-curses-mouse__adb.htm#ref_194_33">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                                <span class="symbol"><a name="ref_148_33" href="terminal_interface-curses-mouse__adb.htm#ref_195_33">Event</a></span>  : <a href="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</a>) <b>return</b> Boolean;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_mouse.3x.html">wenclose()</A></em></span>
+   <span class="comment"><em>--  But : use event instead of screen coordinates.</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-mouse__ads.htm#ref_147_13">Enclosed_In_Window</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_5"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_153_13" HREF="terminal_interface-curses-mouse__adb.htm#ref_210_13">Mouse_Interval</A></span> (<span class="symbol"><A NAME="ref_153_29" HREF="terminal_interface-curses-mouse__adb.htm#ref_210_29">Msec</A></span> : Natural := 200) <b>return</b> Natural;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_mouse.3x.html">mouseinterval()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_153_13">Mouse_Interval</A>);
+   <span class="comment"><em>--  <A NAME="AFU_5">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_154_13" href="terminal_interface-curses-mouse__adb.htm#ref_210_13">Mouse_Interval</a></span> (<span class="symbol"><a name="ref_154_29" href="terminal_interface-curses-mouse__adb.htm#ref_210_29">Msec</a></span> : Natural := 200) <b>return</b> Natural;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_mouse.3x.html">mouseinterval()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-mouse__ads.htm#ref_154_13">Mouse_Interval</a>);
 
 <b>private</b>
-   <span class="comment"><EM>--  This can be as little as 32 bits (unsigned), or as long as the system's</EM></span>
-   <span class="comment"><EM>--  unsigned long.  Declare it as the minimum size to handle all valid</EM></span>
-   <span class="comment"><EM>--  sizes.</EM></span>
-   <b>type</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A> <b>is</b> <b>mod</b> 4294967296;
+   <span class="comment"><em>--  This can be as little as 32 bits (unsigned), or as long as the system's</em></span>
+   <span class="comment"><em>--  unsigned long.  Declare it as the minimum size to handle all valid</em></span>
+   <span class="comment"><em>--  sizes.</em></span>
+   <b>type</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a> <b>is</b> <b>mod</b> 4294967296;
 
-   <b>type</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_84_9">Mouse_Event</A> <b>is</b>
+   <b>type</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</a> <b>is</b>
       <b>record</b>
-         <span class="symbol"><A NAME="ref_165_10">Id</A></span>      : Integer <b>range</b> Integer (<A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.short'First) ..
-                                 Integer (<A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.short'Last);
-         <span class="symbol"><A NAME="ref_167_10">X</A></span>, <span class="symbol"><A NAME="ref_167_13">Y</A></span>, <span class="symbol"><A NAME="ref_167_16">Z</A></span> : Integer <b>range</b> Integer (<A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.int'First) ..
-                                 Integer (<A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.int'Last);
-         <span class="symbol"><A NAME="ref_169_10">Bstate</A></span>  : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A>;
+         <span class="symbol"><a name="ref_166_10">Id</a></span>      : Integer <b>range</b> Integer (<a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.short'First) ..
+                                 Integer (<a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.short'Last);
+         <span class="symbol"><a name="ref_168_10">X</a></span>, <span class="symbol"><a name="ref_168_13">Y</a></span>, <span class="symbol"><a name="ref_168_16">Z</a></span> : Integer <b>range</b> Integer (<a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.int'First) ..
+                                 Integer (<a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.int'Last);
+         <span class="symbol"><a name="ref_170_10">Bstate</a></span>  : <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a>;
       <b>end</b> <b>record</b>;
-   <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-mouse__ads.htm#ref_84_9">Mouse_Event</A>);
+   <b>pragma</b> Convention (C, <a href="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</a>);
 
-   <b>for</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_84_9">Mouse_Event</A> <b>use</b>
+   <b>for</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</a> <b>use</b>
       <b>record</b>
-         <A HREF="terminal_interface-curses-mouse__ads.htm#ref_165_10">Id</A>     <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_310_4">MEVENT_id_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_311_4">MEVENT_id_Last</A>;
-         <A HREF="terminal_interface-curses-mouse__ads.htm#ref_167_10">X</A>      <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_312_4">MEVENT_x_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_313_4">MEVENT_x_Last</A>;
-         <A HREF="terminal_interface-curses-mouse__ads.htm#ref_167_13">Y</A>      <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_314_4">MEVENT_y_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_315_4">MEVENT_y_Last</A>;
-         <A HREF="terminal_interface-curses-mouse__ads.htm#ref_167_16">Z</A>      <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_316_4">MEVENT_z_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_317_4">MEVENT_z_Last</A>;
-         <A HREF="terminal_interface-curses-mouse__ads.htm#ref_169_10">Bstate</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_318_4">MEVENT_bstate_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_319_4">MEVENT_bstate_Last</A>;
+         <a href="terminal_interface-curses-mouse__ads.htm#ref_166_10">Id</a>     <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_310_4">MEVENT_id_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_311_4">MEVENT_id_Last</a>;
+         <a href="terminal_interface-curses-mouse__ads.htm#ref_168_10">X</a>      <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_312_4">MEVENT_x_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_313_4">MEVENT_x_Last</a>;
+         <a href="terminal_interface-curses-mouse__ads.htm#ref_168_13">Y</a>      <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_314_4">MEVENT_y_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_315_4">MEVENT_y_Last</a>;
+         <a href="terminal_interface-curses-mouse__ads.htm#ref_168_16">Z</a>      <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_316_4">MEVENT_z_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_317_4">MEVENT_z_Last</a>;
+         <a href="terminal_interface-curses-mouse__ads.htm#ref_170_10">Bstate</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_318_4">MEVENT_bstate_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_319_4">MEVENT_bstate_Last</a>;
       <b>end</b> <b>record</b>;
-   <b>for</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_84_9">Mouse_Event</A>'Size <b>use</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_320_4">MEVENT_Size</A>;
-   Generation_Bit_Order : System.Bit_Order <b>renames</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_10_4">Bit_Order</A>;
+   <b>for</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</a>'Size <b>use</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_320_4">MEVENT_Size</a>;
+   Generation_Bit_Order : System.Bit_Order <b>renames</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_10_4">Bit_Order</a>;
 
-   <span class="symbol"><A NAME="ref_189_4">BUTTON_CTRL</A></span>      : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_348_4">BUTTON_CTRL</A>;
-   <span class="symbol"><A NAME="ref_190_4">BUTTON_SHIFT</A></span>     : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_349_4">BUTTON_SHIFT</A>;
-   <span class="symbol"><A NAME="ref_191_4">BUTTON_ALT</A></span>       : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_350_4">BUTTON_ALT</A>;
-   <span class="symbol"><A NAME="ref_192_4">BUTTON1_EVENTS</A></span>   : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_329_4">all_events_button_1</A>;
-   <span class="symbol"><A NAME="ref_194_4">BUTTON2_EVENTS</A></span>   : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_335_4">all_events_button_2</A>;
-   <span class="symbol"><A NAME="ref_196_4">BUTTON3_EVENTS</A></span>   : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_341_4">all_events_button_3</A>;
-   <span class="symbol"><A NAME="ref_198_4">BUTTON4_EVENTS</A></span>   : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_347_4">all_events_button_4</A>;
-   <span class="symbol"><A NAME="ref_200_4">ALL_MOUSE_EVENTS</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_352_4">ALL_MOUSE_EVENTS</A>;
-   <A HREF="terminal_interface-curses-mouse__ads.htm#ref_57_4">No_Events</A>        : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A> := 0;
-   <A HREF="terminal_interface-curses-mouse__ads.htm#ref_58_4">All_Events</A>       : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_200_4">ALL_MOUSE_EVENTS</A>;
+   <span class="symbol"><a name="ref_190_4">BUTTON_CTRL</a></span>      : <b>constant</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a> := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_348_4">BUTTON_CTRL</a>;
+   <span class="symbol"><a name="ref_191_4">BUTTON_SHIFT</a></span>     : <b>constant</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a> := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_349_4">BUTTON_SHIFT</a>;
+   <span class="symbol"><a name="ref_192_4">BUTTON_ALT</a></span>       : <b>constant</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a> := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_350_4">BUTTON_ALT</a>;
+   <span class="symbol"><a name="ref_193_4">BUTTON1_EVENTS</a></span>   : <b>constant</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_329_4">all_events_button_1</a>;
+   <span class="symbol"><a name="ref_195_4">BUTTON2_EVENTS</a></span>   : <b>constant</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_335_4">all_events_button_2</a>;
+   <span class="symbol"><a name="ref_197_4">BUTTON3_EVENTS</a></span>   : <b>constant</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_341_4">all_events_button_3</a>;
+   <span class="symbol"><a name="ref_199_4">BUTTON4_EVENTS</a></span>   : <b>constant</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_347_4">all_events_button_4</a>;
+   <span class="symbol"><a name="ref_201_4">ALL_MOUSE_EVENTS</a></span> : <b>constant</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a> := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_352_4">ALL_MOUSE_EVENTS</a>;
+   <a href="terminal_interface-curses-mouse__ads.htm#ref_58_4">No_Events</a>        : <b>constant</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a> := 0;
+   <a href="terminal_interface-curses-mouse__ads.htm#ref_59_4">All_Events</a>       : <b>constant</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a> := <a href="terminal_interface-curses-mouse__ads.htm#ref_201_4">ALL_MOUSE_EVENTS</a>;
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_44_35">Mouse</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-mouse__ads.htm#ref_45_35">Mouse</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-panels-user_data__adb.htm b/doc/html/ada/terminal_interface-curses-panels-user_data__adb.htm
index 899364f..7270d2c 100644
--- a/doc/html/ada/terminal_interface-curses-panels-user_data__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-panels-user_data__adb.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-panels-user_data.adb</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-panels-user_data.adb</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,86 +11,87 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-panels-user_data.adb </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                 Terminal_Interface.Curses.Panels.User_Data               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 B O D Y                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2003,2009 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.12 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C;
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
-<b>use</b>  <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-panels__ads.htm#ref_44_35">Panels</A>;
-<b>use</b>  <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-panels__ads.htm#ref_44_35">Panels</A>;
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-panels-user_data.adb </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                 Terminal_Interface.Curses.Panels.User_Data               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 B O D Y                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.13 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C;
+<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>;
+<b>use</b>  <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>;
+<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-panels__ads.htm#ref_45_35">Panels</a>;
+<b>use</b>  <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-panels__ads.htm#ref_45_35">Panels</a>;
 
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-panels__ads.htm#ref_44_35">Panels</A>.<span class="symbol"><A NAME="ref_47_47" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_45_42">User_Data</A></span> <b>is</b>
+<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-panels__ads.htm#ref_45_35">Panels</a>.<span class="symbol"><a name="ref_48_47" href="terminal_interface-curses-panels-user_data__ads.htm#ref_46_42">User_Data</a></span> <b>is</b>
 
-   <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.int;
+   <b>use</b> <b>type</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.int;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_51_14" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_53_14">Set_User_Data</A></span> (<span class="symbol"><A NAME="ref_51_29" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_53_29">Pan</A></span>  : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>;
-                            <span class="symbol"><A NAME="ref_52_29" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_54_29">Data</A></span> : <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_44_9">User_Access</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_52_14" href="terminal_interface-curses-panels-user_data__ads.htm#ref_54_14">Set_User_Data</a></span> (<span class="symbol"><a name="ref_52_29" href="terminal_interface-curses-panels-user_data__ads.htm#ref_54_29">Pan</a></span>  : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>;
+                            <span class="symbol"><a name="ref_53_29" href="terminal_interface-curses-panels-user_data__ads.htm#ref_55_29">Data</a></span> : <a href="terminal_interface-curses-panels-user_data__ads.htm#ref_45_9">User_Access</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_54_16">Set_Panel_Userptr</A></span> (<span class="symbol"><A NAME="ref_54_35" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_54_16">Pan</A></span>  : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>;
-                                  <span class="symbol"><A NAME="ref_55_35" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_54_16">Addr</A></span> : <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_44_9">User_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_55_16">Set_Panel_Userptr</a></span> (<span class="symbol"><a name="ref_55_35">Pan</a></span>  : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>;
+                                  <span class="symbol"><a name="ref_56_35">Addr</a></span> : <a href="terminal_interface-curses-panels-user_data__ads.htm#ref_45_9">User_Access</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Set_Panel_Userptr, "set_panel_userptr");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_54_16">Set_Panel_Userptr</A> (<A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_53_29">Pan</A>, <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_54_29">Data</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_59_4">Panel_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses-panels-user_data__adb.htm#ref_55_16">Set_Panel_Userptr</a> (<a href="terminal_interface-curses-panels-user_data__ads.htm#ref_54_29">Pan</a>, <a href="terminal_interface-curses-panels-user_data__ads.htm#ref_55_29">Data</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses-panels__ads.htm#ref_60_4">Panel_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_53_14">Set_User_Data</A>;
+   <b>end</b> <a href="terminal_interface-curses-panels-user_data__ads.htm#ref_54_14">Set_User_Data</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_63_13" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_64_13">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_63_28" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_64_28">Pan</A></span>  : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_44_9">User_Access</A>
+   <b>function</b> <span class="symbol"><a name="ref_64_13" href="terminal_interface-curses-panels-user_data__ads.htm#ref_65_13">Get_User_Data</a></span> (<span class="symbol"><a name="ref_64_28" href="terminal_interface-curses-panels-user_data__ads.htm#ref_65_28">Pan</a></span>  : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>) <b>return</b> <a href="terminal_interface-curses-panels-user_data__ads.htm#ref_45_9">User_Access</a>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_65_16">Panel_Userptr</A></span> (<span class="symbol"><A NAME="ref_65_31" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_65_16">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_44_9">User_Access</A>;
+      <b>function</b> <span class="symbol"><a name="ref_66_16">Panel_Userptr</a></span> (<span class="symbol"><a name="ref_66_31">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>) <b>return</b> <a href="terminal_interface-curses-panels-user_data__ads.htm#ref_45_9">User_Access</a>;
       <b>pragma</b> Import (C, Panel_Userptr, "panel_userptr");
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_65_16">Panel_Userptr</A> (<A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_64_28">Pan</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_64_13">Get_User_Data</A>;
+      <b>return</b> <a href="terminal_interface-curses-panels-user_data__adb.htm#ref_66_16">Panel_Userptr</a> (<a href="terminal_interface-curses-panels-user_data__ads.htm#ref_65_28">Pan</a>);
+   <b>end</b> <a href="terminal_interface-curses-panels-user_data__ads.htm#ref_65_13">Get_User_Data</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_71_14" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_59_14">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_71_29" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_59_29">Pan</A></span>  : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>;
-                            <span class="symbol"><A NAME="ref_72_29" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_60_29">Data</A></span> : <b>out</b> <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_44_9">User_Access</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_72_14" href="terminal_interface-curses-panels-user_data__ads.htm#ref_60_14">Get_User_Data</a></span> (<span class="symbol"><a name="ref_72_29" href="terminal_interface-curses-panels-user_data__ads.htm#ref_60_29">Pan</a></span>  : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>;
+                            <span class="symbol"><a name="ref_73_29" href="terminal_interface-curses-panels-user_data__ads.htm#ref_61_29">Data</a></span> : <b>out</b> <a href="terminal_interface-curses-panels-user_data__ads.htm#ref_45_9">User_Access</a>)
    <b>is</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_60_29">Data</A> := <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_64_13">Get_User_Data</A> (<A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_59_29">Pan</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_59_14">Get_User_Data</A>;
+      <a href="terminal_interface-curses-panels-user_data__ads.htm#ref_61_29">Data</a> := <a href="terminal_interface-curses-panels-user_data__ads.htm#ref_65_13">Get_User_Data</a> (<a href="terminal_interface-curses-panels-user_data__ads.htm#ref_60_29">Pan</a>);
+   <b>end</b> <a href="terminal_interface-curses-panels-user_data__ads.htm#ref_60_14">Get_User_Data</a>;
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-panels__ads.htm#ref_44_35">Panels</A>.<A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_45_42">User_Data</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-panels__ads.htm#ref_45_35">Panels</a>.<a href="terminal_interface-curses-panels-user_data__ads.htm#ref_46_42">User_Data</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-panels-user_data__ads.htm b/doc/html/ada/terminal_interface-curses-panels-user_data__ads.htm
index dacd228..a39d0e4 100644
--- a/doc/html/ada/terminal_interface-curses-panels-user_data__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-panels-user_data__ads.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-panels-user_data.ads</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-panels-user_data.ads</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,77 +11,78 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-panels-user_data.ads </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                 Terminal_Interface.Curses.Panels.User_Data               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 S P E C                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2003,2009 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.15 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-panels-user_data.ads </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                 Terminal_Interface.Curses.Panels.User_Data               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 S P E C                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1998-2003,2009 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.16 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
 
 <b>generic</b>
-   <b>type</b> <span class="symbol"><A NAME="ref_43_9" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_45_42">User</A></span> <b>is</b> <b>limited</b> <b>private</b>;
-   <b>type</b> <span class="symbol"><A NAME="ref_44_9" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_45_42">User_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_43_9">User</A>;
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-panels__ads.htm#ref_44_35">Panels</A>.<span class="symbol"><A NAME="ref_45_42" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_47_47">User_Data</A></span> <b>is</b>
-   <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-panels__ads.htm#ref_44_35">Panels</A>.<A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_45_42">User_Data</A>);
+   <b>type</b> <span class="symbol"><a name="ref_44_9">User</a></span> <b>is</b> <b>limited</b> <b>private</b>;
+   <b>type</b> <span class="symbol"><a name="ref_45_9">User_Access</a></span> <b>is</b> <b>access</b> <b>all</b> <a href="terminal_interface-curses-panels-user_data__ads.htm#ref_44_9">User</a>;
+<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-panels__ads.htm#ref_45_35">Panels</a>.<span class="symbol"><a name="ref_46_42" href="terminal_interface-curses-panels-user_data__adb.htm#ref_48_47">User_Data</a></span> <b>is</b>
+   <b>pragma</b> Preelaborate (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-panels__ads.htm#ref_45_35">Panels</a>.<a href="terminal_interface-curses-panels-user_data__ads.htm#ref_46_42">User_Data</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/panel.3x.html">panel.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/panel.3x.html">panel.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_1"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_53_14" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_51_14">Set_User_Data</A></span> (<span class="symbol"><A NAME="ref_53_29" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_51_29">Pan</A></span>  : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>;
-                            <span class="symbol"><A NAME="ref_54_29" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_52_29">Data</A></span> : <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_44_9">User_Access</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/panel.3x.html">set_panel_userptr</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_53_14">Set_User_Data</A>);
+   <span class="comment"><em>--  <A NAME="AFU_1">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_54_14" href="terminal_interface-curses-panels-user_data__adb.htm#ref_52_14">Set_User_Data</a></span> (<span class="symbol"><a name="ref_54_29" href="terminal_interface-curses-panels-user_data__adb.htm#ref_52_29">Pan</a></span>  : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>;
+                            <span class="symbol"><a name="ref_55_29" href="terminal_interface-curses-panels-user_data__adb.htm#ref_53_29">Data</a></span> : <a href="terminal_interface-curses-panels-user_data__ads.htm#ref_45_9">User_Access</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/panel.3x.html">set_panel_userptr</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-panels-user_data__ads.htm#ref_54_14">Set_User_Data</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_2"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_59_14" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_71_14">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_59_29" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_71_29">Pan</A></span>  : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>;
-                            <span class="symbol"><A NAME="ref_60_29" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_72_29">Data</A></span> : <b>out</b> <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_44_9">User_Access</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/panel.3x.html">panel_userptr</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_2">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_60_14" href="terminal_interface-curses-panels-user_data__adb.htm#ref_72_14">Get_User_Data</a></span> (<span class="symbol"><a name="ref_60_29" href="terminal_interface-curses-panels-user_data__adb.htm#ref_72_29">Pan</a></span>  : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>;
+                            <span class="symbol"><a name="ref_61_29" href="terminal_interface-curses-panels-user_data__adb.htm#ref_73_29">Data</a></span> : <b>out</b> <a href="terminal_interface-curses-panels-user_data__ads.htm#ref_45_9">User_Access</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/panel.3x.html">panel_userptr</A></em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_3"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_64_13" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_63_13">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_64_28" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_63_28">Pan</A></span>  : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_44_9">User_Access</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/panel.3x.html">panel_userptr</A></EM></span>
-   <span class="comment"><EM>--  Same as function</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_3">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_65_13" href="terminal_interface-curses-panels-user_data__adb.htm#ref_64_13">Get_User_Data</a></span> (<span class="symbol"><a name="ref_65_28" href="terminal_interface-curses-panels-user_data__adb.htm#ref_64_28">Pan</a></span>  : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>) <b>return</b> <a href="terminal_interface-curses-panels-user_data__ads.htm#ref_45_9">User_Access</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/panel.3x.html">panel_userptr</A></em></span>
+   <span class="comment"><em>--  Same as function</em></span>
    <b>pragma</b> Inline (Get_User_Data);
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-panels__ads.htm#ref_44_35">Panels</A>.<A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_45_42">User_Data</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-panels__ads.htm#ref_45_35">Panels</a>.<a href="terminal_interface-curses-panels-user_data__ads.htm#ref_46_42">User_Data</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-panels__adb.htm b/doc/html/ada/terminal_interface-curses-panels__adb.htm
index 3320463..096d7fe 100644
--- a/doc/html/ada/terminal_interface-curses-panels__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-panels__adb.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-panels.adb</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-panels.adb</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,173 +11,174 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-panels.adb </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                      Terminal_Interface.Curses.Panels                    --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 B O D Y                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2004,2009 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.14 @</EM></span>
-<span class="comment"><EM>--  @Date: 2009/12/26 17:38:58 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C;
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-panels.adb </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                      Terminal_Interface.Curses.Panels                    --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 B O D Y                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1999-2004,2009 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.15 @</em></span>
+<span class="comment"><em>--  @Date: 2020/02/02 23:34:34 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; <b>use</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>;
+<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C;
 
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<span class="symbol"><A NAME="ref_45_40" HREF="terminal_interface-curses-panels__ads.htm#ref_44_35">Panels</A></span> <b>is</b>
+<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<span class="symbol"><a name="ref_46_40" href="terminal_interface-curses-panels__ads.htm#ref_45_35">Panels</a></span> <b>is</b>
 
-   <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.int;
+   <b>use</b> <b>type</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.int;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_49_13" HREF="terminal_interface-curses-panels__ads.htm#ref_66_13">Create</A></span> (<span class="symbol"><A NAME="ref_49_21" HREF="terminal_interface-curses-panels__ads.htm#ref_66_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>
+   <b>function</b> <span class="symbol"><a name="ref_50_13" href="terminal_interface-curses-panels__ads.htm#ref_67_13">Create</a></span> (<span class="symbol"><a name="ref_50_21" href="terminal_interface-curses-panels__ads.htm#ref_67_21">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_51_16">Newpanel</A></span> (<span class="symbol"><A NAME="ref_51_26" HREF="terminal_interface-curses-panels__adb.htm#ref_51_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>;
+      <b>function</b> <span class="symbol"><a name="ref_52_16">Newpanel</a></span> (<span class="symbol"><a name="ref_52_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>;
       <b>pragma</b> Import (C, Newpanel, "new_panel");
 
-      <span class="symbol"><A NAME="ref_54_7">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>;
+      <span class="symbol"><a name="ref_55_7">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>;
    <b>begin</b>
-      <A HREF="terminal_interface-curses-panels__adb.htm#ref_54_7">Pan</A> := <A HREF="terminal_interface-curses-panels__adb.htm#ref_51_16">Newpanel</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_66_21">Win</A>);
-      <b>if</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_54_7">Pan</A> = <A HREF="terminal_interface-curses-panels__ads.htm#ref_53_4">Null_Panel</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_59_4">Panel_Exception</A>;
+      <a href="terminal_interface-curses-panels__adb.htm#ref_55_7">Pan</a> := <a href="terminal_interface-curses-panels__adb.htm#ref_52_16">Newpanel</a> (<a href="terminal_interface-curses-panels__ads.htm#ref_67_21">Win</a>);
+      <b>if</b> <a href="terminal_interface-curses-panels__adb.htm#ref_55_7">Pan</a> = <a href="terminal_interface-curses-panels__ads.htm#ref_54_4">Null_Panel</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses-panels__ads.htm#ref_60_4">Panel_Exception</a>;
       <b>end</b> <b>if</b>;
-      <b>return</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_54_7">Pan</A>;
-   <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_66_13">Create</A>;
+      <b>return</b> <a href="terminal_interface-curses-panels__adb.htm#ref_55_7">Pan</a>;
+   <b>end</b> <a href="terminal_interface-curses-panels__ads.htm#ref_67_13">Create</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_63_14" HREF="terminal_interface-curses-panels__ads.htm#ref_76_14">Bottom</A></span> (<span class="symbol"><A NAME="ref_63_22" HREF="terminal_interface-curses-panels__ads.htm#ref_76_22">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_64_14" href="terminal_interface-curses-panels__ads.htm#ref_77_14">Bottom</a></span> (<span class="symbol"><a name="ref_64_22" href="terminal_interface-curses-panels__ads.htm#ref_77_22">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_65_16">Bottompanel</A></span> (<span class="symbol"><A NAME="ref_65_29" HREF="terminal_interface-curses-panels__adb.htm#ref_65_16">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_66_16">Bottompanel</a></span> (<span class="symbol"><a name="ref_66_29">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Bottompanel, "bottom_panel");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_65_16">Bottompanel</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_76_22">Pan</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_59_4">Panel_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses-panels__adb.htm#ref_66_16">Bottompanel</a> (<a href="terminal_interface-curses-panels__ads.htm#ref_77_22">Pan</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses-panels__ads.htm#ref_60_4">Panel_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_76_14">Bottom</A>;
+   <b>end</b> <a href="terminal_interface-curses-panels__ads.htm#ref_77_14">Bottom</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_73_14" HREF="terminal_interface-curses-panels__ads.htm#ref_81_14">Top</A></span> (<span class="symbol"><A NAME="ref_73_19" HREF="terminal_interface-curses-panels__ads.htm#ref_81_19">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_74_14" href="terminal_interface-curses-panels__ads.htm#ref_82_14">Top</a></span> (<span class="symbol"><a name="ref_74_19" href="terminal_interface-curses-panels__ads.htm#ref_82_19">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_75_16">Toppanel</A></span> (<span class="symbol"><A NAME="ref_75_26" HREF="terminal_interface-curses-panels__adb.htm#ref_75_16">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_76_16">Toppanel</a></span> (<span class="symbol"><a name="ref_76_26">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Toppanel, "top_panel");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_75_16">Toppanel</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_81_19">Pan</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_59_4">Panel_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses-panels__adb.htm#ref_76_16">Toppanel</a> (<a href="terminal_interface-curses-panels__ads.htm#ref_82_19">Pan</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses-panels__ads.htm#ref_60_4">Panel_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_81_14">Top</A>;
+   <b>end</b> <a href="terminal_interface-curses-panels__ads.htm#ref_82_14">Top</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_83_14" HREF="terminal_interface-curses-panels__ads.htm#ref_86_14">Show</A></span> (<span class="symbol"><A NAME="ref_83_20" HREF="terminal_interface-curses-panels__ads.htm#ref_86_20">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_84_14" href="terminal_interface-curses-panels__ads.htm#ref_87_14">Show</a></span> (<span class="symbol"><a name="ref_84_20" href="terminal_interface-curses-panels__ads.htm#ref_87_20">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_85_16">Showpanel</A></span> (<span class="symbol"><A NAME="ref_85_27" HREF="terminal_interface-curses-panels__adb.htm#ref_85_16">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_86_16">Showpanel</a></span> (<span class="symbol"><a name="ref_86_27">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Showpanel, "show_panel");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_85_16">Showpanel</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_86_20">Pan</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_59_4">Panel_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses-panels__adb.htm#ref_86_16">Showpanel</a> (<a href="terminal_interface-curses-panels__ads.htm#ref_87_20">Pan</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses-panels__ads.htm#ref_60_4">Panel_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_86_14">Show</A>;
+   <b>end</b> <a href="terminal_interface-curses-panels__ads.htm#ref_87_14">Show</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_93_14" HREF="terminal_interface-curses-panels__ads.htm#ref_96_14">Hide</A></span> (<span class="symbol"><A NAME="ref_93_20" HREF="terminal_interface-curses-panels__ads.htm#ref_96_20">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_94_14" href="terminal_interface-curses-panels__ads.htm#ref_97_14">Hide</a></span> (<span class="symbol"><a name="ref_94_20" href="terminal_interface-curses-panels__ads.htm#ref_97_20">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_95_16">Hidepanel</A></span> (<span class="symbol"><A NAME="ref_95_27" HREF="terminal_interface-curses-panels__adb.htm#ref_95_16">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_96_16">Hidepanel</a></span> (<span class="symbol"><a name="ref_96_27">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Hidepanel, "hide_panel");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_95_16">Hidepanel</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_96_20">Pan</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_59_4">Panel_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses-panels__adb.htm#ref_96_16">Hidepanel</a> (<a href="terminal_interface-curses-panels__ads.htm#ref_97_20">Pan</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses-panels__ads.htm#ref_60_4">Panel_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_96_14">Hide</A>;
+   <b>end</b> <a href="terminal_interface-curses-panels__ads.htm#ref_97_14">Hide</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_103_13" HREF="terminal_interface-curses-panels__ads.htm#ref_101_13">Get_Window</A></span> (<span class="symbol"><A NAME="ref_103_25" HREF="terminal_interface-curses-panels__ads.htm#ref_101_25">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>
+   <b>function</b> <span class="symbol"><a name="ref_104_13" href="terminal_interface-curses-panels__ads.htm#ref_102_13">Get_Window</a></span> (<span class="symbol"><a name="ref_104_25" href="terminal_interface-curses-panels__ads.htm#ref_102_25">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_105_16">Panel_Win</A></span> (<span class="symbol"><A NAME="ref_105_27" HREF="terminal_interface-curses-panels__adb.htm#ref_105_16">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+      <b>function</b> <span class="symbol"><a name="ref_106_16">Panel_Win</a></span> (<span class="symbol"><a name="ref_106_27">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
       <b>pragma</b> Import (C, Panel_Win, "panel_window");
 
-      <span class="symbol"><A NAME="ref_108_7">Win</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses-panels__adb.htm#ref_105_16">Panel_Win</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_101_25">Pan</A>);
+      <span class="symbol"><a name="ref_109_7">Win</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses-panels__adb.htm#ref_106_16">Panel_Win</a> (<a href="terminal_interface-curses-panels__ads.htm#ref_102_25">Pan</a>);
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_108_7">Win</A> = <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_59_4">Panel_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses-panels__adb.htm#ref_109_7">Win</a> = <a href="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses-panels__ads.htm#ref_60_4">Panel_Exception</a>;
       <b>end</b> <b>if</b>;
-      <b>return</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_108_7">Win</A>;
-   <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_101_13">Get_Window</A>;
+      <b>return</b> <a href="terminal_interface-curses-panels__adb.htm#ref_109_7">Win</a>;
+   <b>end</b> <a href="terminal_interface-curses-panels__ads.htm#ref_102_13">Get_Window</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_116_14" HREF="terminal_interface-curses-panels__ads.htm#ref_110_14">Replace</A></span> (<span class="symbol"><A NAME="ref_116_23" HREF="terminal_interface-curses-panels__ads.htm#ref_110_23">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>;
-                      <span class="symbol"><A NAME="ref_117_23" HREF="terminal_interface-curses-panels__ads.htm#ref_111_23">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_117_14" href="terminal_interface-curses-panels__ads.htm#ref_111_14">Replace</a></span> (<span class="symbol"><a name="ref_117_23" href="terminal_interface-curses-panels__ads.htm#ref_111_23">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>;
+                      <span class="symbol"><a name="ref_118_23" href="terminal_interface-curses-panels__ads.htm#ref_112_23">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_119_16">Replace_Pan</A></span> (<span class="symbol"><A NAME="ref_119_29" HREF="terminal_interface-curses-panels__adb.htm#ref_119_16">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>;
-                            <span class="symbol"><A NAME="ref_120_29" HREF="terminal_interface-curses-panels__adb.htm#ref_119_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_120_16">Replace_Pan</a></span> (<span class="symbol"><a name="ref_120_29">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>;
+                            <span class="symbol"><a name="ref_121_29">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Replace_Pan, "replace_panel");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_119_16">Replace_Pan</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_110_23">Pan</A>, <A HREF="terminal_interface-curses-panels__ads.htm#ref_111_23">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_59_4">Panel_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses-panels__adb.htm#ref_120_16">Replace_Pan</a> (<a href="terminal_interface-curses-panels__ads.htm#ref_111_23">Pan</a>, <a href="terminal_interface-curses-panels__ads.htm#ref_112_23">Win</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses-panels__ads.htm#ref_60_4">Panel_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_110_14">Replace</A>;
+   <b>end</b> <a href="terminal_interface-curses-panels__ads.htm#ref_111_14">Replace</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_128_14" HREF="terminal_interface-curses-panels__ads.htm#ref_116_14">Move</A></span> (<span class="symbol"><A NAME="ref_128_20" HREF="terminal_interface-curses-panels__ads.htm#ref_116_20">Pan</A></span>    : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>;
-                   <span class="symbol"><A NAME="ref_129_20" HREF="terminal_interface-curses-panels__ads.htm#ref_117_20">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-                   <span class="symbol"><A NAME="ref_130_20" HREF="terminal_interface-curses-panels__ads.htm#ref_118_20">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_129_14" href="terminal_interface-curses-panels__ads.htm#ref_117_14">Move</a></span> (<span class="symbol"><a name="ref_129_20" href="terminal_interface-curses-panels__ads.htm#ref_117_20">Pan</a></span>    : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>;
+                   <span class="symbol"><a name="ref_130_20" href="terminal_interface-curses-panels__ads.htm#ref_118_20">Line</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+                   <span class="symbol"><a name="ref_131_20" href="terminal_interface-curses-panels__ads.htm#ref_119_20">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_132_16">Move</A></span> (<span class="symbol"><A NAME="ref_132_22" HREF="terminal_interface-curses-panels__adb.htm#ref_132_16">Pan</A></span>    : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>;
-                     <span class="symbol"><A NAME="ref_133_22" HREF="terminal_interface-curses-panels__adb.htm#ref_132_16">Line</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-                     <span class="symbol"><A NAME="ref_134_22" HREF="terminal_interface-curses-panels__adb.htm#ref_132_16">Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_133_16">Move</a></span> (<span class="symbol"><a name="ref_133_22">Pan</a></span>    : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>;
+                     <span class="symbol"><a name="ref_134_22">Line</a></span>   : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+                     <span class="symbol"><a name="ref_135_22">Column</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Move, "move_panel");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_132_16">Move</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_116_20">Pan</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_117_20">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_118_20">Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_59_4">Panel_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses-panels__adb.htm#ref_133_16">Move</a> (<a href="terminal_interface-curses-panels__ads.htm#ref_117_20">Pan</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-panels__ads.htm#ref_118_20">Line</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-panels__ads.htm#ref_119_20">Column</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses-panels__ads.htm#ref_60_4">Panel_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_116_14">Move</A>;
+   <b>end</b> <a href="terminal_interface-curses-panels__ads.htm#ref_117_14">Move</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_142_13" HREF="terminal_interface-curses-panels__ads.htm#ref_123_13">Is_Hidden</A></span> (<span class="symbol"><A NAME="ref_142_24" HREF="terminal_interface-curses-panels__ads.htm#ref_123_24">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>) <b>return</b> Boolean
+   <b>function</b> <span class="symbol"><a name="ref_143_13" href="terminal_interface-curses-panels__ads.htm#ref_124_13">Is_Hidden</a></span> (<span class="symbol"><a name="ref_143_24" href="terminal_interface-curses-panels__ads.htm#ref_124_24">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>) <b>return</b> Boolean
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_144_16">Panel_Hidden</A></span> (<span class="symbol"><A NAME="ref_144_30" HREF="terminal_interface-curses-panels__adb.htm#ref_144_16">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_145_16">Panel_Hidden</a></span> (<span class="symbol"><a name="ref_145_30">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Panel_Hidden, "panel_hidden");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_144_16">Panel_Hidden</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_123_24">Pan</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_68_4">Curses_False</A> <b>then</b>
+      <b>if</b> <a href="terminal_interface-curses-panels__adb.htm#ref_145_16">Panel_Hidden</a> (<a href="terminal_interface-curses-panels__ads.htm#ref_124_24">Pan</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_67_4">Curses_False</a> <b>then</b>
          <b>return</b> False;
       <b>else</b>
          <b>return</b> True;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_123_13">Is_Hidden</A>;
+   <b>end</b> <a href="terminal_interface-curses-panels__ads.htm#ref_124_13">Is_Hidden</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_154_14" HREF="terminal_interface-curses-panels__ads.htm#ref_138_14">Delete</A></span> (<span class="symbol"><A NAME="ref_154_22" HREF="terminal_interface-curses-panels__ads.htm#ref_138_22">Pan</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_155_14" href="terminal_interface-curses-panels__ads.htm#ref_139_14">Delete</a></span> (<span class="symbol"><a name="ref_155_22" href="terminal_interface-curses-panels__ads.htm#ref_139_22">Pan</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_156_16">Del_Panel</A></span> (<span class="symbol"><A NAME="ref_156_27" HREF="terminal_interface-curses-panels__adb.htm#ref_156_16">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_157_16">Del_Panel</a></span> (<span class="symbol"><a name="ref_157_27">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Del_Panel, "del_panel");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_156_16">Del_Panel</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_138_22">Pan</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_59_4">Panel_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses-panels__adb.htm#ref_157_16">Del_Panel</a> (<a href="terminal_interface-curses-panels__ads.htm#ref_139_22">Pan</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses-panels__ads.htm#ref_60_4">Panel_Exception</a>;
       <b>end</b> <b>if</b>;
-      <A HREF="terminal_interface-curses-panels__ads.htm#ref_138_22">Pan</A> := <A HREF="terminal_interface-curses-panels__ads.htm#ref_53_4">Null_Panel</A>;
-   <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_138_14">Delete</A>;
+      <a href="terminal_interface-curses-panels__ads.htm#ref_139_22">Pan</a> := <a href="terminal_interface-curses-panels__ads.htm#ref_54_4">Null_Panel</a>;
+   <b>end</b> <a href="terminal_interface-curses-panels__ads.htm#ref_139_14">Delete</a>;
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-panels__ads.htm#ref_44_35">Panels</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-panels__ads.htm#ref_45_35">Panels</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-panels__ads.htm b/doc/html/ada/terminal_interface-curses-panels__ads.htm
index 843c3ce..4cc3178 100644
--- a/doc/html/ada/terminal_interface-curses-panels__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-panels__ads.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-panels.ads</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-panels.ads</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,154 +11,155 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-panels.ads </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                      Terminal_Interface.Curses.Panels                    --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 S P E C                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2009,2014 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.22 @</EM></span>
-<span class="comment"><EM>--  @Date: 2014/05/24 21:31:57 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-panels.ads </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                      Terminal_Interface.Curses.Panels                    --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 S P E C                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1998-2009,2014 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.23 @</em></span>
+<span class="comment"><em>--  @Date: 2020/02/02 23:34:34 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
 <b>with</b> System;
 
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<span class="symbol"><A NAME="ref_44_35" HREF="terminal_interface-curses-panels__adb.htm#ref_45_40">Panels</A></span> <b>is</b>
-   <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-panels__ads.htm#ref_44_35">Panels</A>);
-   <b>pragma</b> Linker_Options ("-lpanel" &amp; <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_9_4">DFT_ARG_SUFFIX</A>);
+<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<span class="symbol"><a name="ref_45_35" href="terminal_interface-curses-panels__adb.htm#ref_46_40">Panels</a></span> <b>is</b>
+   <b>pragma</b> Preelaborate (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-panels__ads.htm#ref_45_35">Panels</a>);
+   <b>pragma</b> Linker_Options ("-lpanel" &amp; <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_9_4">DFT_ARG_SUFFIX</a>);
 
-   <b>type</b> <span class="symbol"><A NAME="ref_48_9">Panel</A></span> <b>is</b> <b>private</b>;
+   <b>type</b> <span class="symbol"><a name="ref_49_9">Panel</a></span> <b>is</b> <b>private</b>;
 
-   <span class="comment"><EM>---------------------------</EM></span>
-   <span class="comment"><EM>--  Interface constants  --</EM></span>
-   <span class="comment"><EM>---------------------------</EM></span>
-   <span class="symbol"><A NAME="ref_53_4">Null_Panel</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>;
+   <span class="comment"><em>---------------------------</em></span>
+   <span class="comment"><em>--  Interface constants  --</em></span>
+   <span class="comment"><em>---------------------------</em></span>
+   <span class="symbol"><a name="ref_54_4">Null_Panel</a></span> : <b>constant</b> <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>;
 
-   <span class="comment"><EM>-------------------</EM></span>
-   <span class="comment"><EM>--  Exceptions   --</EM></span>
-   <span class="comment"><EM>-------------------</EM></span>
+   <span class="comment"><em>-------------------</em></span>
+   <span class="comment"><em>--  Exceptions   --</em></span>
+   <span class="comment"><em>-------------------</em></span>
 
-   <span class="symbol"><A NAME="ref_59_4">Panel_Exception</A></span> : <b>exception</b>;
+   <span class="symbol"><a name="ref_60_4">Panel_Exception</a></span> : <b>exception</b>;
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/panel.3x.html">panel.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/panel.3x.html">panel.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_1"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_66_13" HREF="terminal_interface-curses-panels__adb.htm#ref_49_13">Create</A></span> (<span class="symbol"><A NAME="ref_66_21" HREF="terminal_interface-curses-panels__adb.htm#ref_49_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/panel.3x.html">new_panel()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_1">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_67_13" href="terminal_interface-curses-panels__adb.htm#ref_50_13">Create</a></span> (<span class="symbol"><a name="ref_67_21" href="terminal_interface-curses-panels__adb.htm#ref_50_21">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/panel.3x.html">new_panel()</A></em></span>
    <b>pragma</b> Inline (Create);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_2"#2|</EM></span>
-   <b>function</b> New_Panel (<span class="symbol"><A NAME="ref_71_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A> <b>renames</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_66_13">Create</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/panel.3x.html">new_panel()</A></EM></span>
-   <span class="comment"><EM>--  pragma Inline (New_Panel);</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_2">|</A></em></span>
+   <b>function</b> New_Panel (<span class="symbol"><a name="ref_72_24">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a> <b>renames</b> <a href="terminal_interface-curses-panels__ads.htm#ref_67_13">Create</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/panel.3x.html">new_panel()</A></em></span>
+   <span class="comment"><em>--  pragma Inline (New_Panel);</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_3"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_76_14" HREF="terminal_interface-curses-panels__adb.htm#ref_63_14">Bottom</A></span> (<span class="symbol"><A NAME="ref_76_22" HREF="terminal_interface-curses-panels__adb.htm#ref_63_22">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/panel.3x.html">bottom_panel()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-panels__ads.htm#ref_76_14">Bottom</A>);
+   <span class="comment"><em>--  <A NAME="AFU_3">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_77_14" href="terminal_interface-curses-panels__adb.htm#ref_64_14">Bottom</a></span> (<span class="symbol"><a name="ref_77_22" href="terminal_interface-curses-panels__adb.htm#ref_64_22">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/panel.3x.html">bottom_panel()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-panels__ads.htm#ref_77_14">Bottom</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_4"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_81_14" HREF="terminal_interface-curses-panels__adb.htm#ref_73_14">Top</A></span> (<span class="symbol"><A NAME="ref_81_19" HREF="terminal_interface-curses-panels__adb.htm#ref_73_19">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/panel.3x.html">top_panel()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-panels__ads.htm#ref_81_14">Top</A>);
+   <span class="comment"><em>--  <A NAME="AFU_4">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_82_14" href="terminal_interface-curses-panels__adb.htm#ref_74_14">Top</a></span> (<span class="symbol"><a name="ref_82_19" href="terminal_interface-curses-panels__adb.htm#ref_74_19">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/panel.3x.html">top_panel()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-panels__ads.htm#ref_82_14">Top</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_5"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_86_14" HREF="terminal_interface-curses-panels__adb.htm#ref_83_14">Show</A></span> (<span class="symbol"><A NAME="ref_86_20" HREF="terminal_interface-curses-panels__adb.htm#ref_83_20">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/panel.3x.html">show_panel()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-panels__ads.htm#ref_86_14">Show</A>);
+   <span class="comment"><em>--  <A NAME="AFU_5">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_87_14" href="terminal_interface-curses-panels__adb.htm#ref_84_14">Show</a></span> (<span class="symbol"><a name="ref_87_20" href="terminal_interface-curses-panels__adb.htm#ref_84_20">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/panel.3x.html">show_panel()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-panels__ads.htm#ref_87_14">Show</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_6"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_91_14">Update_Panels</A></span>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/panel.3x.html">update_panels()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_6">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_92_14">Update_Panels</a></span>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/panel.3x.html">update_panels()</A></em></span>
    <b>pragma</b> Import (C, Update_Panels, "update_panels");
 
-   <span class="comment"><EM>--  #1A NAME="AFU_7"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_96_14" HREF="terminal_interface-curses-panels__adb.htm#ref_93_14">Hide</A></span> (<span class="symbol"><A NAME="ref_96_20" HREF="terminal_interface-curses-panels__adb.htm#ref_93_20">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/panel.3x.html">hide_panel()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-panels__ads.htm#ref_96_14">Hide</A>);
+   <span class="comment"><em>--  <A NAME="AFU_7">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_97_14" href="terminal_interface-curses-panels__adb.htm#ref_94_14">Hide</a></span> (<span class="symbol"><a name="ref_97_20" href="terminal_interface-curses-panels__adb.htm#ref_94_20">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/panel.3x.html">hide_panel()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-panels__ads.htm#ref_97_14">Hide</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_8"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_101_13" HREF="terminal_interface-curses-panels__adb.htm#ref_103_13">Get_Window</A></span> (<span class="symbol"><A NAME="ref_101_25" HREF="terminal_interface-curses-panels__adb.htm#ref_103_25">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/panel.3x.html">panel_window()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-panels__ads.htm#ref_101_13">Get_Window</A>);
+   <span class="comment"><em>--  <A NAME="AFU_8">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_102_13" href="terminal_interface-curses-panels__adb.htm#ref_104_13">Get_Window</a></span> (<span class="symbol"><a name="ref_102_25" href="terminal_interface-curses-panels__adb.htm#ref_104_25">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/panel.3x.html">panel_window()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-panels__ads.htm#ref_102_13">Get_Window</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_9"#2|</EM></span>
-   <b>function</b> Panel_Window (<span class="symbol"><A NAME="ref_106_27">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> <b>renames</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_101_13">Get_Window</A>;
-   <span class="comment"><EM>--  pragma Inline (Panel_Window);</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_9">|</A></em></span>
+   <b>function</b> Panel_Window (<span class="symbol"><a name="ref_107_27">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> <b>renames</b> <a href="terminal_interface-curses-panels__ads.htm#ref_102_13">Get_Window</a>;
+   <span class="comment"><em>--  pragma Inline (Panel_Window);</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_10"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_110_14" HREF="terminal_interface-curses-panels__adb.htm#ref_116_14">Replace</A></span> (<span class="symbol"><A NAME="ref_110_23" HREF="terminal_interface-curses-panels__adb.htm#ref_116_23">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>;
-                      <span class="symbol"><A NAME="ref_111_23" HREF="terminal_interface-curses-panels__adb.htm#ref_117_23">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/panel.3x.html">replace_panel()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-panels__ads.htm#ref_110_14">Replace</A>);
+   <span class="comment"><em>--  <A NAME="AFU_10">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_111_14" href="terminal_interface-curses-panels__adb.htm#ref_117_14">Replace</a></span> (<span class="symbol"><a name="ref_111_23" href="terminal_interface-curses-panels__adb.htm#ref_117_23">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>;
+                      <span class="symbol"><a name="ref_112_23" href="terminal_interface-curses-panels__adb.htm#ref_118_23">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/panel.3x.html">replace_panel()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-panels__ads.htm#ref_111_14">Replace</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_11"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_116_14" HREF="terminal_interface-curses-panels__adb.htm#ref_128_14">Move</A></span> (<span class="symbol"><A NAME="ref_116_20" HREF="terminal_interface-curses-panels__adb.htm#ref_128_20">Pan</A></span>    : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>;
-                   <span class="symbol"><A NAME="ref_117_20" HREF="terminal_interface-curses-panels__adb.htm#ref_129_20">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-                   <span class="symbol"><A NAME="ref_118_20" HREF="terminal_interface-curses-panels__adb.htm#ref_130_20">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/panel.3x.html">move_panel()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-panels__ads.htm#ref_116_14">Move</A>);
+   <span class="comment"><em>--  <A NAME="AFU_11">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_117_14" href="terminal_interface-curses-panels__adb.htm#ref_129_14">Move</a></span> (<span class="symbol"><a name="ref_117_20" href="terminal_interface-curses-panels__adb.htm#ref_129_20">Pan</a></span>    : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>;
+                   <span class="symbol"><a name="ref_118_20" href="terminal_interface-curses-panels__adb.htm#ref_130_20">Line</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+                   <span class="symbol"><a name="ref_119_20" href="terminal_interface-curses-panels__adb.htm#ref_131_20">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/panel.3x.html">move_panel()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-panels__ads.htm#ref_117_14">Move</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_12"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_123_13" HREF="terminal_interface-curses-panels__adb.htm#ref_142_13">Is_Hidden</A></span> (<span class="symbol"><A NAME="ref_123_24" HREF="terminal_interface-curses-panels__adb.htm#ref_142_24">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>) <b>return</b> Boolean;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/panel.3x.html">panel_hidden()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-panels__ads.htm#ref_123_13">Is_Hidden</A>);
+   <span class="comment"><em>--  <A NAME="AFU_12">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_124_13" href="terminal_interface-curses-panels__adb.htm#ref_143_13">Is_Hidden</a></span> (<span class="symbol"><a name="ref_124_24" href="terminal_interface-curses-panels__adb.htm#ref_143_24">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>) <b>return</b> Boolean;
+   <span class="comment"><em>--  AKA: <A HREF="../man/panel.3x.html">panel_hidden()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-panels__ads.htm#ref_124_13">Is_Hidden</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_13"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_128_13">Above</A></span> (<span class="symbol"><A NAME="ref_128_20" HREF="terminal_interface-curses-panels__ads.htm#ref_128_13">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/panel.3x.html">panel_above()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_13">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_129_13">Above</a></span> (<span class="symbol"><a name="ref_129_20">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>) <b>return</b> <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/panel.3x.html">panel_above()</A></em></span>
    <b>pragma</b> Import (C, Above, "panel_above");
 
-   <span class="comment"><EM>--  #1A NAME="AFU_14"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_133_13">Below</A></span> (<span class="symbol"><A NAME="ref_133_20" HREF="terminal_interface-curses-panels__ads.htm#ref_133_13">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/panel.3x.html">panel_below()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_14">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_134_13">Below</a></span> (<span class="symbol"><a name="ref_134_20">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>) <b>return</b> <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/panel.3x.html">panel_below()</A></em></span>
    <b>pragma</b> Import (C, Below, "panel_below");
 
-   <span class="comment"><EM>--  #1A NAME="AFU_15"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_138_14" HREF="terminal_interface-curses-panels__adb.htm#ref_154_14">Delete</A></span> (<span class="symbol"><A NAME="ref_138_22" HREF="terminal_interface-curses-panels__adb.htm#ref_154_22">Pan</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/panel.3x.html">del_panel()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_15">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_139_14" href="terminal_interface-curses-panels__adb.htm#ref_155_14">Delete</a></span> (<span class="symbol"><a name="ref_139_22" href="terminal_interface-curses-panels__adb.htm#ref_155_22">Pan</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/panel.3x.html">del_panel()</A></em></span>
    <b>pragma</b> Inline (Delete);
 
 <b>private</b>
-      <b>type</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A> <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address;
-      <A HREF="terminal_interface-curses-panels__ads.htm#ref_53_4">Null_Panel</A> : <b>constant</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A> := 0;
+      <b>type</b> <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a> <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address;
+      <a href="terminal_interface-curses-panels__ads.htm#ref_54_4">Null_Panel</a> : <b>constant</b> <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a> := 0;
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-panels__ads.htm#ref_44_35">Panels</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-panels__ads.htm#ref_45_35">Panels</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-putwin__adb.htm b/doc/html/ada/terminal_interface-curses-putwin__adb.htm
index 53f41f7..4e5073d 100644
--- a/doc/html/ada/terminal_interface-curses-putwin__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-putwin__adb.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-putwin.adb</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-putwin.adb</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,85 +11,86 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-putwin.adb </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                    Terminal_Interface.Curses.PutWin                      --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 B O D Y                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 2000 Free Software Foundation, Inc.                        --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.3 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-putwin.adb </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                    Terminal_Interface.Curses.PutWin                      --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 B O D Y                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 2000-2002,2003 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.5 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
 
 <b>with</b> Ada.Streams.Stream_IO.C_Streams;
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C_Streams;
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
+<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C_Streams;
+<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; <b>use</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>;
 
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<span class="symbol"><A NAME="ref_45_40" HREF="terminal_interface-curses-putwin__ads.htm#ref_43_35">PutWin</A></span> <b>is</b>
+<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<span class="symbol"><a name="ref_46_40" href="terminal_interface-curses-putwin__ads.htm#ref_44_35">PutWin</a></span> <b>is</b>
 
-   <b>package</b> <span class="symbol"><A NAME="ref_47_12">ICS</A></span> <b>renames</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C_Streams;
-   <b>package</b> <span class="symbol"><A NAME="ref_48_12">ACS</A></span> <b>renames</b> Ada.Streams.Stream_IO.C_Streams;
-   <b>use</b> <b>type</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+   <b>package</b> <span class="symbol"><a name="ref_48_12">ICS</a></span> <b>renames</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C_Streams;
+   <b>package</b> <span class="symbol"><a name="ref_49_12">ACS</a></span> <b>renames</b> Ada.Streams.Stream_IO.C_Streams;
+   <b>use</b> <b>type</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_51_14" HREF="terminal_interface-curses-putwin__ads.htm#ref_45_14">Put_Window</A></span> (<span class="symbol"><A NAME="ref_51_26" HREF="terminal_interface-curses-putwin__ads.htm#ref_45_26">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-                         <span class="symbol"><A NAME="ref_52_26" HREF="terminal_interface-curses-putwin__ads.htm#ref_46_26">File</A></span> : Ada.Streams.Stream_IO.File_Type) <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_53_16">putwin</A></span> (<span class="symbol"><A NAME="ref_53_24" HREF="terminal_interface-curses-putwin__adb.htm#ref_53_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_53_38" HREF="terminal_interface-curses-putwin__adb.htm#ref_53_16">f</A></span> : <A HREF="terminal_interface-curses-putwin__adb.htm#ref_47_12">ICS</A>.FILEs) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+   <b>procedure</b> <span class="symbol"><a name="ref_52_14" href="terminal_interface-curses-putwin__ads.htm#ref_46_14">Put_Window</a></span> (<span class="symbol"><a name="ref_52_26" href="terminal_interface-curses-putwin__ads.htm#ref_46_26">Win</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+                         <span class="symbol"><a name="ref_53_26" href="terminal_interface-curses-putwin__ads.htm#ref_47_26">File</a></span> : Ada.Streams.Stream_IO.File_Type) <b>is</b>
+      <b>function</b> <span class="symbol"><a name="ref_54_16">putwin</a></span> (<span class="symbol"><a name="ref_54_24">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_54_38">f</a></span> : <a href="terminal_interface-curses-putwin__adb.htm#ref_48_12">ICS</a>.FILEs) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, putwin, "putwin");
 
-      <span class="symbol"><A NAME="ref_56_7">R</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> := <A HREF="terminal_interface-curses-putwin__adb.htm#ref_53_16">putwin</A> (<A HREF="terminal_interface-curses-putwin__ads.htm#ref_45_26">Win</A>, <A HREF="terminal_interface-curses-putwin__adb.htm#ref_48_12">ACS</A>.C_Stream (<A HREF="terminal_interface-curses-putwin__ads.htm#ref_46_26">File</A>));
+      <span class="symbol"><a name="ref_57_7">R</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses-putwin__adb.htm#ref_54_16">putwin</a> (<a href="terminal_interface-curses-putwin__ads.htm#ref_46_26">Win</a>, <a href="terminal_interface-curses-putwin__adb.htm#ref_49_12">ACS</a>.C_Stream (<a href="terminal_interface-curses-putwin__ads.htm#ref_47_26">File</a>));
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-putwin__adb.htm#ref_56_7">R</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Ok</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses-putwin__adb.htm#ref_57_7">R</a> /= <a href="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Ok</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-putwin__ads.htm#ref_45_14">Put_Window</A>;
+   <b>end</b> <a href="terminal_interface-curses-putwin__ads.htm#ref_46_14">Put_Window</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_63_13" HREF="terminal_interface-curses-putwin__ads.htm#ref_48_13">Get_Window</A></span> (<span class="symbol"><A NAME="ref_63_25" HREF="terminal_interface-curses-putwin__ads.htm#ref_48_25">File</A></span> : Ada.Streams.Stream_IO.File_Type)
-                        <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_65_16">getwin</A></span> (<span class="symbol"><A NAME="ref_65_24" HREF="terminal_interface-curses-putwin__adb.htm#ref_65_16">f</A></span> : <A HREF="terminal_interface-curses-putwin__adb.htm#ref_47_12">ICS</A>.FILEs) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+   <b>function</b> <span class="symbol"><a name="ref_64_13" href="terminal_interface-curses-putwin__ads.htm#ref_49_13">Get_Window</a></span> (<span class="symbol"><a name="ref_64_25" href="terminal_interface-curses-putwin__ads.htm#ref_49_25">File</a></span> : Ada.Streams.Stream_IO.File_Type)
+                        <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> <b>is</b>
+      <b>function</b> <span class="symbol"><a name="ref_66_16">getwin</a></span> (<span class="symbol"><a name="ref_66_24">f</a></span> : <a href="terminal_interface-curses-putwin__adb.htm#ref_48_12">ICS</a>.FILEs) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
       <b>pragma</b> Import (C, getwin, "getwin");
 
-      <span class="symbol"><A NAME="ref_68_7">W</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses-putwin__adb.htm#ref_65_16">getwin</A> (<A HREF="terminal_interface-curses-putwin__adb.htm#ref_48_12">ACS</A>.C_Stream (<A HREF="terminal_interface-curses-putwin__ads.htm#ref_48_25">File</A>));
+      <span class="symbol"><a name="ref_69_7">W</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses-putwin__adb.htm#ref_66_16">getwin</a> (<a href="terminal_interface-curses-putwin__adb.htm#ref_49_12">ACS</a>.C_Stream (<a href="terminal_interface-curses-putwin__ads.htm#ref_49_25">File</a>));
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-putwin__adb.htm#ref_68_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses-putwin__adb.htm#ref_69_7">W</a> = <a href="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>else</b>
-         <b>return</b> <A HREF="terminal_interface-curses-putwin__adb.htm#ref_68_7">W</A>;
+         <b>return</b> <a href="terminal_interface-curses-putwin__adb.htm#ref_69_7">W</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-putwin__ads.htm#ref_48_13">Get_Window</A>;
+   <b>end</b> <a href="terminal_interface-curses-putwin__ads.htm#ref_49_13">Get_Window</a>;
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-putwin__ads.htm#ref_43_35">PutWin</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-putwin__ads.htm#ref_44_35">PutWin</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-putwin__ads.htm b/doc/html/ada/terminal_interface-curses-putwin__ads.htm
index 73603ca..91f2645 100644
--- a/doc/html/ada/terminal_interface-curses-putwin__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-putwin__ads.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-putwin.ads</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-putwin.ads</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,58 +11,59 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-putwin.ads </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                    Terminal_Interface.Curses.PutWin                      --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 S P E C                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 2000 Free Software Foundation, Inc.                        --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.3 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-putwin.ads </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                    Terminal_Interface.Curses.PutWin                      --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 S P E C                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 2000-2002,2003 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.5 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
 
 <b>with</b> Ada.Streams.Stream_IO;
 
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<span class="symbol"><A NAME="ref_43_35" HREF="terminal_interface-curses-putwin__adb.htm#ref_45_40">PutWin</A></span> <b>is</b>
+<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<span class="symbol"><a name="ref_44_35" href="terminal_interface-curses-putwin__adb.htm#ref_46_40">PutWin</a></span> <b>is</b>
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_45_14" HREF="terminal_interface-curses-putwin__adb.htm#ref_51_14">Put_Window</A></span> (<span class="symbol"><A NAME="ref_45_26" HREF="terminal_interface-curses-putwin__adb.htm#ref_51_26">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-                         <span class="symbol"><A NAME="ref_46_26" HREF="terminal_interface-curses-putwin__adb.htm#ref_52_26">File</A></span> : Ada.Streams.Stream_IO.File_Type);
+   <b>procedure</b> <span class="symbol"><a name="ref_46_14" href="terminal_interface-curses-putwin__adb.htm#ref_52_14">Put_Window</a></span> (<span class="symbol"><a name="ref_46_26" href="terminal_interface-curses-putwin__adb.htm#ref_52_26">Win</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+                         <span class="symbol"><a name="ref_47_26" href="terminal_interface-curses-putwin__adb.htm#ref_53_26">File</a></span> : Ada.Streams.Stream_IO.File_Type);
 
-   <b>function</b> <span class="symbol"><A NAME="ref_48_13" HREF="terminal_interface-curses-putwin__adb.htm#ref_63_13">Get_Window</A></span> (<span class="symbol"><A NAME="ref_48_25" HREF="terminal_interface-curses-putwin__adb.htm#ref_63_25">File</A></span>  : Ada.Streams.Stream_IO.File_Type) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+   <b>function</b> <span class="symbol"><a name="ref_49_13" href="terminal_interface-curses-putwin__adb.htm#ref_64_13">Get_Window</a></span> (<span class="symbol"><a name="ref_49_25" href="terminal_interface-curses-putwin__adb.htm#ref_64_25">File</a></span>  : Ada.Streams.Stream_IO.File_Type) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-putwin__ads.htm#ref_43_35">PutWin</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-putwin__ads.htm#ref_44_35">PutWin</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-termcap__adb.htm b/doc/html/ada/terminal_interface-curses-termcap__adb.htm
index c8c792c..cef7daf 100644
--- a/doc/html/ada/terminal_interface-curses-termcap__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-termcap__adb.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-termcap.adb</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-termcap.adb</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,171 +11,172 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-termcap.adb </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                    Terminal_Interface.Curses.Termcap                     --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 B O D Y                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 2000-2006,2009 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.12 @</EM></span>
-<span class="comment"><EM>--  @Date: 2009/12/26 17:38:58 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-termcap.adb </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                    Terminal_Interface.Curses.Termcap                     --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 B O D Y                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 2000-2006,2009 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.13 @</em></span>
+<span class="comment"><em>--  @Date: 2020/02/02 23:34:34 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
 
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C; <b>use</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C;
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings; <b>use</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings;
+<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; <b>use</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>;
+<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C; <b>use</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C;
+<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings; <b>use</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings;
 
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<span class="symbol"><A NAME="ref_47_40" HREF="terminal_interface-curses-termcap__ads.htm#ref_42_35">Termcap</A></span> <b>is</b>
+<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<span class="symbol"><a name="ref_48_40" href="terminal_interface-curses-termcap__ads.htm#ref_43_35">Termcap</a></span> <b>is</b>
 
-   <b>function</b> <span class="symbol"><A NAME="ref_49_13" HREF="terminal_interface-curses-termcap__ads.htm#ref_59_13">Get_Entry</A></span> (<span class="symbol"><A NAME="ref_49_24" HREF="terminal_interface-curses-termcap__ads.htm#ref_59_24">Name</A></span> : String) <b>return</b> Boolean
+   <b>function</b> <span class="symbol"><a name="ref_50_13" href="terminal_interface-curses-termcap__ads.htm#ref_60_13">Get_Entry</a></span> (<span class="symbol"><a name="ref_50_24" href="terminal_interface-curses-termcap__ads.htm#ref_60_24">Name</a></span> : String) <b>return</b> Boolean
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_51_16">tgetent</A></span> (<span class="symbol"><A NAME="ref_51_25" HREF="terminal_interface-curses-termcap__adb.htm#ref_51_16">name</A></span> : char_array; <span class="symbol"><A NAME="ref_51_44" HREF="terminal_interface-curses-termcap__adb.htm#ref_51_16">val</A></span> : char_array)
-                        <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_52_16">tgetent</a></span> (<span class="symbol"><a name="ref_52_25">name</a></span> : char_array; <span class="symbol"><a name="ref_52_44">val</a></span> : char_array)
+                        <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, tgetent, "tgetent");
-      <span class="symbol"><A NAME="ref_54_7">NameTxt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses-termcap__ads.htm#ref_59_24">Name</A>'Length);
-      <span class="symbol"><A NAME="ref_55_7">Length</A></span>  : size_t;
-      <span class="symbol"><A NAME="ref_56_7">ignored</A></span> : <b>constant</b> char_array (0 .. 0) := (0 =&gt; nul);
-      <span class="symbol"><A NAME="ref_57_7">result</A></span>  : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <span class="symbol"><a name="ref_55_7">NameTxt</a></span> : char_array (0 .. <a href="terminal_interface-curses-termcap__ads.htm#ref_60_24">Name</a>'Length);
+      <span class="symbol"><a name="ref_56_7">Length</a></span>  : size_t;
+      <span class="symbol"><a name="ref_57_7">ignored</a></span> : <b>constant</b> char_array (0 .. 0) := (0 =&gt; nul);
+      <span class="symbol"><a name="ref_58_7">result</a></span>  : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
    <b>begin</b>
-      To_C (<A HREF="terminal_interface-curses-termcap__ads.htm#ref_59_24">Name</A>, <A HREF="terminal_interface-curses-termcap__adb.htm#ref_54_7">NameTxt</A>, <A HREF="terminal_interface-curses-termcap__adb.htm#ref_55_7">Length</A>);
-      <A HREF="terminal_interface-curses-termcap__adb.htm#ref_57_7">result</A> := <A HREF="terminal_interface-curses-termcap__adb.htm#ref_51_16">tgetent</A> (char_array (<A HREF="terminal_interface-curses-termcap__adb.htm#ref_56_7">ignored</A>), <A HREF="terminal_interface-curses-termcap__adb.htm#ref_54_7">NameTxt</A>);
-      <b>if</b> <A HREF="terminal_interface-curses-termcap__adb.htm#ref_57_7">result</A> = -1 <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      To_C (<a href="terminal_interface-curses-termcap__ads.htm#ref_60_24">Name</a>, <a href="terminal_interface-curses-termcap__adb.htm#ref_55_7">NameTxt</a>, <a href="terminal_interface-curses-termcap__adb.htm#ref_56_7">Length</a>);
+      <a href="terminal_interface-curses-termcap__adb.htm#ref_58_7">result</a> := <a href="terminal_interface-curses-termcap__adb.htm#ref_52_16">tgetent</a> (char_array (<a href="terminal_interface-curses-termcap__adb.htm#ref_57_7">ignored</a>), <a href="terminal_interface-curses-termcap__adb.htm#ref_55_7">NameTxt</a>);
+      <b>if</b> <a href="terminal_interface-curses-termcap__adb.htm#ref_58_7">result</a> = -1 <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>else</b>
-         <b>return</b> Boolean'Val (<A HREF="terminal_interface-curses-termcap__adb.htm#ref_57_7">result</A>);
+         <b>return</b> Boolean'Val (<a href="terminal_interface-curses-termcap__adb.htm#ref_58_7">result</a>);
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-termcap__ads.htm#ref_59_13">Get_Entry</A>;
+   <b>end</b> <a href="terminal_interface-curses-termcap__ads.htm#ref_60_13">Get_Entry</a>;
 
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_69_13" HREF="terminal_interface-curses-termcap__ads.htm#ref_63_13">Get_Flag</A></span> (<span class="symbol"><A NAME="ref_69_23" HREF="terminal_interface-curses-termcap__ads.htm#ref_63_23">Name</A></span> : String) <b>return</b> Boolean
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_70_13" href="terminal_interface-curses-termcap__ads.htm#ref_64_13">Get_Flag</a></span> (<span class="symbol"><a name="ref_70_23" href="terminal_interface-curses-termcap__ads.htm#ref_64_23">Name</a></span> : String) <b>return</b> Boolean
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_71_16">tgetflag</A></span> (<span class="symbol"><A NAME="ref_71_26" HREF="terminal_interface-curses-termcap__adb.htm#ref_71_16">id</A></span> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_72_16">tgetflag</a></span> (<span class="symbol"><a name="ref_72_26">id</a></span> : char_array) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, tgetflag, "tgetflag");
-      <span class="symbol"><A NAME="ref_73_7">Txt</A></span>    : char_array (0 .. <A HREF="terminal_interface-curses-termcap__ads.htm#ref_63_23">Name</A>'Length);
-      <span class="symbol"><A NAME="ref_74_7">Length</A></span> : size_t;
+      <span class="symbol"><a name="ref_74_7">Txt</a></span>    : char_array (0 .. <a href="terminal_interface-curses-termcap__ads.htm#ref_64_23">Name</a>'Length);
+      <span class="symbol"><a name="ref_75_7">Length</a></span> : size_t;
    <b>begin</b>
-      To_C (<A HREF="terminal_interface-curses-termcap__ads.htm#ref_63_23">Name</A>, <A HREF="terminal_interface-curses-termcap__adb.htm#ref_73_7">Txt</A>, <A HREF="terminal_interface-curses-termcap__adb.htm#ref_74_7">Length</A>);
-      <b>if</b> <A HREF="terminal_interface-curses-termcap__adb.htm#ref_71_16">tgetflag</A> (<A HREF="terminal_interface-curses-termcap__adb.htm#ref_73_7">Txt</A>) = 0 <b>then</b>
+      To_C (<a href="terminal_interface-curses-termcap__ads.htm#ref_64_23">Name</a>, <a href="terminal_interface-curses-termcap__adb.htm#ref_74_7">Txt</a>, <a href="terminal_interface-curses-termcap__adb.htm#ref_75_7">Length</a>);
+      <b>if</b> <a href="terminal_interface-curses-termcap__adb.htm#ref_72_16">tgetflag</a> (<a href="terminal_interface-curses-termcap__adb.htm#ref_74_7">Txt</a>) = 0 <b>then</b>
          <b>return</b> False;
       <b>else</b>
          <b>return</b> True;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-termcap__ads.htm#ref_63_13">Get_Flag</A>;
+   <b>end</b> <a href="terminal_interface-curses-termcap__ads.htm#ref_64_13">Get_Flag</a>;
 
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_85_14" HREF="terminal_interface-curses-termcap__ads.htm#ref_67_14">Get_Number</A></span> (<span class="symbol"><A NAME="ref_85_26" HREF="terminal_interface-curses-termcap__ads.htm#ref_67_26">Name</A></span>   : String;
-                         <span class="symbol"><A NAME="ref_86_26" HREF="terminal_interface-curses-termcap__ads.htm#ref_68_26">Value</A></span>  : <b>out</b> Integer;
-                         <span class="symbol"><A NAME="ref_87_26" HREF="terminal_interface-curses-termcap__ads.htm#ref_69_26">Result</A></span> : <b>out</b> Boolean)
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_86_14" href="terminal_interface-curses-termcap__ads.htm#ref_68_14">Get_Number</a></span> (<span class="symbol"><a name="ref_86_26" href="terminal_interface-curses-termcap__ads.htm#ref_68_26">Name</a></span>   : String;
+                         <span class="symbol"><a name="ref_87_26" href="terminal_interface-curses-termcap__ads.htm#ref_69_26">Value</a></span>  : <b>out</b> Integer;
+                         <span class="symbol"><a name="ref_88_26" href="terminal_interface-curses-termcap__ads.htm#ref_70_26">Result</a></span> : <b>out</b> Boolean)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_89_16">tgetnum</A></span> (<span class="symbol"><A NAME="ref_89_25" HREF="terminal_interface-curses-termcap__adb.htm#ref_89_16">id</A></span> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_90_16">tgetnum</a></span> (<span class="symbol"><a name="ref_90_25">id</a></span> : char_array) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, tgetnum, "tgetnum");
-      <span class="symbol"><A NAME="ref_91_7">Txt</A></span>    : char_array (0 .. <A HREF="terminal_interface-curses-termcap__ads.htm#ref_67_26">Name</A>'Length);
-      <span class="symbol"><A NAME="ref_92_7">Length</A></span> : size_t;
+      <span class="symbol"><a name="ref_92_7">Txt</a></span>    : char_array (0 .. <a href="terminal_interface-curses-termcap__ads.htm#ref_68_26">Name</a>'Length);
+      <span class="symbol"><a name="ref_93_7">Length</a></span> : size_t;
    <b>begin</b>
-      To_C (<A HREF="terminal_interface-curses-termcap__ads.htm#ref_67_26">Name</A>, <A HREF="terminal_interface-curses-termcap__adb.htm#ref_91_7">Txt</A>, <A HREF="terminal_interface-curses-termcap__adb.htm#ref_92_7">Length</A>);
-      <A HREF="terminal_interface-curses-termcap__ads.htm#ref_68_26">Value</A> := Integer (<A HREF="terminal_interface-curses-termcap__adb.htm#ref_89_16">tgetnum</A> (<A HREF="terminal_interface-curses-termcap__adb.htm#ref_91_7">Txt</A>));
-      <b>if</b> <A HREF="terminal_interface-curses-termcap__ads.htm#ref_68_26">Value</A> = -1 <b>then</b>
-         <A HREF="terminal_interface-curses-termcap__ads.htm#ref_69_26">Result</A> := False;
+      To_C (<a href="terminal_interface-curses-termcap__ads.htm#ref_68_26">Name</a>, <a href="terminal_interface-curses-termcap__adb.htm#ref_92_7">Txt</a>, <a href="terminal_interface-curses-termcap__adb.htm#ref_93_7">Length</a>);
+      <a href="terminal_interface-curses-termcap__ads.htm#ref_69_26">Value</a> := Integer (<a href="terminal_interface-curses-termcap__adb.htm#ref_90_16">tgetnum</a> (<a href="terminal_interface-curses-termcap__adb.htm#ref_92_7">Txt</a>));
+      <b>if</b> <a href="terminal_interface-curses-termcap__ads.htm#ref_69_26">Value</a> = -1 <b>then</b>
+         <a href="terminal_interface-curses-termcap__ads.htm#ref_70_26">Result</a> := False;
       <b>else</b>
-         <A HREF="terminal_interface-curses-termcap__ads.htm#ref_69_26">Result</A> :=  True;
+         <a href="terminal_interface-curses-termcap__ads.htm#ref_70_26">Result</a> :=  True;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-termcap__ads.htm#ref_67_14">Get_Number</A>;
+   <b>end</b> <a href="terminal_interface-curses-termcap__ads.htm#ref_68_14">Get_Number</a>;
 
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_104_14" HREF="terminal_interface-curses-termcap__ads.htm#ref_73_14">Get_String</A></span> (<span class="symbol"><A NAME="ref_104_26" HREF="terminal_interface-curses-termcap__ads.htm#ref_73_26">Name</A></span>   : String;
-                         <span class="symbol"><A NAME="ref_105_26" HREF="terminal_interface-curses-termcap__ads.htm#ref_74_26">Value</A></span>  : <b>out</b> String;
-                         <span class="symbol"><A NAME="ref_106_26" HREF="terminal_interface-curses-termcap__ads.htm#ref_75_26">Result</A></span> : <b>out</b> Boolean)
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_105_14" href="terminal_interface-curses-termcap__ads.htm#ref_74_14">Get_String</a></span> (<span class="symbol"><a name="ref_105_26" href="terminal_interface-curses-termcap__ads.htm#ref_74_26">Name</a></span>   : String;
+                         <span class="symbol"><a name="ref_106_26" href="terminal_interface-curses-termcap__ads.htm#ref_75_26">Value</a></span>  : <b>out</b> String;
+                         <span class="symbol"><a name="ref_107_26" href="terminal_interface-curses-termcap__ads.htm#ref_76_26">Result</a></span> : <b>out</b> Boolean)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_108_16">tgetstr</A></span> (<span class="symbol"><A NAME="ref_108_25" HREF="terminal_interface-curses-termcap__adb.htm#ref_108_16">id</A></span>  : char_array;
-                        <span class="symbol"><A NAME="ref_109_25" HREF="terminal_interface-curses-termcap__adb.htm#ref_108_16">buf</A></span> : char_array) <b>return</b> chars_ptr;
+      <b>function</b> <span class="symbol"><a name="ref_109_16">tgetstr</a></span> (<span class="symbol"><a name="ref_109_25">id</a></span>  : char_array;
+                        <span class="symbol"><a name="ref_110_25">buf</a></span> : char_array) <b>return</b> chars_ptr;
       <b>pragma</b> Import (C, tgetstr, "tgetstr");
-      <span class="symbol"><A NAME="ref_111_7">Txt</A></span>    : char_array (0 .. <A HREF="terminal_interface-curses-termcap__ads.htm#ref_73_26">Name</A>'Length);
-      <span class="symbol"><A NAME="ref_112_7">Length</A></span> : size_t;
-      <span class="symbol"><A NAME="ref_113_7">Txt2</A></span>   : chars_ptr;
-      <b>type</b> t <b>is</b> <b>new</b> char_array (0 .. 1024); <span class="comment"><EM>--  does it need to be 1024?</EM></span>
-      <span class="symbol"><A NAME="ref_115_7">Return_Buffer</A></span> : <b>constant</b> t := (<b>others</b> =&gt; nul);
+      <span class="symbol"><a name="ref_112_7">Txt</a></span>    : char_array (0 .. <a href="terminal_interface-curses-termcap__ads.htm#ref_74_26">Name</a>'Length);
+      <span class="symbol"><a name="ref_113_7">Length</a></span> : size_t;
+      <span class="symbol"><a name="ref_114_7">Txt2</a></span>   : chars_ptr;
+      <b>type</b> t <b>is</b> <b>new</b> char_array (0 .. 1024); <span class="comment"><em>--  does it need to be 1024?</em></span>
+      <span class="symbol"><a name="ref_116_7">Return_Buffer</a></span> : <b>constant</b> t := (<b>others</b> =&gt; nul);
    <b>begin</b>
-      To_C (<A HREF="terminal_interface-curses-termcap__ads.htm#ref_73_26">Name</A>, <A HREF="terminal_interface-curses-termcap__adb.htm#ref_111_7">Txt</A>, <A HREF="terminal_interface-curses-termcap__adb.htm#ref_112_7">Length</A>);
-      <A HREF="terminal_interface-curses-termcap__adb.htm#ref_113_7">Txt2</A> := <A HREF="terminal_interface-curses-termcap__adb.htm#ref_108_16">tgetstr</A> (<A HREF="terminal_interface-curses-termcap__adb.htm#ref_111_7">Txt</A>, char_array (<A HREF="terminal_interface-curses-termcap__adb.htm#ref_115_7">Return_Buffer</A>));
-      <b>if</b> <A HREF="terminal_interface-curses-termcap__adb.htm#ref_113_7">Txt2</A> = Null_Ptr <b>then</b>
-         <A HREF="terminal_interface-curses-termcap__ads.htm#ref_75_26">Result</A> := False;
+      To_C (<a href="terminal_interface-curses-termcap__ads.htm#ref_74_26">Name</a>, <a href="terminal_interface-curses-termcap__adb.htm#ref_112_7">Txt</a>, <a href="terminal_interface-curses-termcap__adb.htm#ref_113_7">Length</a>);
+      <a href="terminal_interface-curses-termcap__adb.htm#ref_114_7">Txt2</a> := <a href="terminal_interface-curses-termcap__adb.htm#ref_109_16">tgetstr</a> (<a href="terminal_interface-curses-termcap__adb.htm#ref_112_7">Txt</a>, char_array (<a href="terminal_interface-curses-termcap__adb.htm#ref_116_7">Return_Buffer</a>));
+      <b>if</b> <a href="terminal_interface-curses-termcap__adb.htm#ref_114_7">Txt2</a> = Null_Ptr <b>then</b>
+         <a href="terminal_interface-curses-termcap__ads.htm#ref_76_26">Result</a> := False;
       <b>else</b>
-         <A HREF="terminal_interface-curses-termcap__ads.htm#ref_74_26">Value</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_97_13">Fill_String</A> (<A HREF="terminal_interface-curses-termcap__adb.htm#ref_113_7">Txt2</A>);
-         <A HREF="terminal_interface-curses-termcap__ads.htm#ref_75_26">Result</A> := True;
+         <a href="terminal_interface-curses-termcap__ads.htm#ref_75_26">Value</a> := <a href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a> (<a href="terminal_interface-curses-termcap__adb.htm#ref_114_7">Txt2</a>);
+         <a href="terminal_interface-curses-termcap__ads.htm#ref_76_26">Result</a> := True;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-termcap__ads.htm#ref_73_14">Get_String</A>;
+   <b>end</b> <a href="terminal_interface-curses-termcap__ads.htm#ref_74_14">Get_String</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_127_13" HREF="terminal_interface-curses-termcap__ads.htm#ref_76_13">Get_String</A></span> (<span class="symbol"><A NAME="ref_127_25" HREF="terminal_interface-curses-termcap__ads.htm#ref_76_25">Name</A></span> : String) <b>return</b> Boolean
+   <b>function</b> <span class="symbol"><a name="ref_128_13" href="terminal_interface-curses-termcap__ads.htm#ref_77_13">Get_String</a></span> (<span class="symbol"><a name="ref_128_25" href="terminal_interface-curses-termcap__ads.htm#ref_77_25">Name</a></span> : String) <b>return</b> Boolean
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_129_16">tgetstr</A></span> (<span class="symbol"><A NAME="ref_129_25" HREF="terminal_interface-curses-termcap__adb.htm#ref_129_16">Id</A></span>  : char_array;
-                        <span class="symbol"><A NAME="ref_130_25" HREF="terminal_interface-curses-termcap__adb.htm#ref_129_16">buf</A></span> : char_array) <b>return</b> chars_ptr;
+      <b>function</b> <span class="symbol"><a name="ref_130_16">tgetstr</a></span> (<span class="symbol"><a name="ref_130_25">Id</a></span>  : char_array;
+                        <span class="symbol"><a name="ref_131_25">buf</a></span> : char_array) <b>return</b> chars_ptr;
       <b>pragma</b> Import (C, tgetstr, "tgetstr");
-      <span class="symbol"><A NAME="ref_132_7">Txt</A></span>    : char_array (0 .. <A HREF="terminal_interface-curses-termcap__ads.htm#ref_76_25">Name</A>'Length);
-      <span class="symbol"><A NAME="ref_133_7">Length</A></span> : size_t;
-      <span class="symbol"><A NAME="ref_134_7">Txt2</A></span>   : chars_ptr;
-      <b>type</b> t <b>is</b> <b>new</b> char_array (0 .. 1024); <span class="comment"><EM>--  does it need to be 1024?</EM></span>
-      <span class="symbol"><A NAME="ref_136_7">Phony_Txt</A></span> : <b>constant</b> t := (<b>others</b> =&gt; nul);
+      <span class="symbol"><a name="ref_133_7">Txt</a></span>    : char_array (0 .. <a href="terminal_interface-curses-termcap__ads.htm#ref_77_25">Name</a>'Length);
+      <span class="symbol"><a name="ref_134_7">Length</a></span> : size_t;
+      <span class="symbol"><a name="ref_135_7">Txt2</a></span>   : chars_ptr;
+      <b>type</b> t <b>is</b> <b>new</b> char_array (0 .. 1024); <span class="comment"><em>--  does it need to be 1024?</em></span>
+      <span class="symbol"><a name="ref_137_7">Phony_Txt</a></span> : <b>constant</b> t := (<b>others</b> =&gt; nul);
    <b>begin</b>
-      To_C (<A HREF="terminal_interface-curses-termcap__ads.htm#ref_76_25">Name</A>, <A HREF="terminal_interface-curses-termcap__adb.htm#ref_132_7">Txt</A>, <A HREF="terminal_interface-curses-termcap__adb.htm#ref_133_7">Length</A>);
-      <A HREF="terminal_interface-curses-termcap__adb.htm#ref_134_7">Txt2</A> := <A HREF="terminal_interface-curses-termcap__adb.htm#ref_129_16">tgetstr</A> (<A HREF="terminal_interface-curses-termcap__adb.htm#ref_132_7">Txt</A>, char_array (<A HREF="terminal_interface-curses-termcap__adb.htm#ref_136_7">Phony_Txt</A>));
-      <b>if</b> <A HREF="terminal_interface-curses-termcap__adb.htm#ref_134_7">Txt2</A> = Null_Ptr <b>then</b>
+      To_C (<a href="terminal_interface-curses-termcap__ads.htm#ref_77_25">Name</a>, <a href="terminal_interface-curses-termcap__adb.htm#ref_133_7">Txt</a>, <a href="terminal_interface-curses-termcap__adb.htm#ref_134_7">Length</a>);
+      <a href="terminal_interface-curses-termcap__adb.htm#ref_135_7">Txt2</a> := <a href="terminal_interface-curses-termcap__adb.htm#ref_130_16">tgetstr</a> (<a href="terminal_interface-curses-termcap__adb.htm#ref_133_7">Txt</a>, char_array (<a href="terminal_interface-curses-termcap__adb.htm#ref_137_7">Phony_Txt</a>));
+      <b>if</b> <a href="terminal_interface-curses-termcap__adb.htm#ref_135_7">Txt2</a> = Null_Ptr <b>then</b>
          <b>return</b> False;
       <b>else</b>
          <b>return</b> True;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-termcap__ads.htm#ref_76_13">Get_String</A>;
+   <b>end</b> <a href="terminal_interface-curses-termcap__ads.htm#ref_77_13">Get_String</a>;
 
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_148_13" HREF="terminal_interface-curses-termcap__ads.htm#ref_53_13">TGoto</A></span> (<span class="symbol"><A NAME="ref_148_20" HREF="terminal_interface-curses-termcap__ads.htm#ref_53_20">Cap</A></span> : String;
-                   <span class="symbol"><A NAME="ref_149_20" HREF="terminal_interface-curses-termcap__ads.htm#ref_54_20">Col</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-                   <span class="symbol"><A NAME="ref_150_20" HREF="terminal_interface-curses-termcap__ads.htm#ref_55_20">Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>) <b>return</b> Termcap_String <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_151_16">tgoto</A></span> (<span class="symbol"><A NAME="ref_151_23" HREF="terminal_interface-curses-termcap__adb.htm#ref_151_16">cap</A></span> : char_array;
-                      <span class="symbol"><A NAME="ref_152_23" HREF="terminal_interface-curses-termcap__adb.htm#ref_151_16">col</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-                      <span class="symbol"><A NAME="ref_153_23" HREF="terminal_interface-curses-termcap__adb.htm#ref_151_16">row</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> chars_ptr;
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_149_13" href="terminal_interface-curses-termcap__ads.htm#ref_54_13">TGoto</a></span> (<span class="symbol"><a name="ref_149_20" href="terminal_interface-curses-termcap__ads.htm#ref_54_20">Cap</a></span> : String;
+                   <span class="symbol"><a name="ref_150_20" href="terminal_interface-curses-termcap__ads.htm#ref_55_20">Col</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+                   <span class="symbol"><a name="ref_151_20" href="terminal_interface-curses-termcap__ads.htm#ref_56_20">Row</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>) <b>return</b> Termcap_String <b>is</b>
+      <b>function</b> <span class="symbol"><a name="ref_152_16">tgoto</a></span> (<span class="symbol"><a name="ref_152_23">cap</a></span> : char_array;
+                      <span class="symbol"><a name="ref_153_23">col</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+                      <span class="symbol"><a name="ref_154_23">row</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> chars_ptr;
       <b>pragma</b> Import (C, tgoto);
-      <span class="symbol"><A NAME="ref_155_7">Txt</A></span>    : char_array (0 .. <A HREF="terminal_interface-curses-termcap__ads.htm#ref_53_20">Cap</A>'Length);
-      <span class="symbol"><A NAME="ref_156_7">Length</A></span> : size_t;
+      <span class="symbol"><a name="ref_156_7">Txt</a></span>    : char_array (0 .. <a href="terminal_interface-curses-termcap__ads.htm#ref_54_20">Cap</a>'Length);
+      <span class="symbol"><a name="ref_157_7">Length</a></span> : size_t;
    <b>begin</b>
-      To_C (<A HREF="terminal_interface-curses-termcap__ads.htm#ref_53_20">Cap</A>, <A HREF="terminal_interface-curses-termcap__adb.htm#ref_155_7">Txt</A>, <A HREF="terminal_interface-curses-termcap__adb.htm#ref_156_7">Length</A>);
-      <b>return</b> Termcap_String (<A HREF="terminal_interface-curses-aux__ads.htm#ref_97_13">Fill_String</A>
-                             (<A HREF="terminal_interface-curses-termcap__adb.htm#ref_151_16">tgoto</A> (<A HREF="terminal_interface-curses-termcap__adb.htm#ref_155_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses-termcap__ads.htm#ref_54_20">Col</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses-termcap__ads.htm#ref_55_20">Row</A>))));
-   <b>end</b> <A HREF="terminal_interface-curses-termcap__ads.htm#ref_53_13">TGoto</A>;
+      To_C (<a href="terminal_interface-curses-termcap__ads.htm#ref_54_20">Cap</a>, <a href="terminal_interface-curses-termcap__adb.htm#ref_156_7">Txt</a>, <a href="terminal_interface-curses-termcap__adb.htm#ref_157_7">Length</a>);
+      <b>return</b> Termcap_String (<a href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a>
+                             (<a href="terminal_interface-curses-termcap__adb.htm#ref_152_16">tgoto</a> (<a href="terminal_interface-curses-termcap__adb.htm#ref_156_7">Txt</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-termcap__ads.htm#ref_55_20">Col</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-termcap__ads.htm#ref_56_20">Row</a>))));
+   <b>end</b> <a href="terminal_interface-curses-termcap__ads.htm#ref_54_13">TGoto</a>;
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-termcap__ads.htm#ref_42_35">Termcap</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-termcap__ads.htm#ref_43_35">Termcap</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-termcap__ads.htm b/doc/html/ada/terminal_interface-curses-termcap__ads.htm
index f8e8655..269ee9d 100644
--- a/doc/html/ada/terminal_interface-curses-termcap__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-termcap__ads.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-termcap.ads</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-termcap.ads</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,88 +11,89 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-termcap.ads </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                     Terminal_Interface.Curses.Termcap                    --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 S P E C                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 2000 Free Software Foundation, Inc.                        --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.3 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-termcap.ads </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                     Terminal_Interface.Curses.Termcap                    --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 S P E C                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 2000-2002,2003 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.5 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
 
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<span class="symbol"><A NAME="ref_42_35" HREF="terminal_interface-curses-termcap__adb.htm#ref_47_40">Termcap</A></span> <b>is</b>
-   <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-termcap__ads.htm#ref_42_35">Termcap</A>);
+<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<span class="symbol"><a name="ref_43_35" href="terminal_interface-curses-termcap__adb.htm#ref_48_40">Termcap</a></span> <b>is</b>
+   <b>pragma</b> Preelaborate (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-termcap__ads.htm#ref_43_35">Termcap</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page curs_termcap.3x</EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  Not implemented:  tputs (see curs_terminfo)</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page curs_termcap.3x</em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  Not implemented:  tputs (see curs_terminfo)</em></span>
 
    <b>type</b> Termcap_String <b>is</b> <b>new</b> String;
 
-   <span class="comment"><EM>--  |</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_53_13" HREF="terminal_interface-curses-termcap__adb.htm#ref_148_13">TGoto</A></span> (<span class="symbol"><A NAME="ref_53_20" HREF="terminal_interface-curses-termcap__adb.htm#ref_148_20">Cap</A></span> : String;
-                   <span class="symbol"><A NAME="ref_54_20" HREF="terminal_interface-curses-termcap__adb.htm#ref_149_20">Col</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-                   <span class="symbol"><A NAME="ref_55_20" HREF="terminal_interface-curses-termcap__adb.htm#ref_150_20">Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>) <b>return</b> Termcap_String;
-   <span class="comment"><EM>--  AKA: tgoto()</EM></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_54_13" href="terminal_interface-curses-termcap__adb.htm#ref_149_13">TGoto</a></span> (<span class="symbol"><a name="ref_54_20" href="terminal_interface-curses-termcap__adb.htm#ref_149_20">Cap</a></span> : String;
+                   <span class="symbol"><a name="ref_55_20" href="terminal_interface-curses-termcap__adb.htm#ref_150_20">Col</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+                   <span class="symbol"><a name="ref_56_20" href="terminal_interface-curses-termcap__adb.htm#ref_151_20">Row</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>) <b>return</b> Termcap_String;
+   <span class="comment"><em>--  AKA: tgoto()</em></span>
 
-   <span class="comment"><EM>--  |</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_59_13" HREF="terminal_interface-curses-termcap__adb.htm#ref_49_13">Get_Entry</A></span> (<span class="symbol"><A NAME="ref_59_24" HREF="terminal_interface-curses-termcap__adb.htm#ref_49_24">Name</A></span> : String) <b>return</b> Boolean;
-   <span class="comment"><EM>--  AKA: tgetent()</EM></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_60_13" href="terminal_interface-curses-termcap__adb.htm#ref_50_13">Get_Entry</a></span> (<span class="symbol"><a name="ref_60_24" href="terminal_interface-curses-termcap__adb.htm#ref_50_24">Name</a></span> : String) <b>return</b> Boolean;
+   <span class="comment"><em>--  AKA: tgetent()</em></span>
 
-   <span class="comment"><EM>--  |</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_63_13" HREF="terminal_interface-curses-termcap__adb.htm#ref_69_13">Get_Flag</A></span> (<span class="symbol"><A NAME="ref_63_23" HREF="terminal_interface-curses-termcap__adb.htm#ref_69_23">Name</A></span> : String) <b>return</b> Boolean;
-   <span class="comment"><EM>--  AKA: tgetflag()</EM></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_64_13" href="terminal_interface-curses-termcap__adb.htm#ref_70_13">Get_Flag</a></span> (<span class="symbol"><a name="ref_64_23" href="terminal_interface-curses-termcap__adb.htm#ref_70_23">Name</a></span> : String) <b>return</b> Boolean;
+   <span class="comment"><em>--  AKA: tgetflag()</em></span>
 
-   <span class="comment"><EM>--  |</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_67_14" HREF="terminal_interface-curses-termcap__adb.htm#ref_85_14">Get_Number</A></span> (<span class="symbol"><A NAME="ref_67_26" HREF="terminal_interface-curses-termcap__adb.htm#ref_85_26">Name</A></span>   : String;
-                         <span class="symbol"><A NAME="ref_68_26" HREF="terminal_interface-curses-termcap__adb.htm#ref_86_26">Value</A></span>  : <b>out</b> Integer;
-                         <span class="symbol"><A NAME="ref_69_26" HREF="terminal_interface-curses-termcap__adb.htm#ref_87_26">Result</A></span> : <b>out</b> Boolean);
-   <span class="comment"><EM>--  AKA: tgetnum()</EM></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_68_14" href="terminal_interface-curses-termcap__adb.htm#ref_86_14">Get_Number</a></span> (<span class="symbol"><a name="ref_68_26" href="terminal_interface-curses-termcap__adb.htm#ref_86_26">Name</a></span>   : String;
+                         <span class="symbol"><a name="ref_69_26" href="terminal_interface-curses-termcap__adb.htm#ref_87_26">Value</a></span>  : <b>out</b> Integer;
+                         <span class="symbol"><a name="ref_70_26" href="terminal_interface-curses-termcap__adb.htm#ref_88_26">Result</a></span> : <b>out</b> Boolean);
+   <span class="comment"><em>--  AKA: tgetnum()</em></span>
 
-   <span class="comment"><EM>--  |</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_73_14" HREF="terminal_interface-curses-termcap__adb.htm#ref_104_14">Get_String</A></span> (<span class="symbol"><A NAME="ref_73_26" HREF="terminal_interface-curses-termcap__adb.htm#ref_104_26">Name</A></span>   : String;
-                         <span class="symbol"><A NAME="ref_74_26" HREF="terminal_interface-curses-termcap__adb.htm#ref_105_26">Value</A></span>  : <b>out</b> String;
-                         <span class="symbol"><A NAME="ref_75_26" HREF="terminal_interface-curses-termcap__adb.htm#ref_106_26">Result</A></span> : <b>out</b> Boolean);
-   <b>function</b> <span class="symbol"><A NAME="ref_76_13" HREF="terminal_interface-curses-termcap__adb.htm#ref_127_13">Get_String</A></span> (<span class="symbol"><A NAME="ref_76_25" HREF="terminal_interface-curses-termcap__adb.htm#ref_127_25">Name</A></span> : String) <b>return</b> Boolean;
-   <span class="comment"><EM>--  Returns True if the string is found.</EM></span>
-   <span class="comment"><EM>--  AKA: tgetstr()</EM></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_74_14" href="terminal_interface-curses-termcap__adb.htm#ref_105_14">Get_String</a></span> (<span class="symbol"><a name="ref_74_26" href="terminal_interface-curses-termcap__adb.htm#ref_105_26">Name</a></span>   : String;
+                         <span class="symbol"><a name="ref_75_26" href="terminal_interface-curses-termcap__adb.htm#ref_106_26">Value</a></span>  : <b>out</b> String;
+                         <span class="symbol"><a name="ref_76_26" href="terminal_interface-curses-termcap__adb.htm#ref_107_26">Result</a></span> : <b>out</b> Boolean);
+   <b>function</b> <span class="symbol"><a name="ref_77_13" href="terminal_interface-curses-termcap__adb.htm#ref_128_13">Get_String</a></span> (<span class="symbol"><a name="ref_77_25" href="terminal_interface-curses-termcap__adb.htm#ref_128_25">Name</a></span> : String) <b>return</b> Boolean;
+   <span class="comment"><em>--  Returns True if the string is found.</em></span>
+   <span class="comment"><em>--  AKA: tgetstr()</em></span>
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-termcap__ads.htm#ref_42_35">Termcap</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-termcap__ads.htm#ref_43_35">Termcap</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-terminfo__adb.htm b/doc/html/ada/terminal_interface-curses-terminfo__adb.htm
index 497c8c0..c84c203 100644
--- a/doc/html/ada/terminal_interface-curses-terminfo__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-terminfo__adb.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-terminfo.adb</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-terminfo.adb</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,169 +11,170 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-terminfo.adb </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                    Terminal_Interface.Curses.Terminfo                    --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 B O D Y                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2006,2009 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.6 @</EM></span>
-<span class="comment"><EM>--  @Date: 2009/12/26 17:38:58 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-terminfo.adb </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                    Terminal_Interface.Curses.Terminfo                    --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 B O D Y                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 2000-2006,2009 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.7 @</em></span>
+<span class="comment"><em>--  @Date: 2020/02/02 23:34:34 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
 
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C; <b>use</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C;
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings; <b>use</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings;
+<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; <b>use</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>;
+<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C; <b>use</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C;
+<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings; <b>use</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings;
 <b>with</b> Ada.Unchecked_Conversion;
 
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<span class="symbol"><A NAME="ref_48_40" HREF="terminal_interface-curses-terminfo__ads.htm#ref_44_35">Terminfo</A></span> <b>is</b>
+<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<span class="symbol"><a name="ref_49_40" href="terminal_interface-curses-terminfo__ads.htm#ref_45_35">Terminfo</a></span> <b>is</b>
 
-   <b>function</b> <span class="symbol"><A NAME="ref_50_13" HREF="terminal_interface-curses-terminfo__adb.htm#ref_52_13">Is_MinusOne_Pointer</A></span> (<span class="symbol"><A NAME="ref_50_34" HREF="terminal_interface-curses-terminfo__adb.htm#ref_52_34">P</A></span> : chars_ptr) <b>return</b> Boolean;
+   <b>function</b> <span class="symbol"><a name="ref_51_13" href="terminal_interface-curses-terminfo__adb.htm#ref_53_13">Is_MinusOne_Pointer</a></span> (<span class="symbol"><a name="ref_51_34" href="terminal_interface-curses-terminfo__adb.htm#ref_53_34">P</a></span> : chars_ptr) <b>return</b> Boolean;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_52_13" HREF="terminal_interface-curses-terminfo__adb.htm#ref_50_13">Is_MinusOne_Pointer</A></span> (<span class="symbol"><A NAME="ref_52_34" HREF="terminal_interface-curses-terminfo__adb.htm#ref_50_34">P</A></span> : chars_ptr) <b>return</b> Boolean <b>is</b>
-      <b>type</b> <span class="symbol"><A NAME="ref_53_12">Weird_Address</A></span> <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address;
-      <span class="symbol"><A NAME="ref_54_7">Invalid_Pointer</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_53_12">Weird_Address</A> := -1;
+   <b>function</b> <span class="symbol"><a name="ref_53_13" href="terminal_interface-curses-terminfo__adb.htm#ref_51_13">Is_MinusOne_Pointer</a></span> (<span class="symbol"><a name="ref_53_34" href="terminal_interface-curses-terminfo__adb.htm#ref_51_34">P</a></span> : chars_ptr) <b>return</b> Boolean <b>is</b>
+      <b>type</b> <span class="symbol"><a name="ref_54_12">Weird_Address</a></span> <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address;
+      <span class="symbol"><a name="ref_55_7">Invalid_Pointer</a></span> : <b>constant</b> <a href="terminal_interface-curses-terminfo__adb.htm#ref_54_12">Weird_Address</a> := -1;
       <b>function</b> To_Weird <b>is</b> <b>new</b> Ada.Unchecked_Conversion
-        (Source =&gt; chars_ptr, Target =&gt; <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_53_12">Weird_Address</A>);
+        (Source =&gt; chars_ptr, Target =&gt; <a href="terminal_interface-curses-terminfo__adb.htm#ref_54_12">Weird_Address</a>);
    <b>begin</b>
-      <b>if</b> To_Weird (<A HREF="terminal_interface-curses-terminfo__adb.htm#ref_50_34">P</A>) = <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_54_7">Invalid_Pointer</A> <b>then</b>
+      <b>if</b> To_Weird (<a href="terminal_interface-curses-terminfo__adb.htm#ref_51_34">P</a>) = <a href="terminal_interface-curses-terminfo__adb.htm#ref_55_7">Invalid_Pointer</a> <b>then</b>
          <b>return</b> True;
       <b>else</b>
          <b>return</b> False;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_50_13">Is_MinusOne_Pointer</A>;
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-terminfo__adb.htm#ref_50_13">Is_MinusOne_Pointer</A>);
+   <b>end</b> <a href="terminal_interface-curses-terminfo__adb.htm#ref_51_13">Is_MinusOne_Pointer</a>;
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-terminfo__adb.htm#ref_51_13">Is_MinusOne_Pointer</a>);
 
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_67_13" HREF="terminal_interface-curses-terminfo__ads.htm#ref_64_13">Get_Flag</A></span> (<span class="symbol"><A NAME="ref_67_23" HREF="terminal_interface-curses-terminfo__ads.htm#ref_64_23">Name</A></span> : String) <b>return</b> Boolean
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_68_13" href="terminal_interface-curses-terminfo__ads.htm#ref_65_13">Get_Flag</a></span> (<span class="symbol"><a name="ref_68_23" href="terminal_interface-curses-terminfo__ads.htm#ref_65_23">Name</a></span> : String) <b>return</b> Boolean
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_69_16">tigetflag</A></span> (<span class="symbol"><A NAME="ref_69_27" HREF="terminal_interface-curses-terminfo__adb.htm#ref_69_16">id</A></span> : char_array) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
+      <b>function</b> <span class="symbol"><a name="ref_70_16">tigetflag</a></span> (<span class="symbol"><a name="ref_70_27">id</a></span> : char_array) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>;
       <b>pragma</b> Import (C, tigetflag);
-      <span class="symbol"><A NAME="ref_71_7">Txt</A></span>    : char_array (0 .. <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_64_23">Name</A>'Length);
-      <span class="symbol"><A NAME="ref_72_7">Length</A></span> : size_t;
+      <span class="symbol"><a name="ref_72_7">Txt</a></span>    : char_array (0 .. <a href="terminal_interface-curses-terminfo__ads.htm#ref_65_23">Name</a>'Length);
+      <span class="symbol"><a name="ref_73_7">Length</a></span> : size_t;
    <b>begin</b>
-      To_C (<A HREF="terminal_interface-curses-terminfo__ads.htm#ref_64_23">Name</A>, <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_71_7">Txt</A>, <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_72_7">Length</A>);
-      <b>if</b> <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_69_16">tigetflag</A> (<A HREF="terminal_interface-curses-terminfo__adb.htm#ref_71_7">Txt</A>) = <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_67_4">Curses_True</A>) <b>then</b>
+      To_C (<a href="terminal_interface-curses-terminfo__ads.htm#ref_65_23">Name</a>, <a href="terminal_interface-curses-terminfo__adb.htm#ref_72_7">Txt</a>, <a href="terminal_interface-curses-terminfo__adb.htm#ref_73_7">Length</a>);
+      <b>if</b> <a href="terminal_interface-curses-terminfo__adb.htm#ref_70_16">tigetflag</a> (<a href="terminal_interface-curses-terminfo__adb.htm#ref_72_7">Txt</a>) = <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_66_4">Curses_True</a>) <b>then</b>
          <b>return</b> True;
       <b>else</b>
          <b>return</b> False;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_64_13">Get_Flag</A>;
+   <b>end</b> <a href="terminal_interface-curses-terminfo__ads.htm#ref_65_13">Get_Flag</a>;
 
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_83_14" HREF="terminal_interface-curses-terminfo__ads.htm#ref_57_14">Get_String</A></span> (<span class="symbol"><A NAME="ref_83_26" HREF="terminal_interface-curses-terminfo__ads.htm#ref_57_26">Name</A></span>   : String;
-                         <span class="symbol"><A NAME="ref_84_26" HREF="terminal_interface-curses-terminfo__ads.htm#ref_58_26">Value</A></span>  : <b>out</b> Terminfo_String;
-                         <span class="symbol"><A NAME="ref_85_26" HREF="terminal_interface-curses-terminfo__ads.htm#ref_59_26">Result</A></span> : <b>out</b> Boolean)
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_84_14" href="terminal_interface-curses-terminfo__ads.htm#ref_58_14">Get_String</a></span> (<span class="symbol"><a name="ref_84_26" href="terminal_interface-curses-terminfo__ads.htm#ref_58_26">Name</a></span>   : String;
+                         <span class="symbol"><a name="ref_85_26" href="terminal_interface-curses-terminfo__ads.htm#ref_59_26">Value</a></span>  : <b>out</b> Terminfo_String;
+                         <span class="symbol"><a name="ref_86_26" href="terminal_interface-curses-terminfo__ads.htm#ref_60_26">Result</a></span> : <b>out</b> Boolean)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_87_16">tigetstr</A></span> (<span class="symbol"><A NAME="ref_87_26" HREF="terminal_interface-curses-terminfo__adb.htm#ref_87_16">id</A></span> : char_array) <b>return</b> chars_ptr;
+      <b>function</b> <span class="symbol"><a name="ref_88_16">tigetstr</a></span> (<span class="symbol"><a name="ref_88_26">id</a></span> : char_array) <b>return</b> chars_ptr;
       <b>pragma</b> Import (C, tigetstr, "tigetstr");
-      <span class="symbol"><A NAME="ref_89_7">Txt</A></span>    : char_array (0 .. <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_57_26">Name</A>'Length);
-      <span class="symbol"><A NAME="ref_90_7">Length</A></span> : size_t;
-      <span class="symbol"><A NAME="ref_91_7">Txt2</A></span> : chars_ptr;
+      <span class="symbol"><a name="ref_90_7">Txt</a></span>    : char_array (0 .. <a href="terminal_interface-curses-terminfo__ads.htm#ref_58_26">Name</a>'Length);
+      <span class="symbol"><a name="ref_91_7">Length</a></span> : size_t;
+      <span class="symbol"><a name="ref_92_7">Txt2</a></span> : chars_ptr;
    <b>begin</b>
-      To_C (<A HREF="terminal_interface-curses-terminfo__ads.htm#ref_57_26">Name</A>, <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_89_7">Txt</A>, <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_90_7">Length</A>);
-      <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_91_7">Txt2</A> := <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_87_16">tigetstr</A> (<A HREF="terminal_interface-curses-terminfo__adb.htm#ref_89_7">Txt</A>);
-      <b>if</b> <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_91_7">Txt2</A> = Null_Ptr <b>then</b>
-         <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_59_26">Result</A> := False;
-      <b>elsif</b> <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_50_13">Is_MinusOne_Pointer</A> (<A HREF="terminal_interface-curses-terminfo__adb.htm#ref_91_7">Txt2</A>) <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      To_C (<a href="terminal_interface-curses-terminfo__ads.htm#ref_58_26">Name</a>, <a href="terminal_interface-curses-terminfo__adb.htm#ref_90_7">Txt</a>, <a href="terminal_interface-curses-terminfo__adb.htm#ref_91_7">Length</a>);
+      <a href="terminal_interface-curses-terminfo__adb.htm#ref_92_7">Txt2</a> := <a href="terminal_interface-curses-terminfo__adb.htm#ref_88_16">tigetstr</a> (<a href="terminal_interface-curses-terminfo__adb.htm#ref_90_7">Txt</a>);
+      <b>if</b> <a href="terminal_interface-curses-terminfo__adb.htm#ref_92_7">Txt2</a> = Null_Ptr <b>then</b>
+         <a href="terminal_interface-curses-terminfo__ads.htm#ref_60_26">Result</a> := False;
+      <b>elsif</b> <a href="terminal_interface-curses-terminfo__adb.htm#ref_51_13">Is_MinusOne_Pointer</a> (<a href="terminal_interface-curses-terminfo__adb.htm#ref_92_7">Txt2</a>) <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>else</b>
-         <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_58_26">Value</A>  := Terminfo_String (<A HREF="terminal_interface-curses-aux__ads.htm#ref_97_13">Fill_String</A> (<A HREF="terminal_interface-curses-terminfo__adb.htm#ref_91_7">Txt2</A>));
-         <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_59_26">Result</A> := True;
+         <a href="terminal_interface-curses-terminfo__ads.htm#ref_59_26">Value</a>  := Terminfo_String (<a href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a> (<a href="terminal_interface-curses-terminfo__adb.htm#ref_92_7">Txt2</a>));
+         <a href="terminal_interface-curses-terminfo__ads.htm#ref_60_26">Result</a> := True;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_57_14">Get_String</A>;
+   <b>end</b> <a href="terminal_interface-curses-terminfo__ads.htm#ref_58_14">Get_String</a>;
 
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_106_13" HREF="terminal_interface-curses-terminfo__ads.htm#ref_60_13">Has_String</A></span> (<span class="symbol"><A NAME="ref_106_25" HREF="terminal_interface-curses-terminfo__ads.htm#ref_60_25">Name</A></span> : String) <b>return</b> Boolean
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_107_13" href="terminal_interface-curses-terminfo__ads.htm#ref_61_13">Has_String</a></span> (<span class="symbol"><a name="ref_107_25" href="terminal_interface-curses-terminfo__ads.htm#ref_61_25">Name</a></span> : String) <b>return</b> Boolean
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_108_16">tigetstr</A></span> (<span class="symbol"><A NAME="ref_108_26" HREF="terminal_interface-curses-terminfo__adb.htm#ref_108_16">id</A></span> : char_array) <b>return</b> chars_ptr;
+      <b>function</b> <span class="symbol"><a name="ref_109_16">tigetstr</a></span> (<span class="symbol"><a name="ref_109_26">id</a></span> : char_array) <b>return</b> chars_ptr;
       <b>pragma</b> Import (C, tigetstr, "tigetstr");
-      <span class="symbol"><A NAME="ref_110_7">Txt</A></span>    : char_array (0 .. <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_60_25">Name</A>'Length);
-      <span class="symbol"><A NAME="ref_111_7">Length</A></span> : size_t;
-      <span class="symbol"><A NAME="ref_112_7">Txt2</A></span> : chars_ptr;
+      <span class="symbol"><a name="ref_111_7">Txt</a></span>    : char_array (0 .. <a href="terminal_interface-curses-terminfo__ads.htm#ref_61_25">Name</a>'Length);
+      <span class="symbol"><a name="ref_112_7">Length</a></span> : size_t;
+      <span class="symbol"><a name="ref_113_7">Txt2</a></span> : chars_ptr;
    <b>begin</b>
-      To_C (<A HREF="terminal_interface-curses-terminfo__ads.htm#ref_60_25">Name</A>, <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_110_7">Txt</A>, <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_111_7">Length</A>);
-      <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_112_7">Txt2</A> := <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_108_16">tigetstr</A> (<A HREF="terminal_interface-curses-terminfo__adb.htm#ref_110_7">Txt</A>);
-      <b>if</b> <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_112_7">Txt2</A> = Null_Ptr <b>then</b>
+      To_C (<a href="terminal_interface-curses-terminfo__ads.htm#ref_61_25">Name</a>, <a href="terminal_interface-curses-terminfo__adb.htm#ref_111_7">Txt</a>, <a href="terminal_interface-curses-terminfo__adb.htm#ref_112_7">Length</a>);
+      <a href="terminal_interface-curses-terminfo__adb.htm#ref_113_7">Txt2</a> := <a href="terminal_interface-curses-terminfo__adb.htm#ref_109_16">tigetstr</a> (<a href="terminal_interface-curses-terminfo__adb.htm#ref_111_7">Txt</a>);
+      <b>if</b> <a href="terminal_interface-curses-terminfo__adb.htm#ref_113_7">Txt2</a> = Null_Ptr <b>then</b>
          <b>return</b> False;
-      <b>elsif</b> <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_50_13">Is_MinusOne_Pointer</A> (<A HREF="terminal_interface-curses-terminfo__adb.htm#ref_112_7">Txt2</A>) <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>elsif</b> <a href="terminal_interface-curses-terminfo__adb.htm#ref_51_13">Is_MinusOne_Pointer</a> (<a href="terminal_interface-curses-terminfo__adb.htm#ref_113_7">Txt2</a>) <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>else</b>
          <b>return</b> True;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_60_13">Has_String</A>;
+   <b>end</b> <a href="terminal_interface-curses-terminfo__ads.htm#ref_61_13">Has_String</a>;
 
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_126_13" HREF="terminal_interface-curses-terminfo__ads.htm#ref_68_13">Get_Number</A></span> (<span class="symbol"><A NAME="ref_126_25" HREF="terminal_interface-curses-terminfo__ads.htm#ref_68_25">Name</A></span> : String) <b>return</b> Integer <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_127_16">tigetstr</A></span> (<span class="symbol"><A NAME="ref_127_26" HREF="terminal_interface-curses-terminfo__adb.htm#ref_127_16">s</A></span> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_127_13" href="terminal_interface-curses-terminfo__ads.htm#ref_69_13">Get_Number</a></span> (<span class="symbol"><a name="ref_127_25" href="terminal_interface-curses-terminfo__ads.htm#ref_69_25">Name</a></span> : String) <b>return</b> Integer <b>is</b>
+      <b>function</b> <span class="symbol"><a name="ref_128_16">tigetstr</a></span> (<span class="symbol"><a name="ref_128_26">s</a></span> : char_array) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, tigetstr);
-      <span class="symbol"><A NAME="ref_129_7">Txt</A></span>    : char_array (0 .. <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_68_25">Name</A>'Length);
-      <span class="symbol"><A NAME="ref_130_7">Length</A></span> : size_t;
+      <span class="symbol"><a name="ref_130_7">Txt</a></span>    : char_array (0 .. <a href="terminal_interface-curses-terminfo__ads.htm#ref_69_25">Name</a>'Length);
+      <span class="symbol"><a name="ref_131_7">Length</a></span> : size_t;
    <b>begin</b>
-      To_C (<A HREF="terminal_interface-curses-terminfo__ads.htm#ref_68_25">Name</A>, <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_129_7">Txt</A>, <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_130_7">Length</A>);
-      <b>return</b> Integer (<A HREF="terminal_interface-curses-terminfo__adb.htm#ref_127_16">tigetstr</A> (<A HREF="terminal_interface-curses-terminfo__adb.htm#ref_129_7">Txt</A>));
-   <b>end</b> <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_68_13">Get_Number</A>;
+      To_C (<a href="terminal_interface-curses-terminfo__ads.htm#ref_69_25">Name</a>, <a href="terminal_interface-curses-terminfo__adb.htm#ref_130_7">Txt</a>, <a href="terminal_interface-curses-terminfo__adb.htm#ref_131_7">Length</a>);
+      <b>return</b> Integer (<a href="terminal_interface-curses-terminfo__adb.htm#ref_128_16">tigetstr</a> (<a href="terminal_interface-curses-terminfo__adb.htm#ref_130_7">Txt</a>));
+   <b>end</b> <a href="terminal_interface-curses-terminfo__ads.htm#ref_69_13">Get_Number</a>;
 
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_137_14" HREF="terminal_interface-curses-terminfo__ads.htm#ref_76_14">Put_String</A></span> (<span class="symbol"><A NAME="ref_137_26" HREF="terminal_interface-curses-terminfo__ads.htm#ref_76_26">Str</A></span>    : Terminfo_String;
-                         <span class="symbol"><A NAME="ref_138_26" HREF="terminal_interface-curses-terminfo__ads.htm#ref_77_26">affcnt</A></span> : Natural := 1;
-                         <span class="symbol"><A NAME="ref_139_26" HREF="terminal_interface-curses-terminfo__ads.htm#ref_78_26">putc</A></span>   : <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_71_9">putctype</A> := <b>null</b>) <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_140_16">tputs</A></span> (<span class="symbol"><A NAME="ref_140_23" HREF="terminal_interface-curses-terminfo__adb.htm#ref_140_16">str</A></span>    : char_array;
-                      <span class="symbol"><A NAME="ref_141_23" HREF="terminal_interface-curses-terminfo__adb.htm#ref_140_16">affcnt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-                      <span class="symbol"><A NAME="ref_142_23" HREF="terminal_interface-curses-terminfo__adb.htm#ref_140_16">putc</A></span>   : <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_71_9">putctype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-      <b>function</b> <span class="symbol"><A NAME="ref_143_16">putp</A></span> (<span class="symbol"><A NAME="ref_143_22" HREF="terminal_interface-curses-terminfo__adb.htm#ref_143_16">str</A></span> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_138_14" href="terminal_interface-curses-terminfo__ads.htm#ref_77_14">Put_String</a></span> (<span class="symbol"><a name="ref_138_26" href="terminal_interface-curses-terminfo__ads.htm#ref_77_26">Str</a></span>    : <a href="terminal_interface-curses-terminfo__ads.htm#ref_45_35">Terminfo_String</a>;
+                         <span class="symbol"><a name="ref_139_26" href="terminal_interface-curses-terminfo__ads.htm#ref_78_26">affcnt</a></span> : Natural := 1;
+                         <span class="symbol"><a name="ref_140_26" href="terminal_interface-curses-terminfo__ads.htm#ref_79_26">putc</a></span>   : <a href="terminal_interface-curses-terminfo__ads.htm#ref_72_9">putctype</a> := <b>null</b>) <b>is</b>
+      <b>function</b> <span class="symbol"><a name="ref_141_16">tputs</a></span> (<span class="symbol"><a name="ref_141_23">str</a></span>    : char_array;
+                      <span class="symbol"><a name="ref_142_23">affcnt</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+                      <span class="symbol"><a name="ref_143_23">putc</a></span>   : <a href="terminal_interface-curses-terminfo__ads.htm#ref_72_9">putctype</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+      <b>function</b> <span class="symbol"><a name="ref_144_16">putp</a></span> (<span class="symbol"><a name="ref_144_22">str</a></span> : char_array) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, tputs);
       <b>pragma</b> Import (C, putp);
-      <span class="symbol"><A NAME="ref_146_7">Txt</A></span>    : char_array (0 .. <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_76_26">Str</A>'Length);
-      <span class="symbol"><A NAME="ref_147_7">Length</A></span> : size_t;
-      <span class="symbol"><A NAME="ref_148_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <span class="symbol"><a name="ref_147_7">Txt</a></span>    : char_array (0 .. <a href="terminal_interface-curses-terminfo__ads.htm#ref_77_26">Str</a>'Length);
+      <span class="symbol"><a name="ref_148_7">Length</a></span> : size_t;
+      <span class="symbol"><a name="ref_149_7">Err</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
    <b>begin</b>
-      To_C (String (<A HREF="terminal_interface-curses-terminfo__ads.htm#ref_76_26">Str</A>), <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_146_7">Txt</A>, <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_147_7">Length</A>);
-      <b>if</b> <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_78_26">putc</A> = <b>null</b> <b>then</b>
-         <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_148_7">Err</A> := <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_143_16">putp</A> (<A HREF="terminal_interface-curses-terminfo__adb.htm#ref_146_7">Txt</A>);
+      To_C (String (<a href="terminal_interface-curses-terminfo__ads.htm#ref_77_26">Str</a>), <a href="terminal_interface-curses-terminfo__adb.htm#ref_147_7">Txt</a>, <a href="terminal_interface-curses-terminfo__adb.htm#ref_148_7">Length</a>);
+      <b>if</b> <a href="terminal_interface-curses-terminfo__ads.htm#ref_79_26">putc</a> = <b>null</b> <b>then</b>
+         <a href="terminal_interface-curses-terminfo__adb.htm#ref_149_7">Err</a> := <a href="terminal_interface-curses-terminfo__adb.htm#ref_144_16">putp</a> (<a href="terminal_interface-curses-terminfo__adb.htm#ref_147_7">Txt</a>);
       <b>else</b>
-         <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_148_7">Err</A> := <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_140_16">tputs</A> (<A HREF="terminal_interface-curses-terminfo__adb.htm#ref_146_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses-terminfo__ads.htm#ref_77_26">affcnt</A>), <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_78_26">putc</A>);
+         <a href="terminal_interface-curses-terminfo__adb.htm#ref_149_7">Err</a> := <a href="terminal_interface-curses-terminfo__adb.htm#ref_141_16">tputs</a> (<a href="terminal_interface-curses-terminfo__adb.htm#ref_147_7">Txt</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-terminfo__ads.htm#ref_78_26">affcnt</a>), <a href="terminal_interface-curses-terminfo__ads.htm#ref_79_26">putc</a>);
       <b>end</b> <b>if</b>;
-      <b>if</b> <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_148_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses-terminfo__adb.htm#ref_149_7">Err</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_76_14">Put_String</A>;
+   <b>end</b> <a href="terminal_interface-curses-terminfo__ads.htm#ref_77_14">Put_String</a>;
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-terminfo__ads.htm#ref_44_35">Terminfo</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-terminfo__ads.htm#ref_45_35">Terminfo</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-terminfo__ads.htm b/doc/html/ada/terminal_interface-curses-terminfo__ads.htm
index 230ec7f..5859280 100644
--- a/doc/html/ada/terminal_interface-curses-terminfo__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-terminfo__ads.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-terminfo.ads</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-terminfo.ads</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,89 +11,90 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-terminfo.ads </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                     Terminal_Interface.Curses.Terminfo                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 S P E C                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 2000 Free Software Foundation, Inc.                        --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.3 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-terminfo.ads </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                     Terminal_Interface.Curses.Terminfo                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 S P E C                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 2000-2002,2003 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.5 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
 
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C;
+<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C;
 
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<span class="symbol"><A NAME="ref_44_35" HREF="terminal_interface-curses-terminfo__adb.htm#ref_48_40">Terminfo</A></span> <b>is</b>
-   <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-terminfo__ads.htm#ref_44_35">Terminfo</A>);
+<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<span class="symbol"><a name="ref_45_35" href="terminal_interface-curses-terminfo__adb.htm#ref_49_40">Terminfo</a></span> <b>is</b>
+   <b>pragma</b> Preelaborate (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-terminfo__ads.htm#ref_45_35">Terminfo</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page curs_terminfo.3x</EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  Not implemented:  setupterm, setterm, set_curterm, del_curterm,</EM></span>
-   <span class="comment"><EM>--                    restartterm, tparm, putp, vidputs,  vidattr,</EM></span>
-   <span class="comment"><EM>--                    mvcur</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page curs_terminfo.3x</em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  Not implemented:  setupterm, setterm, set_curterm, del_curterm,</em></span>
+   <span class="comment"><em>--                    restartterm, tparm, putp, vidputs,  vidattr,</em></span>
+   <span class="comment"><em>--                    mvcur</em></span>
 
    <b>type</b> Terminfo_String <b>is</b> <b>new</b> String;
 
-   <span class="comment"><EM>--  |</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_57_14" HREF="terminal_interface-curses-terminfo__adb.htm#ref_83_14">Get_String</A></span> (<span class="symbol"><A NAME="ref_57_26" HREF="terminal_interface-curses-terminfo__adb.htm#ref_83_26">Name</A></span>   : String;
-                         <span class="symbol"><A NAME="ref_58_26" HREF="terminal_interface-curses-terminfo__adb.htm#ref_84_26">Value</A></span>  : <b>out</b> Terminfo_String;
-                         <span class="symbol"><A NAME="ref_59_26" HREF="terminal_interface-curses-terminfo__adb.htm#ref_85_26">Result</A></span> : <b>out</b> Boolean);
-   <b>function</b> <span class="symbol"><A NAME="ref_60_13" HREF="terminal_interface-curses-terminfo__adb.htm#ref_106_13">Has_String</A></span> (<span class="symbol"><A NAME="ref_60_25" HREF="terminal_interface-curses-terminfo__adb.htm#ref_106_25">Name</A></span> : String) <b>return</b> Boolean;
-   <span class="comment"><EM>--  AKA: tigetstr()</EM></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_58_14" href="terminal_interface-curses-terminfo__adb.htm#ref_84_14">Get_String</a></span> (<span class="symbol"><a name="ref_58_26" href="terminal_interface-curses-terminfo__adb.htm#ref_84_26">Name</a></span>   : String;
+                         <span class="symbol"><a name="ref_59_26" href="terminal_interface-curses-terminfo__adb.htm#ref_85_26">Value</a></span>  : <b>out</b> Terminfo_String;
+                         <span class="symbol"><a name="ref_60_26" href="terminal_interface-curses-terminfo__adb.htm#ref_86_26">Result</a></span> : <b>out</b> Boolean);
+   <b>function</b> <span class="symbol"><a name="ref_61_13" href="terminal_interface-curses-terminfo__adb.htm#ref_107_13">Has_String</a></span> (<span class="symbol"><a name="ref_61_25" href="terminal_interface-curses-terminfo__adb.htm#ref_107_25">Name</a></span> : String) <b>return</b> Boolean;
+   <span class="comment"><em>--  AKA: tigetstr()</em></span>
 
-   <span class="comment"><EM>--  |</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_64_13" HREF="terminal_interface-curses-terminfo__adb.htm#ref_67_13">Get_Flag</A></span> (<span class="symbol"><A NAME="ref_64_23" HREF="terminal_interface-curses-terminfo__adb.htm#ref_67_23">Name</A></span> : String) <b>return</b> Boolean;
-   <span class="comment"><EM>--  AKA: tigetflag()</EM></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_65_13" href="terminal_interface-curses-terminfo__adb.htm#ref_68_13">Get_Flag</a></span> (<span class="symbol"><a name="ref_65_23" href="terminal_interface-curses-terminfo__adb.htm#ref_68_23">Name</a></span> : String) <b>return</b> Boolean;
+   <span class="comment"><em>--  AKA: tigetflag()</em></span>
 
-   <span class="comment"><EM>--  |</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_68_13" HREF="terminal_interface-curses-terminfo__adb.htm#ref_126_13">Get_Number</A></span> (<span class="symbol"><A NAME="ref_68_25" HREF="terminal_interface-curses-terminfo__adb.htm#ref_126_25">Name</A></span> : String) <b>return</b> Integer;
-   <span class="comment"><EM>--  AKA: tigetnum()</EM></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_69_13" href="terminal_interface-curses-terminfo__adb.htm#ref_127_13">Get_Number</a></span> (<span class="symbol"><a name="ref_69_25" href="terminal_interface-curses-terminfo__adb.htm#ref_127_25">Name</a></span> : String) <b>return</b> Integer;
+   <span class="comment"><em>--  AKA: tigetnum()</em></span>
 
-   <b>type</b> <span class="symbol"><A NAME="ref_71_9">putctype</A></span> <b>is</b> <b>access</b> <b>function</b> (<span class="symbol"><A NAME="ref_71_38">c</A></span> : <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.int)
-                                    <b>return</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.int;
-   <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_71_9">putctype</A>);
+   <b>type</b> <span class="symbol"><a name="ref_72_9">putctype</a></span> <b>is</b> <b>access</b> <b>function</b> (<span class="symbol"><a name="ref_72_38">c</a></span> : <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.int)
+                                    <b>return</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.int;
+   <b>pragma</b> Convention (C, <a href="terminal_interface-curses-terminfo__ads.htm#ref_72_9">putctype</a>);
 
-   <span class="comment"><EM>--  |</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_76_14" HREF="terminal_interface-curses-terminfo__adb.htm#ref_137_14">Put_String</A></span> (<span class="symbol"><A NAME="ref_76_26" HREF="terminal_interface-curses-terminfo__adb.htm#ref_137_26">Str</A></span>    : Terminfo_String;
-                         <span class="symbol"><A NAME="ref_77_26" HREF="terminal_interface-curses-terminfo__adb.htm#ref_138_26">affcnt</A></span> : Natural := 1;
-                         <span class="symbol"><A NAME="ref_78_26" HREF="terminal_interface-curses-terminfo__adb.htm#ref_139_26">putc</A></span>   : <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_71_9">putctype</A> := <b>null</b>);
-   <span class="comment"><EM>--  AKA: tputs()</EM></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_77_14" href="terminal_interface-curses-terminfo__adb.htm#ref_138_14">Put_String</a></span> (<span class="symbol"><a name="ref_77_26" href="terminal_interface-curses-terminfo__adb.htm#ref_138_26">Str</a></span>    : Terminfo_String;
+                         <span class="symbol"><a name="ref_78_26" href="terminal_interface-curses-terminfo__adb.htm#ref_139_26">affcnt</a></span> : Natural := 1;
+                         <span class="symbol"><a name="ref_79_26" href="terminal_interface-curses-terminfo__adb.htm#ref_140_26">putc</a></span>   : <a href="terminal_interface-curses-terminfo__ads.htm#ref_72_9">putctype</a> := <b>null</b>);
+   <span class="comment"><em>--  AKA: tputs()</em></span>
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-terminfo__ads.htm#ref_44_35">Terminfo</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-terminfo__ads.htm#ref_45_35">Terminfo</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-text_io-aux__adb.htm b/doc/html/ada/terminal_interface-curses-text_io-aux__adb.htm
index 79157cc..6ce4a43 100644
--- a/doc/html/ada/terminal_interface-curses-text_io-aux__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-text_io-aux__adb.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-text_io-aux.adb</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-text_io-aux.adb</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,136 +11,137 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-text_io-aux.adb </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                   Terminal_Interface.Curses.Text_IO.Aux                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 B O D Y                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2006,2009 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.13 @</EM></span>
-<span class="comment"><EM>--  @Date: 2009/12/26 17:38:58 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_42_48" HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A></span> <b>is</b>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-text_io-aux.adb </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                   Terminal_Interface.Curses.Text_IO.Aux                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 B O D Y                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1999-2006,2009 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.14 @</em></span>
+<span class="comment"><em>--  @Date: 2020/02/02 23:34:34 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<span class="symbol"><a name="ref_43_48" href="terminal_interface-curses-text_io-aux__ads.htm#ref_43_51">Aux</a></span> <b>is</b>
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_44_14" HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_48_14">Put_Buf</A></span>
-     (<span class="symbol"><A NAME="ref_45_7" HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_49_7">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-      <span class="symbol"><A NAME="ref_46_7" HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_50_7">Buf</A></span>    : String;
-      <span class="symbol"><A NAME="ref_47_7" HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_51_7">Width</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A>;
-      <span class="symbol"><A NAME="ref_48_7" HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_52_7">Signal</A></span> : Boolean := True;
-      <span class="symbol"><A NAME="ref_49_7" HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_53_7">Ljust</A></span>  : Boolean := False)
+   <b>procedure</b> <span class="symbol"><a name="ref_45_14" href="terminal_interface-curses-text_io-aux__ads.htm#ref_49_14">Put_Buf</a></span>
+     (<span class="symbol"><a name="ref_46_7" href="terminal_interface-curses-text_io-aux__ads.htm#ref_50_7">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+      <span class="symbol"><a name="ref_47_7" href="terminal_interface-curses-text_io-aux__ads.htm#ref_51_7">Buf</a></span>    : String;
+      <span class="symbol"><a name="ref_48_7" href="terminal_interface-curses-text_io-aux__ads.htm#ref_52_7">Width</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a>;
+      <span class="symbol"><a name="ref_49_7" href="terminal_interface-curses-text_io-aux__ads.htm#ref_53_7">Signal</a></span> : Boolean := True;
+      <span class="symbol"><a name="ref_50_7" href="terminal_interface-curses-text_io-aux__ads.htm#ref_54_7">Ljust</a></span>  : Boolean := False)
    <b>is</b>
-      <span class="symbol"><A NAME="ref_51_7">L</A></span>   : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A>;
-      <span class="symbol"><A NAME="ref_52_7">Len</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A>;
-      <span class="symbol"><A NAME="ref_53_7">W</A></span>   : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_51_7">Width</A>;
-      <span class="symbol"><A NAME="ref_54_7">LC</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
-      <span class="symbol"><A NAME="ref_55_7">CC</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
-      <span class="symbol"><A NAME="ref_56_7">Y</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_57_7">X</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+      <span class="symbol"><a name="ref_52_7">L</a></span>   : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a>;
+      <span class="symbol"><a name="ref_53_7">Len</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a>;
+      <span class="symbol"><a name="ref_54_7">W</a></span>   : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-aux__ads.htm#ref_52_7">Width</a>;
+      <span class="symbol"><a name="ref_55_7">LC</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
+      <span class="symbol"><a name="ref_56_7">CC</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>;
+      <span class="symbol"><a name="ref_57_7">Y</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_58_7">X</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
 
-      <b>procedure</b> <span class="symbol"><A NAME="ref_59_17" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_61_17">Output</A></span> (<span class="symbol"><A NAME="ref_59_25" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_61_25">From</A></span>, <span class="symbol"><A NAME="ref_59_31" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_61_31">To</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A>);
+      <b>procedure</b> <span class="symbol"><a name="ref_60_17" href="terminal_interface-curses-text_io-aux__adb.htm#ref_62_17">Output</a></span> (<span class="symbol"><a name="ref_60_25" href="terminal_interface-curses-text_io-aux__adb.htm#ref_62_25">From</a></span>, <span class="symbol"><a name="ref_60_31" href="terminal_interface-curses-text_io-aux__adb.htm#ref_62_31">To</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a>);
 
-      <b>procedure</b> <span class="symbol"><A NAME="ref_61_17" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_59_17">Output</A></span> (<span class="symbol"><A NAME="ref_61_25" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_59_25">From</A></span>, <span class="symbol"><A NAME="ref_61_31" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_59_31">To</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A>)
+      <b>procedure</b> <span class="symbol"><a name="ref_62_17" href="terminal_interface-curses-text_io-aux__adb.htm#ref_60_17">Output</a></span> (<span class="symbol"><a name="ref_62_25" href="terminal_interface-curses-text_io-aux__adb.htm#ref_60_25">From</a></span>, <span class="symbol"><a name="ref_62_31" href="terminal_interface-curses-text_io-aux__adb.htm#ref_60_31">To</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a>)
       <b>is</b>
       <b>begin</b>
-         <b>if</b> <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">Len</A> &gt; 0 <b>then</b>
-            <b>if</b> <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">W</A> = 0 <b>then</b>
-               <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">W</A> := <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">Len</A>;
+         <b>if</b> <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">Len</a> &gt; 0 <b>then</b>
+            <b>if</b> <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_54_7">W</a> = 0 <b>then</b>
+               <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_54_7">W</a> := <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">Len</a>;
             <b>end</b> <b>if</b>;
-            <b>if</b> <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">Len</A> &gt; <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">W</A> <b>then</b>
-               <span class="comment"><EM>--  LRM A10.6 (7) says this</EM></span>
-               <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">W</A> := <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">Len</A>;
+            <b>if</b> <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">Len</a> &gt; <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_54_7">W</a> <b>then</b>
+               <span class="comment"><em>--  LRM A10.6 (7) says this</em></span>
+               <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_54_7">W</a> := <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">Len</a>;
             <b>end</b> <b>if</b>;
 
-            <b>pragma</b> Assert (<A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">Len</A> &lt;= <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">W</A>);
-            <A HREF="terminal_interface-curses__ads.htm#ref_1398_14">Get_Size</A> (<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_49_7">Win</A>, <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_54_7">LC</A>, <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_55_7">CC</A>);
-            <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A> (<A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">Len</A>) &gt; <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_55_7">CC</A> <b>then</b>
-               <b>if</b> <A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_52_7">Signal</A> <b>then</b>
-                  <b>raise</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_134_4">Layout_Error</A>;
+            <b>pragma</b> Assert (<a href="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">Len</a> &lt;= <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_54_7">W</a>);
+            <a href="terminal_interface-curses__ads.htm#ref_1399_14">Get_Size</a> (<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_50_7">Win</a>, <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_55_7">LC</a>, <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_56_7">CC</a>);
+            <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a> (<a href="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">Len</a>) &gt; <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_56_7">CC</a> <b>then</b>
+               <b>if</b> <a href="terminal_interface-curses-text_io-aux__ads.htm#ref_53_7">Signal</a> <b>then</b>
+                  <b>raise</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_135_4">Layout_Error</a>;
                <b>else</b>
                   <b>return</b>;
                <b>end</b> <b>if</b>;
             <b>else</b>
-               <b>if</b> <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">Len</A> &lt; <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">W</A> <b>and</b> <b>then</b> <b>not</b> <A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_53_7">Ljust</A> <b>then</b>
+               <b>if</b> <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">Len</a> &lt; <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_54_7">W</a> <b>and</b> <b>then</b> <b>not</b> <a href="terminal_interface-curses-text_io-aux__ads.htm#ref_54_7">Ljust</a> <b>then</b>
                   <b>declare</b>
-                     <span class="symbol"><A NAME="ref_84_22">Filler</A></span> : <b>constant</b> String (1 .. (<A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">W</A> - <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">Len</A>))
+                     <span class="symbol"><a name="ref_85_22">Filler</a></span> : <b>constant</b> String (1 .. (<a href="terminal_interface-curses-text_io-aux__adb.htm#ref_54_7">W</a> - <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">Len</a>))
                        := (<b>others</b> =&gt; ' ');
                   <b>begin</b>
-                     <A HREF="terminal_interface-curses-text_io__ads.htm#ref_115_14">Put</A> (<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_49_7">Win</A>, <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_84_22">Filler</A>);
+                     <a href="terminal_interface-curses-text_io__ads.htm#ref_116_14">Put</a> (<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_50_7">Win</a>, <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_85_22">Filler</a>);
                   <b>end</b>;
                <b>end</b> <b>if</b>;
-               <A HREF="terminal_interface-curses__ads.htm#ref_1414_14">Get_Cursor_Position</A> (<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_49_7">Win</A>, <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_56_7">Y</A>, <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_57_7">X</A>);
-               <b>if</b> (<A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_57_7">X</A> + <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> (<A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">Len</A>)) &gt; <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_55_7">CC</A> <b>then</b>
-                  <A HREF="terminal_interface-curses-text_io__ads.htm#ref_86_14">New_Line</A> (<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_49_7">Win</A>);
+               <a href="terminal_interface-curses__ads.htm#ref_1415_14">Get_Cursor_Position</a> (<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_50_7">Win</a>, <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_57_7">Y</a>, <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_58_7">X</a>);
+               <b>if</b> (<a href="terminal_interface-curses-text_io-aux__adb.htm#ref_58_7">X</a> + <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> (<a href="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">Len</a>)) &gt; <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_56_7">CC</a> <b>then</b>
+                  <a href="terminal_interface-curses-text_io__ads.htm#ref_87_14">New_Line</a> (<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_50_7">Win</a>);
                <b>end</b> <b>if</b>;
-               <A HREF="terminal_interface-curses-text_io__ads.htm#ref_115_14">Put</A> (<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_49_7">Win</A>, <A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_50_7">Buf</A> (<A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_59_25">From</A> .. <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_59_31">To</A>));
-               <b>if</b> <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">Len</A> &lt; <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">W</A> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_53_7">Ljust</A> <b>then</b>
+               <a href="terminal_interface-curses-text_io__ads.htm#ref_116_14">Put</a> (<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_50_7">Win</a>, <a href="terminal_interface-curses-text_io-aux__ads.htm#ref_51_7">Buf</a> (<a href="terminal_interface-curses-text_io-aux__adb.htm#ref_60_25">From</a> .. <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_60_31">To</a>));
+               <b>if</b> <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">Len</a> &lt; <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_54_7">W</a> <b>and</b> <b>then</b> <a href="terminal_interface-curses-text_io-aux__ads.htm#ref_54_7">Ljust</a> <b>then</b>
                   <b>declare</b>
-                     <span class="symbol"><A NAME="ref_97_22">Filler</A></span> : <b>constant</b> String (1 .. (<A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">W</A> - <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">Len</A>))
+                     <span class="symbol"><a name="ref_98_22">Filler</a></span> : <b>constant</b> String (1 .. (<a href="terminal_interface-curses-text_io-aux__adb.htm#ref_54_7">W</a> - <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">Len</a>))
                        := (<b>others</b> =&gt; ' ');
                   <b>begin</b>
-                     <A HREF="terminal_interface-curses-text_io__ads.htm#ref_115_14">Put</A> (<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_49_7">Win</A>, <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_97_22">Filler</A>);
+                     <a href="terminal_interface-curses-text_io__ads.htm#ref_116_14">Put</a> (<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_50_7">Win</a>, <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_98_22">Filler</a>);
                   <b>end</b>;
                <b>end</b> <b>if</b>;
             <b>end</b> <b>if</b>;
          <b>end</b> <b>if</b>;
-      <b>end</b> <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_59_17">Output</A>;
+      <b>end</b> <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_60_17">Output</a>;
 
    <b>begin</b>
-      <b>pragma</b> Assert (<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_49_7">Win</A> /= <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A>);
-      <b>if</b> <A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_53_7">Ljust</A> <b>then</b>
-         <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_51_7">L</A> := 1;
-         <b>for</b> <span class="symbol"><A NAME="ref_111_14">I</A></span> <b>in</b> 1 .. <A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_50_7">Buf</A>'Length <b>loop</b>
-            <b>exit</b> <b>when</b> <A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_50_7">Buf</A> (<A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_51_7">L</A>) = ' ';
-            <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_51_7">L</A> := <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_51_7">L</A> + 1;
+      <b>pragma</b> Assert (<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_50_7">Win</a> /= <a href="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</a>);
+      <b>if</b> <a href="terminal_interface-curses-text_io-aux__ads.htm#ref_54_7">Ljust</a> <b>then</b>
+         <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">L</a> := 1;
+         <b>for</b> <span class="symbol"><a name="ref_112_14">I</a></span> <b>in</b> 1 .. <a href="terminal_interface-curses-text_io-aux__ads.htm#ref_51_7">Buf</a>'Length <b>loop</b>
+            <b>exit</b> <b>when</b> <a href="terminal_interface-curses-text_io-aux__ads.htm#ref_51_7">Buf</a> (<a href="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">L</a>) = ' ';
+            <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">L</a> := <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">L</a> + 1;
          <b>end</b> <b>loop</b>;
-         <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">Len</A> := <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_51_7">L</A> - 1;
-         <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_59_17">Output</A> (1, <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">Len</A>);
-      <b>else</b>  <span class="comment"><EM>-- input buffer is not left justified</EM></span>
-         <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_51_7">L</A> := <A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_50_7">Buf</A>'Length;
-         <b>for</b> <span class="symbol"><A NAME="ref_119_14">I</A></span> <b>in</b> 1 .. <A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_50_7">Buf</A>'Length <b>loop</b>
-            <b>exit</b> <b>when</b> <A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_50_7">Buf</A> (<A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_51_7">L</A>) = ' ';
-            <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_51_7">L</A> := <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_51_7">L</A> - 1;
+         <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">Len</a> := <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">L</a> - 1;
+         <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_60_17">Output</a> (1, <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">Len</a>);
+      <b>else</b>  <span class="comment"><em>-- input buffer is not left justified</em></span>
+         <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">L</a> := <a href="terminal_interface-curses-text_io-aux__ads.htm#ref_51_7">Buf</a>'Length;
+         <b>for</b> <span class="symbol"><a name="ref_120_14">I</a></span> <b>in</b> 1 .. <a href="terminal_interface-curses-text_io-aux__ads.htm#ref_51_7">Buf</a>'Length <b>loop</b>
+            <b>exit</b> <b>when</b> <a href="terminal_interface-curses-text_io-aux__ads.htm#ref_51_7">Buf</a> (<a href="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">L</a>) = ' ';
+            <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">L</a> := <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">L</a> - 1;
          <b>end</b> <b>loop</b>;
-         <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">Len</A> := <A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_50_7">Buf</A>'Length - <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_51_7">L</A>;
-         <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_59_17">Output</A> (<A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_51_7">L</A> + 1, <A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_50_7">Buf</A>'Length);
+         <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">Len</a> := <a href="terminal_interface-curses-text_io-aux__ads.htm#ref_51_7">Buf</a>'Length - <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">L</a>;
+         <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_60_17">Output</a> (<a href="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">L</a> + 1, <a href="terminal_interface-curses-text_io-aux__ads.htm#ref_51_7">Buf</a>'Length);
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_48_14">Put_Buf</A>;
+   <b>end</b> <a href="terminal_interface-curses-text_io-aux__ads.htm#ref_49_14">Put_Buf</a>;
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_43_51">Aux</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-text_io-aux__ads.htm b/doc/html/ada/terminal_interface-curses-text_io-aux__ads.htm
index eff7081..8258986 100644
--- a/doc/html/ada/terminal_interface-curses-text_io-aux__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-text_io-aux__ads.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-text_io-aux.ads</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-text_io-aux.ads</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,63 +11,64 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-text_io-aux.ads </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                   Terminal_Interface.Curses.Text_IO.Aux                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 S P E C                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2006,2009 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.14 @</EM></span>
-<span class="comment"><EM>--  @Date: 2009/12/26 17:38:58 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>private</b> <b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_42_51" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_42_48">Aux</A></span> <b>is</b>
-   <span class="comment"><EM>--  pragma Preelaborate (Aux);</EM></span>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-text_io-aux.ads </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                   Terminal_Interface.Curses.Text_IO.Aux                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 S P E C                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1999-2006,2009 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.15 @</em></span>
+<span class="comment"><em>--  @Date: 2020/02/02 23:34:34 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<b>private</b> <b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<span class="symbol"><a name="ref_43_51" href="terminal_interface-curses-text_io-aux__adb.htm#ref_43_48">Aux</a></span> <b>is</b>
+   <span class="comment"><em>--  pragma Preelaborate (Aux);</em></span>
 
-   <span class="comment"><EM>--  This routine is called from the Text_IO output routines for numeric</EM></span>
-   <span class="comment"><EM>--  and enumeration types.</EM></span>
-   <span class="comment"><EM>--</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_48_14" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_44_14">Put_Buf</A></span>
-     (<span class="symbol"><A NAME="ref_49_7" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_45_7">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;               <span class="comment"><EM>-- The output window</EM></span>
-      <span class="symbol"><A NAME="ref_50_7" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_46_7">Buf</A></span>    : String;               <span class="comment"><EM>-- The buffer containing the text</EM></span>
-      <span class="symbol"><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_47_7">Width</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A>;                <span class="comment"><EM>-- The width of the output field</EM></span>
-      <span class="symbol"><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_48_7">Signal</A></span> : Boolean := True;      <span class="comment"><EM>-- If true, we raise Layout_Error</EM></span>
-      <span class="symbol"><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_49_7">Ljust</A></span>  : Boolean := False);    <span class="comment"><EM>-- The Buf is left justified</EM></span>
+   <span class="comment"><em>--  This routine is called from the Text_IO output routines for numeric</em></span>
+   <span class="comment"><em>--  and enumeration types.</em></span>
+   <span class="comment"><em>--</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_49_14" href="terminal_interface-curses-text_io-aux__adb.htm#ref_45_14">Put_Buf</a></span>
+     (<span class="symbol"><a name="ref_50_7" href="terminal_interface-curses-text_io-aux__adb.htm#ref_46_7">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;               <span class="comment"><em>-- The output window</em></span>
+      <span class="symbol"><a name="ref_51_7" href="terminal_interface-curses-text_io-aux__adb.htm#ref_47_7">Buf</a></span>    : String;               <span class="comment"><em>-- The buffer containing the text</em></span>
+      <span class="symbol"><a name="ref_52_7" href="terminal_interface-curses-text_io-aux__adb.htm#ref_48_7">Width</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a>;                <span class="comment"><em>-- The width of the output field</em></span>
+      <span class="symbol"><a name="ref_53_7" href="terminal_interface-curses-text_io-aux__adb.htm#ref_49_7">Signal</a></span> : Boolean := True;      <span class="comment"><em>-- If true, we raise Layout_Error</em></span>
+      <span class="symbol"><a name="ref_54_7" href="terminal_interface-curses-text_io-aux__adb.htm#ref_50_7">Ljust</a></span>  : Boolean := False);    <span class="comment"><em>-- The Buf is left justified</em></span>
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_43_51">Aux</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-text_io-complex_io__adb.htm b/doc/html/ada/terminal_interface-curses-text_io-complex_io__adb.htm
index baf1c93..cad3300 100644
--- a/doc/html/ada/terminal_interface-curses-text_io-complex_io__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-text_io-complex_io__adb.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-text_io-complex_io.adb</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-text_io-complex_io.adb</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,81 +11,82 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-text_io-complex_io.adb </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--               Terminal_Interface.Curses.Text_IO.Complex_IO               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 B O D Y                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2003,2009 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.11 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_44_43">Float_IO</A>;
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-text_io-complex_io.adb </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--               Terminal_Interface.Curses.Text_IO.Complex_IO               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 B O D Y                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.12 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_45_43">Float_IO</a>;
 
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_43_48" HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_46_43">Complex_IO</A></span> <b>is</b>
+<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<span class="symbol"><a name="ref_44_48" href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_47_43">Complex_IO</a></span> <b>is</b>
 
    <b>package</b> FIO <b>is</b> <b>new</b>
-     <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_44_43">Float_IO</A> (Complex_Types.Real'Base);
+     <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_45_43">Float_IO</a> (Complex_Types.Real'Base);
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_48_14" HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_54_14">Put</A></span>
-     (<span class="symbol"><A NAME="ref_49_7" HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_55_7">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+   <b>procedure</b> <span class="symbol"><a name="ref_49_14" href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_55_14">Put</a></span>
+     (<span class="symbol"><a name="ref_50_7" href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_56_7">Win</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
       Item : Complex;
-      <span class="symbol"><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_57_7">Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_50_4">Default_Fore</A>;
-      <span class="symbol"><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_58_7">Aft</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_51_4">Default_Aft</A>;
-      <span class="symbol"><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_59_7">Exp</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_52_4">Default_Exp</A>)
+      <span class="symbol"><a name="ref_52_7" href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_58_7">Fore</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_51_4">Default_Fore</a>;
+      <span class="symbol"><a name="ref_53_7" href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_59_7">Aft</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_52_4">Default_Aft</a>;
+      <span class="symbol"><a name="ref_54_7" href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_60_7">Exp</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_53_4">Default_Exp</a>)
    <b>is</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses-text_io__ads.htm#ref_108_14">Put</A> (<A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_55_7">Win</A>, '(');
-      FIO.<A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_50_14">Put</A> (<A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_55_7">Win</A>, Item.Re, <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_57_7">Fore</A>, <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_58_7">Aft</A>, <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_59_7">Exp</A>);
-      <A HREF="terminal_interface-curses-text_io__ads.htm#ref_108_14">Put</A> (<A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_55_7">Win</A>, ',');
-      FIO.<A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_50_14">Put</A> (<A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_55_7">Win</A>, Item.Im, <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_57_7">Fore</A>, <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_58_7">Aft</A>, <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_59_7">Exp</A>);
-      <A HREF="terminal_interface-curses-text_io__ads.htm#ref_108_14">Put</A> (<A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_55_7">Win</A>, ')');
-   <b>end</b> <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_54_14">Put</A>;
+      <a href="terminal_interface-curses-text_io__ads.htm#ref_109_14">Put</a> (<a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_56_7">Win</a>, '(');
+      FIO.<a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_51_14">Put</a> (<a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_56_7">Win</a>, Item.Re, <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_58_7">Fore</a>, <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_59_7">Aft</a>, <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_60_7">Exp</a>);
+      <a href="terminal_interface-curses-text_io__ads.htm#ref_109_14">Put</a> (<a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_56_7">Win</a>, ',');
+      FIO.<a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_51_14">Put</a> (<a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_56_7">Win</a>, Item.Im, <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_58_7">Fore</a>, <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_59_7">Aft</a>, <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_60_7">Exp</a>);
+      <a href="terminal_interface-curses-text_io__ads.htm#ref_109_14">Put</a> (<a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_56_7">Win</a>, ')');
+   <b>end</b> <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_55_14">Put</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_63_14" HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_61_14">Put</A></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_64_14" href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_62_14">Put</a></span>
      (Item : Complex;
-      <span class="symbol"><A NAME="ref_65_7" HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_63_7">Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_50_4">Default_Fore</A>;
-      <span class="symbol"><A NAME="ref_66_7" HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_64_7">Aft</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_51_4">Default_Aft</A>;
-      <span class="symbol"><A NAME="ref_67_7" HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_65_7">Exp</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_52_4">Default_Exp</A>)
+      <span class="symbol"><a name="ref_66_7" href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_64_7">Fore</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_51_4">Default_Fore</a>;
+      <span class="symbol"><a name="ref_67_7" href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_65_7">Aft</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_52_4">Default_Aft</a>;
+      <span class="symbol"><a name="ref_68_7" href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_66_7">Exp</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_53_4">Default_Exp</a>)
    <b>is</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_54_14">Put</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_62_13">Get_Window</A>, Item, <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_63_7">Fore</A>, <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_64_7">Aft</A>, <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_65_7">Exp</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_61_14">Put</A>;
+      <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_55_14">Put</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</a>, Item, <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_64_7">Fore</a>, <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_65_7">Aft</a>, <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_66_7">Exp</a>);
+   <b>end</b> <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_62_14">Put</a>;
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_46_43">Complex_IO</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_47_43">Complex_IO</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-text_io-complex_io__ads.htm b/doc/html/ada/terminal_interface-curses-text_io-complex_io__ads.htm
index 78bb8c4..ac7607e 100644
--- a/doc/html/ada/terminal_interface-curses-text_io-complex_io__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-text_io-complex_io__ads.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-text_io-complex_io.ads</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-text_io-complex_io.ads</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,78 +11,79 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-text_io-complex_io.ads </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--               Terminal_Interface.Curses.Text_IO.Complex_IO               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 S P E C                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2003,2009 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.11 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-text_io-complex_io.ads </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--               Terminal_Interface.Curses.Text_IO.Complex_IO               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 S P E C                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.12 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
 <b>with</b> Ada.Numerics.Generic_Complex_Types;
 
 <b>generic</b>
-   <b>with</b> <b>package</b> <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_46_43">Complex_Types</A> <b>is</b> <b>new</b> Ada.Numerics.Generic_Complex_Types (&lt;&gt;);
+   <b>with</b> <b>package</b> Complex_Types <b>is</b> <b>new</b> Ada.Numerics.Generic_Complex_Types (&lt;&gt;);
 
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_46_43" HREF="terminal_interface-curses-text_io-complex_io__adb.htm#ref_43_48">Complex_IO</A></span> <b>is</b>
+<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<span class="symbol"><a name="ref_47_43" href="terminal_interface-curses-text_io-complex_io__adb.htm#ref_44_48">Complex_IO</a></span> <b>is</b>
 
    <b>use</b> Complex_Types;
 
-   <span class="symbol"><A NAME="ref_50_4">Default_Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := 2;
-   <span class="symbol"><A NAME="ref_51_4">Default_Aft</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := Real'<b>Digits</b> - 1;
-   <span class="symbol"><A NAME="ref_52_4">Default_Exp</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := 3;
+   <span class="symbol"><a name="ref_51_4">Default_Fore</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := 2;
+   <span class="symbol"><a name="ref_52_4">Default_Aft</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := Real'<b>Digits</b> - 1;
+   <span class="symbol"><a name="ref_53_4">Default_Exp</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := 3;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_54_14" HREF="terminal_interface-curses-text_io-complex_io__adb.htm#ref_48_14">Put</A></span>
-     (<span class="symbol"><A NAME="ref_55_7" HREF="terminal_interface-curses-text_io-complex_io__adb.htm#ref_49_7">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-      <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_54_14">Item</A> : Complex;
-      <span class="symbol"><A NAME="ref_57_7" HREF="terminal_interface-curses-text_io-complex_io__adb.htm#ref_51_7">Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_50_4">Default_Fore</A>;
-      <span class="symbol"><A NAME="ref_58_7" HREF="terminal_interface-curses-text_io-complex_io__adb.htm#ref_52_7">Aft</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_51_4">Default_Aft</A>;
-      <span class="symbol"><A NAME="ref_59_7" HREF="terminal_interface-curses-text_io-complex_io__adb.htm#ref_53_7">Exp</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_52_4">Default_Exp</A>);
+   <b>procedure</b> <span class="symbol"><a name="ref_55_14" href="terminal_interface-curses-text_io-complex_io__adb.htm#ref_49_14">Put</a></span>
+     (<span class="symbol"><a name="ref_56_7" href="terminal_interface-curses-text_io-complex_io__adb.htm#ref_50_7">Win</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+      Item : Complex;
+      <span class="symbol"><a name="ref_58_7" href="terminal_interface-curses-text_io-complex_io__adb.htm#ref_52_7">Fore</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_51_4">Default_Fore</a>;
+      <span class="symbol"><a name="ref_59_7" href="terminal_interface-curses-text_io-complex_io__adb.htm#ref_53_7">Aft</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_52_4">Default_Aft</a>;
+      <span class="symbol"><a name="ref_60_7" href="terminal_interface-curses-text_io-complex_io__adb.htm#ref_54_7">Exp</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_53_4">Default_Exp</a>);
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_61_14" HREF="terminal_interface-curses-text_io-complex_io__adb.htm#ref_63_14">Put</A></span>
-     (<A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_61_14">Item</A> : Complex;
-      <span class="symbol"><A NAME="ref_63_7" HREF="terminal_interface-curses-text_io-complex_io__adb.htm#ref_65_7">Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_50_4">Default_Fore</A>;
-      <span class="symbol"><A NAME="ref_64_7" HREF="terminal_interface-curses-text_io-complex_io__adb.htm#ref_66_7">Aft</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_51_4">Default_Aft</A>;
-      <span class="symbol"><A NAME="ref_65_7" HREF="terminal_interface-curses-text_io-complex_io__adb.htm#ref_67_7">Exp</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_52_4">Default_Exp</A>);
+   <b>procedure</b> <span class="symbol"><a name="ref_62_14" href="terminal_interface-curses-text_io-complex_io__adb.htm#ref_64_14">Put</a></span>
+     (Item : Complex;
+      <span class="symbol"><a name="ref_64_7" href="terminal_interface-curses-text_io-complex_io__adb.htm#ref_66_7">Fore</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_51_4">Default_Fore</a>;
+      <span class="symbol"><a name="ref_65_7" href="terminal_interface-curses-text_io-complex_io__adb.htm#ref_67_7">Aft</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_52_4">Default_Aft</a>;
+      <span class="symbol"><a name="ref_66_7" href="terminal_interface-curses-text_io-complex_io__adb.htm#ref_68_7">Exp</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_53_4">Default_Exp</a>);
 
 <b>private</b>
    <b>pragma</b> Inline (Put);
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_46_43">Complex_IO</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_47_43">Complex_IO</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-text_io-decimal_io__adb.htm b/doc/html/ada/terminal_interface-curses-text_io-decimal_io__adb.htm
index a1b5581..7977d76 100644
--- a/doc/html/ada/terminal_interface-curses-text_io-decimal_io__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-text_io-decimal_io__adb.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-text_io-decimal_io.adb</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-text_io-decimal_io.adb</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,83 +11,84 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-text_io-decimal_io.adb </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--               Terminal_Interface.Curses.Text_IO.Decimal_IO               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 B O D Y                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2003,2009 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.11 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-text_io-decimal_io.adb </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--               Terminal_Interface.Curses.Text_IO.Decimal_IO               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 B O D Y                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.12 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
 <b>with</b> Ada.Text_IO;
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A>;
+<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_43_51">Aux</a>;
 
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_44_48" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_44_43">Decimal_IO</A></span> <b>is</b>
+<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<span class="symbol"><a name="ref_45_48" href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_45_43">Decimal_IO</a></span> <b>is</b>
 
-   <b>package</b> <span class="symbol"><A NAME="ref_46_12">Aux</A></span> <b>renames</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A>;
-   <b>package</b> DIO <b>is</b> <b>new</b> Ada.Text_IO.Decimal_IO (<A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_42_9">Num</A>);
+   <b>package</b> <span class="symbol"><a name="ref_47_12">Aux</a></span> <b>renames</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_43_51">Aux</a>;
+   <b>package</b> DIO <b>is</b> <b>new</b> Ada.Text_IO.Decimal_IO (<a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_43_9">Num</a>);
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_49_14" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_50_14">Put</A></span>
-     (<span class="symbol"><A NAME="ref_50_7" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_51_7">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-      <span class="symbol"><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_52_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_42_9">Num</A>;
-      <span class="symbol"><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_53_7">Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_46_4">Default_Fore</A>;
-      <span class="symbol"><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_54_7">Aft</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_47_4">Default_Aft</A>;
-      <span class="symbol"><A NAME="ref_54_7" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_55_7">Exp</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_48_4">Default_Exp</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_50_14" href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_51_14">Put</a></span>
+     (<span class="symbol"><a name="ref_51_7" href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_52_7">Win</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+      <span class="symbol"><a name="ref_52_7" href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_53_7">Item</a></span> : <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_43_9">Num</a>;
+      <span class="symbol"><a name="ref_53_7" href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_54_7">Fore</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_47_4">Default_Fore</a>;
+      <span class="symbol"><a name="ref_54_7" href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_55_7">Aft</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_48_4">Default_Aft</a>;
+      <span class="symbol"><a name="ref_55_7" href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_56_7">Exp</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_49_4">Default_Exp</a>)
    <b>is</b>
-      <span class="symbol"><A NAME="ref_56_7">Buf</A></span> : String (1 .. <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A>'Last);
-      <span class="symbol"><A NAME="ref_57_7">Len</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_53_7">Fore</A> + 1 + <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_54_7">Aft</A>;
+      <span class="symbol"><a name="ref_57_7">Buf</a></span> : String (1 .. <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a>'Last);
+      <span class="symbol"><a name="ref_58_7">Len</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_54_7">Fore</a> + 1 + <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_55_7">Aft</a>;
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_55_7">Exp</A> &gt; 0 <b>then</b>
-         <A HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_57_7">Len</A> := <A HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_57_7">Len</A> + 1 + <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_55_7">Exp</A>;
+      <b>if</b> <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_56_7">Exp</a> &gt; 0 <b>then</b>
+         <a href="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_58_7">Len</a> := <a href="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_58_7">Len</a> + 1 + <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_56_7">Exp</a>;
       <b>end</b> <b>if</b>;
-      DIO.Put (<A HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_56_7">Buf</A>, <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_52_7">Item</A>, <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_54_7">Aft</A>, <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_55_7">Exp</A>);
-      <A HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_46_12">Aux</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_48_14">Put_Buf</A> (<A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_51_7">Win</A>, <A HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_56_7">Buf</A>, <A HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_57_7">Len</A>, False);
-   <b>end</b> <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_50_14">Put</A>;
+      DIO.Put (<a href="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_57_7">Buf</a>, <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_53_7">Item</a>, <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_55_7">Aft</a>, <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_56_7">Exp</a>);
+      <a href="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_47_12">Aux</a>.<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_49_14">Put_Buf</a> (<a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_52_7">Win</a>, <a href="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_57_7">Buf</a>, <a href="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_58_7">Len</a>, False);
+   <b>end</b> <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_51_14">Put</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_66_14" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_57_14">Put</A></span>
-     (<span class="symbol"><A NAME="ref_67_7" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_58_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_42_9">Num</A>;
-      <span class="symbol"><A NAME="ref_68_7" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_59_7">Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_46_4">Default_Fore</A>;
-      <span class="symbol"><A NAME="ref_69_7" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_60_7">Aft</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_47_4">Default_Aft</A>;
-      <span class="symbol"><A NAME="ref_70_7" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_61_7">Exp</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_48_4">Default_Exp</A>) <b>is</b>
+   <b>procedure</b> <span class="symbol"><a name="ref_67_14" href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_58_14">Put</a></span>
+     (<span class="symbol"><a name="ref_68_7" href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_59_7">Item</a></span> : <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_43_9">Num</a>;
+      <span class="symbol"><a name="ref_69_7" href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_60_7">Fore</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_47_4">Default_Fore</a>;
+      <span class="symbol"><a name="ref_70_7" href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_61_7">Aft</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_48_4">Default_Aft</a>;
+      <span class="symbol"><a name="ref_71_7" href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_62_7">Exp</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_49_4">Default_Exp</a>) <b>is</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_50_14">Put</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_62_13">Get_Window</A>, <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_58_7">Item</A>, <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_59_7">Fore</A>, <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_60_7">Aft</A>, <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_61_7">Exp</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_57_14">Put</A>;
+      <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_51_14">Put</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</a>, <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_59_7">Item</a>, <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_60_7">Fore</a>, <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_61_7">Aft</a>, <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_62_7">Exp</a>);
+   <b>end</b> <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_58_14">Put</a>;
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_44_43">Decimal_IO</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_45_43">Decimal_IO</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-text_io-decimal_io__ads.htm b/doc/html/ada/terminal_interface-curses-text_io-decimal_io__ads.htm
index 75a19a1..727165e 100644
--- a/doc/html/ada/terminal_interface-curses-text_io-decimal_io__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-text_io-decimal_io__ads.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-text_io-decimal_io.ads</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-text_io-decimal_io.ads</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,74 +11,75 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-text_io-decimal_io.ads </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--               Terminal_Interface.Curses.Text_IO.Decimal_IO               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 S P E C                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2003,2009 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.12 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-text_io-decimal_io.ads </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--               Terminal_Interface.Curses.Text_IO.Decimal_IO               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 S P E C                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.13 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
 <b>generic</b>
-   <b>type</b> <span class="symbol"><A NAME="ref_42_9" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_44_43">Num</A></span> <b>is</b> <b>delta</b> &lt;&gt; <b>digits</b> &lt;&gt;;
+   <b>type</b> <span class="symbol"><a name="ref_43_9">Num</a></span> <b>is</b> <b>delta</b> &lt;&gt; <b>digits</b> &lt;&gt;;
 
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_44_43" HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_44_48">Decimal_IO</A></span> <b>is</b>
+<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<span class="symbol"><a name="ref_45_43" href="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_45_48">Decimal_IO</a></span> <b>is</b>
 
-   <span class="symbol"><A NAME="ref_46_4">Default_Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_42_9">Num</A>'Fore;
-   <span class="symbol"><A NAME="ref_47_4">Default_Aft</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_42_9">Num</A>'Aft;
-   <span class="symbol"><A NAME="ref_48_4">Default_Exp</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := 0;
+   <span class="symbol"><a name="ref_47_4">Default_Fore</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_43_9">Num</a>'Fore;
+   <span class="symbol"><a name="ref_48_4">Default_Aft</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_43_9">Num</a>'Aft;
+   <span class="symbol"><a name="ref_49_4">Default_Exp</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := 0;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_50_14" HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_49_14">Put</A></span>
-     (<span class="symbol"><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_50_7">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-      <span class="symbol"><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_51_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_42_9">Num</A>;
-      <span class="symbol"><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_52_7">Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_46_4">Default_Fore</A>;
-      <span class="symbol"><A NAME="ref_54_7" HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_53_7">Aft</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_47_4">Default_Aft</A>;
-      <span class="symbol"><A NAME="ref_55_7" HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_54_7">Exp</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_48_4">Default_Exp</A>);
+   <b>procedure</b> <span class="symbol"><a name="ref_51_14" href="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_50_14">Put</a></span>
+     (<span class="symbol"><a name="ref_52_7" href="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_51_7">Win</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+      <span class="symbol"><a name="ref_53_7" href="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_52_7">Item</a></span> : <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_43_9">Num</a>;
+      <span class="symbol"><a name="ref_54_7" href="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_53_7">Fore</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_47_4">Default_Fore</a>;
+      <span class="symbol"><a name="ref_55_7" href="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_54_7">Aft</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_48_4">Default_Aft</a>;
+      <span class="symbol"><a name="ref_56_7" href="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_55_7">Exp</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_49_4">Default_Exp</a>);
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_57_14" HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_66_14">Put</A></span>
-     (<span class="symbol"><A NAME="ref_58_7" HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_67_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_42_9">Num</A>;
-      <span class="symbol"><A NAME="ref_59_7" HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_68_7">Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_46_4">Default_Fore</A>;
-      <span class="symbol"><A NAME="ref_60_7" HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_69_7">Aft</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_47_4">Default_Aft</A>;
-      <span class="symbol"><A NAME="ref_61_7" HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_70_7">Exp</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_48_4">Default_Exp</A>);
+   <b>procedure</b> <span class="symbol"><a name="ref_58_14" href="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_67_14">Put</a></span>
+     (<span class="symbol"><a name="ref_59_7" href="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_68_7">Item</a></span> : <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_43_9">Num</a>;
+      <span class="symbol"><a name="ref_60_7" href="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_69_7">Fore</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_47_4">Default_Fore</a>;
+      <span class="symbol"><a name="ref_61_7" href="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_70_7">Aft</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_48_4">Default_Aft</a>;
+      <span class="symbol"><a name="ref_62_7" href="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_71_7">Exp</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_49_4">Default_Exp</a>);
 
 <b>private</b>
    <b>pragma</b> Inline (Put);
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_44_43">Decimal_IO</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_45_43">Decimal_IO</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-text_io-enumeration_io__adb.htm b/doc/html/ada/terminal_interface-curses-text_io-enumeration_io__adb.htm
index 872a7b1..9d31605 100644
--- a/doc/html/ada/terminal_interface-curses-text_io-enumeration_io__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-text_io-enumeration_io__adb.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-text_io-enumeration_io.adb</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-text_io-enumeration_io.adb</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,88 +11,89 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-text_io-enumeration_io.adb </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--             Terminal_Interface.Curses.Text_IO.Enumeration_IO             --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 B O D Y                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2003,2009 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.11 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-text_io-enumeration_io.adb </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--             Terminal_Interface.Curses.Text_IO.Enumeration_IO             --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 B O D Y                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.12 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
 <b>with</b> Ada.Text_IO;
 <b>with</b> Ada.Characters.Handling; <b>use</b> Ada.Characters.Handling;
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A>;
+<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_43_51">Aux</a>;
 
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_45_48" HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_44_43">Enumeration_IO</A></span> <b>is</b>
+<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<span class="symbol"><a name="ref_46_48" href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_45_43">Enumeration_IO</a></span> <b>is</b>
 
-   <b>package</b> <span class="symbol"><A NAME="ref_47_12">Aux</A></span> <b>renames</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A>;
-   <b>package</b> EIO <b>is</b> <b>new</b> Ada.Text_IO.Enumeration_IO (<A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_42_9">Enum</A>);
+   <b>package</b> <span class="symbol"><a name="ref_48_12">Aux</a></span> <b>renames</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_43_51">Aux</a>;
+   <b>package</b> EIO <b>is</b> <b>new</b> Ada.Text_IO.Enumeration_IO (<a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_43_9">Enum</a>);
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_50_14" HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_49_14">Put</A></span>
-     (<span class="symbol"><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_50_7">Win</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-      <span class="symbol"><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_51_7">Item</A></span>  : <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_42_9">Enum</A>;
-      <span class="symbol"><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_52_7">Width</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_46_4">Default_Width</A>;
-      <span class="symbol"><A NAME="ref_54_7" HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_53_7">Set</A></span>   : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_53_9">Type_Set</A> := <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_47_4">Default_Setting</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_51_14" href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_50_14">Put</a></span>
+     (<span class="symbol"><a name="ref_52_7" href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_51_7">Win</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+      <span class="symbol"><a name="ref_53_7" href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_52_7">Item</a></span>  : <a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_43_9">Enum</a>;
+      <span class="symbol"><a name="ref_54_7" href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_53_7">Width</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_47_4">Default_Width</a>;
+      <span class="symbol"><a name="ref_55_7" href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_54_7">Set</a></span>   : <a href="terminal_interface-curses-text_io__ads.htm#ref_54_9">Type_Set</a> := <a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_48_4">Default_Setting</a>)
    <b>is</b>
-      <span class="symbol"><A NAME="ref_56_7">Buf</A></span>  : String (1 .. <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A>'Last);
-      <span class="symbol"><A NAME="ref_57_7">Tset</A></span> : Ada.Text_IO.Type_Set;
+      <span class="symbol"><a name="ref_57_7">Buf</a></span>  : String (1 .. <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a>'Last);
+      <span class="symbol"><a name="ref_58_7">Tset</a></span> : Ada.Text_IO.Type_Set;
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_53_7">Set</A> /= <A HREF="terminal_interface-curses-text_io__ads.htm#ref_53_46">Mixed_Case</A> <b>then</b>
-         <A HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_57_7">Tset</A> := Ada.Text_IO.Type_Set'Val (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_53_9">Type_Set</A>'Pos (<A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_53_7">Set</A>));
+      <b>if</b> <a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_54_7">Set</a> /= <a href="terminal_interface-curses-text_io__ads.htm#ref_54_46">Mixed_Case</a> <b>then</b>
+         <a href="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_58_7">Tset</a> := Ada.Text_IO.Type_Set'Val (<a href="terminal_interface-curses-text_io__ads.htm#ref_54_9">Type_Set</a>'Pos (<a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_54_7">Set</a>));
       <b>else</b>
-         <A HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_57_7">Tset</A> := Ada.Text_IO.Lower_Case;
+         <a href="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_58_7">Tset</a> := Ada.Text_IO.Lower_Case;
       <b>end</b> <b>if</b>;
-      EIO.Put (<A HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_56_7">Buf</A>, <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_51_7">Item</A>, <A HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_57_7">Tset</A>);
-      <b>if</b> <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_53_7">Set</A> = <A HREF="terminal_interface-curses-text_io__ads.htm#ref_53_46">Mixed_Case</A> <b>then</b>
-         <A HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_56_7">Buf</A> (<A HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_56_7">Buf</A>'First) := To_Upper (<A HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_56_7">Buf</A> (<A HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_56_7">Buf</A>'First));
+      EIO.Put (<a href="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_57_7">Buf</a>, <a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_52_7">Item</a>, <a href="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_58_7">Tset</a>);
+      <b>if</b> <a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_54_7">Set</a> = <a href="terminal_interface-curses-text_io__ads.htm#ref_54_46">Mixed_Case</a> <b>then</b>
+         <a href="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_57_7">Buf</a> (<a href="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_57_7">Buf</a>'First) := To_Upper (<a href="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_57_7">Buf</a> (<a href="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_57_7">Buf</a>'First));
       <b>end</b> <b>if</b>;
-      <A HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_47_12">Aux</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_48_14">Put_Buf</A> (<A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_50_7">Win</A>, <A HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_56_7">Buf</A>, <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_52_7">Width</A>, True, True);
-   <b>end</b> <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_49_14">Put</A>;
+      <a href="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_48_12">Aux</a>.<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_49_14">Put_Buf</a> (<a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_51_7">Win</a>, <a href="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_57_7">Buf</a>, <a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_53_7">Width</a>, True, True);
+   <b>end</b> <a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_50_14">Put</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_71_14" HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_55_14">Put</A></span>
-     (<span class="symbol"><A NAME="ref_72_7" HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_56_7">Item</A></span>  : <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_42_9">Enum</A>;
-      <span class="symbol"><A NAME="ref_73_7" HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_57_7">Width</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_46_4">Default_Width</A>;
-      <span class="symbol"><A NAME="ref_74_7" HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_58_7">Set</A></span>   : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_53_9">Type_Set</A> := <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_47_4">Default_Setting</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_72_14" href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_56_14">Put</a></span>
+     (<span class="symbol"><a name="ref_73_7" href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_57_7">Item</a></span>  : <a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_43_9">Enum</a>;
+      <span class="symbol"><a name="ref_74_7" href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_58_7">Width</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_47_4">Default_Width</a>;
+      <span class="symbol"><a name="ref_75_7" href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_59_7">Set</a></span>   : <a href="terminal_interface-curses-text_io__ads.htm#ref_54_9">Type_Set</a> := <a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_48_4">Default_Setting</a>)
    <b>is</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_49_14">Put</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_62_13">Get_Window</A>, <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_56_7">Item</A>, <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_57_7">Width</A>, <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_58_7">Set</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_55_14">Put</A>;
+      <a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_50_14">Put</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</a>, <a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_57_7">Item</a>, <a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_58_7">Width</a>, <a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_59_7">Set</a>);
+   <b>end</b> <a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_56_14">Put</a>;
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_44_43">Enumeration_IO</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_45_43">Enumeration_IO</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-text_io-enumeration_io__ads.htm b/doc/html/ada/terminal_interface-curses-text_io-enumeration_io__ads.htm
index 68fbb65..4f7bc7f 100644
--- a/doc/html/ada/terminal_interface-curses-text_io-enumeration_io__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-text_io-enumeration_io__ads.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-text_io-enumeration_io.ads</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-text_io-enumeration_io.ads</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,71 +11,72 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-text_io-enumeration_io.ads </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--             Terminal_Interface.Curses.Text_IO.Enumeration_IO             --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 S P E C                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2003,2009 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.12 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-text_io-enumeration_io.ads </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--             Terminal_Interface.Curses.Text_IO.Enumeration_IO             --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 S P E C                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.13 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
 <b>generic</b>
-   <b>type</b> <span class="symbol"><A NAME="ref_42_9" HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_44_43">Enum</A></span> <b>is</b> (&lt;&gt;);
+   <b>type</b> <span class="symbol"><a name="ref_43_9">Enum</a></span> <b>is</b> (&lt;&gt;);
 
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_44_43" HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_45_48">Enumeration_IO</A></span> <b>is</b>
+<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<span class="symbol"><a name="ref_45_43" href="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_46_48">Enumeration_IO</a></span> <b>is</b>
 
-   <span class="symbol"><A NAME="ref_46_4">Default_Width</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := 0;
-   <span class="symbol"><A NAME="ref_47_4">Default_Setting</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_53_9">Type_Set</A> := <A HREF="terminal_interface-curses-text_io__ads.htm#ref_53_46">Mixed_Case</A>;
+   <span class="symbol"><a name="ref_47_4">Default_Width</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := 0;
+   <span class="symbol"><a name="ref_48_4">Default_Setting</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_54_9">Type_Set</a> := <a href="terminal_interface-curses-text_io__ads.htm#ref_54_46">Mixed_Case</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_49_14" HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_50_14">Put</A></span>
-     (<span class="symbol"><A NAME="ref_50_7" HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_51_7">Win</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-      <span class="symbol"><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_52_7">Item</A></span>  : <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_42_9">Enum</A>;
-      <span class="symbol"><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_53_7">Width</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_46_4">Default_Width</A>;
-      <span class="symbol"><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_54_7">Set</A></span>   : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_53_9">Type_Set</A> := <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_47_4">Default_Setting</A>);
+   <b>procedure</b> <span class="symbol"><a name="ref_50_14" href="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_51_14">Put</a></span>
+     (<span class="symbol"><a name="ref_51_7" href="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_52_7">Win</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+      <span class="symbol"><a name="ref_52_7" href="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_53_7">Item</a></span>  : <a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_43_9">Enum</a>;
+      <span class="symbol"><a name="ref_53_7" href="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_54_7">Width</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_47_4">Default_Width</a>;
+      <span class="symbol"><a name="ref_54_7" href="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_55_7">Set</a></span>   : <a href="terminal_interface-curses-text_io__ads.htm#ref_54_9">Type_Set</a> := <a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_48_4">Default_Setting</a>);
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_55_14" HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_71_14">Put</A></span>
-     (<span class="symbol"><A NAME="ref_56_7" HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_72_7">Item</A></span>  : <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_42_9">Enum</A>;
-      <span class="symbol"><A NAME="ref_57_7" HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_73_7">Width</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_46_4">Default_Width</A>;
-      <span class="symbol"><A NAME="ref_58_7" HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_74_7">Set</A></span>   : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_53_9">Type_Set</A> := <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_47_4">Default_Setting</A>);
+   <b>procedure</b> <span class="symbol"><a name="ref_56_14" href="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_72_14">Put</a></span>
+     (<span class="symbol"><a name="ref_57_7" href="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_73_7">Item</a></span>  : <a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_43_9">Enum</a>;
+      <span class="symbol"><a name="ref_58_7" href="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_74_7">Width</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_47_4">Default_Width</a>;
+      <span class="symbol"><a name="ref_59_7" href="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_75_7">Set</a></span>   : <a href="terminal_interface-curses-text_io__ads.htm#ref_54_9">Type_Set</a> := <a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_48_4">Default_Setting</a>);
 
 <b>private</b>
    <b>pragma</b> Inline (Put);
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_44_43">Enumeration_IO</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_45_43">Enumeration_IO</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-text_io-fixed_io__adb.htm b/doc/html/ada/terminal_interface-curses-text_io-fixed_io__adb.htm
index e6d9b34..b14e73e 100644
--- a/doc/html/ada/terminal_interface-curses-text_io-fixed_io__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-text_io-fixed_io__adb.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-text_io-fixed_io.adb</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-text_io-fixed_io.adb</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,83 +11,84 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-text_io-fixed_io.adb </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                Terminal_Interface.Curses.Text_IO.Fixed_IO                --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 B O D Y                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2003,2009 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.11 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-text_io-fixed_io.adb </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                Terminal_Interface.Curses.Text_IO.Fixed_IO                --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 B O D Y                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.12 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
 <b>with</b> Ada.Text_IO;
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A>;
+<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_43_51">Aux</a>;
 
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_44_48" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_44_43">Fixed_IO</A></span> <b>is</b>
+<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<span class="symbol"><a name="ref_45_48" href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_45_43">Fixed_IO</a></span> <b>is</b>
 
-   <b>package</b> <span class="symbol"><A NAME="ref_46_12">Aux</A></span> <b>renames</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A>;
-   <b>package</b> FIXIO <b>is</b> <b>new</b> Ada.Text_IO.Fixed_IO (<A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_42_9">Num</A>);
+   <b>package</b> <span class="symbol"><a name="ref_47_12">Aux</a></span> <b>renames</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_43_51">Aux</a>;
+   <b>package</b> FIXIO <b>is</b> <b>new</b> Ada.Text_IO.Fixed_IO (<a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_43_9">Num</a>);
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_49_14" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_50_14">Put</A></span>
-     (<span class="symbol"><A NAME="ref_50_7" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_51_7">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-      <span class="symbol"><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_52_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_42_9">Num</A>;
-      <span class="symbol"><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_53_7">Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_46_4">Default_Fore</A>;
-      <span class="symbol"><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_54_7">Aft</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_47_4">Default_Aft</A>;
-      <span class="symbol"><A NAME="ref_54_7" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_55_7">Exp</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_48_4">Default_Exp</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_50_14" href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_51_14">Put</a></span>
+     (<span class="symbol"><a name="ref_51_7" href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_52_7">Win</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+      <span class="symbol"><a name="ref_52_7" href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_53_7">Item</a></span> : <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_43_9">Num</a>;
+      <span class="symbol"><a name="ref_53_7" href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_54_7">Fore</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_47_4">Default_Fore</a>;
+      <span class="symbol"><a name="ref_54_7" href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_55_7">Aft</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_48_4">Default_Aft</a>;
+      <span class="symbol"><a name="ref_55_7" href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_56_7">Exp</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_49_4">Default_Exp</a>)
    <b>is</b>
-      <span class="symbol"><A NAME="ref_56_7">Buf</A></span> : String (1 .. <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A>'Last);
-      <span class="symbol"><A NAME="ref_57_7">Len</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_53_7">Fore</A> + 1 + <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_54_7">Aft</A>;
+      <span class="symbol"><a name="ref_57_7">Buf</a></span> : String (1 .. <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a>'Last);
+      <span class="symbol"><a name="ref_58_7">Len</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_54_7">Fore</a> + 1 + <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_55_7">Aft</a>;
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_55_7">Exp</A> &gt; 0 <b>then</b>
-         <A HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_57_7">Len</A> := <A HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_57_7">Len</A> + 1 + <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_55_7">Exp</A>;
+      <b>if</b> <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_56_7">Exp</a> &gt; 0 <b>then</b>
+         <a href="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_58_7">Len</a> := <a href="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_58_7">Len</a> + 1 + <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_56_7">Exp</a>;
       <b>end</b> <b>if</b>;
-      FIXIO.Put (<A HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_56_7">Buf</A>, <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_52_7">Item</A>, <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_54_7">Aft</A>, <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_55_7">Exp</A>);
-      <A HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_46_12">Aux</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_48_14">Put_Buf</A> (<A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_51_7">Win</A>, <A HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_56_7">Buf</A>, <A HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_57_7">Len</A>, False);
-   <b>end</b> <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_50_14">Put</A>;
+      FIXIO.Put (<a href="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_57_7">Buf</a>, <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_53_7">Item</a>, <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_55_7">Aft</a>, <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_56_7">Exp</a>);
+      <a href="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_47_12">Aux</a>.<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_49_14">Put_Buf</a> (<a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_52_7">Win</a>, <a href="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_57_7">Buf</a>, <a href="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_58_7">Len</a>, False);
+   <b>end</b> <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_51_14">Put</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_66_14" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_57_14">Put</A></span>
-     (<span class="symbol"><A NAME="ref_67_7" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_58_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_42_9">Num</A>;
-      <span class="symbol"><A NAME="ref_68_7" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_59_7">Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_46_4">Default_Fore</A>;
-      <span class="symbol"><A NAME="ref_69_7" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_60_7">Aft</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_47_4">Default_Aft</A>;
-      <span class="symbol"><A NAME="ref_70_7" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_61_7">Exp</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_48_4">Default_Exp</A>) <b>is</b>
+   <b>procedure</b> <span class="symbol"><a name="ref_67_14" href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_58_14">Put</a></span>
+     (<span class="symbol"><a name="ref_68_7" href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_59_7">Item</a></span> : <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_43_9">Num</a>;
+      <span class="symbol"><a name="ref_69_7" href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_60_7">Fore</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_47_4">Default_Fore</a>;
+      <span class="symbol"><a name="ref_70_7" href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_61_7">Aft</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_48_4">Default_Aft</a>;
+      <span class="symbol"><a name="ref_71_7" href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_62_7">Exp</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_49_4">Default_Exp</a>) <b>is</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_50_14">Put</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_62_13">Get_Window</A>, <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_58_7">Item</A>, <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_59_7">Fore</A>, <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_60_7">Aft</A>, <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_61_7">Exp</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_57_14">Put</A>;
+      <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_51_14">Put</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</a>, <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_59_7">Item</a>, <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_60_7">Fore</a>, <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_61_7">Aft</a>, <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_62_7">Exp</a>);
+   <b>end</b> <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_58_14">Put</a>;
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_44_43">Fixed_IO</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_45_43">Fixed_IO</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-text_io-fixed_io__ads.htm b/doc/html/ada/terminal_interface-curses-text_io-fixed_io__ads.htm
index e990afe..abd2b99 100644
--- a/doc/html/ada/terminal_interface-curses-text_io-fixed_io__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-text_io-fixed_io__ads.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-text_io-fixed_io.ads</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-text_io-fixed_io.ads</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,74 +11,75 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-text_io-fixed_io.ads </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                Terminal_Interface.Curses.Text_IO.Fixed_IO                --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 S P E C                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2003,2009 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.12 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-text_io-fixed_io.ads </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                Terminal_Interface.Curses.Text_IO.Fixed_IO                --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 S P E C                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.13 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
 <b>generic</b>
-   <b>type</b> <span class="symbol"><A NAME="ref_42_9" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_44_43">Num</A></span> <b>is</b> <b>delta</b> &lt;&gt;;
+   <b>type</b> <span class="symbol"><a name="ref_43_9">Num</a></span> <b>is</b> <b>delta</b> &lt;&gt;;
 
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_44_43" HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_44_48">Fixed_IO</A></span> <b>is</b>
+<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<span class="symbol"><a name="ref_45_43" href="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_45_48">Fixed_IO</a></span> <b>is</b>
 
-   <span class="symbol"><A NAME="ref_46_4">Default_Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_42_9">Num</A>'Fore;
-   <span class="symbol"><A NAME="ref_47_4">Default_Aft</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_42_9">Num</A>'Aft;
-   <span class="symbol"><A NAME="ref_48_4">Default_Exp</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := 0;
+   <span class="symbol"><a name="ref_47_4">Default_Fore</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_43_9">Num</a>'Fore;
+   <span class="symbol"><a name="ref_48_4">Default_Aft</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_43_9">Num</a>'Aft;
+   <span class="symbol"><a name="ref_49_4">Default_Exp</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := 0;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_50_14" HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_49_14">Put</A></span>
-     (<span class="symbol"><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_50_7">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-      <span class="symbol"><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_51_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_42_9">Num</A>;
-      <span class="symbol"><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_52_7">Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_46_4">Default_Fore</A>;
-      <span class="symbol"><A NAME="ref_54_7" HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_53_7">Aft</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_47_4">Default_Aft</A>;
-      <span class="symbol"><A NAME="ref_55_7" HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_54_7">Exp</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_48_4">Default_Exp</A>);
+   <b>procedure</b> <span class="symbol"><a name="ref_51_14" href="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_50_14">Put</a></span>
+     (<span class="symbol"><a name="ref_52_7" href="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_51_7">Win</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+      <span class="symbol"><a name="ref_53_7" href="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_52_7">Item</a></span> : <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_43_9">Num</a>;
+      <span class="symbol"><a name="ref_54_7" href="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_53_7">Fore</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_47_4">Default_Fore</a>;
+      <span class="symbol"><a name="ref_55_7" href="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_54_7">Aft</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_48_4">Default_Aft</a>;
+      <span class="symbol"><a name="ref_56_7" href="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_55_7">Exp</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_49_4">Default_Exp</a>);
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_57_14" HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_66_14">Put</A></span>
-     (<span class="symbol"><A NAME="ref_58_7" HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_67_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_42_9">Num</A>;
-      <span class="symbol"><A NAME="ref_59_7" HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_68_7">Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_46_4">Default_Fore</A>;
-      <span class="symbol"><A NAME="ref_60_7" HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_69_7">Aft</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_47_4">Default_Aft</A>;
-      <span class="symbol"><A NAME="ref_61_7" HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_70_7">Exp</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_48_4">Default_Exp</A>);
+   <b>procedure</b> <span class="symbol"><a name="ref_58_14" href="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_67_14">Put</a></span>
+     (<span class="symbol"><a name="ref_59_7" href="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_68_7">Item</a></span> : <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_43_9">Num</a>;
+      <span class="symbol"><a name="ref_60_7" href="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_69_7">Fore</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_47_4">Default_Fore</a>;
+      <span class="symbol"><a name="ref_61_7" href="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_70_7">Aft</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_48_4">Default_Aft</a>;
+      <span class="symbol"><a name="ref_62_7" href="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_71_7">Exp</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_49_4">Default_Exp</a>);
 
 <b>private</b>
    <b>pragma</b> Inline (Put);
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_44_43">Fixed_IO</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_45_43">Fixed_IO</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-text_io-float_io__adb.htm b/doc/html/ada/terminal_interface-curses-text_io-float_io__adb.htm
index 2f1690f..a0ba64c 100644
--- a/doc/html/ada/terminal_interface-curses-text_io-float_io__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-text_io-float_io__adb.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-text_io-float_io.adb</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-text_io-float_io.adb</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,84 +11,85 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-text_io-float_io.adb </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                Terminal_Interface.Curses.Text_IO.Float_IO                --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 B O D Y                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2003,2009 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.11 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-text_io-float_io.adb </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                Terminal_Interface.Curses.Text_IO.Float_IO                --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 B O D Y                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.12 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
 <b>with</b> Ada.Text_IO;
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A>;
+<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_43_51">Aux</a>;
 
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_44_48" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_44_43">Float_IO</A></span> <b>is</b>
+<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<span class="symbol"><a name="ref_45_48" href="terminal_interface-curses-text_io-float_io__ads.htm#ref_45_43">Float_IO</a></span> <b>is</b>
 
-   <b>package</b> <span class="symbol"><A NAME="ref_46_12">Aux</A></span> <b>renames</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A>;
-   <b>package</b> FIO <b>is</b> <b>new</b> Ada.Text_IO.Float_IO (<A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_42_9">Num</A>);
+   <b>package</b> <span class="symbol"><a name="ref_47_12">Aux</a></span> <b>renames</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_43_51">Aux</a>;
+   <b>package</b> FIO <b>is</b> <b>new</b> Ada.Text_IO.Float_IO (<a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_43_9">Num</a>);
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_49_14" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_50_14">Put</A></span>
-     (<span class="symbol"><A NAME="ref_50_7" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_51_7">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-      <span class="symbol"><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_52_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_42_9">Num</A>;
-      <span class="symbol"><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_53_7">Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_46_4">Default_Fore</A>;
-      <span class="symbol"><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_54_7">Aft</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_47_4">Default_Aft</A>;
-      <span class="symbol"><A NAME="ref_54_7" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_55_7">Exp</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_48_4">Default_Exp</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_50_14" href="terminal_interface-curses-text_io-float_io__ads.htm#ref_51_14">Put</a></span>
+     (<span class="symbol"><a name="ref_51_7" href="terminal_interface-curses-text_io-float_io__ads.htm#ref_52_7">Win</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+      <span class="symbol"><a name="ref_52_7" href="terminal_interface-curses-text_io-float_io__ads.htm#ref_53_7">Item</a></span> : <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_43_9">Num</a>;
+      <span class="symbol"><a name="ref_53_7" href="terminal_interface-curses-text_io-float_io__ads.htm#ref_54_7">Fore</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_47_4">Default_Fore</a>;
+      <span class="symbol"><a name="ref_54_7" href="terminal_interface-curses-text_io-float_io__ads.htm#ref_55_7">Aft</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_48_4">Default_Aft</a>;
+      <span class="symbol"><a name="ref_55_7" href="terminal_interface-curses-text_io-float_io__ads.htm#ref_56_7">Exp</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_49_4">Default_Exp</a>)
    <b>is</b>
-      <span class="symbol"><A NAME="ref_56_7">Buf</A></span> : String (1 .. <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A>'Last);
-      <span class="symbol"><A NAME="ref_57_7">Len</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_53_7">Fore</A> + 1 + <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_54_7">Aft</A>;
+      <span class="symbol"><a name="ref_57_7">Buf</a></span> : String (1 .. <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a>'Last);
+      <span class="symbol"><a name="ref_58_7">Len</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_54_7">Fore</a> + 1 + <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_55_7">Aft</a>;
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_55_7">Exp</A> &gt; 0 <b>then</b>
-         <A HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_57_7">Len</A> := <A HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_57_7">Len</A> + 1 + <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_55_7">Exp</A>;
+      <b>if</b> <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_56_7">Exp</a> &gt; 0 <b>then</b>
+         <a href="terminal_interface-curses-text_io-float_io__adb.htm#ref_58_7">Len</a> := <a href="terminal_interface-curses-text_io-float_io__adb.htm#ref_58_7">Len</a> + 1 + <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_56_7">Exp</a>;
       <b>end</b> <b>if</b>;
-      FIO.Put (<A HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_56_7">Buf</A>, <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_52_7">Item</A>, <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_54_7">Aft</A>, <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_55_7">Exp</A>);
-      <A HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_46_12">Aux</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_48_14">Put_Buf</A> (<A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_51_7">Win</A>, <A HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_56_7">Buf</A>, <A HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_57_7">Len</A>, False);
-   <b>end</b> <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_50_14">Put</A>;
+      FIO.Put (<a href="terminal_interface-curses-text_io-float_io__adb.htm#ref_57_7">Buf</a>, <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_53_7">Item</a>, <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_55_7">Aft</a>, <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_56_7">Exp</a>);
+      <a href="terminal_interface-curses-text_io-float_io__adb.htm#ref_47_12">Aux</a>.<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_49_14">Put_Buf</a> (<a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_52_7">Win</a>, <a href="terminal_interface-curses-text_io-float_io__adb.htm#ref_57_7">Buf</a>, <a href="terminal_interface-curses-text_io-float_io__adb.htm#ref_58_7">Len</a>, False);
+   <b>end</b> <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_51_14">Put</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_66_14" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_57_14">Put</A></span>
-     (<span class="symbol"><A NAME="ref_67_7" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_58_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_42_9">Num</A>;
-      <span class="symbol"><A NAME="ref_68_7" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_59_7">Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_46_4">Default_Fore</A>;
-      <span class="symbol"><A NAME="ref_69_7" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_60_7">Aft</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_47_4">Default_Aft</A>;
-      <span class="symbol"><A NAME="ref_70_7" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_61_7">Exp</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_48_4">Default_Exp</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_67_14" href="terminal_interface-curses-text_io-float_io__ads.htm#ref_58_14">Put</a></span>
+     (<span class="symbol"><a name="ref_68_7" href="terminal_interface-curses-text_io-float_io__ads.htm#ref_59_7">Item</a></span> : <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_43_9">Num</a>;
+      <span class="symbol"><a name="ref_69_7" href="terminal_interface-curses-text_io-float_io__ads.htm#ref_60_7">Fore</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_47_4">Default_Fore</a>;
+      <span class="symbol"><a name="ref_70_7" href="terminal_interface-curses-text_io-float_io__ads.htm#ref_61_7">Aft</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_48_4">Default_Aft</a>;
+      <span class="symbol"><a name="ref_71_7" href="terminal_interface-curses-text_io-float_io__ads.htm#ref_62_7">Exp</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_49_4">Default_Exp</a>)
    <b>is</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_50_14">Put</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_62_13">Get_Window</A>, <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_58_7">Item</A>, <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_59_7">Fore</A>, <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_60_7">Aft</A>, <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_61_7">Exp</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_57_14">Put</A>;
+      <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_51_14">Put</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</a>, <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_59_7">Item</a>, <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_60_7">Fore</a>, <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_61_7">Aft</a>, <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_62_7">Exp</a>);
+   <b>end</b> <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_58_14">Put</a>;
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_44_43">Float_IO</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_45_43">Float_IO</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-text_io-float_io__ads.htm b/doc/html/ada/terminal_interface-curses-text_io-float_io__ads.htm
index 23f93b0..a4382f1 100644
--- a/doc/html/ada/terminal_interface-curses-text_io-float_io__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-text_io-float_io__ads.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-text_io-float_io.ads</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-text_io-float_io.ads</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,74 +11,75 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-text_io-float_io.ads </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                Terminal_Interface.Curses.Text_IO.Float_IO                --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 S P E C                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2003,2009 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.12 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-text_io-float_io.ads </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                Terminal_Interface.Curses.Text_IO.Float_IO                --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 S P E C                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.13 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
 <b>generic</b>
-   <b>type</b> <span class="symbol"><A NAME="ref_42_9" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_44_43">Num</A></span> <b>is</b> <b>digits</b> &lt;&gt;;
+   <b>type</b> <span class="symbol"><a name="ref_43_9">Num</a></span> <b>is</b> <b>digits</b> &lt;&gt;;
 
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_44_43" HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_44_48">Float_IO</A></span> <b>is</b>
+<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<span class="symbol"><a name="ref_45_43" href="terminal_interface-curses-text_io-float_io__adb.htm#ref_45_48">Float_IO</a></span> <b>is</b>
 
-   <span class="symbol"><A NAME="ref_46_4">Default_Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := 2;
-   <span class="symbol"><A NAME="ref_47_4">Default_Aft</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_42_9">Num</A>'<b>Digits</b> - 1;
-   <span class="symbol"><A NAME="ref_48_4">Default_Exp</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := 3;
+   <span class="symbol"><a name="ref_47_4">Default_Fore</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := 2;
+   <span class="symbol"><a name="ref_48_4">Default_Aft</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_43_9">Num</a>'<b>Digits</b> - 1;
+   <span class="symbol"><a name="ref_49_4">Default_Exp</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := 3;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_50_14" HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_49_14">Put</A></span>
-     (<span class="symbol"><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_50_7">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-      <span class="symbol"><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_51_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_42_9">Num</A>;
-      <span class="symbol"><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_52_7">Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_46_4">Default_Fore</A>;
-      <span class="symbol"><A NAME="ref_54_7" HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_53_7">Aft</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_47_4">Default_Aft</A>;
-      <span class="symbol"><A NAME="ref_55_7" HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_54_7">Exp</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_48_4">Default_Exp</A>);
+   <b>procedure</b> <span class="symbol"><a name="ref_51_14" href="terminal_interface-curses-text_io-float_io__adb.htm#ref_50_14">Put</a></span>
+     (<span class="symbol"><a name="ref_52_7" href="terminal_interface-curses-text_io-float_io__adb.htm#ref_51_7">Win</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+      <span class="symbol"><a name="ref_53_7" href="terminal_interface-curses-text_io-float_io__adb.htm#ref_52_7">Item</a></span> : <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_43_9">Num</a>;
+      <span class="symbol"><a name="ref_54_7" href="terminal_interface-curses-text_io-float_io__adb.htm#ref_53_7">Fore</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_47_4">Default_Fore</a>;
+      <span class="symbol"><a name="ref_55_7" href="terminal_interface-curses-text_io-float_io__adb.htm#ref_54_7">Aft</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_48_4">Default_Aft</a>;
+      <span class="symbol"><a name="ref_56_7" href="terminal_interface-curses-text_io-float_io__adb.htm#ref_55_7">Exp</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_49_4">Default_Exp</a>);
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_57_14" HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_66_14">Put</A></span>
-     (<span class="symbol"><A NAME="ref_58_7" HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_67_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_42_9">Num</A>;
-      <span class="symbol"><A NAME="ref_59_7" HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_68_7">Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_46_4">Default_Fore</A>;
-      <span class="symbol"><A NAME="ref_60_7" HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_69_7">Aft</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_47_4">Default_Aft</A>;
-      <span class="symbol"><A NAME="ref_61_7" HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_70_7">Exp</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_48_4">Default_Exp</A>);
+   <b>procedure</b> <span class="symbol"><a name="ref_58_14" href="terminal_interface-curses-text_io-float_io__adb.htm#ref_67_14">Put</a></span>
+     (<span class="symbol"><a name="ref_59_7" href="terminal_interface-curses-text_io-float_io__adb.htm#ref_68_7">Item</a></span> : <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_43_9">Num</a>;
+      <span class="symbol"><a name="ref_60_7" href="terminal_interface-curses-text_io-float_io__adb.htm#ref_69_7">Fore</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_47_4">Default_Fore</a>;
+      <span class="symbol"><a name="ref_61_7" href="terminal_interface-curses-text_io-float_io__adb.htm#ref_70_7">Aft</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_48_4">Default_Aft</a>;
+      <span class="symbol"><a name="ref_62_7" href="terminal_interface-curses-text_io-float_io__adb.htm#ref_71_7">Exp</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_49_4">Default_Exp</a>);
 
 <b>private</b>
    <b>pragma</b> Inline (Put);
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_44_43">Float_IO</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_45_43">Float_IO</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-text_io-integer_io__adb.htm b/doc/html/ada/terminal_interface-curses-text_io-integer_io__adb.htm
index f4c984c..f158e33 100644
--- a/doc/html/ada/terminal_interface-curses-text_io-integer_io__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-text_io-integer_io__adb.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-text_io-integer_io.adb</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-text_io-integer_io.adb</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,78 +11,79 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-text_io-integer_io.adb </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--               Terminal_Interface.Curses.Text_IO.Integer_IO               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 B O D Y                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2003,2009 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.11 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-text_io-integer_io.adb </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--               Terminal_Interface.Curses.Text_IO.Integer_IO               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 B O D Y                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.12 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
 <b>with</b> Ada.Text_IO;
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A>;
+<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_43_51">Aux</a>;
 
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_44_48" HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_44_43">Integer_IO</A></span> <b>is</b>
+<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<span class="symbol"><a name="ref_45_48" href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_45_43">Integer_IO</a></span> <b>is</b>
 
-   <b>package</b> <span class="symbol"><A NAME="ref_46_12">Aux</A></span> <b>renames</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A>;
-   <b>package</b> IIO <b>is</b> <b>new</b> Ada.Text_IO.Integer_IO (<A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_42_9">Num</A>);
+   <b>package</b> <span class="symbol"><a name="ref_47_12">Aux</a></span> <b>renames</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_43_51">Aux</a>;
+   <b>package</b> IIO <b>is</b> <b>new</b> Ada.Text_IO.Integer_IO (<a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_43_9">Num</a>);
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_49_14" HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_49_14">Put</A></span>
-     (<span class="symbol"><A NAME="ref_50_7" HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_50_7">Win</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-      <span class="symbol"><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_51_7">Item</A></span>  : <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_42_9">Num</A>;
-      <span class="symbol"><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_52_7">Width</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_46_4">Default_Width</A>;
-      <span class="symbol"><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_53_7">Base</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Number_Base</A> := <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_47_4">Default_Base</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_50_14" href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_50_14">Put</a></span>
+     (<span class="symbol"><a name="ref_51_7" href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_51_7">Win</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+      <span class="symbol"><a name="ref_52_7" href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_52_7">Item</a></span>  : <a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_43_9">Num</a>;
+      <span class="symbol"><a name="ref_53_7" href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_53_7">Width</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_47_4">Default_Width</a>;
+      <span class="symbol"><a name="ref_54_7" href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_54_7">Base</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_52_12">Number_Base</a> := <a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_48_4">Default_Base</a>)
    <b>is</b>
-      <span class="symbol"><A NAME="ref_55_7">Buf</A></span> : String (1 .. <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A>'Last);
+      <span class="symbol"><a name="ref_56_7">Buf</a></span> : String (1 .. <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a>'Last);
    <b>begin</b>
-      IIO.Put (<A HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_55_7">Buf</A>, <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_51_7">Item</A>, <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_53_7">Base</A>);
-      <A HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_46_12">Aux</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_48_14">Put_Buf</A> (<A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_50_7">Win</A>, <A HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_55_7">Buf</A>, <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_52_7">Width</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_49_14">Put</A>;
+      IIO.Put (<a href="terminal_interface-curses-text_io-integer_io__adb.htm#ref_56_7">Buf</a>, <a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_52_7">Item</a>, <a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_54_7">Base</a>);
+      <a href="terminal_interface-curses-text_io-integer_io__adb.htm#ref_47_12">Aux</a>.<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_49_14">Put_Buf</a> (<a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_51_7">Win</a>, <a href="terminal_interface-curses-text_io-integer_io__adb.htm#ref_56_7">Buf</a>, <a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_53_7">Width</a>);
+   <b>end</b> <a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_50_14">Put</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_61_14" HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_55_14">Put</A></span>
-     (<span class="symbol"><A NAME="ref_62_7" HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_56_7">Item</A></span>  : <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_42_9">Num</A>;
-      <span class="symbol"><A NAME="ref_63_7" HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_57_7">Width</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_46_4">Default_Width</A>;
-      <span class="symbol"><A NAME="ref_64_7" HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_58_7">Base</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Number_Base</A> := <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_47_4">Default_Base</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_62_14" href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_56_14">Put</a></span>
+     (<span class="symbol"><a name="ref_63_7" href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_57_7">Item</a></span>  : <a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_43_9">Num</a>;
+      <span class="symbol"><a name="ref_64_7" href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_58_7">Width</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_47_4">Default_Width</a>;
+      <span class="symbol"><a name="ref_65_7" href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_59_7">Base</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_52_12">Number_Base</a> := <a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_48_4">Default_Base</a>)
    <b>is</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_49_14">Put</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_62_13">Get_Window</A>, <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_56_7">Item</A>, <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_57_7">Width</A>, <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_58_7">Base</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_55_14">Put</A>;
+      <a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_50_14">Put</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</a>, <a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_57_7">Item</a>, <a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_58_7">Width</a>, <a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_59_7">Base</a>);
+   <b>end</b> <a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_56_14">Put</a>;
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_44_43">Integer_IO</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_45_43">Integer_IO</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-text_io-integer_io__ads.htm b/doc/html/ada/terminal_interface-curses-text_io-integer_io__ads.htm
index e4b1c7b..23239f6 100644
--- a/doc/html/ada/terminal_interface-curses-text_io-integer_io__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-text_io-integer_io__ads.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-text_io-integer_io.ads</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-text_io-integer_io.ads</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,71 +11,72 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-text_io-integer_io.ads </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--               Terminal_Interface.Curses.Text_IO.Integer_IO               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 S P E C                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2003,2009 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.12 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-text_io-integer_io.ads </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--               Terminal_Interface.Curses.Text_IO.Integer_IO               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 S P E C                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.13 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
 <b>generic</b>
-   <b>type</b> <span class="symbol"><A NAME="ref_42_9" HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_44_43">Num</A></span> <b>is</b> <b>range</b> &lt;&gt;;
+   <b>type</b> <span class="symbol"><a name="ref_43_9">Num</a></span> <b>is</b> <b>range</b> &lt;&gt;;
 
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_44_43" HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_44_48">Integer_IO</A></span> <b>is</b>
+<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<span class="symbol"><a name="ref_45_43" href="terminal_interface-curses-text_io-integer_io__adb.htm#ref_45_48">Integer_IO</a></span> <b>is</b>
 
-   <span class="symbol"><A NAME="ref_46_4">Default_Width</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_42_9">Num</A>'Width;
-   <span class="symbol"><A NAME="ref_47_4">Default_Base</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Number_Base</A> := 10;
+   <span class="symbol"><a name="ref_47_4">Default_Width</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_43_9">Num</a>'Width;
+   <span class="symbol"><a name="ref_48_4">Default_Base</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_52_12">Number_Base</a> := 10;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_49_14" HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_49_14">Put</A></span>
-     (<span class="symbol"><A NAME="ref_50_7" HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_50_7">Win</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-      <span class="symbol"><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_51_7">Item</A></span>  : <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_42_9">Num</A>;
-      <span class="symbol"><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_52_7">Width</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_46_4">Default_Width</A>;
-      <span class="symbol"><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_53_7">Base</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Number_Base</A> := <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_47_4">Default_Base</A>);
+   <b>procedure</b> <span class="symbol"><a name="ref_50_14" href="terminal_interface-curses-text_io-integer_io__adb.htm#ref_50_14">Put</a></span>
+     (<span class="symbol"><a name="ref_51_7" href="terminal_interface-curses-text_io-integer_io__adb.htm#ref_51_7">Win</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+      <span class="symbol"><a name="ref_52_7" href="terminal_interface-curses-text_io-integer_io__adb.htm#ref_52_7">Item</a></span>  : <a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_43_9">Num</a>;
+      <span class="symbol"><a name="ref_53_7" href="terminal_interface-curses-text_io-integer_io__adb.htm#ref_53_7">Width</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_47_4">Default_Width</a>;
+      <span class="symbol"><a name="ref_54_7" href="terminal_interface-curses-text_io-integer_io__adb.htm#ref_54_7">Base</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_52_12">Number_Base</a> := <a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_48_4">Default_Base</a>);
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_55_14" HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_61_14">Put</A></span>
-     (<span class="symbol"><A NAME="ref_56_7" HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_62_7">Item</A></span>  : <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_42_9">Num</A>;
-      <span class="symbol"><A NAME="ref_57_7" HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_63_7">Width</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_46_4">Default_Width</A>;
-      <span class="symbol"><A NAME="ref_58_7" HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_64_7">Base</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Number_Base</A> := <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_47_4">Default_Base</A>);
+   <b>procedure</b> <span class="symbol"><a name="ref_56_14" href="terminal_interface-curses-text_io-integer_io__adb.htm#ref_62_14">Put</a></span>
+     (<span class="symbol"><a name="ref_57_7" href="terminal_interface-curses-text_io-integer_io__adb.htm#ref_63_7">Item</a></span>  : <a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_43_9">Num</a>;
+      <span class="symbol"><a name="ref_58_7" href="terminal_interface-curses-text_io-integer_io__adb.htm#ref_64_7">Width</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_47_4">Default_Width</a>;
+      <span class="symbol"><a name="ref_59_7" href="terminal_interface-curses-text_io-integer_io__adb.htm#ref_65_7">Base</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_52_12">Number_Base</a> := <a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_48_4">Default_Base</a>);
 
 <b>private</b>
    <b>pragma</b> Inline (Put);
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_44_43">Integer_IO</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_45_43">Integer_IO</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-text_io-modular_io__adb.htm b/doc/html/ada/terminal_interface-curses-text_io-modular_io__adb.htm
index af4b222..0645bb6 100644
--- a/doc/html/ada/terminal_interface-curses-text_io-modular_io__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-text_io-modular_io__adb.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-text_io-modular_io.adb</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-text_io-modular_io.adb</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,78 +11,79 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-text_io-modular_io.adb </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--               Terminal_Interface.Curses.Text_IO.Modular_IO               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 B O D Y                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2003,2009 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.11 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-text_io-modular_io.adb </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--               Terminal_Interface.Curses.Text_IO.Modular_IO               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 B O D Y                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.12 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
 <b>with</b> Ada.Text_IO;
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A>;
+<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_43_51">Aux</a>;
 
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_44_48" HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_44_43">Modular_IO</A></span> <b>is</b>
+<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<span class="symbol"><a name="ref_45_48" href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_45_43">Modular_IO</a></span> <b>is</b>
 
-   <b>package</b> <span class="symbol"><A NAME="ref_46_12">Aux</A></span> <b>renames</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A>;
-   <b>package</b> MIO <b>is</b> <b>new</b> Ada.Text_IO.Modular_IO (<A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_42_9">Num</A>);
+   <b>package</b> <span class="symbol"><a name="ref_47_12">Aux</a></span> <b>renames</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_43_51">Aux</a>;
+   <b>package</b> MIO <b>is</b> <b>new</b> Ada.Text_IO.Modular_IO (<a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_43_9">Num</a>);
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_49_14" HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_49_14">Put</A></span>
-     (<span class="symbol"><A NAME="ref_50_7" HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_50_7">Win</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-      <span class="symbol"><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_51_7">Item</A></span>  : <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_42_9">Num</A>;
-      <span class="symbol"><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_52_7">Width</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_46_4">Default_Width</A>;
-      <span class="symbol"><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_53_7">Base</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Number_Base</A> := <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_47_4">Default_Base</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_50_14" href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_50_14">Put</a></span>
+     (<span class="symbol"><a name="ref_51_7" href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_51_7">Win</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+      <span class="symbol"><a name="ref_52_7" href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_52_7">Item</a></span>  : <a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_43_9">Num</a>;
+      <span class="symbol"><a name="ref_53_7" href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_53_7">Width</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_47_4">Default_Width</a>;
+      <span class="symbol"><a name="ref_54_7" href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_54_7">Base</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_52_12">Number_Base</a> := <a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_48_4">Default_Base</a>)
    <b>is</b>
-      <span class="symbol"><A NAME="ref_55_7">Buf</A></span> : String (1 .. <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A>'Last);
+      <span class="symbol"><a name="ref_56_7">Buf</a></span> : String (1 .. <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a>'Last);
    <b>begin</b>
-      MIO.Put (<A HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_55_7">Buf</A>, <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_51_7">Item</A>, <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_53_7">Base</A>);
-      <A HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_46_12">Aux</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_48_14">Put_Buf</A> (<A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_50_7">Win</A>, <A HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_55_7">Buf</A>, <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_52_7">Width</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_49_14">Put</A>;
+      MIO.Put (<a href="terminal_interface-curses-text_io-modular_io__adb.htm#ref_56_7">Buf</a>, <a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_52_7">Item</a>, <a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_54_7">Base</a>);
+      <a href="terminal_interface-curses-text_io-modular_io__adb.htm#ref_47_12">Aux</a>.<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_49_14">Put_Buf</a> (<a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_51_7">Win</a>, <a href="terminal_interface-curses-text_io-modular_io__adb.htm#ref_56_7">Buf</a>, <a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_53_7">Width</a>);
+   <b>end</b> <a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_50_14">Put</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_61_14" HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_55_14">Put</A></span>
-     (<span class="symbol"><A NAME="ref_62_7" HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_56_7">Item</A></span>  : <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_42_9">Num</A>;
-      <span class="symbol"><A NAME="ref_63_7" HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_57_7">Width</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_46_4">Default_Width</A>;
-      <span class="symbol"><A NAME="ref_64_7" HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_58_7">Base</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Number_Base</A> := <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_47_4">Default_Base</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_62_14" href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_56_14">Put</a></span>
+     (<span class="symbol"><a name="ref_63_7" href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_57_7">Item</a></span>  : <a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_43_9">Num</a>;
+      <span class="symbol"><a name="ref_64_7" href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_58_7">Width</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_47_4">Default_Width</a>;
+      <span class="symbol"><a name="ref_65_7" href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_59_7">Base</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_52_12">Number_Base</a> := <a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_48_4">Default_Base</a>)
    <b>is</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_49_14">Put</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_62_13">Get_Window</A>, <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_56_7">Item</A>, <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_57_7">Width</A>, <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_58_7">Base</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_55_14">Put</A>;
+      <a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_50_14">Put</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</a>, <a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_57_7">Item</a>, <a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_58_7">Width</a>, <a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_59_7">Base</a>);
+   <b>end</b> <a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_56_14">Put</a>;
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_44_43">Modular_IO</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_45_43">Modular_IO</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-text_io-modular_io__ads.htm b/doc/html/ada/terminal_interface-curses-text_io-modular_io__ads.htm
index 1552b0c..043ac0a 100644
--- a/doc/html/ada/terminal_interface-curses-text_io-modular_io__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-text_io-modular_io__ads.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-text_io-modular_io.ads</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-text_io-modular_io.ads</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,71 +11,72 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-text_io-modular_io.ads </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--               Terminal_Interface.Curses.Text_IO.Modular_IO               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 S P E C                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2003,2009 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.12 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-text_io-modular_io.ads </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--               Terminal_Interface.Curses.Text_IO.Modular_IO               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 S P E C                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.13 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
 <b>generic</b>
-   <b>type</b> <span class="symbol"><A NAME="ref_42_9" HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_44_43">Num</A></span> <b>is</b> <b>mod</b> &lt;&gt;;
+   <b>type</b> <span class="symbol"><a name="ref_43_9">Num</a></span> <b>is</b> <b>mod</b> &lt;&gt;;
 
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_44_43" HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_44_48">Modular_IO</A></span> <b>is</b>
+<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<span class="symbol"><a name="ref_45_43" href="terminal_interface-curses-text_io-modular_io__adb.htm#ref_45_48">Modular_IO</a></span> <b>is</b>
 
-   <span class="symbol"><A NAME="ref_46_4">Default_Width</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_42_9">Num</A>'Width;
-   <span class="symbol"><A NAME="ref_47_4">Default_Base</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Number_Base</A> := 10;
+   <span class="symbol"><a name="ref_47_4">Default_Width</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_43_9">Num</a>'Width;
+   <span class="symbol"><a name="ref_48_4">Default_Base</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_52_12">Number_Base</a> := 10;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_49_14" HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_49_14">Put</A></span>
-     (<span class="symbol"><A NAME="ref_50_7" HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_50_7">Win</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-      <span class="symbol"><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_51_7">Item</A></span>  : <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_42_9">Num</A>;
-      <span class="symbol"><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_52_7">Width</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_46_4">Default_Width</A>;
-      <span class="symbol"><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_53_7">Base</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Number_Base</A> := <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_47_4">Default_Base</A>);
+   <b>procedure</b> <span class="symbol"><a name="ref_50_14" href="terminal_interface-curses-text_io-modular_io__adb.htm#ref_50_14">Put</a></span>
+     (<span class="symbol"><a name="ref_51_7" href="terminal_interface-curses-text_io-modular_io__adb.htm#ref_51_7">Win</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+      <span class="symbol"><a name="ref_52_7" href="terminal_interface-curses-text_io-modular_io__adb.htm#ref_52_7">Item</a></span>  : <a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_43_9">Num</a>;
+      <span class="symbol"><a name="ref_53_7" href="terminal_interface-curses-text_io-modular_io__adb.htm#ref_53_7">Width</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_47_4">Default_Width</a>;
+      <span class="symbol"><a name="ref_54_7" href="terminal_interface-curses-text_io-modular_io__adb.htm#ref_54_7">Base</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_52_12">Number_Base</a> := <a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_48_4">Default_Base</a>);
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_55_14" HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_61_14">Put</A></span>
-     (<span class="symbol"><A NAME="ref_56_7" HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_62_7">Item</A></span>  : <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_42_9">Num</A>;
-      <span class="symbol"><A NAME="ref_57_7" HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_63_7">Width</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_46_4">Default_Width</A>;
-      <span class="symbol"><A NAME="ref_58_7" HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_64_7">Base</A></span>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Number_Base</A> := <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_47_4">Default_Base</A>);
+   <b>procedure</b> <span class="symbol"><a name="ref_56_14" href="terminal_interface-curses-text_io-modular_io__adb.htm#ref_62_14">Put</a></span>
+     (<span class="symbol"><a name="ref_57_7" href="terminal_interface-curses-text_io-modular_io__adb.htm#ref_63_7">Item</a></span>  : <a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_43_9">Num</a>;
+      <span class="symbol"><a name="ref_58_7" href="terminal_interface-curses-text_io-modular_io__adb.htm#ref_64_7">Width</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_47_4">Default_Width</a>;
+      <span class="symbol"><a name="ref_59_7" href="terminal_interface-curses-text_io-modular_io__adb.htm#ref_65_7">Base</a></span>  : <a href="terminal_interface-curses-text_io__ads.htm#ref_52_12">Number_Base</a> := <a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_48_4">Default_Base</a>);
 
 <b>private</b>
    <b>pragma</b> Inline (Put);
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_44_43">Modular_IO</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_45_43">Modular_IO</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-text_io__adb.htm b/doc/html/ada/terminal_interface-curses-text_io__adb.htm
index fb818d0..379760c 100644
--- a/doc/html/ada/terminal_interface-curses-text_io__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-text_io__adb.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-text_io.adb</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-text_io.adb</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,346 +11,347 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-text_io.adb </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                     Terminal_Interface.Curses.Text_IO                    --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 B O D Y                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2011,2014 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.22 @</EM></span>
-<span class="comment"><EM>--  @Date: 2014/05/24 21:32:18 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<span class="symbol"><A NAME="ref_42_40" HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A></span> <b>is</b>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-text_io.adb </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                     Terminal_Interface.Curses.Text_IO                    --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 B O D Y                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1999-2011,2014 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.23 @</em></span>
+<span class="comment"><em>--  @Date: 2020/02/02 23:34:34 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<span class="symbol"><a name="ref_43_40" href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a></span> <b>is</b>
 
-   <span class="symbol"><A NAME="ref_44_4">Default_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A>;
+   <span class="symbol"><a name="ref_45_4">Default_Window</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_46_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_59_14">Set_Window</A></span> (<span class="symbol"><A NAME="ref_46_26" HREF="terminal_interface-curses-text_io__ads.htm#ref_59_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_47_14" href="terminal_interface-curses-text_io__ads.htm#ref_60_14">Set_Window</a></span> (<span class="symbol"><a name="ref_47_26" href="terminal_interface-curses-text_io__ads.htm#ref_60_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>)
    <b>is</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses-text_io__adb.htm#ref_44_4">Default_Window</A> := <A HREF="terminal_interface-curses-text_io__ads.htm#ref_59_26">Win</A>;
-   <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_59_14">Set_Window</A>;
+      <a href="terminal_interface-curses-text_io__adb.htm#ref_45_4">Default_Window</a> := <a href="terminal_interface-curses-text_io__ads.htm#ref_60_26">Win</a>;
+   <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_60_14">Set_Window</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_52_13" HREF="terminal_interface-curses-text_io__ads.htm#ref_62_13">Get_Window</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>
+   <b>function</b> <span class="symbol"><a name="ref_53_13" href="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>
    <b>is</b>
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-text_io__adb.htm#ref_44_4">Default_Window</A> = <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A> <b>then</b>
-         <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+      <b>if</b> <a href="terminal_interface-curses-text_io__adb.htm#ref_45_4">Default_Window</a> = <a href="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</a> <b>then</b>
+         <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
       <b>else</b>
-         <b>return</b> <A HREF="terminal_interface-curses-text_io__adb.htm#ref_44_4">Default_Window</A>;
+         <b>return</b> <a href="terminal_interface-curses-text_io__adb.htm#ref_45_4">Default_Window</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_62_13">Get_Window</A>;
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_62_13">Get_Window</A>);
+   <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</a>;
+   <b>pragma</b> Inline (<a href="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</a>);
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_63_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_65_14">Flush</A></span> (<span class="symbol"><A NAME="ref_63_21" HREF="terminal_interface-curses-text_io__ads.htm#ref_65_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_64_14" href="terminal_interface-curses-text_io__ads.htm#ref_66_14">Flush</a></span> (<span class="symbol"><a name="ref_64_21" href="terminal_interface-curses-text_io__ads.htm#ref_66_21">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>)
    <b>is</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses__ads.htm#ref_1215_14">Refresh</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_65_21">Win</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_65_14">Flush</A>;
+      <a href="terminal_interface-curses__ads.htm#ref_1216_14">Refresh</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_66_21">Win</a>);
+   <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_66_14">Flush</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_69_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_66_14">Flush</A></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_70_14" href="terminal_interface-curses-text_io__ads.htm#ref_67_14">Flush</a></span>
    <b>is</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses-text_io__ads.htm#ref_65_14">Flush</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_62_13">Get_Window</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_66_14">Flush</A>;
+      <a href="terminal_interface-curses-text_io__ads.htm#ref_66_14">Flush</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</a>);
+   <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_67_14">Flush</a>;
 
-   <span class="comment"><EM>--------------------------------------------</EM></span>
-   <span class="comment"><EM>-- Specification of line and page lengths --</EM></span>
-   <span class="comment"><EM>--------------------------------------------</EM></span>
+   <span class="comment"><em>--------------------------------------------</em></span>
+   <span class="comment"><em>-- Specification of line and page lengths --</em></span>
+   <span class="comment"><em>--------------------------------------------</em></span>
 
-   <span class="comment"><EM>--  There are no set routines in this package. I assume, that you allocate</EM></span>
-   <span class="comment"><EM>--  the window with an appropriate size.</EM></span>
-   <span class="comment"><EM>--  A scroll-window is interpreted as an page with unbounded page length,</EM></span>
-   <span class="comment"><EM>--  i.e. it returns the conventional 0 as page length.</EM></span>
+   <span class="comment"><em>--  There are no set routines in this package. I assume, that you allocate</em></span>
+   <span class="comment"><em>--  the window with an appropriate size.</em></span>
+   <span class="comment"><em>--  A scroll-window is interpreted as an page with unbounded page length,</em></span>
+   <span class="comment"><em>--  i.e. it returns the conventional 0 as page length.</em></span>
 
-   <b>function</b> <span class="symbol"><A NAME="ref_84_13" HREF="terminal_interface-curses-text_io__ads.htm#ref_77_13">Line_Length</A></span> (<span class="symbol"><A NAME="ref_84_26" HREF="terminal_interface-curses-text_io__ads.htm#ref_77_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_47_12">Count</A>
+   <b>function</b> <span class="symbol"><a name="ref_85_13" href="terminal_interface-curses-text_io__ads.htm#ref_78_13">Line_Length</a></span> (<span class="symbol"><a name="ref_85_26" href="terminal_interface-curses-text_io__ads.htm#ref_78_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_48_12">Count</a>
    <b>is</b>
-      <span class="symbol"><A NAME="ref_86_7">N_Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
-      <span class="symbol"><A NAME="ref_87_7">N_Cols</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
+      <span class="symbol"><a name="ref_87_7">N_Lines</a></span> : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
+      <span class="symbol"><a name="ref_88_7">N_Cols</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>;
    <b>begin</b>
-      <A HREF="terminal_interface-curses__ads.htm#ref_1398_14">Get_Size</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_77_26">Win</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_86_7">N_Lines</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_87_7">N_Cols</A>);
-      <span class="comment"><EM>--  if Natural (N_Cols) &gt; Natural (Count'Last) then</EM></span>
-      <span class="comment"><EM>--     raise Layout_Error;</EM></span>
-      <span class="comment"><EM>--  end if;</EM></span>
-      <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_47_12">Count</A> (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_87_7">N_Cols</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_77_13">Line_Length</A>;
+      <a href="terminal_interface-curses__ads.htm#ref_1399_14">Get_Size</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_78_26">Win</a>, <a href="terminal_interface-curses-text_io__adb.htm#ref_87_7">N_Lines</a>, <a href="terminal_interface-curses-text_io__adb.htm#ref_88_7">N_Cols</a>);
+      <span class="comment"><em>--  if Natural (N_Cols) &gt; Natural (Count'Last) then</em></span>
+      <span class="comment"><em>--     raise Layout_Error;</em></span>
+      <span class="comment"><em>--  end if;</em></span>
+      <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_48_12">Count</a> (<a href="terminal_interface-curses-text_io__adb.htm#ref_88_7">N_Cols</a>);
+   <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_78_13">Line_Length</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_96_13" HREF="terminal_interface-curses-text_io__ads.htm#ref_78_13">Line_Length</A></span> <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_47_12">Count</A>
+   <b>function</b> <span class="symbol"><a name="ref_97_13" href="terminal_interface-curses-text_io__ads.htm#ref_79_13">Line_Length</a></span> <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_48_12">Count</a>
    <b>is</b>
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_77_13">Line_Length</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_62_13">Get_Window</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_78_13">Line_Length</A>;
+      <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_78_13">Line_Length</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</a>);
+   <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_79_13">Line_Length</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_102_13" HREF="terminal_interface-curses-text_io__ads.htm#ref_80_13">Page_Length</A></span> (<span class="symbol"><A NAME="ref_102_26" HREF="terminal_interface-curses-text_io__ads.htm#ref_80_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_47_12">Count</A>
+   <b>function</b> <span class="symbol"><a name="ref_103_13" href="terminal_interface-curses-text_io__ads.htm#ref_81_13">Page_Length</a></span> (<span class="symbol"><a name="ref_103_26" href="terminal_interface-curses-text_io__ads.htm#ref_81_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_48_12">Count</a>
    <b>is</b>
-      <span class="symbol"><A NAME="ref_104_7">N_Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
-      <span class="symbol"><A NAME="ref_105_7">N_Cols</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
+      <span class="symbol"><a name="ref_105_7">N_Lines</a></span> : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
+      <span class="symbol"><a name="ref_106_7">N_Cols</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>;
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1192_13">Scrolling_Allowed</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_80_26">Win</A>) <b>then</b>
+      <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_1193_13">Scrolling_Allowed</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_81_26">Win</a>) <b>then</b>
          <b>return</b> 0;
       <b>else</b>
-         <A HREF="terminal_interface-curses__ads.htm#ref_1398_14">Get_Size</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_80_26">Win</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_104_7">N_Lines</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_105_7">N_Cols</A>);
-         <span class="comment"><EM>--  if Natural (N_Lines) &gt; Natural (Count'Last) then</EM></span>
-         <span class="comment"><EM>--     raise Layout_Error;</EM></span>
-         <span class="comment"><EM>--  end if;</EM></span>
-         <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_47_12">Count</A> (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_104_7">N_Lines</A>);
+         <a href="terminal_interface-curses__ads.htm#ref_1399_14">Get_Size</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_81_26">Win</a>, <a href="terminal_interface-curses-text_io__adb.htm#ref_105_7">N_Lines</a>, <a href="terminal_interface-curses-text_io__adb.htm#ref_106_7">N_Cols</a>);
+         <span class="comment"><em>--  if Natural (N_Lines) &gt; Natural (Count'Last) then</em></span>
+         <span class="comment"><em>--     raise Layout_Error;</em></span>
+         <span class="comment"><em>--  end if;</em></span>
+         <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_48_12">Count</a> (<a href="terminal_interface-curses-text_io__adb.htm#ref_105_7">N_Lines</a>);
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_80_13">Page_Length</A>;
+   <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_81_13">Page_Length</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_118_13" HREF="terminal_interface-curses-text_io__ads.htm#ref_81_13">Page_Length</A></span> <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_47_12">Count</A>
+   <b>function</b> <span class="symbol"><a name="ref_119_13" href="terminal_interface-curses-text_io__ads.htm#ref_82_13">Page_Length</a></span> <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_48_12">Count</a>
    <b>is</b>
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_80_13">Page_Length</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_62_13">Get_Window</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_81_13">Page_Length</A>;
+      <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_81_13">Page_Length</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</a>);
+   <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_82_13">Page_Length</a>;
 
-   <span class="comment"><EM>------------------------------------</EM></span>
-   <span class="comment"><EM>-- Column, Line, and Page Control --</EM></span>
-   <span class="comment"><EM>------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_127_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_86_14">New_Line</A></span> (<span class="symbol"><A NAME="ref_127_24" HREF="terminal_interface-curses-text_io__ads.htm#ref_86_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_127_38" HREF="terminal_interface-curses-text_io__ads.htm#ref_86_38">Spacing</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A> := 1)
+   <span class="comment"><em>------------------------------------</em></span>
+   <span class="comment"><em>-- Column, Line, and Page Control --</em></span>
+   <span class="comment"><em>------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_128_14" href="terminal_interface-curses-text_io__ads.htm#ref_87_14">New_Line</a></span> (<span class="symbol"><a name="ref_128_24" href="terminal_interface-curses-text_io__ads.htm#ref_87_24">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_128_38" href="terminal_interface-curses-text_io__ads.htm#ref_87_38">Spacing</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a> := 1)
    <b>is</b>
-      <span class="symbol"><A NAME="ref_129_7">P_Size</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_47_12">Count</A> := <A HREF="terminal_interface-curses-text_io__ads.htm#ref_80_13">Page_Length</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_86_24">Win</A>);
+      <span class="symbol"><a name="ref_130_7">P_Size</a></span> : <b>constant</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_48_12">Count</a> := <a href="terminal_interface-curses-text_io__ads.htm#ref_81_13">Page_Length</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_87_24">Win</a>);
    <b>begin</b>
-      <b>if</b> <b>not</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_86_38">Spacing</A>'Valid <b>then</b>
+      <b>if</b> <b>not</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_87_38">Spacing</a>'Valid <b>then</b>
          <b>raise</b> Constraint_Error;
       <b>end</b> <b>if</b>;
 
-      <b>for</b> <span class="symbol"><A NAME="ref_135_11">I</A></span> <b>in</b> 1 .. <A HREF="terminal_interface-curses-text_io__ads.htm#ref_86_38">Spacing</A> <b>loop</b>
-         <b>if</b> <A HREF="terminal_interface-curses-text_io__adb.htm#ref_129_7">P_Size</A> &gt; 0 <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_101_13">Line</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_86_24">Win</A>) &gt;= <A HREF="terminal_interface-curses-text_io__adb.htm#ref_129_7">P_Size</A> <b>then</b>
-            <A HREF="terminal_interface-curses-text_io__ads.htm#ref_89_14">New_Page</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_86_24">Win</A>);
+      <b>for</b> <span class="symbol"><a name="ref_136_11">I</a></span> <b>in</b> 1 .. <a href="terminal_interface-curses-text_io__ads.htm#ref_87_38">Spacing</a> <b>loop</b>
+         <b>if</b> <a href="terminal_interface-curses-text_io__adb.htm#ref_130_7">P_Size</a> &gt; 0 <b>and</b> <b>then</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_102_13">Line</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_87_24">Win</a>) &gt;= <a href="terminal_interface-curses-text_io__adb.htm#ref_130_7">P_Size</a> <b>then</b>
+            <a href="terminal_interface-curses-text_io__ads.htm#ref_90_14">New_Page</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_87_24">Win</a>);
          <b>else</b>
-            <A HREF="terminal_interface-curses__ads.htm#ref_698_14">Add</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_86_24">Win</A>, ASCII.LF);
+            <a href="terminal_interface-curses__ads.htm#ref_699_14">Add</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_87_24">Win</a>, ASCII.LF);
          <b>end</b> <b>if</b>;
       <b>end</b> <b>loop</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_86_14">New_Line</A>;
+   <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_87_14">New_Line</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_144_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_87_14">New_Line</A></span> (<span class="symbol"><A NAME="ref_144_24" HREF="terminal_interface-curses-text_io__ads.htm#ref_87_24">Spacing</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A> := 1)
+   <b>procedure</b> <span class="symbol"><a name="ref_145_14" href="terminal_interface-curses-text_io__ads.htm#ref_88_14">New_Line</a></span> (<span class="symbol"><a name="ref_145_24" href="terminal_interface-curses-text_io__ads.htm#ref_88_24">Spacing</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a> := 1)
    <b>is</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses-text_io__ads.htm#ref_86_14">New_Line</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_62_13">Get_Window</A>, <A HREF="terminal_interface-curses-text_io__ads.htm#ref_87_24">Spacing</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_87_14">New_Line</A>;
+      <a href="terminal_interface-curses-text_io__ads.htm#ref_87_14">New_Line</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</a>, <a href="terminal_interface-curses-text_io__ads.htm#ref_88_24">Spacing</a>);
+   <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_88_14">New_Line</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_150_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_89_14">New_Page</A></span> (<span class="symbol"><A NAME="ref_150_24" HREF="terminal_interface-curses-text_io__ads.htm#ref_89_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_151_14" href="terminal_interface-curses-text_io__ads.htm#ref_90_14">New_Page</a></span> (<span class="symbol"><a name="ref_151_24" href="terminal_interface-curses-text_io__ads.htm#ref_90_24">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>)
    <b>is</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses__ads.htm#ref_1250_14">Clear</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_89_24">Win</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_89_14">New_Page</A>;
+      <a href="terminal_interface-curses__ads.htm#ref_1251_14">Clear</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_90_24">Win</a>);
+   <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_90_14">New_Page</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_156_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_90_14">New_Page</A></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_157_14" href="terminal_interface-curses-text_io__ads.htm#ref_91_14">New_Page</a></span>
    <b>is</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses-text_io__ads.htm#ref_89_14">New_Page</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_62_13">Get_Window</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_90_14">New_Page</A>;
+      <a href="terminal_interface-curses-text_io__ads.htm#ref_90_14">New_Page</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</a>);
+   <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_91_14">New_Page</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_162_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_92_14">Set_Col</A></span> (<span class="symbol"><A NAME="ref_162_23" HREF="terminal_interface-curses-text_io__ads.htm#ref_92_23">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;  <span class="symbol"><A NAME="ref_162_38" HREF="terminal_interface-curses-text_io__ads.htm#ref_92_38">To</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_163_14" href="terminal_interface-curses-text_io__ads.htm#ref_93_14">Set_Col</a></span> (<span class="symbol"><a name="ref_163_23" href="terminal_interface-curses-text_io__ads.htm#ref_93_23">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;  <span class="symbol"><a name="ref_163_38" href="terminal_interface-curses-text_io__ads.htm#ref_93_38">To</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a>)
    <b>is</b>
-      <span class="symbol"><A NAME="ref_164_7">Y</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_165_7">X1</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-      <span class="symbol"><A NAME="ref_166_7">X2</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-      <span class="symbol"><A NAME="ref_167_7">N</A></span>  : Natural;
+      <span class="symbol"><a name="ref_165_7">Y</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_166_7">X1</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+      <span class="symbol"><a name="ref_167_7">X2</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+      <span class="symbol"><a name="ref_168_7">N</a></span>  : Natural;
    <b>begin</b>
-      <b>if</b> <b>not</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_92_38">To</A>'Valid <b>then</b>
+      <b>if</b> <b>not</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_93_38">To</a>'Valid <b>then</b>
          <b>raise</b> Constraint_Error;
       <b>end</b> <b>if</b>;
 
-      <A HREF="terminal_interface-curses__ads.htm#ref_1414_14">Get_Cursor_Position</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_92_23">Win</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_164_7">Y</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_165_7">X1</A>);
-      <A HREF="terminal_interface-curses-text_io__adb.htm#ref_167_7">N</A>  := Natural (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_92_38">To</A>); <A HREF="terminal_interface-curses-text_io__adb.htm#ref_167_7">N</A> := <A HREF="terminal_interface-curses-text_io__adb.htm#ref_167_7">N</A> - 1;
-      <A HREF="terminal_interface-curses-text_io__adb.htm#ref_166_7">X2</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_167_7">N</A>);
-      <b>if</b> <A HREF="terminal_interface-curses-text_io__adb.htm#ref_165_7">X1</A> &gt; <A HREF="terminal_interface-curses-text_io__adb.htm#ref_166_7">X2</A> <b>then</b>
-         <A HREF="terminal_interface-curses-text_io__ads.htm#ref_86_14">New_Line</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_92_23">Win</A>, 1);
-         <A HREF="terminal_interface-curses-text_io__adb.htm#ref_165_7">X1</A> := 0;
+      <a href="terminal_interface-curses__ads.htm#ref_1415_14">Get_Cursor_Position</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_93_23">Win</a>, <a href="terminal_interface-curses-text_io__adb.htm#ref_165_7">Y</a>, <a href="terminal_interface-curses-text_io__adb.htm#ref_166_7">X1</a>);
+      <a href="terminal_interface-curses-text_io__adb.htm#ref_168_7">N</a>  := Natural (<a href="terminal_interface-curses-text_io__ads.htm#ref_93_38">To</a>); <a href="terminal_interface-curses-text_io__adb.htm#ref_168_7">N</a> := <a href="terminal_interface-curses-text_io__adb.htm#ref_168_7">N</a> - 1;
+      <a href="terminal_interface-curses-text_io__adb.htm#ref_167_7">X2</a> := <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> (<a href="terminal_interface-curses-text_io__adb.htm#ref_168_7">N</a>);
+      <b>if</b> <a href="terminal_interface-curses-text_io__adb.htm#ref_166_7">X1</a> &gt; <a href="terminal_interface-curses-text_io__adb.htm#ref_167_7">X2</a> <b>then</b>
+         <a href="terminal_interface-curses-text_io__ads.htm#ref_87_14">New_Line</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_93_23">Win</a>, 1);
+         <a href="terminal_interface-curses-text_io__adb.htm#ref_166_7">X1</a> := 0;
       <b>end</b> <b>if</b>;
-      <b>if</b> <A HREF="terminal_interface-curses-text_io__adb.htm#ref_165_7">X1</A> &lt; <A HREF="terminal_interface-curses-text_io__adb.htm#ref_166_7">X2</A> <b>then</b>
+      <b>if</b> <a href="terminal_interface-curses-text_io__adb.htm#ref_166_7">X1</a> &lt; <a href="terminal_interface-curses-text_io__adb.htm#ref_167_7">X2</a> <b>then</b>
          <b>declare</b>
-            <span class="symbol"><A NAME="ref_182_13">Filler</A></span> : <b>constant</b> String (Integer (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_165_7">X1</A>) .. (Integer (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_166_7">X2</A>) - 1))
+            <span class="symbol"><a name="ref_183_13">Filler</a></span> : <b>constant</b> String (Integer (<a href="terminal_interface-curses-text_io__adb.htm#ref_166_7">X1</a>) .. (Integer (<a href="terminal_interface-curses-text_io__adb.htm#ref_167_7">X2</a>) - 1))
               := (<b>others</b> =&gt; ' ');
          <b>begin</b>
-            <A HREF="terminal_interface-curses-text_io__ads.htm#ref_115_14">Put</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_92_23">Win</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_182_13">Filler</A>);
+            <a href="terminal_interface-curses-text_io__ads.htm#ref_116_14">Put</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_93_23">Win</a>, <a href="terminal_interface-curses-text_io__adb.htm#ref_183_13">Filler</a>);
          <b>end</b>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_92_14">Set_Col</A>;
+   <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_93_14">Set_Col</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_190_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_93_14">Set_Col</A></span> (<span class="symbol"><A NAME="ref_190_23" HREF="terminal_interface-curses-text_io__ads.htm#ref_93_23">To</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_191_14" href="terminal_interface-curses-text_io__ads.htm#ref_94_14">Set_Col</a></span> (<span class="symbol"><a name="ref_191_23" href="terminal_interface-curses-text_io__ads.htm#ref_94_23">To</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a>)
    <b>is</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses-text_io__ads.htm#ref_92_14">Set_Col</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_62_13">Get_Window</A>, <A HREF="terminal_interface-curses-text_io__ads.htm#ref_93_23">To</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_93_14">Set_Col</A>;
+      <a href="terminal_interface-curses-text_io__ads.htm#ref_93_14">Set_Col</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</a>, <a href="terminal_interface-curses-text_io__ads.htm#ref_94_23">To</a>);
+   <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_94_14">Set_Col</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_196_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_95_14">Set_Line</A></span> (<span class="symbol"><A NAME="ref_196_24" HREF="terminal_interface-curses-text_io__ads.htm#ref_95_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_196_38" HREF="terminal_interface-curses-text_io__ads.htm#ref_95_38">To</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_197_14" href="terminal_interface-curses-text_io__ads.htm#ref_96_14">Set_Line</a></span> (<span class="symbol"><a name="ref_197_24" href="terminal_interface-curses-text_io__ads.htm#ref_96_24">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_197_38" href="terminal_interface-curses-text_io__ads.htm#ref_96_38">To</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a>)
    <b>is</b>
-      <span class="symbol"><A NAME="ref_198_7">Y1</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_199_7">Y2</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_200_7">X</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-      <span class="symbol"><A NAME="ref_201_7">N</A></span>  : Natural;
+      <span class="symbol"><a name="ref_199_7">Y1</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_200_7">Y2</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_201_7">X</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+      <span class="symbol"><a name="ref_202_7">N</a></span>  : Natural;
    <b>begin</b>
-      <b>if</b> <b>not</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_95_38">To</A>'Valid <b>then</b>
+      <b>if</b> <b>not</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_96_38">To</a>'Valid <b>then</b>
          <b>raise</b> Constraint_Error;
       <b>end</b> <b>if</b>;
 
-      <A HREF="terminal_interface-curses__ads.htm#ref_1414_14">Get_Cursor_Position</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_95_24">Win</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_198_7">Y1</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_200_7">X</A>);
-      <b>pragma</b> Warnings (Off, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_200_7">X</A>);         <span class="comment"><EM>--  unreferenced</EM></span>
-      <A HREF="terminal_interface-curses-text_io__adb.htm#ref_201_7">N</A>  := Natural (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_95_38">To</A>); <A HREF="terminal_interface-curses-text_io__adb.htm#ref_201_7">N</A> := <A HREF="terminal_interface-curses-text_io__adb.htm#ref_201_7">N</A> - 1;
-      <A HREF="terminal_interface-curses-text_io__adb.htm#ref_199_7">Y2</A> := <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A> (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_201_7">N</A>);
-      <b>if</b> <A HREF="terminal_interface-curses-text_io__adb.htm#ref_199_7">Y2</A> &lt; <A HREF="terminal_interface-curses-text_io__adb.htm#ref_198_7">Y1</A> <b>then</b>
-         <A HREF="terminal_interface-curses-text_io__ads.htm#ref_89_14">New_Page</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_95_24">Win</A>);
-         <A HREF="terminal_interface-curses-text_io__adb.htm#ref_198_7">Y1</A> := 0;
+      <a href="terminal_interface-curses__ads.htm#ref_1415_14">Get_Cursor_Position</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_96_24">Win</a>, <a href="terminal_interface-curses-text_io__adb.htm#ref_199_7">Y1</a>, <a href="terminal_interface-curses-text_io__adb.htm#ref_201_7">X</a>);
+      <b>pragma</b> Warnings (Off, <a href="terminal_interface-curses-text_io__adb.htm#ref_201_7">X</a>);         <span class="comment"><em>--  unreferenced</em></span>
+      <a href="terminal_interface-curses-text_io__adb.htm#ref_202_7">N</a>  := Natural (<a href="terminal_interface-curses-text_io__ads.htm#ref_96_38">To</a>); <a href="terminal_interface-curses-text_io__adb.htm#ref_202_7">N</a> := <a href="terminal_interface-curses-text_io__adb.htm#ref_202_7">N</a> - 1;
+      <a href="terminal_interface-curses-text_io__adb.htm#ref_200_7">Y2</a> := <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a> (<a href="terminal_interface-curses-text_io__adb.htm#ref_202_7">N</a>);
+      <b>if</b> <a href="terminal_interface-curses-text_io__adb.htm#ref_200_7">Y2</a> &lt; <a href="terminal_interface-curses-text_io__adb.htm#ref_199_7">Y1</a> <b>then</b>
+         <a href="terminal_interface-curses-text_io__ads.htm#ref_90_14">New_Page</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_96_24">Win</a>);
+         <a href="terminal_interface-curses-text_io__adb.htm#ref_199_7">Y1</a> := 0;
       <b>end</b> <b>if</b>;
-      <b>if</b> <A HREF="terminal_interface-curses-text_io__adb.htm#ref_198_7">Y1</A> &lt; <A HREF="terminal_interface-curses-text_io__adb.htm#ref_199_7">Y2</A> <b>then</b>
-         <A HREF="terminal_interface-curses-text_io__ads.htm#ref_86_14">New_Line</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_95_24">Win</A>, <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A> (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_199_7">Y2</A> - <A HREF="terminal_interface-curses-text_io__adb.htm#ref_198_7">Y1</A>));
+      <b>if</b> <a href="terminal_interface-curses-text_io__adb.htm#ref_199_7">Y1</a> &lt; <a href="terminal_interface-curses-text_io__adb.htm#ref_200_7">Y2</a> <b>then</b>
+         <a href="terminal_interface-curses-text_io__ads.htm#ref_87_14">New_Line</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_96_24">Win</a>, <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a> (<a href="terminal_interface-curses-text_io__adb.htm#ref_200_7">Y2</a> - <a href="terminal_interface-curses-text_io__adb.htm#ref_199_7">Y1</a>));
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_95_14">Set_Line</A>;
+   <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_96_14">Set_Line</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_220_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_96_14">Set_Line</A></span> (<span class="symbol"><A NAME="ref_220_24" HREF="terminal_interface-curses-text_io__ads.htm#ref_96_24">To</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_221_14" href="terminal_interface-curses-text_io__ads.htm#ref_97_14">Set_Line</a></span> (<span class="symbol"><a name="ref_221_24" href="terminal_interface-curses-text_io__ads.htm#ref_97_24">To</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a>)
    <b>is</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses-text_io__ads.htm#ref_95_14">Set_Line</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_62_13">Get_Window</A>, <A HREF="terminal_interface-curses-text_io__ads.htm#ref_96_24">To</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_96_14">Set_Line</A>;
+      <a href="terminal_interface-curses-text_io__ads.htm#ref_96_14">Set_Line</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</a>, <a href="terminal_interface-curses-text_io__ads.htm#ref_97_24">To</a>);
+   <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_97_14">Set_Line</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_226_13" HREF="terminal_interface-curses-text_io__ads.htm#ref_98_13">Col</A></span> (<span class="symbol"><A NAME="ref_226_18" HREF="terminal_interface-curses-text_io__ads.htm#ref_98_18">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>
+   <b>function</b> <span class="symbol"><a name="ref_227_13" href="terminal_interface-curses-text_io__ads.htm#ref_99_13">Col</a></span> (<span class="symbol"><a name="ref_227_18" href="terminal_interface-curses-text_io__ads.htm#ref_99_18">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a>
    <b>is</b>
-      <span class="symbol"><A NAME="ref_228_7">Y</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_229_7">X</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-      <span class="symbol"><A NAME="ref_230_7">N</A></span> : Natural;
+      <span class="symbol"><a name="ref_229_7">Y</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_230_7">X</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+      <span class="symbol"><a name="ref_231_7">N</a></span> : Natural;
    <b>begin</b>
-      <A HREF="terminal_interface-curses__ads.htm#ref_1414_14">Get_Cursor_Position</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_98_18">Win</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_228_7">Y</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_229_7">X</A>);
-      <A HREF="terminal_interface-curses-text_io__adb.htm#ref_230_7">N</A> := Natural (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_229_7">X</A>); <A HREF="terminal_interface-curses-text_io__adb.htm#ref_230_7">N</A> := <A HREF="terminal_interface-curses-text_io__adb.htm#ref_230_7">N</A> + 1;
-      <span class="comment"><EM>--  if N &gt; Natural (Count'Last) then</EM></span>
-      <span class="comment"><EM>--     raise Layout_Error;</EM></span>
-      <span class="comment"><EM>--  end if;</EM></span>
-      <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A> (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_230_7">N</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_98_13">Col</A>;
+      <a href="terminal_interface-curses__ads.htm#ref_1415_14">Get_Cursor_Position</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_99_18">Win</a>, <a href="terminal_interface-curses-text_io__adb.htm#ref_229_7">Y</a>, <a href="terminal_interface-curses-text_io__adb.htm#ref_230_7">X</a>);
+      <a href="terminal_interface-curses-text_io__adb.htm#ref_231_7">N</a> := Natural (<a href="terminal_interface-curses-text_io__adb.htm#ref_230_7">X</a>); <a href="terminal_interface-curses-text_io__adb.htm#ref_231_7">N</a> := <a href="terminal_interface-curses-text_io__adb.htm#ref_231_7">N</a> + 1;
+      <span class="comment"><em>--  if N &gt; Natural (Count'Last) then</em></span>
+      <span class="comment"><em>--     raise Layout_Error;</em></span>
+      <span class="comment"><em>--  end if;</em></span>
+      <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a> (<a href="terminal_interface-curses-text_io__adb.htm#ref_231_7">N</a>);
+   <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_99_13">Col</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_240_13" HREF="terminal_interface-curses-text_io__ads.htm#ref_99_13">Col</A></span> <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>
+   <b>function</b> <span class="symbol"><a name="ref_241_13" href="terminal_interface-curses-text_io__ads.htm#ref_100_13">Col</a></span> <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a>
    <b>is</b>
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_98_13">Col</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_62_13">Get_Window</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_99_13">Col</A>;
+      <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_99_13">Col</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</a>);
+   <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_100_13">Col</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_246_13" HREF="terminal_interface-curses-text_io__ads.htm#ref_101_13">Line</A></span> (<span class="symbol"><A NAME="ref_246_19" HREF="terminal_interface-curses-text_io__ads.htm#ref_101_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>
+   <b>function</b> <span class="symbol"><a name="ref_247_13" href="terminal_interface-curses-text_io__ads.htm#ref_102_13">Line</a></span> (<span class="symbol"><a name="ref_247_19" href="terminal_interface-curses-text_io__ads.htm#ref_102_19">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a>
    <b>is</b>
-      <span class="symbol"><A NAME="ref_248_7">Y</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_249_7">X</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-      <span class="symbol"><A NAME="ref_250_7">N</A></span> : Natural;
+      <span class="symbol"><a name="ref_249_7">Y</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_250_7">X</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+      <span class="symbol"><a name="ref_251_7">N</a></span> : Natural;
    <b>begin</b>
-      <A HREF="terminal_interface-curses__ads.htm#ref_1414_14">Get_Cursor_Position</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_101_19">Win</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_248_7">Y</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_249_7">X</A>);
-      <A HREF="terminal_interface-curses-text_io__adb.htm#ref_250_7">N</A> := Natural (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_248_7">Y</A>); <A HREF="terminal_interface-curses-text_io__adb.htm#ref_250_7">N</A> := <A HREF="terminal_interface-curses-text_io__adb.htm#ref_250_7">N</A> + 1;
-      <span class="comment"><EM>--  if N &gt; Natural (Count'Last) then</EM></span>
-      <span class="comment"><EM>--     raise Layout_Error;</EM></span>
-      <span class="comment"><EM>--  end if;</EM></span>
-      <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A> (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_250_7">N</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_101_13">Line</A>;
+      <a href="terminal_interface-curses__ads.htm#ref_1415_14">Get_Cursor_Position</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_102_19">Win</a>, <a href="terminal_interface-curses-text_io__adb.htm#ref_249_7">Y</a>, <a href="terminal_interface-curses-text_io__adb.htm#ref_250_7">X</a>);
+      <a href="terminal_interface-curses-text_io__adb.htm#ref_251_7">N</a> := Natural (<a href="terminal_interface-curses-text_io__adb.htm#ref_249_7">Y</a>); <a href="terminal_interface-curses-text_io__adb.htm#ref_251_7">N</a> := <a href="terminal_interface-curses-text_io__adb.htm#ref_251_7">N</a> + 1;
+      <span class="comment"><em>--  if N &gt; Natural (Count'Last) then</em></span>
+      <span class="comment"><em>--     raise Layout_Error;</em></span>
+      <span class="comment"><em>--  end if;</em></span>
+      <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a> (<a href="terminal_interface-curses-text_io__adb.htm#ref_251_7">N</a>);
+   <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_102_13">Line</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_260_13" HREF="terminal_interface-curses-text_io__ads.htm#ref_102_13">Line</A></span> <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>
+   <b>function</b> <span class="symbol"><a name="ref_261_13" href="terminal_interface-curses-text_io__ads.htm#ref_103_13">Line</a></span> <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a>
    <b>is</b>
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_101_13">Line</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_62_13">Get_Window</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_102_13">Line</A>;
+      <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_102_13">Line</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</a>);
+   <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_103_13">Line</a>;
 
-   <span class="comment"><EM>-----------------------</EM></span>
-   <span class="comment"><EM>-- Characters Output --</EM></span>
-   <span class="comment"><EM>-----------------------</EM></span>
+   <span class="comment"><em>-----------------------</em></span>
+   <span class="comment"><em>-- Characters Output --</em></span>
+   <span class="comment"><em>-----------------------</em></span>
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_270_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_108_14">Put</A></span> (<span class="symbol"><A NAME="ref_270_19" HREF="terminal_interface-curses-text_io__ads.htm#ref_108_19">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_270_34" HREF="terminal_interface-curses-text_io__ads.htm#ref_108_34">Item</A></span> : Character)
+   <b>procedure</b> <span class="symbol"><a name="ref_271_14" href="terminal_interface-curses-text_io__ads.htm#ref_109_14">Put</a></span> (<span class="symbol"><a name="ref_271_19" href="terminal_interface-curses-text_io__ads.htm#ref_109_19">Win</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_271_34" href="terminal_interface-curses-text_io__ads.htm#ref_109_34">Item</a></span> : Character)
    <b>is</b>
-      <span class="symbol"><A NAME="ref_272_7">P_Size</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_47_12">Count</A> := <A HREF="terminal_interface-curses-text_io__ads.htm#ref_80_13">Page_Length</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_108_19">Win</A>);
-      <span class="symbol"><A NAME="ref_273_7">Y</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_274_7">X</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-      <span class="symbol"><A NAME="ref_275_7">L</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
-      <span class="symbol"><A NAME="ref_276_7">C</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
+      <span class="symbol"><a name="ref_273_7">P_Size</a></span> : <b>constant</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_48_12">Count</a> := <a href="terminal_interface-curses-text_io__ads.htm#ref_81_13">Page_Length</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_109_19">Win</a>);
+      <span class="symbol"><a name="ref_274_7">Y</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_275_7">X</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+      <span class="symbol"><a name="ref_276_7">L</a></span> : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
+      <span class="symbol"><a name="ref_277_7">C</a></span> : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>;
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-text_io__adb.htm#ref_272_7">P_Size</A> &gt; 0 <b>then</b>
-         <A HREF="terminal_interface-curses__ads.htm#ref_1414_14">Get_Cursor_Position</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_108_19">Win</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_273_7">Y</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_274_7">X</A>);
-         <A HREF="terminal_interface-curses__ads.htm#ref_1398_14">Get_Size</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_108_19">Win</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_275_7">L</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_276_7">C</A>);
-         <b>if</b> (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_273_7">Y</A> + 1) = <A HREF="terminal_interface-curses-text_io__adb.htm#ref_275_7">L</A> <b>and</b> <b>then</b> (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_274_7">X</A> + 1) = <A HREF="terminal_interface-curses-text_io__adb.htm#ref_276_7">C</A> <b>then</b>
-            <A HREF="terminal_interface-curses-text_io__ads.htm#ref_89_14">New_Page</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_108_19">Win</A>);
+      <b>if</b> <a href="terminal_interface-curses-text_io__adb.htm#ref_273_7">P_Size</a> &gt; 0 <b>then</b>
+         <a href="terminal_interface-curses__ads.htm#ref_1415_14">Get_Cursor_Position</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_109_19">Win</a>, <a href="terminal_interface-curses-text_io__adb.htm#ref_274_7">Y</a>, <a href="terminal_interface-curses-text_io__adb.htm#ref_275_7">X</a>);
+         <a href="terminal_interface-curses__ads.htm#ref_1399_14">Get_Size</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_109_19">Win</a>, <a href="terminal_interface-curses-text_io__adb.htm#ref_276_7">L</a>, <a href="terminal_interface-curses-text_io__adb.htm#ref_277_7">C</a>);
+         <b>if</b> (<a href="terminal_interface-curses-text_io__adb.htm#ref_274_7">Y</a> + 1) = <a href="terminal_interface-curses-text_io__adb.htm#ref_276_7">L</a> <b>and</b> <b>then</b> (<a href="terminal_interface-curses-text_io__adb.htm#ref_275_7">X</a> + 1) = <a href="terminal_interface-curses-text_io__adb.htm#ref_277_7">C</a> <b>then</b>
+            <a href="terminal_interface-curses-text_io__ads.htm#ref_90_14">New_Page</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_109_19">Win</a>);
          <b>end</b> <b>if</b>;
       <b>end</b> <b>if</b>;
-      <A HREF="terminal_interface-curses__ads.htm#ref_698_14">Add</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_108_19">Win</A>, <A HREF="terminal_interface-curses-text_io__ads.htm#ref_108_34">Item</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_108_14">Put</A>;
+      <a href="terminal_interface-curses__ads.htm#ref_699_14">Add</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_109_19">Win</a>, <a href="terminal_interface-curses-text_io__ads.htm#ref_109_34">Item</a>);
+   <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_109_14">Put</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_288_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_109_14">Put</A></span> (<span class="symbol"><A NAME="ref_288_19" HREF="terminal_interface-curses-text_io__ads.htm#ref_109_19">Item</A></span> : Character)
+   <b>procedure</b> <span class="symbol"><a name="ref_289_14" href="terminal_interface-curses-text_io__ads.htm#ref_110_14">Put</a></span> (<span class="symbol"><a name="ref_289_19" href="terminal_interface-curses-text_io__ads.htm#ref_110_19">Item</a></span> : Character)
    <b>is</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses-text_io__ads.htm#ref_108_14">Put</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_62_13">Get_Window</A>, <A HREF="terminal_interface-curses-text_io__ads.htm#ref_109_19">Item</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_109_14">Put</A>;
+      <a href="terminal_interface-curses-text_io__ads.htm#ref_109_14">Put</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</a>, <a href="terminal_interface-curses-text_io__ads.htm#ref_110_19">Item</a>);
+   <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_110_14">Put</a>;
 
-   <span class="comment"><EM>--------------------</EM></span>
-   <span class="comment"><EM>-- Strings-Output --</EM></span>
-   <span class="comment"><EM>--------------------</EM></span>
+   <span class="comment"><em>--------------------</em></span>
+   <span class="comment"><em>-- Strings-Output --</em></span>
+   <span class="comment"><em>--------------------</em></span>
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_298_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_115_14">Put</A></span> (<span class="symbol"><A NAME="ref_298_19" HREF="terminal_interface-curses-text_io__ads.htm#ref_115_19">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_298_34" HREF="terminal_interface-curses-text_io__ads.htm#ref_115_34">Item</A></span> : String)
+   <b>procedure</b> <span class="symbol"><a name="ref_299_14" href="terminal_interface-curses-text_io__ads.htm#ref_116_14">Put</a></span> (<span class="symbol"><a name="ref_299_19" href="terminal_interface-curses-text_io__ads.htm#ref_116_19">Win</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_299_34" href="terminal_interface-curses-text_io__ads.htm#ref_116_34">Item</a></span> : String)
    <b>is</b>
-      <span class="symbol"><A NAME="ref_300_7">P_Size</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_47_12">Count</A> := <A HREF="terminal_interface-curses-text_io__ads.htm#ref_80_13">Page_Length</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_115_19">Win</A>);
-      <span class="symbol"><A NAME="ref_301_7">Y</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_302_7">X</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-      <span class="symbol"><A NAME="ref_303_7">L</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
-      <span class="symbol"><A NAME="ref_304_7">C</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
+      <span class="symbol"><a name="ref_301_7">P_Size</a></span> : <b>constant</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_48_12">Count</a> := <a href="terminal_interface-curses-text_io__ads.htm#ref_81_13">Page_Length</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_116_19">Win</a>);
+      <span class="symbol"><a name="ref_302_7">Y</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_303_7">X</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+      <span class="symbol"><a name="ref_304_7">L</a></span> : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
+      <span class="symbol"><a name="ref_305_7">C</a></span> : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>;
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses-text_io__adb.htm#ref_300_7">P_Size</A> &gt; 0 <b>then</b>
-         <A HREF="terminal_interface-curses__ads.htm#ref_1414_14">Get_Cursor_Position</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_115_19">Win</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_301_7">Y</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_302_7">X</A>);
-         <A HREF="terminal_interface-curses__ads.htm#ref_1398_14">Get_Size</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_115_19">Win</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_303_7">L</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_304_7">C</A>);
-         <b>if</b> (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_301_7">Y</A> + 1) = <A HREF="terminal_interface-curses-text_io__adb.htm#ref_303_7">L</A> <b>and</b> <b>then</b> (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_302_7">X</A> + 1 + <A HREF="terminal_interface-curses-text_io__ads.htm#ref_115_34">Item</A>'Length) &gt;= <A HREF="terminal_interface-curses-text_io__adb.htm#ref_304_7">C</A> <b>then</b>
-            <A HREF="terminal_interface-curses-text_io__ads.htm#ref_89_14">New_Page</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_115_19">Win</A>);
+      <b>if</b> <a href="terminal_interface-curses-text_io__adb.htm#ref_301_7">P_Size</a> &gt; 0 <b>then</b>
+         <a href="terminal_interface-curses__ads.htm#ref_1415_14">Get_Cursor_Position</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_116_19">Win</a>, <a href="terminal_interface-curses-text_io__adb.htm#ref_302_7">Y</a>, <a href="terminal_interface-curses-text_io__adb.htm#ref_303_7">X</a>);
+         <a href="terminal_interface-curses__ads.htm#ref_1399_14">Get_Size</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_116_19">Win</a>, <a href="terminal_interface-curses-text_io__adb.htm#ref_304_7">L</a>, <a href="terminal_interface-curses-text_io__adb.htm#ref_305_7">C</a>);
+         <b>if</b> (<a href="terminal_interface-curses-text_io__adb.htm#ref_302_7">Y</a> + 1) = <a href="terminal_interface-curses-text_io__adb.htm#ref_304_7">L</a> <b>and</b> <b>then</b> (<a href="terminal_interface-curses-text_io__adb.htm#ref_303_7">X</a> + 1 + <a href="terminal_interface-curses-text_io__ads.htm#ref_116_34">Item</a>'Length) &gt;= <a href="terminal_interface-curses-text_io__adb.htm#ref_305_7">C</a> <b>then</b>
+            <a href="terminal_interface-curses-text_io__ads.htm#ref_90_14">New_Page</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_116_19">Win</a>);
          <b>end</b> <b>if</b>;
       <b>end</b> <b>if</b>;
-      <A HREF="terminal_interface-curses__ads.htm#ref_823_14">Add</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_115_19">Win</A>, <A HREF="terminal_interface-curses-text_io__ads.htm#ref_115_34">Item</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_115_14">Put</A>;
+      <a href="terminal_interface-curses__ads.htm#ref_824_14">Add</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_116_19">Win</a>, <a href="terminal_interface-curses-text_io__ads.htm#ref_116_34">Item</a>);
+   <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_116_14">Put</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_316_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_116_14">Put</A></span> (<span class="symbol"><A NAME="ref_316_19" HREF="terminal_interface-curses-text_io__ads.htm#ref_116_19">Item</A></span> : String)
+   <b>procedure</b> <span class="symbol"><a name="ref_317_14" href="terminal_interface-curses-text_io__ads.htm#ref_117_14">Put</a></span> (<span class="symbol"><a name="ref_317_19" href="terminal_interface-curses-text_io__ads.htm#ref_117_19">Item</a></span> : String)
    <b>is</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses-text_io__ads.htm#ref_115_14">Put</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_62_13">Get_Window</A>, <A HREF="terminal_interface-curses-text_io__ads.htm#ref_116_19">Item</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_116_14">Put</A>;
+      <a href="terminal_interface-curses-text_io__ads.htm#ref_116_14">Put</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</a>, <a href="terminal_interface-curses-text_io__ads.htm#ref_117_19">Item</a>);
+   <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_117_14">Put</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_322_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_118_14">Put_Line</A></span>
-     (<span class="symbol"><A NAME="ref_323_7" HREF="terminal_interface-curses-text_io__ads.htm#ref_119_7">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-      <span class="symbol"><A NAME="ref_324_7" HREF="terminal_interface-curses-text_io__ads.htm#ref_120_7">Item</A></span> : String)
+   <b>procedure</b> <span class="symbol"><a name="ref_323_14" href="terminal_interface-curses-text_io__ads.htm#ref_119_14">Put_Line</a></span>
+     (<span class="symbol"><a name="ref_324_7" href="terminal_interface-curses-text_io__ads.htm#ref_120_7">Win</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+      <span class="symbol"><a name="ref_325_7" href="terminal_interface-curses-text_io__ads.htm#ref_121_7">Item</a></span> : String)
    <b>is</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses-text_io__ads.htm#ref_115_14">Put</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_119_7">Win</A>, <A HREF="terminal_interface-curses-text_io__ads.htm#ref_120_7">Item</A>);
-      <A HREF="terminal_interface-curses-text_io__ads.htm#ref_86_14">New_Line</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_119_7">Win</A>, 1);
-   <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_118_14">Put_Line</A>;
+      <a href="terminal_interface-curses-text_io__ads.htm#ref_116_14">Put</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_120_7">Win</a>, <a href="terminal_interface-curses-text_io__ads.htm#ref_121_7">Item</a>);
+      <a href="terminal_interface-curses-text_io__ads.htm#ref_87_14">New_Line</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_120_7">Win</a>, 1);
+   <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_119_14">Put_Line</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_331_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_122_14">Put_Line</A></span>
-     (<span class="symbol"><A NAME="ref_332_7" HREF="terminal_interface-curses-text_io__ads.htm#ref_123_7">Item</A></span> : String)
+   <b>procedure</b> <span class="symbol"><a name="ref_332_14" href="terminal_interface-curses-text_io__ads.htm#ref_123_14">Put_Line</a></span>
+     (<span class="symbol"><a name="ref_333_7" href="terminal_interface-curses-text_io__ads.htm#ref_124_7">Item</a></span> : String)
    <b>is</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses-text_io__ads.htm#ref_118_14">Put_Line</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_62_13">Get_Window</A>, <A HREF="terminal_interface-curses-text_io__ads.htm#ref_123_7">Item</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_122_14">Put_Line</A>;
+      <a href="terminal_interface-curses-text_io__ads.htm#ref_119_14">Put_Line</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</a>, <a href="terminal_interface-curses-text_io__ads.htm#ref_124_7">Item</a>);
+   <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_123_14">Put_Line</a>;
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-text_io__ads.htm b/doc/html/ada/terminal_interface-curses-text_io__ads.htm
index f95e359..580dd82 100644
--- a/doc/html/ada/terminal_interface-curses-text_io__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-text_io__ads.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-text_io.ads</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-text_io.ads</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,144 +11,145 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-text_io.ads </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                     Terminal_Interface.Curses.Text_IO                    --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 S P E C                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2003,2009 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.14 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-text_io.ads </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                     Terminal_Interface.Curses.Text_IO                    --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 S P E C                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.15 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
 <b>with</b> Ada.Text_IO;
 <b>with</b> Ada.IO_Exceptions;
 
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<span class="symbol"><A NAME="ref_44_35" HREF="terminal_interface-curses-text_io__adb.htm#ref_42_40">Text_IO</A></span> <b>is</b>
+<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<span class="symbol"><a name="ref_45_35" href="terminal_interface-curses-text_io__adb.htm#ref_43_40">Text_IO</a></span> <b>is</b>
 
    <b>use</b> <b>type</b> Ada.Text_IO.Count;
-   <b>subtype</b> <span class="symbol"><A NAME="ref_47_12">Count</A></span> <b>is</b> Ada.Text_IO.Count;
-   <b>subtype</b> <span class="symbol"><A NAME="ref_48_12">Positive_Count</A></span> <b>is</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_47_12">Count</A> <b>range</b> 1 .. <A HREF="terminal_interface-curses-text_io__ads.htm#ref_47_12">Count</A>'Last;
+   <b>subtype</b> <span class="symbol"><a name="ref_48_12">Count</a></span> <b>is</b> Ada.Text_IO.Count;
+   <b>subtype</b> <span class="symbol"><a name="ref_49_12">Positive_Count</a></span> <b>is</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_48_12">Count</a> <b>range</b> 1 .. <a href="terminal_interface-curses-text_io__ads.htm#ref_48_12">Count</a>'Last;
 
-   <b>subtype</b> <span class="symbol"><A NAME="ref_50_12">Field</A></span> <b>is</b> Ada.Text_IO.Field;
-   <b>subtype</b> <span class="symbol"><A NAME="ref_51_12">Number_Base</A></span> <b>is</b> Integer <b>range</b> 2 .. 16;
+   <b>subtype</b> <span class="symbol"><a name="ref_51_12">Field</a></span> <b>is</b> Ada.Text_IO.Field;
+   <b>subtype</b> <span class="symbol"><a name="ref_52_12">Number_Base</a></span> <b>is</b> Integer <b>range</b> 2 .. 16;
 
-   <b>type</b> <span class="symbol"><A NAME="ref_53_9">Type_Set</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_53_22">Lower_Case</A></span>, <span class="symbol"><A NAME="ref_53_34">Upper_Case</A></span>, <span class="symbol"><A NAME="ref_53_46">Mixed_Case</A></span>);
+   <b>type</b> <span class="symbol"><a name="ref_54_9">Type_Set</a></span> <b>is</b> (<span class="symbol"><a name="ref_54_22">Lower_Case</a></span>, <span class="symbol"><a name="ref_54_34">Upper_Case</a></span>, <span class="symbol"><a name="ref_54_46">Mixed_Case</a></span>);
 
-   <span class="comment"><EM>--  For most of the routines you will see a version without a Window</EM></span>
-   <span class="comment"><EM>--  type parameter. They will operate on a default window, which can</EM></span>
-   <span class="comment"><EM>--  be set by the user. It is initially equal to Standard_Window.</EM></span>
+   <span class="comment"><em>--  For most of the routines you will see a version without a Window</em></span>
+   <span class="comment"><em>--  type parameter. They will operate on a default window, which can</em></span>
+   <span class="comment"><em>--  be set by the user. It is initially equal to Standard_Window.</em></span>
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_59_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_46_14">Set_Window</A></span> (<span class="symbol"><A NAME="ref_59_26" HREF="terminal_interface-curses-text_io__adb.htm#ref_46_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>);
-   <span class="comment"><EM>--  Set Win as the default window</EM></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_60_14" href="terminal_interface-curses-text_io__adb.htm#ref_47_14">Set_Window</a></span> (<span class="symbol"><a name="ref_60_26" href="terminal_interface-curses-text_io__adb.htm#ref_47_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>);
+   <span class="comment"><em>--  Set Win as the default window</em></span>
 
-   <b>function</b> <span class="symbol"><A NAME="ref_62_13" HREF="terminal_interface-curses-text_io__adb.htm#ref_52_13">Get_Window</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-   <span class="comment"><EM>--  Get the current default window</EM></span>
+   <b>function</b> <span class="symbol"><a name="ref_63_13" href="terminal_interface-curses-text_io__adb.htm#ref_53_13">Get_Window</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+   <span class="comment"><em>--  Get the current default window</em></span>
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_65_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_63_14">Flush</A></span> (<span class="symbol"><A NAME="ref_65_21" HREF="terminal_interface-curses-text_io__adb.htm#ref_63_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>);
-   <b>procedure</b> <span class="symbol"><A NAME="ref_66_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_69_14">Flush</A></span>;
+   <b>procedure</b> <span class="symbol"><a name="ref_66_14" href="terminal_interface-curses-text_io__adb.htm#ref_64_14">Flush</a></span> (<span class="symbol"><a name="ref_66_21" href="terminal_interface-curses-text_io__adb.htm#ref_64_21">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>);
+   <b>procedure</b> <span class="symbol"><a name="ref_67_14" href="terminal_interface-curses-text_io__adb.htm#ref_70_14">Flush</a></span>;
 
-   <span class="comment"><EM>--------------------------------------------</EM></span>
-   <span class="comment"><EM>-- Specification of line and page lengths --</EM></span>
-   <span class="comment"><EM>--------------------------------------------</EM></span>
+   <span class="comment"><em>--------------------------------------------</em></span>
+   <span class="comment"><em>-- Specification of line and page lengths --</em></span>
+   <span class="comment"><em>--------------------------------------------</em></span>
 
-   <span class="comment"><EM>--  There are no set routines in this package. I assume, that you allocate</EM></span>
-   <span class="comment"><EM>--  the window with an appropriate size.</EM></span>
-   <span class="comment"><EM>--  A scroll-window is interpreted as an page with unbounded page length,</EM></span>
-   <span class="comment"><EM>--  i.e. it returns the conventional 0 as page length.</EM></span>
+   <span class="comment"><em>--  There are no set routines in this package. I assume, that you allocate</em></span>
+   <span class="comment"><em>--  the window with an appropriate size.</em></span>
+   <span class="comment"><em>--  A scroll-window is interpreted as an page with unbounded page length,</em></span>
+   <span class="comment"><em>--  i.e. it returns the conventional 0 as page length.</em></span>
 
-   <b>function</b> <span class="symbol"><A NAME="ref_77_13" HREF="terminal_interface-curses-text_io__adb.htm#ref_84_13">Line_Length</A></span> (<span class="symbol"><A NAME="ref_77_26" HREF="terminal_interface-curses-text_io__adb.htm#ref_84_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_47_12">Count</A>;
-   <b>function</b> <span class="symbol"><A NAME="ref_78_13" HREF="terminal_interface-curses-text_io__adb.htm#ref_96_13">Line_Length</A></span> <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_47_12">Count</A>;
+   <b>function</b> <span class="symbol"><a name="ref_78_13" href="terminal_interface-curses-text_io__adb.htm#ref_85_13">Line_Length</a></span> (<span class="symbol"><a name="ref_78_26" href="terminal_interface-curses-text_io__adb.htm#ref_85_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_48_12">Count</a>;
+   <b>function</b> <span class="symbol"><a name="ref_79_13" href="terminal_interface-curses-text_io__adb.htm#ref_97_13">Line_Length</a></span> <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_48_12">Count</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_80_13" HREF="terminal_interface-curses-text_io__adb.htm#ref_102_13">Page_Length</A></span> (<span class="symbol"><A NAME="ref_80_26" HREF="terminal_interface-curses-text_io__adb.htm#ref_102_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_47_12">Count</A>;
-   <b>function</b> <span class="symbol"><A NAME="ref_81_13" HREF="terminal_interface-curses-text_io__adb.htm#ref_118_13">Page_Length</A></span> <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_47_12">Count</A>;
+   <b>function</b> <span class="symbol"><a name="ref_81_13" href="terminal_interface-curses-text_io__adb.htm#ref_103_13">Page_Length</a></span> (<span class="symbol"><a name="ref_81_26" href="terminal_interface-curses-text_io__adb.htm#ref_103_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_48_12">Count</a>;
+   <b>function</b> <span class="symbol"><a name="ref_82_13" href="terminal_interface-curses-text_io__adb.htm#ref_119_13">Page_Length</a></span> <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_48_12">Count</a>;
 
-   <span class="comment"><EM>------------------------------------</EM></span>
-   <span class="comment"><EM>-- Column, Line, and Page Control --</EM></span>
-   <span class="comment"><EM>------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_86_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_127_14">New_Line</A></span> (<span class="symbol"><A NAME="ref_86_24" HREF="terminal_interface-curses-text_io__adb.htm#ref_127_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_86_38" HREF="terminal_interface-curses-text_io__adb.htm#ref_127_38">Spacing</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A> := 1);
-   <b>procedure</b> <span class="symbol"><A NAME="ref_87_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_144_14">New_Line</A></span> (<span class="symbol"><A NAME="ref_87_24" HREF="terminal_interface-curses-text_io__adb.htm#ref_144_24">Spacing</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A> := 1);
+   <span class="comment"><em>------------------------------------</em></span>
+   <span class="comment"><em>-- Column, Line, and Page Control --</em></span>
+   <span class="comment"><em>------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_87_14" href="terminal_interface-curses-text_io__adb.htm#ref_128_14">New_Line</a></span> (<span class="symbol"><a name="ref_87_24" href="terminal_interface-curses-text_io__adb.htm#ref_128_24">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_87_38" href="terminal_interface-curses-text_io__adb.htm#ref_128_38">Spacing</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a> := 1);
+   <b>procedure</b> <span class="symbol"><a name="ref_88_14" href="terminal_interface-curses-text_io__adb.htm#ref_145_14">New_Line</a></span> (<span class="symbol"><a name="ref_88_24" href="terminal_interface-curses-text_io__adb.htm#ref_145_24">Spacing</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a> := 1);
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_89_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_150_14">New_Page</A></span> (<span class="symbol"><A NAME="ref_89_24" HREF="terminal_interface-curses-text_io__adb.htm#ref_150_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>);
-   <b>procedure</b> <span class="symbol"><A NAME="ref_90_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_156_14">New_Page</A></span>;
+   <b>procedure</b> <span class="symbol"><a name="ref_90_14" href="terminal_interface-curses-text_io__adb.htm#ref_151_14">New_Page</a></span> (<span class="symbol"><a name="ref_90_24" href="terminal_interface-curses-text_io__adb.htm#ref_151_24">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>);
+   <b>procedure</b> <span class="symbol"><a name="ref_91_14" href="terminal_interface-curses-text_io__adb.htm#ref_157_14">New_Page</a></span>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_92_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_162_14">Set_Col</A></span> (<span class="symbol"><A NAME="ref_92_23" HREF="terminal_interface-curses-text_io__adb.htm#ref_162_23">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;  <span class="symbol"><A NAME="ref_92_38" HREF="terminal_interface-curses-text_io__adb.htm#ref_162_38">To</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>);
-   <b>procedure</b> <span class="symbol"><A NAME="ref_93_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_190_14">Set_Col</A></span> (<span class="symbol"><A NAME="ref_93_23" HREF="terminal_interface-curses-text_io__adb.htm#ref_190_23">To</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>);
+   <b>procedure</b> <span class="symbol"><a name="ref_93_14" href="terminal_interface-curses-text_io__adb.htm#ref_163_14">Set_Col</a></span> (<span class="symbol"><a name="ref_93_23" href="terminal_interface-curses-text_io__adb.htm#ref_163_23">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;  <span class="symbol"><a name="ref_93_38" href="terminal_interface-curses-text_io__adb.htm#ref_163_38">To</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a>);
+   <b>procedure</b> <span class="symbol"><a name="ref_94_14" href="terminal_interface-curses-text_io__adb.htm#ref_191_14">Set_Col</a></span> (<span class="symbol"><a name="ref_94_23" href="terminal_interface-curses-text_io__adb.htm#ref_191_23">To</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a>);
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_95_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_196_14">Set_Line</A></span> (<span class="symbol"><A NAME="ref_95_24" HREF="terminal_interface-curses-text_io__adb.htm#ref_196_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_95_38" HREF="terminal_interface-curses-text_io__adb.htm#ref_196_38">To</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>);
-   <b>procedure</b> <span class="symbol"><A NAME="ref_96_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_220_14">Set_Line</A></span> (<span class="symbol"><A NAME="ref_96_24" HREF="terminal_interface-curses-text_io__adb.htm#ref_220_24">To</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>);
+   <b>procedure</b> <span class="symbol"><a name="ref_96_14" href="terminal_interface-curses-text_io__adb.htm#ref_197_14">Set_Line</a></span> (<span class="symbol"><a name="ref_96_24" href="terminal_interface-curses-text_io__adb.htm#ref_197_24">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_96_38" href="terminal_interface-curses-text_io__adb.htm#ref_197_38">To</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a>);
+   <b>procedure</b> <span class="symbol"><a name="ref_97_14" href="terminal_interface-curses-text_io__adb.htm#ref_221_14">Set_Line</a></span> (<span class="symbol"><a name="ref_97_24" href="terminal_interface-curses-text_io__adb.htm#ref_221_24">To</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a>);
 
-   <b>function</b> <span class="symbol"><A NAME="ref_98_13" HREF="terminal_interface-curses-text_io__adb.htm#ref_226_13">Col</A></span> (<span class="symbol"><A NAME="ref_98_18" HREF="terminal_interface-curses-text_io__adb.htm#ref_226_18">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>;
-   <b>function</b> <span class="symbol"><A NAME="ref_99_13" HREF="terminal_interface-curses-text_io__adb.htm#ref_240_13">Col</A></span> <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>;
+   <b>function</b> <span class="symbol"><a name="ref_99_13" href="terminal_interface-curses-text_io__adb.htm#ref_227_13">Col</a></span> (<span class="symbol"><a name="ref_99_18" href="terminal_interface-curses-text_io__adb.htm#ref_227_18">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a>;
+   <b>function</b> <span class="symbol"><a name="ref_100_13" href="terminal_interface-curses-text_io__adb.htm#ref_241_13">Col</a></span> <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_101_13" HREF="terminal_interface-curses-text_io__adb.htm#ref_246_13">Line</A></span> (<span class="symbol"><A NAME="ref_101_19" HREF="terminal_interface-curses-text_io__adb.htm#ref_246_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>;
-   <b>function</b> <span class="symbol"><A NAME="ref_102_13" HREF="terminal_interface-curses-text_io__adb.htm#ref_260_13">Line</A></span> <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>;
+   <b>function</b> <span class="symbol"><a name="ref_102_13" href="terminal_interface-curses-text_io__adb.htm#ref_247_13">Line</a></span> (<span class="symbol"><a name="ref_102_19" href="terminal_interface-curses-text_io__adb.htm#ref_247_19">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a>;
+   <b>function</b> <span class="symbol"><a name="ref_103_13" href="terminal_interface-curses-text_io__adb.htm#ref_261_13">Line</a></span> <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a>;
 
-   <span class="comment"><EM>-----------------------</EM></span>
-   <span class="comment"><EM>-- Characters-Output --</EM></span>
-   <span class="comment"><EM>-----------------------</EM></span>
+   <span class="comment"><em>-----------------------</em></span>
+   <span class="comment"><em>-- Characters-Output --</em></span>
+   <span class="comment"><em>-----------------------</em></span>
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_108_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_270_14">Put</A></span> (<span class="symbol"><A NAME="ref_108_19" HREF="terminal_interface-curses-text_io__adb.htm#ref_270_19">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_108_34" HREF="terminal_interface-curses-text_io__adb.htm#ref_270_34">Item</A></span> : Character);
-   <b>procedure</b> <span class="symbol"><A NAME="ref_109_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_288_14">Put</A></span> (<span class="symbol"><A NAME="ref_109_19" HREF="terminal_interface-curses-text_io__adb.htm#ref_288_19">Item</A></span> : Character);
+   <b>procedure</b> <span class="symbol"><a name="ref_109_14" href="terminal_interface-curses-text_io__adb.htm#ref_271_14">Put</a></span> (<span class="symbol"><a name="ref_109_19" href="terminal_interface-curses-text_io__adb.htm#ref_271_19">Win</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_109_34" href="terminal_interface-curses-text_io__adb.htm#ref_271_34">Item</a></span> : Character);
+   <b>procedure</b> <span class="symbol"><a name="ref_110_14" href="terminal_interface-curses-text_io__adb.htm#ref_289_14">Put</a></span> (<span class="symbol"><a name="ref_110_19" href="terminal_interface-curses-text_io__adb.htm#ref_289_19">Item</a></span> : Character);
 
-   <span class="comment"><EM>--------------------</EM></span>
-   <span class="comment"><EM>-- Strings-Output --</EM></span>
-   <span class="comment"><EM>--------------------</EM></span>
+   <span class="comment"><em>--------------------</em></span>
+   <span class="comment"><em>-- Strings-Output --</em></span>
+   <span class="comment"><em>--------------------</em></span>
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_115_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_298_14">Put</A></span> (<span class="symbol"><A NAME="ref_115_19" HREF="terminal_interface-curses-text_io__adb.htm#ref_298_19">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_115_34" HREF="terminal_interface-curses-text_io__adb.htm#ref_298_34">Item</A></span> : String);
-   <b>procedure</b> <span class="symbol"><A NAME="ref_116_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_316_14">Put</A></span> (<span class="symbol"><A NAME="ref_116_19" HREF="terminal_interface-curses-text_io__adb.htm#ref_316_19">Item</A></span> : String);
+   <b>procedure</b> <span class="symbol"><a name="ref_116_14" href="terminal_interface-curses-text_io__adb.htm#ref_299_14">Put</a></span> (<span class="symbol"><a name="ref_116_19" href="terminal_interface-curses-text_io__adb.htm#ref_299_19">Win</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_116_34" href="terminal_interface-curses-text_io__adb.htm#ref_299_34">Item</a></span> : String);
+   <b>procedure</b> <span class="symbol"><a name="ref_117_14" href="terminal_interface-curses-text_io__adb.htm#ref_317_14">Put</a></span> (<span class="symbol"><a name="ref_117_19" href="terminal_interface-curses-text_io__adb.htm#ref_317_19">Item</a></span> : String);
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_118_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_322_14">Put_Line</A></span>
-     (<span class="symbol"><A NAME="ref_119_7" HREF="terminal_interface-curses-text_io__adb.htm#ref_323_7">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-      <span class="symbol"><A NAME="ref_120_7" HREF="terminal_interface-curses-text_io__adb.htm#ref_324_7">Item</A></span> : String);
+   <b>procedure</b> <span class="symbol"><a name="ref_119_14" href="terminal_interface-curses-text_io__adb.htm#ref_323_14">Put_Line</a></span>
+     (<span class="symbol"><a name="ref_120_7" href="terminal_interface-curses-text_io__adb.htm#ref_324_7">Win</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+      <span class="symbol"><a name="ref_121_7" href="terminal_interface-curses-text_io__adb.htm#ref_325_7">Item</a></span> : String);
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_122_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_331_14">Put_Line</A></span>
-     (<span class="symbol"><A NAME="ref_123_7" HREF="terminal_interface-curses-text_io__adb.htm#ref_332_7">Item</A></span> : String);
+   <b>procedure</b> <span class="symbol"><a name="ref_123_14" href="terminal_interface-curses-text_io__adb.htm#ref_332_14">Put_Line</a></span>
+     (<span class="symbol"><a name="ref_124_7" href="terminal_interface-curses-text_io__adb.htm#ref_333_7">Item</a></span> : String);
 
-   <span class="comment"><EM>--  Exceptions</EM></span>
+   <span class="comment"><em>--  Exceptions</em></span>
 
-   <span class="symbol"><A NAME="ref_127_4">Status_Error</A></span> : <b>exception</b> <b>renames</b> Ada.IO_Exceptions.Status_Error;
-   <span class="symbol"><A NAME="ref_128_4">Mode_Error</A></span>   : <b>exception</b> <b>renames</b> Ada.IO_Exceptions.Mode_Error;
-   <span class="symbol"><A NAME="ref_129_4">Name_Error</A></span>   : <b>exception</b> <b>renames</b> Ada.IO_Exceptions.Name_Error;
-   <span class="symbol"><A NAME="ref_130_4">Use_Error</A></span>    : <b>exception</b> <b>renames</b> Ada.IO_Exceptions.Use_Error;
-   <span class="symbol"><A NAME="ref_131_4">Device_Error</A></span> : <b>exception</b> <b>renames</b> Ada.IO_Exceptions.Device_Error;
-   <span class="symbol"><A NAME="ref_132_4">End_Error</A></span>    : <b>exception</b> <b>renames</b> Ada.IO_Exceptions.End_Error;
-   <span class="symbol"><A NAME="ref_133_4">Data_Error</A></span>   : <b>exception</b> <b>renames</b> Ada.IO_Exceptions.Data_Error;
-   <span class="symbol"><A NAME="ref_134_4">Layout_Error</A></span> : <b>exception</b> <b>renames</b> Ada.IO_Exceptions.Layout_Error;
+   <span class="symbol"><a name="ref_128_4">Status_Error</a></span> : <b>exception</b> <b>renames</b> Ada.IO_Exceptions.Status_Error;
+   <span class="symbol"><a name="ref_129_4">Mode_Error</a></span>   : <b>exception</b> <b>renames</b> Ada.IO_Exceptions.Mode_Error;
+   <span class="symbol"><a name="ref_130_4">Name_Error</a></span>   : <b>exception</b> <b>renames</b> Ada.IO_Exceptions.Name_Error;
+   <span class="symbol"><a name="ref_131_4">Use_Error</a></span>    : <b>exception</b> <b>renames</b> Ada.IO_Exceptions.Use_Error;
+   <span class="symbol"><a name="ref_132_4">Device_Error</a></span> : <b>exception</b> <b>renames</b> Ada.IO_Exceptions.Device_Error;
+   <span class="symbol"><a name="ref_133_4">End_Error</a></span>    : <b>exception</b> <b>renames</b> Ada.IO_Exceptions.End_Error;
+   <span class="symbol"><a name="ref_134_4">Data_Error</a></span>   : <b>exception</b> <b>renames</b> Ada.IO_Exceptions.Data_Error;
+   <span class="symbol"><a name="ref_135_4">Layout_Error</a></span> : <b>exception</b> <b>renames</b> Ada.IO_Exceptions.Layout_Error;
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-trace__adb.htm b/doc/html/ada/terminal_interface-curses-trace__adb.htm
index f3b0834..05455ee 100644
--- a/doc/html/ada/terminal_interface-curses-trace__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-trace__adb.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-trace.adb</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-trace.adb</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,68 +11,69 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-trace.adb </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                      Terminal_Interface.Curses.Trace                     --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 B O D Y                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 2000-2009,2014 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.11 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C; <b>use</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C;
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-trace.adb </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                      Terminal_Interface.Curses.Trace                     --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 B O D Y                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 2001-2011,2014 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.12 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C; <b>use</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C;
 
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<span class="symbol"><A NAME="ref_43_40" HREF="terminal_interface-curses-trace__ads.htm#ref_42_35">Trace</A></span> <b>is</b>
+<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<span class="symbol"><a name="ref_44_40" href="terminal_interface-curses-trace__ads.htm#ref_43_35">Trace</a></span> <b>is</b>
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_45_14" HREF="terminal_interface-curses-trace__ads.htm#ref_114_14">Trace_On</A></span> (<span class="symbol"><A NAME="ref_45_24" HREF="terminal_interface-curses-trace__ads.htm#ref_114_24">x</A></span> : <A HREF="terminal_interface-curses-trace__ads.htm#ref_45_9">Trace_Attribute_Set</A>) <b>is</b>
-      <b>procedure</b> <span class="symbol"><A NAME="ref_46_17">traceC</A></span> (<span class="symbol"><A NAME="ref_46_25" HREF="terminal_interface-curses-trace__adb.htm#ref_46_17">y</A></span> : <A HREF="terminal_interface-curses-trace__ads.htm#ref_45_9">Trace_Attribute_Set</A>);
+   <b>procedure</b> <span class="symbol"><a name="ref_46_14" href="terminal_interface-curses-trace__ads.htm#ref_115_14">Trace_On</a></span> (<span class="symbol"><a name="ref_46_24" href="terminal_interface-curses-trace__ads.htm#ref_115_24">x</a></span> : <a href="terminal_interface-curses-trace__ads.htm#ref_46_9">Trace_Attribute_Set</a>) <b>is</b>
+      <b>procedure</b> <span class="symbol"><a name="ref_47_17">traceC</a></span> (<span class="symbol"><a name="ref_47_25">y</a></span> : <a href="terminal_interface-curses-trace__ads.htm#ref_46_9">Trace_Attribute_Set</a>);
       <b>pragma</b> Import (C, traceC, "trace");
    <b>begin</b>
-      <A HREF="terminal_interface-curses-trace__adb.htm#ref_46_17">traceC</A> (<A HREF="terminal_interface-curses-trace__ads.htm#ref_114_24">x</A>);
-   <b>end</b> <A HREF="terminal_interface-curses-trace__ads.htm#ref_114_14">Trace_On</A>;
+      <a href="terminal_interface-curses-trace__adb.htm#ref_47_17">traceC</a> (<a href="terminal_interface-curses-trace__ads.htm#ref_115_24">x</a>);
+   <b>end</b> <a href="terminal_interface-curses-trace__ads.htm#ref_115_14">Trace_On</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_52_14" HREF="terminal_interface-curses-trace__ads.htm#ref_118_14">Trace_Put</A></span> (<span class="symbol"><A NAME="ref_52_25" HREF="terminal_interface-curses-trace__ads.htm#ref_118_25">str</A></span> : String) <b>is</b>
-      <b>procedure</b> <span class="symbol"><A NAME="ref_53_17">tracef</A></span> (<span class="symbol"><A NAME="ref_53_25" HREF="terminal_interface-curses-trace__adb.htm#ref_53_17">format</A></span> : char_array; <span class="symbol"><A NAME="ref_53_46" HREF="terminal_interface-curses-trace__adb.htm#ref_53_17">s</A></span> : char_array);
+   <b>procedure</b> <span class="symbol"><a name="ref_53_14" href="terminal_interface-curses-trace__ads.htm#ref_119_14">Trace_Put</a></span> (<span class="symbol"><a name="ref_53_25" href="terminal_interface-curses-trace__ads.htm#ref_119_25">str</a></span> : String) <b>is</b>
+      <b>procedure</b> <span class="symbol"><a name="ref_54_17">tracef</a></span> (<span class="symbol"><a name="ref_54_25">format</a></span> : char_array; <span class="symbol"><a name="ref_54_46">s</a></span> : char_array);
       <b>pragma</b> Import (C, tracef, "_traces");
-      <span class="comment"><EM>--  _traces() is defined in c_varargs_to_ada.h</EM></span>
+      <span class="comment"><em>--  _traces() is defined in c_varargs_to_ada.h</em></span>
    <b>begin</b>
-      <A HREF="terminal_interface-curses-trace__adb.htm#ref_53_17">tracef</A> (To_C ("%s"), To_C (<A HREF="terminal_interface-curses-trace__ads.htm#ref_118_25">str</A>));
-   <b>end</b> <A HREF="terminal_interface-curses-trace__ads.htm#ref_118_14">Trace_Put</A>;
+      <a href="terminal_interface-curses-trace__adb.htm#ref_54_17">tracef</a> (To_C ("%s"), To_C (<a href="terminal_interface-curses-trace__ads.htm#ref_119_25">str</a>));
+   <b>end</b> <a href="terminal_interface-curses-trace__ads.htm#ref_119_14">Trace_Put</a>;
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-trace__ads.htm#ref_42_35">Trace</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-trace__ads.htm#ref_43_35">Trace</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses-trace__ads.htm b/doc/html/ada/terminal_interface-curses-trace__ads.htm
index 1292ae8..4369516 100644
--- a/doc/html/ada/terminal_interface-curses-trace__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-trace__ads.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses-trace.ads</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses-trace.ads</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,132 +11,133 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-trace.ads </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                      Terminal_Interface.Curses.Trace                     --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 S P E C                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 2000,2014 Free Software Foundation, Inc.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author: Eugene V. Melaragno &lt;aldomel@ix.netcom.com&gt; 2000</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.4 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses-trace.ads </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                      Terminal_Interface.Curses.Trace                     --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 S P E C                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 2000,2014 Free Software Foundation, Inc.                       --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author: Eugene V. Melaragno &lt;aldomel@ix.netcom.com&gt; 2000</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.5 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
 
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<span class="symbol"><A NAME="ref_42_35" HREF="terminal_interface-curses-trace__adb.htm#ref_43_40">Trace</A></span> <b>is</b>
-   <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-trace__ads.htm#ref_42_35">Trace</A>);
+<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<span class="symbol"><a name="ref_43_35" href="terminal_interface-curses-trace__adb.htm#ref_44_40">Trace</a></span> <b>is</b>
+   <b>pragma</b> Preelaborate (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-trace__ads.htm#ref_43_35">Trace</a>);
 
-   <b>type</b> <span class="symbol"><A NAME="ref_45_9">Trace_Attribute_Set</A></span> <b>is</b>
+   <b>type</b> <span class="symbol"><a name="ref_46_9">Trace_Attribute_Set</a></span> <b>is</b>
       <b>record</b>
-         <span class="symbol"><A NAME="ref_47_10">Times</A></span>            : Boolean;
-         <span class="symbol"><A NAME="ref_48_10">Tputs</A></span>            : Boolean;
-         <span class="symbol"><A NAME="ref_49_10">Update</A></span>           : Boolean;
-         <span class="symbol"><A NAME="ref_50_10">Cursor_Move</A></span>      : Boolean;
-         <span class="symbol"><A NAME="ref_51_10">Character_Output</A></span> : Boolean;
-         <span class="symbol"><A NAME="ref_52_10">Calls</A></span>            : Boolean;
-         <span class="symbol"><A NAME="ref_53_10">Virtual_Puts</A></span>     : Boolean;
-         <span class="symbol"><A NAME="ref_54_10">Input_Events</A></span>     : Boolean;
-         <span class="symbol"><A NAME="ref_55_10">TTY_State</A></span>        : Boolean;
-         <span class="symbol"><A NAME="ref_56_10">Internal_Calls</A></span>   : Boolean;
-         <span class="symbol"><A NAME="ref_57_10">Character_Calls</A></span>  : Boolean;
-         <span class="symbol"><A NAME="ref_58_10">Termcap_TermInfo</A></span> : Boolean;
-         <span class="symbol"><A NAME="ref_59_10">Attribute_Color</A></span>  : Boolean;
+         <span class="symbol"><a name="ref_48_10">Times</a></span>            : Boolean;
+         <span class="symbol"><a name="ref_49_10">Tputs</a></span>            : Boolean;
+         <span class="symbol"><a name="ref_50_10">Update</a></span>           : Boolean;
+         <span class="symbol"><a name="ref_51_10">Cursor_Move</a></span>      : Boolean;
+         <span class="symbol"><a name="ref_52_10">Character_Output</a></span> : Boolean;
+         <span class="symbol"><a name="ref_53_10">Calls</a></span>            : Boolean;
+         <span class="symbol"><a name="ref_54_10">Virtual_Puts</a></span>     : Boolean;
+         <span class="symbol"><a name="ref_55_10">Input_Events</a></span>     : Boolean;
+         <span class="symbol"><a name="ref_56_10">TTY_State</a></span>        : Boolean;
+         <span class="symbol"><a name="ref_57_10">Internal_Calls</a></span>   : Boolean;
+         <span class="symbol"><a name="ref_58_10">Character_Calls</a></span>  : Boolean;
+         <span class="symbol"><a name="ref_59_10">Termcap_TermInfo</a></span> : Boolean;
+         <span class="symbol"><a name="ref_60_10">Attribute_Color</a></span>  : Boolean;
       <b>end</b> <b>record</b>;
-   <b>pragma</b> Convention (C_Pass_By_Copy, <A HREF="terminal_interface-curses-trace__ads.htm#ref_45_9">Trace_Attribute_Set</A>);
+   <b>pragma</b> Convention (C_Pass_By_Copy, <a href="terminal_interface-curses-trace__ads.htm#ref_46_9">Trace_Attribute_Set</a>);
 
-   <b>for</b> <A HREF="terminal_interface-curses-trace__ads.htm#ref_45_9">Trace_Attribute_Set</A> <b>use</b>
+   <b>for</b> <a href="terminal_interface-curses-trace__ads.htm#ref_46_9">Trace_Attribute_Set</a> <b>use</b>
       <b>record</b>
-         <A HREF="terminal_interface-curses-trace__ads.htm#ref_47_10">Times</A>            <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_356_4">TRACE_TIMES_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_357_4">TRACE_TIMES_Last</A>;
-         <A HREF="terminal_interface-curses-trace__ads.htm#ref_48_10">Tputs</A>            <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_358_4">TRACE_TPUTS_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_359_4">TRACE_TPUTS_Last</A>;
-         <A HREF="terminal_interface-curses-trace__ads.htm#ref_49_10">Update</A>           <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_360_4">TRACE_UPDATE_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_361_4">TRACE_UPDATE_Last</A>;
-         <A HREF="terminal_interface-curses-trace__ads.htm#ref_50_10">Cursor_Move</A>      <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_362_4">TRACE_MOVE_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_363_4">TRACE_MOVE_Last</A>;
-         <A HREF="terminal_interface-curses-trace__ads.htm#ref_51_10">Character_Output</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_364_4">TRACE_CHARPUT_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_365_4">TRACE_CHARPUT_Last</A>;
-         <A HREF="terminal_interface-curses-trace__ads.htm#ref_52_10">Calls</A>            <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_366_4">TRACE_CALLS_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_367_4">TRACE_CALLS_Last</A>;
-         <A HREF="terminal_interface-curses-trace__ads.htm#ref_53_10">Virtual_Puts</A>     <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_368_4">TRACE_VIRTPUT_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_369_4">TRACE_VIRTPUT_Last</A>;
-         <A HREF="terminal_interface-curses-trace__ads.htm#ref_54_10">Input_Events</A>     <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_370_4">TRACE_IEVENT_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_371_4">TRACE_IEVENT_Last</A>;
-         <A HREF="terminal_interface-curses-trace__ads.htm#ref_55_10">TTY_State</A>        <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_372_4">TRACE_BITS_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_373_4">TRACE_BITS_Last</A>;
-         <A HREF="terminal_interface-curses-trace__ads.htm#ref_56_10">Internal_Calls</A>   <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_374_4">TRACE_ICALLS_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_375_4">TRACE_ICALLS_Last</A>;
-         <A HREF="terminal_interface-curses-trace__ads.htm#ref_57_10">Character_Calls</A>  <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_376_4">TRACE_CCALLS_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_377_4">TRACE_CCALLS_Last</A>;
-         <A HREF="terminal_interface-curses-trace__ads.htm#ref_58_10">Termcap_TermInfo</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_378_4">TRACE_DATABASE_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_379_4">TRACE_DATABASE_Last</A>;
-         <A HREF="terminal_interface-curses-trace__ads.htm#ref_59_10">Attribute_Color</A>  <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_380_4">TRACE_ATTRS_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_381_4">TRACE_ATTRS_Last</A>;
+         <a href="terminal_interface-curses-trace__ads.htm#ref_48_10">Times</a>            <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_356_4">TRACE_TIMES_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_357_4">TRACE_TIMES_Last</a>;
+         <a href="terminal_interface-curses-trace__ads.htm#ref_49_10">Tputs</a>            <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_358_4">TRACE_TPUTS_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_359_4">TRACE_TPUTS_Last</a>;
+         <a href="terminal_interface-curses-trace__ads.htm#ref_50_10">Update</a>           <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_360_4">TRACE_UPDATE_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_361_4">TRACE_UPDATE_Last</a>;
+         <a href="terminal_interface-curses-trace__ads.htm#ref_51_10">Cursor_Move</a>      <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_362_4">TRACE_MOVE_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_363_4">TRACE_MOVE_Last</a>;
+         <a href="terminal_interface-curses-trace__ads.htm#ref_52_10">Character_Output</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_364_4">TRACE_CHARPUT_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_365_4">TRACE_CHARPUT_Last</a>;
+         <a href="terminal_interface-curses-trace__ads.htm#ref_53_10">Calls</a>            <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_366_4">TRACE_CALLS_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_367_4">TRACE_CALLS_Last</a>;
+         <a href="terminal_interface-curses-trace__ads.htm#ref_54_10">Virtual_Puts</a>     <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_368_4">TRACE_VIRTPUT_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_369_4">TRACE_VIRTPUT_Last</a>;
+         <a href="terminal_interface-curses-trace__ads.htm#ref_55_10">Input_Events</a>     <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_370_4">TRACE_IEVENT_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_371_4">TRACE_IEVENT_Last</a>;
+         <a href="terminal_interface-curses-trace__ads.htm#ref_56_10">TTY_State</a>        <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_372_4">TRACE_BITS_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_373_4">TRACE_BITS_Last</a>;
+         <a href="terminal_interface-curses-trace__ads.htm#ref_57_10">Internal_Calls</a>   <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_374_4">TRACE_ICALLS_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_375_4">TRACE_ICALLS_Last</a>;
+         <a href="terminal_interface-curses-trace__ads.htm#ref_58_10">Character_Calls</a>  <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_376_4">TRACE_CCALLS_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_377_4">TRACE_CCALLS_Last</a>;
+         <a href="terminal_interface-curses-trace__ads.htm#ref_59_10">Termcap_TermInfo</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_378_4">TRACE_DATABASE_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_379_4">TRACE_DATABASE_Last</a>;
+         <a href="terminal_interface-curses-trace__ads.htm#ref_60_10">Attribute_Color</a>  <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_380_4">TRACE_ATTRS_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_381_4">TRACE_ATTRS_Last</a>;
       <b>end</b> <b>record</b>;
    <b>pragma</b> Warnings (Off);
-   <b>for</b> <A HREF="terminal_interface-curses-trace__ads.htm#ref_45_9">Trace_Attribute_Set</A>'Size <b>use</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_382_4">Trace_Size</A>;
+   <b>for</b> <a href="terminal_interface-curses-trace__ads.htm#ref_46_9">Trace_Attribute_Set</a>'Size <b>use</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_382_4">Trace_Size</a>;
    <b>pragma</b> Warnings (On);
 
-   <span class="symbol"><A NAME="ref_96_4">Trace_Disable</A></span>  : <b>constant</b> <A HREF="terminal_interface-curses-trace__ads.htm#ref_45_9">Trace_Attribute_Set</A> := (<b>others</b> =&gt; False);
+   <span class="symbol"><a name="ref_97_4">Trace_Disable</a></span>  : <b>constant</b> <a href="terminal_interface-curses-trace__ads.htm#ref_46_9">Trace_Attribute_Set</a> := (<b>others</b> =&gt; False);
 
-   <span class="symbol"><A NAME="ref_98_4">Trace_Ordinary</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-trace__ads.htm#ref_45_9">Trace_Attribute_Set</A> :=
-     (<A HREF="terminal_interface-curses-trace__ads.htm#ref_47_10">Times</A>            =&gt; True,
-      <A HREF="terminal_interface-curses-trace__ads.htm#ref_48_10">Tputs</A>            =&gt; True,
-      <A HREF="terminal_interface-curses-trace__ads.htm#ref_49_10">Update</A>           =&gt; True,
-      <A HREF="terminal_interface-curses-trace__ads.htm#ref_50_10">Cursor_Move</A>      =&gt; True,
-      <A HREF="terminal_interface-curses-trace__ads.htm#ref_51_10">Character_Output</A> =&gt; True,
+   <span class="symbol"><a name="ref_99_4">Trace_Ordinary</a></span> : <b>constant</b> <a href="terminal_interface-curses-trace__ads.htm#ref_46_9">Trace_Attribute_Set</a> :=
+     (<a href="terminal_interface-curses-trace__ads.htm#ref_48_10">Times</a>            =&gt; True,
+      <a href="terminal_interface-curses-trace__ads.htm#ref_49_10">Tputs</a>            =&gt; True,
+      <a href="terminal_interface-curses-trace__ads.htm#ref_50_10">Update</a>           =&gt; True,
+      <a href="terminal_interface-curses-trace__ads.htm#ref_51_10">Cursor_Move</a>      =&gt; True,
+      <a href="terminal_interface-curses-trace__ads.htm#ref_52_10">Character_Output</a> =&gt; True,
       <b>others</b>           =&gt; False);
-   <span class="symbol"><A NAME="ref_105_4">Trace_Maximum</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-trace__ads.htm#ref_45_9">Trace_Attribute_Set</A> := (<b>others</b> =&gt; True);
+   <span class="symbol"><a name="ref_106_4">Trace_Maximum</a></span> : <b>constant</b> <a href="terminal_interface-curses-trace__ads.htm#ref_46_9">Trace_Attribute_Set</a> := (<b>others</b> =&gt; True);
 
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/curs_trace.3x.html">curs_trace.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/curs_trace.3x.html">curs_trace.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_1"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_114_14" HREF="terminal_interface-curses-trace__adb.htm#ref_45_14">Trace_On</A></span> (<span class="symbol"><A NAME="ref_114_24" HREF="terminal_interface-curses-trace__adb.htm#ref_45_24">x</A></span> : <A HREF="terminal_interface-curses-trace__ads.htm#ref_45_9">Trace_Attribute_Set</A>);
-   <span class="comment"><EM>--  The debugging library has trace.</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_1">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_115_14" href="terminal_interface-curses-trace__adb.htm#ref_46_14">Trace_On</a></span> (<span class="symbol"><a name="ref_115_24" href="terminal_interface-curses-trace__adb.htm#ref_46_24">x</a></span> : <a href="terminal_interface-curses-trace__ads.htm#ref_46_9">Trace_Attribute_Set</a>);
+   <span class="comment"><em>--  The debugging library has trace.</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_2"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_118_14" HREF="terminal_interface-curses-trace__adb.htm#ref_52_14">Trace_Put</A></span> (<span class="symbol"><A NAME="ref_118_25" HREF="terminal_interface-curses-trace__adb.htm#ref_52_25">str</A></span> : String);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_trace.3x.html">_tracef()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_2">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_119_14" href="terminal_interface-curses-trace__adb.htm#ref_53_14">Trace_Put</a></span> (<span class="symbol"><a name="ref_119_25" href="terminal_interface-curses-trace__adb.htm#ref_53_25">str</a></span> : String);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_trace.3x.html">_tracef()</A></em></span>
 
-   <span class="symbol"><A NAME="ref_121_4">Current_Trace_Setting</A></span> : <A HREF="terminal_interface-curses-trace__ads.htm#ref_45_9">Trace_Attribute_Set</A>;
-   <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-trace__ads.htm#ref_121_4">Current_Trace_Setting</A>, "_nc_tracing");
+   <span class="symbol"><a name="ref_122_4">Current_Trace_Setting</a></span> : <a href="terminal_interface-curses-trace__ads.htm#ref_46_9">Trace_Attribute_Set</a>;
+   <b>pragma</b> Import (C, <a href="terminal_interface-curses-trace__ads.htm#ref_122_4">Current_Trace_Setting</a>, "_nc_tracing");
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-trace__ads.htm#ref_42_35">Trace</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-trace__ads.htm#ref_43_35">Trace</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses__adb.htm b/doc/html/ada/terminal_interface-curses__adb.htm
index 62622d1..1f5e7c3 100644
--- a/doc/html/ada/terminal_interface-curses__adb.htm
+++ b/doc/html/ada/terminal_interface-curses__adb.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses.adb</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses.adb</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,2565 +11,2565 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses.adb </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                        Terminal_Interface.Curses                         --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 B O D Y                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2011,2014 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author: Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.14 @</EM></span>
-<span class="comment"><EM>--  @Date: 2014/05/24 21:31:05 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses.adb </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                        Terminal_Interface.Curses                         --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 B O D Y                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2018-2020,2024 Thomas E. Dickey                                --</em></span>
+<span class="comment"><em>-- Copyright 2007-2011,2014 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author: Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.17 @</em></span>
+<span class="comment"><em>--  @Date: 2024/03/30 13:24:07 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
 <b>with</b> System;
 
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C;                  <b>use</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C;
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings;          <b>use</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings;
+<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>;
+<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C;                  <b>use</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C;
+<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings;          <b>use</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings;
 <b>with</b> Ada.Characters.Handling;       <b>use</b> Ada.Characters.Handling;
 <b>with</b> Ada.Strings.Fixed;
 
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<span class="symbol"><A NAME="ref_50_33" HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A></span> <b>is</b>
+<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<span class="symbol"><a name="ref_51_33" href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a></span> <b>is</b>
 
-   <b>use</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
-   <b>use</b> <b>type</b> System.Bit_Order;
+   <b>use</b> <a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>;
 
-   <b>package</b> <span class="symbol"><A NAME="ref_55_12">ASF</A></span> <b>renames</b> Ada.Strings.Fixed;
+   <b>package</b> <span class="symbol"><a name="ref_55_12">ASF</a></span> <b>renames</b> Ada.Strings.Fixed;
 
    <b>type</b> chtype_array <b>is</b> <b>array</b> (size_t <b>range</b> &lt;&gt;)
-      <b>of</b> <b>aliased</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
+      <b>of</b> <b>aliased</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
    <b>pragma</b> Convention (C, chtype_array);
 
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_62_13" HREF="terminal_interface-curses__ads.htm#ref_1786_13">Key_Name</A></span> (<span class="symbol"><A NAME="ref_62_23" HREF="terminal_interface-curses__ads.htm#ref_1786_23">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A>) <b>return</b> String
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_62_13" href="terminal_interface-curses__ads.htm#ref_1787_13">Key_Name</a></span> (<span class="symbol"><a name="ref_62_23" href="terminal_interface-curses__ads.htm#ref_1787_23">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</a>) <b>return</b> String
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_64_16">Keyname</A></span> (<span class="symbol"><A NAME="ref_64_25" HREF="terminal_interface-curses__adb.htm#ref_64_16">K</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> chars_ptr;
+      <b>function</b> <span class="symbol"><a name="ref_64_16">Keyname</a></span> (<span class="symbol"><a name="ref_64_25">K</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> chars_ptr;
       <b>pragma</b> Import (C, Keyname, "keyname");
 
-      <span class="symbol"><A NAME="ref_67_7">Ch</A></span> : Character;
+      <span class="symbol"><a name="ref_67_7">Ch</a></span> : Character;
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1786_23">Key</A> &lt;= Character'Pos (Character'Last) <b>then</b>
-         <A HREF="terminal_interface-curses__adb.htm#ref_67_7">Ch</A> := Character'Val (<A HREF="terminal_interface-curses__ads.htm#ref_1786_23">Key</A>);
-         <b>if</b> Is_Control (<A HREF="terminal_interface-curses__adb.htm#ref_67_7">Ch</A>) <b>then</b>
-            <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1797_13">Un_Control</A> (<A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>'(<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A>    =&gt; <A HREF="terminal_interface-curses__adb.htm#ref_67_7">Ch</A>,
-                                                     <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First,
-                                                     <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>  =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>));
-         <b>elsif</b> Is_Graphic (<A HREF="terminal_interface-curses__adb.htm#ref_67_7">Ch</A>) <b>then</b>
+      <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_1787_23">Key</a> &lt;= Character'Pos (Character'Last) <b>then</b>
+         <a href="terminal_interface-curses__adb.htm#ref_67_7">Ch</a> := Character'Val (<a href="terminal_interface-curses__ads.htm#ref_1787_23">Key</a>);
+         <b>if</b> Is_Control (<a href="terminal_interface-curses__adb.htm#ref_67_7">Ch</a>) <b>then</b>
+            <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_1798_13">Un_Control</a> (<a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>'(<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a>    =&gt; <a href="terminal_interface-curses__adb.htm#ref_67_7">Ch</a>,
+                                                     <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> =&gt; <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First,
+                                                     <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>  =&gt; <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>));
+         <b>elsif</b> Is_Graphic (<a href="terminal_interface-curses__adb.htm#ref_67_7">Ch</a>) <b>then</b>
             <b>declare</b>
-               <span class="symbol"><A NAME="ref_77_16">S</A></span> : String (1 .. 1);
+               <span class="symbol"><a name="ref_77_16">S</a></span> : String (1 .. 1);
             <b>begin</b>
-               <A HREF="terminal_interface-curses__adb.htm#ref_77_16">S</A> (1) := <A HREF="terminal_interface-curses__adb.htm#ref_67_7">Ch</A>;
-               <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_77_16">S</A>;
+               <a href="terminal_interface-curses__adb.htm#ref_77_16">S</a> (1) := <a href="terminal_interface-curses__adb.htm#ref_67_7">Ch</a>;
+               <b>return</b> <a href="terminal_interface-curses__adb.htm#ref_77_16">S</a>;
             <b>end</b>;
          <b>else</b>
             <b>return</b> "";
          <b>end</b> <b>if</b>;
       <b>else</b>
-         <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_97_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_64_16">Keyname</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1786_23">Key</A>)));
+         <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a> (<a href="terminal_interface-curses__adb.htm#ref_64_16">Keyname</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1787_23">Key</a>)));
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1786_13">Key_Name</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1787_13">Key_Name</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_90_14" HREF="terminal_interface-curses__ads.htm#ref_1780_14">Key_Name</A></span> (<span class="symbol"><A NAME="ref_90_24" HREF="terminal_interface-curses__ads.htm#ref_1780_24">Key</A></span>  :  <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A>;
-                       <span class="symbol"><A NAME="ref_91_24" HREF="terminal_interface-curses__ads.htm#ref_1781_24">Name</A></span> : <b>out</b> String)
+   <b>procedure</b> <span class="symbol"><a name="ref_90_14" href="terminal_interface-curses__ads.htm#ref_1781_14">Key_Name</a></span> (<span class="symbol"><a name="ref_90_24" href="terminal_interface-curses__ads.htm#ref_1781_24">Key</a></span>  :  <a href="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</a>;
+                       <span class="symbol"><a name="ref_91_24" href="terminal_interface-curses__ads.htm#ref_1782_24">Name</a></span> : <b>out</b> String)
    <b>is</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses__adb.htm#ref_55_12">ASF</A>.Move (<A HREF="terminal_interface-curses__ads.htm#ref_1786_13">Key_Name</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1780_24">Key</A>), <A HREF="terminal_interface-curses__ads.htm#ref_1781_24">Name</A>);
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1780_14">Key_Name</A>;
+      <a href="terminal_interface-curses__adb.htm#ref_55_12">ASF</a>.Move (<a href="terminal_interface-curses__ads.htm#ref_1787_13">Key_Name</a> (<a href="terminal_interface-curses__ads.htm#ref_1781_24">Key</a>), <a href="terminal_interface-curses__ads.htm#ref_1782_24">Name</a>);
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1781_14">Key_Name</a>;
 
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_98_14" HREF="terminal_interface-curses__ads.htm#ref_656_14">Init_Screen</A></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_98_14" href="terminal_interface-curses__ads.htm#ref_657_14">Init_Screen</a></span>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_100_16">Initscr</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+      <b>function</b> <span class="symbol"><a name="ref_100_16">Initscr</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
       <b>pragma</b> Import (C, Initscr, "initscr");
 
-      <span class="symbol"><A NAME="ref_103_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+      <span class="symbol"><a name="ref_103_7">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
    <b>begin</b>
-      <A HREF="terminal_interface-curses__adb.htm#ref_103_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_100_16">Initscr</A>;
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_103_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <a href="terminal_interface-curses__adb.htm#ref_103_7">W</a> := <a href="terminal_interface-curses__adb.htm#ref_100_16">Initscr</a>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_103_7">W</a> = <a href="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_656_14">Init_Screen</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_657_14">Init_Screen</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_111_14" HREF="terminal_interface-curses__ads.htm#ref_665_14">End_Windows</A></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_111_14" href="terminal_interface-curses__ads.htm#ref_666_14">End_Windows</a></span>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_113_16">Endwin</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_113_16">Endwin</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Endwin, "endwin");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_113_16">Endwin</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_113_16">Endwin</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_665_14">End_Windows</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_666_14">End_Windows</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_121_13" HREF="terminal_interface-curses__ads.htm#ref_672_13">Is_End_Window</A></span> <b>return</b> Boolean
+   <b>function</b> <span class="symbol"><a name="ref_121_13" href="terminal_interface-curses__ads.htm#ref_673_13">Is_End_Window</a></span> <b>return</b> Boolean
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_123_16">Isendwin</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
+      <b>function</b> <span class="symbol"><a name="ref_123_16">Isendwin</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>;
       <b>pragma</b> Import (C, Isendwin, "isendwin");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_123_16">Isendwin</A> = <A HREF="terminal_interface-curses__ads.htm#ref_2100_4">Curses_Bool_False</A> <b>then</b>
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_123_16">Isendwin</a> = <a href="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</a> <b>then</b>
          <b>return</b> False;
       <b>else</b>
          <b>return</b> True;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_672_13">Is_End_Window</A>;
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_133_14" HREF="terminal_interface-curses__ads.htm#ref_681_14">Move_Cursor</A></span> (<span class="symbol"><A NAME="ref_133_27" HREF="terminal_interface-curses__ads.htm#ref_681_27">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                          <span class="symbol"><A NAME="ref_134_27" HREF="terminal_interface-curses__ads.htm#ref_682_27">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-                          <span class="symbol"><A NAME="ref_135_27" HREF="terminal_interface-curses__ads.htm#ref_683_27">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>)
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_673_13">Is_End_Window</a>;
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_133_14" href="terminal_interface-curses__ads.htm#ref_682_14">Move_Cursor</a></span> (<span class="symbol"><a name="ref_133_27" href="terminal_interface-curses__ads.htm#ref_682_27">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                          <span class="symbol"><a name="ref_134_27" href="terminal_interface-curses__ads.htm#ref_683_27">Line</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+                          <span class="symbol"><a name="ref_135_27" href="terminal_interface-curses__ads.htm#ref_684_27">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_137_16">Wmove</A></span> (<span class="symbol"><A NAME="ref_137_23" HREF="terminal_interface-curses__adb.htm#ref_137_16">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-                      <span class="symbol"><A NAME="ref_138_23" HREF="terminal_interface-curses__adb.htm#ref_137_16">Line</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-                      <span class="symbol"><A NAME="ref_139_23" HREF="terminal_interface-curses__adb.htm#ref_137_16">Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>
-                     ) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_137_16">Wmove</a></span> (<span class="symbol"><a name="ref_137_23">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+                      <span class="symbol"><a name="ref_138_23">Line</a></span>   : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+                      <span class="symbol"><a name="ref_139_23">Column</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>
+                     ) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Wmove, "wmove");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_137_16">Wmove</A> (<A HREF="terminal_interface-curses__ads.htm#ref_681_27">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_682_27">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_683_27">Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_137_16">Wmove</a> (<a href="terminal_interface-curses__ads.htm#ref_682_27">Win</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_683_27">Line</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_684_27">Column</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_681_14">Move_Cursor</A>;
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_148_14" HREF="terminal_interface-curses__ads.htm#ref_693_14">Add</A></span> (<span class="symbol"><A NAME="ref_148_19" HREF="terminal_interface-curses__ads.htm#ref_693_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                  <span class="symbol"><A NAME="ref_149_19" HREF="terminal_interface-curses__ads.htm#ref_694_19">Ch</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>)
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_682_14">Move_Cursor</a>;
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_148_14" href="terminal_interface-curses__ads.htm#ref_694_14">Add</a></span> (<span class="symbol"><a name="ref_148_19" href="terminal_interface-curses__ads.htm#ref_694_19">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                  <span class="symbol"><a name="ref_149_19" href="terminal_interface-curses__ads.htm#ref_695_19">Ch</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_151_16">Waddch</A></span> (<span class="symbol"><A NAME="ref_151_24" HREF="terminal_interface-curses__adb.htm#ref_151_16">W</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-                       <span class="symbol"><A NAME="ref_152_24" HREF="terminal_interface-curses__adb.htm#ref_151_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_151_16">Waddch</a></span> (<span class="symbol"><a name="ref_151_24">W</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+                       <span class="symbol"><a name="ref_152_24">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Waddch, "waddch");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_151_16">Waddch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_693_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_694_19">Ch</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_151_16">Waddch</a> (<a href="terminal_interface-curses__ads.htm#ref_694_19">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_695_19">Ch</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_693_14">Add</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_694_14">Add</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_160_14" HREF="terminal_interface-curses__ads.htm#ref_698_14">Add</A></span> (<span class="symbol"><A NAME="ref_160_19" HREF="terminal_interface-curses__ads.htm#ref_698_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                  <span class="symbol"><A NAME="ref_161_19" HREF="terminal_interface-curses__ads.htm#ref_699_19">Ch</A></span>  : Character)
+   <b>procedure</b> <span class="symbol"><a name="ref_160_14" href="terminal_interface-curses__ads.htm#ref_699_14">Add</a></span> (<span class="symbol"><a name="ref_160_19" href="terminal_interface-curses__ads.htm#ref_699_19">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                  <span class="symbol"><a name="ref_161_19" href="terminal_interface-curses__ads.htm#ref_700_19">Ch</a></span>  : Character)
    <b>is</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses__ads.htm#ref_693_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#ref_698_19">Win</A>,
-           <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>'(<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A>    =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_699_19">Ch</A>,
-                                 <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First,
-                                 <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>  =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>));
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_698_14">Add</A>;
+      <a href="terminal_interface-curses__ads.htm#ref_694_14">Add</a> (<a href="terminal_interface-curses__ads.htm#ref_699_19">Win</a>,
+           <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>'(<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a>    =&gt; <a href="terminal_interface-curses__ads.htm#ref_700_19">Ch</a>,
+                                 <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> =&gt; <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First,
+                                 <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>  =&gt; <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>));
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_699_14">Add</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_170_14" HREF="terminal_interface-curses__ads.htm#ref_704_14">Add</A></span>
-     (<span class="symbol"><A NAME="ref_171_7" HREF="terminal_interface-curses__ads.htm#ref_705_7">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_172_7" HREF="terminal_interface-curses__ads.htm#ref_706_7">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_173_7" HREF="terminal_interface-curses__ads.htm#ref_707_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-      <span class="symbol"><A NAME="ref_174_7" HREF="terminal_interface-curses__ads.htm#ref_708_7">Ch</A></span>     : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_170_14" href="terminal_interface-curses__ads.htm#ref_705_14">Add</a></span>
+     (<span class="symbol"><a name="ref_171_7" href="terminal_interface-curses__ads.htm#ref_706_7">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_172_7" href="terminal_interface-curses__ads.htm#ref_707_7">Line</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_173_7" href="terminal_interface-curses__ads.htm#ref_708_7">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+      <span class="symbol"><a name="ref_174_7" href="terminal_interface-curses__ads.htm#ref_709_7">Ch</a></span>     : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_176_16">mvwaddch</A></span> (<span class="symbol"><A NAME="ref_176_26" HREF="terminal_interface-curses__adb.htm#ref_176_16">W</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-                         <span class="symbol"><A NAME="ref_177_26" HREF="terminal_interface-curses__adb.htm#ref_176_16">Y</A></span>  : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-                         <span class="symbol"><A NAME="ref_178_26" HREF="terminal_interface-curses__adb.htm#ref_176_16">X</A></span>  : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-                         <span class="symbol"><A NAME="ref_179_26" HREF="terminal_interface-curses__adb.htm#ref_176_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_176_16">mvwaddch</a></span> (<span class="symbol"><a name="ref_176_26">W</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+                         <span class="symbol"><a name="ref_177_26">Y</a></span>  : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+                         <span class="symbol"><a name="ref_178_26">X</a></span>  : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+                         <span class="symbol"><a name="ref_179_26">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, mvwaddch, "mvwaddch");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_176_16">mvwaddch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_705_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_706_7">Line</A>),
-                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_707_7">Column</A>),
-                   <A HREF="terminal_interface-curses__ads.htm#ref_708_7">Ch</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_176_16">mvwaddch</a> (<a href="terminal_interface-curses__ads.htm#ref_706_7">Win</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_707_7">Line</a>),
+                   <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_708_7">Column</a>),
+                   <a href="terminal_interface-curses__ads.htm#ref_709_7">Ch</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a>
       <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_704_14">Add</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_705_14">Add</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_190_14" HREF="terminal_interface-curses__ads.htm#ref_712_14">Add</A></span>
-     (<span class="symbol"><A NAME="ref_191_7" HREF="terminal_interface-curses__ads.htm#ref_713_7">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_192_7" HREF="terminal_interface-curses__ads.htm#ref_714_7">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_193_7" HREF="terminal_interface-curses__ads.htm#ref_715_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-      <span class="symbol"><A NAME="ref_194_7" HREF="terminal_interface-curses__ads.htm#ref_716_7">Ch</A></span>     : Character)
+   <b>procedure</b> <span class="symbol"><a name="ref_190_14" href="terminal_interface-curses__ads.htm#ref_713_14">Add</a></span>
+     (<span class="symbol"><a name="ref_191_7" href="terminal_interface-curses__ads.htm#ref_714_7">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_192_7" href="terminal_interface-curses__ads.htm#ref_715_7">Line</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_193_7" href="terminal_interface-curses__ads.htm#ref_716_7">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+      <span class="symbol"><a name="ref_194_7" href="terminal_interface-curses__ads.htm#ref_717_7">Ch</a></span>     : Character)
    <b>is</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses__ads.htm#ref_704_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#ref_713_7">Win</A>,
-           <A HREF="terminal_interface-curses__ads.htm#ref_714_7">Line</A>,
-           <A HREF="terminal_interface-curses__ads.htm#ref_715_7">Column</A>,
-           <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>'(<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A>    =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_716_7">Ch</A>,
-                                 <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First,
-                                 <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>  =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>));
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_712_14">Add</A>;
+      <a href="terminal_interface-curses__ads.htm#ref_705_14">Add</a> (<a href="terminal_interface-curses__ads.htm#ref_714_7">Win</a>,
+           <a href="terminal_interface-curses__ads.htm#ref_715_7">Line</a>,
+           <a href="terminal_interface-curses__ads.htm#ref_716_7">Column</a>,
+           <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>'(<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a>    =&gt; <a href="terminal_interface-curses__ads.htm#ref_717_7">Ch</a>,
+                                 <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> =&gt; <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First,
+                                 <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>  =&gt; <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>));
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_713_14">Add</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_205_14" HREF="terminal_interface-curses__ads.htm#ref_721_14">Add_With_Immediate_Echo</A></span>
-     (<span class="symbol"><A NAME="ref_206_7" HREF="terminal_interface-curses__ads.htm#ref_722_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_207_7" HREF="terminal_interface-curses__ads.htm#ref_723_7">Ch</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_205_14" href="terminal_interface-curses__ads.htm#ref_722_14">Add_With_Immediate_Echo</a></span>
+     (<span class="symbol"><a name="ref_206_7" href="terminal_interface-curses__ads.htm#ref_723_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_207_7" href="terminal_interface-curses__ads.htm#ref_724_7">Ch</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_209_16">Wechochar</A></span> (<span class="symbol"><A NAME="ref_209_27" HREF="terminal_interface-curses__adb.htm#ref_209_16">W</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-                          <span class="symbol"><A NAME="ref_210_27" HREF="terminal_interface-curses__adb.htm#ref_209_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_209_16">Wechochar</a></span> (<span class="symbol"><a name="ref_209_27">W</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+                          <span class="symbol"><a name="ref_210_27">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Wechochar, "wechochar");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_209_16">Wechochar</A> (<A HREF="terminal_interface-curses__ads.htm#ref_722_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_723_7">Ch</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_209_16">Wechochar</a> (<a href="terminal_interface-curses__ads.htm#ref_723_7">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_724_7">Ch</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_721_14">Add_With_Immediate_Echo</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_722_14">Add_With_Immediate_Echo</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_218_14" HREF="terminal_interface-curses__ads.htm#ref_727_14">Add_With_Immediate_Echo</A></span>
-     (<span class="symbol"><A NAME="ref_219_7" HREF="terminal_interface-curses__ads.htm#ref_728_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_220_7" HREF="terminal_interface-curses__ads.htm#ref_729_7">Ch</A></span>  : Character)
+   <b>procedure</b> <span class="symbol"><a name="ref_218_14" href="terminal_interface-curses__ads.htm#ref_728_14">Add_With_Immediate_Echo</a></span>
+     (<span class="symbol"><a name="ref_219_7" href="terminal_interface-curses__ads.htm#ref_729_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_220_7" href="terminal_interface-curses__ads.htm#ref_730_7">Ch</a></span>  : Character)
    <b>is</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses__ads.htm#ref_721_14">Add_With_Immediate_Echo</A>
-        (<A HREF="terminal_interface-curses__ads.htm#ref_728_7">Win</A>,
-         <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>'(<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A>    =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_729_7">Ch</A>,
-                               <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First,
-                               <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>  =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>));
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_727_14">Add_With_Immediate_Echo</A>;
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_230_13" HREF="terminal_interface-curses__ads.htm#ref_739_13">Create</A></span> (<span class="symbol"><A NAME="ref_230_21" HREF="terminal_interface-curses__ads.htm#ref_740_7">Number_Of_Lines</A></span>       : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
-                    <span class="symbol"><A NAME="ref_231_21" HREF="terminal_interface-curses__ads.htm#ref_741_7">Number_Of_Columns</A></span>     : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
-                    <span class="symbol"><A NAME="ref_232_21" HREF="terminal_interface-curses__ads.htm#ref_742_7">First_Line_Position</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-                    <span class="symbol"><A NAME="ref_233_21" HREF="terminal_interface-curses__ads.htm#ref_743_7">First_Column_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>
+      <a href="terminal_interface-curses__ads.htm#ref_722_14">Add_With_Immediate_Echo</a>
+        (<a href="terminal_interface-curses__ads.htm#ref_729_7">Win</a>,
+         <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>'(<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a>    =&gt; <a href="terminal_interface-curses__ads.htm#ref_730_7">Ch</a>,
+                               <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> =&gt; <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First,
+                               <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>  =&gt; <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>));
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_728_14">Add_With_Immediate_Echo</a>;
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_230_13" href="terminal_interface-curses__ads.htm#ref_740_13">Create</a></span> (<span class="symbol"><a name="ref_230_21" href="terminal_interface-curses__ads.htm#ref_741_7">Number_Of_Lines</a></span>       : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
+                    <span class="symbol"><a name="ref_231_21" href="terminal_interface-curses__ads.htm#ref_742_7">Number_Of_Columns</a></span>     : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>;
+                    <span class="symbol"><a name="ref_232_21" href="terminal_interface-curses__ads.htm#ref_743_7">First_Line_Position</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+                    <span class="symbol"><a name="ref_233_21" href="terminal_interface-curses__ads.htm#ref_744_7">First_Column_Position</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_235_16">Newwin</A></span> (<span class="symbol"><A NAME="ref_235_24" HREF="terminal_interface-curses__adb.htm#ref_235_16">Number_Of_Lines</A></span>       : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-                       <span class="symbol"><A NAME="ref_236_24" HREF="terminal_interface-curses__adb.htm#ref_235_16">Number_Of_Columns</A></span>     : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-                       <span class="symbol"><A NAME="ref_237_24" HREF="terminal_interface-curses__adb.htm#ref_235_16">First_Line_Position</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-                       <span class="symbol"><A NAME="ref_238_24" HREF="terminal_interface-curses__adb.htm#ref_235_16">First_Column_Position</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+      <b>function</b> <span class="symbol"><a name="ref_235_16">Newwin</a></span> (<span class="symbol"><a name="ref_235_24">Number_Of_Lines</a></span>       : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+                       <span class="symbol"><a name="ref_236_24">Number_Of_Columns</a></span>     : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+                       <span class="symbol"><a name="ref_237_24">First_Line_Position</a></span>   : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+                       <span class="symbol"><a name="ref_238_24">First_Column_Position</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
       <b>pragma</b> Import (C, Newwin, "newwin");
 
-      <span class="symbol"><A NAME="ref_241_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+      <span class="symbol"><a name="ref_241_7">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
    <b>begin</b>
-      <A HREF="terminal_interface-curses__adb.htm#ref_241_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_235_16">Newwin</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_740_7">Number_Of_Lines</A>),
-                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_741_7">Number_Of_Columns</A>),
-                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_742_7">First_Line_Position</A>),
-                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_743_7">First_Column_Position</A>));
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_241_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <a href="terminal_interface-curses__adb.htm#ref_241_7">W</a> := <a href="terminal_interface-curses__adb.htm#ref_235_16">Newwin</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_741_7">Number_Of_Lines</a>),
+                   <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_742_7">Number_Of_Columns</a>),
+                   <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_743_7">First_Line_Position</a>),
+                   <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_744_7">First_Column_Position</a>));
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_241_7">W</a> = <a href="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-      <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_241_7">W</A>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_739_13">Create</A>;
+      <b>return</b> <a href="terminal_interface-curses__adb.htm#ref_241_7">W</a>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_740_13">Create</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_253_14" HREF="terminal_interface-curses__ads.htm#ref_758_14">Delete</A></span> (<span class="symbol"><A NAME="ref_253_22" HREF="terminal_interface-curses__ads.htm#ref_758_22">Win</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_253_14" href="terminal_interface-curses__ads.htm#ref_759_14">Delete</a></span> (<span class="symbol"><a name="ref_253_22" href="terminal_interface-curses__ads.htm#ref_759_22">Win</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_255_16">Wdelwin</A></span> (<span class="symbol"><A NAME="ref_255_25" HREF="terminal_interface-curses__adb.htm#ref_255_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_255_16">Wdelwin</a></span> (<span class="symbol"><a name="ref_255_25">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Wdelwin, "delwin");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_255_16">Wdelwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_758_22">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_255_16">Wdelwin</a> (<a href="terminal_interface-curses__ads.htm#ref_759_22">Win</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-      <A HREF="terminal_interface-curses__ads.htm#ref_758_22">Win</A> := <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_758_14">Delete</A>;
+      <a href="terminal_interface-curses__ads.htm#ref_759_22">Win</a> := <a href="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</a>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_759_14">Delete</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_264_13" HREF="terminal_interface-curses__ads.htm#ref_764_13">Sub_Window</A></span>
-     (<span class="symbol"><A NAME="ref_265_7" HREF="terminal_interface-curses__ads.htm#ref_765_7">Win</A></span>                   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_266_7" HREF="terminal_interface-curses__ads.htm#ref_766_7">Number_Of_Lines</A></span>       : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
-      <span class="symbol"><A NAME="ref_267_7" HREF="terminal_interface-curses__ads.htm#ref_767_7">Number_Of_Columns</A></span>     : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
-      <span class="symbol"><A NAME="ref_268_7" HREF="terminal_interface-curses__ads.htm#ref_768_7">First_Line_Position</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_269_7" HREF="terminal_interface-curses__ads.htm#ref_769_7">First_Column_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>
+   <b>function</b> <span class="symbol"><a name="ref_264_13" href="terminal_interface-curses__ads.htm#ref_765_13">Sub_Window</a></span>
+     (<span class="symbol"><a name="ref_265_7" href="terminal_interface-curses__ads.htm#ref_766_7">Win</a></span>                   : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_266_7" href="terminal_interface-curses__ads.htm#ref_767_7">Number_Of_Lines</a></span>       : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
+      <span class="symbol"><a name="ref_267_7" href="terminal_interface-curses__ads.htm#ref_768_7">Number_Of_Columns</a></span>     : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>;
+      <span class="symbol"><a name="ref_268_7" href="terminal_interface-curses__ads.htm#ref_769_7">First_Line_Position</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_269_7" href="terminal_interface-curses__ads.htm#ref_770_7">First_Column_Position</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_271_16">Subwin</A></span>
-        (<span class="symbol"><A NAME="ref_272_10" HREF="terminal_interface-curses__adb.htm#ref_271_16">Win</A></span>                   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-         <span class="symbol"><A NAME="ref_273_10" HREF="terminal_interface-curses__adb.htm#ref_271_16">Number_Of_Lines</A></span>       : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-         <span class="symbol"><A NAME="ref_274_10" HREF="terminal_interface-curses__adb.htm#ref_271_16">Number_Of_Columns</A></span>     : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-         <span class="symbol"><A NAME="ref_275_10" HREF="terminal_interface-curses__adb.htm#ref_271_16">First_Line_Position</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-         <span class="symbol"><A NAME="ref_276_10" HREF="terminal_interface-curses__adb.htm#ref_271_16">First_Column_Position</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+      <b>function</b> <span class="symbol"><a name="ref_271_16">Subwin</a></span>
+        (<span class="symbol"><a name="ref_272_10">Win</a></span>                   : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+         <span class="symbol"><a name="ref_273_10">Number_Of_Lines</a></span>       : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+         <span class="symbol"><a name="ref_274_10">Number_Of_Columns</a></span>     : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+         <span class="symbol"><a name="ref_275_10">First_Line_Position</a></span>   : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+         <span class="symbol"><a name="ref_276_10">First_Column_Position</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
       <b>pragma</b> Import (C, Subwin, "subwin");
 
-      <span class="symbol"><A NAME="ref_279_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+      <span class="symbol"><a name="ref_279_7">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
    <b>begin</b>
-      <A HREF="terminal_interface-curses__adb.htm#ref_279_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_271_16">Subwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_765_7">Win</A>,
-                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_766_7">Number_Of_Lines</A>),
-                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_767_7">Number_Of_Columns</A>),
-                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_768_7">First_Line_Position</A>),
-                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_769_7">First_Column_Position</A>));
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_279_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <a href="terminal_interface-curses__adb.htm#ref_279_7">W</a> := <a href="terminal_interface-curses__adb.htm#ref_271_16">Subwin</a> (<a href="terminal_interface-curses__ads.htm#ref_766_7">Win</a>,
+                   <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_767_7">Number_Of_Lines</a>),
+                   <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_768_7">Number_Of_Columns</a>),
+                   <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_769_7">First_Line_Position</a>),
+                   <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_770_7">First_Column_Position</a>));
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_279_7">W</a> = <a href="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-      <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_279_7">W</A>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_764_13">Sub_Window</A>;
+      <b>return</b> <a href="terminal_interface-curses__adb.htm#ref_279_7">W</a>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_765_13">Sub_Window</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_292_13" HREF="terminal_interface-curses__ads.htm#ref_774_13">Derived_Window</A></span>
-     (<span class="symbol"><A NAME="ref_293_7" HREF="terminal_interface-curses__ads.htm#ref_775_7">Win</A></span>                   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_294_7" HREF="terminal_interface-curses__ads.htm#ref_776_7">Number_Of_Lines</A></span>       : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
-      <span class="symbol"><A NAME="ref_295_7" HREF="terminal_interface-curses__ads.htm#ref_777_7">Number_Of_Columns</A></span>     : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
-      <span class="symbol"><A NAME="ref_296_7" HREF="terminal_interface-curses__ads.htm#ref_778_7">First_Line_Position</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_297_7" HREF="terminal_interface-curses__ads.htm#ref_779_7">First_Column_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>
+   <b>function</b> <span class="symbol"><a name="ref_292_13" href="terminal_interface-curses__ads.htm#ref_775_13">Derived_Window</a></span>
+     (<span class="symbol"><a name="ref_293_7" href="terminal_interface-curses__ads.htm#ref_776_7">Win</a></span>                   : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_294_7" href="terminal_interface-curses__ads.htm#ref_777_7">Number_Of_Lines</a></span>       : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
+      <span class="symbol"><a name="ref_295_7" href="terminal_interface-curses__ads.htm#ref_778_7">Number_Of_Columns</a></span>     : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>;
+      <span class="symbol"><a name="ref_296_7" href="terminal_interface-curses__ads.htm#ref_779_7">First_Line_Position</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_297_7" href="terminal_interface-curses__ads.htm#ref_780_7">First_Column_Position</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_299_16">Derwin</A></span>
-        (<span class="symbol"><A NAME="ref_300_10" HREF="terminal_interface-curses__adb.htm#ref_299_16">Win</A></span>                   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-         <span class="symbol"><A NAME="ref_301_10" HREF="terminal_interface-curses__adb.htm#ref_299_16">Number_Of_Lines</A></span>       : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-         <span class="symbol"><A NAME="ref_302_10" HREF="terminal_interface-curses__adb.htm#ref_299_16">Number_Of_Columns</A></span>     : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-         <span class="symbol"><A NAME="ref_303_10" HREF="terminal_interface-curses__adb.htm#ref_299_16">First_Line_Position</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-         <span class="symbol"><A NAME="ref_304_10" HREF="terminal_interface-curses__adb.htm#ref_299_16">First_Column_Position</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+      <b>function</b> <span class="symbol"><a name="ref_299_16">Derwin</a></span>
+        (<span class="symbol"><a name="ref_300_10">Win</a></span>                   : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+         <span class="symbol"><a name="ref_301_10">Number_Of_Lines</a></span>       : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+         <span class="symbol"><a name="ref_302_10">Number_Of_Columns</a></span>     : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+         <span class="symbol"><a name="ref_303_10">First_Line_Position</a></span>   : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+         <span class="symbol"><a name="ref_304_10">First_Column_Position</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
       <b>pragma</b> Import (C, Derwin, "derwin");
 
-      <span class="symbol"><A NAME="ref_307_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+      <span class="symbol"><a name="ref_307_7">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
    <b>begin</b>
-      <A HREF="terminal_interface-curses__adb.htm#ref_307_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_299_16">Derwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_775_7">Win</A>,
-                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_776_7">Number_Of_Lines</A>),
-                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_777_7">Number_Of_Columns</A>),
-                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_778_7">First_Line_Position</A>),
-                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_779_7">First_Column_Position</A>));
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_307_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <a href="terminal_interface-curses__adb.htm#ref_307_7">W</a> := <a href="terminal_interface-curses__adb.htm#ref_299_16">Derwin</a> (<a href="terminal_interface-curses__ads.htm#ref_776_7">Win</a>,
+                   <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_777_7">Number_Of_Lines</a>),
+                   <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_778_7">Number_Of_Columns</a>),
+                   <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_779_7">First_Line_Position</a>),
+                   <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_780_7">First_Column_Position</a>));
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_307_7">W</a> = <a href="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-      <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_307_7">W</A>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_774_13">Derived_Window</A>;
+      <b>return</b> <a href="terminal_interface-curses__adb.htm#ref_307_7">W</a>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_775_13">Derived_Window</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_320_13" HREF="terminal_interface-curses__ads.htm#ref_784_13">Duplicate</A></span> (<span class="symbol"><A NAME="ref_320_24" HREF="terminal_interface-curses__ads.htm#ref_784_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>
+   <b>function</b> <span class="symbol"><a name="ref_320_13" href="terminal_interface-curses__ads.htm#ref_785_13">Duplicate</a></span> (<span class="symbol"><a name="ref_320_24" href="terminal_interface-curses__ads.htm#ref_785_24">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_322_16">Dupwin</A></span> (<span class="symbol"><A NAME="ref_322_24" HREF="terminal_interface-curses__adb.htm#ref_322_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+      <b>function</b> <span class="symbol"><a name="ref_322_16">Dupwin</a></span> (<span class="symbol"><a name="ref_322_24">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
       <b>pragma</b> Import (C, Dupwin, "dupwin");
 
-      <span class="symbol"><A NAME="ref_325_7">W</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__adb.htm#ref_322_16">Dupwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_784_24">Win</A>);
+      <span class="symbol"><a name="ref_325_7">W</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__adb.htm#ref_322_16">Dupwin</a> (<a href="terminal_interface-curses__ads.htm#ref_785_24">Win</a>);
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_325_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_325_7">W</a> = <a href="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-      <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_325_7">W</A>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_784_13">Duplicate</A>;
+      <b>return</b> <a href="terminal_interface-curses__adb.htm#ref_325_7">W</a>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_785_13">Duplicate</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_333_14" HREF="terminal_interface-curses__ads.htm#ref_789_14">Move_Window</A></span> (<span class="symbol"><A NAME="ref_333_27" HREF="terminal_interface-curses__ads.htm#ref_789_27">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-                          <span class="symbol"><A NAME="ref_334_27" HREF="terminal_interface-curses__ads.htm#ref_790_27">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-                          <span class="symbol"><A NAME="ref_335_27" HREF="terminal_interface-curses__ads.htm#ref_791_27">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_333_14" href="terminal_interface-curses__ads.htm#ref_790_14">Move_Window</a></span> (<span class="symbol"><a name="ref_333_27" href="terminal_interface-curses__ads.htm#ref_790_27">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+                          <span class="symbol"><a name="ref_334_27" href="terminal_interface-curses__ads.htm#ref_791_27">Line</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+                          <span class="symbol"><a name="ref_335_27" href="terminal_interface-curses__ads.htm#ref_792_27">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_337_16">Mvwin</A></span> (<span class="symbol"><A NAME="ref_337_23" HREF="terminal_interface-curses__adb.htm#ref_337_16">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-                      <span class="symbol"><A NAME="ref_338_23" HREF="terminal_interface-curses__adb.htm#ref_337_16">Line</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-                      <span class="symbol"><A NAME="ref_339_23" HREF="terminal_interface-curses__adb.htm#ref_337_16">Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_337_16">Mvwin</a></span> (<span class="symbol"><a name="ref_337_23">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+                      <span class="symbol"><a name="ref_338_23">Line</a></span>   : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+                      <span class="symbol"><a name="ref_339_23">Column</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Mvwin, "mvwin");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_337_16">Mvwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_789_27">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_790_27">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_791_27">Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_337_16">Mvwin</a> (<a href="terminal_interface-curses__ads.htm#ref_790_27">Win</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_791_27">Line</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_792_27">Column</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_789_14">Move_Window</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_790_14">Move_Window</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_347_14" HREF="terminal_interface-curses__ads.htm#ref_796_14">Move_Derived_Window</A></span> (<span class="symbol"><A NAME="ref_347_35" HREF="terminal_interface-curses__ads.htm#ref_796_35">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-                                  <span class="symbol"><A NAME="ref_348_35" HREF="terminal_interface-curses__ads.htm#ref_797_35">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-                                  <span class="symbol"><A NAME="ref_349_35" HREF="terminal_interface-curses__ads.htm#ref_798_35">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_347_14" href="terminal_interface-curses__ads.htm#ref_797_14">Move_Derived_Window</a></span> (<span class="symbol"><a name="ref_347_35" href="terminal_interface-curses__ads.htm#ref_797_35">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+                                  <span class="symbol"><a name="ref_348_35" href="terminal_interface-curses__ads.htm#ref_798_35">Line</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+                                  <span class="symbol"><a name="ref_349_35" href="terminal_interface-curses__ads.htm#ref_799_35">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_351_16">Mvderwin</A></span> (<span class="symbol"><A NAME="ref_351_26" HREF="terminal_interface-curses__adb.htm#ref_351_16">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-                         <span class="symbol"><A NAME="ref_352_26" HREF="terminal_interface-curses__adb.htm#ref_351_16">Line</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-                         <span class="symbol"><A NAME="ref_353_26" HREF="terminal_interface-curses__adb.htm#ref_351_16">Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_351_16">Mvderwin</a></span> (<span class="symbol"><a name="ref_351_26">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+                         <span class="symbol"><a name="ref_352_26">Line</a></span>   : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+                         <span class="symbol"><a name="ref_353_26">Column</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Mvderwin, "mvderwin");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_351_16">Mvderwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_796_35">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_797_35">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_798_35">Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_351_16">Mvderwin</a> (<a href="terminal_interface-curses__ads.htm#ref_797_35">Win</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_798_35">Line</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_799_35">Column</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_796_14">Move_Derived_Window</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_797_14">Move_Derived_Window</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_361_14" HREF="terminal_interface-curses__ads.htm#ref_813_14">Set_Synch_Mode</A></span> (<span class="symbol"><A NAME="ref_361_30" HREF="terminal_interface-curses__ads.htm#ref_813_30">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>  := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                             <span class="symbol"><A NAME="ref_362_30" HREF="terminal_interface-curses__ads.htm#ref_814_30">Mode</A></span> : Boolean := False)
+   <b>procedure</b> <span class="symbol"><a name="ref_361_14" href="terminal_interface-curses__ads.htm#ref_814_14">Set_Synch_Mode</a></span> (<span class="symbol"><a name="ref_361_30" href="terminal_interface-curses__ads.htm#ref_814_30">Win</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>  := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                             <span class="symbol"><a name="ref_362_30" href="terminal_interface-curses__ads.htm#ref_815_30">Mode</a></span> : Boolean := False)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_364_16">Syncok</A></span> (<span class="symbol"><A NAME="ref_364_24" HREF="terminal_interface-curses__adb.htm#ref_364_16">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-                       <span class="symbol"><A NAME="ref_365_24" HREF="terminal_interface-curses__adb.htm#ref_364_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_364_16">Syncok</a></span> (<span class="symbol"><a name="ref_364_24">Win</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+                       <span class="symbol"><a name="ref_365_24">Mode</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Syncok, "syncok");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_364_16">Syncok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_813_30">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_814_30">Mode</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_364_16">Syncok</a> (<a href="terminal_interface-curses__ads.htm#ref_814_30">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_815_30">Mode</a>))) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_813_14">Set_Synch_Mode</A>;
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_373_14" HREF="terminal_interface-curses__ads.htm#ref_823_14">Add</A></span> (<span class="symbol"><A NAME="ref_373_19" HREF="terminal_interface-curses__ads.htm#ref_823_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                  <span class="symbol"><A NAME="ref_374_19" HREF="terminal_interface-curses__ads.htm#ref_824_19">Str</A></span> : String;
-                  <span class="symbol"><A NAME="ref_375_19" HREF="terminal_interface-curses__ads.htm#ref_825_19">Len</A></span> : Integer := -1)
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_814_14">Set_Synch_Mode</a>;
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_373_14" href="terminal_interface-curses__ads.htm#ref_824_14">Add</a></span> (<span class="symbol"><a name="ref_373_19" href="terminal_interface-curses__ads.htm#ref_824_19">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                  <span class="symbol"><a name="ref_374_19" href="terminal_interface-curses__ads.htm#ref_825_19">Str</a></span> : String;
+                  <span class="symbol"><a name="ref_375_19" href="terminal_interface-curses__ads.htm#ref_826_19">Len</a></span> : Integer := -1)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_377_16">Waddnstr</A></span> (<span class="symbol"><A NAME="ref_377_26" HREF="terminal_interface-curses__adb.htm#ref_377_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-                         <span class="symbol"><A NAME="ref_378_26" HREF="terminal_interface-curses__adb.htm#ref_377_16">Str</A></span> : char_array;
-                         <span class="symbol"><A NAME="ref_379_26" HREF="terminal_interface-curses__adb.htm#ref_377_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> := -1) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_377_16">Waddnstr</a></span> (<span class="symbol"><a name="ref_377_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+                         <span class="symbol"><a name="ref_378_26">Str</a></span> : char_array;
+                         <span class="symbol"><a name="ref_379_26">Len</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := -1) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Waddnstr, "waddnstr");
 
-      <span class="symbol"><A NAME="ref_382_7">Txt</A></span>    : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_824_19">Str</A>'Length);
-      <span class="symbol"><A NAME="ref_383_7">Length</A></span> : size_t;
+      <span class="symbol"><a name="ref_382_7">Txt</a></span>    : char_array (0 .. <a href="terminal_interface-curses__ads.htm#ref_825_19">Str</a>'Length);
+      <span class="symbol"><a name="ref_383_7">Length</a></span> : size_t;
    <b>begin</b>
-      To_C (<A HREF="terminal_interface-curses__ads.htm#ref_824_19">Str</A>, <A HREF="terminal_interface-curses__adb.htm#ref_382_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_383_7">Length</A>);
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_377_16">Waddnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_823_19">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_382_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_825_19">Len</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      To_C (<a href="terminal_interface-curses__ads.htm#ref_825_19">Str</a>, <a href="terminal_interface-curses__adb.htm#ref_382_7">Txt</a>, <a href="terminal_interface-curses__adb.htm#ref_383_7">Length</a>);
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_377_16">Waddnstr</a> (<a href="terminal_interface-curses__ads.htm#ref_824_19">Win</a>, <a href="terminal_interface-curses__adb.htm#ref_382_7">Txt</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_826_19">Len</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_823_14">Add</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_824_14">Add</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_391_14" HREF="terminal_interface-curses__ads.htm#ref_832_14">Add</A></span>
-     (<span class="symbol"><A NAME="ref_392_7" HREF="terminal_interface-curses__ads.htm#ref_832_19">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_393_7" HREF="terminal_interface-curses__ads.htm#ref_833_19">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_394_7" HREF="terminal_interface-curses__ads.htm#ref_834_19">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-      <span class="symbol"><A NAME="ref_395_7" HREF="terminal_interface-curses__ads.htm#ref_835_19">Str</A></span>    : String;
-      <span class="symbol"><A NAME="ref_396_7" HREF="terminal_interface-curses__ads.htm#ref_836_19">Len</A></span>    : Integer := -1)
+   <b>procedure</b> <span class="symbol"><a name="ref_391_14" href="terminal_interface-curses__ads.htm#ref_833_14">Add</a></span>
+     (<span class="symbol"><a name="ref_392_7" href="terminal_interface-curses__ads.htm#ref_833_19">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_393_7" href="terminal_interface-curses__ads.htm#ref_834_19">Line</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_394_7" href="terminal_interface-curses__ads.htm#ref_835_19">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+      <span class="symbol"><a name="ref_395_7" href="terminal_interface-curses__ads.htm#ref_836_19">Str</a></span>    : String;
+      <span class="symbol"><a name="ref_396_7" href="terminal_interface-curses__ads.htm#ref_837_19">Len</a></span>    : Integer := -1)
    <b>is</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses__ads.htm#ref_681_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_832_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_833_19">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_834_19">Column</A>);
-      <A HREF="terminal_interface-curses__ads.htm#ref_823_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#ref_832_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_835_19">Str</A>, <A HREF="terminal_interface-curses__ads.htm#ref_836_19">Len</A>);
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_832_14">Add</A>;
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_403_14" HREF="terminal_interface-curses__ads.htm#ref_847_14">Add</A></span>
-     (<span class="symbol"><A NAME="ref_404_7" HREF="terminal_interface-curses__ads.htm#ref_847_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_405_7" HREF="terminal_interface-curses__ads.htm#ref_848_19">Str</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Attributed_String</A>;
-      <span class="symbol"><A NAME="ref_406_7" HREF="terminal_interface-curses__ads.htm#ref_849_19">Len</A></span> : Integer := -1)
+      <a href="terminal_interface-curses__ads.htm#ref_682_14">Move_Cursor</a> (<a href="terminal_interface-curses__ads.htm#ref_833_19">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_834_19">Line</a>, <a href="terminal_interface-curses__ads.htm#ref_835_19">Column</a>);
+      <a href="terminal_interface-curses__ads.htm#ref_824_14">Add</a> (<a href="terminal_interface-curses__ads.htm#ref_833_19">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_836_19">Str</a>, <a href="terminal_interface-curses__ads.htm#ref_837_19">Len</a>);
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_833_14">Add</a>;
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_403_14" href="terminal_interface-curses__ads.htm#ref_848_14">Add</a></span>
+     (<span class="symbol"><a name="ref_404_7" href="terminal_interface-curses__ads.htm#ref_848_19">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_405_7" href="terminal_interface-curses__ads.htm#ref_849_19">Str</a></span> : <a href="terminal_interface-curses__ads.htm#ref_510_4">Attributed_String</a>;
+      <span class="symbol"><a name="ref_406_7" href="terminal_interface-curses__ads.htm#ref_850_19">Len</a></span> : Integer := -1)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_408_16">Waddchnstr</A></span> (<span class="symbol"><A NAME="ref_408_28" HREF="terminal_interface-curses__adb.htm#ref_408_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-                           <span class="symbol"><A NAME="ref_409_28" HREF="terminal_interface-curses__adb.htm#ref_408_16">Str</A></span> : chtype_array;
-                           <span class="symbol"><A NAME="ref_410_28" HREF="terminal_interface-curses__adb.htm#ref_408_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> := -1) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_408_16">Waddchnstr</a></span> (<span class="symbol"><a name="ref_408_28">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+                           <span class="symbol"><a name="ref_409_28">Str</a></span> : chtype_array;
+                           <span class="symbol"><a name="ref_410_28">Len</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := -1) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Waddchnstr, "waddchnstr");
 
-      <span class="symbol"><A NAME="ref_413_7">Txt</A></span> : chtype_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_848_19">Str</A>'Length);
+      <span class="symbol"><a name="ref_413_7">Txt</a></span> : chtype_array (0 .. <a href="terminal_interface-curses__ads.htm#ref_849_19">Str</a>'Length);
    <b>begin</b>
-      <b>for</b> <span class="symbol"><A NAME="ref_415_11">Length</A></span> <b>in</b> 1 .. size_t (<A HREF="terminal_interface-curses__ads.htm#ref_848_19">Str</A>'Length) <b>loop</b>
-         <A HREF="terminal_interface-curses__adb.htm#ref_413_7">Txt</A> (<A HREF="terminal_interface-curses__adb.htm#ref_415_11">Length</A> - 1) := <A HREF="terminal_interface-curses__ads.htm#ref_848_19">Str</A> (Natural (<A HREF="terminal_interface-curses__adb.htm#ref_415_11">Length</A>));
+      <b>for</b> <span class="symbol"><a name="ref_415_11">Length</a></span> <b>in</b> 1 .. size_t (<a href="terminal_interface-curses__ads.htm#ref_849_19">Str</a>'Length) <b>loop</b>
+         <a href="terminal_interface-curses__adb.htm#ref_413_7">Txt</a> (<a href="terminal_interface-curses__adb.htm#ref_415_11">Length</a> - 1) := <a href="terminal_interface-curses__ads.htm#ref_849_19">Str</a> (Natural (<a href="terminal_interface-curses__adb.htm#ref_415_11">Length</a>));
       <b>end</b> <b>loop</b>;
-      <A HREF="terminal_interface-curses__adb.htm#ref_413_7">Txt</A> (<A HREF="terminal_interface-curses__ads.htm#ref_848_19">Str</A>'Length) := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_408_16">Waddchnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_847_19">Win</A>,
-                     <A HREF="terminal_interface-curses__adb.htm#ref_413_7">Txt</A>,
-                     <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_849_19">Len</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
+      <a href="terminal_interface-curses__adb.htm#ref_413_7">Txt</a> (<a href="terminal_interface-curses__ads.htm#ref_849_19">Str</a>'Length) := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_408_16">Waddchnstr</a> (<a href="terminal_interface-curses__ads.htm#ref_848_19">Win</a>,
+                     <a href="terminal_interface-curses__adb.htm#ref_413_7">Txt</a>,
+                     <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_850_19">Len</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a>
       <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_847_14">Add</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_848_14">Add</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_427_14" HREF="terminal_interface-curses__ads.htm#ref_856_14">Add</A></span>
-     (<span class="symbol"><A NAME="ref_428_7" HREF="terminal_interface-curses__ads.htm#ref_856_19">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_429_7" HREF="terminal_interface-curses__ads.htm#ref_857_19">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_430_7" HREF="terminal_interface-curses__ads.htm#ref_858_19">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-      <span class="symbol"><A NAME="ref_431_7" HREF="terminal_interface-curses__ads.htm#ref_859_19">Str</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Attributed_String</A>;
-      <span class="symbol"><A NAME="ref_432_7" HREF="terminal_interface-curses__ads.htm#ref_860_19">Len</A></span>    : Integer := -1)
+   <b>procedure</b> <span class="symbol"><a name="ref_427_14" href="terminal_interface-curses__ads.htm#ref_857_14">Add</a></span>
+     (<span class="symbol"><a name="ref_428_7" href="terminal_interface-curses__ads.htm#ref_857_19">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_429_7" href="terminal_interface-curses__ads.htm#ref_858_19">Line</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_430_7" href="terminal_interface-curses__ads.htm#ref_859_19">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+      <span class="symbol"><a name="ref_431_7" href="terminal_interface-curses__ads.htm#ref_860_19">Str</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_510_4">Attributed_String</a>;
+      <span class="symbol"><a name="ref_432_7" href="terminal_interface-curses__ads.htm#ref_861_19">Len</a></span>    : Integer := -1)
    <b>is</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses__ads.htm#ref_681_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_856_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_857_19">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_858_19">Column</A>);
-      <A HREF="terminal_interface-curses__ads.htm#ref_847_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#ref_856_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_859_19">Str</A>, <A HREF="terminal_interface-curses__ads.htm#ref_860_19">Len</A>);
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_856_14">Add</A>;
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_439_14" HREF="terminal_interface-curses__ads.htm#ref_874_14">Border</A></span>
-     (<span class="symbol"><A NAME="ref_440_7" HREF="terminal_interface-curses__ads.htm#ref_875_7">Win</A></span>                       : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_441_7" HREF="terminal_interface-curses__ads.htm#ref_876_7">Left_Side_Symbol</A></span>          : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
-      <span class="symbol"><A NAME="ref_442_7" HREF="terminal_interface-curses__ads.htm#ref_877_7">Right_Side_Symbol</A></span>         : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
-      <span class="symbol"><A NAME="ref_443_7" HREF="terminal_interface-curses__ads.htm#ref_878_7">Top_Side_Symbol</A></span>           : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
-      <span class="symbol"><A NAME="ref_444_7" HREF="terminal_interface-curses__ads.htm#ref_879_7">Bottom_Side_Symbol</A></span>        : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
-      <span class="symbol"><A NAME="ref_445_7" HREF="terminal_interface-curses__ads.htm#ref_880_7">Upper_Left_Corner_Symbol</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
-      <span class="symbol"><A NAME="ref_446_7" HREF="terminal_interface-curses__ads.htm#ref_881_7">Upper_Right_Corner_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
-      <span class="symbol"><A NAME="ref_447_7" HREF="terminal_interface-curses__ads.htm#ref_882_7">Lower_Left_Corner_Symbol</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
-      <span class="symbol"><A NAME="ref_448_7" HREF="terminal_interface-curses__ads.htm#ref_883_7">Lower_Right_Corner_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>)
+      <a href="terminal_interface-curses__ads.htm#ref_682_14">Move_Cursor</a> (<a href="terminal_interface-curses__ads.htm#ref_857_19">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_858_19">Line</a>, <a href="terminal_interface-curses__ads.htm#ref_859_19">Column</a>);
+      <a href="terminal_interface-curses__ads.htm#ref_848_14">Add</a> (<a href="terminal_interface-curses__ads.htm#ref_857_19">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_860_19">Str</a>, <a href="terminal_interface-curses__ads.htm#ref_861_19">Len</a>);
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_857_14">Add</a>;
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_439_14" href="terminal_interface-curses__ads.htm#ref_875_14">Border</a></span>
+     (<span class="symbol"><a name="ref_440_7" href="terminal_interface-curses__ads.htm#ref_876_7">Win</a></span>                       : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_441_7" href="terminal_interface-curses__ads.htm#ref_877_7">Left_Side_Symbol</a></span>          : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>;
+      <span class="symbol"><a name="ref_442_7" href="terminal_interface-curses__ads.htm#ref_878_7">Right_Side_Symbol</a></span>         : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>;
+      <span class="symbol"><a name="ref_443_7" href="terminal_interface-curses__ads.htm#ref_879_7">Top_Side_Symbol</a></span>           : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>;
+      <span class="symbol"><a name="ref_444_7" href="terminal_interface-curses__ads.htm#ref_880_7">Bottom_Side_Symbol</a></span>        : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>;
+      <span class="symbol"><a name="ref_445_7" href="terminal_interface-curses__ads.htm#ref_881_7">Upper_Left_Corner_Symbol</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>;
+      <span class="symbol"><a name="ref_446_7" href="terminal_interface-curses__ads.htm#ref_882_7">Upper_Right_Corner_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>;
+      <span class="symbol"><a name="ref_447_7" href="terminal_interface-curses__ads.htm#ref_883_7">Lower_Left_Corner_Symbol</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>;
+      <span class="symbol"><a name="ref_448_7" href="terminal_interface-curses__ads.htm#ref_884_7">Lower_Right_Corner_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_450_16">Wborder</A></span> (<span class="symbol"><A NAME="ref_450_25" HREF="terminal_interface-curses__adb.htm#ref_450_16">W</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-                        <span class="symbol"><A NAME="ref_451_25" HREF="terminal_interface-curses__adb.htm#ref_450_16">LS</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
-                        <span class="symbol"><A NAME="ref_452_25" HREF="terminal_interface-curses__adb.htm#ref_450_16">RS</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
-                        <span class="symbol"><A NAME="ref_453_25" HREF="terminal_interface-curses__adb.htm#ref_450_16">TS</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
-                        <span class="symbol"><A NAME="ref_454_25" HREF="terminal_interface-curses__adb.htm#ref_450_16">BS</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
-                        <span class="symbol"><A NAME="ref_455_25" HREF="terminal_interface-curses__adb.htm#ref_450_16">ULC</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
-                        <span class="symbol"><A NAME="ref_456_25" HREF="terminal_interface-curses__adb.htm#ref_450_16">URC</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
-                        <span class="symbol"><A NAME="ref_457_25" HREF="terminal_interface-curses__adb.htm#ref_450_16">LLC</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
-                        <span class="symbol"><A NAME="ref_458_25" HREF="terminal_interface-curses__adb.htm#ref_450_16">LRC</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_450_16">Wborder</a></span> (<span class="symbol"><a name="ref_450_25">W</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+                        <span class="symbol"><a name="ref_451_25">LS</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
+                        <span class="symbol"><a name="ref_452_25">RS</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
+                        <span class="symbol"><a name="ref_453_25">TS</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
+                        <span class="symbol"><a name="ref_454_25">BS</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
+                        <span class="symbol"><a name="ref_455_25">ULC</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
+                        <span class="symbol"><a name="ref_456_25">URC</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
+                        <span class="symbol"><a name="ref_457_25">LLC</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
+                        <span class="symbol"><a name="ref_458_25">LRC</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Wborder, "wborder");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_450_16">Wborder</A> (<A HREF="terminal_interface-curses__ads.htm#ref_875_7">Win</A>,
-                  <A HREF="terminal_interface-curses__ads.htm#ref_876_7">Left_Side_Symbol</A>,
-                  <A HREF="terminal_interface-curses__ads.htm#ref_877_7">Right_Side_Symbol</A>,
-                  <A HREF="terminal_interface-curses__ads.htm#ref_878_7">Top_Side_Symbol</A>,
-                  <A HREF="terminal_interface-curses__ads.htm#ref_879_7">Bottom_Side_Symbol</A>,
-                  <A HREF="terminal_interface-curses__ads.htm#ref_880_7">Upper_Left_Corner_Symbol</A>,
-                  <A HREF="terminal_interface-curses__ads.htm#ref_881_7">Upper_Right_Corner_Symbol</A>,
-                  <A HREF="terminal_interface-curses__ads.htm#ref_882_7">Lower_Left_Corner_Symbol</A>,
-                  <A HREF="terminal_interface-curses__ads.htm#ref_883_7">Lower_Right_Corner_Symbol</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_450_16">Wborder</a> (<a href="terminal_interface-curses__ads.htm#ref_876_7">Win</a>,
+                  <a href="terminal_interface-curses__ads.htm#ref_877_7">Left_Side_Symbol</a>,
+                  <a href="terminal_interface-curses__ads.htm#ref_878_7">Right_Side_Symbol</a>,
+                  <a href="terminal_interface-curses__ads.htm#ref_879_7">Top_Side_Symbol</a>,
+                  <a href="terminal_interface-curses__ads.htm#ref_880_7">Bottom_Side_Symbol</a>,
+                  <a href="terminal_interface-curses__ads.htm#ref_881_7">Upper_Left_Corner_Symbol</a>,
+                  <a href="terminal_interface-curses__ads.htm#ref_882_7">Upper_Right_Corner_Symbol</a>,
+                  <a href="terminal_interface-curses__ads.htm#ref_883_7">Lower_Left_Corner_Symbol</a>,
+                  <a href="terminal_interface-curses__ads.htm#ref_884_7">Lower_Right_Corner_Symbol</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a>
       <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_874_14">Border</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_875_14">Border</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_475_14" HREF="terminal_interface-curses__ads.htm#ref_890_14">Box</A></span>
-     (<span class="symbol"><A NAME="ref_476_7" HREF="terminal_interface-curses__ads.htm#ref_891_7">Win</A></span>               : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_477_7" HREF="terminal_interface-curses__ads.htm#ref_892_7">Vertical_Symbol</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
-      <span class="symbol"><A NAME="ref_478_7" HREF="terminal_interface-curses__ads.htm#ref_893_7">Horizontal_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_475_14" href="terminal_interface-curses__ads.htm#ref_891_14">Box</a></span>
+     (<span class="symbol"><a name="ref_476_7" href="terminal_interface-curses__ads.htm#ref_892_7">Win</a></span>               : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_477_7" href="terminal_interface-curses__ads.htm#ref_893_7">Vertical_Symbol</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>;
+      <span class="symbol"><a name="ref_478_7" href="terminal_interface-curses__ads.htm#ref_894_7">Horizontal_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>)
    <b>is</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses__ads.htm#ref_874_14">Border</A> (<A HREF="terminal_interface-curses__ads.htm#ref_891_7">Win</A>,
-              <A HREF="terminal_interface-curses__ads.htm#ref_892_7">Vertical_Symbol</A>, <A HREF="terminal_interface-curses__ads.htm#ref_892_7">Vertical_Symbol</A>,
-              <A HREF="terminal_interface-curses__ads.htm#ref_893_7">Horizontal_Symbol</A>, <A HREF="terminal_interface-curses__ads.htm#ref_893_7">Horizontal_Symbol</A>);
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_890_14">Box</A>;
+      <a href="terminal_interface-curses__ads.htm#ref_875_14">Border</a> (<a href="terminal_interface-curses__ads.htm#ref_892_7">Win</a>,
+              <a href="terminal_interface-curses__ads.htm#ref_893_7">Vertical_Symbol</a>, <a href="terminal_interface-curses__ads.htm#ref_893_7">Vertical_Symbol</a>,
+              <a href="terminal_interface-curses__ads.htm#ref_894_7">Horizontal_Symbol</a>, <a href="terminal_interface-curses__ads.htm#ref_894_7">Horizontal_Symbol</a>);
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_891_14">Box</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_486_14" HREF="terminal_interface-curses__ads.htm#ref_898_14">Horizontal_Line</A></span>
-     (<span class="symbol"><A NAME="ref_487_7" HREF="terminal_interface-curses__ads.htm#ref_899_7">Win</A></span>         : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_488_7" HREF="terminal_interface-curses__ads.htm#ref_900_7">Line_Size</A></span>   : Natural;
-      <span class="symbol"><A NAME="ref_489_7" HREF="terminal_interface-curses__ads.htm#ref_901_7">Line_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_486_14" href="terminal_interface-curses__ads.htm#ref_899_14">Horizontal_Line</a></span>
+     (<span class="symbol"><a name="ref_487_7" href="terminal_interface-curses__ads.htm#ref_900_7">Win</a></span>         : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_488_7" href="terminal_interface-curses__ads.htm#ref_901_7">Line_Size</a></span>   : Natural;
+      <span class="symbol"><a name="ref_489_7" href="terminal_interface-curses__ads.htm#ref_902_7">Line_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_491_16">Whline</A></span> (<span class="symbol"><A NAME="ref_491_24" HREF="terminal_interface-curses__adb.htm#ref_491_16">W</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-                       <span class="symbol"><A NAME="ref_492_24" HREF="terminal_interface-curses__adb.htm#ref_491_16">Ch</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
-                       <span class="symbol"><A NAME="ref_493_24" HREF="terminal_interface-curses__adb.htm#ref_491_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_491_16">Whline</a></span> (<span class="symbol"><a name="ref_491_24">W</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+                       <span class="symbol"><a name="ref_492_24">Ch</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
+                       <span class="symbol"><a name="ref_493_24">Len</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Whline, "whline");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_491_16">Whline</A> (<A HREF="terminal_interface-curses__ads.htm#ref_899_7">Win</A>,
-                 <A HREF="terminal_interface-curses__ads.htm#ref_901_7">Line_Symbol</A>,
-                 <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_900_7">Line_Size</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_491_16">Whline</a> (<a href="terminal_interface-curses__ads.htm#ref_900_7">Win</a>,
+                 <a href="terminal_interface-curses__ads.htm#ref_902_7">Line_Symbol</a>,
+                 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_901_7">Line_Size</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a>
       <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_898_14">Horizontal_Line</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_899_14">Horizontal_Line</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_504_14" HREF="terminal_interface-curses__ads.htm#ref_907_14">Vertical_Line</A></span>
-     (<span class="symbol"><A NAME="ref_505_7" HREF="terminal_interface-curses__ads.htm#ref_908_7">Win</A></span>         : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_506_7" HREF="terminal_interface-curses__ads.htm#ref_909_7">Line_Size</A></span>   : Natural;
-      <span class="symbol"><A NAME="ref_507_7" HREF="terminal_interface-curses__ads.htm#ref_910_7">Line_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_504_14" href="terminal_interface-curses__ads.htm#ref_908_14">Vertical_Line</a></span>
+     (<span class="symbol"><a name="ref_505_7" href="terminal_interface-curses__ads.htm#ref_909_7">Win</a></span>         : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_506_7" href="terminal_interface-curses__ads.htm#ref_910_7">Line_Size</a></span>   : Natural;
+      <span class="symbol"><a name="ref_507_7" href="terminal_interface-curses__ads.htm#ref_911_7">Line_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_509_16">Wvline</A></span> (<span class="symbol"><A NAME="ref_509_24" HREF="terminal_interface-curses__adb.htm#ref_509_16">W</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-                       <span class="symbol"><A NAME="ref_510_24" HREF="terminal_interface-curses__adb.htm#ref_509_16">Ch</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
-                       <span class="symbol"><A NAME="ref_511_24" HREF="terminal_interface-curses__adb.htm#ref_509_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_509_16">Wvline</a></span> (<span class="symbol"><a name="ref_509_24">W</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+                       <span class="symbol"><a name="ref_510_24">Ch</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
+                       <span class="symbol"><a name="ref_511_24">Len</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Wvline, "wvline");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_509_16">Wvline</A> (<A HREF="terminal_interface-curses__ads.htm#ref_908_7">Win</A>,
-                 <A HREF="terminal_interface-curses__ads.htm#ref_910_7">Line_Symbol</A>,
-                 <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_909_7">Line_Size</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_509_16">Wvline</a> (<a href="terminal_interface-curses__ads.htm#ref_909_7">Win</a>,
+                 <a href="terminal_interface-curses__ads.htm#ref_911_7">Line_Symbol</a>,
+                 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_910_7">Line_Size</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a>
       <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_907_14">Vertical_Line</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_908_14">Vertical_Line</a>;
 
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_523_13" HREF="terminal_interface-curses__ads.htm#ref_921_13">Get_Keystroke</A></span> (<span class="symbol"><A NAME="ref_523_28" HREF="terminal_interface-curses__ads.htm#ref_921_28">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
-     <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_523_13" href="terminal_interface-curses__ads.htm#ref_922_13">Get_Keystroke</a></span> (<span class="symbol"><a name="ref_523_28" href="terminal_interface-curses__ads.htm#ref_922_28">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>)
+     <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</a>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_526_16">Wgetch</A></span> (<span class="symbol"><A NAME="ref_526_24" HREF="terminal_interface-curses__adb.htm#ref_526_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_526_16">Wgetch</a></span> (<span class="symbol"><a name="ref_526_24">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Wgetch, "wgetch");
 
-      <span class="symbol"><A NAME="ref_529_7">C</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_526_16">Wgetch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_921_28">Win</A>);
+      <span class="symbol"><a name="ref_529_7">C</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses__adb.htm#ref_526_16">Wgetch</a> (<a href="terminal_interface-curses__ads.htm#ref_922_28">Win</a>);
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_529_7">C</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_88_4">Key_None</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_529_7">C</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_89_4">Key_None</a>;
       <b>else</b>
-         <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A> (<A HREF="terminal_interface-curses__adb.htm#ref_529_7">C</A>);
+         <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</a> (<a href="terminal_interface-curses__adb.htm#ref_529_7">C</a>);
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_921_13">Get_Keystroke</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_922_13">Get_Keystroke</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_538_14" HREF="terminal_interface-curses__ads.htm#ref_932_14">Undo_Keystroke</A></span> (<span class="symbol"><A NAME="ref_538_30" HREF="terminal_interface-curses__ads.htm#ref_932_30">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_538_14" href="terminal_interface-curses__ads.htm#ref_933_14">Undo_Keystroke</a></span> (<span class="symbol"><a name="ref_538_30" href="terminal_interface-curses__ads.htm#ref_933_30">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_540_16">Ungetch</A></span> (<span class="symbol"><A NAME="ref_540_25" HREF="terminal_interface-curses__adb.htm#ref_540_16">Ch</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_540_16">Ungetch</a></span> (<span class="symbol"><a name="ref_540_25">Ch</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Ungetch, "ungetch");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_540_16">Ungetch</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_932_30">Key</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_540_16">Ungetch</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_933_30">Key</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_932_14">Undo_Keystroke</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_933_14">Undo_Keystroke</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_548_13" HREF="terminal_interface-curses__ads.htm#ref_937_13">Has_Key</A></span> (<span class="symbol"><A NAME="ref_548_22" HREF="terminal_interface-curses__ads.htm#ref_937_22">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>) <b>return</b> Boolean
+   <b>function</b> <span class="symbol"><a name="ref_548_13" href="terminal_interface-curses__ads.htm#ref_938_13">Has_Key</a></span> (<span class="symbol"><a name="ref_548_22" href="terminal_interface-curses__ads.htm#ref_938_22">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>) <b>return</b> Boolean
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_550_16">Haskey</A></span> (<span class="symbol"><A NAME="ref_550_24" HREF="terminal_interface-curses__adb.htm#ref_550_16">Key</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_550_16">Haskey</a></span> (<span class="symbol"><a name="ref_550_24">Key</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Haskey, "has_key");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_550_16">Haskey</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_937_22">Key</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_68_4">Curses_False</A> <b>then</b>
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_550_16">Haskey</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_938_22">Key</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_67_4">Curses_False</a> <b>then</b>
          <b>return</b> False;
       <b>else</b>
          <b>return</b> True;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_937_13">Has_Key</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_938_13">Has_Key</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_560_13" HREF="terminal_interface-curses__ads.htm#ref_944_13">Is_Function_Key</A></span> (<span class="symbol"><A NAME="ref_560_30" HREF="terminal_interface-curses__ads.htm#ref_944_30">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>) <b>return</b> Boolean
+   <b>function</b> <span class="symbol"><a name="ref_560_13" href="terminal_interface-curses__ads.htm#ref_945_13">Is_Function_Key</a></span> (<span class="symbol"><a name="ref_560_30" href="terminal_interface-curses__ads.htm#ref_945_30">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>) <b>return</b> Boolean
    <b>is</b>
-      <span class="symbol"><A NAME="ref_562_7">L</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>  := <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> (Natural (<A HREF="terminal_interface-curses__ads.htm#ref_110_4">Key_F0</A>) +
-        Natural (<A HREF="terminal_interface-curses__ads.htm#ref_948_12">Function_Key_Number</A>'Last));
+      <span class="symbol"><a name="ref_562_7">L</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>  := <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> (Natural (<a href="terminal_interface-curses__ads.htm#ref_111_4">Key_F0</a>) +
+        Natural (<a href="terminal_interface-curses__ads.htm#ref_949_12">Function_Key_Number</a>'Last));
    <b>begin</b>
-      <b>if</b> (<A HREF="terminal_interface-curses__ads.htm#ref_944_30">Key</A> &gt;= <A HREF="terminal_interface-curses__ads.htm#ref_110_4">Key_F0</A>) <b>and</b> <b>then</b> (<A HREF="terminal_interface-curses__ads.htm#ref_944_30">Key</A> &lt;= <A HREF="terminal_interface-curses__adb.htm#ref_562_7">L</A>) <b>then</b>
+      <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_945_30">Key</a> &gt;= <a href="terminal_interface-curses__ads.htm#ref_111_4">Key_F0</a> <b>and</b> <b>then</b> <a href="terminal_interface-curses__ads.htm#ref_945_30">Key</a> &lt;= <a href="terminal_interface-curses__adb.htm#ref_562_7">L</a> <b>then</b>
          <b>return</b> True;
       <b>else</b>
          <b>return</b> False;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_944_13">Is_Function_Key</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_945_13">Is_Function_Key</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_572_13" HREF="terminal_interface-curses__ads.htm#ref_951_13">Function_Key</A></span> (<span class="symbol"><A NAME="ref_572_27" HREF="terminal_interface-curses__ads.htm#ref_951_27">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A>)
-                          <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_948_12">Function_Key_Number</A>
+   <b>function</b> <span class="symbol"><a name="ref_572_13" href="terminal_interface-curses__ads.htm#ref_952_13">Function_Key</a></span> (<span class="symbol"><a name="ref_572_27" href="terminal_interface-curses__ads.htm#ref_952_27">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</a>)
+                          <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_949_12">Function_Key_Number</a>
    <b>is</b>
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_944_13">Is_Function_Key</A> (<A HREF="terminal_interface-curses__ads.htm#ref_951_27">Key</A>) <b>then</b>
-         <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_948_12">Function_Key_Number</A> (<A HREF="terminal_interface-curses__ads.htm#ref_951_27">Key</A> - <A HREF="terminal_interface-curses__ads.htm#ref_110_4">Key_F0</A>);
+      <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_945_13">Is_Function_Key</a> (<a href="terminal_interface-curses__ads.htm#ref_952_27">Key</a>) <b>then</b>
+         <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_949_12">Function_Key_Number</a> (<a href="terminal_interface-curses__ads.htm#ref_952_27">Key</a> - <a href="terminal_interface-curses__ads.htm#ref_111_4">Key_F0</a>);
       <b>else</b>
          <b>raise</b> Constraint_Error;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_951_13">Function_Key</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_952_13">Function_Key</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_583_13" HREF="terminal_interface-curses__ads.htm#ref_956_13">Function_Key_Code</A></span> (<span class="symbol"><A NAME="ref_583_32" HREF="terminal_interface-curses__ads.htm#ref_956_32">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_948_12">Function_Key_Number</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A>
+   <b>function</b> <span class="symbol"><a name="ref_583_13" href="terminal_interface-curses__ads.htm#ref_957_13">Function_Key_Code</a></span> (<span class="symbol"><a name="ref_583_32" href="terminal_interface-curses__ads.htm#ref_957_32">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_949_12">Function_Key_Number</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</a>
    <b>is</b>
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A> (Natural (<A HREF="terminal_interface-curses__ads.htm#ref_110_4">Key_F0</A>) + Natural (<A HREF="terminal_interface-curses__ads.htm#ref_956_32">Key</A>));
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_956_13">Function_Key_Code</A>;
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_589_14" HREF="terminal_interface-curses__ads.htm#ref_970_14">Standout</A></span> (<span class="symbol"><A NAME="ref_589_24" HREF="terminal_interface-curses__ads.htm#ref_970_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>  := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                       <span class="symbol"><A NAME="ref_590_24" HREF="terminal_interface-curses__ads.htm#ref_971_24">On</A></span>  : Boolean := True)
+      <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</a> (Natural (<a href="terminal_interface-curses__ads.htm#ref_111_4">Key_F0</a>) + Natural (<a href="terminal_interface-curses__ads.htm#ref_957_32">Key</a>));
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_957_13">Function_Key_Code</a>;
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_589_14" href="terminal_interface-curses__ads.htm#ref_971_14">Standout</a></span> (<span class="symbol"><a name="ref_589_24" href="terminal_interface-curses__ads.htm#ref_971_24">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>  := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                       <span class="symbol"><a name="ref_590_24" href="terminal_interface-curses__ads.htm#ref_972_24">On</a></span>  : Boolean := True)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_592_16">wstandout</A></span> (<span class="symbol"><A NAME="ref_592_27" HREF="terminal_interface-curses__adb.htm#ref_592_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_592_16">wstandout</a></span> (<span class="symbol"><a name="ref_592_27">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, wstandout, "wstandout");
-      <b>function</b> <span class="symbol"><A NAME="ref_594_16">wstandend</A></span> (<span class="symbol"><A NAME="ref_594_27" HREF="terminal_interface-curses__adb.htm#ref_594_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_594_16">wstandend</a></span> (<span class="symbol"><a name="ref_594_27">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, wstandend, "wstandend");
 
-      <span class="symbol"><A NAME="ref_597_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <span class="symbol"><a name="ref_597_7">Err</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_971_24">On</A> <b>then</b>
-         <A HREF="terminal_interface-curses__adb.htm#ref_597_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_592_16">wstandout</A> (<A HREF="terminal_interface-curses__ads.htm#ref_970_24">Win</A>);
+      <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_972_24">On</a> <b>then</b>
+         <a href="terminal_interface-curses__adb.htm#ref_597_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_592_16">wstandout</a> (<a href="terminal_interface-curses__ads.htm#ref_971_24">Win</a>);
       <b>else</b>
-         <A HREF="terminal_interface-curses__adb.htm#ref_597_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_594_16">wstandend</A> (<A HREF="terminal_interface-curses__ads.htm#ref_970_24">Win</A>);
+         <a href="terminal_interface-curses__adb.htm#ref_597_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_594_16">wstandend</a> (<a href="terminal_interface-curses__ads.htm#ref_971_24">Win</a>);
       <b>end</b> <b>if</b>;
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_597_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_597_7">Err</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_970_14">Standout</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_971_14">Standout</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_609_14" HREF="terminal_interface-curses__ads.htm#ref_976_14">Switch_Character_Attribute</A></span>
-     (<span class="symbol"><A NAME="ref_610_7" HREF="terminal_interface-curses__ads.htm#ref_977_7">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_611_7" HREF="terminal_interface-curses__ads.htm#ref_978_7">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
-      <span class="symbol"><A NAME="ref_612_7" HREF="terminal_interface-curses__ads.htm#ref_979_7">On</A></span>   : Boolean := True)
+   <b>procedure</b> <span class="symbol"><a name="ref_609_14" href="terminal_interface-curses__ads.htm#ref_977_14">Switch_Character_Attribute</a></span>
+     (<span class="symbol"><a name="ref_610_7" href="terminal_interface-curses__ads.htm#ref_978_7">Win</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_611_7" href="terminal_interface-curses__ads.htm#ref_979_7">Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>;
+      <span class="symbol"><a name="ref_612_7" href="terminal_interface-curses__ads.htm#ref_980_7">On</a></span>   : Boolean := True)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_614_16">Wattron</A></span> (<span class="symbol"><A NAME="ref_614_25" HREF="terminal_interface-curses__adb.htm#ref_614_16">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-                        <span class="symbol"><A NAME="ref_615_25" HREF="terminal_interface-curses__adb.htm#ref_614_16">C_Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_614_16">Wattron</a></span> (<span class="symbol"><a name="ref_614_25">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+                        <span class="symbol"><a name="ref_615_25">C_Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Wattron, "wattr_on");
-      <b>function</b> <span class="symbol"><A NAME="ref_617_16">Wattroff</A></span> (<span class="symbol"><A NAME="ref_617_26" HREF="terminal_interface-curses__adb.htm#ref_617_16">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-                         <span class="symbol"><A NAME="ref_618_26" HREF="terminal_interface-curses__adb.htm#ref_617_16">C_Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_617_16">Wattroff</a></span> (<span class="symbol"><a name="ref_617_26">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+                         <span class="symbol"><a name="ref_618_26">C_Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Wattroff, "wattr_off");
-      <span class="comment"><EM>--  In Ada we use the On Boolean to control whether or not we want to</EM></span>
-      <span class="comment"><EM>--  switch on or off the attributes in the set.</EM></span>
-      <span class="symbol"><A NAME="ref_622_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-      <span class="symbol"><A NAME="ref_623_7">AC</A></span>  : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A>    =&gt; Character'First,
-                                              <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First,
-                                              <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>  =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_978_7">Attr</A>);
+      <span class="comment"><em>--  In Ada we use the On Boolean to control whether or not we want to</em></span>
+      <span class="comment"><em>--  switch on or off the attributes in the set.</em></span>
+      <span class="symbol"><a name="ref_622_7">Err</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+      <span class="symbol"><a name="ref_623_7">AC</a></span>  : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := (<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a>    =&gt; Character'First,
+                                              <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> =&gt; <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First,
+                                              <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>  =&gt; <a href="terminal_interface-curses__ads.htm#ref_979_7">Attr</a>);
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_979_7">On</A> <b>then</b>
-         <A HREF="terminal_interface-curses__adb.htm#ref_622_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_614_16">Wattron</A>  (<A HREF="terminal_interface-curses__ads.htm#ref_977_7">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_623_7">AC</A>);
+      <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_980_7">On</a> <b>then</b>
+         <a href="terminal_interface-curses__adb.htm#ref_622_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_614_16">Wattron</a>  (<a href="terminal_interface-curses__ads.htm#ref_978_7">Win</a>, <a href="terminal_interface-curses__adb.htm#ref_623_7">AC</a>);
       <b>else</b>
-         <A HREF="terminal_interface-curses__adb.htm#ref_622_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_617_16">Wattroff</A> (<A HREF="terminal_interface-curses__ads.htm#ref_977_7">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_623_7">AC</A>);
+         <a href="terminal_interface-curses__adb.htm#ref_622_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_617_16">Wattroff</a> (<a href="terminal_interface-curses__ads.htm#ref_978_7">Win</a>, <a href="terminal_interface-curses__adb.htm#ref_623_7">AC</a>);
       <b>end</b> <b>if</b>;
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_622_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_622_7">Err</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_976_14">Switch_Character_Attribute</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_977_14">Switch_Character_Attribute</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_637_14" HREF="terminal_interface-curses__ads.htm#ref_987_14">Set_Character_Attributes</A></span>
-     (<span class="symbol"><A NAME="ref_638_7" HREF="terminal_interface-curses__ads.htm#ref_988_7">Win</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_639_7" HREF="terminal_interface-curses__ads.htm#ref_989_7">Attr</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
-      <span class="symbol"><A NAME="ref_640_7" HREF="terminal_interface-curses__ads.htm#ref_990_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First)
+   <b>procedure</b> <span class="symbol"><a name="ref_637_14" href="terminal_interface-curses__ads.htm#ref_988_14">Set_Character_Attributes</a></span>
+     (<span class="symbol"><a name="ref_638_7" href="terminal_interface-curses__ads.htm#ref_989_7">Win</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_639_7" href="terminal_interface-curses__ads.htm#ref_990_7">Attr</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>;
+      <span class="symbol"><a name="ref_640_7" href="terminal_interface-curses__ads.htm#ref_991_7">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_642_16">Wattrset</A></span> (<span class="symbol"><A NAME="ref_642_26" HREF="terminal_interface-curses__adb.htm#ref_642_16">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-                         <span class="symbol"><A NAME="ref_643_26" HREF="terminal_interface-curses__adb.htm#ref_642_16">C_Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-      <b>pragma</b> Import (C, Wattrset, "wattrset"); <span class="comment"><EM>-- ??? wattr_set</EM></span>
+      <b>function</b> <span class="symbol"><a name="ref_642_16">Wattrset</a></span> (<span class="symbol"><a name="ref_642_26">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+                         <span class="symbol"><a name="ref_643_26">C_Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+      <b>pragma</b> Import (C, Wattrset, "wattrset"); <span class="comment"><em>-- ??? wattr_set</em></span>
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_642_16">Wattrset</A> (<A HREF="terminal_interface-curses__ads.htm#ref_988_7">Win</A>, (<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A> =&gt; Character'First,
-                         <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_990_7">Color</A>,
-                         <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_989_7">Attr</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_642_16">Wattrset</a> (<a href="terminal_interface-curses__ads.htm#ref_989_7">Win</a>, (<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a> =&gt; Character'First,
+                         <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> =&gt; <a href="terminal_interface-curses__ads.htm#ref_991_7">Color</a>,
+                         <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a> =&gt; <a href="terminal_interface-curses__ads.htm#ref_990_7">Attr</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a>
       <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_987_14">Set_Character_Attributes</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_988_14">Set_Character_Attributes</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_654_13" HREF="terminal_interface-curses__ads.htm#ref_996_13">Get_Character_Attribute</A></span> (<span class="symbol"><A NAME="ref_654_38" HREF="terminal_interface-curses__ads.htm#ref_997_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
-                                     <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>
+   <b>function</b> <span class="symbol"><a name="ref_654_13" href="terminal_interface-curses__ads.htm#ref_997_13">Get_Character_Attribute</a></span> (<span class="symbol"><a name="ref_654_38" href="terminal_interface-curses__ads.htm#ref_998_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>)
+                                     <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_657_16">Wattrget</A></span> (<span class="symbol"><A NAME="ref_657_26" HREF="terminal_interface-curses__adb.htm#ref_657_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-                         <span class="symbol"><A NAME="ref_658_26" HREF="terminal_interface-curses__adb.htm#ref_657_16">Atr</A></span> : <b>access</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
-                         <span class="symbol"><A NAME="ref_659_26" HREF="terminal_interface-curses__adb.htm#ref_657_16">Col</A></span> : <b>access</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>;
-                         <span class="symbol"><A NAME="ref_660_26" HREF="terminal_interface-curses__adb.htm#ref_657_16">Opt</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_657_16">Wattrget</a></span> (<span class="symbol"><a name="ref_657_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+                         <span class="symbol"><a name="ref_658_26">Atr</a></span> : <b>access</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
+                         <span class="symbol"><a name="ref_659_26">Col</a></span> : <b>access</b> <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>;
+                         <span class="symbol"><a name="ref_660_26">Opt</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Wattrget, "wattr_get");
 
-      <span class="symbol"><A NAME="ref_663_7">Attr</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
-      <span class="symbol"><A NAME="ref_664_7">Col</A></span>  : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>;
-      <span class="symbol"><A NAME="ref_665_7">Res</A></span>  : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_657_16">Wattrget</A> (<A HREF="terminal_interface-curses__ads.htm#ref_997_7">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_663_7">Attr</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_664_7">Col</A>'<b>Access</b>,
+      <span class="symbol"><a name="ref_663_7">Attr</a></span> : <b>aliased</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
+      <span class="symbol"><a name="ref_664_7">Col</a></span>  : <b>aliased</b> <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>;
+      <span class="symbol"><a name="ref_665_7">Res</a></span>  : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses__adb.htm#ref_657_16">Wattrget</a> (<a href="terminal_interface-curses__ads.htm#ref_998_7">Win</a>, <a href="terminal_interface-curses__adb.htm#ref_663_7">Attr</a>'<b>Access</b>, <a href="terminal_interface-curses__adb.htm#ref_664_7">Col</a>'<b>Access</b>,
                                          System.Null_Address);
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_665_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Ok</A> <b>then</b>
-         <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_663_7">Attr</A>.<A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_665_7">Res</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Ok</a> <b>then</b>
+         <b>return</b> <a href="terminal_interface-curses__adb.htm#ref_663_7">Attr</a>.<a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>;
       <b>else</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_996_13">Get_Character_Attribute</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_997_13">Get_Character_Attribute</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_675_13" HREF="terminal_interface-curses__ads.htm#ref_1002_13">Get_Character_Attribute</A></span> (<span class="symbol"><A NAME="ref_675_38" HREF="terminal_interface-curses__ads.htm#ref_1003_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
-                                     <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>
+   <b>function</b> <span class="symbol"><a name="ref_675_13" href="terminal_interface-curses__ads.htm#ref_1003_13">Get_Character_Attribute</a></span> (<span class="symbol"><a name="ref_675_38" href="terminal_interface-curses__ads.htm#ref_1004_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>)
+                                     <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_678_16">Wattrget</A></span> (<span class="symbol"><A NAME="ref_678_26" HREF="terminal_interface-curses__adb.htm#ref_678_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-                         <span class="symbol"><A NAME="ref_679_26" HREF="terminal_interface-curses__adb.htm#ref_678_16">Atr</A></span> : <b>access</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
-                         <span class="symbol"><A NAME="ref_680_26" HREF="terminal_interface-curses__adb.htm#ref_678_16">Col</A></span> : <b>access</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>;
-                         <span class="symbol"><A NAME="ref_681_26" HREF="terminal_interface-curses__adb.htm#ref_678_16">Opt</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_678_16">Wattrget</a></span> (<span class="symbol"><a name="ref_678_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+                         <span class="symbol"><a name="ref_679_26">Atr</a></span> : <b>access</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
+                         <span class="symbol"><a name="ref_680_26">Col</a></span> : <b>access</b> <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>;
+                         <span class="symbol"><a name="ref_681_26">Opt</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Wattrget, "wattr_get");
 
-      <span class="symbol"><A NAME="ref_684_7">Attr</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
-      <span class="symbol"><A NAME="ref_685_7">Col</A></span>  : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>;
-      <span class="symbol"><A NAME="ref_686_7">Res</A></span>  : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_678_16">Wattrget</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1003_7">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_684_7">Attr</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_685_7">Col</A>'<b>Access</b>,
+      <span class="symbol"><a name="ref_684_7">Attr</a></span> : <b>aliased</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
+      <span class="symbol"><a name="ref_685_7">Col</a></span>  : <b>aliased</b> <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>;
+      <span class="symbol"><a name="ref_686_7">Res</a></span>  : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses__adb.htm#ref_678_16">Wattrget</a> (<a href="terminal_interface-curses__ads.htm#ref_1004_7">Win</a>, <a href="terminal_interface-curses__adb.htm#ref_684_7">Attr</a>'<b>Access</b>, <a href="terminal_interface-curses__adb.htm#ref_685_7">Col</a>'<b>Access</b>,
                                          System.Null_Address);
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_686_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Ok</A> <b>then</b>
-         <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_684_7">Attr</A>.<A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_686_7">Res</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Ok</a> <b>then</b>
+         <b>return</b> <a href="terminal_interface-curses__adb.htm#ref_684_7">Attr</a>.<a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a>;
       <b>else</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1002_13">Get_Character_Attribute</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1003_13">Get_Character_Attribute</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_696_14" HREF="terminal_interface-curses__ads.htm#ref_1008_14">Set_Color</A></span> (<span class="symbol"><A NAME="ref_696_25" HREF="terminal_interface-curses__ads.htm#ref_1008_25">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                        <span class="symbol"><A NAME="ref_697_25" HREF="terminal_interface-curses__ads.htm#ref_1009_25">Pair</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_696_14" href="terminal_interface-curses__ads.htm#ref_1009_14">Set_Color</a></span> (<span class="symbol"><a name="ref_696_25" href="terminal_interface-curses__ads.htm#ref_1009_25">Win</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                        <span class="symbol"><a name="ref_697_25" href="terminal_interface-curses__ads.htm#ref_1010_25">Pair</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_699_16">Wset_Color</A></span> (<span class="symbol"><A NAME="ref_699_28" HREF="terminal_interface-curses__adb.htm#ref_699_16">Win</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-                           <span class="symbol"><A NAME="ref_700_28" HREF="terminal_interface-curses__adb.htm#ref_699_16">Color</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>;
-                           <span class="symbol"><A NAME="ref_701_28" HREF="terminal_interface-curses__adb.htm#ref_699_16">Opts</A></span>  : <A HREF="terminal_interface-curses-aux__ads.htm#ref_57_12">C_Void_Ptr</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_699_16">Wset_Color</a></span> (<span class="symbol"><a name="ref_699_28">Win</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+                           <span class="symbol"><a name="ref_700_28">Color</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>;
+                           <span class="symbol"><a name="ref_701_28">Opts</a></span>  : <a href="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Void_Ptr</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Wset_Color, "wcolor_set");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_699_16">Wset_Color</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1008_25">Win</A>,
-                     <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1009_25">Pair</A>),
-                     <A HREF="terminal_interface-curses-aux__ads.htm#ref_57_12">C_Void_Ptr</A> (System.Null_Address)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_699_16">Wset_Color</a> (<a href="terminal_interface-curses__ads.htm#ref_1009_25">Win</a>,
+                     <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__ads.htm#ref_1010_25">Pair</a>),
+                     <a href="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Void_Ptr</a> (System.Null_Address)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a>
       <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1008_14">Set_Color</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1009_14">Set_Color</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_712_14" HREF="terminal_interface-curses__ads.htm#ref_1015_14">Change_Attributes</A></span>
-     (<span class="symbol"><A NAME="ref_713_7" HREF="terminal_interface-curses__ads.htm#ref_1016_7">Win</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_714_7" HREF="terminal_interface-curses__ads.htm#ref_1017_7">Count</A></span> : Integer := -1;
-      <span class="symbol"><A NAME="ref_715_7" HREF="terminal_interface-curses__ads.htm#ref_1018_7">Attr</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
-      <span class="symbol"><A NAME="ref_716_7" HREF="terminal_interface-curses__ads.htm#ref_1019_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First)
+   <b>procedure</b> <span class="symbol"><a name="ref_712_14" href="terminal_interface-curses__ads.htm#ref_1016_14">Change_Attributes</a></span>
+     (<span class="symbol"><a name="ref_713_7" href="terminal_interface-curses__ads.htm#ref_1017_7">Win</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_714_7" href="terminal_interface-curses__ads.htm#ref_1018_7">Count</a></span> : Integer := -1;
+      <span class="symbol"><a name="ref_715_7" href="terminal_interface-curses__ads.htm#ref_1019_7">Attr</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>;
+      <span class="symbol"><a name="ref_716_7" href="terminal_interface-curses__ads.htm#ref_1020_7">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_718_16">Wchgat</A></span> (<span class="symbol"><A NAME="ref_718_24" HREF="terminal_interface-curses__adb.htm#ref_718_16">Win</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-                       <span class="symbol"><A NAME="ref_719_24" HREF="terminal_interface-curses__adb.htm#ref_718_16">Cnt</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-                       <span class="symbol"><A NAME="ref_720_24" HREF="terminal_interface-curses__adb.htm#ref_718_16">Attr</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
-                       <span class="symbol"><A NAME="ref_721_24" HREF="terminal_interface-curses__adb.htm#ref_718_16">Color</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>;
-                       <span class="symbol"><A NAME="ref_722_24" HREF="terminal_interface-curses__adb.htm#ref_718_16">Opts</A></span>  : System.Address := System.Null_Address)
-                       <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_718_16">Wchgat</a></span> (<span class="symbol"><a name="ref_718_24">Win</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+                       <span class="symbol"><a name="ref_719_24">Cnt</a></span>   : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+                       <span class="symbol"><a name="ref_720_24">Attr</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
+                       <span class="symbol"><a name="ref_721_24">Color</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>;
+                       <span class="symbol"><a name="ref_722_24">Opts</a></span>  : System.Address := System.Null_Address)
+                       <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Wchgat, "wchgat");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_718_16">Wchgat</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1016_7">Win</A>,
-                 <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1017_7">Count</A>),
-                 (<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A> =&gt; Character'First,
-                  <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First,
-                  <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_1018_7">Attr</A>),
-                 <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1019_7">Color</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_718_16">Wchgat</a> (<a href="terminal_interface-curses__ads.htm#ref_1017_7">Win</a>,
+                 <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1018_7">Count</a>),
+                 (<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a> =&gt; Character'First,
+                  <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> =&gt; <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First,
+                  <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a> =&gt; <a href="terminal_interface-curses__ads.htm#ref_1019_7">Attr</a>),
+                 <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__ads.htm#ref_1020_7">Color</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a>
       <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1015_14">Change_Attributes</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1016_14">Change_Attributes</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_737_14" HREF="terminal_interface-curses__ads.htm#ref_1024_14">Change_Attributes</A></span>
-     (<span class="symbol"><A NAME="ref_738_7" HREF="terminal_interface-curses__ads.htm#ref_1025_7">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_739_7" HREF="terminal_interface-curses__ads.htm#ref_1026_7">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A> := <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>'First;
-      <span class="symbol"><A NAME="ref_740_7" HREF="terminal_interface-curses__ads.htm#ref_1027_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>'First;
-      <span class="symbol"><A NAME="ref_741_7" HREF="terminal_interface-curses__ads.htm#ref_1028_7">Count</A></span>  : Integer := -1;
-      <span class="symbol"><A NAME="ref_742_7" HREF="terminal_interface-curses__ads.htm#ref_1029_7">Attr</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
-      <span class="symbol"><A NAME="ref_743_7" HREF="terminal_interface-curses__ads.htm#ref_1030_7">Color</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First)
+   <b>procedure</b> <span class="symbol"><a name="ref_737_14" href="terminal_interface-curses__ads.htm#ref_1025_14">Change_Attributes</a></span>
+     (<span class="symbol"><a name="ref_738_7" href="terminal_interface-curses__ads.htm#ref_1026_7">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_739_7" href="terminal_interface-curses__ads.htm#ref_1027_7">Line</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a> := <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>'First;
+      <span class="symbol"><a name="ref_740_7" href="terminal_interface-curses__ads.htm#ref_1028_7">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> := <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>'First;
+      <span class="symbol"><a name="ref_741_7" href="terminal_interface-curses__ads.htm#ref_1029_7">Count</a></span>  : Integer := -1;
+      <span class="symbol"><a name="ref_742_7" href="terminal_interface-curses__ads.htm#ref_1030_7">Attr</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>;
+      <span class="symbol"><a name="ref_743_7" href="terminal_interface-curses__ads.htm#ref_1031_7">Color</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First)
    <b>is</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses__ads.htm#ref_681_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1025_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1026_7">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1027_7">Column</A>);
-      <A HREF="terminal_interface-curses__ads.htm#ref_1015_14">Change_Attributes</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1025_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1028_7">Count</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1029_7">Attr</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1030_7">Color</A>);
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1024_14">Change_Attributes</A>;
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_750_14" HREF="terminal_interface-curses__ads.htm#ref_1040_14">Beep</A></span>
+      <a href="terminal_interface-curses__ads.htm#ref_682_14">Move_Cursor</a> (<a href="terminal_interface-curses__ads.htm#ref_1026_7">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_1027_7">Line</a>, <a href="terminal_interface-curses__ads.htm#ref_1028_7">Column</a>);
+      <a href="terminal_interface-curses__ads.htm#ref_1016_14">Change_Attributes</a> (<a href="terminal_interface-curses__ads.htm#ref_1026_7">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_1029_7">Count</a>, <a href="terminal_interface-curses__ads.htm#ref_1030_7">Attr</a>, <a href="terminal_interface-curses__ads.htm#ref_1031_7">Color</a>);
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1025_14">Change_Attributes</a>;
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_750_14" href="terminal_interface-curses__ads.htm#ref_1041_14">Beep</a></span>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_752_16">Beeper</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_752_16">Beeper</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Beeper, "beep");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_752_16">Beeper</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_752_16">Beeper</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1040_14">Beep</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1041_14">Beep</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_760_14" HREF="terminal_interface-curses__ads.htm#ref_1045_14">Flash_Screen</A></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_760_14" href="terminal_interface-curses__ads.htm#ref_1046_14">Flash_Screen</a></span>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_762_16">Flash</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_762_16">Flash</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Flash, "flash");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_762_16">Flash</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_762_16">Flash</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1045_14">Flash_Screen</A>;
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_770_14" HREF="terminal_interface-curses__ads.htm#ref_1056_14">Set_Cbreak_Mode</A></span> (<span class="symbol"><A NAME="ref_770_31" HREF="terminal_interface-curses__ads.htm#ref_1056_31">SwitchOn</A></span> : Boolean := True)
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1046_14">Flash_Screen</a>;
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_770_14" href="terminal_interface-curses__ads.htm#ref_1057_14">Set_Cbreak_Mode</a></span> (<span class="symbol"><a name="ref_770_31" href="terminal_interface-curses__ads.htm#ref_1057_31">SwitchOn</a></span> : Boolean := True)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_772_16">Cbreak</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_772_16">Cbreak</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Cbreak, "cbreak");
-      <b>function</b> <span class="symbol"><A NAME="ref_774_16">NoCbreak</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_774_16">NoCbreak</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, NoCbreak, "nocbreak");
 
-      <span class="symbol"><A NAME="ref_777_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <span class="symbol"><a name="ref_777_7">Err</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1056_31">SwitchOn</A> <b>then</b>
-         <A HREF="terminal_interface-curses__adb.htm#ref_777_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_772_16">Cbreak</A>;
+      <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_1057_31">SwitchOn</a> <b>then</b>
+         <a href="terminal_interface-curses__adb.htm#ref_777_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_772_16">Cbreak</a>;
       <b>else</b>
-         <A HREF="terminal_interface-curses__adb.htm#ref_777_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_774_16">NoCbreak</A>;
+         <a href="terminal_interface-curses__adb.htm#ref_777_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_774_16">NoCbreak</a>;
       <b>end</b> <b>if</b>;
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_777_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_777_7">Err</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1056_14">Set_Cbreak_Mode</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1057_14">Set_Cbreak_Mode</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_789_14" HREF="terminal_interface-curses__ads.htm#ref_1062_14">Set_Raw_Mode</A></span> (<span class="symbol"><A NAME="ref_789_28" HREF="terminal_interface-curses__ads.htm#ref_1062_28">SwitchOn</A></span> : Boolean := True)
+   <b>procedure</b> <span class="symbol"><a name="ref_789_14" href="terminal_interface-curses__ads.htm#ref_1063_14">Set_Raw_Mode</a></span> (<span class="symbol"><a name="ref_789_28" href="terminal_interface-curses__ads.htm#ref_1063_28">SwitchOn</a></span> : Boolean := True)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_791_16">Raw</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_791_16">Raw</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Raw, "raw");
-      <b>function</b> <span class="symbol"><A NAME="ref_793_16">NoRaw</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_793_16">NoRaw</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, NoRaw, "noraw");
 
-      <span class="symbol"><A NAME="ref_796_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <span class="symbol"><a name="ref_796_7">Err</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1062_28">SwitchOn</A> <b>then</b>
-         <A HREF="terminal_interface-curses__adb.htm#ref_796_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_791_16">Raw</A>;
+      <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_1063_28">SwitchOn</a> <b>then</b>
+         <a href="terminal_interface-curses__adb.htm#ref_796_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_791_16">Raw</a>;
       <b>else</b>
-         <A HREF="terminal_interface-curses__adb.htm#ref_796_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_793_16">NoRaw</A>;
+         <a href="terminal_interface-curses__adb.htm#ref_796_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_793_16">NoRaw</a>;
       <b>end</b> <b>if</b>;
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_796_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_796_7">Err</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1062_14">Set_Raw_Mode</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1063_14">Set_Raw_Mode</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_808_14" HREF="terminal_interface-curses__ads.htm#ref_1068_14">Set_Echo_Mode</A></span> (<span class="symbol"><A NAME="ref_808_29" HREF="terminal_interface-curses__ads.htm#ref_1068_29">SwitchOn</A></span> : Boolean := True)
+   <b>procedure</b> <span class="symbol"><a name="ref_808_14" href="terminal_interface-curses__ads.htm#ref_1069_14">Set_Echo_Mode</a></span> (<span class="symbol"><a name="ref_808_29" href="terminal_interface-curses__ads.htm#ref_1069_29">SwitchOn</a></span> : Boolean := True)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_810_16">Echo</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_810_16">Echo</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Echo, "echo");
-      <b>function</b> <span class="symbol"><A NAME="ref_812_16">NoEcho</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_812_16">NoEcho</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, NoEcho, "noecho");
 
-      <span class="symbol"><A NAME="ref_815_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <span class="symbol"><a name="ref_815_7">Err</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1068_29">SwitchOn</A> <b>then</b>
-         <A HREF="terminal_interface-curses__adb.htm#ref_815_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_810_16">Echo</A>;
+      <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_1069_29">SwitchOn</a> <b>then</b>
+         <a href="terminal_interface-curses__adb.htm#ref_815_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_810_16">Echo</a>;
       <b>else</b>
-         <A HREF="terminal_interface-curses__adb.htm#ref_815_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_812_16">NoEcho</A>;
+         <a href="terminal_interface-curses__adb.htm#ref_815_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_812_16">NoEcho</a>;
       <b>end</b> <b>if</b>;
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_815_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_815_7">Err</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1068_14">Set_Echo_Mode</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1069_14">Set_Echo_Mode</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_827_14" HREF="terminal_interface-curses__ads.htm#ref_1074_14">Set_Meta_Mode</A></span> (<span class="symbol"><A NAME="ref_827_29" HREF="terminal_interface-curses__ads.htm#ref_1074_29">Win</A></span>      : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                            <span class="symbol"><A NAME="ref_828_29" HREF="terminal_interface-curses__ads.htm#ref_1075_29">SwitchOn</A></span> : Boolean := True)
+   <b>procedure</b> <span class="symbol"><a name="ref_827_14" href="terminal_interface-curses__ads.htm#ref_1075_14">Set_Meta_Mode</a></span> (<span class="symbol"><a name="ref_827_29" href="terminal_interface-curses__ads.htm#ref_1075_29">Win</a></span>      : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                            <span class="symbol"><a name="ref_828_29" href="terminal_interface-curses__ads.htm#ref_1076_29">SwitchOn</a></span> : Boolean := True)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_830_16">Meta</A></span> (<span class="symbol"><A NAME="ref_830_22" HREF="terminal_interface-curses__adb.htm#ref_830_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_830_34" HREF="terminal_interface-curses__adb.htm#ref_830_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_830_16">Meta</a></span> (<span class="symbol"><a name="ref_830_22">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_830_34">Mode</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Meta, "meta");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_830_16">Meta</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1074_29">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1075_29">SwitchOn</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_830_16">Meta</a> (<a href="terminal_interface-curses__ads.htm#ref_1075_29">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_1076_29">SwitchOn</a>))) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1074_14">Set_Meta_Mode</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1075_14">Set_Meta_Mode</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_838_14" HREF="terminal_interface-curses__ads.htm#ref_1080_14">Set_KeyPad_Mode</A></span> (<span class="symbol"><A NAME="ref_838_31" HREF="terminal_interface-curses__ads.htm#ref_1080_31">Win</A></span>      : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                              <span class="symbol"><A NAME="ref_839_31" HREF="terminal_interface-curses__ads.htm#ref_1081_31">SwitchOn</A></span> : Boolean := True)
+   <b>procedure</b> <span class="symbol"><a name="ref_838_14" href="terminal_interface-curses__ads.htm#ref_1081_14">Set_KeyPad_Mode</a></span> (<span class="symbol"><a name="ref_838_31" href="terminal_interface-curses__ads.htm#ref_1081_31">Win</a></span>      : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                              <span class="symbol"><a name="ref_839_31" href="terminal_interface-curses__ads.htm#ref_1082_31">SwitchOn</a></span> : Boolean := True)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_841_16">Keypad</A></span> (<span class="symbol"><A NAME="ref_841_24" HREF="terminal_interface-curses__adb.htm#ref_841_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_841_36" HREF="terminal_interface-curses__adb.htm#ref_841_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_841_16">Keypad</a></span> (<span class="symbol"><a name="ref_841_24">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_841_36">Mode</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Keypad, "keypad");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_841_16">Keypad</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1080_31">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1081_31">SwitchOn</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_841_16">Keypad</a> (<a href="terminal_interface-curses__ads.htm#ref_1081_31">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_1082_31">SwitchOn</a>))) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1080_14">Set_KeyPad_Mode</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1081_14">Set_KeyPad_Mode</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_849_13" HREF="terminal_interface-curses__ads.htm#ref_1085_13">Get_KeyPad_Mode</A></span> (<span class="symbol"><A NAME="ref_849_30" HREF="terminal_interface-curses__ads.htm#ref_1085_30">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
+   <b>function</b> <span class="symbol"><a name="ref_849_13" href="terminal_interface-curses__ads.htm#ref_1086_13">Get_KeyPad_Mode</a></span> (<span class="symbol"><a name="ref_849_30" href="terminal_interface-curses__ads.htm#ref_1086_30">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>)
                              <b>return</b> Boolean
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_852_16">Is_Keypad</A></span> (<span class="symbol"><A NAME="ref_852_27" HREF="terminal_interface-curses__adb.htm#ref_852_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
+      <b>function</b> <span class="symbol"><a name="ref_852_16">Is_Keypad</a></span> (<span class="symbol"><a name="ref_852_27">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>;
       <b>pragma</b> Import (C, Is_Keypad, "is_keypad");
    <b>begin</b>
-      <b>return</b> (<A HREF="terminal_interface-curses__adb.htm#ref_852_16">Is_Keypad</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1085_30">Win</A>) /= <A HREF="terminal_interface-curses__ads.htm#ref_2100_4">Curses_Bool_False</A>);
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1085_13">Get_KeyPad_Mode</A>;
+      <b>return</b> (<a href="terminal_interface-curses__adb.htm#ref_852_16">Is_Keypad</a> (<a href="terminal_interface-curses__ads.htm#ref_1086_30">Win</a>) /= <a href="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</a>);
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1086_13">Get_KeyPad_Mode</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_858_14" HREF="terminal_interface-curses__ads.htm#ref_1093_14">Half_Delay</A></span> (<span class="symbol"><A NAME="ref_858_26" HREF="terminal_interface-curses__ads.htm#ref_1093_26">Amount</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1090_9">Half_Delay_Amount</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_858_14" href="terminal_interface-curses__ads.htm#ref_1094_14">Half_Delay</a></span> (<span class="symbol"><a name="ref_858_26" href="terminal_interface-curses__ads.htm#ref_1094_26">Amount</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1091_9">Half_Delay_Amount</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_860_16">Halfdelay</A></span> (<span class="symbol"><A NAME="ref_860_27" HREF="terminal_interface-curses__adb.htm#ref_860_16">Amount</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_860_16">Halfdelay</a></span> (<span class="symbol"><a name="ref_860_27">Amount</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Halfdelay, "halfdelay");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_860_16">Halfdelay</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1093_26">Amount</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_860_16">Halfdelay</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1094_26">Amount</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1093_14">Half_Delay</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1094_14">Half_Delay</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_868_14" HREF="terminal_interface-curses__ads.htm#ref_1098_14">Set_Flush_On_Interrupt_Mode</A></span>
-     (<span class="symbol"><A NAME="ref_869_7" HREF="terminal_interface-curses__ads.htm#ref_1099_7">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_870_7" HREF="terminal_interface-curses__ads.htm#ref_1100_7">Mode</A></span> : Boolean := True)
+   <b>procedure</b> <span class="symbol"><a name="ref_868_14" href="terminal_interface-curses__ads.htm#ref_1099_14">Set_Flush_On_Interrupt_Mode</a></span>
+     (<span class="symbol"><a name="ref_869_7" href="terminal_interface-curses__ads.htm#ref_1100_7">Win</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_870_7" href="terminal_interface-curses__ads.htm#ref_1101_7">Mode</a></span> : Boolean := True)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_872_16">Intrflush</A></span> (<span class="symbol"><A NAME="ref_872_27" HREF="terminal_interface-curses__adb.htm#ref_872_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_872_41" HREF="terminal_interface-curses__adb.htm#ref_872_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_872_16">Intrflush</a></span> (<span class="symbol"><a name="ref_872_27">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_872_41">Mode</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Intrflush, "intrflush");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_872_16">Intrflush</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1099_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1100_7">Mode</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_872_16">Intrflush</a> (<a href="terminal_interface-curses__ads.htm#ref_1100_7">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_1101_7">Mode</a>))) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1098_14">Set_Flush_On_Interrupt_Mode</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1099_14">Set_Flush_On_Interrupt_Mode</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_880_14" HREF="terminal_interface-curses__ads.htm#ref_1105_14">Set_Queue_Interrupt_Mode</A></span>
-     (<span class="symbol"><A NAME="ref_881_7" HREF="terminal_interface-curses__ads.htm#ref_1106_7">Win</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_882_7" HREF="terminal_interface-curses__ads.htm#ref_1107_7">Flush</A></span> : Boolean := True)
+   <b>procedure</b> <span class="symbol"><a name="ref_880_14" href="terminal_interface-curses__ads.htm#ref_1106_14">Set_Queue_Interrupt_Mode</a></span>
+     (<span class="symbol"><a name="ref_881_7" href="terminal_interface-curses__ads.htm#ref_1107_7">Win</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_882_7" href="terminal_interface-curses__ads.htm#ref_1108_7">Flush</a></span> : Boolean := True)
    <b>is</b>
-      <b>procedure</b> <span class="symbol"><A NAME="ref_884_17">Qiflush</A></span>;
+      <b>procedure</b> <span class="symbol"><a name="ref_884_17">Qiflush</a></span>;
       <b>pragma</b> Import (C, Qiflush, "qiflush");
-      <b>procedure</b> <span class="symbol"><A NAME="ref_886_17">No_Qiflush</A></span>;
+      <b>procedure</b> <span class="symbol"><a name="ref_886_17">No_Qiflush</a></span>;
       <b>pragma</b> Import (C, No_Qiflush, "noqiflush");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1106_7">Win</A> = <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_1107_7">Win</a> = <a href="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-      <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1107_7">Flush</A> <b>then</b>
-         <A HREF="terminal_interface-curses__adb.htm#ref_884_17">Qiflush</A>;
+      <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_1108_7">Flush</a> <b>then</b>
+         <a href="terminal_interface-curses__adb.htm#ref_884_17">Qiflush</a>;
       <b>else</b>
-         <A HREF="terminal_interface-curses__adb.htm#ref_886_17">No_Qiflush</A>;
+         <a href="terminal_interface-curses__adb.htm#ref_886_17">No_Qiflush</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1105_14">Set_Queue_Interrupt_Mode</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1106_14">Set_Queue_Interrupt_Mode</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_899_14" HREF="terminal_interface-curses__ads.htm#ref_1113_14">Set_NoDelay_Mode</A></span>
-     (<span class="symbol"><A NAME="ref_900_7" HREF="terminal_interface-curses__ads.htm#ref_1114_7">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_901_7" HREF="terminal_interface-curses__ads.htm#ref_1115_7">Mode</A></span> : Boolean := False)
+   <b>procedure</b> <span class="symbol"><a name="ref_899_14" href="terminal_interface-curses__ads.htm#ref_1114_14">Set_NoDelay_Mode</a></span>
+     (<span class="symbol"><a name="ref_900_7" href="terminal_interface-curses__ads.htm#ref_1115_7">Win</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_901_7" href="terminal_interface-curses__ads.htm#ref_1116_7">Mode</a></span> : Boolean := False)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_903_16">Nodelay</A></span> (<span class="symbol"><A NAME="ref_903_25" HREF="terminal_interface-curses__adb.htm#ref_903_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_903_39" HREF="terminal_interface-curses__adb.htm#ref_903_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_903_16">Nodelay</a></span> (<span class="symbol"><a name="ref_903_25">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_903_39">Mode</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Nodelay, "nodelay");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_903_16">Nodelay</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1114_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1115_7">Mode</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_903_16">Nodelay</a> (<a href="terminal_interface-curses__ads.htm#ref_1115_7">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_1116_7">Mode</a>))) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1113_14">Set_NoDelay_Mode</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1114_14">Set_NoDelay_Mode</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_911_14" HREF="terminal_interface-curses__ads.htm#ref_1122_14">Set_Timeout_Mode</A></span> (<span class="symbol"><A NAME="ref_911_32" HREF="terminal_interface-curses__ads.htm#ref_1122_32">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                               <span class="symbol"><A NAME="ref_912_32" HREF="terminal_interface-curses__ads.htm#ref_1123_32">Mode</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_1119_9">Timeout_Mode</A>;
-                               <span class="symbol"><A NAME="ref_913_32" HREF="terminal_interface-curses__ads.htm#ref_1124_32">Amount</A></span> : Natural)
+   <b>procedure</b> <span class="symbol"><a name="ref_911_14" href="terminal_interface-curses__ads.htm#ref_1123_14">Set_Timeout_Mode</a></span> (<span class="symbol"><a name="ref_911_32" href="terminal_interface-curses__ads.htm#ref_1123_32">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                               <span class="symbol"><a name="ref_912_32" href="terminal_interface-curses__ads.htm#ref_1124_32">Mode</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_1120_9">Timeout_Mode</a>;
+                               <span class="symbol"><a name="ref_913_32" href="terminal_interface-curses__ads.htm#ref_1125_32">Amount</a></span> : Natural)
    <b>is</b>
-      <b>procedure</b> <span class="symbol"><A NAME="ref_915_17">Wtimeout</A></span> (<span class="symbol"><A NAME="ref_915_27" HREF="terminal_interface-curses__adb.htm#ref_915_17">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_915_41" HREF="terminal_interface-curses__adb.htm#ref_915_17">Amount</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>);
+      <b>procedure</b> <span class="symbol"><a name="ref_915_17">Wtimeout</a></span> (<span class="symbol"><a name="ref_915_27">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_915_41">Amount</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>);
       <b>pragma</b> Import (C, Wtimeout, "wtimeout");
 
-      <span class="symbol"><A NAME="ref_918_7">Time</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <span class="symbol"><a name="ref_918_7">Time</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
    <b>begin</b>
-      <b>case</b> <A HREF="terminal_interface-curses__ads.htm#ref_1123_32">Mode</A> <b>is</b>
-         <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_1119_26">Blocking</A>     =&gt; <A HREF="terminal_interface-curses__adb.htm#ref_918_7">Time</A> := -1;
-         <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_1119_36">Non_Blocking</A> =&gt; <A HREF="terminal_interface-curses__adb.htm#ref_918_7">Time</A> := 0;
-         <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_1119_50">Delayed</A>      =&gt;
-            <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1124_32">Amount</A> = 0 <b>then</b>
+      <b>case</b> <a href="terminal_interface-curses__ads.htm#ref_1124_32">Mode</a> <b>is</b>
+         <b>when</b> <a href="terminal_interface-curses__ads.htm#ref_1120_26">Blocking</a>     =&gt; <a href="terminal_interface-curses__adb.htm#ref_918_7">Time</a> := -1;
+         <b>when</b> <a href="terminal_interface-curses__ads.htm#ref_1120_36">Non_Blocking</a> =&gt; <a href="terminal_interface-curses__adb.htm#ref_918_7">Time</a> := 0;
+         <b>when</b> <a href="terminal_interface-curses__ads.htm#ref_1120_50">Delayed</a>      =&gt;
+            <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_1125_32">Amount</a> = 0 <b>then</b>
                <b>raise</b> Constraint_Error;
             <b>end</b> <b>if</b>;
-            <A HREF="terminal_interface-curses__adb.htm#ref_918_7">Time</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1124_32">Amount</A>);
+            <a href="terminal_interface-curses__adb.htm#ref_918_7">Time</a> := <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1125_32">Amount</a>);
       <b>end</b> <b>case</b>;
-      <A HREF="terminal_interface-curses__adb.htm#ref_915_17">Wtimeout</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1122_32">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_918_7">Time</A>);
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1122_14">Set_Timeout_Mode</A>;
+      <a href="terminal_interface-curses__adb.htm#ref_915_17">Wtimeout</a> (<a href="terminal_interface-curses__ads.htm#ref_1123_32">Win</a>, <a href="terminal_interface-curses__adb.htm#ref_918_7">Time</a>);
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1123_14">Set_Timeout_Mode</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_932_14" HREF="terminal_interface-curses__ads.htm#ref_1134_14">Set_Escape_Timer_Mode</A></span>
-     (<span class="symbol"><A NAME="ref_933_7" HREF="terminal_interface-curses__ads.htm#ref_1135_7">Win</A></span>       : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_934_7" HREF="terminal_interface-curses__ads.htm#ref_1136_7">Timer_Off</A></span> : Boolean := False)
+   <b>procedure</b> <span class="symbol"><a name="ref_932_14" href="terminal_interface-curses__ads.htm#ref_1135_14">Set_Escape_Timer_Mode</a></span>
+     (<span class="symbol"><a name="ref_933_7" href="terminal_interface-curses__ads.htm#ref_1136_7">Win</a></span>       : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_934_7" href="terminal_interface-curses__ads.htm#ref_1137_7">Timer_Off</a></span> : Boolean := False)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_936_16">Notimeout</A></span> (<span class="symbol"><A NAME="ref_936_27" HREF="terminal_interface-curses__adb.htm#ref_936_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_936_41" HREF="terminal_interface-curses__adb.htm#ref_936_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_936_16">Notimeout</a></span> (<span class="symbol"><a name="ref_936_27">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_936_41">Mode</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Notimeout, "notimeout");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_936_16">Notimeout</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1135_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1136_7">Timer_Off</A>)))
-        = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_936_16">Notimeout</a> (<a href="terminal_interface-curses__ads.htm#ref_1136_7">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_1137_7">Timer_Off</a>)))
+        = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a>
       <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1134_14">Set_Escape_Timer_Mode</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1135_14">Set_Escape_Timer_Mode</a>;
 
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_947_14" HREF="terminal_interface-curses__ads.htm#ref_1145_14">Set_NL_Mode</A></span> (<span class="symbol"><A NAME="ref_947_27" HREF="terminal_interface-curses__ads.htm#ref_1145_27">SwitchOn</A></span> : Boolean := True)
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_947_14" href="terminal_interface-curses__ads.htm#ref_1146_14">Set_NL_Mode</a></span> (<span class="symbol"><a name="ref_947_27" href="terminal_interface-curses__ads.htm#ref_1146_27">SwitchOn</a></span> : Boolean := True)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_949_16">NL</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_949_16">NL</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, NL, "nl");
-      <b>function</b> <span class="symbol"><A NAME="ref_951_16">NoNL</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_951_16">NoNL</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, NoNL, "nonl");
 
-      <span class="symbol"><A NAME="ref_954_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <span class="symbol"><a name="ref_954_7">Err</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1145_27">SwitchOn</A> <b>then</b>
-         <A HREF="terminal_interface-curses__adb.htm#ref_954_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_949_16">NL</A>;
+      <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_1146_27">SwitchOn</a> <b>then</b>
+         <a href="terminal_interface-curses__adb.htm#ref_954_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_949_16">NL</a>;
       <b>else</b>
-         <A HREF="terminal_interface-curses__adb.htm#ref_954_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_951_16">NoNL</A>;
+         <a href="terminal_interface-curses__adb.htm#ref_954_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_951_16">NoNL</a>;
       <b>end</b> <b>if</b>;
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_954_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_954_7">Err</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1145_14">Set_NL_Mode</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1146_14">Set_NL_Mode</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_966_14" HREF="terminal_interface-curses__ads.htm#ref_1151_14">Clear_On_Next_Update</A></span>
-     (<span class="symbol"><A NAME="ref_967_7" HREF="terminal_interface-curses__ads.htm#ref_1152_7">Win</A></span>      : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_968_7" HREF="terminal_interface-curses__ads.htm#ref_1153_7">Do_Clear</A></span> : Boolean := True)
+   <b>procedure</b> <span class="symbol"><a name="ref_966_14" href="terminal_interface-curses__ads.htm#ref_1152_14">Clear_On_Next_Update</a></span>
+     (<span class="symbol"><a name="ref_967_7" href="terminal_interface-curses__ads.htm#ref_1153_7">Win</a></span>      : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_968_7" href="terminal_interface-curses__ads.htm#ref_1154_7">Do_Clear</a></span> : Boolean := True)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_970_16">Clear_Ok</A></span> (<span class="symbol"><A NAME="ref_970_26" HREF="terminal_interface-curses__adb.htm#ref_970_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_970_38" HREF="terminal_interface-curses__adb.htm#ref_970_16">Flag</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_970_16">Clear_Ok</a></span> (<span class="symbol"><a name="ref_970_26">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_970_38">Flag</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Clear_Ok, "clearok");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_970_16">Clear_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1152_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1153_7">Do_Clear</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_970_16">Clear_Ok</a> (<a href="terminal_interface-curses__ads.htm#ref_1153_7">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_1154_7">Do_Clear</a>))) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1151_14">Clear_On_Next_Update</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1152_14">Clear_On_Next_Update</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_978_14" HREF="terminal_interface-curses__ads.htm#ref_1158_14">Use_Insert_Delete_Line</A></span>
-     (<span class="symbol"><A NAME="ref_979_7" HREF="terminal_interface-curses__ads.htm#ref_1159_7">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_980_7" HREF="terminal_interface-curses__ads.htm#ref_1160_7">Do_Idl</A></span> : Boolean := True)
+   <b>procedure</b> <span class="symbol"><a name="ref_978_14" href="terminal_interface-curses__ads.htm#ref_1159_14">Use_Insert_Delete_Line</a></span>
+     (<span class="symbol"><a name="ref_979_7" href="terminal_interface-curses__ads.htm#ref_1160_7">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_980_7" href="terminal_interface-curses__ads.htm#ref_1161_7">Do_Idl</a></span> : Boolean := True)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_982_16">IDL_Ok</A></span> (<span class="symbol"><A NAME="ref_982_24" HREF="terminal_interface-curses__adb.htm#ref_982_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_982_36" HREF="terminal_interface-curses__adb.htm#ref_982_16">Flag</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_982_16">IDL_Ok</a></span> (<span class="symbol"><a name="ref_982_24">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_982_36">Flag</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, IDL_Ok, "idlok");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_982_16">IDL_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1159_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1160_7">Do_Idl</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_982_16">IDL_Ok</a> (<a href="terminal_interface-curses__ads.htm#ref_1160_7">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_1161_7">Do_Idl</a>))) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1158_14">Use_Insert_Delete_Line</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1159_14">Use_Insert_Delete_Line</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_990_14" HREF="terminal_interface-curses__ads.htm#ref_1165_14">Use_Insert_Delete_Character</A></span>
-     (<span class="symbol"><A NAME="ref_991_7" HREF="terminal_interface-curses__ads.htm#ref_1166_7">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_992_7" HREF="terminal_interface-curses__ads.htm#ref_1167_7">Do_Idc</A></span> : Boolean := True)
+   <b>procedure</b> <span class="symbol"><a name="ref_990_14" href="terminal_interface-curses__ads.htm#ref_1166_14">Use_Insert_Delete_Character</a></span>
+     (<span class="symbol"><a name="ref_991_7" href="terminal_interface-curses__ads.htm#ref_1167_7">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_992_7" href="terminal_interface-curses__ads.htm#ref_1168_7">Do_Idc</a></span> : Boolean := True)
    <b>is</b>
-      <b>procedure</b> <span class="symbol"><A NAME="ref_994_17">IDC_Ok</A></span> (<span class="symbol"><A NAME="ref_994_25" HREF="terminal_interface-curses__adb.htm#ref_994_17">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_994_37" HREF="terminal_interface-curses__adb.htm#ref_994_17">Flag</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>);
+      <b>procedure</b> <span class="symbol"><a name="ref_994_17">IDC_Ok</a></span> (<span class="symbol"><a name="ref_994_25">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_994_37">Flag</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>);
       <b>pragma</b> Import (C, IDC_Ok, "idcok");
    <b>begin</b>
-      <A HREF="terminal_interface-curses__adb.htm#ref_994_17">IDC_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1166_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1167_7">Do_Idc</A>)));
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1165_14">Use_Insert_Delete_Character</A>;
+      <a href="terminal_interface-curses__adb.htm#ref_994_17">IDC_Ok</a> (<a href="terminal_interface-curses__ads.htm#ref_1167_7">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_1168_7">Do_Idc</a>)));
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1166_14">Use_Insert_Delete_Character</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1000_14" HREF="terminal_interface-curses__ads.htm#ref_1172_14">Leave_Cursor_After_Update</A></span>
-     (<span class="symbol"><A NAME="ref_1001_7" HREF="terminal_interface-curses__ads.htm#ref_1173_7">Win</A></span>      : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_1002_7" HREF="terminal_interface-curses__ads.htm#ref_1174_7">Do_Leave</A></span> : Boolean := True)
+   <b>procedure</b> <span class="symbol"><a name="ref_1000_14" href="terminal_interface-curses__ads.htm#ref_1173_14">Leave_Cursor_After_Update</a></span>
+     (<span class="symbol"><a name="ref_1001_7" href="terminal_interface-curses__ads.htm#ref_1174_7">Win</a></span>      : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_1002_7" href="terminal_interface-curses__ads.htm#ref_1175_7">Do_Leave</a></span> : Boolean := True)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1004_16">Leave_Ok</A></span> (<span class="symbol"><A NAME="ref_1004_26" HREF="terminal_interface-curses__adb.htm#ref_1004_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1004_38" HREF="terminal_interface-curses__adb.htm#ref_1004_16">Flag</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1004_16">Leave_Ok</a></span> (<span class="symbol"><a name="ref_1004_26">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_1004_38">Flag</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Leave_Ok, "leaveok");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1004_16">Leave_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1173_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1174_7">Do_Leave</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1004_16">Leave_Ok</a> (<a href="terminal_interface-curses__ads.htm#ref_1174_7">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_1175_7">Do_Leave</a>))) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1172_14">Leave_Cursor_After_Update</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1173_14">Leave_Cursor_After_Update</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1012_14" HREF="terminal_interface-curses__ads.htm#ref_1179_14">Immediate_Update_Mode</A></span>
-     (<span class="symbol"><A NAME="ref_1013_7" HREF="terminal_interface-curses__ads.htm#ref_1180_7">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_1014_7" HREF="terminal_interface-curses__ads.htm#ref_1181_7">Mode</A></span> : Boolean := False)
+   <b>procedure</b> <span class="symbol"><a name="ref_1012_14" href="terminal_interface-curses__ads.htm#ref_1180_14">Immediate_Update_Mode</a></span>
+     (<span class="symbol"><a name="ref_1013_7" href="terminal_interface-curses__ads.htm#ref_1181_7">Win</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_1014_7" href="terminal_interface-curses__ads.htm#ref_1182_7">Mode</a></span> : Boolean := False)
    <b>is</b>
-      <b>procedure</b> <span class="symbol"><A NAME="ref_1016_17">Immedok</A></span> (<span class="symbol"><A NAME="ref_1016_26" HREF="terminal_interface-curses__adb.htm#ref_1016_17">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1016_40" HREF="terminal_interface-curses__adb.htm#ref_1016_17">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>);
+      <b>procedure</b> <span class="symbol"><a name="ref_1016_17">Immedok</a></span> (<span class="symbol"><a name="ref_1016_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_1016_40">Mode</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>);
       <b>pragma</b> Import (C, Immedok, "immedok");
    <b>begin</b>
-      <A HREF="terminal_interface-curses__adb.htm#ref_1016_17">Immedok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1180_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1181_7">Mode</A>)));
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1179_14">Immediate_Update_Mode</A>;
+      <a href="terminal_interface-curses__adb.htm#ref_1016_17">Immedok</a> (<a href="terminal_interface-curses__ads.htm#ref_1181_7">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_1182_7">Mode</a>)));
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1180_14">Immediate_Update_Mode</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1022_14" HREF="terminal_interface-curses__ads.htm#ref_1186_14">Allow_Scrolling</A></span>
-     (<span class="symbol"><A NAME="ref_1023_7" HREF="terminal_interface-curses__ads.htm#ref_1187_7">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>  := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_1024_7" HREF="terminal_interface-curses__ads.htm#ref_1188_7">Mode</A></span> : Boolean := False)
+   <b>procedure</b> <span class="symbol"><a name="ref_1022_14" href="terminal_interface-curses__ads.htm#ref_1187_14">Allow_Scrolling</a></span>
+     (<span class="symbol"><a name="ref_1023_7" href="terminal_interface-curses__ads.htm#ref_1188_7">Win</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>  := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_1024_7" href="terminal_interface-curses__ads.htm#ref_1189_7">Mode</a></span> : Boolean := False)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1026_16">Scrollok</A></span> (<span class="symbol"><A NAME="ref_1026_26" HREF="terminal_interface-curses__adb.htm#ref_1026_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1026_40" HREF="terminal_interface-curses__adb.htm#ref_1026_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1026_16">Scrollok</a></span> (<span class="symbol"><a name="ref_1026_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_1026_40">Mode</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Scrollok, "scrollok");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1026_16">Scrollok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1187_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1188_7">Mode</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1026_16">Scrollok</a> (<a href="terminal_interface-curses__ads.htm#ref_1188_7">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_1189_7">Mode</a>))) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1186_14">Allow_Scrolling</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1187_14">Allow_Scrolling</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_1034_13" HREF="terminal_interface-curses__ads.htm#ref_1192_13">Scrolling_Allowed</A></span> (<span class="symbol"><A NAME="ref_1034_32" HREF="terminal_interface-curses__ads.htm#ref_1192_32">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
+   <b>function</b> <span class="symbol"><a name="ref_1034_13" href="terminal_interface-curses__ads.htm#ref_1193_13">Scrolling_Allowed</a></span> (<span class="symbol"><a name="ref_1034_32" href="terminal_interface-curses__ads.htm#ref_1193_32">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>)
                                <b>return</b> Boolean
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1037_16">Is_Scroll_Ok</A></span> (<span class="symbol"><A NAME="ref_1037_30" HREF="terminal_interface-curses__adb.htm#ref_1037_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1037_16">Is_Scroll_Ok</a></span> (<span class="symbol"><a name="ref_1037_30">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>;
       <b>pragma</b> Import (C, Is_Scroll_Ok, "is_scrollok");
    <b>begin</b>
-      <b>return</b> (<A HREF="terminal_interface-curses__adb.htm#ref_1037_16">Is_Scroll_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1192_32">Win</A>) /= <A HREF="terminal_interface-curses__ads.htm#ref_2100_4">Curses_Bool_False</A>);
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1192_13">Scrolling_Allowed</A>;
+      <b>return</b> (<a href="terminal_interface-curses__adb.htm#ref_1037_16">Is_Scroll_Ok</a> (<a href="terminal_interface-curses__ads.htm#ref_1193_32">Win</a>) /= <a href="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</a>);
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1193_13">Scrolling_Allowed</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1043_14" HREF="terminal_interface-curses__ads.htm#ref_1197_14">Set_Scroll_Region</A></span>
-     (<span class="symbol"><A NAME="ref_1044_7" HREF="terminal_interface-curses__ads.htm#ref_1198_7">Win</A></span>         : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_1045_7" HREF="terminal_interface-curses__ads.htm#ref_1199_7">Top_Line</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_1046_7" HREF="terminal_interface-curses__ads.htm#ref_1200_7">Bottom_Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_1043_14" href="terminal_interface-curses__ads.htm#ref_1198_14">Set_Scroll_Region</a></span>
+     (<span class="symbol"><a name="ref_1044_7" href="terminal_interface-curses__ads.htm#ref_1199_7">Win</a></span>         : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_1045_7" href="terminal_interface-curses__ads.htm#ref_1200_7">Top_Line</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_1046_7" href="terminal_interface-curses__ads.htm#ref_1201_7">Bottom_Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1048_16">Wsetscrreg</A></span> (<span class="symbol"><A NAME="ref_1048_28" HREF="terminal_interface-curses__adb.htm#ref_1048_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-                           <span class="symbol"><A NAME="ref_1049_28" HREF="terminal_interface-curses__adb.htm#ref_1048_16">Lin</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-                           <span class="symbol"><A NAME="ref_1050_28" HREF="terminal_interface-curses__adb.htm#ref_1048_16">Col</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1048_16">Wsetscrreg</a></span> (<span class="symbol"><a name="ref_1048_28">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+                           <span class="symbol"><a name="ref_1049_28">Lin</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+                           <span class="symbol"><a name="ref_1050_28">Col</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Wsetscrreg, "wsetscrreg");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1048_16">Wsetscrreg</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1198_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1199_7">Top_Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1200_7">Bottom_Line</A>))
-        = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1048_16">Wsetscrreg</a> (<a href="terminal_interface-curses__ads.htm#ref_1199_7">Win</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1200_7">Top_Line</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1201_7">Bottom_Line</a>))
+        = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a>
       <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1197_14">Set_Scroll_Region</A>;
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1060_14" HREF="terminal_interface-curses__ads.htm#ref_1210_14">Update_Screen</A></span>
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1198_14">Set_Scroll_Region</a>;
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1060_14" href="terminal_interface-curses__ads.htm#ref_1211_14">Update_Screen</a></span>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1062_16">Do_Update</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1062_16">Do_Update</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Do_Update, "doupdate");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1062_16">Do_Update</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1062_16">Do_Update</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1210_14">Update_Screen</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1211_14">Update_Screen</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1070_14" HREF="terminal_interface-curses__ads.htm#ref_1215_14">Refresh</A></span> (<span class="symbol"><A NAME="ref_1070_23" HREF="terminal_interface-curses__ads.htm#ref_1215_23">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_1070_14" href="terminal_interface-curses__ads.htm#ref_1216_14">Refresh</a></span> (<span class="symbol"><a name="ref_1070_23" href="terminal_interface-curses__ads.htm#ref_1216_23">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1072_16">Wrefresh</A></span> (<span class="symbol"><A NAME="ref_1072_26" HREF="terminal_interface-curses__adb.htm#ref_1072_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1072_16">Wrefresh</a></span> (<span class="symbol"><a name="ref_1072_26">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Wrefresh, "wrefresh");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1072_16">Wrefresh</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1215_23">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1072_16">Wrefresh</a> (<a href="terminal_interface-curses__ads.htm#ref_1216_23">Win</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1215_14">Refresh</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1216_14">Refresh</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1080_14" HREF="terminal_interface-curses__ads.htm#ref_1222_14">Refresh_Without_Update</A></span>
-     (<span class="symbol"><A NAME="ref_1081_7" HREF="terminal_interface-curses__ads.htm#ref_1223_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_1080_14" href="terminal_interface-curses__ads.htm#ref_1223_14">Refresh_Without_Update</a></span>
+     (<span class="symbol"><a name="ref_1081_7" href="terminal_interface-curses__ads.htm#ref_1224_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1083_16">Wnoutrefresh</A></span> (<span class="symbol"><A NAME="ref_1083_30" HREF="terminal_interface-curses__adb.htm#ref_1083_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1083_16">Wnoutrefresh</a></span> (<span class="symbol"><a name="ref_1083_30">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Wnoutrefresh, "wnoutrefresh");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1083_16">Wnoutrefresh</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1223_7">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1083_16">Wnoutrefresh</a> (<a href="terminal_interface-curses__ads.htm#ref_1224_7">Win</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1222_14">Refresh_Without_Update</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1223_14">Refresh_Without_Update</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1091_14" HREF="terminal_interface-curses__ads.htm#ref_1229_14">Redraw</A></span> (<span class="symbol"><A NAME="ref_1091_22" HREF="terminal_interface-curses__ads.htm#ref_1229_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_1091_14" href="terminal_interface-curses__ads.htm#ref_1230_14">Redraw</a></span> (<span class="symbol"><a name="ref_1091_22" href="terminal_interface-curses__ads.htm#ref_1230_22">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1093_16">Redrawwin</A></span> (<span class="symbol"><A NAME="ref_1093_27" HREF="terminal_interface-curses__adb.htm#ref_1093_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1093_16">Redrawwin</a></span> (<span class="symbol"><a name="ref_1093_27">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Redrawwin, "redrawwin");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1093_16">Redrawwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1229_22">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1093_16">Redrawwin</a> (<a href="terminal_interface-curses__ads.htm#ref_1230_22">Win</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1229_14">Redraw</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1230_14">Redraw</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1101_14" HREF="terminal_interface-curses__ads.htm#ref_1233_14">Redraw</A></span>
-     (<span class="symbol"><A NAME="ref_1102_7" HREF="terminal_interface-curses__ads.htm#ref_1233_22">Win</A></span>        : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_1103_7" HREF="terminal_interface-curses__ads.htm#ref_1234_22">Begin_Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_1104_7" HREF="terminal_interface-curses__ads.htm#ref_1235_22">Line_Count</A></span> : Positive)
+   <b>procedure</b> <span class="symbol"><a name="ref_1101_14" href="terminal_interface-curses__ads.htm#ref_1234_14">Redraw</a></span>
+     (<span class="symbol"><a name="ref_1102_7" href="terminal_interface-curses__ads.htm#ref_1234_22">Win</a></span>        : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_1103_7" href="terminal_interface-curses__ads.htm#ref_1235_22">Begin_Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_1104_7" href="terminal_interface-curses__ads.htm#ref_1236_22">Line_Count</a></span> : Positive)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1106_16">Wredrawln</A></span> (<span class="symbol"><A NAME="ref_1106_27" HREF="terminal_interface-curses__adb.htm#ref_1106_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1106_41" HREF="terminal_interface-curses__adb.htm#ref_1106_16">First</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>; <span class="symbol"><A NAME="ref_1106_56" HREF="terminal_interface-curses__adb.htm#ref_1106_16">Cnt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>)
-                          <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1106_16">Wredrawln</a></span> (<span class="symbol"><a name="ref_1106_27">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_1106_41">First</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <span class="symbol"><a name="ref_1106_56">Cnt</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>)
+                          <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Wredrawln, "wredrawln");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1106_16">Wredrawln</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1233_22">Win</A>,
-                    <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1234_22">Begin_Line</A>),
-                    <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1235_22">Line_Count</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1106_16">Wredrawln</a> (<a href="terminal_interface-curses__ads.htm#ref_1234_22">Win</a>,
+                    <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1235_22">Begin_Line</a>),
+                    <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1236_22">Line_Count</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a>
       <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1233_14">Redraw</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1234_14">Redraw</a>;
 
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1119_14" HREF="terminal_interface-curses__ads.htm#ref_1244_14">Erase</A></span> (<span class="symbol"><A NAME="ref_1119_21" HREF="terminal_interface-curses__ads.htm#ref_1244_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1119_14" href="terminal_interface-curses__ads.htm#ref_1245_14">Erase</a></span> (<span class="symbol"><a name="ref_1119_21" href="terminal_interface-curses__ads.htm#ref_1245_21">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1121_16">Werase</A></span> (<span class="symbol"><A NAME="ref_1121_24" HREF="terminal_interface-curses__adb.htm#ref_1121_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1121_16">Werase</a></span> (<span class="symbol"><a name="ref_1121_24">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Werase, "werase");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1121_16">Werase</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1244_21">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1121_16">Werase</a> (<a href="terminal_interface-curses__ads.htm#ref_1245_21">Win</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1244_14">Erase</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1245_14">Erase</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1129_14" HREF="terminal_interface-curses__ads.htm#ref_1250_14">Clear</A></span> (<span class="symbol"><A NAME="ref_1129_21" HREF="terminal_interface-curses__ads.htm#ref_1251_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_1129_14" href="terminal_interface-curses__ads.htm#ref_1251_14">Clear</a></span> (<span class="symbol"><a name="ref_1129_21" href="terminal_interface-curses__ads.htm#ref_1252_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1131_16">Wclear</A></span> (<span class="symbol"><A NAME="ref_1131_24" HREF="terminal_interface-curses__adb.htm#ref_1131_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1131_16">Wclear</a></span> (<span class="symbol"><a name="ref_1131_24">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Wclear, "wclear");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1131_16">Wclear</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1251_7">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1131_16">Wclear</a> (<a href="terminal_interface-curses__ads.htm#ref_1252_7">Win</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1250_14">Clear</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1251_14">Clear</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1139_14" HREF="terminal_interface-curses__ads.htm#ref_1257_14">Clear_To_End_Of_Screen</A></span> (<span class="symbol"><A NAME="ref_1139_38" HREF="terminal_interface-curses__ads.htm#ref_1258_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_1139_14" href="terminal_interface-curses__ads.htm#ref_1258_14">Clear_To_End_Of_Screen</a></span> (<span class="symbol"><a name="ref_1139_38" href="terminal_interface-curses__ads.htm#ref_1259_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1141_16">Wclearbot</A></span> (<span class="symbol"><A NAME="ref_1141_27" HREF="terminal_interface-curses__adb.htm#ref_1141_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1141_16">Wclearbot</a></span> (<span class="symbol"><a name="ref_1141_27">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Wclearbot, "wclrtobot");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1141_16">Wclearbot</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1258_7">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1141_16">Wclearbot</a> (<a href="terminal_interface-curses__ads.htm#ref_1259_7">Win</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1257_14">Clear_To_End_Of_Screen</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1258_14">Clear_To_End_Of_Screen</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1149_14" HREF="terminal_interface-curses__ads.htm#ref_1264_14">Clear_To_End_Of_Line</A></span> (<span class="symbol"><A NAME="ref_1149_36" HREF="terminal_interface-curses__ads.htm#ref_1265_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_1149_14" href="terminal_interface-curses__ads.htm#ref_1265_14">Clear_To_End_Of_Line</a></span> (<span class="symbol"><a name="ref_1149_36" href="terminal_interface-curses__ads.htm#ref_1266_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1151_16">Wcleareol</A></span> (<span class="symbol"><A NAME="ref_1151_27" HREF="terminal_interface-curses__adb.htm#ref_1151_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1151_16">Wcleareol</a></span> (<span class="symbol"><a name="ref_1151_27">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Wcleareol, "wclrtoeol");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1151_16">Wcleareol</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1265_7">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1151_16">Wcleareol</a> (<a href="terminal_interface-curses__ads.htm#ref_1266_7">Win</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1264_14">Clear_To_End_Of_Line</A>;
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1159_14" HREF="terminal_interface-curses__ads.htm#ref_1278_14">Set_Background</A></span>
-     (<span class="symbol"><A NAME="ref_1160_7" HREF="terminal_interface-curses__ads.htm#ref_1279_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_1161_7" HREF="terminal_interface-curses__ads.htm#ref_1280_7">Ch</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>)
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1265_14">Clear_To_End_Of_Line</a>;
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1159_14" href="terminal_interface-curses__ads.htm#ref_1279_14">Set_Background</a></span>
+     (<span class="symbol"><a name="ref_1160_7" href="terminal_interface-curses__ads.htm#ref_1280_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_1161_7" href="terminal_interface-curses__ads.htm#ref_1281_7">Ch</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>)
    <b>is</b>
-      <b>procedure</b> <span class="symbol"><A NAME="ref_1163_17">WBackground</A></span> (<span class="symbol"><A NAME="ref_1163_30" HREF="terminal_interface-curses__adb.htm#ref_1163_17">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1163_42" HREF="terminal_interface-curses__adb.htm#ref_1163_17">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>);
+      <b>procedure</b> <span class="symbol"><a name="ref_1163_17">WBackground</a></span> (<span class="symbol"><a name="ref_1163_30">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_1163_42">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>);
       <b>pragma</b> Import (C, WBackground, "wbkgdset");
    <b>begin</b>
-      <A HREF="terminal_interface-curses__adb.htm#ref_1163_17">WBackground</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1279_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1280_7">Ch</A>);
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1278_14">Set_Background</A>;
+      <a href="terminal_interface-curses__adb.htm#ref_1163_17">WBackground</a> (<a href="terminal_interface-curses__ads.htm#ref_1280_7">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_1281_7">Ch</a>);
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1279_14">Set_Background</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1169_14" HREF="terminal_interface-curses__ads.htm#ref_1286_14">Change_Background</A></span>
-     (<span class="symbol"><A NAME="ref_1170_7" HREF="terminal_interface-curses__ads.htm#ref_1287_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_1171_7" HREF="terminal_interface-curses__ads.htm#ref_1288_7">Ch</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_1169_14" href="terminal_interface-curses__ads.htm#ref_1287_14">Change_Background</a></span>
+     (<span class="symbol"><a name="ref_1170_7" href="terminal_interface-curses__ads.htm#ref_1288_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_1171_7" href="terminal_interface-curses__ads.htm#ref_1289_7">Ch</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1173_16">WChangeBkgd</A></span> (<span class="symbol"><A NAME="ref_1173_29" HREF="terminal_interface-curses__adb.htm#ref_1173_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1173_41" HREF="terminal_interface-curses__adb.htm#ref_1173_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>)
-         <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1173_16">WChangeBkgd</a></span> (<span class="symbol"><a name="ref_1173_29">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_1173_41">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>)
+         <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, WChangeBkgd, "wbkgd");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1173_16">WChangeBkgd</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1287_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1288_7">Ch</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1173_16">WChangeBkgd</a> (<a href="terminal_interface-curses__ads.htm#ref_1288_7">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_1289_7">Ch</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1286_14">Change_Background</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1287_14">Change_Background</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_1182_13" HREF="terminal_interface-curses__ads.htm#ref_1295_13">Get_Background</A></span> (<span class="symbol"><A NAME="ref_1182_29" HREF="terminal_interface-curses__ads.htm#ref_1295_29">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
-     <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>
+   <b>function</b> <span class="symbol"><a name="ref_1182_13" href="terminal_interface-curses__ads.htm#ref_1296_13">Get_Background</a></span> (<span class="symbol"><a name="ref_1182_29" href="terminal_interface-curses__ads.htm#ref_1296_29">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>)
+     <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1185_16">Wgetbkgd</A></span> (<span class="symbol"><A NAME="ref_1185_26" HREF="terminal_interface-curses__adb.htm#ref_1185_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1185_16">Wgetbkgd</a></span> (<span class="symbol"><a name="ref_1185_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
       <b>pragma</b> Import (C, Wgetbkgd, "getbkgd");
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_1185_16">Wgetbkgd</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1295_29">Win</A>);
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1295_13">Get_Background</A>;
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1191_14" HREF="terminal_interface-curses__ads.htm#ref_1322_14">Change_Lines_Status</A></span> (<span class="symbol"><A NAME="ref_1191_35" HREF="terminal_interface-curses__ads.htm#ref_1322_35">Win</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                                  <span class="symbol"><A NAME="ref_1192_35" HREF="terminal_interface-curses__ads.htm#ref_1323_35">Start</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-                                  <span class="symbol"><A NAME="ref_1193_35" HREF="terminal_interface-curses__ads.htm#ref_1324_35">Count</A></span> : Positive;
-                                  <span class="symbol"><A NAME="ref_1194_35" HREF="terminal_interface-curses__ads.htm#ref_1325_35">State</A></span> : Boolean)
+      <b>return</b> <a href="terminal_interface-curses__adb.htm#ref_1185_16">Wgetbkgd</a> (<a href="terminal_interface-curses__ads.htm#ref_1296_29">Win</a>);
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1296_13">Get_Background</a>;
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1191_14" href="terminal_interface-curses__ads.htm#ref_1323_14">Change_Lines_Status</a></span> (<span class="symbol"><a name="ref_1191_35" href="terminal_interface-curses__ads.htm#ref_1323_35">Win</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                                  <span class="symbol"><a name="ref_1192_35" href="terminal_interface-curses__ads.htm#ref_1324_35">Start</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+                                  <span class="symbol"><a name="ref_1193_35" href="terminal_interface-curses__ads.htm#ref_1325_35">Count</a></span> : Positive;
+                                  <span class="symbol"><a name="ref_1194_35" href="terminal_interface-curses__ads.htm#ref_1326_35">State</a></span> : Boolean)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1196_16">Wtouchln</A></span> (<span class="symbol"><A NAME="ref_1196_26" HREF="terminal_interface-curses__adb.htm#ref_1196_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-                         <span class="symbol"><A NAME="ref_1197_26" HREF="terminal_interface-curses__adb.htm#ref_1196_16">Sta</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-                         <span class="symbol"><A NAME="ref_1198_26" HREF="terminal_interface-curses__adb.htm#ref_1196_16">Cnt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-                         <span class="symbol"><A NAME="ref_1199_26" HREF="terminal_interface-curses__adb.htm#ref_1196_16">Chg</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1196_16">Wtouchln</a></span> (<span class="symbol"><a name="ref_1196_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+                         <span class="symbol"><a name="ref_1197_26">Sta</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+                         <span class="symbol"><a name="ref_1198_26">Cnt</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+                         <span class="symbol"><a name="ref_1199_26">Chg</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Wtouchln, "wtouchln");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1196_16">Wtouchln</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1322_35">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1323_35">Start</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1324_35">Count</A>),
-                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1325_35">State</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1196_16">Wtouchln</a> (<a href="terminal_interface-curses__ads.htm#ref_1323_35">Win</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1324_35">Start</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1325_35">Count</a>),
+                   <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_1326_35">State</a>))) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a>
       <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1322_14">Change_Lines_Status</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1323_14">Change_Lines_Status</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1209_14" HREF="terminal_interface-curses__ads.htm#ref_1311_14">Touch</A></span> (<span class="symbol"><A NAME="ref_1209_21" HREF="terminal_interface-curses__ads.htm#ref_1311_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_1209_14" href="terminal_interface-curses__ads.htm#ref_1312_14">Touch</a></span> (<span class="symbol"><a name="ref_1209_21" href="terminal_interface-curses__ads.htm#ref_1312_21">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>)
    <b>is</b>
-      <span class="symbol"><A NAME="ref_1211_7">Y</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_1212_7">X</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+      <span class="symbol"><a name="ref_1211_7">Y</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_1212_7">X</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
    <b>begin</b>
-      <A HREF="terminal_interface-curses__ads.htm#ref_1398_14">Get_Size</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1311_21">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1211_7">Y</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1212_7">X</A>);
-      <b>pragma</b> Warnings (Off, <A HREF="terminal_interface-curses__adb.htm#ref_1212_7">X</A>);         <span class="comment"><EM>--  unreferenced</EM></span>
-      <A HREF="terminal_interface-curses__ads.htm#ref_1322_14">Change_Lines_Status</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1311_21">Win</A>, 0, Positive (<A HREF="terminal_interface-curses__adb.htm#ref_1211_7">Y</A>), True);
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1311_14">Touch</A>;
+      <a href="terminal_interface-curses__ads.htm#ref_1399_14">Get_Size</a> (<a href="terminal_interface-curses__ads.htm#ref_1312_21">Win</a>, <a href="terminal_interface-curses__adb.htm#ref_1211_7">Y</a>, <a href="terminal_interface-curses__adb.htm#ref_1212_7">X</a>);
+      <b>pragma</b> Warnings (Off, <a href="terminal_interface-curses__adb.htm#ref_1212_7">X</a>);         <span class="comment"><em>--  unreferenced</em></span>
+      <a href="terminal_interface-curses__ads.htm#ref_1323_14">Change_Lines_Status</a> (<a href="terminal_interface-curses__ads.htm#ref_1312_21">Win</a>, 0, Positive (<a href="terminal_interface-curses__adb.htm#ref_1211_7">Y</a>), True);
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1312_14">Touch</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1219_14" HREF="terminal_interface-curses__ads.htm#ref_1306_14">Untouch</A></span> (<span class="symbol"><A NAME="ref_1219_23" HREF="terminal_interface-curses__ads.htm#ref_1306_23">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_1219_14" href="terminal_interface-curses__ads.htm#ref_1307_14">Untouch</a></span> (<span class="symbol"><a name="ref_1219_23" href="terminal_interface-curses__ads.htm#ref_1307_23">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>)
    <b>is</b>
-      <span class="symbol"><A NAME="ref_1221_7">Y</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_1222_7">X</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+      <span class="symbol"><a name="ref_1221_7">Y</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_1222_7">X</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
    <b>begin</b>
-      <A HREF="terminal_interface-curses__ads.htm#ref_1398_14">Get_Size</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1306_23">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1221_7">Y</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1222_7">X</A>);
-      <b>pragma</b> Warnings (Off, <A HREF="terminal_interface-curses__adb.htm#ref_1222_7">X</A>);         <span class="comment"><EM>--  unreferenced</EM></span>
-      <A HREF="terminal_interface-curses__ads.htm#ref_1322_14">Change_Lines_Status</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1306_23">Win</A>, 0, Positive (<A HREF="terminal_interface-curses__adb.htm#ref_1221_7">Y</A>), False);
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1306_14">Untouch</A>;
+      <a href="terminal_interface-curses__ads.htm#ref_1399_14">Get_Size</a> (<a href="terminal_interface-curses__ads.htm#ref_1307_23">Win</a>, <a href="terminal_interface-curses__adb.htm#ref_1221_7">Y</a>, <a href="terminal_interface-curses__adb.htm#ref_1222_7">X</a>);
+      <b>pragma</b> Warnings (Off, <a href="terminal_interface-curses__adb.htm#ref_1222_7">X</a>);         <span class="comment"><em>--  unreferenced</em></span>
+      <a href="terminal_interface-curses__ads.htm#ref_1323_14">Change_Lines_Status</a> (<a href="terminal_interface-curses__ads.htm#ref_1307_23">Win</a>, 0, Positive (<a href="terminal_interface-curses__adb.htm#ref_1221_7">Y</a>), False);
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1307_14">Untouch</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1229_14" HREF="terminal_interface-curses__ads.htm#ref_1315_14">Touch</A></span> (<span class="symbol"><A NAME="ref_1229_21" HREF="terminal_interface-curses__ads.htm#ref_1315_21">Win</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                    <span class="symbol"><A NAME="ref_1230_21" HREF="terminal_interface-curses__ads.htm#ref_1316_21">Start</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-                    <span class="symbol"><A NAME="ref_1231_21" HREF="terminal_interface-curses__ads.htm#ref_1317_21">Count</A></span> : Positive)
+   <b>procedure</b> <span class="symbol"><a name="ref_1229_14" href="terminal_interface-curses__ads.htm#ref_1316_14">Touch</a></span> (<span class="symbol"><a name="ref_1229_21" href="terminal_interface-curses__ads.htm#ref_1316_21">Win</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                    <span class="symbol"><a name="ref_1230_21" href="terminal_interface-curses__ads.htm#ref_1317_21">Start</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+                    <span class="symbol"><a name="ref_1231_21" href="terminal_interface-curses__ads.htm#ref_1318_21">Count</a></span> : Positive)
    <b>is</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses__ads.htm#ref_1322_14">Change_Lines_Status</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1315_21">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1316_21">Start</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1317_21">Count</A>, True);
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1315_14">Touch</A>;
+      <a href="terminal_interface-curses__ads.htm#ref_1323_14">Change_Lines_Status</a> (<a href="terminal_interface-curses__ads.htm#ref_1316_21">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_1317_21">Start</a>, <a href="terminal_interface-curses__ads.htm#ref_1318_21">Count</a>, True);
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1316_14">Touch</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_1237_13" HREF="terminal_interface-curses__ads.htm#ref_1330_13">Is_Touched</A></span>
-     (<span class="symbol"><A NAME="ref_1238_7" HREF="terminal_interface-curses__ads.htm#ref_1330_25">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_1239_7" HREF="terminal_interface-curses__ads.htm#ref_1331_25">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>) <b>return</b> Boolean
+   <b>function</b> <span class="symbol"><a name="ref_1237_13" href="terminal_interface-curses__ads.htm#ref_1331_13">Is_Touched</a></span>
+     (<span class="symbol"><a name="ref_1238_7" href="terminal_interface-curses__ads.htm#ref_1331_25">Win</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_1239_7" href="terminal_interface-curses__ads.htm#ref_1332_25">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>) <b>return</b> Boolean
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1241_16">WLineTouched</A></span> (<span class="symbol"><A NAME="ref_1241_30" HREF="terminal_interface-curses__adb.htm#ref_1241_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1241_42" HREF="terminal_interface-curses__adb.htm#ref_1241_16">L</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1241_16">WLineTouched</a></span> (<span class="symbol"><a name="ref_1241_30">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_1241_42">L</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>;
       <b>pragma</b> Import (C, WLineTouched, "is_linetouched");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1241_16">WLineTouched</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1330_25">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1331_25">Line</A>)) = <A HREF="terminal_interface-curses__ads.htm#ref_2100_4">Curses_Bool_False</A> <b>then</b>
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1241_16">WLineTouched</a> (<a href="terminal_interface-curses__ads.htm#ref_1331_25">Win</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1332_25">Line</a>)) = <a href="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</a> <b>then</b>
          <b>return</b> False;
       <b>else</b>
          <b>return</b> True;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1330_13">Is_Touched</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1331_13">Is_Touched</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_1251_13" HREF="terminal_interface-curses__ads.htm#ref_1335_13">Is_Touched</A></span>
-     (<span class="symbol"><A NAME="ref_1252_7" HREF="terminal_interface-curses__ads.htm#ref_1335_25">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>) <b>return</b> Boolean
+   <b>function</b> <span class="symbol"><a name="ref_1251_13" href="terminal_interface-curses__ads.htm#ref_1336_13">Is_Touched</a></span>
+     (<span class="symbol"><a name="ref_1252_7" href="terminal_interface-curses__ads.htm#ref_1336_25">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) <b>return</b> Boolean
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1254_16">WWinTouched</A></span> (<span class="symbol"><A NAME="ref_1254_29" HREF="terminal_interface-curses__adb.htm#ref_1254_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1254_16">WWinTouched</a></span> (<span class="symbol"><a name="ref_1254_29">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>;
       <b>pragma</b> Import (C, WWinTouched, "is_wintouched");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1254_16">WWinTouched</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1335_25">Win</A>) = <A HREF="terminal_interface-curses__ads.htm#ref_2100_4">Curses_Bool_False</A> <b>then</b>
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1254_16">WWinTouched</a> (<a href="terminal_interface-curses__ads.htm#ref_1336_25">Win</a>) = <a href="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</a> <b>then</b>
          <b>return</b> False;
       <b>else</b>
          <b>return</b> True;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1335_13">Is_Touched</A>;
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1264_14" HREF="terminal_interface-curses__ads.htm#ref_1344_14">Copy</A></span>
-     (<span class="symbol"><A NAME="ref_1265_7" HREF="terminal_interface-curses__ads.htm#ref_1345_7">Source_Window</A></span>            : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-      <span class="symbol"><A NAME="ref_1266_7" HREF="terminal_interface-curses__ads.htm#ref_1346_7">Destination_Window</A></span>       : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-      <span class="symbol"><A NAME="ref_1267_7" HREF="terminal_interface-curses__ads.htm#ref_1347_7">Source_Top_Row</A></span>           : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_1268_7" HREF="terminal_interface-curses__ads.htm#ref_1348_7">Source_Left_Column</A></span>       : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-      <span class="symbol"><A NAME="ref_1269_7" HREF="terminal_interface-curses__ads.htm#ref_1349_7">Destination_Top_Row</A></span>      : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_1270_7" HREF="terminal_interface-curses__ads.htm#ref_1350_7">Destination_Left_Column</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-      <span class="symbol"><A NAME="ref_1271_7" HREF="terminal_interface-curses__ads.htm#ref_1351_7">Destination_Bottom_Row</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_1272_7" HREF="terminal_interface-curses__ads.htm#ref_1352_7">Destination_Right_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-      <span class="symbol"><A NAME="ref_1273_7" HREF="terminal_interface-curses__ads.htm#ref_1353_7">Non_Destructive_Mode</A></span>     : Boolean := True)
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1336_13">Is_Touched</a>;
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1264_14" href="terminal_interface-curses__ads.htm#ref_1345_14">Copy</a></span>
+     (<span class="symbol"><a name="ref_1265_7" href="terminal_interface-curses__ads.htm#ref_1346_7">Source_Window</a></span>            : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+      <span class="symbol"><a name="ref_1266_7" href="terminal_interface-curses__ads.htm#ref_1347_7">Destination_Window</a></span>       : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+      <span class="symbol"><a name="ref_1267_7" href="terminal_interface-curses__ads.htm#ref_1348_7">Source_Top_Row</a></span>           : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_1268_7" href="terminal_interface-curses__ads.htm#ref_1349_7">Source_Left_Column</a></span>       : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+      <span class="symbol"><a name="ref_1269_7" href="terminal_interface-curses__ads.htm#ref_1350_7">Destination_Top_Row</a></span>      : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_1270_7" href="terminal_interface-curses__ads.htm#ref_1351_7">Destination_Left_Column</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+      <span class="symbol"><a name="ref_1271_7" href="terminal_interface-curses__ads.htm#ref_1352_7">Destination_Bottom_Row</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_1272_7" href="terminal_interface-curses__ads.htm#ref_1353_7">Destination_Right_Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+      <span class="symbol"><a name="ref_1273_7" href="terminal_interface-curses__ads.htm#ref_1354_7">Non_Destructive_Mode</a></span>     : Boolean := True)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1275_16">Copywin</A></span> (<span class="symbol"><A NAME="ref_1275_25" HREF="terminal_interface-curses__adb.htm#ref_1275_16">Src</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-                        <span class="symbol"><A NAME="ref_1276_25" HREF="terminal_interface-curses__adb.htm#ref_1275_16">Dst</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-                        <span class="symbol"><A NAME="ref_1277_25" HREF="terminal_interface-curses__adb.htm#ref_1275_16">Str</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-                        <span class="symbol"><A NAME="ref_1278_25" HREF="terminal_interface-curses__adb.htm#ref_1275_16">Slc</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-                        <span class="symbol"><A NAME="ref_1279_25" HREF="terminal_interface-curses__adb.htm#ref_1275_16">Dtr</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-                        <span class="symbol"><A NAME="ref_1280_25" HREF="terminal_interface-curses__adb.htm#ref_1275_16">Dlc</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-                        <span class="symbol"><A NAME="ref_1281_25" HREF="terminal_interface-curses__adb.htm#ref_1275_16">Dbr</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-                        <span class="symbol"><A NAME="ref_1282_25" HREF="terminal_interface-curses__adb.htm#ref_1275_16">Drc</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-                        <span class="symbol"><A NAME="ref_1283_25" HREF="terminal_interface-curses__adb.htm#ref_1275_16">Ndm</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1275_16">Copywin</a></span> (<span class="symbol"><a name="ref_1275_25">Src</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+                        <span class="symbol"><a name="ref_1276_25">Dst</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+                        <span class="symbol"><a name="ref_1277_25">Str</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+                        <span class="symbol"><a name="ref_1278_25">Slc</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+                        <span class="symbol"><a name="ref_1279_25">Dtr</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+                        <span class="symbol"><a name="ref_1280_25">Dlc</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+                        <span class="symbol"><a name="ref_1281_25">Dbr</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+                        <span class="symbol"><a name="ref_1282_25">Drc</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+                        <span class="symbol"><a name="ref_1283_25">Ndm</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Copywin, "copywin");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1275_16">Copywin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1345_7">Source_Window</A>,
-                  <A HREF="terminal_interface-curses__ads.htm#ref_1346_7">Destination_Window</A>,
-                  <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1347_7">Source_Top_Row</A>),
-                  <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1348_7">Source_Left_Column</A>),
-                  <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1349_7">Destination_Top_Row</A>),
-                  <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1350_7">Destination_Left_Column</A>),
-                  <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1351_7">Destination_Bottom_Row</A>),
-                  <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1352_7">Destination_Right_Column</A>),
-                  Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1353_7">Non_Destructive_Mode</A>)
-                 ) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1275_16">Copywin</a> (<a href="terminal_interface-curses__ads.htm#ref_1346_7">Source_Window</a>,
+                  <a href="terminal_interface-curses__ads.htm#ref_1347_7">Destination_Window</a>,
+                  <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1348_7">Source_Top_Row</a>),
+                  <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1349_7">Source_Left_Column</a>),
+                  <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1350_7">Destination_Top_Row</a>),
+                  <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1351_7">Destination_Left_Column</a>),
+                  <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1352_7">Destination_Bottom_Row</a>),
+                  <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1353_7">Destination_Right_Column</a>),
+                  Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_1354_7">Non_Destructive_Mode</a>)
+                 ) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a>
       <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1344_14">Copy</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1345_14">Copy</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1301_14" HREF="terminal_interface-curses__ads.htm#ref_1358_14">Overwrite</A></span>
-     (<span class="symbol"><A NAME="ref_1302_7" HREF="terminal_interface-curses__ads.htm#ref_1358_25">Source_Window</A></span>      : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-      <span class="symbol"><A NAME="ref_1303_7" HREF="terminal_interface-curses__ads.htm#ref_1359_25">Destination_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_1301_14" href="terminal_interface-curses__ads.htm#ref_1359_14">Overwrite</a></span>
+     (<span class="symbol"><a name="ref_1302_7" href="terminal_interface-curses__ads.htm#ref_1359_25">Source_Window</a></span>      : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+      <span class="symbol"><a name="ref_1303_7" href="terminal_interface-curses__ads.htm#ref_1360_25">Destination_Window</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1305_16">Overwrite</A></span> (<span class="symbol"><A NAME="ref_1305_27" HREF="terminal_interface-curses__adb.htm#ref_1305_16">Src</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1305_41" HREF="terminal_interface-curses__adb.htm#ref_1305_16">Dst</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1305_16">Overwrite</a></span> (<span class="symbol"><a name="ref_1305_27">Src</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_1305_41">Dst</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Overwrite, "overwrite");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1305_16">Overwrite</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1358_25">Source_Window</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1359_25">Destination_Window</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1305_16">Overwrite</a> (<a href="terminal_interface-curses__ads.htm#ref_1359_25">Source_Window</a>, <a href="terminal_interface-curses__ads.htm#ref_1360_25">Destination_Window</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1358_14">Overwrite</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1359_14">Overwrite</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1313_14" HREF="terminal_interface-curses__ads.htm#ref_1364_14">Overlay</A></span>
-     (<span class="symbol"><A NAME="ref_1314_7" HREF="terminal_interface-curses__ads.htm#ref_1364_23">Source_Window</A></span>      : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-      <span class="symbol"><A NAME="ref_1315_7" HREF="terminal_interface-curses__ads.htm#ref_1365_23">Destination_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_1313_14" href="terminal_interface-curses__ads.htm#ref_1365_14">Overlay</a></span>
+     (<span class="symbol"><a name="ref_1314_7" href="terminal_interface-curses__ads.htm#ref_1365_23">Source_Window</a></span>      : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+      <span class="symbol"><a name="ref_1315_7" href="terminal_interface-curses__ads.htm#ref_1366_23">Destination_Window</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1317_16">Overlay</A></span> (<span class="symbol"><A NAME="ref_1317_25" HREF="terminal_interface-curses__adb.htm#ref_1317_16">Src</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1317_39" HREF="terminal_interface-curses__adb.htm#ref_1317_16">Dst</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1317_16">Overlay</a></span> (<span class="symbol"><a name="ref_1317_25">Src</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_1317_39">Dst</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Overlay, "overlay");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1317_16">Overlay</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1364_23">Source_Window</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1365_23">Destination_Window</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1317_16">Overlay</a> (<a href="terminal_interface-curses__ads.htm#ref_1365_23">Source_Window</a>, <a href="terminal_interface-curses__ads.htm#ref_1366_23">Destination_Window</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1364_14">Overlay</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1365_14">Overlay</a>;
 
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1326_14" HREF="terminal_interface-curses__ads.htm#ref_1374_14">Insert_Delete_Lines</A></span>
-     (<span class="symbol"><A NAME="ref_1327_7" HREF="terminal_interface-curses__ads.htm#ref_1375_7">Win</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_1328_7" HREF="terminal_interface-curses__ads.htm#ref_1376_7">Lines</A></span> : Integer       := 1) <span class="comment"><EM>-- default is to insert one line above</EM></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1326_14" href="terminal_interface-curses__ads.htm#ref_1375_14">Insert_Delete_Lines</a></span>
+     (<span class="symbol"><a name="ref_1327_7" href="terminal_interface-curses__ads.htm#ref_1376_7">Win</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_1328_7" href="terminal_interface-curses__ads.htm#ref_1377_7">Lines</a></span> : Integer       := 1) <span class="comment"><em>-- default is to insert one line above</em></span>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1330_16">Winsdelln</A></span> (<span class="symbol"><A NAME="ref_1330_27" HREF="terminal_interface-curses__adb.htm#ref_1330_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1330_39" HREF="terminal_interface-curses__adb.htm#ref_1330_16">N</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1330_16">Winsdelln</a></span> (<span class="symbol"><a name="ref_1330_27">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_1330_39">N</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Winsdelln, "winsdelln");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1330_16">Winsdelln</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1375_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1376_7">Lines</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1330_16">Winsdelln</a> (<a href="terminal_interface-curses__ads.htm#ref_1376_7">Win</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1377_7">Lines</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1374_14">Insert_Delete_Lines</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1375_14">Insert_Delete_Lines</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1338_14" HREF="terminal_interface-curses__ads.htm#ref_1382_14">Delete_Line</A></span> (<span class="symbol"><A NAME="ref_1338_27" HREF="terminal_interface-curses__ads.htm#ref_1382_27">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_1338_14" href="terminal_interface-curses__ads.htm#ref_1383_14">Delete_Line</a></span> (<span class="symbol"><a name="ref_1338_27" href="terminal_interface-curses__ads.htm#ref_1383_27">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>)
    <b>is</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses__ads.htm#ref_1374_14">Insert_Delete_Lines</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1382_27">Win</A>, -1);
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1382_14">Delete_Line</A>;
+      <a href="terminal_interface-curses__ads.htm#ref_1375_14">Insert_Delete_Lines</a> (<a href="terminal_interface-curses__ads.htm#ref_1383_27">Win</a>, -1);
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1383_14">Delete_Line</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1344_14" HREF="terminal_interface-curses__ads.htm#ref_1388_14">Insert_Line</A></span> (<span class="symbol"><A NAME="ref_1344_27" HREF="terminal_interface-curses__ads.htm#ref_1388_27">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_1344_14" href="terminal_interface-curses__ads.htm#ref_1389_14">Insert_Line</a></span> (<span class="symbol"><a name="ref_1344_27" href="terminal_interface-curses__ads.htm#ref_1389_27">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>)
    <b>is</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses__ads.htm#ref_1374_14">Insert_Delete_Lines</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1388_27">Win</A>, 1);
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1388_14">Insert_Line</A>;
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
+      <a href="terminal_interface-curses__ads.htm#ref_1375_14">Insert_Delete_Lines</a> (<a href="terminal_interface-curses__ads.htm#ref_1389_27">Win</a>, 1);
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1389_14">Insert_Line</a>;
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1351_14" HREF="terminal_interface-curses__ads.htm#ref_1398_14">Get_Size</A></span>
-     (<span class="symbol"><A NAME="ref_1352_7" HREF="terminal_interface-curses__ads.htm#ref_1399_7">Win</A></span>               : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_1353_7" HREF="terminal_interface-curses__ads.htm#ref_1400_7">Number_Of_Lines</A></span>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
-      <span class="symbol"><A NAME="ref_1354_7" HREF="terminal_interface-curses__ads.htm#ref_1401_7">Number_Of_Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_1351_14" href="terminal_interface-curses__ads.htm#ref_1399_14">Get_Size</a></span>
+     (<span class="symbol"><a name="ref_1352_7" href="terminal_interface-curses__ads.htm#ref_1400_7">Win</a></span>               : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_1353_7" href="terminal_interface-curses__ads.htm#ref_1401_7">Number_Of_Lines</a></span>   : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
+      <span class="symbol"><a name="ref_1354_7" href="terminal_interface-curses__ads.htm#ref_1402_7">Number_Of_Columns</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1356_16">GetMaxY</A></span> (<span class="symbol"><A NAME="ref_1356_25" HREF="terminal_interface-curses__adb.htm#ref_1356_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1356_16">GetMaxY</a></span> (<span class="symbol"><a name="ref_1356_25">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, GetMaxY, "getmaxy");
 
-      <b>function</b> <span class="symbol"><A NAME="ref_1359_16">GetMaxX</A></span> (<span class="symbol"><A NAME="ref_1359_25" HREF="terminal_interface-curses__adb.htm#ref_1359_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1359_16">GetMaxX</a></span> (<span class="symbol"><a name="ref_1359_25">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, GetMaxX, "getmaxx");
 
-      <span class="symbol"><A NAME="ref_1362_7">Y</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1356_16">GetMaxY</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1399_7">Win</A>);
-      <span class="symbol"><A NAME="ref_1363_7">X</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1359_16">GetMaxX</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1399_7">Win</A>);
+      <span class="symbol"><a name="ref_1362_7">Y</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses__adb.htm#ref_1356_16">GetMaxY</a> (<a href="terminal_interface-curses__ads.htm#ref_1400_7">Win</a>);
+      <span class="symbol"><a name="ref_1363_7">X</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses__adb.htm#ref_1359_16">GetMaxX</a> (<a href="terminal_interface-curses__ads.htm#ref_1400_7">Win</a>);
    <b>begin</b>
-      <A HREF="terminal_interface-curses__ads.htm#ref_1400_7">Number_Of_Lines</A>   := <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1362_7">Y</A>);
-      <A HREF="terminal_interface-curses__ads.htm#ref_1401_7">Number_Of_Columns</A> := <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1363_7">X</A>);
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1398_14">Get_Size</A>;
+      <a href="terminal_interface-curses__ads.htm#ref_1401_7">Number_Of_Lines</a>   := <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a> (<a href="terminal_interface-curses__adb.htm#ref_1362_7">Y</a>);
+      <a href="terminal_interface-curses__ads.htm#ref_1402_7">Number_Of_Columns</a> := <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a> (<a href="terminal_interface-curses__adb.htm#ref_1363_7">X</a>);
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1399_14">Get_Size</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1369_14" HREF="terminal_interface-curses__ads.htm#ref_1406_14">Get_Window_Position</A></span>
-     (<span class="symbol"><A NAME="ref_1370_7" HREF="terminal_interface-curses__ads.htm#ref_1407_7">Win</A></span>             : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_1371_7" HREF="terminal_interface-curses__ads.htm#ref_1408_7">Top_Left_Line</A></span>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_1372_7" HREF="terminal_interface-curses__ads.htm#ref_1409_7">Top_Left_Column</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_1369_14" href="terminal_interface-curses__ads.htm#ref_1407_14">Get_Window_Position</a></span>
+     (<span class="symbol"><a name="ref_1370_7" href="terminal_interface-curses__ads.htm#ref_1408_7">Win</a></span>             : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_1371_7" href="terminal_interface-curses__ads.htm#ref_1409_7">Top_Left_Line</a></span>   : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_1372_7" href="terminal_interface-curses__ads.htm#ref_1410_7">Top_Left_Column</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1374_16">GetBegY</A></span> (<span class="symbol"><A NAME="ref_1374_25" HREF="terminal_interface-curses__adb.htm#ref_1374_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1374_16">GetBegY</a></span> (<span class="symbol"><a name="ref_1374_25">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, GetBegY, "getbegy");
 
-      <b>function</b> <span class="symbol"><A NAME="ref_1377_16">GetBegX</A></span> (<span class="symbol"><A NAME="ref_1377_25" HREF="terminal_interface-curses__adb.htm#ref_1377_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1377_16">GetBegX</a></span> (<span class="symbol"><a name="ref_1377_25">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, GetBegX, "getbegx");
 
-      <span class="symbol"><A NAME="ref_1380_7">Y</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1374_16">GetBegY</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1407_7">Win</A>));
-      <span class="symbol"><A NAME="ref_1381_7">X</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1377_16">GetBegX</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1407_7">Win</A>));
+      <span class="symbol"><a name="ref_1380_7">Y</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> := <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__adb.htm#ref_1374_16">GetBegY</a> (<a href="terminal_interface-curses__ads.htm#ref_1408_7">Win</a>));
+      <span class="symbol"><a name="ref_1381_7">X</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> := <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__adb.htm#ref_1377_16">GetBegX</a> (<a href="terminal_interface-curses__ads.htm#ref_1408_7">Win</a>));
    <b>begin</b>
-      <A HREF="terminal_interface-curses__ads.htm#ref_1408_7">Top_Left_Line</A>   := <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1380_7">Y</A>);
-      <A HREF="terminal_interface-curses__ads.htm#ref_1409_7">Top_Left_Column</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1381_7">X</A>);
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1406_14">Get_Window_Position</A>;
+      <a href="terminal_interface-curses__ads.htm#ref_1409_7">Top_Left_Line</a>   := <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a> (<a href="terminal_interface-curses__adb.htm#ref_1380_7">Y</a>);
+      <a href="terminal_interface-curses__ads.htm#ref_1410_7">Top_Left_Column</a> := <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> (<a href="terminal_interface-curses__adb.htm#ref_1381_7">X</a>);
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1407_14">Get_Window_Position</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1387_14" HREF="terminal_interface-curses__ads.htm#ref_1414_14">Get_Cursor_Position</A></span>
-     (<span class="symbol"><A NAME="ref_1388_7" HREF="terminal_interface-curses__ads.htm#ref_1415_7">Win</A></span>    :  <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_1389_7" HREF="terminal_interface-curses__ads.htm#ref_1416_7">Line</A></span>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_1390_7" HREF="terminal_interface-curses__ads.htm#ref_1417_7">Column</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_1387_14" href="terminal_interface-curses__ads.htm#ref_1415_14">Get_Cursor_Position</a></span>
+     (<span class="symbol"><a name="ref_1388_7" href="terminal_interface-curses__ads.htm#ref_1416_7">Win</a></span>    :  <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_1389_7" href="terminal_interface-curses__ads.htm#ref_1417_7">Line</a></span>   : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_1390_7" href="terminal_interface-curses__ads.htm#ref_1418_7">Column</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1392_16">GetCurY</A></span> (<span class="symbol"><A NAME="ref_1392_25" HREF="terminal_interface-curses__adb.htm#ref_1392_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1392_16">GetCurY</a></span> (<span class="symbol"><a name="ref_1392_25">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, GetCurY, "getcury");
 
-      <b>function</b> <span class="symbol"><A NAME="ref_1395_16">GetCurX</A></span> (<span class="symbol"><A NAME="ref_1395_25" HREF="terminal_interface-curses__adb.htm#ref_1395_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1395_16">GetCurX</a></span> (<span class="symbol"><a name="ref_1395_25">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, GetCurX, "getcurx");
 
-      <span class="symbol"><A NAME="ref_1398_7">Y</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1392_16">GetCurY</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1415_7">Win</A>));
-      <span class="symbol"><A NAME="ref_1399_7">X</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1395_16">GetCurX</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1415_7">Win</A>));
+      <span class="symbol"><a name="ref_1398_7">Y</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> := <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__adb.htm#ref_1392_16">GetCurY</a> (<a href="terminal_interface-curses__ads.htm#ref_1416_7">Win</a>));
+      <span class="symbol"><a name="ref_1399_7">X</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> := <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__adb.htm#ref_1395_16">GetCurX</a> (<a href="terminal_interface-curses__ads.htm#ref_1416_7">Win</a>));
    <b>begin</b>
-      <A HREF="terminal_interface-curses__ads.htm#ref_1416_7">Line</A>   := <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1398_7">Y</A>);
-      <A HREF="terminal_interface-curses__ads.htm#ref_1417_7">Column</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1399_7">X</A>);
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1414_14">Get_Cursor_Position</A>;
+      <a href="terminal_interface-curses__ads.htm#ref_1417_7">Line</a>   := <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a> (<a href="terminal_interface-curses__adb.htm#ref_1398_7">Y</a>);
+      <a href="terminal_interface-curses__ads.htm#ref_1418_7">Column</a> := <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> (<a href="terminal_interface-curses__adb.htm#ref_1399_7">X</a>);
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1415_14">Get_Cursor_Position</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1405_14" HREF="terminal_interface-curses__ads.htm#ref_1422_14">Get_Origin_Relative_To_Parent</A></span>
-     (<span class="symbol"><A NAME="ref_1406_7" HREF="terminal_interface-curses__ads.htm#ref_1423_7">Win</A></span>                :  <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-      <span class="symbol"><A NAME="ref_1407_7" HREF="terminal_interface-curses__ads.htm#ref_1424_7">Top_Left_Line</A></span>      : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_1408_7" HREF="terminal_interface-curses__ads.htm#ref_1425_7">Top_Left_Column</A></span>    : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-      <span class="symbol"><A NAME="ref_1409_7" HREF="terminal_interface-curses__ads.htm#ref_1426_7">Is_Not_A_Subwindow</A></span> : <b>out</b> Boolean)
+   <b>procedure</b> <span class="symbol"><a name="ref_1405_14" href="terminal_interface-curses__ads.htm#ref_1423_14">Get_Origin_Relative_To_Parent</a></span>
+     (<span class="symbol"><a name="ref_1406_7" href="terminal_interface-curses__ads.htm#ref_1424_7">Win</a></span>                :  <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+      <span class="symbol"><a name="ref_1407_7" href="terminal_interface-curses__ads.htm#ref_1425_7">Top_Left_Line</a></span>      : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_1408_7" href="terminal_interface-curses__ads.htm#ref_1426_7">Top_Left_Column</a></span>    : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+      <span class="symbol"><a name="ref_1409_7" href="terminal_interface-curses__ads.htm#ref_1427_7">Is_Not_A_Subwindow</a></span> : <b>out</b> Boolean)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1411_16">GetParY</A></span> (<span class="symbol"><A NAME="ref_1411_25" HREF="terminal_interface-curses__adb.htm#ref_1411_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1411_16">GetParY</a></span> (<span class="symbol"><a name="ref_1411_25">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, GetParY, "getpary");
 
-      <b>function</b> <span class="symbol"><A NAME="ref_1414_16">GetParX</A></span> (<span class="symbol"><A NAME="ref_1414_25" HREF="terminal_interface-curses__adb.htm#ref_1414_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1414_16">GetParX</a></span> (<span class="symbol"><a name="ref_1414_25">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, GetParX, "getparx");
 
-      <span class="symbol"><A NAME="ref_1417_7">Y</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1411_16">GetParY</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1423_7">Win</A>);
-      <span class="symbol"><A NAME="ref_1418_7">X</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1414_16">GetParX</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1423_7">Win</A>);
+      <span class="symbol"><a name="ref_1417_7">Y</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses__adb.htm#ref_1411_16">GetParY</a> (<a href="terminal_interface-curses__ads.htm#ref_1424_7">Win</a>);
+      <span class="symbol"><a name="ref_1418_7">X</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses__adb.htm#ref_1414_16">GetParX</a> (<a href="terminal_interface-curses__ads.htm#ref_1424_7">Win</a>);
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1417_7">Y</A> = -1 <b>then</b>
-         <A HREF="terminal_interface-curses__ads.htm#ref_1424_7">Top_Left_Line</A>   := <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>'Last;
-         <A HREF="terminal_interface-curses__ads.htm#ref_1425_7">Top_Left_Column</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>'Last;
-         <A HREF="terminal_interface-curses__ads.htm#ref_1426_7">Is_Not_A_Subwindow</A> := True;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1417_7">Y</a> = -1 <b>then</b>
+         <a href="terminal_interface-curses__ads.htm#ref_1425_7">Top_Left_Line</a>   := <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>'Last;
+         <a href="terminal_interface-curses__ads.htm#ref_1426_7">Top_Left_Column</a> := <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>'Last;
+         <a href="terminal_interface-curses__ads.htm#ref_1427_7">Is_Not_A_Subwindow</a> := True;
       <b>else</b>
-         <A HREF="terminal_interface-curses__ads.htm#ref_1424_7">Top_Left_Line</A>   := <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1417_7">Y</A>);
-         <A HREF="terminal_interface-curses__ads.htm#ref_1425_7">Top_Left_Column</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1418_7">X</A>);
-         <A HREF="terminal_interface-curses__ads.htm#ref_1426_7">Is_Not_A_Subwindow</A> := False;
+         <a href="terminal_interface-curses__ads.htm#ref_1425_7">Top_Left_Line</a>   := <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a> (<a href="terminal_interface-curses__adb.htm#ref_1417_7">Y</a>);
+         <a href="terminal_interface-curses__ads.htm#ref_1426_7">Top_Left_Column</a> := <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> (<a href="terminal_interface-curses__adb.htm#ref_1418_7">X</a>);
+         <a href="terminal_interface-curses__ads.htm#ref_1427_7">Is_Not_A_Subwindow</a> := False;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1422_14">Get_Origin_Relative_To_Parent</A>;
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_1431_13" HREF="terminal_interface-curses__ads.htm#ref_1437_13">New_Pad</A></span> (<span class="symbol"><A NAME="ref_1431_22" HREF="terminal_interface-curses__ads.htm#ref_1437_22">Lines</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
-                     <span class="symbol"><A NAME="ref_1432_22" HREF="terminal_interface-curses__ads.htm#ref_1438_22">Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1423_14">Get_Origin_Relative_To_Parent</a>;
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_1431_13" href="terminal_interface-curses__ads.htm#ref_1438_13">New_Pad</a></span> (<span class="symbol"><a name="ref_1431_22" href="terminal_interface-curses__ads.htm#ref_1438_22">Lines</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
+                     <span class="symbol"><a name="ref_1432_22" href="terminal_interface-curses__ads.htm#ref_1439_22">Columns</a></span> : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1434_16">Newpad</A></span> (<span class="symbol"><A NAME="ref_1434_24" HREF="terminal_interface-curses__adb.htm#ref_1434_16">Lines</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>; <span class="symbol"><A NAME="ref_1434_39" HREF="terminal_interface-curses__adb.htm#ref_1434_16">Columns</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1434_16">Newpad</a></span> (<span class="symbol"><a name="ref_1434_24">Lines</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <span class="symbol"><a name="ref_1434_39">Columns</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
       <b>pragma</b> Import (C, Newpad, "newpad");
 
-      <span class="symbol"><A NAME="ref_1437_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+      <span class="symbol"><a name="ref_1437_7">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
    <b>begin</b>
-      <A HREF="terminal_interface-curses__adb.htm#ref_1437_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1434_16">Newpad</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1437_22">Lines</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1438_22">Columns</A>));
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1437_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <a href="terminal_interface-curses__adb.htm#ref_1437_7">W</a> := <a href="terminal_interface-curses__adb.htm#ref_1434_16">Newpad</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1438_22">Lines</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1439_22">Columns</a>));
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1437_7">W</a> = <a href="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-      <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_1437_7">W</A>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1437_13">New_Pad</A>;
+      <b>return</b> <a href="terminal_interface-curses__adb.htm#ref_1437_7">W</a>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1438_13">New_Pad</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_1446_13" HREF="terminal_interface-curses__ads.htm#ref_1443_13">Sub_Pad</A></span>
-     (<span class="symbol"><A NAME="ref_1447_7" HREF="terminal_interface-curses__ads.htm#ref_1444_7">Pad</A></span>                   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-      <span class="symbol"><A NAME="ref_1448_7" HREF="terminal_interface-curses__ads.htm#ref_1445_7">Number_Of_Lines</A></span>       : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
-      <span class="symbol"><A NAME="ref_1449_7" HREF="terminal_interface-curses__ads.htm#ref_1446_7">Number_Of_Columns</A></span>     : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
-      <span class="symbol"><A NAME="ref_1450_7" HREF="terminal_interface-curses__ads.htm#ref_1447_7">First_Line_Position</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_1451_7" HREF="terminal_interface-curses__ads.htm#ref_1448_7">First_Column_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>
+   <b>function</b> <span class="symbol"><a name="ref_1446_13" href="terminal_interface-curses__ads.htm#ref_1444_13">Sub_Pad</a></span>
+     (<span class="symbol"><a name="ref_1447_7" href="terminal_interface-curses__ads.htm#ref_1445_7">Pad</a></span>                   : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+      <span class="symbol"><a name="ref_1448_7" href="terminal_interface-curses__ads.htm#ref_1446_7">Number_Of_Lines</a></span>       : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
+      <span class="symbol"><a name="ref_1449_7" href="terminal_interface-curses__ads.htm#ref_1447_7">Number_Of_Columns</a></span>     : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>;
+      <span class="symbol"><a name="ref_1450_7" href="terminal_interface-curses__ads.htm#ref_1448_7">First_Line_Position</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_1451_7" href="terminal_interface-curses__ads.htm#ref_1449_7">First_Column_Position</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1453_16">Subpad</A></span>
-        (<span class="symbol"><A NAME="ref_1454_10" HREF="terminal_interface-curses__adb.htm#ref_1453_16">Pad</A></span>                   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-         <span class="symbol"><A NAME="ref_1455_10" HREF="terminal_interface-curses__adb.htm#ref_1453_16">Number_Of_Lines</A></span>       : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-         <span class="symbol"><A NAME="ref_1456_10" HREF="terminal_interface-curses__adb.htm#ref_1453_16">Number_Of_Columns</A></span>     : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-         <span class="symbol"><A NAME="ref_1457_10" HREF="terminal_interface-curses__adb.htm#ref_1453_16">First_Line_Position</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-         <span class="symbol"><A NAME="ref_1458_10" HREF="terminal_interface-curses__adb.htm#ref_1453_16">First_Column_Position</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1453_16">Subpad</a></span>
+        (<span class="symbol"><a name="ref_1454_10">Pad</a></span>                   : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+         <span class="symbol"><a name="ref_1455_10">Number_Of_Lines</a></span>       : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+         <span class="symbol"><a name="ref_1456_10">Number_Of_Columns</a></span>     : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+         <span class="symbol"><a name="ref_1457_10">First_Line_Position</a></span>   : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+         <span class="symbol"><a name="ref_1458_10">First_Column_Position</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
       <b>pragma</b> Import (C, Subpad, "subpad");
 
-      <span class="symbol"><A NAME="ref_1461_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+      <span class="symbol"><a name="ref_1461_7">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
    <b>begin</b>
-      <A HREF="terminal_interface-curses__adb.htm#ref_1461_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1453_16">Subpad</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1444_7">Pad</A>,
-                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1445_7">Number_Of_Lines</A>),
-                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1446_7">Number_Of_Columns</A>),
-                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1447_7">First_Line_Position</A>),
-                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1448_7">First_Column_Position</A>));
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1461_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <a href="terminal_interface-curses__adb.htm#ref_1461_7">W</a> := <a href="terminal_interface-curses__adb.htm#ref_1453_16">Subpad</a> (<a href="terminal_interface-curses__ads.htm#ref_1445_7">Pad</a>,
+                   <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1446_7">Number_Of_Lines</a>),
+                   <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1447_7">Number_Of_Columns</a>),
+                   <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1448_7">First_Line_Position</a>),
+                   <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1449_7">First_Column_Position</a>));
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1461_7">W</a> = <a href="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-      <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_1461_7">W</A>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1443_13">Sub_Pad</A>;
+      <b>return</b> <a href="terminal_interface-curses__adb.htm#ref_1461_7">W</a>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1444_13">Sub_Pad</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1474_14" HREF="terminal_interface-curses__ads.htm#ref_1453_14">Refresh</A></span>
-     (<span class="symbol"><A NAME="ref_1475_7" HREF="terminal_interface-curses__ads.htm#ref_1454_7">Pad</A></span>                      : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-      <span class="symbol"><A NAME="ref_1476_7" HREF="terminal_interface-curses__ads.htm#ref_1455_7">Source_Top_Row</A></span>           : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_1477_7" HREF="terminal_interface-curses__ads.htm#ref_1456_7">Source_Left_Column</A></span>       : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-      <span class="symbol"><A NAME="ref_1478_7" HREF="terminal_interface-curses__ads.htm#ref_1457_7">Destination_Top_Row</A></span>      : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_1479_7" HREF="terminal_interface-curses__ads.htm#ref_1458_7">Destination_Left_Column</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-      <span class="symbol"><A NAME="ref_1480_7" HREF="terminal_interface-curses__ads.htm#ref_1459_7">Destination_Bottom_Row</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_1481_7" HREF="terminal_interface-curses__ads.htm#ref_1460_7">Destination_Right_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_1474_14" href="terminal_interface-curses__ads.htm#ref_1454_14">Refresh</a></span>
+     (<span class="symbol"><a name="ref_1475_7" href="terminal_interface-curses__ads.htm#ref_1455_7">Pad</a></span>                      : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+      <span class="symbol"><a name="ref_1476_7" href="terminal_interface-curses__ads.htm#ref_1456_7">Source_Top_Row</a></span>           : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_1477_7" href="terminal_interface-curses__ads.htm#ref_1457_7">Source_Left_Column</a></span>       : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+      <span class="symbol"><a name="ref_1478_7" href="terminal_interface-curses__ads.htm#ref_1458_7">Destination_Top_Row</a></span>      : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_1479_7" href="terminal_interface-curses__ads.htm#ref_1459_7">Destination_Left_Column</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+      <span class="symbol"><a name="ref_1480_7" href="terminal_interface-curses__ads.htm#ref_1460_7">Destination_Bottom_Row</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_1481_7" href="terminal_interface-curses__ads.htm#ref_1461_7">Destination_Right_Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1483_16">Prefresh</A></span>
-        (<span class="symbol"><A NAME="ref_1484_10" HREF="terminal_interface-curses__adb.htm#ref_1483_16">Pad</A></span>                      : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-         <span class="symbol"><A NAME="ref_1485_10" HREF="terminal_interface-curses__adb.htm#ref_1483_16">Source_Top_Row</A></span>           : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-         <span class="symbol"><A NAME="ref_1486_10" HREF="terminal_interface-curses__adb.htm#ref_1483_16">Source_Left_Column</A></span>       : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-         <span class="symbol"><A NAME="ref_1487_10" HREF="terminal_interface-curses__adb.htm#ref_1483_16">Destination_Top_Row</A></span>      : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-         <span class="symbol"><A NAME="ref_1488_10" HREF="terminal_interface-curses__adb.htm#ref_1483_16">Destination_Left_Column</A></span>  : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-         <span class="symbol"><A NAME="ref_1489_10" HREF="terminal_interface-curses__adb.htm#ref_1483_16">Destination_Bottom_Row</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-         <span class="symbol"><A NAME="ref_1490_10" HREF="terminal_interface-curses__adb.htm#ref_1483_16">Destination_Right_Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1483_16">Prefresh</a></span>
+        (<span class="symbol"><a name="ref_1484_10">Pad</a></span>                      : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+         <span class="symbol"><a name="ref_1485_10">Source_Top_Row</a></span>           : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+         <span class="symbol"><a name="ref_1486_10">Source_Left_Column</a></span>       : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+         <span class="symbol"><a name="ref_1487_10">Destination_Top_Row</a></span>      : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+         <span class="symbol"><a name="ref_1488_10">Destination_Left_Column</a></span>  : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+         <span class="symbol"><a name="ref_1489_10">Destination_Bottom_Row</a></span>   : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+         <span class="symbol"><a name="ref_1490_10">Destination_Right_Column</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Prefresh, "prefresh");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1483_16">Prefresh</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1454_7">Pad</A>,
-                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1455_7">Source_Top_Row</A>),
-                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1456_7">Source_Left_Column</A>),
-                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1457_7">Destination_Top_Row</A>),
-                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1458_7">Destination_Left_Column</A>),
-                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1459_7">Destination_Bottom_Row</A>),
-                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1460_7">Destination_Right_Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1483_16">Prefresh</a> (<a href="terminal_interface-curses__ads.htm#ref_1455_7">Pad</a>,
+                   <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1456_7">Source_Top_Row</a>),
+                   <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1457_7">Source_Left_Column</a>),
+                   <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1458_7">Destination_Top_Row</a>),
+                   <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1459_7">Destination_Left_Column</a>),
+                   <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1460_7">Destination_Bottom_Row</a>),
+                   <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1461_7">Destination_Right_Column</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a>
       <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1453_14">Refresh</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1454_14">Refresh</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1505_14" HREF="terminal_interface-curses__ads.htm#ref_1465_14">Refresh_Without_Update</A></span>
-     (<span class="symbol"><A NAME="ref_1506_7" HREF="terminal_interface-curses__ads.htm#ref_1466_7">Pad</A></span>                      : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-      <span class="symbol"><A NAME="ref_1507_7" HREF="terminal_interface-curses__ads.htm#ref_1467_7">Source_Top_Row</A></span>           : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_1508_7" HREF="terminal_interface-curses__ads.htm#ref_1468_7">Source_Left_Column</A></span>       : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-      <span class="symbol"><A NAME="ref_1509_7" HREF="terminal_interface-curses__ads.htm#ref_1469_7">Destination_Top_Row</A></span>      : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_1510_7" HREF="terminal_interface-curses__ads.htm#ref_1470_7">Destination_Left_Column</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-      <span class="symbol"><A NAME="ref_1511_7" HREF="terminal_interface-curses__ads.htm#ref_1471_7">Destination_Bottom_Row</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_1512_7" HREF="terminal_interface-curses__ads.htm#ref_1472_7">Destination_Right_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_1505_14" href="terminal_interface-curses__ads.htm#ref_1466_14">Refresh_Without_Update</a></span>
+     (<span class="symbol"><a name="ref_1506_7" href="terminal_interface-curses__ads.htm#ref_1467_7">Pad</a></span>                      : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+      <span class="symbol"><a name="ref_1507_7" href="terminal_interface-curses__ads.htm#ref_1468_7">Source_Top_Row</a></span>           : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_1508_7" href="terminal_interface-curses__ads.htm#ref_1469_7">Source_Left_Column</a></span>       : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+      <span class="symbol"><a name="ref_1509_7" href="terminal_interface-curses__ads.htm#ref_1470_7">Destination_Top_Row</a></span>      : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_1510_7" href="terminal_interface-curses__ads.htm#ref_1471_7">Destination_Left_Column</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+      <span class="symbol"><a name="ref_1511_7" href="terminal_interface-curses__ads.htm#ref_1472_7">Destination_Bottom_Row</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_1512_7" href="terminal_interface-curses__ads.htm#ref_1473_7">Destination_Right_Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1514_16">Pnoutrefresh</A></span>
-        (<span class="symbol"><A NAME="ref_1515_10" HREF="terminal_interface-curses__adb.htm#ref_1514_16">Pad</A></span>                      : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-         <span class="symbol"><A NAME="ref_1516_10" HREF="terminal_interface-curses__adb.htm#ref_1514_16">Source_Top_Row</A></span>           : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-         <span class="symbol"><A NAME="ref_1517_10" HREF="terminal_interface-curses__adb.htm#ref_1514_16">Source_Left_Column</A></span>       : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-         <span class="symbol"><A NAME="ref_1518_10" HREF="terminal_interface-curses__adb.htm#ref_1514_16">Destination_Top_Row</A></span>      : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-         <span class="symbol"><A NAME="ref_1519_10" HREF="terminal_interface-curses__adb.htm#ref_1514_16">Destination_Left_Column</A></span>  : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-         <span class="symbol"><A NAME="ref_1520_10" HREF="terminal_interface-curses__adb.htm#ref_1514_16">Destination_Bottom_Row</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-         <span class="symbol"><A NAME="ref_1521_10" HREF="terminal_interface-curses__adb.htm#ref_1514_16">Destination_Right_Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1514_16">Pnoutrefresh</a></span>
+        (<span class="symbol"><a name="ref_1515_10">Pad</a></span>                      : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+         <span class="symbol"><a name="ref_1516_10">Source_Top_Row</a></span>           : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+         <span class="symbol"><a name="ref_1517_10">Source_Left_Column</a></span>       : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+         <span class="symbol"><a name="ref_1518_10">Destination_Top_Row</a></span>      : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+         <span class="symbol"><a name="ref_1519_10">Destination_Left_Column</a></span>  : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+         <span class="symbol"><a name="ref_1520_10">Destination_Bottom_Row</a></span>   : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+         <span class="symbol"><a name="ref_1521_10">Destination_Right_Column</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Pnoutrefresh, "pnoutrefresh");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1514_16">Pnoutrefresh</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1466_7">Pad</A>,
-                       <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1467_7">Source_Top_Row</A>),
-                       <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1468_7">Source_Left_Column</A>),
-                       <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1469_7">Destination_Top_Row</A>),
-                       <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1470_7">Destination_Left_Column</A>),
-                       <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1471_7">Destination_Bottom_Row</A>),
-                       <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1472_7">Destination_Right_Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1514_16">Pnoutrefresh</a> (<a href="terminal_interface-curses__ads.htm#ref_1467_7">Pad</a>,
+                       <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1468_7">Source_Top_Row</a>),
+                       <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1469_7">Source_Left_Column</a>),
+                       <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1470_7">Destination_Top_Row</a>),
+                       <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1471_7">Destination_Left_Column</a>),
+                       <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1472_7">Destination_Bottom_Row</a>),
+                       <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1473_7">Destination_Right_Column</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a>
       <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1465_14">Refresh_Without_Update</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1466_14">Refresh_Without_Update</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1536_14" HREF="terminal_interface-curses__ads.htm#ref_1477_14">Add_Character_To_Pad_And_Echo_It</A></span>
-     (<span class="symbol"><A NAME="ref_1537_7" HREF="terminal_interface-curses__ads.htm#ref_1478_7">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-      <span class="symbol"><A NAME="ref_1538_7" HREF="terminal_interface-curses__ads.htm#ref_1479_7">Ch</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_1536_14" href="terminal_interface-curses__ads.htm#ref_1478_14">Add_Character_To_Pad_And_Echo_It</a></span>
+     (<span class="symbol"><a name="ref_1537_7" href="terminal_interface-curses__ads.htm#ref_1479_7">Pad</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+      <span class="symbol"><a name="ref_1538_7" href="terminal_interface-curses__ads.htm#ref_1480_7">Ch</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1540_16">Pechochar</A></span> (<span class="symbol"><A NAME="ref_1540_27" HREF="terminal_interface-curses__adb.htm#ref_1540_16">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1540_41" HREF="terminal_interface-curses__adb.htm#ref_1540_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>)
-                          <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1540_16">Pechochar</a></span> (<span class="symbol"><a name="ref_1540_27">Pad</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_1540_41">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>)
+                          <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Pechochar, "pechochar");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1540_16">Pechochar</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1478_7">Pad</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1479_7">Ch</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1540_16">Pechochar</a> (<a href="terminal_interface-curses__ads.htm#ref_1479_7">Pad</a>, <a href="terminal_interface-curses__ads.htm#ref_1480_7">Ch</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1477_14">Add_Character_To_Pad_And_Echo_It</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1478_14">Add_Character_To_Pad_And_Echo_It</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1549_14" HREF="terminal_interface-curses__ads.htm#ref_1482_14">Add_Character_To_Pad_And_Echo_It</A></span>
-     (<span class="symbol"><A NAME="ref_1550_7" HREF="terminal_interface-curses__ads.htm#ref_1483_7">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-      <span class="symbol"><A NAME="ref_1551_7" HREF="terminal_interface-curses__ads.htm#ref_1484_7">Ch</A></span>  : Character)
+   <b>procedure</b> <span class="symbol"><a name="ref_1549_14" href="terminal_interface-curses__ads.htm#ref_1483_14">Add_Character_To_Pad_And_Echo_It</a></span>
+     (<span class="symbol"><a name="ref_1550_7" href="terminal_interface-curses__ads.htm#ref_1484_7">Pad</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+      <span class="symbol"><a name="ref_1551_7" href="terminal_interface-curses__ads.htm#ref_1485_7">Ch</a></span>  : Character)
    <b>is</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses__ads.htm#ref_1477_14">Add_Character_To_Pad_And_Echo_It</A>
-        (<A HREF="terminal_interface-curses__ads.htm#ref_1483_7">Pad</A>,
-         <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>'(<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A>    =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_1484_7">Ch</A>,
-                               <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First,
-                               <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>  =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>));
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1482_14">Add_Character_To_Pad_And_Echo_It</A>;
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1561_14" HREF="terminal_interface-curses__ads.htm#ref_1492_14">Scroll</A></span> (<span class="symbol"><A NAME="ref_1561_22" HREF="terminal_interface-curses__ads.htm#ref_1492_22">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                     <span class="symbol"><A NAME="ref_1562_22" HREF="terminal_interface-curses__ads.htm#ref_1493_22">Amount</A></span> : Integer := 1)
+      <a href="terminal_interface-curses__ads.htm#ref_1478_14">Add_Character_To_Pad_And_Echo_It</a>
+        (<a href="terminal_interface-curses__ads.htm#ref_1484_7">Pad</a>,
+         <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>'(<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a>    =&gt; <a href="terminal_interface-curses__ads.htm#ref_1485_7">Ch</a>,
+                               <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> =&gt; <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First,
+                               <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>  =&gt; <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>));
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1483_14">Add_Character_To_Pad_And_Echo_It</a>;
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1561_14" href="terminal_interface-curses__ads.htm#ref_1493_14">Scroll</a></span> (<span class="symbol"><a name="ref_1561_22" href="terminal_interface-curses__ads.htm#ref_1493_22">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                     <span class="symbol"><a name="ref_1562_22" href="terminal_interface-curses__ads.htm#ref_1494_22">Amount</a></span> : Integer := 1)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1564_16">Wscrl</A></span> (<span class="symbol"><A NAME="ref_1564_23" HREF="terminal_interface-curses__adb.htm#ref_1564_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1564_37" HREF="terminal_interface-curses__adb.htm#ref_1564_16">N</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1564_16">Wscrl</a></span> (<span class="symbol"><a name="ref_1564_23">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_1564_37">N</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Wscrl, "wscrl");
 
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1564_16">Wscrl</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1492_22">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1493_22">Amount</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1564_16">Wscrl</a> (<a href="terminal_interface-curses__ads.htm#ref_1493_22">Win</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1494_22">Amount</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1492_14">Scroll</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1493_14">Scroll</a>;
 
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1574_14" HREF="terminal_interface-curses__ads.htm#ref_1504_14">Delete_Character</A></span> (<span class="symbol"><A NAME="ref_1574_32" HREF="terminal_interface-curses__ads.htm#ref_1504_32">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1574_14" href="terminal_interface-curses__ads.htm#ref_1505_14">Delete_Character</a></span> (<span class="symbol"><a name="ref_1574_32" href="terminal_interface-curses__ads.htm#ref_1505_32">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1576_16">Wdelch</A></span> (<span class="symbol"><A NAME="ref_1576_24" HREF="terminal_interface-curses__adb.htm#ref_1576_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1576_16">Wdelch</a></span> (<span class="symbol"><a name="ref_1576_24">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Wdelch, "wdelch");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1576_16">Wdelch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1504_32">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1576_16">Wdelch</a> (<a href="terminal_interface-curses__ads.htm#ref_1505_32">Win</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1504_14">Delete_Character</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1505_14">Delete_Character</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1584_14" HREF="terminal_interface-curses__ads.htm#ref_1509_14">Delete_Character</A></span>
-     (<span class="symbol"><A NAME="ref_1585_7" HREF="terminal_interface-curses__ads.htm#ref_1510_7">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_1586_7" HREF="terminal_interface-curses__ads.htm#ref_1511_7">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_1587_7" HREF="terminal_interface-curses__ads.htm#ref_1512_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_1584_14" href="terminal_interface-curses__ads.htm#ref_1510_14">Delete_Character</a></span>
+     (<span class="symbol"><a name="ref_1585_7" href="terminal_interface-curses__ads.htm#ref_1511_7">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_1586_7" href="terminal_interface-curses__ads.htm#ref_1512_7">Line</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_1587_7" href="terminal_interface-curses__ads.htm#ref_1513_7">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1589_16">Mvwdelch</A></span> (<span class="symbol"><A NAME="ref_1589_26" HREF="terminal_interface-curses__adb.htm#ref_1589_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-                         <span class="symbol"><A NAME="ref_1590_26" HREF="terminal_interface-curses__adb.htm#ref_1589_16">Lin</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-                         <span class="symbol"><A NAME="ref_1591_26" HREF="terminal_interface-curses__adb.htm#ref_1589_16">Col</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1589_16">Mvwdelch</a></span> (<span class="symbol"><a name="ref_1589_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+                         <span class="symbol"><a name="ref_1590_26">Lin</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+                         <span class="symbol"><a name="ref_1591_26">Col</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Mvwdelch, "mvwdelch");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1589_16">Mvwdelch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1510_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1511_7">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1512_7">Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1589_16">Mvwdelch</a> (<a href="terminal_interface-curses__ads.htm#ref_1511_7">Win</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1512_7">Line</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1513_7">Column</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1509_14">Delete_Character</A>;
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_1599_13" HREF="terminal_interface-curses__ads.htm#ref_1522_13">Peek</A></span> (<span class="symbol"><A NAME="ref_1599_19" HREF="terminal_interface-curses__ads.htm#ref_1522_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
-     <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1510_14">Delete_Character</a>;
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_1599_13" href="terminal_interface-curses__ads.htm#ref_1523_13">Peek</a></span> (<span class="symbol"><a name="ref_1599_19" href="terminal_interface-curses__ads.htm#ref_1523_19">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>)
+     <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1602_16">Winch</A></span> (<span class="symbol"><A NAME="ref_1602_23" HREF="terminal_interface-curses__adb.htm#ref_1602_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1602_16">Winch</a></span> (<span class="symbol"><a name="ref_1602_23">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
       <b>pragma</b> Import (C, Winch, "winch");
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_1602_16">Winch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1522_19">Win</A>);
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1522_13">Peek</A>;
+      <b>return</b> <a href="terminal_interface-curses__adb.htm#ref_1602_16">Winch</a> (<a href="terminal_interface-curses__ads.htm#ref_1523_19">Win</a>);
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1523_13">Peek</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_1608_13" HREF="terminal_interface-curses__ads.htm#ref_1528_13">Peek</A></span>
-     (<span class="symbol"><A NAME="ref_1609_7" HREF="terminal_interface-curses__ads.htm#ref_1529_7">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_1610_7" HREF="terminal_interface-curses__ads.htm#ref_1530_7">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_1611_7" HREF="terminal_interface-curses__ads.htm#ref_1531_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>
+   <b>function</b> <span class="symbol"><a name="ref_1608_13" href="terminal_interface-curses__ads.htm#ref_1529_13">Peek</a></span>
+     (<span class="symbol"><a name="ref_1609_7" href="terminal_interface-curses__ads.htm#ref_1530_7">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_1610_7" href="terminal_interface-curses__ads.htm#ref_1531_7">Line</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_1611_7" href="terminal_interface-curses__ads.htm#ref_1532_7">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1613_16">Mvwinch</A></span> (<span class="symbol"><A NAME="ref_1613_25" HREF="terminal_interface-curses__adb.htm#ref_1613_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-                        <span class="symbol"><A NAME="ref_1614_25" HREF="terminal_interface-curses__adb.htm#ref_1613_16">Lin</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-                        <span class="symbol"><A NAME="ref_1615_25" HREF="terminal_interface-curses__adb.htm#ref_1613_16">Col</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1613_16">Mvwinch</a></span> (<span class="symbol"><a name="ref_1613_25">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+                        <span class="symbol"><a name="ref_1614_25">Lin</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+                        <span class="symbol"><a name="ref_1615_25">Col</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
       <b>pragma</b> Import (C, Mvwinch, "mvwinch");
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_1613_16">Mvwinch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1529_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1530_7">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1531_7">Column</A>));
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1528_13">Peek</A>;
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1621_14" HREF="terminal_interface-curses__ads.htm#ref_1541_14">Insert</A></span> (<span class="symbol"><A NAME="ref_1621_22" HREF="terminal_interface-curses__ads.htm#ref_1541_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                     <span class="symbol"><A NAME="ref_1622_22" HREF="terminal_interface-curses__ads.htm#ref_1542_22">Ch</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>)
+      <b>return</b> <a href="terminal_interface-curses__adb.htm#ref_1613_16">Mvwinch</a> (<a href="terminal_interface-curses__ads.htm#ref_1530_7">Win</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1531_7">Line</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1532_7">Column</a>));
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1529_13">Peek</a>;
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1621_14" href="terminal_interface-curses__ads.htm#ref_1542_14">Insert</a></span> (<span class="symbol"><a name="ref_1621_22" href="terminal_interface-curses__ads.htm#ref_1542_22">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                     <span class="symbol"><a name="ref_1622_22" href="terminal_interface-curses__ads.htm#ref_1543_22">Ch</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1624_16">Winsch</A></span> (<span class="symbol"><A NAME="ref_1624_24" HREF="terminal_interface-curses__adb.htm#ref_1624_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1624_38" HREF="terminal_interface-curses__adb.htm#ref_1624_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1624_16">Winsch</a></span> (<span class="symbol"><a name="ref_1624_24">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_1624_38">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Winsch, "winsch");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1624_16">Winsch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1541_22">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1542_22">Ch</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1624_16">Winsch</a> (<a href="terminal_interface-curses__ads.htm#ref_1542_22">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_1543_22">Ch</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1541_14">Insert</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1542_14">Insert</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1632_14" HREF="terminal_interface-curses__ads.htm#ref_1547_14">Insert</A></span>
-     (<span class="symbol"><A NAME="ref_1633_7" HREF="terminal_interface-curses__ads.htm#ref_1547_22">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_1634_7" HREF="terminal_interface-curses__ads.htm#ref_1548_22">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_1635_7" HREF="terminal_interface-curses__ads.htm#ref_1549_22">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-      <span class="symbol"><A NAME="ref_1636_7" HREF="terminal_interface-curses__ads.htm#ref_1550_22">Ch</A></span>     : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_1632_14" href="terminal_interface-curses__ads.htm#ref_1548_14">Insert</a></span>
+     (<span class="symbol"><a name="ref_1633_7" href="terminal_interface-curses__ads.htm#ref_1548_22">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_1634_7" href="terminal_interface-curses__ads.htm#ref_1549_22">Line</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_1635_7" href="terminal_interface-curses__ads.htm#ref_1550_22">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+      <span class="symbol"><a name="ref_1636_7" href="terminal_interface-curses__ads.htm#ref_1551_22">Ch</a></span>     : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1638_16">Mvwinsch</A></span> (<span class="symbol"><A NAME="ref_1638_26" HREF="terminal_interface-curses__adb.htm#ref_1638_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-                         <span class="symbol"><A NAME="ref_1639_26" HREF="terminal_interface-curses__adb.htm#ref_1638_16">Lin</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-                         <span class="symbol"><A NAME="ref_1640_26" HREF="terminal_interface-curses__adb.htm#ref_1638_16">Col</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-                         <span class="symbol"><A NAME="ref_1641_26" HREF="terminal_interface-curses__adb.htm#ref_1638_16">Ch</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1638_16">Mvwinsch</a></span> (<span class="symbol"><a name="ref_1638_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+                         <span class="symbol"><a name="ref_1639_26">Lin</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+                         <span class="symbol"><a name="ref_1640_26">Col</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+                         <span class="symbol"><a name="ref_1641_26">Ch</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Mvwinsch, "mvwinsch");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1638_16">Mvwinsch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1547_22">Win</A>,
-                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1548_22">Line</A>),
-                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1549_22">Column</A>),
-                   <A HREF="terminal_interface-curses__ads.htm#ref_1550_22">Ch</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1638_16">Mvwinsch</a> (<a href="terminal_interface-curses__ads.htm#ref_1548_22">Win</a>,
+                   <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1549_22">Line</a>),
+                   <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1550_22">Column</a>),
+                   <a href="terminal_interface-curses__ads.htm#ref_1551_22">Ch</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a>
       <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1547_14">Insert</A>;
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1653_14" HREF="terminal_interface-curses__ads.htm#ref_1559_14">Insert</A></span> (<span class="symbol"><A NAME="ref_1653_22" HREF="terminal_interface-curses__ads.htm#ref_1559_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                     <span class="symbol"><A NAME="ref_1654_22" HREF="terminal_interface-curses__ads.htm#ref_1560_22">Str</A></span> : String;
-                     <span class="symbol"><A NAME="ref_1655_22" HREF="terminal_interface-curses__ads.htm#ref_1561_22">Len</A></span> : Integer := -1)
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1548_14">Insert</a>;
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1653_14" href="terminal_interface-curses__ads.htm#ref_1560_14">Insert</a></span> (<span class="symbol"><a name="ref_1653_22" href="terminal_interface-curses__ads.htm#ref_1560_22">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                     <span class="symbol"><a name="ref_1654_22" href="terminal_interface-curses__ads.htm#ref_1561_22">Str</a></span> : String;
+                     <span class="symbol"><a name="ref_1655_22" href="terminal_interface-curses__ads.htm#ref_1562_22">Len</a></span> : Integer := -1)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1657_16">Winsnstr</A></span> (<span class="symbol"><A NAME="ref_1657_26" HREF="terminal_interface-curses__adb.htm#ref_1657_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-                         <span class="symbol"><A NAME="ref_1658_26" HREF="terminal_interface-curses__adb.htm#ref_1657_16">Str</A></span> : char_array;
-                         <span class="symbol"><A NAME="ref_1659_26" HREF="terminal_interface-curses__adb.htm#ref_1657_16">Len</A></span> : Integer := -1) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1657_16">Winsnstr</a></span> (<span class="symbol"><a name="ref_1657_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+                         <span class="symbol"><a name="ref_1658_26">Str</a></span> : char_array;
+                         <span class="symbol"><a name="ref_1659_26">Len</a></span> : Integer := -1) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Winsnstr, "winsnstr");
 
-      <span class="symbol"><A NAME="ref_1662_7">Txt</A></span>    : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1560_22">Str</A>'Length);
-      <span class="symbol"><A NAME="ref_1663_7">Length</A></span> : size_t;
+      <span class="symbol"><a name="ref_1662_7">Txt</a></span>    : char_array (0 .. <a href="terminal_interface-curses__ads.htm#ref_1561_22">Str</a>'Length);
+      <span class="symbol"><a name="ref_1663_7">Length</a></span> : size_t;
    <b>begin</b>
-      To_C (<A HREF="terminal_interface-curses__ads.htm#ref_1560_22">Str</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1662_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1663_7">Length</A>);
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1657_16">Winsnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1559_22">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1662_7">Txt</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1561_22">Len</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      To_C (<a href="terminal_interface-curses__ads.htm#ref_1561_22">Str</a>, <a href="terminal_interface-curses__adb.htm#ref_1662_7">Txt</a>, <a href="terminal_interface-curses__adb.htm#ref_1663_7">Length</a>);
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1657_16">Winsnstr</a> (<a href="terminal_interface-curses__ads.htm#ref_1560_22">Win</a>, <a href="terminal_interface-curses__adb.htm#ref_1662_7">Txt</a>, <a href="terminal_interface-curses__ads.htm#ref_1562_22">Len</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1559_14">Insert</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1560_14">Insert</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1671_14" HREF="terminal_interface-curses__ads.htm#ref_1568_14">Insert</A></span>
-     (<span class="symbol"><A NAME="ref_1672_7" HREF="terminal_interface-curses__ads.htm#ref_1568_22">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_1673_7" HREF="terminal_interface-curses__ads.htm#ref_1569_22">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_1674_7" HREF="terminal_interface-curses__ads.htm#ref_1570_22">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-      <span class="symbol"><A NAME="ref_1675_7" HREF="terminal_interface-curses__ads.htm#ref_1571_22">Str</A></span>    : String;
-      <span class="symbol"><A NAME="ref_1676_7" HREF="terminal_interface-curses__ads.htm#ref_1572_22">Len</A></span>    : Integer := -1)
+   <b>procedure</b> <span class="symbol"><a name="ref_1671_14" href="terminal_interface-curses__ads.htm#ref_1569_14">Insert</a></span>
+     (<span class="symbol"><a name="ref_1672_7" href="terminal_interface-curses__ads.htm#ref_1569_22">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_1673_7" href="terminal_interface-curses__ads.htm#ref_1570_22">Line</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_1674_7" href="terminal_interface-curses__ads.htm#ref_1571_22">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+      <span class="symbol"><a name="ref_1675_7" href="terminal_interface-curses__ads.htm#ref_1572_22">Str</a></span>    : String;
+      <span class="symbol"><a name="ref_1676_7" href="terminal_interface-curses__ads.htm#ref_1573_22">Len</a></span>    : Integer := -1)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1678_16">Mvwinsnstr</A></span> (<span class="symbol"><A NAME="ref_1678_28" HREF="terminal_interface-curses__adb.htm#ref_1678_16">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-                           <span class="symbol"><A NAME="ref_1679_28" HREF="terminal_interface-curses__adb.htm#ref_1678_16">Line</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-                           <span class="symbol"><A NAME="ref_1680_28" HREF="terminal_interface-curses__adb.htm#ref_1678_16">Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-                           <span class="symbol"><A NAME="ref_1681_28" HREF="terminal_interface-curses__adb.htm#ref_1678_16">Str</A></span>    : char_array;
-                           <span class="symbol"><A NAME="ref_1682_28" HREF="terminal_interface-curses__adb.htm#ref_1678_16">Len</A></span>    : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1678_16">Mvwinsnstr</a></span> (<span class="symbol"><a name="ref_1678_28">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+                           <span class="symbol"><a name="ref_1679_28">Line</a></span>   : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+                           <span class="symbol"><a name="ref_1680_28">Column</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+                           <span class="symbol"><a name="ref_1681_28">Str</a></span>    : char_array;
+                           <span class="symbol"><a name="ref_1682_28">Len</a></span>    : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Mvwinsnstr, "mvwinsnstr");
 
-      <span class="symbol"><A NAME="ref_1685_7">Txt</A></span>    : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1571_22">Str</A>'Length);
-      <span class="symbol"><A NAME="ref_1686_7">Length</A></span> : size_t;
+      <span class="symbol"><a name="ref_1685_7">Txt</a></span>    : char_array (0 .. <a href="terminal_interface-curses__ads.htm#ref_1572_22">Str</a>'Length);
+      <span class="symbol"><a name="ref_1686_7">Length</a></span> : size_t;
    <b>begin</b>
-      To_C (<A HREF="terminal_interface-curses__ads.htm#ref_1571_22">Str</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1685_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1686_7">Length</A>);
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1678_16">Mvwinsnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1568_22">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1569_22">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1570_22">Column</A>), <A HREF="terminal_interface-curses__adb.htm#ref_1685_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1572_22">Len</A>))
-        = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
+      To_C (<a href="terminal_interface-curses__ads.htm#ref_1572_22">Str</a>, <a href="terminal_interface-curses__adb.htm#ref_1685_7">Txt</a>, <a href="terminal_interface-curses__adb.htm#ref_1686_7">Length</a>);
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1678_16">Mvwinsnstr</a> (<a href="terminal_interface-curses__ads.htm#ref_1569_22">Win</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1570_22">Line</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1571_22">Column</a>), <a href="terminal_interface-curses__adb.htm#ref_1685_7">Txt</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1573_22">Len</a>))
+        = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a>
       <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1568_14">Insert</A>;
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1696_14" HREF="terminal_interface-curses__ads.htm#ref_1584_14">Peek</A></span> (<span class="symbol"><A NAME="ref_1696_20" HREF="terminal_interface-curses__ads.htm#ref_1584_20">Win</A></span> :  <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                   <span class="symbol"><A NAME="ref_1697_20" HREF="terminal_interface-curses__ads.htm#ref_1585_20">Str</A></span> : <b>out</b> String;
-                   <span class="symbol"><A NAME="ref_1698_20" HREF="terminal_interface-curses__ads.htm#ref_1586_20">Len</A></span> :  Integer := -1)
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1569_14">Insert</a>;
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1696_14" href="terminal_interface-curses__ads.htm#ref_1585_14">Peek</a></span> (<span class="symbol"><a name="ref_1696_20" href="terminal_interface-curses__ads.htm#ref_1585_20">Win</a></span> :  <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                   <span class="symbol"><a name="ref_1697_20" href="terminal_interface-curses__ads.htm#ref_1586_20">Str</a></span> : <b>out</b> String;
+                   <span class="symbol"><a name="ref_1698_20" href="terminal_interface-curses__ads.htm#ref_1587_20">Len</a></span> :  Integer := -1)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1700_16">Winnstr</A></span> (<span class="symbol"><A NAME="ref_1700_25" HREF="terminal_interface-curses__adb.htm#ref_1700_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-                        <span class="symbol"><A NAME="ref_1701_25" HREF="terminal_interface-curses__adb.htm#ref_1700_16">Str</A></span> : char_array;
-                        <span class="symbol"><A NAME="ref_1702_25" HREF="terminal_interface-curses__adb.htm#ref_1700_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1700_16">Winnstr</a></span> (<span class="symbol"><a name="ref_1700_25">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+                        <span class="symbol"><a name="ref_1701_25">Str</a></span> : char_array;
+                        <span class="symbol"><a name="ref_1702_25">Len</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Winnstr, "winnstr");
 
-      <span class="symbol"><A NAME="ref_1705_7">N</A></span>   : Integer := <A HREF="terminal_interface-curses__ads.htm#ref_1586_20">Len</A>;
-      <span class="symbol"><A NAME="ref_1706_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1585_20">Str</A>'Length);
-      <span class="symbol"><A NAME="ref_1707_7">Cnt</A></span> : Natural;
+      <span class="symbol"><a name="ref_1705_7">N</a></span>   : Integer := <a href="terminal_interface-curses__ads.htm#ref_1587_20">Len</a>;
+      <span class="symbol"><a name="ref_1706_7">Txt</a></span> : char_array (0 .. <a href="terminal_interface-curses__ads.htm#ref_1586_20">Str</a>'Length);
+      <span class="symbol"><a name="ref_1707_7">Cnt</a></span> : Natural;
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1705_7">N</A> &lt; 0 <b>then</b>
-         <A HREF="terminal_interface-curses__adb.htm#ref_1705_7">N</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1585_20">Str</A>'Length;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1705_7">N</a> &lt; 0 <b>then</b>
+         <a href="terminal_interface-curses__adb.htm#ref_1705_7">N</a> := <a href="terminal_interface-curses__ads.htm#ref_1586_20">Str</a>'Length;
       <b>end</b> <b>if</b>;
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1705_7">N</A> &gt; <A HREF="terminal_interface-curses__ads.htm#ref_1585_20">Str</A>'Length <b>then</b>
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1705_7">N</a> &gt; <a href="terminal_interface-curses__ads.htm#ref_1586_20">Str</a>'Length <b>then</b>
          <b>raise</b> Constraint_Error;
       <b>end</b> <b>if</b>;
-      <A HREF="terminal_interface-curses__adb.htm#ref_1706_7">Txt</A> (0) := <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.char'First;
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1700_16">Winnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1584_20">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1706_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1705_7">N</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <a href="terminal_interface-curses__adb.htm#ref_1706_7">Txt</a> (0) := <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.char'First;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1700_16">Winnstr</a> (<a href="terminal_interface-curses__ads.htm#ref_1585_20">Win</a>, <a href="terminal_interface-curses__adb.htm#ref_1706_7">Txt</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__adb.htm#ref_1705_7">N</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-      To_Ada (<A HREF="terminal_interface-curses__adb.htm#ref_1706_7">Txt</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1585_20">Str</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1707_7">Cnt</A>, True);
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1707_7">Cnt</A> &lt; <A HREF="terminal_interface-curses__ads.htm#ref_1585_20">Str</A>'Length <b>then</b>
-         <A HREF="terminal_interface-curses__ads.htm#ref_1585_20">Str</A> ((<A HREF="terminal_interface-curses__ads.htm#ref_1585_20">Str</A>'First + <A HREF="terminal_interface-curses__adb.htm#ref_1707_7">Cnt</A>) .. <A HREF="terminal_interface-curses__ads.htm#ref_1585_20">Str</A>'Last) := (<b>others</b> =&gt; ' ');
+      To_Ada (<a href="terminal_interface-curses__adb.htm#ref_1706_7">Txt</a>, <a href="terminal_interface-curses__ads.htm#ref_1586_20">Str</a>, <a href="terminal_interface-curses__adb.htm#ref_1707_7">Cnt</a>, True);
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1707_7">Cnt</a> &lt; <a href="terminal_interface-curses__ads.htm#ref_1586_20">Str</a>'Length <b>then</b>
+         <a href="terminal_interface-curses__ads.htm#ref_1586_20">Str</a> ((<a href="terminal_interface-curses__ads.htm#ref_1586_20">Str</a>'First + <a href="terminal_interface-curses__adb.htm#ref_1707_7">Cnt</a>) .. <a href="terminal_interface-curses__ads.htm#ref_1586_20">Str</a>'Last) := (<b>others</b> =&gt; ' ');
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1584_14">Peek</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1585_14">Peek</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1725_14" HREF="terminal_interface-curses__ads.htm#ref_1593_14">Peek</A></span>
-     (<span class="symbol"><A NAME="ref_1726_7" HREF="terminal_interface-curses__ads.htm#ref_1593_20">Win</A></span>    :  <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_1727_7" HREF="terminal_interface-curses__ads.htm#ref_1594_20">Line</A></span>   :  <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_1728_7" HREF="terminal_interface-curses__ads.htm#ref_1595_20">Column</A></span> :  <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-      <span class="symbol"><A NAME="ref_1729_7" HREF="terminal_interface-curses__ads.htm#ref_1596_20">Str</A></span>    : <b>out</b> String;
-      <span class="symbol"><A NAME="ref_1730_7" HREF="terminal_interface-curses__ads.htm#ref_1597_20">Len</A></span>    :  Integer := -1)
+   <b>procedure</b> <span class="symbol"><a name="ref_1725_14" href="terminal_interface-curses__ads.htm#ref_1594_14">Peek</a></span>
+     (<span class="symbol"><a name="ref_1726_7" href="terminal_interface-curses__ads.htm#ref_1594_20">Win</a></span>    :  <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_1727_7" href="terminal_interface-curses__ads.htm#ref_1595_20">Line</a></span>   :  <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_1728_7" href="terminal_interface-curses__ads.htm#ref_1596_20">Column</a></span> :  <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+      <span class="symbol"><a name="ref_1729_7" href="terminal_interface-curses__ads.htm#ref_1597_20">Str</a></span>    : <b>out</b> String;
+      <span class="symbol"><a name="ref_1730_7" href="terminal_interface-curses__ads.htm#ref_1598_20">Len</a></span>    :  Integer := -1)
    <b>is</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses__ads.htm#ref_681_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1593_20">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1594_20">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1595_20">Column</A>);
-      <A HREF="terminal_interface-curses__ads.htm#ref_1584_14">Peek</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1593_20">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1596_20">Str</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1597_20">Len</A>);
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1593_14">Peek</A>;
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1737_14" HREF="terminal_interface-curses__ads.htm#ref_1608_14">Peek</A></span>
-     (<span class="symbol"><A NAME="ref_1738_7" HREF="terminal_interface-curses__ads.htm#ref_1608_20">Win</A></span> :  <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_1739_7" HREF="terminal_interface-curses__ads.htm#ref_1609_20">Str</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Attributed_String</A>;
-      <span class="symbol"><A NAME="ref_1740_7" HREF="terminal_interface-curses__ads.htm#ref_1610_20">Len</A></span> :  Integer := -1)
+      <a href="terminal_interface-curses__ads.htm#ref_682_14">Move_Cursor</a> (<a href="terminal_interface-curses__ads.htm#ref_1594_20">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_1595_20">Line</a>, <a href="terminal_interface-curses__ads.htm#ref_1596_20">Column</a>);
+      <a href="terminal_interface-curses__ads.htm#ref_1585_14">Peek</a> (<a href="terminal_interface-curses__ads.htm#ref_1594_20">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_1597_20">Str</a>, <a href="terminal_interface-curses__ads.htm#ref_1598_20">Len</a>);
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1594_14">Peek</a>;
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1737_14" href="terminal_interface-curses__ads.htm#ref_1609_14">Peek</a></span>
+     (<span class="symbol"><a name="ref_1738_7" href="terminal_interface-curses__ads.htm#ref_1609_20">Win</a></span> :  <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_1739_7" href="terminal_interface-curses__ads.htm#ref_1610_20">Str</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_510_4">Attributed_String</a>;
+      <span class="symbol"><a name="ref_1740_7" href="terminal_interface-curses__ads.htm#ref_1611_20">Len</a></span> :  Integer := -1)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1742_16">Winchnstr</A></span> (<span class="symbol"><A NAME="ref_1742_27" HREF="terminal_interface-curses__adb.htm#ref_1742_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-                          <span class="symbol"><A NAME="ref_1743_27" HREF="terminal_interface-curses__adb.htm#ref_1742_16">Str</A></span> : chtype_array;             <span class="comment"><EM>-- out</EM></span>
-                          <span class="symbol"><A NAME="ref_1744_27" HREF="terminal_interface-curses__adb.htm#ref_1742_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1742_16">Winchnstr</a></span> (<span class="symbol"><a name="ref_1742_27">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+                          <span class="symbol"><a name="ref_1743_27">Str</a></span> : chtype_array;             <span class="comment"><em>-- out</em></span>
+                          <span class="symbol"><a name="ref_1744_27">Len</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Winchnstr, "winchnstr");
 
-      <span class="symbol"><A NAME="ref_1747_7">N</A></span>   : Integer := <A HREF="terminal_interface-curses__ads.htm#ref_1610_20">Len</A>;
-      <span class="symbol"><A NAME="ref_1748_7">Txt</A></span> : <b>constant</b> chtype_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1609_20">Str</A>'Length)
-          := (0 =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>);
-      <span class="symbol"><A NAME="ref_1750_7">Cnt</A></span> : Natural := 0;
+      <span class="symbol"><a name="ref_1747_7">N</a></span>   : Integer := <a href="terminal_interface-curses__ads.htm#ref_1611_20">Len</a>;
+      <span class="symbol"><a name="ref_1748_7">Txt</a></span> : <b>constant</b> chtype_array (0 .. <a href="terminal_interface-curses__ads.htm#ref_1610_20">Str</a>'Length)
+          := (0 =&gt; <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>);
+      <span class="symbol"><a name="ref_1750_7">Cnt</a></span> : Natural := 0;
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1747_7">N</A> &lt; 0 <b>then</b>
-         <A HREF="terminal_interface-curses__adb.htm#ref_1747_7">N</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1609_20">Str</A>'Length;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1747_7">N</a> &lt; 0 <b>then</b>
+         <a href="terminal_interface-curses__adb.htm#ref_1747_7">N</a> := <a href="terminal_interface-curses__ads.htm#ref_1610_20">Str</a>'Length;
       <b>end</b> <b>if</b>;
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1747_7">N</A> &gt; <A HREF="terminal_interface-curses__ads.htm#ref_1609_20">Str</A>'Length <b>then</b>
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1747_7">N</a> &gt; <a href="terminal_interface-curses__ads.htm#ref_1610_20">Str</a>'Length <b>then</b>
          <b>raise</b> Constraint_Error;
       <b>end</b> <b>if</b>;
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1742_16">Winchnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1608_20">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1748_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1747_7">N</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1742_16">Winchnstr</a> (<a href="terminal_interface-curses__ads.htm#ref_1609_20">Win</a>, <a href="terminal_interface-curses__adb.htm#ref_1748_7">Txt</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__adb.htm#ref_1747_7">N</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-      <b>for</b> <span class="symbol"><A NAME="ref_1761_11">To</A></span> <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_1609_20">Str</A>'<b>Range</b> <b>loop</b>
-         <b>exit</b> <b>when</b> <A HREF="terminal_interface-curses__adb.htm#ref_1748_7">Txt</A> (size_t (<A HREF="terminal_interface-curses__adb.htm#ref_1750_7">Cnt</A>)) = <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
-         <A HREF="terminal_interface-curses__ads.htm#ref_1609_20">Str</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1761_11">To</A>) := <A HREF="terminal_interface-curses__adb.htm#ref_1748_7">Txt</A> (size_t (<A HREF="terminal_interface-curses__adb.htm#ref_1750_7">Cnt</A>));
-         <A HREF="terminal_interface-curses__adb.htm#ref_1750_7">Cnt</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1750_7">Cnt</A> + 1;
+      <b>for</b> <span class="symbol"><a name="ref_1761_11">To</a></span> <b>in</b> <a href="terminal_interface-curses__ads.htm#ref_1610_20">Str</a>'<b>Range</b> <b>loop</b>
+         <b>exit</b> <b>when</b> <a href="terminal_interface-curses__adb.htm#ref_1748_7">Txt</a> (size_t (<a href="terminal_interface-curses__adb.htm#ref_1750_7">Cnt</a>)) = <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>;
+         <a href="terminal_interface-curses__ads.htm#ref_1610_20">Str</a> (<a href="terminal_interface-curses__adb.htm#ref_1761_11">To</a>) := <a href="terminal_interface-curses__adb.htm#ref_1748_7">Txt</a> (size_t (<a href="terminal_interface-curses__adb.htm#ref_1750_7">Cnt</a>));
+         <a href="terminal_interface-curses__adb.htm#ref_1750_7">Cnt</a> := <a href="terminal_interface-curses__adb.htm#ref_1750_7">Cnt</a> + 1;
       <b>end</b> <b>loop</b>;
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1750_7">Cnt</A> &lt; <A HREF="terminal_interface-curses__ads.htm#ref_1609_20">Str</A>'Length <b>then</b>
-         <A HREF="terminal_interface-curses__ads.htm#ref_1609_20">Str</A> ((<A HREF="terminal_interface-curses__ads.htm#ref_1609_20">Str</A>'First + <A HREF="terminal_interface-curses__adb.htm#ref_1750_7">Cnt</A>) .. <A HREF="terminal_interface-curses__ads.htm#ref_1609_20">Str</A>'Last) :=
-           (<b>others</b> =&gt; (<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A> =&gt; ' ',
-                       <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First,
-                       <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>));
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1750_7">Cnt</a> &lt; <a href="terminal_interface-curses__ads.htm#ref_1610_20">Str</a>'Length <b>then</b>
+         <a href="terminal_interface-curses__ads.htm#ref_1610_20">Str</a> ((<a href="terminal_interface-curses__ads.htm#ref_1610_20">Str</a>'First + <a href="terminal_interface-curses__adb.htm#ref_1750_7">Cnt</a>) .. <a href="terminal_interface-curses__ads.htm#ref_1610_20">Str</a>'Last) :=
+           (<b>others</b> =&gt; (<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a> =&gt; ' ',
+                       <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> =&gt; <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First,
+                       <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a> =&gt; <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>));
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1608_14">Peek</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1609_14">Peek</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1774_14" HREF="terminal_interface-curses__ads.htm#ref_1617_14">Peek</A></span>
-     (<span class="symbol"><A NAME="ref_1775_7" HREF="terminal_interface-curses__ads.htm#ref_1617_20">Win</A></span>    :  <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_1776_7" HREF="terminal_interface-curses__ads.htm#ref_1618_20">Line</A></span>   :  <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_1777_7" HREF="terminal_interface-curses__ads.htm#ref_1619_20">Column</A></span> :  <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-      <span class="symbol"><A NAME="ref_1778_7" HREF="terminal_interface-curses__ads.htm#ref_1620_20">Str</A></span>    : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Attributed_String</A>;
-      <span class="symbol"><A NAME="ref_1779_7" HREF="terminal_interface-curses__ads.htm#ref_1621_20">Len</A></span>    : Integer := -1)
+   <b>procedure</b> <span class="symbol"><a name="ref_1774_14" href="terminal_interface-curses__ads.htm#ref_1618_14">Peek</a></span>
+     (<span class="symbol"><a name="ref_1775_7" href="terminal_interface-curses__ads.htm#ref_1618_20">Win</a></span>    :  <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_1776_7" href="terminal_interface-curses__ads.htm#ref_1619_20">Line</a></span>   :  <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_1777_7" href="terminal_interface-curses__ads.htm#ref_1620_20">Column</a></span> :  <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+      <span class="symbol"><a name="ref_1778_7" href="terminal_interface-curses__ads.htm#ref_1621_20">Str</a></span>    : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_510_4">Attributed_String</a>;
+      <span class="symbol"><a name="ref_1779_7" href="terminal_interface-curses__ads.htm#ref_1622_20">Len</a></span>    : Integer := -1)
    <b>is</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses__ads.htm#ref_681_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1617_20">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1618_20">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1619_20">Column</A>);
-      <A HREF="terminal_interface-curses__ads.htm#ref_1608_14">Peek</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1617_20">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1620_20">Str</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1621_20">Len</A>);
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1617_14">Peek</A>;
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1786_14" HREF="terminal_interface-curses__ads.htm#ref_1633_14">Get</A></span> (<span class="symbol"><A NAME="ref_1786_19" HREF="terminal_interface-curses__ads.htm#ref_1633_19">Win</A></span> :  <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                  <span class="symbol"><A NAME="ref_1787_19" HREF="terminal_interface-curses__ads.htm#ref_1634_19">Str</A></span> : <b>out</b> String;
-                  <span class="symbol"><A NAME="ref_1788_19" HREF="terminal_interface-curses__ads.htm#ref_1635_19">Len</A></span> :  Integer := -1)
+      <a href="terminal_interface-curses__ads.htm#ref_682_14">Move_Cursor</a> (<a href="terminal_interface-curses__ads.htm#ref_1618_20">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_1619_20">Line</a>, <a href="terminal_interface-curses__ads.htm#ref_1620_20">Column</a>);
+      <a href="terminal_interface-curses__ads.htm#ref_1609_14">Peek</a> (<a href="terminal_interface-curses__ads.htm#ref_1618_20">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_1621_20">Str</a>, <a href="terminal_interface-curses__ads.htm#ref_1622_20">Len</a>);
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1618_14">Peek</a>;
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1786_14" href="terminal_interface-curses__ads.htm#ref_1634_14">Get</a></span> (<span class="symbol"><a name="ref_1786_19" href="terminal_interface-curses__ads.htm#ref_1634_19">Win</a></span> :  <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                  <span class="symbol"><a name="ref_1787_19" href="terminal_interface-curses__ads.htm#ref_1635_19">Str</a></span> : <b>out</b> String;
+                  <span class="symbol"><a name="ref_1788_19" href="terminal_interface-curses__ads.htm#ref_1636_19">Len</a></span> :  Integer := -1)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1790_16">Wgetnstr</A></span> (<span class="symbol"><A NAME="ref_1790_26" HREF="terminal_interface-curses__adb.htm#ref_1790_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-                         <span class="symbol"><A NAME="ref_1791_26" HREF="terminal_interface-curses__adb.htm#ref_1790_16">Str</A></span> : char_array;
-                         <span class="symbol"><A NAME="ref_1792_26" HREF="terminal_interface-curses__adb.htm#ref_1790_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1790_16">Wgetnstr</a></span> (<span class="symbol"><a name="ref_1790_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+                         <span class="symbol"><a name="ref_1791_26">Str</a></span> : char_array;
+                         <span class="symbol"><a name="ref_1792_26">Len</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Wgetnstr, "wgetnstr");
 
-      <span class="symbol"><A NAME="ref_1795_7">N</A></span>   : Integer := <A HREF="terminal_interface-curses__ads.htm#ref_1635_19">Len</A>;
-      <span class="symbol"><A NAME="ref_1796_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1634_19">Str</A>'Length);
-      <span class="symbol"><A NAME="ref_1797_7">Cnt</A></span> : Natural;
+      <span class="symbol"><a name="ref_1795_7">N</a></span>   : Integer := <a href="terminal_interface-curses__ads.htm#ref_1636_19">Len</a>;
+      <span class="symbol"><a name="ref_1796_7">Txt</a></span> : char_array (0 .. <a href="terminal_interface-curses__ads.htm#ref_1635_19">Str</a>'Length);
+      <span class="symbol"><a name="ref_1797_7">Cnt</a></span> : Natural;
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1795_7">N</A> &lt; 0 <b>then</b>
-         <A HREF="terminal_interface-curses__adb.htm#ref_1795_7">N</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1634_19">Str</A>'Length;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1795_7">N</a> &lt; 0 <b>then</b>
+         <a href="terminal_interface-curses__adb.htm#ref_1795_7">N</a> := <a href="terminal_interface-curses__ads.htm#ref_1635_19">Str</a>'Length;
       <b>end</b> <b>if</b>;
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1795_7">N</A> &gt; <A HREF="terminal_interface-curses__ads.htm#ref_1634_19">Str</A>'Length <b>then</b>
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1795_7">N</a> &gt; <a href="terminal_interface-curses__ads.htm#ref_1635_19">Str</a>'Length <b>then</b>
          <b>raise</b> Constraint_Error;
       <b>end</b> <b>if</b>;
-      <A HREF="terminal_interface-curses__adb.htm#ref_1796_7">Txt</A> (0) := <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.char'First;
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1790_16">Wgetnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1633_19">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1796_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1795_7">N</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <a href="terminal_interface-curses__adb.htm#ref_1796_7">Txt</a> (0) := <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.char'First;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1790_16">Wgetnstr</a> (<a href="terminal_interface-curses__ads.htm#ref_1634_19">Win</a>, <a href="terminal_interface-curses__adb.htm#ref_1796_7">Txt</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__adb.htm#ref_1795_7">N</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-      To_Ada (<A HREF="terminal_interface-curses__adb.htm#ref_1796_7">Txt</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1634_19">Str</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1797_7">Cnt</A>, True);
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1797_7">Cnt</A> &lt; <A HREF="terminal_interface-curses__ads.htm#ref_1634_19">Str</A>'Length <b>then</b>
-         <A HREF="terminal_interface-curses__ads.htm#ref_1634_19">Str</A> ((<A HREF="terminal_interface-curses__ads.htm#ref_1634_19">Str</A>'First + <A HREF="terminal_interface-curses__adb.htm#ref_1797_7">Cnt</A>) .. <A HREF="terminal_interface-curses__ads.htm#ref_1634_19">Str</A>'Last) := (<b>others</b> =&gt; ' ');
+      To_Ada (<a href="terminal_interface-curses__adb.htm#ref_1796_7">Txt</a>, <a href="terminal_interface-curses__ads.htm#ref_1635_19">Str</a>, <a href="terminal_interface-curses__adb.htm#ref_1797_7">Cnt</a>, True);
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1797_7">Cnt</a> &lt; <a href="terminal_interface-curses__ads.htm#ref_1635_19">Str</a>'Length <b>then</b>
+         <a href="terminal_interface-curses__ads.htm#ref_1635_19">Str</a> ((<a href="terminal_interface-curses__ads.htm#ref_1635_19">Str</a>'First + <a href="terminal_interface-curses__adb.htm#ref_1797_7">Cnt</a>) .. <a href="terminal_interface-curses__ads.htm#ref_1635_19">Str</a>'Last) := (<b>others</b> =&gt; ' ');
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1633_14">Get</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1634_14">Get</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1815_14" HREF="terminal_interface-curses__ads.htm#ref_1644_14">Get</A></span>
-     (<span class="symbol"><A NAME="ref_1816_7" HREF="terminal_interface-curses__ads.htm#ref_1644_19">Win</A></span>    :  <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_1817_7" HREF="terminal_interface-curses__ads.htm#ref_1645_19">Line</A></span>   :  <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_1818_7" HREF="terminal_interface-curses__ads.htm#ref_1646_19">Column</A></span> :  <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-      <span class="symbol"><A NAME="ref_1819_7" HREF="terminal_interface-curses__ads.htm#ref_1647_19">Str</A></span>    : <b>out</b> String;
-      <span class="symbol"><A NAME="ref_1820_7" HREF="terminal_interface-curses__ads.htm#ref_1648_19">Len</A></span>    :  Integer := -1)
+   <b>procedure</b> <span class="symbol"><a name="ref_1815_14" href="terminal_interface-curses__ads.htm#ref_1645_14">Get</a></span>
+     (<span class="symbol"><a name="ref_1816_7" href="terminal_interface-curses__ads.htm#ref_1645_19">Win</a></span>    :  <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_1817_7" href="terminal_interface-curses__ads.htm#ref_1646_19">Line</a></span>   :  <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_1818_7" href="terminal_interface-curses__ads.htm#ref_1647_19">Column</a></span> :  <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+      <span class="symbol"><a name="ref_1819_7" href="terminal_interface-curses__ads.htm#ref_1648_19">Str</a></span>    : <b>out</b> String;
+      <span class="symbol"><a name="ref_1820_7" href="terminal_interface-curses__ads.htm#ref_1649_19">Len</a></span>    :  Integer := -1)
    <b>is</b>
    <b>begin</b>
-      <A HREF="terminal_interface-curses__ads.htm#ref_681_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1644_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1645_19">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1646_19">Column</A>);
-      <A HREF="terminal_interface-curses__ads.htm#ref_1633_14">Get</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1644_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1647_19">Str</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1648_19">Len</A>);
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1644_14">Get</A>;
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1827_14" HREF="terminal_interface-curses__ads.htm#ref_1669_14">Init_Soft_Label_Keys</A></span>
-     (<span class="symbol"><A NAME="ref_1828_7" HREF="terminal_interface-curses__ads.htm#ref_1670_7">Format</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1661_9">Soft_Label_Key_Format</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1661_35">Three_Two_Three</A>)
+      <a href="terminal_interface-curses__ads.htm#ref_682_14">Move_Cursor</a> (<a href="terminal_interface-curses__ads.htm#ref_1645_19">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_1646_19">Line</a>, <a href="terminal_interface-curses__ads.htm#ref_1647_19">Column</a>);
+      <a href="terminal_interface-curses__ads.htm#ref_1634_14">Get</a> (<a href="terminal_interface-curses__ads.htm#ref_1645_19">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_1648_19">Str</a>, <a href="terminal_interface-curses__ads.htm#ref_1649_19">Len</a>);
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1645_14">Get</a>;
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1827_14" href="terminal_interface-curses__ads.htm#ref_1670_14">Init_Soft_Label_Keys</a></span>
+     (<span class="symbol"><a name="ref_1828_7" href="terminal_interface-curses__ads.htm#ref_1671_7">Format</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1662_9">Soft_Label_Key_Format</a> := <a href="terminal_interface-curses__ads.htm#ref_1662_35">Three_Two_Three</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1830_16">Slk_Init</A></span> (<span class="symbol"><A NAME="ref_1830_26" HREF="terminal_interface-curses__adb.htm#ref_1830_16">Fmt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1830_16">Slk_Init</a></span> (<span class="symbol"><a name="ref_1830_26">Fmt</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Slk_Init, "slk_init");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1830_16">Slk_Init</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1661_9">Soft_Label_Key_Format</A>'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1670_7">Format</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1830_16">Slk_Init</a> (<a href="terminal_interface-curses__ads.htm#ref_1662_9">Soft_Label_Key_Format</a>'Pos (<a href="terminal_interface-curses__ads.htm#ref_1671_7">Format</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1669_14">Init_Soft_Label_Keys</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1670_14">Init_Soft_Label_Keys</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1838_14" HREF="terminal_interface-curses__ads.htm#ref_1675_14">Set_Soft_Label_Key</A></span> (<span class="symbol"><A NAME="ref_1838_34" HREF="terminal_interface-curses__ads.htm#ref_1675_34">Label</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1665_9">Label_Number</A>;
-                                 <span class="symbol"><A NAME="ref_1839_34" HREF="terminal_interface-curses__ads.htm#ref_1676_34">Text</A></span>  : String;
-                                 <span class="symbol"><A NAME="ref_1840_34" HREF="terminal_interface-curses__ads.htm#ref_1677_34">Fmt</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_1666_9">Label_Justification</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1666_33">Left</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_1838_14" href="terminal_interface-curses__ads.htm#ref_1676_14">Set_Soft_Label_Key</a></span> (<span class="symbol"><a name="ref_1838_34" href="terminal_interface-curses__ads.htm#ref_1676_34">Label</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1666_9">Label_Number</a>;
+                                 <span class="symbol"><a name="ref_1839_34" href="terminal_interface-curses__ads.htm#ref_1677_34">Text</a></span>  : String;
+                                 <span class="symbol"><a name="ref_1840_34" href="terminal_interface-curses__ads.htm#ref_1678_34">Fmt</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_1667_9">Label_Justification</a> := <a href="terminal_interface-curses__ads.htm#ref_1667_33">Left</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1842_16">Slk_Set</A></span> (<span class="symbol"><A NAME="ref_1842_25" HREF="terminal_interface-curses__adb.htm#ref_1842_16">Label</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-                        <span class="symbol"><A NAME="ref_1843_25" HREF="terminal_interface-curses__adb.htm#ref_1842_16">Txt</A></span>   : char_array;
-                        <span class="symbol"><A NAME="ref_1844_25" HREF="terminal_interface-curses__adb.htm#ref_1842_16">Fmt</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1842_16">Slk_Set</a></span> (<span class="symbol"><a name="ref_1842_25">Label</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+                        <span class="symbol"><a name="ref_1843_25">Txt</a></span>   : char_array;
+                        <span class="symbol"><a name="ref_1844_25">Fmt</a></span>   : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Slk_Set, "slk_set");
 
-      <span class="symbol"><A NAME="ref_1847_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1676_34">Text</A>'Length);
-      <span class="symbol"><A NAME="ref_1848_7">Len</A></span> : size_t;
+      <span class="symbol"><a name="ref_1847_7">Txt</a></span> : char_array (0 .. <a href="terminal_interface-curses__ads.htm#ref_1677_34">Text</a>'Length);
+      <span class="symbol"><a name="ref_1848_7">Len</a></span> : size_t;
    <b>begin</b>
-      To_C (<A HREF="terminal_interface-curses__ads.htm#ref_1676_34">Text</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1847_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1848_7">Len</A>);
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1842_16">Slk_Set</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1675_34">Label</A>), <A HREF="terminal_interface-curses__adb.htm#ref_1847_7">Txt</A>,
-                  <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1666_9">Label_Justification</A>'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1677_34">Fmt</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
+      To_C (<a href="terminal_interface-curses__ads.htm#ref_1677_34">Text</a>, <a href="terminal_interface-curses__adb.htm#ref_1847_7">Txt</a>, <a href="terminal_interface-curses__adb.htm#ref_1848_7">Len</a>);
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1842_16">Slk_Set</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1676_34">Label</a>), <a href="terminal_interface-curses__adb.htm#ref_1847_7">Txt</a>,
+                  <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1667_9">Label_Justification</a>'Pos (<a href="terminal_interface-curses__ads.htm#ref_1678_34">Fmt</a>))) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a>
       <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1675_14">Set_Soft_Label_Key</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1676_14">Set_Soft_Label_Key</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1858_14" HREF="terminal_interface-curses__ads.htm#ref_1682_14">Refresh_Soft_Label_Keys</A></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1858_14" href="terminal_interface-curses__ads.htm#ref_1683_14">Refresh_Soft_Label_Keys</a></span>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1860_16">Slk_Refresh</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1860_16">Slk_Refresh</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Slk_Refresh, "slk_refresh");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1860_16">Slk_Refresh</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1860_16">Slk_Refresh</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1682_14">Refresh_Soft_Label_Keys</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1683_14">Refresh_Soft_Label_Keys</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1868_14" HREF="terminal_interface-curses__ads.htm#ref_1687_14">Refresh_Soft_Label_Keys_Without_Update</A></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1868_14" href="terminal_interface-curses__ads.htm#ref_1688_14">Refresh_Soft_Label_Keys_Without_Update</a></span>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1870_16">Slk_Noutrefresh</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1870_16">Slk_Noutrefresh</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Slk_Noutrefresh, "slk_noutrefresh");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1870_16">Slk_Noutrefresh</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1870_16">Slk_Noutrefresh</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1687_14">Refresh_Soft_Label_Keys_Without_Update</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1688_14">Refresh_Soft_Label_Keys_Without_Update</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1878_14" HREF="terminal_interface-curses__ads.htm#ref_1692_14">Get_Soft_Label_Key</A></span> (<span class="symbol"><A NAME="ref_1878_34" HREF="terminal_interface-curses__ads.htm#ref_1692_34">Label</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1665_9">Label_Number</A>;
-                                 <span class="symbol"><A NAME="ref_1879_34" HREF="terminal_interface-curses__ads.htm#ref_1693_34">Text</A></span>  : <b>out</b> String)
+   <b>procedure</b> <span class="symbol"><a name="ref_1878_14" href="terminal_interface-curses__ads.htm#ref_1693_14">Get_Soft_Label_Key</a></span> (<span class="symbol"><a name="ref_1878_34" href="terminal_interface-curses__ads.htm#ref_1693_34">Label</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1666_9">Label_Number</a>;
+                                 <span class="symbol"><a name="ref_1879_34" href="terminal_interface-curses__ads.htm#ref_1694_34">Text</a></span>  : <b>out</b> String)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1881_16">Slk_Label</A></span> (<span class="symbol"><A NAME="ref_1881_27" HREF="terminal_interface-curses__adb.htm#ref_1881_16">Label</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> chars_ptr;
+      <b>function</b> <span class="symbol"><a name="ref_1881_16">Slk_Label</a></span> (<span class="symbol"><a name="ref_1881_27">Label</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> chars_ptr;
       <b>pragma</b> Import (C, Slk_Label, "slk_label");
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_92_14">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1881_16">Slk_Label</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1692_34">Label</A>)), <A HREF="terminal_interface-curses__ads.htm#ref_1693_34">Text</A>);
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1692_14">Get_Soft_Label_Key</A>;
+      <a href="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</a> (<a href="terminal_interface-curses__adb.htm#ref_1881_16">Slk_Label</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1693_34">Label</a>)), <a href="terminal_interface-curses__ads.htm#ref_1694_34">Text</a>);
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1693_14">Get_Soft_Label_Key</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_1887_13" HREF="terminal_interface-curses__ads.htm#ref_1697_13">Get_Soft_Label_Key</A></span> (<span class="symbol"><A NAME="ref_1887_33" HREF="terminal_interface-curses__ads.htm#ref_1697_33">Label</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1665_9">Label_Number</A>) <b>return</b> String
+   <b>function</b> <span class="symbol"><a name="ref_1887_13" href="terminal_interface-curses__ads.htm#ref_1698_13">Get_Soft_Label_Key</a></span> (<span class="symbol"><a name="ref_1887_33" href="terminal_interface-curses__ads.htm#ref_1698_33">Label</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1666_9">Label_Number</a>) <b>return</b> String
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1889_16">Slk_Label</A></span> (<span class="symbol"><A NAME="ref_1889_27" HREF="terminal_interface-curses__adb.htm#ref_1889_16">Label</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> chars_ptr;
+      <b>function</b> <span class="symbol"><a name="ref_1889_16">Slk_Label</a></span> (<span class="symbol"><a name="ref_1889_27">Label</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> chars_ptr;
       <b>pragma</b> Import (C, Slk_Label, "slk_label");
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_97_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1889_16">Slk_Label</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1697_33">Label</A>)));
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1697_13">Get_Soft_Label_Key</A>;
+      <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a> (<a href="terminal_interface-curses__adb.htm#ref_1889_16">Slk_Label</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1698_33">Label</a>)));
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1698_13">Get_Soft_Label_Key</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1895_14" HREF="terminal_interface-curses__ads.htm#ref_1703_14">Clear_Soft_Label_Keys</A></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1895_14" href="terminal_interface-curses__ads.htm#ref_1704_14">Clear_Soft_Label_Keys</a></span>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1897_16">Slk_Clear</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1897_16">Slk_Clear</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Slk_Clear, "slk_clear");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1897_16">Slk_Clear</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1897_16">Slk_Clear</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1703_14">Clear_Soft_Label_Keys</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1704_14">Clear_Soft_Label_Keys</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1905_14" HREF="terminal_interface-curses__ads.htm#ref_1708_14">Restore_Soft_Label_Keys</A></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1905_14" href="terminal_interface-curses__ads.htm#ref_1709_14">Restore_Soft_Label_Keys</a></span>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1907_16">Slk_Restore</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1907_16">Slk_Restore</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Slk_Restore, "slk_restore");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1907_16">Slk_Restore</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1907_16">Slk_Restore</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1708_14">Restore_Soft_Label_Keys</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1709_14">Restore_Soft_Label_Keys</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1915_14" HREF="terminal_interface-curses__ads.htm#ref_1713_14">Touch_Soft_Label_Keys</A></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1915_14" href="terminal_interface-curses__ads.htm#ref_1714_14">Touch_Soft_Label_Keys</a></span>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1917_16">Slk_Touch</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1917_16">Slk_Touch</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Slk_Touch, "slk_touch");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1917_16">Slk_Touch</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1917_16">Slk_Touch</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1713_14">Touch_Soft_Label_Keys</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1714_14">Touch_Soft_Label_Keys</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1925_14" HREF="terminal_interface-curses__ads.htm#ref_1718_14">Switch_Soft_Label_Key_Attributes</A></span>
-     (<span class="symbol"><A NAME="ref_1926_7" HREF="terminal_interface-curses__ads.htm#ref_1719_7">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>;
-      <span class="symbol"><A NAME="ref_1927_7" HREF="terminal_interface-curses__ads.htm#ref_1720_7">On</A></span>   : Boolean := True)
+   <b>procedure</b> <span class="symbol"><a name="ref_1925_14" href="terminal_interface-curses__ads.htm#ref_1719_14">Switch_Soft_Label_Key_Attributes</a></span>
+     (<span class="symbol"><a name="ref_1926_7" href="terminal_interface-curses__ads.htm#ref_1720_7">Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>;
+      <span class="symbol"><a name="ref_1927_7" href="terminal_interface-curses__ads.htm#ref_1721_7">On</a></span>   : Boolean := True)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1929_16">Slk_Attron</A></span> (<span class="symbol"><A NAME="ref_1929_28" HREF="terminal_interface-curses__adb.htm#ref_1929_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1929_16">Slk_Attron</a></span> (<span class="symbol"><a name="ref_1929_28">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Slk_Attron, "slk_attron");
-      <b>function</b> <span class="symbol"><A NAME="ref_1931_16">Slk_Attroff</A></span> (<span class="symbol"><A NAME="ref_1931_29" HREF="terminal_interface-curses__adb.htm#ref_1931_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1931_16">Slk_Attroff</a></span> (<span class="symbol"><a name="ref_1931_29">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Slk_Attroff, "slk_attroff");
 
-      <span class="symbol"><A NAME="ref_1934_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-      <span class="symbol"><A NAME="ref_1935_7">Ch</A></span>  : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A>    =&gt; Character'First,
-                                              <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>  =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_1719_7">Attr</A>,
-                                              <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First);
+      <span class="symbol"><a name="ref_1934_7">Err</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+      <span class="symbol"><a name="ref_1935_7">Ch</a></span>  : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := (<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a>    =&gt; Character'First,
+                                              <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>  =&gt; <a href="terminal_interface-curses__ads.htm#ref_1720_7">Attr</a>,
+                                              <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> =&gt; <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First);
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1720_7">On</A> <b>then</b>
-         <A HREF="terminal_interface-curses__adb.htm#ref_1934_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1929_16">Slk_Attron</A>  (<A HREF="terminal_interface-curses__adb.htm#ref_1935_7">Ch</A>);
+      <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_1721_7">On</a> <b>then</b>
+         <a href="terminal_interface-curses__adb.htm#ref_1934_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_1929_16">Slk_Attron</a>  (<a href="terminal_interface-curses__adb.htm#ref_1935_7">Ch</a>);
       <b>else</b>
-         <A HREF="terminal_interface-curses__adb.htm#ref_1934_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1931_16">Slk_Attroff</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1935_7">Ch</A>);
+         <a href="terminal_interface-curses__adb.htm#ref_1934_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_1931_16">Slk_Attroff</a> (<a href="terminal_interface-curses__adb.htm#ref_1935_7">Ch</a>);
       <b>end</b> <b>if</b>;
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1934_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1934_7">Err</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1718_14">Switch_Soft_Label_Key_Attributes</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1719_14">Switch_Soft_Label_Key_Attributes</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1949_14" HREF="terminal_interface-curses__ads.htm#ref_1726_14">Set_Soft_Label_Key_Attributes</A></span>
-     (<span class="symbol"><A NAME="ref_1950_7" HREF="terminal_interface-curses__ads.htm#ref_1727_7">Attr</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
-      <span class="symbol"><A NAME="ref_1951_7" HREF="terminal_interface-curses__ads.htm#ref_1728_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First)
+   <b>procedure</b> <span class="symbol"><a name="ref_1949_14" href="terminal_interface-curses__ads.htm#ref_1727_14">Set_Soft_Label_Key_Attributes</a></span>
+     (<span class="symbol"><a name="ref_1950_7" href="terminal_interface-curses__ads.htm#ref_1728_7">Attr</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>;
+      <span class="symbol"><a name="ref_1951_7" href="terminal_interface-curses__ads.htm#ref_1729_7">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1953_16">Slk_Attrset</A></span> (<span class="symbol"><A NAME="ref_1953_29" HREF="terminal_interface-curses__adb.htm#ref_1953_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1953_16">Slk_Attrset</a></span> (<span class="symbol"><a name="ref_1953_29">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Slk_Attrset, "slk_attrset");
 
-      <span class="symbol"><A NAME="ref_1956_7">Ch</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A>    =&gt; Character'First,
-                                             <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>  =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_1727_7">Attr</A>,
-                                             <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_1728_7">Color</A>);
+      <span class="symbol"><a name="ref_1956_7">Ch</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := (<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a>    =&gt; Character'First,
+                                             <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>  =&gt; <a href="terminal_interface-curses__ads.htm#ref_1728_7">Attr</a>,
+                                             <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> =&gt; <a href="terminal_interface-curses__ads.htm#ref_1729_7">Color</a>);
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1953_16">Slk_Attrset</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1956_7">Ch</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1953_16">Slk_Attrset</a> (<a href="terminal_interface-curses__adb.htm#ref_1956_7">Ch</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1726_14">Set_Soft_Label_Key_Attributes</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1727_14">Set_Soft_Label_Key_Attributes</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_1965_13" HREF="terminal_interface-curses__ads.htm#ref_1733_13">Get_Soft_Label_Key_Attributes</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>
+   <b>function</b> <span class="symbol"><a name="ref_1965_13" href="terminal_interface-curses__ads.htm#ref_1734_13">Get_Soft_Label_Key_Attributes</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1967_16">Slk_Attr</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1967_16">Slk_Attr</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
       <b>pragma</b> Import (C, Slk_Attr, "slk_attr");
 
-      <span class="symbol"><A NAME="ref_1970_7">Attr</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1967_16">Slk_Attr</A>;
+      <span class="symbol"><a name="ref_1970_7">Attr</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__adb.htm#ref_1967_16">Slk_Attr</a>;
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_1970_7">Attr</A>.<A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1733_13">Get_Soft_Label_Key_Attributes</A>;
+      <b>return</b> <a href="terminal_interface-curses__adb.htm#ref_1970_7">Attr</a>.<a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1734_13">Get_Soft_Label_Key_Attributes</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_1975_13" HREF="terminal_interface-curses__ads.htm#ref_1737_13">Get_Soft_Label_Key_Attributes</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>
+   <b>function</b> <span class="symbol"><a name="ref_1975_13" href="terminal_interface-curses__ads.htm#ref_1738_13">Get_Soft_Label_Key_Attributes</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1977_16">Slk_Attr</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1977_16">Slk_Attr</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
       <b>pragma</b> Import (C, Slk_Attr, "slk_attr");
 
-      <span class="symbol"><A NAME="ref_1980_7">Attr</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1977_16">Slk_Attr</A>;
+      <span class="symbol"><a name="ref_1980_7">Attr</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__adb.htm#ref_1977_16">Slk_Attr</a>;
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_1980_7">Attr</A>.<A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1737_13">Get_Soft_Label_Key_Attributes</A>;
+      <b>return</b> <a href="terminal_interface-curses__adb.htm#ref_1980_7">Attr</a>.<a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1738_13">Get_Soft_Label_Key_Attributes</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1985_14" HREF="terminal_interface-curses__ads.htm#ref_1742_14">Set_Soft_Label_Key_Color</A></span> (<span class="symbol"><A NAME="ref_1985_40" HREF="terminal_interface-curses__ads.htm#ref_1742_40">Pair</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_1985_14" href="terminal_interface-curses__ads.htm#ref_1743_14">Set_Soft_Label_Key_Color</a></span> (<span class="symbol"><a name="ref_1985_40" href="terminal_interface-curses__ads.htm#ref_1743_40">Pair</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1987_16">Slk_Color</A></span> (<span class="symbol"><A NAME="ref_1987_27" HREF="terminal_interface-curses__adb.htm#ref_1987_16">Color</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1987_16">Slk_Color</a></span> (<span class="symbol"><a name="ref_1987_27">Color</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Slk_Color, "slk_color");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1987_16">Slk_Color</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1742_40">Pair</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1987_16">Slk_Color</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__ads.htm#ref_1743_40">Pair</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1742_14">Set_Soft_Label_Key_Color</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1743_14">Set_Soft_Label_Key_Color</a>;
 
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1996_14" HREF="terminal_interface-curses__ads.htm#ref_1756_14">Enable_Key</A></span> (<span class="symbol"><A NAME="ref_1996_26" HREF="terminal_interface-curses__ads.htm#ref_1756_26">Key</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>;
-                         <span class="symbol"><A NAME="ref_1997_26" HREF="terminal_interface-curses__ads.htm#ref_1757_26">Enable</A></span> : Boolean := True)
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1996_14" href="terminal_interface-curses__ads.htm#ref_1757_14">Enable_Key</a></span> (<span class="symbol"><a name="ref_1996_26" href="terminal_interface-curses__ads.htm#ref_1757_26">Key</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>;
+                         <span class="symbol"><a name="ref_1997_26" href="terminal_interface-curses__ads.htm#ref_1758_26">Enable</a></span> : Boolean := True)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_1999_16">Keyok</A></span> (<span class="symbol"><A NAME="ref_1999_23" HREF="terminal_interface-curses__adb.htm#ref_1999_16">Keycode</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-                      <span class="symbol"><A NAME="ref_2000_23" HREF="terminal_interface-curses__adb.htm#ref_1999_16">On_Off</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_1999_16">Keyok</a></span> (<span class="symbol"><a name="ref_1999_23">Keycode</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+                      <span class="symbol"><a name="ref_2000_23">On_Off</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Keyok, "keyok");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1999_16">Keyok</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1756_26">Key</A>), <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1757_26">Enable</A>)))
-        = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1999_16">Keyok</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1757_26">Key</a>), <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_1758_26">Enable</a>)))
+        = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a>
       <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1756_14">Enable_Key</A>;
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_2010_14" HREF="terminal_interface-curses__ads.htm#ref_1766_14">Define_Key</A></span> (<span class="symbol"><A NAME="ref_2010_26" HREF="terminal_interface-curses__ads.htm#ref_1766_26">Definition</A></span> : String;
-                         <span class="symbol"><A NAME="ref_2011_26" HREF="terminal_interface-curses__ads.htm#ref_1767_26">Key</A></span>        : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>)
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1757_14">Enable_Key</a>;
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_2010_14" href="terminal_interface-curses__ads.htm#ref_1767_14">Define_Key</a></span> (<span class="symbol"><a name="ref_2010_26" href="terminal_interface-curses__ads.htm#ref_1767_26">Definition</a></span> : String;
+                         <span class="symbol"><a name="ref_2011_26" href="terminal_interface-curses__ads.htm#ref_1768_26">Key</a></span>        : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_2013_16">Defkey</A></span> (<span class="symbol"><A NAME="ref_2013_24" HREF="terminal_interface-curses__adb.htm#ref_2013_16">Def</A></span> : char_array;
-                       <span class="symbol"><A NAME="ref_2014_24" HREF="terminal_interface-curses__adb.htm#ref_2013_16">Key</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_2013_16">Defkey</a></span> (<span class="symbol"><a name="ref_2013_24">Def</a></span> : char_array;
+                       <span class="symbol"><a name="ref_2014_24">Key</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Defkey, "define_key");
 
-      <span class="symbol"><A NAME="ref_2017_7">Txt</A></span>    : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1766_26">Definition</A>'Length);
-      <span class="symbol"><A NAME="ref_2018_7">Length</A></span> : size_t;
+      <span class="symbol"><a name="ref_2017_7">Txt</a></span>    : char_array (0 .. <a href="terminal_interface-curses__ads.htm#ref_1767_26">Definition</a>'Length);
+      <span class="symbol"><a name="ref_2018_7">Length</a></span> : size_t;
    <b>begin</b>
-      To_C (<A HREF="terminal_interface-curses__ads.htm#ref_1766_26">Definition</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2017_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2018_7">Length</A>);
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2013_16">Defkey</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2017_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1767_26">Key</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      To_C (<a href="terminal_interface-curses__ads.htm#ref_1767_26">Definition</a>, <a href="terminal_interface-curses__adb.htm#ref_2017_7">Txt</a>, <a href="terminal_interface-curses__adb.htm#ref_2018_7">Length</a>);
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2013_16">Defkey</a> (<a href="terminal_interface-curses__adb.htm#ref_2017_7">Txt</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1768_26">Key</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1766_14">Define_Key</A>;
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_2026_14" HREF="terminal_interface-curses__ads.htm#ref_1792_14">Un_Control</A></span> (<span class="symbol"><A NAME="ref_2026_26" HREF="terminal_interface-curses__ads.htm#ref_1792_26">Ch</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
-                         <span class="symbol"><A NAME="ref_2027_26" HREF="terminal_interface-curses__ads.htm#ref_1793_26">Str</A></span> : <b>out</b> String)
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1767_14">Define_Key</a>;
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_2026_14" href="terminal_interface-curses__ads.htm#ref_1793_14">Un_Control</a></span> (<span class="symbol"><a name="ref_2026_26" href="terminal_interface-curses__ads.htm#ref_1793_26">Ch</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
+                         <span class="symbol"><a name="ref_2027_26" href="terminal_interface-curses__ads.htm#ref_1794_26">Str</a></span> : <b>out</b> String)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_2029_16">Unctrl</A></span> (<span class="symbol"><A NAME="ref_2029_24" HREF="terminal_interface-curses__adb.htm#ref_2029_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> chars_ptr;
+      <b>function</b> <span class="symbol"><a name="ref_2029_16">Unctrl</a></span> (<span class="symbol"><a name="ref_2029_24">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> chars_ptr;
       <b>pragma</b> Import (C, Unctrl, "unctrl");
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_92_14">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2029_16">Unctrl</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1792_26">Ch</A>), <A HREF="terminal_interface-curses__ads.htm#ref_1793_26">Str</A>);
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1792_14">Un_Control</A>;
+      <a href="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</a> (<a href="terminal_interface-curses__adb.htm#ref_2029_16">Unctrl</a> (<a href="terminal_interface-curses__ads.htm#ref_1793_26">Ch</a>), <a href="terminal_interface-curses__ads.htm#ref_1794_26">Str</a>);
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1793_14">Un_Control</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_2035_13" HREF="terminal_interface-curses__ads.htm#ref_1797_13">Un_Control</A></span> (<span class="symbol"><A NAME="ref_2035_25" HREF="terminal_interface-curses__ads.htm#ref_1797_25">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> String
+   <b>function</b> <span class="symbol"><a name="ref_2035_13" href="terminal_interface-curses__ads.htm#ref_1798_13">Un_Control</a></span> (<span class="symbol"><a name="ref_2035_25" href="terminal_interface-curses__ads.htm#ref_1798_25">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> String
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_2037_16">Unctrl</A></span> (<span class="symbol"><A NAME="ref_2037_24" HREF="terminal_interface-curses__adb.htm#ref_2037_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> chars_ptr;
+      <b>function</b> <span class="symbol"><a name="ref_2037_16">Unctrl</a></span> (<span class="symbol"><a name="ref_2037_24">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> chars_ptr;
       <b>pragma</b> Import (C, Unctrl, "unctrl");
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_97_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2037_16">Unctrl</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1797_25">Ch</A>));
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1797_13">Un_Control</A>;
+      <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a> (<a href="terminal_interface-curses__adb.htm#ref_2037_16">Unctrl</a> (<a href="terminal_interface-curses__ads.htm#ref_1798_25">Ch</a>));
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1798_13">Un_Control</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_2043_14" HREF="terminal_interface-curses__ads.htm#ref_1803_14">Delay_Output</A></span> (<span class="symbol"><A NAME="ref_2043_28" HREF="terminal_interface-curses__ads.htm#ref_1803_28">Msecs</A></span> : Natural)
+   <b>procedure</b> <span class="symbol"><a name="ref_2043_14" href="terminal_interface-curses__ads.htm#ref_1804_14">Delay_Output</a></span> (<span class="symbol"><a name="ref_2043_28" href="terminal_interface-curses__ads.htm#ref_1804_28">Msecs</a></span> : Natural)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_2045_16">Delayoutput</A></span> (<span class="symbol"><A NAME="ref_2045_29" HREF="terminal_interface-curses__adb.htm#ref_2045_16">Msecs</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_2045_16">Delayoutput</a></span> (<span class="symbol"><a name="ref_2045_29">Msecs</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Delayoutput, "delay_output");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2045_16">Delayoutput</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1803_28">Msecs</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2045_16">Delayoutput</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1804_28">Msecs</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1803_14">Delay_Output</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1804_14">Delay_Output</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_2053_14" HREF="terminal_interface-curses__ads.htm#ref_1808_14">Flush_Input</A></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_2053_14" href="terminal_interface-curses__ads.htm#ref_1809_14">Flush_Input</a></span>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_2055_16">Flushinp</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_2055_16">Flushinp</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Flushinp, "flushinp");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2055_16">Flushinp</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>  <span class="comment"><EM>-- docu says that never happens, but...</EM></span>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2055_16">Flushinp</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>  <span class="comment"><em>-- docu says that never happens, but...</em></span>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1808_14">Flush_Input</A>;
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_2063_13" HREF="terminal_interface-curses__ads.htm#ref_1817_13">Baudrate</A></span> <b>return</b> Natural
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1809_14">Flush_Input</a>;
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_2063_13" href="terminal_interface-curses__ads.htm#ref_1818_13">Baudrate</a></span> <b>return</b> Natural
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_2065_16">Baud</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_2065_16">Baud</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Baud, "baudrate");
    <b>begin</b>
-      <b>return</b> Natural (<A HREF="terminal_interface-curses__adb.htm#ref_2065_16">Baud</A>);
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1817_13">Baudrate</A>;
+      <b>return</b> Natural (<a href="terminal_interface-curses__adb.htm#ref_2065_16">Baud</a>);
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1818_13">Baudrate</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_2071_13" HREF="terminal_interface-curses__ads.htm#ref_1822_13">Erase_Character</A></span> <b>return</b> Character
+   <b>function</b> <span class="symbol"><a name="ref_2071_13" href="terminal_interface-curses__ads.htm#ref_1823_13">Erase_Character</a></span> <b>return</b> Character
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_2073_16">Erasechar</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_2073_16">Erasechar</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Erasechar, "erasechar");
    <b>begin</b>
-      <b>return</b> Character'Val (<A HREF="terminal_interface-curses__adb.htm#ref_2073_16">Erasechar</A>);
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1822_13">Erase_Character</A>;
+      <b>return</b> Character'Val (<a href="terminal_interface-curses__adb.htm#ref_2073_16">Erasechar</a>);
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1823_13">Erase_Character</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_2079_13" HREF="terminal_interface-curses__ads.htm#ref_1827_13">Kill_Character</A></span> <b>return</b> Character
+   <b>function</b> <span class="symbol"><a name="ref_2079_13" href="terminal_interface-curses__ads.htm#ref_1828_13">Kill_Character</a></span> <b>return</b> Character
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_2081_16">Killchar</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_2081_16">Killchar</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Killchar, "killchar");
    <b>begin</b>
-      <b>return</b> Character'Val (<A HREF="terminal_interface-curses__adb.htm#ref_2081_16">Killchar</A>);
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1827_13">Kill_Character</A>;
+      <b>return</b> Character'Val (<a href="terminal_interface-curses__adb.htm#ref_2081_16">Killchar</a>);
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1828_13">Kill_Character</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_2087_13" HREF="terminal_interface-curses__ads.htm#ref_1832_13">Has_Insert_Character</A></span> <b>return</b> Boolean
+   <b>function</b> <span class="symbol"><a name="ref_2087_13" href="terminal_interface-curses__ads.htm#ref_1833_13">Has_Insert_Character</a></span> <b>return</b> Boolean
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_2089_16">Has_Ic</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
+      <b>function</b> <span class="symbol"><a name="ref_2089_16">Has_Ic</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>;
       <b>pragma</b> Import (C, Has_Ic, "has_ic");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2089_16">Has_Ic</A> = <A HREF="terminal_interface-curses__ads.htm#ref_2100_4">Curses_Bool_False</A> <b>then</b>
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2089_16">Has_Ic</a> = <a href="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</a> <b>then</b>
          <b>return</b> False;
       <b>else</b>
          <b>return</b> True;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1832_13">Has_Insert_Character</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1833_13">Has_Insert_Character</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_2099_13" HREF="terminal_interface-curses__ads.htm#ref_1837_13">Has_Insert_Line</A></span> <b>return</b> Boolean
+   <b>function</b> <span class="symbol"><a name="ref_2099_13" href="terminal_interface-curses__ads.htm#ref_1838_13">Has_Insert_Line</a></span> <b>return</b> Boolean
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_2101_16">Has_Il</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
+      <b>function</b> <span class="symbol"><a name="ref_2101_16">Has_Il</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>;
       <b>pragma</b> Import (C, Has_Il, "has_il");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2101_16">Has_Il</A> = <A HREF="terminal_interface-curses__ads.htm#ref_2100_4">Curses_Bool_False</A> <b>then</b>
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2101_16">Has_Il</a> = <a href="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</a> <b>then</b>
          <b>return</b> False;
       <b>else</b>
          <b>return</b> True;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1837_13">Has_Insert_Line</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1838_13">Has_Insert_Line</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_2111_13" HREF="terminal_interface-curses__ads.htm#ref_1842_13">Supported_Attributes</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>
+   <b>function</b> <span class="symbol"><a name="ref_2111_13" href="terminal_interface-curses__ads.htm#ref_1843_13">Supported_Attributes</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_2113_16">Termattrs</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
+      <b>function</b> <span class="symbol"><a name="ref_2113_16">Termattrs</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
       <b>pragma</b> Import (C, Termattrs, "termattrs");
 
-      <span class="symbol"><A NAME="ref_2116_7">Ch</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2113_16">Termattrs</A>;
+      <span class="symbol"><a name="ref_2116_7">Ch</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__adb.htm#ref_2113_16">Termattrs</a>;
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_2116_7">Ch</A>.<A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1842_13">Supported_Attributes</A>;
+      <b>return</b> <a href="terminal_interface-curses__adb.htm#ref_2116_7">Ch</a>.<a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1843_13">Supported_Attributes</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_2121_14" HREF="terminal_interface-curses__ads.htm#ref_1847_14">Long_Name</A></span> (<span class="symbol"><A NAME="ref_2121_25" HREF="terminal_interface-curses__ads.htm#ref_1847_25">Name</A></span> : <b>out</b> String)
+   <b>procedure</b> <span class="symbol"><a name="ref_2121_14" href="terminal_interface-curses__ads.htm#ref_1848_14">Long_Name</a></span> (<span class="symbol"><a name="ref_2121_25" href="terminal_interface-curses__ads.htm#ref_1848_25">Name</a></span> : <b>out</b> String)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_2123_16">Longname</A></span> <b>return</b> chars_ptr;
+      <b>function</b> <span class="symbol"><a name="ref_2123_16">Longname</a></span> <b>return</b> chars_ptr;
       <b>pragma</b> Import (C, Longname, "longname");
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_92_14">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2123_16">Longname</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1847_25">Name</A>);
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1847_14">Long_Name</A>;
+      <a href="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</a> (<a href="terminal_interface-curses__adb.htm#ref_2123_16">Longname</a>, <a href="terminal_interface-curses__ads.htm#ref_1848_25">Name</a>);
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1848_14">Long_Name</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_2129_13" HREF="terminal_interface-curses__ads.htm#ref_1851_13">Long_Name</A></span> <b>return</b> String
+   <b>function</b> <span class="symbol"><a name="ref_2129_13" href="terminal_interface-curses__ads.htm#ref_1852_13">Long_Name</a></span> <b>return</b> String
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_2131_16">Longname</A></span> <b>return</b> chars_ptr;
+      <b>function</b> <span class="symbol"><a name="ref_2131_16">Longname</a></span> <b>return</b> chars_ptr;
       <b>pragma</b> Import (C, Longname, "longname");
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_97_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2131_16">Longname</A>);
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1851_13">Long_Name</A>;
+      <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a> (<a href="terminal_interface-curses__adb.htm#ref_2131_16">Longname</a>);
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1852_13">Long_Name</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_2137_14" HREF="terminal_interface-curses__ads.htm#ref_1857_14">Terminal_Name</A></span> (<span class="symbol"><A NAME="ref_2137_29" HREF="terminal_interface-curses__ads.htm#ref_1857_29">Name</A></span> : <b>out</b> String)
+   <b>procedure</b> <span class="symbol"><a name="ref_2137_14" href="terminal_interface-curses__ads.htm#ref_1858_14">Terminal_Name</a></span> (<span class="symbol"><a name="ref_2137_29" href="terminal_interface-curses__ads.htm#ref_1858_29">Name</a></span> : <b>out</b> String)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_2139_16">Termname</A></span> <b>return</b> chars_ptr;
+      <b>function</b> <span class="symbol"><a name="ref_2139_16">Termname</a></span> <b>return</b> chars_ptr;
       <b>pragma</b> Import (C, Termname, "termname");
    <b>begin</b>
-      <A HREF="terminal_interface-curses-aux__ads.htm#ref_92_14">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2139_16">Termname</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1857_29">Name</A>);
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1857_14">Terminal_Name</A>;
+      <a href="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</a> (<a href="terminal_interface-curses__adb.htm#ref_2139_16">Termname</a>, <a href="terminal_interface-curses__ads.htm#ref_1858_29">Name</a>);
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1858_14">Terminal_Name</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_2145_13" HREF="terminal_interface-curses__ads.htm#ref_1861_13">Terminal_Name</A></span> <b>return</b> String
+   <b>function</b> <span class="symbol"><a name="ref_2145_13" href="terminal_interface-curses__ads.htm#ref_1862_13">Terminal_Name</a></span> <b>return</b> String
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_2147_16">Termname</A></span> <b>return</b> chars_ptr;
+      <b>function</b> <span class="symbol"><a name="ref_2147_16">Termname</a></span> <b>return</b> chars_ptr;
       <b>pragma</b> Import (C, Termname, "termname");
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_97_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2147_16">Termname</A>);
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1861_13">Terminal_Name</A>;
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_2153_14" HREF="terminal_interface-curses__ads.htm#ref_1882_14">Init_Pair</A></span> (<span class="symbol"><A NAME="ref_2153_25" HREF="terminal_interface-curses__ads.htm#ref_1882_25">Pair</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_411_12">Redefinable_Color_Pair</A>;
-                        <span class="symbol"><A NAME="ref_2154_25" HREF="terminal_interface-curses__ads.htm#ref_1883_25">Fore</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A>;
-                        <span class="symbol"><A NAME="ref_2155_25" HREF="terminal_interface-curses__ads.htm#ref_1884_25">Back</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A>)
+      <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a> (<a href="terminal_interface-curses__adb.htm#ref_2147_16">Termname</a>);
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1862_13">Terminal_Name</a>;
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_2153_14" href="terminal_interface-curses__ads.htm#ref_1883_14">Init_Pair</a></span> (<span class="symbol"><a name="ref_2153_25" href="terminal_interface-curses__ads.htm#ref_1883_25">Pair</a></span> : <a href="terminal_interface-curses__ads.htm#ref_412_12">Redefinable_Color_Pair</a>;
+                        <span class="symbol"><a name="ref_2154_25" href="terminal_interface-curses__ads.htm#ref_1884_25">Fore</a></span> : <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a>;
+                        <span class="symbol"><a name="ref_2155_25" href="terminal_interface-curses__ads.htm#ref_1885_25">Back</a></span> : <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_2157_16">Initpair</A></span> (<span class="symbol"><A NAME="ref_2157_26" HREF="terminal_interface-curses__adb.htm#ref_2157_16">Pair</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>;
-                         <span class="symbol"><A NAME="ref_2158_26" HREF="terminal_interface-curses__adb.htm#ref_2157_16">Fore</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>;
-                         <span class="symbol"><A NAME="ref_2159_26" HREF="terminal_interface-curses__adb.htm#ref_2157_16">Back</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_2157_16">Initpair</a></span> (<span class="symbol"><a name="ref_2157_26">Pair</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>;
+                         <span class="symbol"><a name="ref_2158_26">Fore</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>;
+                         <span class="symbol"><a name="ref_2159_26">Back</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Initpair, "init_pair");
    <b>begin</b>
-      <b>if</b> Integer (<A HREF="terminal_interface-curses__ads.htm#ref_1882_25">Pair</A>) &gt;= <A HREF="terminal_interface-curses__ads.htm#ref_562_13">Number_Of_Color_Pairs</A> <b>then</b>
+      <b>if</b> Integer (<a href="terminal_interface-curses__ads.htm#ref_1883_25">Pair</a>) &gt;= <a href="terminal_interface-curses__ads.htm#ref_563_13">Number_Of_Color_Pairs</a> <b>then</b>
          <b>raise</b> Constraint_Error;
       <b>end</b> <b>if</b>;
-      <b>if</b> Integer (<A HREF="terminal_interface-curses__ads.htm#ref_1883_25">Fore</A>) &gt;= <A HREF="terminal_interface-curses__ads.htm#ref_559_13">Number_Of_Colors</A> <b>or</b> <b>else</b>
-         Integer (<A HREF="terminal_interface-curses__ads.htm#ref_1884_25">Back</A>) &gt;= <A HREF="terminal_interface-curses__ads.htm#ref_559_13">Number_Of_Colors</A>
+      <b>if</b> Integer (<a href="terminal_interface-curses__ads.htm#ref_1884_25">Fore</a>) &gt;= <a href="terminal_interface-curses__ads.htm#ref_560_13">Number_Of_Colors</a> <b>or</b> <b>else</b>
+         Integer (<a href="terminal_interface-curses__ads.htm#ref_1885_25">Back</a>) &gt;= <a href="terminal_interface-curses__ads.htm#ref_560_13">Number_Of_Colors</a>
       <b>then</b>
          <b>raise</b> Constraint_Error;
       <b>end</b> <b>if</b>;
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2157_16">Initpair</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1882_25">Pair</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1883_25">Fore</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1884_25">Back</A>))
-        = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2157_16">Initpair</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__ads.htm#ref_1883_25">Pair</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__ads.htm#ref_1884_25">Fore</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__ads.htm#ref_1885_25">Back</a>))
+        = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a>
       <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1882_14">Init_Pair</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1883_14">Init_Pair</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_2177_14" HREF="terminal_interface-curses__ads.htm#ref_1889_14">Pair_Content</A></span> (<span class="symbol"><A NAME="ref_2177_28" HREF="terminal_interface-curses__ads.htm#ref_1889_28">Pair</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>;
-                           <span class="symbol"><A NAME="ref_2178_28" HREF="terminal_interface-curses__ads.htm#ref_1890_28">Fore</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A>;
-                           <span class="symbol"><A NAME="ref_2179_28" HREF="terminal_interface-curses__ads.htm#ref_1891_28">Back</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_2177_14" href="terminal_interface-curses__ads.htm#ref_1890_14">Pair_Content</a></span> (<span class="symbol"><a name="ref_2177_28" href="terminal_interface-curses__ads.htm#ref_1890_28">Pair</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>;
+                           <span class="symbol"><a name="ref_2178_28" href="terminal_interface-curses__ads.htm#ref_1891_28">Fore</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a>;
+                           <span class="symbol"><a name="ref_2179_28" href="terminal_interface-curses__ads.htm#ref_1892_28">Back</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a>)
    <b>is</b>
-      <b>type</b> <span class="symbol"><A NAME="ref_2181_12">C_Short_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>;
-      <b>function</b> <span class="symbol"><A NAME="ref_2182_16">Paircontent</A></span> (<span class="symbol"><A NAME="ref_2182_29" HREF="terminal_interface-curses__adb.htm#ref_2182_16">Pair</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>;
-                            <span class="symbol"><A NAME="ref_2183_29" HREF="terminal_interface-curses__adb.htm#ref_2182_16">Fp</A></span>   : <A HREF="terminal_interface-curses__adb.htm#ref_2181_12">C_Short_Access</A>;
-                            <span class="symbol"><A NAME="ref_2184_29" HREF="terminal_interface-curses__adb.htm#ref_2182_16">Bp</A></span>   : <A HREF="terminal_interface-curses__adb.htm#ref_2181_12">C_Short_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>type</b> <span class="symbol"><a name="ref_2181_12">C_Short_Access</a></span> <b>is</b> <b>access</b> <b>all</b> <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>;
+      <b>function</b> <span class="symbol"><a name="ref_2182_16">Paircontent</a></span> (<span class="symbol"><a name="ref_2182_29">Pair</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>;
+                            <span class="symbol"><a name="ref_2183_29">Fp</a></span>   : <a href="terminal_interface-curses__adb.htm#ref_2181_12">C_Short_Access</a>;
+                            <span class="symbol"><a name="ref_2184_29">Bp</a></span>   : <a href="terminal_interface-curses__adb.htm#ref_2181_12">C_Short_Access</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Paircontent, "pair_content");
 
-      <span class="symbol"><A NAME="ref_2187_7">F</A></span>, <span class="symbol"><A NAME="ref_2187_10">B</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>;
+      <span class="symbol"><a name="ref_2187_7">F</a></span>, <span class="symbol"><a name="ref_2187_10">B</a></span> : <b>aliased</b> <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>;
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2182_16">Paircontent</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1889_28">Pair</A>), <A HREF="terminal_interface-curses__adb.htm#ref_2187_7">F</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_2187_10">B</A>'<b>Access</b>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2182_16">Paircontent</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__ads.htm#ref_1890_28">Pair</a>), <a href="terminal_interface-curses__adb.htm#ref_2187_7">F</a>'<b>Access</b>, <a href="terminal_interface-curses__adb.htm#ref_2187_10">B</a>'<b>Access</b>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>else</b>
-         <A HREF="terminal_interface-curses__ads.htm#ref_1890_28">Fore</A> := <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2187_7">F</A>);
-         <A HREF="terminal_interface-curses__ads.htm#ref_1891_28">Back</A> := <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2187_10">B</A>);
+         <a href="terminal_interface-curses__ads.htm#ref_1891_28">Fore</a> := <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a> (<a href="terminal_interface-curses__adb.htm#ref_2187_7">F</a>);
+         <a href="terminal_interface-curses__ads.htm#ref_1892_28">Back</a> := <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a> (<a href="terminal_interface-curses__adb.htm#ref_2187_10">B</a>);
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1889_14">Pair_Content</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1890_14">Pair_Content</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_2197_13" HREF="terminal_interface-curses__ads.htm#ref_1896_13">Has_Colors</A></span> <b>return</b> Boolean
+   <b>function</b> <span class="symbol"><a name="ref_2197_13" href="terminal_interface-curses__ads.htm#ref_1897_13">Has_Colors</a></span> <b>return</b> Boolean
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_2199_16">Hascolors</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
+      <b>function</b> <span class="symbol"><a name="ref_2199_16">Hascolors</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>;
       <b>pragma</b> Import (C, Hascolors, "has_colors");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2199_16">Hascolors</A> = <A HREF="terminal_interface-curses__ads.htm#ref_2100_4">Curses_Bool_False</A> <b>then</b>
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2199_16">Hascolors</a> = <a href="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</a> <b>then</b>
          <b>return</b> False;
       <b>else</b>
          <b>return</b> True;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1896_13">Has_Colors</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1897_13">Has_Colors</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_2209_14" HREF="terminal_interface-curses__ads.htm#ref_1901_14">Init_Color</A></span> (<span class="symbol"><A NAME="ref_2209_26" HREF="terminal_interface-curses__ads.htm#ref_1901_26">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A>;
-                         <span class="symbol"><A NAME="ref_2210_26" HREF="terminal_interface-curses__ads.htm#ref_1902_26">Red</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_405_9">RGB_Value</A>;
-                         <span class="symbol"><A NAME="ref_2211_26" HREF="terminal_interface-curses__ads.htm#ref_1903_26">Green</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_405_9">RGB_Value</A>;
-                         <span class="symbol"><A NAME="ref_2212_26" HREF="terminal_interface-curses__ads.htm#ref_1904_26">Blue</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_405_9">RGB_Value</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_2209_14" href="terminal_interface-curses__ads.htm#ref_1902_14">Init_Color</a></span> (<span class="symbol"><a name="ref_2209_26" href="terminal_interface-curses__ads.htm#ref_1902_26">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a>;
+                         <span class="symbol"><a name="ref_2210_26" href="terminal_interface-curses__ads.htm#ref_1903_26">Red</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</a>;
+                         <span class="symbol"><a name="ref_2211_26" href="terminal_interface-curses__ads.htm#ref_1904_26">Green</a></span> : <a href="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</a>;
+                         <span class="symbol"><a name="ref_2212_26" href="terminal_interface-curses__ads.htm#ref_1905_26">Blue</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_2214_16">Initcolor</A></span> (<span class="symbol"><A NAME="ref_2214_27" HREF="terminal_interface-curses__adb.htm#ref_2214_16">Col</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>;
-                          <span class="symbol"><A NAME="ref_2215_27" HREF="terminal_interface-curses__adb.htm#ref_2214_16">Red</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>;
-                          <span class="symbol"><A NAME="ref_2216_27" HREF="terminal_interface-curses__adb.htm#ref_2214_16">Green</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>;
-                          <span class="symbol"><A NAME="ref_2217_27" HREF="terminal_interface-curses__adb.htm#ref_2214_16">Blue</A></span>  : <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_2214_16">Initcolor</a></span> (<span class="symbol"><a name="ref_2214_27">Col</a></span>   : <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>;
+                          <span class="symbol"><a name="ref_2215_27">Red</a></span>   : <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>;
+                          <span class="symbol"><a name="ref_2216_27">Green</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>;
+                          <span class="symbol"><a name="ref_2217_27">Blue</a></span>  : <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Initcolor, "init_color");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2214_16">Initcolor</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1901_26">Color</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1902_26">Red</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1903_26">Green</A>),
-                    <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1904_26">Blue</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2214_16">Initcolor</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__ads.htm#ref_1902_26">Color</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__ads.htm#ref_1903_26">Red</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__ads.htm#ref_1904_26">Green</a>),
+                    <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__ads.htm#ref_1905_26">Blue</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a>
       <b>then</b>
-            <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+            <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1901_14">Init_Color</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1902_14">Init_Color</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_2227_13" HREF="terminal_interface-curses__ads.htm#ref_1909_13">Can_Change_Color</A></span> <b>return</b> Boolean
+   <b>function</b> <span class="symbol"><a name="ref_2227_13" href="terminal_interface-curses__ads.htm#ref_1910_13">Can_Change_Color</a></span> <b>return</b> Boolean
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_2229_16">Canchangecolor</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
+      <b>function</b> <span class="symbol"><a name="ref_2229_16">Canchangecolor</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>;
       <b>pragma</b> Import (C, Canchangecolor, "can_change_color");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2229_16">Canchangecolor</A> = <A HREF="terminal_interface-curses__ads.htm#ref_2100_4">Curses_Bool_False</A> <b>then</b>
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2229_16">Canchangecolor</a> = <a href="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</a> <b>then</b>
          <b>return</b> False;
       <b>else</b>
          <b>return</b> True;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1909_13">Can_Change_Color</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1910_13">Can_Change_Color</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_2239_14" HREF="terminal_interface-curses__ads.htm#ref_1914_14">Color_Content</A></span> (<span class="symbol"><A NAME="ref_2239_29" HREF="terminal_interface-curses__ads.htm#ref_1914_29">Color</A></span> :  <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A>;
-                            <span class="symbol"><A NAME="ref_2240_29" HREF="terminal_interface-curses__ads.htm#ref_1915_29">Red</A></span>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_405_9">RGB_Value</A>;
-                            <span class="symbol"><A NAME="ref_2241_29" HREF="terminal_interface-curses__ads.htm#ref_1916_29">Green</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_405_9">RGB_Value</A>;
-                            <span class="symbol"><A NAME="ref_2242_29" HREF="terminal_interface-curses__ads.htm#ref_1917_29">Blue</A></span>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_405_9">RGB_Value</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_2239_14" href="terminal_interface-curses__ads.htm#ref_1915_14">Color_Content</a></span> (<span class="symbol"><a name="ref_2239_29" href="terminal_interface-curses__ads.htm#ref_1915_29">Color</a></span> :  <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a>;
+                            <span class="symbol"><a name="ref_2240_29" href="terminal_interface-curses__ads.htm#ref_1916_29">Red</a></span>   : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</a>;
+                            <span class="symbol"><a name="ref_2241_29" href="terminal_interface-curses__ads.htm#ref_1917_29">Green</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</a>;
+                            <span class="symbol"><a name="ref_2242_29" href="terminal_interface-curses__ads.htm#ref_1918_29">Blue</a></span>  : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</a>)
    <b>is</b>
-      <b>type</b> <span class="symbol"><A NAME="ref_2244_12">C_Short_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>;
+      <b>type</b> <span class="symbol"><a name="ref_2244_12">C_Short_Access</a></span> <b>is</b> <b>access</b> <b>all</b> <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>;
 
-      <b>function</b> <span class="symbol"><A NAME="ref_2246_16">Colorcontent</A></span> (<span class="symbol"><A NAME="ref_2246_30" HREF="terminal_interface-curses__adb.htm#ref_2246_16">Color</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>; <span class="symbol"><A NAME="ref_2246_47" HREF="terminal_interface-curses__adb.htm#ref_2246_16">R</A></span>, <span class="symbol"><A NAME="ref_2246_50" HREF="terminal_interface-curses__adb.htm#ref_2246_16">G</A></span>, <span class="symbol"><A NAME="ref_2246_53" HREF="terminal_interface-curses__adb.htm#ref_2246_16">B</A></span> : <A HREF="terminal_interface-curses__adb.htm#ref_2244_12">C_Short_Access</A>)
-                             <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_2246_16">Colorcontent</a></span> (<span class="symbol"><a name="ref_2246_30">Color</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>; <span class="symbol"><a name="ref_2246_47">R</a></span>, <span class="symbol"><a name="ref_2246_50">G</a></span>, <span class="symbol"><a name="ref_2246_53">B</a></span> : <a href="terminal_interface-curses__adb.htm#ref_2244_12">C_Short_Access</a>)
+                             <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Colorcontent, "color_content");
 
-      <span class="symbol"><A NAME="ref_2250_7">R</A></span>, <span class="symbol"><A NAME="ref_2250_10">G</A></span>, <span class="symbol"><A NAME="ref_2250_13">B</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>;
+      <span class="symbol"><a name="ref_2250_7">R</a></span>, <span class="symbol"><a name="ref_2250_10">G</a></span>, <span class="symbol"><a name="ref_2250_13">B</a></span> : <b>aliased</b> <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>;
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2246_16">Colorcontent</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1914_29">Color</A>), <A HREF="terminal_interface-curses__adb.htm#ref_2250_7">R</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_2250_10">G</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_2250_13">B</A>'<b>Access</b>) =
-        <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2246_16">Colorcontent</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__ads.htm#ref_1915_29">Color</a>), <a href="terminal_interface-curses__adb.htm#ref_2250_7">R</a>'<b>Access</b>, <a href="terminal_interface-curses__adb.htm#ref_2250_10">G</a>'<b>Access</b>, <a href="terminal_interface-curses__adb.htm#ref_2250_13">B</a>'<b>Access</b>) =
+        <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a>
       <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>else</b>
-         <A HREF="terminal_interface-curses__ads.htm#ref_1915_29">Red</A>   := <A HREF="terminal_interface-curses__ads.htm#ref_405_9">RGB_Value</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2250_7">R</A>);
-         <A HREF="terminal_interface-curses__ads.htm#ref_1916_29">Green</A> := <A HREF="terminal_interface-curses__ads.htm#ref_405_9">RGB_Value</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2250_10">G</A>);
-         <A HREF="terminal_interface-curses__ads.htm#ref_1917_29">Blue</A>  := <A HREF="terminal_interface-curses__ads.htm#ref_405_9">RGB_Value</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2250_13">B</A>);
+         <a href="terminal_interface-curses__ads.htm#ref_1916_29">Red</a>   := <a href="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</a> (<a href="terminal_interface-curses__adb.htm#ref_2250_7">R</a>);
+         <a href="terminal_interface-curses__ads.htm#ref_1917_29">Green</a> := <a href="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</a> (<a href="terminal_interface-curses__adb.htm#ref_2250_10">G</a>);
+         <a href="terminal_interface-curses__ads.htm#ref_1918_29">Blue</a>  := <a href="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</a> (<a href="terminal_interface-curses__adb.htm#ref_2250_13">B</a>);
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1914_14">Color_Content</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1915_14">Color_Content</a>;
 
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_2264_14" HREF="terminal_interface-curses__ads.htm#ref_1929_14">Save_Curses_Mode</A></span> (<span class="symbol"><A NAME="ref_2264_32" HREF="terminal_interface-curses__ads.htm#ref_1929_32">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1926_9">Curses_Mode</A>)
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_2264_14" href="terminal_interface-curses__ads.htm#ref_1930_14">Save_Curses_Mode</a></span> (<span class="symbol"><a name="ref_2264_32" href="terminal_interface-curses__ads.htm#ref_1930_32">Mode</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1927_9">Curses_Mode</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_2266_16">Def_Prog_Mode</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_2266_16">Def_Prog_Mode</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Def_Prog_Mode, "def_prog_mode");
-      <b>function</b> <span class="symbol"><A NAME="ref_2268_16">Def_Shell_Mode</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_2268_16">Def_Shell_Mode</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Def_Shell_Mode, "def_shell_mode");
 
-      <span class="symbol"><A NAME="ref_2271_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <span class="symbol"><a name="ref_2271_7">Err</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
    <b>begin</b>
-      <b>case</b> <A HREF="terminal_interface-curses__ads.htm#ref_1929_32">Mode</A> <b>is</b>
-         <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_1926_25">Curses</A> =&gt; <A HREF="terminal_interface-curses__adb.htm#ref_2271_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2266_16">Def_Prog_Mode</A>;
-         <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_1926_33">Shell</A>  =&gt; <A HREF="terminal_interface-curses__adb.htm#ref_2271_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2268_16">Def_Shell_Mode</A>;
+      <b>case</b> <a href="terminal_interface-curses__ads.htm#ref_1930_32">Mode</a> <b>is</b>
+         <b>when</b> <a href="terminal_interface-curses__ads.htm#ref_1927_25">Curses</a> =&gt; <a href="terminal_interface-curses__adb.htm#ref_2271_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_2266_16">Def_Prog_Mode</a>;
+         <b>when</b> <a href="terminal_interface-curses__ads.htm#ref_1927_33">Shell</a>  =&gt; <a href="terminal_interface-curses__adb.htm#ref_2271_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_2268_16">Def_Shell_Mode</a>;
       <b>end</b> <b>case</b>;
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2271_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2271_7">Err</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1929_14">Save_Curses_Mode</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1930_14">Save_Curses_Mode</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_2282_14" HREF="terminal_interface-curses__ads.htm#ref_1935_14">Reset_Curses_Mode</A></span> (<span class="symbol"><A NAME="ref_2282_33" HREF="terminal_interface-curses__ads.htm#ref_1935_33">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1926_9">Curses_Mode</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_2282_14" href="terminal_interface-curses__ads.htm#ref_1936_14">Reset_Curses_Mode</a></span> (<span class="symbol"><a name="ref_2282_33" href="terminal_interface-curses__ads.htm#ref_1936_33">Mode</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1927_9">Curses_Mode</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_2284_16">Reset_Prog_Mode</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_2284_16">Reset_Prog_Mode</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Reset_Prog_Mode, "reset_prog_mode");
-      <b>function</b> <span class="symbol"><A NAME="ref_2286_16">Reset_Shell_Mode</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_2286_16">Reset_Shell_Mode</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Reset_Shell_Mode, "reset_shell_mode");
 
-      <span class="symbol"><A NAME="ref_2289_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <span class="symbol"><a name="ref_2289_7">Err</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
    <b>begin</b>
-      <b>case</b> <A HREF="terminal_interface-curses__ads.htm#ref_1935_33">Mode</A> <b>is</b>
-         <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_1926_25">Curses</A> =&gt; <A HREF="terminal_interface-curses__adb.htm#ref_2289_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2284_16">Reset_Prog_Mode</A>;
-         <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_1926_33">Shell</A>  =&gt; <A HREF="terminal_interface-curses__adb.htm#ref_2289_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2286_16">Reset_Shell_Mode</A>;
+      <b>case</b> <a href="terminal_interface-curses__ads.htm#ref_1936_33">Mode</a> <b>is</b>
+         <b>when</b> <a href="terminal_interface-curses__ads.htm#ref_1927_25">Curses</a> =&gt; <a href="terminal_interface-curses__adb.htm#ref_2289_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_2284_16">Reset_Prog_Mode</a>;
+         <b>when</b> <a href="terminal_interface-curses__ads.htm#ref_1927_33">Shell</a>  =&gt; <a href="terminal_interface-curses__adb.htm#ref_2289_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_2286_16">Reset_Shell_Mode</a>;
       <b>end</b> <b>case</b>;
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2289_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2289_7">Err</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1935_14">Reset_Curses_Mode</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1936_14">Reset_Curses_Mode</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_2300_14" HREF="terminal_interface-curses__ads.htm#ref_1941_14">Save_Terminal_State</A></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_2300_14" href="terminal_interface-curses__ads.htm#ref_1942_14">Save_Terminal_State</a></span>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_2302_16">Savetty</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_2302_16">Savetty</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Savetty, "savetty");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2302_16">Savetty</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2302_16">Savetty</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1941_14">Save_Terminal_State</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1942_14">Save_Terminal_State</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_2310_14" HREF="terminal_interface-curses__ads.htm#ref_1946_14">Reset_Terminal_State</A></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_2310_14" href="terminal_interface-curses__ads.htm#ref_1947_14">Reset_Terminal_State</a></span>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_2312_16">Resetty</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_2312_16">Resetty</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Resetty, "resetty");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2312_16">Resetty</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2312_16">Resetty</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1946_14">Reset_Terminal_State</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1947_14">Reset_Terminal_State</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_2320_14" HREF="terminal_interface-curses__ads.htm#ref_1959_14">Rip_Off_Lines</A></span> (<span class="symbol"><A NAME="ref_2320_29" HREF="terminal_interface-curses__ads.htm#ref_1959_29">Lines</A></span> : Integer;
-                            <span class="symbol"><A NAME="ref_2321_29" HREF="terminal_interface-curses__ads.htm#ref_1960_29">Proc</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_1950_9">Stdscr_Init_Proc</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_2320_14" href="terminal_interface-curses__ads.htm#ref_1960_14">Rip_Off_Lines</a></span> (<span class="symbol"><a name="ref_2320_29" href="terminal_interface-curses__ads.htm#ref_1960_29">Lines</a></span> : Integer;
+                            <span class="symbol"><a name="ref_2321_29" href="terminal_interface-curses__ads.htm#ref_1961_29">Proc</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_1951_9">Stdscr_Init_Proc</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_2323_16">Ripoffline</A></span> (<span class="symbol"><A NAME="ref_2323_28" HREF="terminal_interface-curses__adb.htm#ref_2323_16">Lines</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-                           <span class="symbol"><A NAME="ref_2324_28" HREF="terminal_interface-curses__adb.htm#ref_2323_16">Proc</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_1950_9">Stdscr_Init_Proc</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_2323_16">Ripoffline</a></span> (<span class="symbol"><a name="ref_2323_28">Lines</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+                           <span class="symbol"><a name="ref_2324_28">Proc</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_1951_9">Stdscr_Init_Proc</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Ripoffline, "_nc_ripoffline");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2323_16">Ripoffline</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1959_29">Lines</A>), <A HREF="terminal_interface-curses__ads.htm#ref_1960_29">Proc</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2323_16">Ripoffline</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1960_29">Lines</a>), <a href="terminal_interface-curses__ads.htm#ref_1961_29">Proc</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1959_14">Rip_Off_Lines</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1960_14">Rip_Off_Lines</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_2332_14" HREF="terminal_interface-curses__ads.htm#ref_1971_14">Set_Cursor_Visibility</A></span> (<span class="symbol"><A NAME="ref_2332_37" HREF="terminal_interface-curses__ads.htm#ref_1971_37">Visibility</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_1968_9">Cursor_Visibility</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_2332_14" href="terminal_interface-curses__ads.htm#ref_1972_14">Set_Cursor_Visibility</a></span> (<span class="symbol"><a name="ref_2332_37" href="terminal_interface-curses__ads.htm#ref_1972_37">Visibility</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_1969_9">Cursor_Visibility</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_2334_16">Curs_Set</A></span> (<span class="symbol"><A NAME="ref_2334_26" HREF="terminal_interface-curses__adb.htm#ref_2334_16">Curs</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_2334_16">Curs_Set</a></span> (<span class="symbol"><a name="ref_2334_26">Curs</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Curs_Set, "curs_set");
 
-      <span class="symbol"><A NAME="ref_2337_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <span class="symbol"><a name="ref_2337_7">Res</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
    <b>begin</b>
-      <A HREF="terminal_interface-curses__adb.htm#ref_2337_7">Res</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2334_16">Curs_Set</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1968_9">Cursor_Visibility</A>'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1971_37">Visibility</A>));
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2337_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <A HREF="terminal_interface-curses__ads.htm#ref_1971_37">Visibility</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1968_9">Cursor_Visibility</A>'Val (<A HREF="terminal_interface-curses__adb.htm#ref_2337_7">Res</A>);
+      <a href="terminal_interface-curses__adb.htm#ref_2337_7">Res</a> := <a href="terminal_interface-curses__adb.htm#ref_2334_16">Curs_Set</a> (<a href="terminal_interface-curses__ads.htm#ref_1969_9">Cursor_Visibility</a>'Pos (<a href="terminal_interface-curses__ads.htm#ref_1972_37">Visibility</a>));
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2337_7">Res</a> /= <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <a href="terminal_interface-curses__ads.htm#ref_1972_37">Visibility</a> := <a href="terminal_interface-curses__ads.htm#ref_1969_9">Cursor_Visibility</a>'Val (<a href="terminal_interface-curses__adb.htm#ref_2337_7">Res</a>);
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1971_14">Set_Cursor_Visibility</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1972_14">Set_Cursor_Visibility</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_2345_14" HREF="terminal_interface-curses__ads.htm#ref_1976_14">Nap_Milli_Seconds</A></span> (<span class="symbol"><A NAME="ref_2345_33" HREF="terminal_interface-curses__ads.htm#ref_1976_33">Ms</A></span> : Natural)
+   <b>procedure</b> <span class="symbol"><a name="ref_2345_14" href="terminal_interface-curses__ads.htm#ref_1977_14">Nap_Milli_Seconds</a></span> (<span class="symbol"><a name="ref_2345_33" href="terminal_interface-curses__ads.htm#ref_1977_33">Ms</a></span> : Natural)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_2347_16">Napms</A></span> (<span class="symbol"><A NAME="ref_2347_23" HREF="terminal_interface-curses__adb.htm#ref_2347_16">Ms</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_2347_16">Napms</a></span> (<span class="symbol"><a name="ref_2347_23">Ms</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Napms, "napms");
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2347_16">Napms</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1976_33">Ms</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2347_16">Napms</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1977_33">Ms</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1976_14">Nap_Milli_Seconds</A>;
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_2355_13" HREF="terminal_interface-curses__ads.htm#ref_550_13">Lines</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1977_14">Nap_Milli_Seconds</a>;
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_2355_13" href="terminal_interface-curses__ads.htm#ref_551_13">Lines</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_2357_16">LINES_As_Function</A></span> <b>return</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.int;
+      <b>function</b> <span class="symbol"><a name="ref_2357_16">LINES_As_Function</a></span> <b>return</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.int;
       <b>pragma</b> Import (C, LINES_As_Function, "LINES_as_function");
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2357_16">LINES_As_Function</A>);
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_550_13">Lines</A>;
+      <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a> (<a href="terminal_interface-curses__adb.htm#ref_2357_16">LINES_As_Function</a>);
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_551_13">Lines</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_2363_13" HREF="terminal_interface-curses__ads.htm#ref_553_13">Columns</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>
+   <b>function</b> <span class="symbol"><a name="ref_2363_13" href="terminal_interface-curses__ads.htm#ref_554_13">Columns</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_2365_16">COLS_As_Function</A></span> <b>return</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.int;
+      <b>function</b> <span class="symbol"><a name="ref_2365_16">COLS_As_Function</a></span> <b>return</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.int;
       <b>pragma</b> Import (C, COLS_As_Function, "COLS_as_function");
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2365_16">COLS_As_Function</A>);
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_553_13">Columns</A>;
+      <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a> (<a href="terminal_interface-curses__adb.htm#ref_2365_16">COLS_As_Function</a>);
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_554_13">Columns</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_2371_13" HREF="terminal_interface-curses__ads.htm#ref_556_13">Tab_Size</A></span> <b>return</b> Natural
+   <b>function</b> <span class="symbol"><a name="ref_2371_13" href="terminal_interface-curses__ads.htm#ref_557_13">Tab_Size</a></span> <b>return</b> Natural
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_2373_16">TABSIZE_As_Function</A></span> <b>return</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.int;
+      <b>function</b> <span class="symbol"><a name="ref_2373_16">TABSIZE_As_Function</a></span> <b>return</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.int;
       <b>pragma</b> Import (C, TABSIZE_As_Function, "TABSIZE_as_function");
 
    <b>begin</b>
-      <b>return</b> Natural (<A HREF="terminal_interface-curses__adb.htm#ref_2373_16">TABSIZE_As_Function</A>);
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_556_13">Tab_Size</A>;
+      <b>return</b> Natural (<a href="terminal_interface-curses__adb.htm#ref_2373_16">TABSIZE_As_Function</a>);
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_557_13">Tab_Size</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_2380_13" HREF="terminal_interface-curses__ads.htm#ref_559_13">Number_Of_Colors</A></span> <b>return</b> Natural
+   <b>function</b> <span class="symbol"><a name="ref_2380_13" href="terminal_interface-curses__ads.htm#ref_560_13">Number_Of_Colors</a></span> <b>return</b> Natural
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_2382_16">COLORS_As_Function</A></span> <b>return</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.int;
+      <b>function</b> <span class="symbol"><a name="ref_2382_16">COLORS_As_Function</a></span> <b>return</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.int;
       <b>pragma</b> Import (C, COLORS_As_Function, "COLORS_as_function");
    <b>begin</b>
-      <b>return</b> Natural (<A HREF="terminal_interface-curses__adb.htm#ref_2382_16">COLORS_As_Function</A>);
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_559_13">Number_Of_Colors</A>;
+      <b>return</b> Natural (<a href="terminal_interface-curses__adb.htm#ref_2382_16">COLORS_As_Function</a>);
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_560_13">Number_Of_Colors</a>;
 
-   <b>function</b> <span class="symbol"><A NAME="ref_2388_13" HREF="terminal_interface-curses__ads.htm#ref_562_13">Number_Of_Color_Pairs</A></span> <b>return</b> Natural
+   <b>function</b> <span class="symbol"><a name="ref_2388_13" href="terminal_interface-curses__ads.htm#ref_563_13">Number_Of_Color_Pairs</a></span> <b>return</b> Natural
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_2390_16">COLOR_PAIRS_As_Function</A></span> <b>return</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.int;
+      <b>function</b> <span class="symbol"><a name="ref_2390_16">COLOR_PAIRS_As_Function</a></span> <b>return</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.int;
       <b>pragma</b> Import (C, COLOR_PAIRS_As_Function, "COLOR_PAIRS_as_function");
    <b>begin</b>
-      <b>return</b> Natural (<A HREF="terminal_interface-curses__adb.htm#ref_2390_16">COLOR_PAIRS_As_Function</A>);
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_562_13">Number_Of_Color_Pairs</A>;
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_2396_14" HREF="terminal_interface-curses__ads.htm#ref_1984_14">Transform_Coordinates</A></span>
-     (<span class="symbol"><A NAME="ref_2397_7" HREF="terminal_interface-curses__ads.htm#ref_1985_7">W</A></span>      : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_2398_7" HREF="terminal_interface-curses__ads.htm#ref_1986_7">Line</A></span>   : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_2399_7" HREF="terminal_interface-curses__ads.htm#ref_1987_7">Column</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-      <span class="symbol"><A NAME="ref_2400_7" HREF="terminal_interface-curses__ads.htm#ref_1988_7">Dir</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_1983_9">Transform_Direction</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1983_33">From_Screen</A>)
+      <b>return</b> Natural (<a href="terminal_interface-curses__adb.htm#ref_2390_16">COLOR_PAIRS_As_Function</a>);
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_563_13">Number_Of_Color_Pairs</a>;
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_2396_14" href="terminal_interface-curses__ads.htm#ref_1985_14">Transform_Coordinates</a></span>
+     (<span class="symbol"><a name="ref_2397_7" href="terminal_interface-curses__ads.htm#ref_1986_7">W</a></span>      : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_2398_7" href="terminal_interface-curses__ads.htm#ref_1987_7">Line</a></span>   : <b>in</b> <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_2399_7" href="terminal_interface-curses__ads.htm#ref_1988_7">Column</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+      <span class="symbol"><a name="ref_2400_7" href="terminal_interface-curses__ads.htm#ref_1989_7">Dir</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_1984_9">Transform_Direction</a> := <a href="terminal_interface-curses__ads.htm#ref_1984_33">From_Screen</a>)
    <b>is</b>
-      <b>type</b> <span class="symbol"><A NAME="ref_2402_12">Int_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-      <b>function</b> <span class="symbol"><A NAME="ref_2403_16">Transform</A></span> (<span class="symbol"><A NAME="ref_2403_27" HREF="terminal_interface-curses__adb.htm#ref_2403_16">W</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-                          <span class="symbol"><A NAME="ref_2404_27" HREF="terminal_interface-curses__adb.htm#ref_2403_16">Y</A></span>, <span class="symbol"><A NAME="ref_2404_30" HREF="terminal_interface-curses__adb.htm#ref_2403_16">X</A></span> : <A HREF="terminal_interface-curses__adb.htm#ref_2402_12">Int_Access</A>;
-                          <span class="symbol"><A NAME="ref_2405_27" HREF="terminal_interface-curses__adb.htm#ref_2403_16">Dir</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>type</b> <span class="symbol"><a name="ref_2402_12">Int_Access</a></span> <b>is</b> <b>access</b> <b>all</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+      <b>function</b> <span class="symbol"><a name="ref_2403_16">Transform</a></span> (<span class="symbol"><a name="ref_2403_27">W</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+                          <span class="symbol"><a name="ref_2404_27">Y</a></span>, <span class="symbol"><a name="ref_2404_30">X</a></span> : <a href="terminal_interface-curses__adb.htm#ref_2402_12">Int_Access</a>;
+                          <span class="symbol"><a name="ref_2405_27">Dir</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, Transform, "wmouse_trafo");
 
-      <span class="symbol"><A NAME="ref_2408_7">X</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1987_7">Column</A>);
-      <span class="symbol"><A NAME="ref_2409_7">Y</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1986_7">Line</A>);
-      <span class="symbol"><A NAME="ref_2410_7">D</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> := <A HREF="terminal_interface-curses__ads.htm#ref_2100_4">Curses_Bool_False</A>;
-      <span class="symbol"><A NAME="ref_2411_7">R</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <span class="symbol"><a name="ref_2408_7">X</a></span> : <b>aliased</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1988_7">Column</a>);
+      <span class="symbol"><a name="ref_2409_7">Y</a></span> : <b>aliased</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1987_7">Line</a>);
+      <span class="symbol"><a name="ref_2410_7">D</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> := <a href="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</a>;
+      <span class="symbol"><a name="ref_2411_7">R</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1988_7">Dir</A> = <A HREF="terminal_interface-curses__ads.htm#ref_1983_46">To_Screen</A> <b>then</b>
-         <A HREF="terminal_interface-curses__adb.htm#ref_2410_7">D</A> := 1;
+      <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_1989_7">Dir</a> = <a href="terminal_interface-curses__ads.htm#ref_1984_46">To_Screen</a> <b>then</b>
+         <a href="terminal_interface-curses__adb.htm#ref_2410_7">D</a> := 1;
       <b>end</b> <b>if</b>;
-      <A HREF="terminal_interface-curses__adb.htm#ref_2411_7">R</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2403_16">Transform</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1985_7">W</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2409_7">Y</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_2408_7">X</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_2410_7">D</A>);
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2411_7">R</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_68_4">Curses_False</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <a href="terminal_interface-curses__adb.htm#ref_2411_7">R</a> := <a href="terminal_interface-curses__adb.htm#ref_2403_16">Transform</a> (<a href="terminal_interface-curses__ads.htm#ref_1986_7">W</a>, <a href="terminal_interface-curses__adb.htm#ref_2409_7">Y</a>'<b>Access</b>, <a href="terminal_interface-curses__adb.htm#ref_2408_7">X</a>'<b>Access</b>, <a href="terminal_interface-curses__adb.htm#ref_2410_7">D</a>);
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2411_7">R</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_67_4">Curses_False</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>else</b>
-         <A HREF="terminal_interface-curses__ads.htm#ref_1986_7">Line</A>   := <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2409_7">Y</A>);
-         <A HREF="terminal_interface-curses__ads.htm#ref_1987_7">Column</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2408_7">X</A>);
+         <a href="terminal_interface-curses__ads.htm#ref_1987_7">Line</a>   := <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a> (<a href="terminal_interface-curses__adb.htm#ref_2409_7">Y</a>);
+         <a href="terminal_interface-curses__ads.htm#ref_1988_7">Column</a> := <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> (<a href="terminal_interface-curses__adb.htm#ref_2408_7">X</a>);
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1984_14">Transform_Coordinates</A>;
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_2425_14" HREF="terminal_interface-curses__ads.htm#ref_2003_14">Use_Default_Colors</A></span> <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_2426_16">C_Use_Default_Colors</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1985_14">Transform_Coordinates</a>;
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_2425_14" href="terminal_interface-curses__ads.htm#ref_2004_14">Use_Default_Colors</a></span> <b>is</b>
+      <b>function</b> <span class="symbol"><a name="ref_2426_16">C_Use_Default_Colors</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, C_Use_Default_Colors, "use_default_colors");
-      <span class="symbol"><A NAME="ref_2428_7">Err</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2426_16">C_Use_Default_Colors</A>;
+      <span class="symbol"><a name="ref_2428_7">Err</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses__adb.htm#ref_2426_16">C_Use_Default_Colors</a>;
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2428_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2428_7">Err</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_2003_14">Use_Default_Colors</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_2004_14">Use_Default_Colors</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_2435_14" HREF="terminal_interface-curses__ads.htm#ref_2008_14">Assume_Default_Colors</A></span> (<span class="symbol"><A NAME="ref_2435_37" HREF="terminal_interface-curses__ads.htm#ref_2008_37">Fore</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A> := <A HREF="terminal_interface-curses__ads.htm#ref_2000_4">Default_Color</A>;
-                                    <span class="symbol"><A NAME="ref_2436_37" HREF="terminal_interface-curses__ads.htm#ref_2009_37">Back</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A> := <A HREF="terminal_interface-curses__ads.htm#ref_2000_4">Default_Color</A>)
+   <b>procedure</b> <span class="symbol"><a name="ref_2435_14" href="terminal_interface-curses__ads.htm#ref_2009_14">Assume_Default_Colors</a></span> (<span class="symbol"><a name="ref_2435_37" href="terminal_interface-curses__ads.htm#ref_2009_37">Fore</a></span> : <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a> := <a href="terminal_interface-curses__ads.htm#ref_2001_4">Default_Color</a>;
+                                    <span class="symbol"><a name="ref_2436_37" href="terminal_interface-curses__ads.htm#ref_2010_37">Back</a></span> : <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a> := <a href="terminal_interface-curses__ads.htm#ref_2001_4">Default_Color</a>)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_2438_16">C_Assume_Default_Colors</A></span> (<span class="symbol"><A NAME="ref_2438_41" HREF="terminal_interface-curses__adb.htm#ref_2438_16">Fore</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-                                        <span class="symbol"><A NAME="ref_2439_41" HREF="terminal_interface-curses__adb.htm#ref_2438_16">Back</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_2438_16">C_Assume_Default_Colors</a></span> (<span class="symbol"><a name="ref_2438_41">Fore</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+                                        <span class="symbol"><a name="ref_2439_41">Back</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, C_Assume_Default_Colors, "assume_default_colors");
 
-      <span class="symbol"><A NAME="ref_2442_7">Err</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2438_16">C_Assume_Default_Colors</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_2008_37">Fore</A>),
-                                                       <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_2009_37">Back</A>));
+      <span class="symbol"><a name="ref_2442_7">Err</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses__adb.htm#ref_2438_16">C_Assume_Default_Colors</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_2009_37">Fore</a>),
+                                                       <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_2010_37">Back</a>));
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2442_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2442_7">Err</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_2008_14">Assume_Default_Colors</A>;
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_2450_13" HREF="terminal_interface-curses__ads.htm#ref_2018_13">Curses_Version</A></span> <b>return</b> String
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_2009_14">Assume_Default_Colors</a>;
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_2450_13" href="terminal_interface-curses__ads.htm#ref_2019_13">Curses_Version</a></span> <b>return</b> String
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_2452_16">curses_versionC</A></span> <b>return</b> chars_ptr;
+      <b>function</b> <span class="symbol"><a name="ref_2452_16">curses_versionC</a></span> <b>return</b> chars_ptr;
       <b>pragma</b> Import (C, curses_versionC, "curses_version");
-      <span class="symbol"><A NAME="ref_2454_7">Result</A></span> : <b>constant</b> chars_ptr := <A HREF="terminal_interface-curses__adb.htm#ref_2452_16">curses_versionC</A>;
+      <span class="symbol"><a name="ref_2454_7">Result</a></span> : <b>constant</b> chars_ptr := <a href="terminal_interface-curses__adb.htm#ref_2452_16">curses_versionC</a>;
    <b>begin</b>
-      <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_97_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2454_7">Result</A>);
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_2018_13">Curses_Version</A>;
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_2459_14" HREF="terminal_interface-curses__ads.htm#ref_2031_14">Curses_Free_All</A></span> <b>is</b>
-      <b>procedure</b> <span class="symbol"><A NAME="ref_2460_17">curses_freeall</A></span>;
+      <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a> (<a href="terminal_interface-curses__adb.htm#ref_2454_7">Result</a>);
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_2019_13">Curses_Version</a>;
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_2459_14" href="terminal_interface-curses__ads.htm#ref_2032_14">Curses_Free_All</a></span> <b>is</b>
+      <b>procedure</b> <span class="symbol"><a name="ref_2460_17">curses_freeall</a></span>;
       <b>pragma</b> Import (C, curses_freeall, "_nc_freeall");
    <b>begin</b>
-      <span class="comment"><EM>--  Use this only for testing: you cannot use curses after calling it,</EM></span>
-      <span class="comment"><EM>--  so it has to be the "last" thing done before exiting the program.</EM></span>
-      <span class="comment"><EM>--  This will not really free ALL of memory used by curses.  That is</EM></span>
-      <span class="comment"><EM>--  because it cannot free the memory used for stdout's setbuf.  The</EM></span>
-      <span class="comment"><EM>--  _nc_free_and_exit() procedure can do that, but it can be invoked</EM></span>
-      <span class="comment"><EM>--  safely only from C - and again, that only as the "last" thing done</EM></span>
-      <span class="comment"><EM>--  before exiting the program.</EM></span>
-      <A HREF="terminal_interface-curses__adb.htm#ref_2460_17">curses_freeall</A>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_2031_14">Curses_Free_All</A>;
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_2473_13" HREF="terminal_interface-curses__ads.htm#ref_2023_13">Use_Extended_Names</A></span> (<span class="symbol"><A NAME="ref_2473_33" HREF="terminal_interface-curses__ads.htm#ref_2023_33">Enable</A></span> : Boolean) <b>return</b> Boolean
+      <span class="comment"><em>--  Use this only for testing: you cannot use curses after calling it,</em></span>
+      <span class="comment"><em>--  so it has to be the "last" thing done before exiting the program.</em></span>
+      <span class="comment"><em>--  This will not really free ALL of memory used by curses.  That is</em></span>
+      <span class="comment"><em>--  because it cannot free the memory used for stdout's setbuf.  The</em></span>
+      <span class="comment"><em>--  _nc_free_and_exit() procedure can do that, but it can be invoked</em></span>
+      <span class="comment"><em>--  safely only from C - and again, that only as the "last" thing done</em></span>
+      <span class="comment"><em>--  before exiting the program.</em></span>
+      <a href="terminal_interface-curses__adb.htm#ref_2460_17">curses_freeall</a>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_2032_14">Curses_Free_All</a>;
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_2473_13" href="terminal_interface-curses__ads.htm#ref_2024_13">Use_Extended_Names</a></span> (<span class="symbol"><a name="ref_2473_33" href="terminal_interface-curses__ads.htm#ref_2024_33">Enable</a></span> : Boolean) <b>return</b> Boolean
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_2475_16">use_extended_namesC</A></span> (<span class="symbol"><A NAME="ref_2475_37" HREF="terminal_interface-curses__adb.htm#ref_2475_16">e</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_2475_16">use_extended_namesC</a></span> (<span class="symbol"><a name="ref_2475_37">e</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, use_extended_namesC, "use_extended_names");
 
-      <span class="symbol"><A NAME="ref_2478_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> :=
-         <A HREF="terminal_interface-curses__adb.htm#ref_2475_16">use_extended_namesC</A> (<A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_2023_33">Enable</A>)));
+      <span class="symbol"><a name="ref_2478_7">Res</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> :=
+         <a href="terminal_interface-curses__adb.htm#ref_2475_16">use_extended_namesC</a> (<a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_2024_33">Enable</a>)));
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2478_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_2100_4">Curses_Bool_False</A>) <b>then</b>
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2478_7">Res</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</a>) <b>then</b>
          <b>return</b> False;
       <b>else</b>
          <b>return</b> True;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_2023_13">Use_Extended_Names</A>;
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_2488_14" HREF="terminal_interface-curses__ads.htm#ref_2039_14">Screen_Dump_To_File</A></span> (<span class="symbol"><A NAME="ref_2488_35" HREF="terminal_interface-curses__ads.htm#ref_2039_35">Filename</A></span> : String)
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_2024_13">Use_Extended_Names</a>;
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_2488_14" href="terminal_interface-curses__ads.htm#ref_2040_14">Screen_Dump_To_File</a></span> (<span class="symbol"><a name="ref_2488_35" href="terminal_interface-curses__ads.htm#ref_2040_35">Filename</a></span> : String)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_2490_16">scr_dump</A></span> (<span class="symbol"><A NAME="ref_2490_26" HREF="terminal_interface-curses__adb.htm#ref_2490_16">f</A></span> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_2490_16">scr_dump</a></span> (<span class="symbol"><a name="ref_2490_26">f</a></span> : char_array) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, scr_dump, "scr_dump");
-      <span class="symbol"><A NAME="ref_2492_7">Txt</A></span>    : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_2039_35">Filename</A>'Length);
-      <span class="symbol"><A NAME="ref_2493_7">Length</A></span> : size_t;
+      <span class="symbol"><a name="ref_2492_7">Txt</a></span>    : char_array (0 .. <a href="terminal_interface-curses__ads.htm#ref_2040_35">Filename</a>'Length);
+      <span class="symbol"><a name="ref_2493_7">Length</a></span> : size_t;
    <b>begin</b>
-      To_C (<A HREF="terminal_interface-curses__ads.htm#ref_2039_35">Filename</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2492_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2493_7">Length</A>);
-      <b>if</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> = <A HREF="terminal_interface-curses__adb.htm#ref_2490_16">scr_dump</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2492_7">Txt</A>) <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      To_C (<a href="terminal_interface-curses__ads.htm#ref_2040_35">Filename</a>, <a href="terminal_interface-curses__adb.htm#ref_2492_7">Txt</a>, <a href="terminal_interface-curses__adb.htm#ref_2493_7">Length</a>);
+      <b>if</b> <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> = <a href="terminal_interface-curses__adb.htm#ref_2490_16">scr_dump</a> (<a href="terminal_interface-curses__adb.htm#ref_2492_7">Txt</a>) <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_2039_14">Screen_Dump_To_File</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_2040_14">Screen_Dump_To_File</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_2501_14" HREF="terminal_interface-curses__ads.htm#ref_2043_14">Screen_Restore_From_File</A></span> (<span class="symbol"><A NAME="ref_2501_40" HREF="terminal_interface-curses__ads.htm#ref_2043_40">Filename</A></span> : String)
+   <b>procedure</b> <span class="symbol"><a name="ref_2501_14" href="terminal_interface-curses__ads.htm#ref_2044_14">Screen_Restore_From_File</a></span> (<span class="symbol"><a name="ref_2501_40" href="terminal_interface-curses__ads.htm#ref_2044_40">Filename</a></span> : String)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_2503_16">scr_restore</A></span> (<span class="symbol"><A NAME="ref_2503_29" HREF="terminal_interface-curses__adb.htm#ref_2503_16">f</A></span> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_2503_16">scr_restore</a></span> (<span class="symbol"><a name="ref_2503_29">f</a></span> : char_array) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, scr_restore, "scr_restore");
-      <span class="symbol"><A NAME="ref_2505_7">Txt</A></span>    : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_2043_40">Filename</A>'Length);
-      <span class="symbol"><A NAME="ref_2506_7">Length</A></span> : size_t;
+      <span class="symbol"><a name="ref_2505_7">Txt</a></span>    : char_array (0 .. <a href="terminal_interface-curses__ads.htm#ref_2044_40">Filename</a>'Length);
+      <span class="symbol"><a name="ref_2506_7">Length</a></span> : size_t;
    <b>begin</b>
-      To_C (<A HREF="terminal_interface-curses__ads.htm#ref_2043_40">Filename</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2505_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2506_7">Length</A>);
-      <b>if</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> = <A HREF="terminal_interface-curses__adb.htm#ref_2503_16">scr_restore</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2505_7">Txt</A>)  <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      To_C (<a href="terminal_interface-curses__ads.htm#ref_2044_40">Filename</a>, <a href="terminal_interface-curses__adb.htm#ref_2505_7">Txt</a>, <a href="terminal_interface-curses__adb.htm#ref_2506_7">Length</a>);
+      <b>if</b> <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> = <a href="terminal_interface-curses__adb.htm#ref_2503_16">scr_restore</a> (<a href="terminal_interface-curses__adb.htm#ref_2505_7">Txt</a>)  <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_2043_14">Screen_Restore_From_File</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_2044_14">Screen_Restore_From_File</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_2514_14" HREF="terminal_interface-curses__ads.htm#ref_2047_14">Screen_Init_From_File</A></span> (<span class="symbol"><A NAME="ref_2514_37" HREF="terminal_interface-curses__ads.htm#ref_2047_37">Filename</A></span> : String)
+   <b>procedure</b> <span class="symbol"><a name="ref_2514_14" href="terminal_interface-curses__ads.htm#ref_2048_14">Screen_Init_From_File</a></span> (<span class="symbol"><a name="ref_2514_37" href="terminal_interface-curses__ads.htm#ref_2048_37">Filename</a></span> : String)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_2516_16">scr_init</A></span> (<span class="symbol"><A NAME="ref_2516_26" HREF="terminal_interface-curses__adb.htm#ref_2516_16">f</A></span> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_2516_16">scr_init</a></span> (<span class="symbol"><a name="ref_2516_26">f</a></span> : char_array) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, scr_init, "scr_init");
-      <span class="symbol"><A NAME="ref_2518_7">Txt</A></span>    : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_2047_37">Filename</A>'Length);
-      <span class="symbol"><A NAME="ref_2519_7">Length</A></span> : size_t;
+      <span class="symbol"><a name="ref_2518_7">Txt</a></span>    : char_array (0 .. <a href="terminal_interface-curses__ads.htm#ref_2048_37">Filename</a>'Length);
+      <span class="symbol"><a name="ref_2519_7">Length</a></span> : size_t;
    <b>begin</b>
-      To_C (<A HREF="terminal_interface-curses__ads.htm#ref_2047_37">Filename</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2518_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2519_7">Length</A>);
-      <b>if</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> = <A HREF="terminal_interface-curses__adb.htm#ref_2516_16">scr_init</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2518_7">Txt</A>) <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      To_C (<a href="terminal_interface-curses__ads.htm#ref_2048_37">Filename</a>, <a href="terminal_interface-curses__adb.htm#ref_2518_7">Txt</a>, <a href="terminal_interface-curses__adb.htm#ref_2519_7">Length</a>);
+      <b>if</b> <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> = <a href="terminal_interface-curses__adb.htm#ref_2516_16">scr_init</a> (<a href="terminal_interface-curses__adb.htm#ref_2518_7">Txt</a>) <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_2047_14">Screen_Init_From_File</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_2048_14">Screen_Init_From_File</a>;
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_2527_14" HREF="terminal_interface-curses__ads.htm#ref_2051_14">Screen_Set_File</A></span> (<span class="symbol"><A NAME="ref_2527_31" HREF="terminal_interface-curses__ads.htm#ref_2051_31">Filename</A></span> : String)
+   <b>procedure</b> <span class="symbol"><a name="ref_2527_14" href="terminal_interface-curses__ads.htm#ref_2052_14">Screen_Set_File</a></span> (<span class="symbol"><a name="ref_2527_31" href="terminal_interface-curses__ads.htm#ref_2052_31">Filename</a></span> : String)
    <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_2529_16">scr_set</A></span> (<span class="symbol"><A NAME="ref_2529_25" HREF="terminal_interface-curses__adb.htm#ref_2529_16">f</A></span> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+      <b>function</b> <span class="symbol"><a name="ref_2529_16">scr_set</a></span> (<span class="symbol"><a name="ref_2529_25">f</a></span> : char_array) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, scr_set, "scr_set");
-      <span class="symbol"><A NAME="ref_2531_7">Txt</A></span>    : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_2051_31">Filename</A>'Length);
-      <span class="symbol"><A NAME="ref_2532_7">Length</A></span> : size_t;
+      <span class="symbol"><a name="ref_2531_7">Txt</a></span>    : char_array (0 .. <a href="terminal_interface-curses__ads.htm#ref_2052_31">Filename</a>'Length);
+      <span class="symbol"><a name="ref_2532_7">Length</a></span> : size_t;
    <b>begin</b>
-      To_C (<A HREF="terminal_interface-curses__ads.htm#ref_2051_31">Filename</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2531_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2532_7">Length</A>);
-      <b>if</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> = <A HREF="terminal_interface-curses__adb.htm#ref_2529_16">scr_set</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2531_7">Txt</A>) <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+      To_C (<a href="terminal_interface-curses__ads.htm#ref_2052_31">Filename</a>, <a href="terminal_interface-curses__adb.htm#ref_2531_7">Txt</a>, <a href="terminal_interface-curses__adb.htm#ref_2532_7">Length</a>);
+      <b>if</b> <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> = <a href="terminal_interface-curses__adb.htm#ref_2529_16">scr_set</a> (<a href="terminal_interface-curses__adb.htm#ref_2531_7">Txt</a>) <b>then</b>
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_2051_14">Screen_Set_File</A>;
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_2540_14" HREF="terminal_interface-curses__ads.htm#ref_2083_14">Resize</A></span> (<span class="symbol"><A NAME="ref_2540_22" HREF="terminal_interface-curses__ads.htm#ref_2083_22">Win</A></span>               : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                     <span class="symbol"><A NAME="ref_2541_22" HREF="terminal_interface-curses__ads.htm#ref_2084_22">Number_Of_Lines</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
-                     <span class="symbol"><A NAME="ref_2542_22" HREF="terminal_interface-curses__ads.htm#ref_2085_22">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>) <b>is</b>
-      <b>function</b> <span class="symbol"><A NAME="ref_2543_16">wresize</A></span> (<span class="symbol"><A NAME="ref_2543_25" HREF="terminal_interface-curses__adb.htm#ref_2543_16">win</A></span>     : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-                        <span class="symbol"><A NAME="ref_2544_25" HREF="terminal_interface-curses__adb.htm#ref_2543_16">lines</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
-                        <span class="symbol"><A NAME="ref_2545_25" HREF="terminal_interface-curses__adb.htm#ref_2543_16">columns</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_2052_14">Screen_Set_File</a>;
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_2540_14" href="terminal_interface-curses__ads.htm#ref_2084_14">Resize</a></span> (<span class="symbol"><a name="ref_2540_22" href="terminal_interface-curses__ads.htm#ref_2084_22">Win</a></span>               : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                     <span class="symbol"><a name="ref_2541_22" href="terminal_interface-curses__ads.htm#ref_2085_22">Number_Of_Lines</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
+                     <span class="symbol"><a name="ref_2542_22" href="terminal_interface-curses__ads.htm#ref_2086_22">Number_Of_Columns</a></span> : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>) <b>is</b>
+      <b>function</b> <span class="symbol"><a name="ref_2543_16">wresize</a></span> (<span class="symbol"><a name="ref_2543_25">win</a></span>     : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+                        <span class="symbol"><a name="ref_2544_25">lines</a></span>   : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
+                        <span class="symbol"><a name="ref_2545_25">columns</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>;
       <b>pragma</b> Import (C, wresize);
    <b>begin</b>
-      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2543_16">wresize</A> (<A HREF="terminal_interface-curses__ads.htm#ref_2083_22">Win</A>,
-                  <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_2084_22">Number_Of_Lines</A>),
-                  <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_2085_22">Number_Of_Columns</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
+      <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2543_16">wresize</a> (<a href="terminal_interface-curses__ads.htm#ref_2084_22">Win</a>,
+                  <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_2085_22">Number_Of_Lines</a>),
+                  <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_2086_22">Number_Of_Columns</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a>
       <b>then</b>
-         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+         <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>;
       <b>end</b> <b>if</b>;
-   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_2083_14">Resize</A>;
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
+   <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_2084_14">Resize</a>;
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses__ads.htm b/doc/html/ada/terminal_interface-curses__ads.htm
index 727cc83..c506fdd 100644
--- a/doc/html/ada/terminal_interface-curses__ads.htm
+++ b/doc/html/ada/terminal_interface-curses__ads.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses.ads</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses.ads</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,2110 +11,2111 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses.ads </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                         Terminal_Interface.Curses                        --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 S P E C                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2011,2014 Free Software Foundation, Inc.              --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.47 @</EM></span>
-<span class="comment"><EM>--  @Date: 2014/05/24 21:31:57 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses.ads </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                         Terminal_Interface.Curses                        --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 S P E C                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020,2024 Thomas E. Dickey                                     --</em></span>
+<span class="comment"><em>-- Copyright 1998-2011,2014 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.49 @</em></span>
+<span class="comment"><em>--  @Date: 2024/01/19 16:51:30 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
 <b>with</b> System.Storage_Elements;
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C;   <span class="comment"><EM>--  We need this for some assertions.</EM></span>
+<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C;   <span class="comment"><em>--  We need this for some assertions.</em></span>
 
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>;
+<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>;
 
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<span class="symbol"><A NAME="ref_47_28" HREF="terminal_interface-curses__adb.htm#ref_50_33">Curses</A></span> <b>is</b>
-   <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>);
-   <b>pragma</b> Linker_Options ("-lncurses" &amp; <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_9_4">DFT_ARG_SUFFIX</A>);
+<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<span class="symbol"><a name="ref_48_28" href="terminal_interface-curses__adb.htm#ref_51_33">Curses</a></span> <b>is</b>
+   <b>pragma</b> Preelaborate (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>);
+   <b>pragma</b> Linker_Options ("-lncurses" &amp; <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_9_4">DFT_ARG_SUFFIX</a>);
 
-   <span class="symbol"><A NAME="ref_51_4">Major_Version</A></span> : <b>constant</b> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_21_4">NCURSES_VERSION_MAJOR</A>;
-   <span class="symbol"><A NAME="ref_52_4">Minor_Version</A></span> : <b>constant</b> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_22_4">NCURSES_VERSION_MINOR</A>;
-   NC_Version : String <b>renames</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_23_4">Version</A>;
+   <span class="symbol"><a name="ref_52_4">Major_Version</a></span> : <b>constant</b> := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_21_4">NCURSES_VERSION_MAJOR</a>;
+   <span class="symbol"><a name="ref_53_4">Minor_Version</a></span> : <b>constant</b> := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_22_4">NCURSES_VERSION_MINOR</a>;
+   NC_Version : String <b>renames</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_23_4">Version</a>;
 
-   <b>type</b> <span class="symbol"><A NAME="ref_55_9">Window</A></span> <b>is</b> <b>private</b>;
-   <span class="symbol"><A NAME="ref_56_4">Null_Window</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+   <b>type</b> <span class="symbol"><a name="ref_56_9">Window</a></span> <b>is</b> <b>private</b>;
+   <span class="symbol"><a name="ref_57_4">Null_Window</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
 
-   <b>type</b> <span class="symbol"><A NAME="ref_58_9">Line_Position</A></span>   <b>is</b> <b>new</b> Integer; <span class="comment"><EM>--  line coordinate</EM></span>
-   <b>type</b> <span class="symbol"><A NAME="ref_59_9">Column_Position</A></span> <b>is</b> <b>new</b> Integer; <span class="comment"><EM>--  column coordinate</EM></span>
+   <b>type</b> <span class="symbol"><a name="ref_59_9">Line_Position</a></span>   <b>is</b> <b>new</b> Integer; <span class="comment"><em>--  line coordinate</em></span>
+   <b>type</b> <span class="symbol"><a name="ref_60_9">Column_Position</a></span> <b>is</b> <b>new</b> Integer; <span class="comment"><em>--  column coordinate</em></span>
 
-   <b>subtype</b> <span class="symbol"><A NAME="ref_61_12">Line_Count</A></span>   <b>is</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>   <b>range</b> 1 .. <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>'Last;
-   <span class="comment"><EM>--  Type to count lines. We do not allow null windows, so must be positive</EM></span>
-   <b>subtype</b> <span class="symbol"><A NAME="ref_63_12">Column_Count</A></span> <b>is</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> <b>range</b> 1 .. <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>'Last;
-   <span class="comment"><EM>--  Type to count columns. We do not allow null windows, so must be positive</EM></span>
+   <b>subtype</b> <span class="symbol"><a name="ref_62_12">Line_Count</a></span>   <b>is</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>   <b>range</b> 1 .. <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>'Last;
+   <span class="comment"><em>--  Type to count lines. We do not allow null windows, so must be positive</em></span>
+   <b>subtype</b> <span class="symbol"><a name="ref_64_12">Column_Count</a></span> <b>is</b> <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> <b>range</b> 1 .. <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>'Last;
+   <span class="comment"><em>--  Type to count columns. We do not allow null windows, so must be positive</em></span>
 
-   <b>type</b> <span class="symbol"><A NAME="ref_66_9">Key_Code</A></span> <b>is</b> <b>new</b> Integer;
-   <span class="comment"><EM>--  That is anything including real characters, special keys and logical</EM></span>
-   <span class="comment"><EM>--  request codes.</EM></span>
+   <b>type</b> <span class="symbol"><a name="ref_67_9">Key_Code</a></span> <b>is</b> <b>new</b> Integer;
+   <span class="comment"><em>--  That is anything including real characters, special keys and logical</em></span>
+   <span class="comment"><em>--  request codes.</em></span>
 
-   <span class="comment"><EM>--  FIXME: The "-1" should be Curses_Err</EM></span>
-   <b>subtype</b> <span class="symbol"><A NAME="ref_71_12">Real_Key_Code</A></span> <b>is</b> <A HREF="terminal_interface-curses__ads.htm#ref_66_9">Key_Code</A> <b>range</b> -1 .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_99_4">KEY_MAX</A>;
-   <span class="comment"><EM>--  This are the codes that potentially represent a real keystroke.</EM></span>
-   <span class="comment"><EM>--  Not all codes may be possible on a specific terminal. To check the</EM></span>
-   <span class="comment"><EM>--  availability of a special key, the Has_Key function is provided.</EM></span>
+   <span class="comment"><em>--  FIXME: The "-1" should be Curses_Err</em></span>
+   <b>subtype</b> <span class="symbol"><a name="ref_72_12">Real_Key_Code</a></span> <b>is</b> <a href="terminal_interface-curses__ads.htm#ref_67_9">Key_Code</a> <b>range</b> -1 .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_99_4">KEY_MAX</a>;
+   <span class="comment"><em>--  This are the codes that potentially represent a real keystroke.</em></span>
+   <span class="comment"><em>--  Not all codes may be possible on a specific terminal. To check the</em></span>
+   <span class="comment"><em>--  availability of a special key, the Has_Key function is provided.</em></span>
 
-   <b>subtype</b> <span class="symbol"><A NAME="ref_76_12">Special_Key_Code</A></span> <b>is</b> <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A>
-     <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>. <A HREF="terminal_interface-curses_constants__ads.htm#ref_98_4">KEY_MIN</A> - 1 .. <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A>'Last;
-   <span class="comment"><EM>--  Type for a function- or special key number</EM></span>
+   <b>subtype</b> <span class="symbol"><a name="ref_77_12">Special_Key_Code</a></span> <b>is</b> <a href="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</a>
+     <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>. <a href="terminal_interface-curses_constants__ads.htm#ref_98_4">KEY_MIN</a> - 1 .. <a href="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</a>'Last;
+   <span class="comment"><em>--  Type for a function- or special key number</em></span>
 
-   <b>subtype</b> <span class="symbol"><A NAME="ref_80_12">Normal_Key_Code</A></span> <b>is</b> <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A> <b>range</b>
+   <b>subtype</b> <span class="symbol"><a name="ref_81_12">Normal_Key_Code</a></span> <b>is</b> <a href="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</a> <b>range</b>
      Character'Pos (Character'First) .. Character'Pos (Character'Last);
-   <span class="comment"><EM>--  This are the codes for regular (incl. non-graphical) characters.</EM></span>
+   <span class="comment"><em>--  This are the codes for regular (incl. non-graphical) characters.</em></span>
 
-   <span class="comment"><EM>--  For those who like to use the original key names we produce them were</EM></span>
-   <span class="comment"><EM>--  they differ from the original.</EM></span>
+   <span class="comment"><em>--  For those who like to use the original key names we produce them were</em></span>
+   <span class="comment"><em>--  they differ from the original.</em></span>
 
-   <span class="comment"><EM>--  Constants for function- and special keys</EM></span>
-   <span class="symbol"><A NAME="ref_88_4">Key_None</A></span>                    : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_98_4">KEY_MIN</A> - 1;
-   <span class="symbol"><A NAME="ref_90_4">Key_Min</A></span>                     : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_98_4">KEY_MIN</A>;
-   <span class="symbol"><A NAME="ref_92_4">Key_Break</A></span>                   : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_104_4">KEY_BREAK</A>;
-   <span class="symbol"><A NAME="ref_94_4">KEY_DOWN</A></span>                    : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_105_4">KEY_DOWN</A>;
-   Key_Cursor_Down             : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_94_4">KEY_DOWN</A>;
-   <span class="symbol"><A NAME="ref_97_4">KEY_UP</A></span>                      : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_106_4">KEY_UP</A>;
-   Key_Cursor_Up               : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_97_4">KEY_UP</A>;
-   <span class="symbol"><A NAME="ref_100_4">KEY_LEFT</A></span>                    : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_107_4">KEY_LEFT</A>;
-   Key_Cursor_Left             : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_100_4">KEY_LEFT</A>;
-   <span class="symbol"><A NAME="ref_103_4">KEY_RIGHT</A></span>                   : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_108_4">KEY_RIGHT</A>;
-   Key_Cursor_Right            : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_103_4">KEY_RIGHT</A>;
-   <span class="symbol"><A NAME="ref_106_4">Key_Home</A></span>                    : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_109_4">KEY_HOME</A>;
-   <span class="symbol"><A NAME="ref_108_4">Key_Backspace</A></span>               : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_110_4">KEY_BACKSPACE</A>;
-   <span class="symbol"><A NAME="ref_110_4">Key_F0</A></span>                      : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_111_4">KEY_F0</A>;
-   <span class="symbol"><A NAME="ref_112_4">Key_F1</A></span>                      : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_112_4">KEY_F1</A>;
-   <span class="symbol"><A NAME="ref_114_4">Key_F2</A></span>                      : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_113_4">KEY_F2</A>;
-   <span class="symbol"><A NAME="ref_116_4">Key_F3</A></span>                      : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_114_4">KEY_F3</A>;
-   <span class="symbol"><A NAME="ref_118_4">Key_F4</A></span>                      : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_115_4">KEY_F4</A>;
-   <span class="symbol"><A NAME="ref_120_4">Key_F5</A></span>                      : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_116_4">KEY_F5</A>;
-   <span class="symbol"><A NAME="ref_122_4">Key_F6</A></span>                      : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_117_4">KEY_F6</A>;
-   <span class="symbol"><A NAME="ref_124_4">Key_F7</A></span>                      : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_118_4">KEY_F7</A>;
-   <span class="symbol"><A NAME="ref_126_4">Key_F8</A></span>                      : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_119_4">KEY_F8</A>;
-   <span class="symbol"><A NAME="ref_128_4">Key_F9</A></span>                      : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_120_4">KEY_F9</A>;
-   <span class="symbol"><A NAME="ref_130_4">Key_F10</A></span>                     : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_121_4">KEY_F10</A>;
-   <span class="symbol"><A NAME="ref_132_4">Key_F11</A></span>                     : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_122_4">KEY_F11</A>;
-   <span class="symbol"><A NAME="ref_134_4">Key_F12</A></span>                     : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_123_4">KEY_F12</A>;
-   <span class="symbol"><A NAME="ref_136_4">Key_F13</A></span>                     : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_124_4">KEY_F13</A>;
-   <span class="symbol"><A NAME="ref_138_4">Key_F14</A></span>                     : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_125_4">KEY_F14</A>;
-   <span class="symbol"><A NAME="ref_140_4">Key_F15</A></span>                     : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_126_4">KEY_F15</A>;
-   <span class="symbol"><A NAME="ref_142_4">Key_F16</A></span>                     : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_127_4">KEY_F16</A>;
-   <span class="symbol"><A NAME="ref_144_4">Key_F17</A></span>                     : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_128_4">KEY_F17</A>;
-   <span class="symbol"><A NAME="ref_146_4">Key_F18</A></span>                     : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_129_4">KEY_F18</A>;
-   <span class="symbol"><A NAME="ref_148_4">Key_F19</A></span>                     : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_130_4">KEY_F19</A>;
-   <span class="symbol"><A NAME="ref_150_4">Key_F20</A></span>                     : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_131_4">KEY_F20</A>;
-   <span class="symbol"><A NAME="ref_152_4">Key_F21</A></span>                     : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_132_4">KEY_F21</A>;
-   <span class="symbol"><A NAME="ref_154_4">Key_F22</A></span>                     : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_133_4">KEY_F22</A>;
-   <span class="symbol"><A NAME="ref_156_4">Key_F23</A></span>                     : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_134_4">KEY_F23</A>;
-   <span class="symbol"><A NAME="ref_158_4">Key_F24</A></span>                     : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_135_4">KEY_F24</A>;
-   <span class="symbol"><A NAME="ref_160_4">KEY_DL</A></span>                      : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_136_4">KEY_DL</A>;
-   Key_Delete_Line             : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_160_4">KEY_DL</A>;
-   <span class="symbol"><A NAME="ref_163_4">KEY_IL</A></span>                      : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_137_4">KEY_IL</A>;
-   Key_Insert_Line             : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_163_4">KEY_IL</A>;
-   <span class="symbol"><A NAME="ref_166_4">KEY_DC</A></span>                      : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_138_4">KEY_DC</A>;
-   Key_Delete_Char             : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_166_4">KEY_DC</A>;
-   <span class="symbol"><A NAME="ref_169_4">KEY_IC</A></span>                      : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_139_4">KEY_IC</A>;
-   Key_Insert_Char             : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_169_4">KEY_IC</A>;
-   <span class="symbol"><A NAME="ref_172_4">KEY_EIC</A></span>                     : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_140_4">KEY_EIC</A>;
-   Key_Exit_Insert_Mode        : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_172_4">KEY_EIC</A>;
-   <span class="symbol"><A NAME="ref_175_4">KEY_CLEAR</A></span>                   : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_141_4">KEY_CLEAR</A>;
-   Key_Clear_Screen            : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_175_4">KEY_CLEAR</A>;
-   <span class="symbol"><A NAME="ref_178_4">KEY_EOS</A></span>                     : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_142_4">KEY_EOS</A>;
-   Key_Clear_End_Of_Screen     : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_178_4">KEY_EOS</A>;
-   <span class="symbol"><A NAME="ref_181_4">KEY_EOL</A></span>                     : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_143_4">KEY_EOL</A>;
-   Key_Clear_End_Of_Line       : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_181_4">KEY_EOL</A>;
-   <span class="symbol"><A NAME="ref_184_4">KEY_SF</A></span>                      : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_144_4">KEY_SF</A>;
-   Key_Scroll_1_Forward        : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_184_4">KEY_SF</A>;
-   <span class="symbol"><A NAME="ref_187_4">KEY_SR</A></span>                      : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_145_4">KEY_SR</A>;
-   Key_Scroll_1_Backward       : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_187_4">KEY_SR</A>;
-   <span class="symbol"><A NAME="ref_190_4">KEY_NPAGE</A></span>                   : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_146_4">KEY_NPAGE</A>;
-   Key_Next_Page               : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_190_4">KEY_NPAGE</A>;
-   <span class="symbol"><A NAME="ref_193_4">KEY_PPAGE</A></span>                   : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_147_4">KEY_PPAGE</A>;
-   Key_Previous_Page           : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_193_4">KEY_PPAGE</A>;
-   <span class="symbol"><A NAME="ref_196_4">KEY_STAB</A></span>                    : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_148_4">KEY_STAB</A>;
-   Key_Set_Tab                 : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_196_4">KEY_STAB</A>;
-   <span class="symbol"><A NAME="ref_199_4">KEY_CTAB</A></span>                    : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_149_4">KEY_CTAB</A>;
-   Key_Clear_Tab               : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_199_4">KEY_CTAB</A>;
-   <span class="symbol"><A NAME="ref_202_4">KEY_CATAB</A></span>                   : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_150_4">KEY_CATAB</A>;
-   Key_Clear_All_Tabs          : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_202_4">KEY_CATAB</A>;
-   <span class="symbol"><A NAME="ref_205_4">KEY_ENTER</A></span>                   : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_151_4">KEY_ENTER</A>;
-   Key_Enter_Or_Send           : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_205_4">KEY_ENTER</A>;
-   <span class="symbol"><A NAME="ref_208_4">KEY_SRESET</A></span>                  : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_152_4">KEY_SRESET</A>;
-   Key_Soft_Reset              : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_208_4">KEY_SRESET</A>;
-   <span class="symbol"><A NAME="ref_211_4">Key_Reset</A></span>                   : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_153_4">KEY_RESET</A>;
-   <span class="symbol"><A NAME="ref_213_4">Key_Print</A></span>                   : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_154_4">KEY_PRINT</A>;
-   <span class="symbol"><A NAME="ref_215_4">KEY_LL</A></span>                      : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_155_4">KEY_LL</A>;
-   Key_Bottom                  : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_215_4">KEY_LL</A>;
-   <span class="symbol"><A NAME="ref_218_4">KEY_A1</A></span>                      : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_156_4">KEY_A1</A>;
-   Key_Upper_Left_Of_Keypad    : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_218_4">KEY_A1</A>;
-   <span class="symbol"><A NAME="ref_221_4">KEY_A3</A></span>                      : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_157_4">KEY_A3</A>;
-   Key_Upper_Right_Of_Keypad   : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_221_4">KEY_A3</A>;
-   <span class="symbol"><A NAME="ref_224_4">KEY_B2</A></span>                      : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_158_4">KEY_B2</A>;
-   Key_Center_Of_Keypad        : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_224_4">KEY_B2</A>;
-   <span class="symbol"><A NAME="ref_227_4">KEY_C1</A></span>                      : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_159_4">KEY_C1</A>;
-   Key_Lower_Left_Of_Keypad    : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_227_4">KEY_C1</A>;
-   <span class="symbol"><A NAME="ref_230_4">KEY_C3</A></span>                      : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_160_4">KEY_C3</A>;
-   Key_Lower_Right_Of_Keypad   : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_230_4">KEY_C3</A>;
-   <span class="symbol"><A NAME="ref_233_4">KEY_BTAB</A></span>                    : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_161_4">KEY_BTAB</A>;
-   Key_Back_Tab                : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_233_4">KEY_BTAB</A>;
-   <span class="symbol"><A NAME="ref_236_4">KEY_BEG</A></span>                     : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_162_4">KEY_BEG</A>;
-   Key_Beginning               : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_236_4">KEY_BEG</A>;
-   <span class="symbol"><A NAME="ref_239_4">Key_Cancel</A></span>                  : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_163_4">KEY_CANCEL</A>;
-   <span class="symbol"><A NAME="ref_241_4">Key_Close</A></span>                   : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_164_4">KEY_CLOSE</A>;
-   <span class="symbol"><A NAME="ref_243_4">Key_Command</A></span>                 : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_165_4">KEY_COMMAND</A>;
-   <span class="symbol"><A NAME="ref_245_4">Key_Copy</A></span>                    : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_166_4">KEY_COPY</A>;
-   <span class="symbol"><A NAME="ref_247_4">Key_Create</A></span>                  : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_167_4">KEY_CREATE</A>;
-   <span class="symbol"><A NAME="ref_249_4">Key_End</A></span>                     : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_168_4">KEY_END</A>;
-   <span class="symbol"><A NAME="ref_251_4">Key_Exit</A></span>                    : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_169_4">KEY_EXIT</A>;
-   <span class="symbol"><A NAME="ref_253_4">Key_Find</A></span>                    : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_170_4">KEY_FIND</A>;
-   <span class="symbol"><A NAME="ref_255_4">Key_Help</A></span>                    : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_171_4">KEY_HELP</A>;
-   <span class="symbol"><A NAME="ref_257_4">Key_Mark</A></span>                    : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_172_4">KEY_MARK</A>;
-   <span class="symbol"><A NAME="ref_259_4">Key_Message</A></span>                 : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_173_4">KEY_MESSAGE</A>;
-   <span class="symbol"><A NAME="ref_261_4">Key_Move</A></span>                    : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_174_4">KEY_MOVE</A>;
-   <span class="symbol"><A NAME="ref_263_4">Key_Next</A></span>                    : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_175_4">KEY_NEXT</A>;
-   <span class="symbol"><A NAME="ref_265_4">Key_Open</A></span>                    : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_176_4">KEY_OPEN</A>;
-   <span class="symbol"><A NAME="ref_267_4">Key_Options</A></span>                 : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_177_4">KEY_OPTIONS</A>;
-   <span class="symbol"><A NAME="ref_269_4">Key_Previous</A></span>                : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_178_4">KEY_PREVIOUS</A>;
-   <span class="symbol"><A NAME="ref_271_4">Key_Redo</A></span>                    : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_179_4">KEY_REDO</A>;
-   <span class="symbol"><A NAME="ref_273_4">Key_Reference</A></span>               : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_180_4">KEY_REFERENCE</A>;
-   <span class="symbol"><A NAME="ref_275_4">Key_Refresh</A></span>                 : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_181_4">KEY_REFRESH</A>;
-   <span class="symbol"><A NAME="ref_277_4">Key_Replace</A></span>                 : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_182_4">KEY_REPLACE</A>;
-   <span class="symbol"><A NAME="ref_279_4">Key_Restart</A></span>                 : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_183_4">KEY_RESTART</A>;
-   <span class="symbol"><A NAME="ref_281_4">Key_Resume</A></span>                  : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_184_4">KEY_RESUME</A>;
-   <span class="symbol"><A NAME="ref_283_4">Key_Save</A></span>                    : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_185_4">KEY_SAVE</A>;
-   <span class="symbol"><A NAME="ref_285_4">KEY_SBEG</A></span>                    : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_186_4">KEY_SBEG</A>;
-   Key_Shift_Begin             : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_285_4">KEY_SBEG</A>;
-   <span class="symbol"><A NAME="ref_288_4">KEY_SCANCEL</A></span>                 : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_187_4">KEY_SCANCEL</A>;
-   Key_Shift_Cancel            : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_288_4">KEY_SCANCEL</A>;
-   <span class="symbol"><A NAME="ref_291_4">KEY_SCOMMAND</A></span>                : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_188_4">KEY_SCOMMAND</A>;
-   Key_Shift_Command           : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_291_4">KEY_SCOMMAND</A>;
-   <span class="symbol"><A NAME="ref_294_4">KEY_SCOPY</A></span>                   : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_189_4">KEY_SCOPY</A>;
-   Key_Shift_Copy              : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_294_4">KEY_SCOPY</A>;
-   <span class="symbol"><A NAME="ref_297_4">KEY_SCREATE</A></span>                 : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_190_4">KEY_SCREATE</A>;
-   Key_Shift_Create            : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_297_4">KEY_SCREATE</A>;
-   <span class="symbol"><A NAME="ref_300_4">KEY_SDC</A></span>                     : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_191_4">KEY_SDC</A>;
-   Key_Shift_Delete_Char       : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_300_4">KEY_SDC</A>;
-   <span class="symbol"><A NAME="ref_303_4">KEY_SDL</A></span>                     : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_192_4">KEY_SDL</A>;
-   Key_Shift_Delete_Line       : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_303_4">KEY_SDL</A>;
-   <span class="symbol"><A NAME="ref_306_4">Key_Select</A></span>                  : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_193_4">KEY_SELECT</A>;
-   <span class="symbol"><A NAME="ref_308_4">KEY_SEND</A></span>                    : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_194_4">KEY_SEND</A>;
-   Key_Shift_End               : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_308_4">KEY_SEND</A>;
-   <span class="symbol"><A NAME="ref_311_4">KEY_SEOL</A></span>                    : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_195_4">KEY_SEOL</A>;
-   Key_Shift_Clear_End_Of_Line : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_311_4">KEY_SEOL</A>;
-   <span class="symbol"><A NAME="ref_314_4">KEY_SEXIT</A></span>                   : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_196_4">KEY_SEXIT</A>;
-   Key_Shift_Exit              : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_314_4">KEY_SEXIT</A>;
-   <span class="symbol"><A NAME="ref_317_4">KEY_SFIND</A></span>                   : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_197_4">KEY_SFIND</A>;
-   Key_Shift_Find              : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_317_4">KEY_SFIND</A>;
-   <span class="symbol"><A NAME="ref_320_4">KEY_SHELP</A></span>                   : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_198_4">KEY_SHELP</A>;
-   Key_Shift_Help              : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_320_4">KEY_SHELP</A>;
-   <span class="symbol"><A NAME="ref_323_4">KEY_SHOME</A></span>                   : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_199_4">KEY_SHOME</A>;
-   Key_Shift_Home              : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_323_4">KEY_SHOME</A>;
-   <span class="symbol"><A NAME="ref_326_4">KEY_SIC</A></span>                     : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_200_4">KEY_SIC</A>;
-   Key_Shift_Insert_Char       : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_326_4">KEY_SIC</A>;
-   <span class="symbol"><A NAME="ref_329_4">KEY_SLEFT</A></span>                   : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_201_4">KEY_SLEFT</A>;
-   Key_Shift_Cursor_Left       : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_329_4">KEY_SLEFT</A>;
-   <span class="symbol"><A NAME="ref_332_4">KEY_SMESSAGE</A></span>                : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_202_4">KEY_SMESSAGE</A>;
-   Key_Shift_Message           : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_332_4">KEY_SMESSAGE</A>;
-   <span class="symbol"><A NAME="ref_335_4">KEY_SMOVE</A></span>                   : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_203_4">KEY_SMOVE</A>;
-   Key_Shift_Move              : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_335_4">KEY_SMOVE</A>;
-   <span class="symbol"><A NAME="ref_338_4">KEY_SNEXT</A></span>                   : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_204_4">KEY_SNEXT</A>;
-   Key_Shift_Next_Page         : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_338_4">KEY_SNEXT</A>;
-   <span class="symbol"><A NAME="ref_341_4">KEY_SOPTIONS</A></span>                : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_205_4">KEY_SOPTIONS</A>;
-   Key_Shift_Options           : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_341_4">KEY_SOPTIONS</A>;
-   <span class="symbol"><A NAME="ref_344_4">KEY_SPREVIOUS</A></span>               : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_206_4">KEY_SPREVIOUS</A>;
-   Key_Shift_Previous_Page     : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_344_4">KEY_SPREVIOUS</A>;
-   <span class="symbol"><A NAME="ref_347_4">KEY_SPRINT</A></span>                  : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_207_4">KEY_SPRINT</A>;
-   Key_Shift_Print             : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_347_4">KEY_SPRINT</A>;
-   <span class="symbol"><A NAME="ref_350_4">KEY_SREDO</A></span>                   : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_208_4">KEY_SREDO</A>;
-   Key_Shift_Redo              : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_350_4">KEY_SREDO</A>;
-   <span class="symbol"><A NAME="ref_353_4">KEY_SREPLACE</A></span>                : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_209_4">KEY_SREPLACE</A>;
-   Key_Shift_Replace           : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_353_4">KEY_SREPLACE</A>;
-   <span class="symbol"><A NAME="ref_356_4">KEY_SRIGHT</A></span>                  : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_210_4">KEY_SRIGHT</A>;
-   Key_Shift_Cursor_Right      : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_356_4">KEY_SRIGHT</A>;
-   <span class="symbol"><A NAME="ref_359_4">KEY_SRSUME</A></span>                  : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_211_4">KEY_SRSUME</A>;
-   Key_Shift_Resume            : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_359_4">KEY_SRSUME</A>;
-   <span class="symbol"><A NAME="ref_362_4">KEY_SSAVE</A></span>                   : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_212_4">KEY_SSAVE</A>;
-   Key_Shift_Save              : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_362_4">KEY_SSAVE</A>;
-   <span class="symbol"><A NAME="ref_365_4">KEY_SSUSPEND</A></span>                : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_213_4">KEY_SSUSPEND</A>;
-   Key_Shift_Suspend           : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_365_4">KEY_SSUSPEND</A>;
-   <span class="symbol"><A NAME="ref_368_4">KEY_SUNDO</A></span>                   : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_214_4">KEY_SUNDO</A>;
-   Key_Shift_Undo              : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_368_4">KEY_SUNDO</A>;
-   <span class="symbol"><A NAME="ref_371_4">Key_Suspend</A></span>                 : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_215_4">KEY_SUSPEND</A>;
-   <span class="symbol"><A NAME="ref_373_4">Key_Undo</A></span>                    : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_216_4">KEY_UNDO</A>;
-   <span class="symbol"><A NAME="ref_375_4">Key_Mouse</A></span>                   : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_217_4">KEY_MOUSE</A>;
-   <span class="symbol"><A NAME="ref_377_4">Key_Resize</A></span>                  : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_218_4">KEY_RESIZE</A>;
-   <span class="symbol"><A NAME="ref_379_4">Key_Max</A></span>                     : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
-     := <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>'Last;
+   <span class="comment"><em>--  Constants for function- and special keys</em></span>
+   <span class="symbol"><a name="ref_89_4">Key_None</a></span>                    : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_98_4">KEY_MIN</a> - 1;
+   <span class="symbol"><a name="ref_91_4">Key_Min</a></span>                     : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_98_4">KEY_MIN</a>;
+   <span class="symbol"><a name="ref_93_4">Key_Break</a></span>                   : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_104_4">KEY_BREAK</a>;
+   <span class="symbol"><a name="ref_95_4">KEY_DOWN</a></span>                    : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_105_4">KEY_DOWN</a>;
+   Key_Cursor_Down             : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_95_4">KEY_DOWN</a>;
+   <span class="symbol"><a name="ref_98_4">KEY_UP</a></span>                      : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_106_4">KEY_UP</a>;
+   Key_Cursor_Up               : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_98_4">KEY_UP</a>;
+   <span class="symbol"><a name="ref_101_4">KEY_LEFT</a></span>                    : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_107_4">KEY_LEFT</a>;
+   Key_Cursor_Left             : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_101_4">KEY_LEFT</a>;
+   <span class="symbol"><a name="ref_104_4">KEY_RIGHT</a></span>                   : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_108_4">KEY_RIGHT</a>;
+   Key_Cursor_Right            : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_104_4">KEY_RIGHT</a>;
+   <span class="symbol"><a name="ref_107_4">Key_Home</a></span>                    : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_109_4">KEY_HOME</a>;
+   <span class="symbol"><a name="ref_109_4">Key_Backspace</a></span>               : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_110_4">KEY_BACKSPACE</a>;
+   <span class="symbol"><a name="ref_111_4">Key_F0</a></span>                      : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_111_4">KEY_F0</a>;
+   <span class="symbol"><a name="ref_113_4">Key_F1</a></span>                      : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_112_4">KEY_F1</a>;
+   <span class="symbol"><a name="ref_115_4">Key_F2</a></span>                      : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_113_4">KEY_F2</a>;
+   <span class="symbol"><a name="ref_117_4">Key_F3</a></span>                      : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_114_4">KEY_F3</a>;
+   <span class="symbol"><a name="ref_119_4">Key_F4</a></span>                      : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_115_4">KEY_F4</a>;
+   <span class="symbol"><a name="ref_121_4">Key_F5</a></span>                      : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_116_4">KEY_F5</a>;
+   <span class="symbol"><a name="ref_123_4">Key_F6</a></span>                      : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_117_4">KEY_F6</a>;
+   <span class="symbol"><a name="ref_125_4">Key_F7</a></span>                      : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_118_4">KEY_F7</a>;
+   <span class="symbol"><a name="ref_127_4">Key_F8</a></span>                      : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_119_4">KEY_F8</a>;
+   <span class="symbol"><a name="ref_129_4">Key_F9</a></span>                      : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_120_4">KEY_F9</a>;
+   <span class="symbol"><a name="ref_131_4">Key_F10</a></span>                     : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_121_4">KEY_F10</a>;
+   <span class="symbol"><a name="ref_133_4">Key_F11</a></span>                     : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_122_4">KEY_F11</a>;
+   <span class="symbol"><a name="ref_135_4">Key_F12</a></span>                     : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_123_4">KEY_F12</a>;
+   <span class="symbol"><a name="ref_137_4">Key_F13</a></span>                     : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_124_4">KEY_F13</a>;
+   <span class="symbol"><a name="ref_139_4">Key_F14</a></span>                     : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_125_4">KEY_F14</a>;
+   <span class="symbol"><a name="ref_141_4">Key_F15</a></span>                     : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_126_4">KEY_F15</a>;
+   <span class="symbol"><a name="ref_143_4">Key_F16</a></span>                     : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_127_4">KEY_F16</a>;
+   <span class="symbol"><a name="ref_145_4">Key_F17</a></span>                     : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_128_4">KEY_F17</a>;
+   <span class="symbol"><a name="ref_147_4">Key_F18</a></span>                     : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_129_4">KEY_F18</a>;
+   <span class="symbol"><a name="ref_149_4">Key_F19</a></span>                     : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_130_4">KEY_F19</a>;
+   <span class="symbol"><a name="ref_151_4">Key_F20</a></span>                     : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_131_4">KEY_F20</a>;
+   <span class="symbol"><a name="ref_153_4">Key_F21</a></span>                     : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_132_4">KEY_F21</a>;
+   <span class="symbol"><a name="ref_155_4">Key_F22</a></span>                     : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_133_4">KEY_F22</a>;
+   <span class="symbol"><a name="ref_157_4">Key_F23</a></span>                     : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_134_4">KEY_F23</a>;
+   <span class="symbol"><a name="ref_159_4">Key_F24</a></span>                     : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_135_4">KEY_F24</a>;
+   <span class="symbol"><a name="ref_161_4">KEY_DL</a></span>                      : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_136_4">KEY_DL</a>;
+   Key_Delete_Line             : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_161_4">KEY_DL</a>;
+   <span class="symbol"><a name="ref_164_4">KEY_IL</a></span>                      : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_137_4">KEY_IL</a>;
+   Key_Insert_Line             : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_164_4">KEY_IL</a>;
+   <span class="symbol"><a name="ref_167_4">KEY_DC</a></span>                      : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_138_4">KEY_DC</a>;
+   Key_Delete_Char             : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_167_4">KEY_DC</a>;
+   <span class="symbol"><a name="ref_170_4">KEY_IC</a></span>                      : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_139_4">KEY_IC</a>;
+   Key_Insert_Char             : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_170_4">KEY_IC</a>;
+   <span class="symbol"><a name="ref_173_4">KEY_EIC</a></span>                     : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_140_4">KEY_EIC</a>;
+   Key_Exit_Insert_Mode        : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_173_4">KEY_EIC</a>;
+   <span class="symbol"><a name="ref_176_4">KEY_CLEAR</a></span>                   : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_141_4">KEY_CLEAR</a>;
+   Key_Clear_Screen            : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_176_4">KEY_CLEAR</a>;
+   <span class="symbol"><a name="ref_179_4">KEY_EOS</a></span>                     : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_142_4">KEY_EOS</a>;
+   Key_Clear_End_Of_Screen     : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_179_4">KEY_EOS</a>;
+   <span class="symbol"><a name="ref_182_4">KEY_EOL</a></span>                     : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_143_4">KEY_EOL</a>;
+   Key_Clear_End_Of_Line       : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_182_4">KEY_EOL</a>;
+   <span class="symbol"><a name="ref_185_4">KEY_SF</a></span>                      : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_144_4">KEY_SF</a>;
+   Key_Scroll_1_Forward        : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_185_4">KEY_SF</a>;
+   <span class="symbol"><a name="ref_188_4">KEY_SR</a></span>                      : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_145_4">KEY_SR</a>;
+   Key_Scroll_1_Backward       : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_188_4">KEY_SR</a>;
+   <span class="symbol"><a name="ref_191_4">KEY_NPAGE</a></span>                   : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_146_4">KEY_NPAGE</a>;
+   Key_Next_Page               : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_191_4">KEY_NPAGE</a>;
+   <span class="symbol"><a name="ref_194_4">KEY_PPAGE</a></span>                   : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_147_4">KEY_PPAGE</a>;
+   Key_Previous_Page           : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_194_4">KEY_PPAGE</a>;
+   <span class="symbol"><a name="ref_197_4">KEY_STAB</a></span>                    : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_148_4">KEY_STAB</a>;
+   Key_Set_Tab                 : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_197_4">KEY_STAB</a>;
+   <span class="symbol"><a name="ref_200_4">KEY_CTAB</a></span>                    : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_149_4">KEY_CTAB</a>;
+   Key_Clear_Tab               : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_200_4">KEY_CTAB</a>;
+   <span class="symbol"><a name="ref_203_4">KEY_CATAB</a></span>                   : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_150_4">KEY_CATAB</a>;
+   Key_Clear_All_Tabs          : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_203_4">KEY_CATAB</a>;
+   <span class="symbol"><a name="ref_206_4">KEY_ENTER</a></span>                   : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_151_4">KEY_ENTER</a>;
+   Key_Enter_Or_Send           : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_206_4">KEY_ENTER</a>;
+   <span class="symbol"><a name="ref_209_4">KEY_SRESET</a></span>                  : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_152_4">KEY_SRESET</a>;
+   Key_Soft_Reset              : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_209_4">KEY_SRESET</a>;
+   <span class="symbol"><a name="ref_212_4">Key_Reset</a></span>                   : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_153_4">KEY_RESET</a>;
+   <span class="symbol"><a name="ref_214_4">Key_Print</a></span>                   : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_154_4">KEY_PRINT</a>;
+   <span class="symbol"><a name="ref_216_4">KEY_LL</a></span>                      : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_155_4">KEY_LL</a>;
+   Key_Bottom                  : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_216_4">KEY_LL</a>;
+   <span class="symbol"><a name="ref_219_4">KEY_A1</a></span>                      : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_156_4">KEY_A1</a>;
+   Key_Upper_Left_Of_Keypad    : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_219_4">KEY_A1</a>;
+   <span class="symbol"><a name="ref_222_4">KEY_A3</a></span>                      : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_157_4">KEY_A3</a>;
+   Key_Upper_Right_Of_Keypad   : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_222_4">KEY_A3</a>;
+   <span class="symbol"><a name="ref_225_4">KEY_B2</a></span>                      : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_158_4">KEY_B2</a>;
+   Key_Center_Of_Keypad        : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_225_4">KEY_B2</a>;
+   <span class="symbol"><a name="ref_228_4">KEY_C1</a></span>                      : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_159_4">KEY_C1</a>;
+   Key_Lower_Left_Of_Keypad    : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_228_4">KEY_C1</a>;
+   <span class="symbol"><a name="ref_231_4">KEY_C3</a></span>                      : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_160_4">KEY_C3</a>;
+   Key_Lower_Right_Of_Keypad   : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_231_4">KEY_C3</a>;
+   <span class="symbol"><a name="ref_234_4">KEY_BTAB</a></span>                    : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_161_4">KEY_BTAB</a>;
+   Key_Back_Tab                : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_234_4">KEY_BTAB</a>;
+   <span class="symbol"><a name="ref_237_4">KEY_BEG</a></span>                     : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_162_4">KEY_BEG</a>;
+   Key_Beginning               : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_237_4">KEY_BEG</a>;
+   <span class="symbol"><a name="ref_240_4">Key_Cancel</a></span>                  : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_163_4">KEY_CANCEL</a>;
+   <span class="symbol"><a name="ref_242_4">Key_Close</a></span>                   : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_164_4">KEY_CLOSE</a>;
+   <span class="symbol"><a name="ref_244_4">Key_Command</a></span>                 : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_165_4">KEY_COMMAND</a>;
+   <span class="symbol"><a name="ref_246_4">Key_Copy</a></span>                    : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_166_4">KEY_COPY</a>;
+   <span class="symbol"><a name="ref_248_4">Key_Create</a></span>                  : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_167_4">KEY_CREATE</a>;
+   <span class="symbol"><a name="ref_250_4">Key_End</a></span>                     : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_168_4">KEY_END</a>;
+   <span class="symbol"><a name="ref_252_4">Key_Exit</a></span>                    : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_169_4">KEY_EXIT</a>;
+   <span class="symbol"><a name="ref_254_4">Key_Find</a></span>                    : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_170_4">KEY_FIND</a>;
+   <span class="symbol"><a name="ref_256_4">Key_Help</a></span>                    : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_171_4">KEY_HELP</a>;
+   <span class="symbol"><a name="ref_258_4">Key_Mark</a></span>                    : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_172_4">KEY_MARK</a>;
+   <span class="symbol"><a name="ref_260_4">Key_Message</a></span>                 : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_173_4">KEY_MESSAGE</a>;
+   <span class="symbol"><a name="ref_262_4">Key_Move</a></span>                    : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_174_4">KEY_MOVE</a>;
+   <span class="symbol"><a name="ref_264_4">Key_Next</a></span>                    : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_175_4">KEY_NEXT</a>;
+   <span class="symbol"><a name="ref_266_4">Key_Open</a></span>                    : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_176_4">KEY_OPEN</a>;
+   <span class="symbol"><a name="ref_268_4">Key_Options</a></span>                 : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_177_4">KEY_OPTIONS</a>;
+   <span class="symbol"><a name="ref_270_4">Key_Previous</a></span>                : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_178_4">KEY_PREVIOUS</a>;
+   <span class="symbol"><a name="ref_272_4">Key_Redo</a></span>                    : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_179_4">KEY_REDO</a>;
+   <span class="symbol"><a name="ref_274_4">Key_Reference</a></span>               : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_180_4">KEY_REFERENCE</a>;
+   <span class="symbol"><a name="ref_276_4">Key_Refresh</a></span>                 : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_181_4">KEY_REFRESH</a>;
+   <span class="symbol"><a name="ref_278_4">Key_Replace</a></span>                 : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_182_4">KEY_REPLACE</a>;
+   <span class="symbol"><a name="ref_280_4">Key_Restart</a></span>                 : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_183_4">KEY_RESTART</a>;
+   <span class="symbol"><a name="ref_282_4">Key_Resume</a></span>                  : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_184_4">KEY_RESUME</a>;
+   <span class="symbol"><a name="ref_284_4">Key_Save</a></span>                    : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_185_4">KEY_SAVE</a>;
+   <span class="symbol"><a name="ref_286_4">KEY_SBEG</a></span>                    : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_186_4">KEY_SBEG</a>;
+   Key_Shift_Begin             : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_286_4">KEY_SBEG</a>;
+   <span class="symbol"><a name="ref_289_4">KEY_SCANCEL</a></span>                 : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_187_4">KEY_SCANCEL</a>;
+   Key_Shift_Cancel            : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_289_4">KEY_SCANCEL</a>;
+   <span class="symbol"><a name="ref_292_4">KEY_SCOMMAND</a></span>                : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_188_4">KEY_SCOMMAND</a>;
+   Key_Shift_Command           : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_292_4">KEY_SCOMMAND</a>;
+   <span class="symbol"><a name="ref_295_4">KEY_SCOPY</a></span>                   : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_189_4">KEY_SCOPY</a>;
+   Key_Shift_Copy              : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_295_4">KEY_SCOPY</a>;
+   <span class="symbol"><a name="ref_298_4">KEY_SCREATE</a></span>                 : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_190_4">KEY_SCREATE</a>;
+   Key_Shift_Create            : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_298_4">KEY_SCREATE</a>;
+   <span class="symbol"><a name="ref_301_4">KEY_SDC</a></span>                     : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_191_4">KEY_SDC</a>;
+   Key_Shift_Delete_Char       : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_301_4">KEY_SDC</a>;
+   <span class="symbol"><a name="ref_304_4">KEY_SDL</a></span>                     : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_192_4">KEY_SDL</a>;
+   Key_Shift_Delete_Line       : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_304_4">KEY_SDL</a>;
+   <span class="symbol"><a name="ref_307_4">Key_Select</a></span>                  : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_193_4">KEY_SELECT</a>;
+   <span class="symbol"><a name="ref_309_4">KEY_SEND</a></span>                    : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_194_4">KEY_SEND</a>;
+   Key_Shift_End               : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_309_4">KEY_SEND</a>;
+   <span class="symbol"><a name="ref_312_4">KEY_SEOL</a></span>                    : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_195_4">KEY_SEOL</a>;
+   Key_Shift_Clear_End_Of_Line : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_312_4">KEY_SEOL</a>;
+   <span class="symbol"><a name="ref_315_4">KEY_SEXIT</a></span>                   : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_196_4">KEY_SEXIT</a>;
+   Key_Shift_Exit              : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_315_4">KEY_SEXIT</a>;
+   <span class="symbol"><a name="ref_318_4">KEY_SFIND</a></span>                   : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_197_4">KEY_SFIND</a>;
+   Key_Shift_Find              : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_318_4">KEY_SFIND</a>;
+   <span class="symbol"><a name="ref_321_4">KEY_SHELP</a></span>                   : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_198_4">KEY_SHELP</a>;
+   Key_Shift_Help              : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_321_4">KEY_SHELP</a>;
+   <span class="symbol"><a name="ref_324_4">KEY_SHOME</a></span>                   : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_199_4">KEY_SHOME</a>;
+   Key_Shift_Home              : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_324_4">KEY_SHOME</a>;
+   <span class="symbol"><a name="ref_327_4">KEY_SIC</a></span>                     : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_200_4">KEY_SIC</a>;
+   Key_Shift_Insert_Char       : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_327_4">KEY_SIC</a>;
+   <span class="symbol"><a name="ref_330_4">KEY_SLEFT</a></span>                   : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_201_4">KEY_SLEFT</a>;
+   Key_Shift_Cursor_Left       : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_330_4">KEY_SLEFT</a>;
+   <span class="symbol"><a name="ref_333_4">KEY_SMESSAGE</a></span>                : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_202_4">KEY_SMESSAGE</a>;
+   Key_Shift_Message           : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_333_4">KEY_SMESSAGE</a>;
+   <span class="symbol"><a name="ref_336_4">KEY_SMOVE</a></span>                   : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_203_4">KEY_SMOVE</a>;
+   Key_Shift_Move              : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_336_4">KEY_SMOVE</a>;
+   <span class="symbol"><a name="ref_339_4">KEY_SNEXT</a></span>                   : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_204_4">KEY_SNEXT</a>;
+   Key_Shift_Next_Page         : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_339_4">KEY_SNEXT</a>;
+   <span class="symbol"><a name="ref_342_4">KEY_SOPTIONS</a></span>                : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_205_4">KEY_SOPTIONS</a>;
+   Key_Shift_Options           : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_342_4">KEY_SOPTIONS</a>;
+   <span class="symbol"><a name="ref_345_4">KEY_SPREVIOUS</a></span>               : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_206_4">KEY_SPREVIOUS</a>;
+   Key_Shift_Previous_Page     : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_345_4">KEY_SPREVIOUS</a>;
+   <span class="symbol"><a name="ref_348_4">KEY_SPRINT</a></span>                  : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_207_4">KEY_SPRINT</a>;
+   Key_Shift_Print             : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_348_4">KEY_SPRINT</a>;
+   <span class="symbol"><a name="ref_351_4">KEY_SREDO</a></span>                   : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_208_4">KEY_SREDO</a>;
+   Key_Shift_Redo              : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_351_4">KEY_SREDO</a>;
+   <span class="symbol"><a name="ref_354_4">KEY_SREPLACE</a></span>                : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_209_4">KEY_SREPLACE</a>;
+   Key_Shift_Replace           : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_354_4">KEY_SREPLACE</a>;
+   <span class="symbol"><a name="ref_357_4">KEY_SRIGHT</a></span>                  : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_210_4">KEY_SRIGHT</a>;
+   Key_Shift_Cursor_Right      : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_357_4">KEY_SRIGHT</a>;
+   <span class="symbol"><a name="ref_360_4">KEY_SRSUME</a></span>                  : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_211_4">KEY_SRSUME</a>;
+   Key_Shift_Resume            : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_360_4">KEY_SRSUME</a>;
+   <span class="symbol"><a name="ref_363_4">KEY_SSAVE</a></span>                   : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_212_4">KEY_SSAVE</a>;
+   Key_Shift_Save              : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_363_4">KEY_SSAVE</a>;
+   <span class="symbol"><a name="ref_366_4">KEY_SSUSPEND</a></span>                : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_213_4">KEY_SSUSPEND</a>;
+   Key_Shift_Suspend           : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_366_4">KEY_SSUSPEND</a>;
+   <span class="symbol"><a name="ref_369_4">KEY_SUNDO</a></span>                   : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_214_4">KEY_SUNDO</a>;
+   Key_Shift_Undo              : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_369_4">KEY_SUNDO</a>;
+   <span class="symbol"><a name="ref_372_4">Key_Suspend</a></span>                 : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_215_4">KEY_SUSPEND</a>;
+   <span class="symbol"><a name="ref_374_4">Key_Undo</a></span>                    : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_216_4">KEY_UNDO</a>;
+   <span class="symbol"><a name="ref_376_4">Key_Mouse</a></span>                   : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_217_4">KEY_MOUSE</a>;
+   <span class="symbol"><a name="ref_378_4">Key_Resize</a></span>                  : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_218_4">KEY_RESIZE</a>;
+   <span class="symbol"><a name="ref_380_4">Key_Max</a></span>                     : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>
+     := <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>'Last;
 
-   <b>subtype</b> <span class="symbol"><A NAME="ref_382_12">User_Key_Code</A></span> <b>is</b> <A HREF="terminal_interface-curses__ads.htm#ref_66_9">Key_Code</A>
-     <b>range</b> (<A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 129) .. <A HREF="terminal_interface-curses__ads.htm#ref_66_9">Key_Code</A>'Last;
-   <span class="comment"><EM>--  This is reserved for user defined key codes. The range between Key_Max</EM></span>
-   <span class="comment"><EM>--  and the first user code is reserved for subsystems like menu and forms.</EM></span>
+   <b>subtype</b> <span class="symbol"><a name="ref_383_12">User_Key_Code</a></span> <b>is</b> <a href="terminal_interface-curses__ads.htm#ref_67_9">Key_Code</a>
+     <b>range</b> (<a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 129) .. <a href="terminal_interface-curses__ads.htm#ref_67_9">Key_Code</a>'Last;
+   <span class="comment"><em>--  This is reserved for user defined key codes. The range between Key_Max</em></span>
+   <span class="comment"><em>--  and the first user code is reserved for subsystems like menu and forms.</em></span>
 
-   <span class="comment"><EM>--------------------------------------------------------------------------</EM></span>
+   <span class="comment"><em>--------------------------------------------------------------------------</em></span>
 
-   <b>type</b> <span class="symbol"><A NAME="ref_389_9">Color_Number</A></span> <b>is</b> <b>range</b> -1 .. Integer (<A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.short'Last);
-   <b>for</b> <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A>'Size <b>use</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.short'Size;
-   <span class="comment"><EM>--  (n)curses uses a short for the color index</EM></span>
-   <span class="comment"><EM>--  The model is, that a Color_Number is an index into an array of</EM></span>
-   <span class="comment"><EM>--  (potentially) definable colors. Some of those indices are</EM></span>
-   <span class="comment"><EM>--  predefined (see below), although they may not really exist.</EM></span>
+   <b>type</b> <span class="symbol"><a name="ref_390_9">Color_Number</a></span> <b>is</b> <b>range</b> -1 .. Integer (<a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.short'Last);
+   <b>for</b> <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a>'Size <b>use</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.short'Size;
+   <span class="comment"><em>--  (n)curses uses a short for the color index</em></span>
+   <span class="comment"><em>--  The model is, that a Color_Number is an index into an array of</em></span>
+   <span class="comment"><em>--  (potentially) definable colors. Some of those indices are</em></span>
+   <span class="comment"><em>--  predefined (see below), although they may not really exist.</em></span>
 
-   <span class="symbol"><A NAME="ref_396_4">Black</A></span>   : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_69_4">COLOR_BLACK</A>;
-   <span class="symbol"><A NAME="ref_397_4">Red</A></span>     : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_70_4">COLOR_RED</A>;
-   <span class="symbol"><A NAME="ref_398_4">Green</A></span>   : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_71_4">COLOR_GREEN</A>;
-   <span class="symbol"><A NAME="ref_399_4">Yellow</A></span>  : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_72_4">COLOR_YELLOW</A>;
-   <span class="symbol"><A NAME="ref_400_4">Blue</A></span>    : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_73_4">COLOR_BLUE</A>;
-   <span class="symbol"><A NAME="ref_401_4">Magenta</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_74_4">COLOR_MAGENTA</A>;
-   <span class="symbol"><A NAME="ref_402_4">Cyan</A></span>    : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_75_4">COLOR_CYAN</A>;
-   <span class="symbol"><A NAME="ref_403_4">White</A></span>   : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_76_4">COLOR_WHITE</A>;
+   <span class="symbol"><a name="ref_397_4">Black</a></span>   : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a> := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_69_4">COLOR_BLACK</a>;
+   <span class="symbol"><a name="ref_398_4">Red</a></span>     : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a> := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_70_4">COLOR_RED</a>;
+   <span class="symbol"><a name="ref_399_4">Green</a></span>   : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a> := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_71_4">COLOR_GREEN</a>;
+   <span class="symbol"><a name="ref_400_4">Yellow</a></span>  : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a> := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_72_4">COLOR_YELLOW</a>;
+   <span class="symbol"><a name="ref_401_4">Blue</a></span>    : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a> := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_73_4">COLOR_BLUE</a>;
+   <span class="symbol"><a name="ref_402_4">Magenta</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a> := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_74_4">COLOR_MAGENTA</a>;
+   <span class="symbol"><a name="ref_403_4">Cyan</a></span>    : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a> := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_75_4">COLOR_CYAN</a>;
+   <span class="symbol"><a name="ref_404_4">White</a></span>   : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a> := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_76_4">COLOR_WHITE</a>;
 
-   <b>type</b> <span class="symbol"><A NAME="ref_405_9">RGB_Value</A></span> <b>is</b> <b>range</b> 0 .. Integer (<A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.short'Last);
-   <b>for</b> <A HREF="terminal_interface-curses__ads.htm#ref_405_9">RGB_Value</A>'Size <b>use</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.short'Size;
-   <span class="comment"><EM>--  Some system may allow to redefine a color by setting RGB values.</EM></span>
+   <b>type</b> <span class="symbol"><a name="ref_406_9">RGB_Value</a></span> <b>is</b> <b>range</b> 0 .. Integer (<a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.short'Last);
+   <b>for</b> <a href="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</a>'Size <b>use</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.short'Size;
+   <span class="comment"><em>--  Some system may allow to redefine a color by setting RGB values.</em></span>
 
-   <b>type</b> <span class="symbol"><A NAME="ref_409_9">Color_Pair</A></span> <b>is</b> <b>range</b> 0 .. 255;
-   <b>for</b> <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'Size <b>use</b> 8;
-   <b>subtype</b> <span class="symbol"><A NAME="ref_411_12">Redefinable_Color_Pair</A></span> <b>is</b> <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> <b>range</b> 1 .. 255;
-   <span class="comment"><EM>--  (n)curses reserves 1 Byte for the color-pair number. Color Pair 0</EM></span>
-   <span class="comment"><EM>--  is fixed (Black &amp; White). A color pair is simply a combination of</EM></span>
-   <span class="comment"><EM>--  two colors described by Color_Numbers, one for the foreground and</EM></span>
-   <span class="comment"><EM>--  the other for the background</EM></span>
+   <b>type</b> <span class="symbol"><a name="ref_410_9">Color_Pair</a></span> <b>is</b> <b>range</b> 0 .. 255;
+   <b>for</b> <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'Size <b>use</b> 8;
+   <b>subtype</b> <span class="symbol"><a name="ref_412_12">Redefinable_Color_Pair</a></span> <b>is</b> <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> <b>range</b> 1 .. 255;
+   <span class="comment"><em>--  (n)curses reserves 1 Byte for the color-pair number. Color Pair 0</em></span>
+   <span class="comment"><em>--  is fixed (Black &amp; White). A color pair is simply a combination of</em></span>
+   <span class="comment"><em>--  two colors described by Color_Numbers, one for the foreground and</em></span>
+   <span class="comment"><em>--  the other for the background</em></span>
 
-   <b>type</b> <span class="symbol"><A NAME="ref_417_9">Character_Attribute_Set</A></span> <b>is</b>
+   <b>type</b> <span class="symbol"><a name="ref_418_9">Character_Attribute_Set</a></span> <b>is</b>
       <b>record</b>
-         <span class="symbol"><A NAME="ref_419_10">Stand_Out</A></span>               : Boolean;
-         <span class="symbol"><A NAME="ref_420_10">Under_Line</A></span>              : Boolean;
-         <span class="symbol"><A NAME="ref_421_10">Reverse_Video</A></span>           : Boolean;
-         <span class="symbol"><A NAME="ref_422_10">Blink</A></span>                   : Boolean;
-         <span class="symbol"><A NAME="ref_423_10">Dim_Character</A></span>           : Boolean;
-         <span class="symbol"><A NAME="ref_424_10">Bold_Character</A></span>          : Boolean;
-         <span class="symbol"><A NAME="ref_425_10">Protected_Character</A></span>     : Boolean;
-         <span class="symbol"><A NAME="ref_426_10">Invisible_Character</A></span>     : Boolean;
-         <span class="symbol"><A NAME="ref_427_10">Alternate_Character_Set</A></span> : Boolean;
-         <span class="symbol"><A NAME="ref_428_10">Horizontal</A></span>              : Boolean;
-         <span class="symbol"><A NAME="ref_429_10">Left</A></span>                    : Boolean;
-         <span class="symbol"><A NAME="ref_430_10">Low</A></span>                     : Boolean;
-         <span class="symbol"><A NAME="ref_431_10">Right</A></span>                   : Boolean;
-         <span class="symbol"><A NAME="ref_432_10">Top</A></span>                     : Boolean;
-         <span class="symbol"><A NAME="ref_433_10">Vertical</A></span>                : Boolean;
+         <span class="symbol"><a name="ref_420_10">Stand_Out</a></span>               : Boolean;
+         <span class="symbol"><a name="ref_421_10">Under_Line</a></span>              : Boolean;
+         <span class="symbol"><a name="ref_422_10">Reverse_Video</a></span>           : Boolean;
+         <span class="symbol"><a name="ref_423_10">Blink</a></span>                   : Boolean;
+         <span class="symbol"><a name="ref_424_10">Dim_Character</a></span>           : Boolean;
+         <span class="symbol"><a name="ref_425_10">Bold_Character</a></span>          : Boolean;
+         <span class="symbol"><a name="ref_426_10">Protected_Character</a></span>     : Boolean;
+         <span class="symbol"><a name="ref_427_10">Invisible_Character</a></span>     : Boolean;
+         <span class="symbol"><a name="ref_428_10">Alternate_Character_Set</a></span> : Boolean;
+         <span class="symbol"><a name="ref_429_10">Horizontal</a></span>              : Boolean;
+         <span class="symbol"><a name="ref_430_10">Left</a></span>                    : Boolean;
+         <span class="symbol"><a name="ref_431_10">Low</a></span>                     : Boolean;
+         <span class="symbol"><a name="ref_432_10">Right</a></span>                   : Boolean;
+         <span class="symbol"><a name="ref_433_10">Top</a></span>                     : Boolean;
+         <span class="symbol"><a name="ref_434_10">Vertical</a></span>                : Boolean;
       <b>end</b> <b>record</b>;
 
-   <b>for</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> <b>use</b>
+   <b>for</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> <b>use</b>
       <b>record</b>
-         <A HREF="terminal_interface-curses__ads.htm#ref_419_10">Stand_Out</A> <b>at</b> 0 <b>range</b>
-           <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_35_4">A_STANDOUT_First</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_36_4">A_STANDOUT_Last</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>;
-         <A HREF="terminal_interface-curses__ads.htm#ref_420_10">Under_Line</A> <b>at</b> 0 <b>range</b>
-           <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_37_4">A_UNDERLINE_First</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_38_4">A_UNDERLINE_Last</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>;
-         <A HREF="terminal_interface-curses__ads.htm#ref_421_10">Reverse_Video</A> <b>at</b> 0 <b>range</b>
-           <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_39_4">A_REVERSE_First</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_40_4">A_REVERSE_Last</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>;
-         <A HREF="terminal_interface-curses__ads.htm#ref_422_10">Blink</A> <b>at</b> 0 <b>range</b>
-           <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_41_4">A_BLINK_First</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_42_4">A_BLINK_Last</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>;
-         <A HREF="terminal_interface-curses__ads.htm#ref_423_10">Dim_Character</A> <b>at</b> 0 <b>range</b>
-           <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_43_4">A_DIM_First</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_44_4">A_DIM_Last</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>;
-         <A HREF="terminal_interface-curses__ads.htm#ref_424_10">Bold_Character</A> <b>at</b> 0 <b>range</b>
-           <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_45_4">A_BOLD_First</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_46_4">A_BOLD_Last</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>;
-         <A HREF="terminal_interface-curses__ads.htm#ref_425_10">Protected_Character</A> <b>at</b> 0 <b>range</b>
-           <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_47_4">A_PROTECT_First</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_48_4">A_PROTECT_Last</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>;
-         <A HREF="terminal_interface-curses__ads.htm#ref_426_10">Invisible_Character</A> <b>at</b> 0 <b>range</b>
-           <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_49_4">A_INVIS_First</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_50_4">A_INVIS_Last</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>;
-         <A HREF="terminal_interface-curses__ads.htm#ref_427_10">Alternate_Character_Set</A> <b>at</b> 0 <b>range</b>
-           <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_51_4">A_ALTCHARSET_First</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_52_4">A_ALTCHARSET_Last</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>;
-         <A HREF="terminal_interface-curses__ads.htm#ref_428_10">Horizontal</A> <b>at</b> 0 <b>range</b>
-           <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_53_4">A_HORIZONTAL_First</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_54_4">A_HORIZONTAL_Last</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>;
-         <A HREF="terminal_interface-curses__ads.htm#ref_429_10">Left</A> <b>at</b> 0 <b>range</b>
-           <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_55_4">A_LEFT_First</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_56_4">A_LEFT_Last</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>;
-         <A HREF="terminal_interface-curses__ads.htm#ref_430_10">Low</A> <b>at</b> 0 <b>range</b>
-           <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_57_4">A_LOW_First</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_58_4">A_LOW_Last</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>;
-         <A HREF="terminal_interface-curses__ads.htm#ref_431_10">Right</A> <b>at</b> 0 <b>range</b>
-           <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_59_4">A_RIGHT_First</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_60_4">A_RIGHT_Last</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>;
-         <A HREF="terminal_interface-curses__ads.htm#ref_432_10">Top</A> <b>at</b> 0 <b>range</b>
-           <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_61_4">A_TOP_First</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_62_4">A_TOP_Last</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>;
-         <A HREF="terminal_interface-curses__ads.htm#ref_433_10">Vertical</A> <b>at</b> 0 <b>range</b>
-           <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_63_4">A_VERTICAL_First</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_64_4">A_VERTICAL_Last</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>;
+         <a href="terminal_interface-curses__ads.htm#ref_420_10">Stand_Out</a> <b>at</b> 0 <b>range</b>
+           <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_35_4">A_STANDOUT_First</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_36_4">A_STANDOUT_Last</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>;
+         <a href="terminal_interface-curses__ads.htm#ref_421_10">Under_Line</a> <b>at</b> 0 <b>range</b>
+           <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_37_4">A_UNDERLINE_First</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_38_4">A_UNDERLINE_Last</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>;
+         <a href="terminal_interface-curses__ads.htm#ref_422_10">Reverse_Video</a> <b>at</b> 0 <b>range</b>
+           <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_39_4">A_REVERSE_First</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_40_4">A_REVERSE_Last</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>;
+         <a href="terminal_interface-curses__ads.htm#ref_423_10">Blink</a> <b>at</b> 0 <b>range</b>
+           <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_41_4">A_BLINK_First</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_42_4">A_BLINK_Last</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>;
+         <a href="terminal_interface-curses__ads.htm#ref_424_10">Dim_Character</a> <b>at</b> 0 <b>range</b>
+           <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_43_4">A_DIM_First</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_44_4">A_DIM_Last</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>;
+         <a href="terminal_interface-curses__ads.htm#ref_425_10">Bold_Character</a> <b>at</b> 0 <b>range</b>
+           <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_45_4">A_BOLD_First</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_46_4">A_BOLD_Last</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>;
+         <a href="terminal_interface-curses__ads.htm#ref_426_10">Protected_Character</a> <b>at</b> 0 <b>range</b>
+           <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_47_4">A_PROTECT_First</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_48_4">A_PROTECT_Last</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>;
+         <a href="terminal_interface-curses__ads.htm#ref_427_10">Invisible_Character</a> <b>at</b> 0 <b>range</b>
+           <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_49_4">A_INVIS_First</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_50_4">A_INVIS_Last</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>;
+         <a href="terminal_interface-curses__ads.htm#ref_428_10">Alternate_Character_Set</a> <b>at</b> 0 <b>range</b>
+           <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_51_4">A_ALTCHARSET_First</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_52_4">A_ALTCHARSET_Last</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>;
+         <a href="terminal_interface-curses__ads.htm#ref_429_10">Horizontal</a> <b>at</b> 0 <b>range</b>
+           <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_53_4">A_HORIZONTAL_First</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_54_4">A_HORIZONTAL_Last</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>;
+         <a href="terminal_interface-curses__ads.htm#ref_430_10">Left</a> <b>at</b> 0 <b>range</b>
+           <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_55_4">A_LEFT_First</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_56_4">A_LEFT_Last</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>;
+         <a href="terminal_interface-curses__ads.htm#ref_431_10">Low</a> <b>at</b> 0 <b>range</b>
+           <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_57_4">A_LOW_First</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_58_4">A_LOW_Last</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>;
+         <a href="terminal_interface-curses__ads.htm#ref_432_10">Right</a> <b>at</b> 0 <b>range</b>
+           <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_59_4">A_RIGHT_First</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_60_4">A_RIGHT_Last</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>;
+         <a href="terminal_interface-curses__ads.htm#ref_433_10">Top</a> <b>at</b> 0 <b>range</b>
+           <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_61_4">A_TOP_First</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_62_4">A_TOP_Last</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>;
+         <a href="terminal_interface-curses__ads.htm#ref_434_10">Vertical</a> <b>at</b> 0 <b>range</b>
+           <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_63_4">A_VERTICAL_First</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_64_4">A_VERTICAL_Last</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>;
       <b>end</b> <b>record</b>;
 
-   <span class="symbol"><A NAME="ref_485_4">Normal_Video</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := (<b>others</b> =&gt; False);
+   <span class="symbol"><a name="ref_486_4">Normal_Video</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := (<b>others</b> =&gt; False);
 
-   <b>type</b> <span class="symbol"><A NAME="ref_487_9">Attributed_Character</A></span> <b>is</b>
+   <b>type</b> <span class="symbol"><a name="ref_488_9">Attributed_Character</a></span> <b>is</b>
       <b>record</b>
-         <span class="symbol"><A NAME="ref_489_10">Attr</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>;
-         <span class="symbol"><A NAME="ref_490_10">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>;
-         <span class="symbol"><A NAME="ref_491_10">Ch</A></span>    : Character;
+         <span class="symbol"><a name="ref_490_10">Attr</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>;
+         <span class="symbol"><a name="ref_491_10">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>;
+         <span class="symbol"><a name="ref_492_10">Ch</a></span>    : Character;
       <b>end</b> <b>record</b>;
-   <b>pragma</b> Convention (C_Pass_By_Copy, <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>);
-   <span class="comment"><EM>--  This is the counterpart for the chtype in C.</EM></span>
+   <b>pragma</b> Convention (C_Pass_By_Copy, <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>);
+   <span class="comment"><em>--  This is the counterpart for the chtype in C.</em></span>
 
-   <b>for</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> <b>use</b>
+   <b>for</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> <b>use</b>
       <b>record</b>
-         <A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A>    <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_29_4">A_CHARTEXT_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_30_4">A_CHARTEXT_Last</A>;
-         <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_31_4">A_COLOR_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_32_4">A_COLOR_Last</A>;
+         <a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a>    <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_29_4">A_CHARTEXT_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_30_4">A_CHARTEXT_Last</a>;
+         <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_31_4">A_COLOR_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_32_4">A_COLOR_Last</a>;
          <b>pragma</b> Warnings (Off);
-         <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>  <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>
-           .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_34_4">Attr_Last</A>;
+         <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>  <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>
+           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_34_4">Attr_Last</a>;
          <b>pragma</b> Warnings (On);
       <b>end</b> <b>record</b>;
-   <b>for</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>'Size <b>use</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_65_4">chtype_Size</A>;
+   <b>for</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>'Size <b>use</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_65_4">chtype_Size</a>;
 
-   <span class="symbol"><A NAME="ref_509_4">Default_Character</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>
-     := (<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A>    =&gt; Character'First,
-         <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First,
-         <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>  =&gt; (<b>others</b> =&gt; False));  <span class="comment"><EM>--  preelaboratable Normal_Video</EM></span>
+   <span class="symbol"><a name="ref_510_4">Default_Character</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>
+     := (<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a>    =&gt; Character'First,
+         <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> =&gt; <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First,
+         <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>  =&gt; (<b>others</b> =&gt; False));  <span class="comment"><em>--  preelaboratable Normal_Video</em></span>
 
-   <b>type</b> Attributed_String <b>is</b> <b>array</b> (Positive <b>range</b> &lt;&gt;) <b>of</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
+   <b>type</b> Attributed_String <b>is</b> <b>array</b> (Positive <b>range</b> &lt;&gt;) <b>of</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
    <b>pragma</b> Convention (C, Attributed_String);
-   <span class="comment"><EM>--  In this binding we allow strings of attributed characters.</EM></span>
+   <span class="comment"><em>--  In this binding we allow strings of attributed characters.</em></span>
 
-   <span class="comment"><EM>------------------</EM></span>
-   <span class="comment"><EM>--  Exceptions  --</EM></span>
-   <span class="comment"><EM>------------------</EM></span>
-   <span class="symbol"><A NAME="ref_521_4">Curses_Exception</A></span>     : <b>exception</b>;
-   <span class="symbol"><A NAME="ref_522_4">Wrong_Curses_Version</A></span> : <b>exception</b>;
+   <span class="comment"><em>------------------</em></span>
+   <span class="comment"><em>--  Exceptions  --</em></span>
+   <span class="comment"><em>------------------</em></span>
+   <span class="symbol"><a name="ref_522_4">Curses_Exception</a></span>     : <b>exception</b>;
+   <span class="symbol"><a name="ref_523_4">Wrong_Curses_Version</a></span> : <b>exception</b>;
 
-   <span class="comment"><EM>--  Those exceptions are raised by the ETI (Extended Terminal Interface)</EM></span>
-   <span class="comment"><EM>--  subpackets for Menu and Forms handling.</EM></span>
-   <span class="comment"><EM>--</EM></span>
-   <span class="symbol"><A NAME="ref_527_4">Eti_System_Error</A></span>    : <b>exception</b>;
-   <span class="symbol"><A NAME="ref_528_4">Eti_Bad_Argument</A></span>    : <b>exception</b>;
-   <span class="symbol"><A NAME="ref_529_4">Eti_Posted</A></span>          : <b>exception</b>;
-   <span class="symbol"><A NAME="ref_530_4">Eti_Connected</A></span>       : <b>exception</b>;
-   <span class="symbol"><A NAME="ref_531_4">Eti_Bad_State</A></span>       : <b>exception</b>;
-   <span class="symbol"><A NAME="ref_532_4">Eti_No_Room</A></span>         : <b>exception</b>;
-   <span class="symbol"><A NAME="ref_533_4">Eti_Not_Posted</A></span>      : <b>exception</b>;
-   <span class="symbol"><A NAME="ref_534_4">Eti_Unknown_Command</A></span> : <b>exception</b>;
-   <span class="symbol"><A NAME="ref_535_4">Eti_No_Match</A></span>        : <b>exception</b>;
-   <span class="symbol"><A NAME="ref_536_4">Eti_Not_Selectable</A></span>  : <b>exception</b>;
-   <span class="symbol"><A NAME="ref_537_4">Eti_Not_Connected</A></span>   : <b>exception</b>;
-   <span class="symbol"><A NAME="ref_538_4">Eti_Request_Denied</A></span>  : <b>exception</b>;
-   <span class="symbol"><A NAME="ref_539_4">Eti_Invalid_Field</A></span>   : <b>exception</b>;
-   <span class="symbol"><A NAME="ref_540_4">Eti_Current</A></span>         : <b>exception</b>;
+   <span class="comment"><em>--  Those exceptions are raised by the ETI (Extended Terminal Interface)</em></span>
+   <span class="comment"><em>--  subpackets for Menu and Forms handling.</em></span>
+   <span class="comment"><em>--</em></span>
+   <span class="symbol"><a name="ref_528_4">Eti_System_Error</a></span>    : <b>exception</b>;
+   <span class="symbol"><a name="ref_529_4">Eti_Bad_Argument</a></span>    : <b>exception</b>;
+   <span class="symbol"><a name="ref_530_4">Eti_Posted</a></span>          : <b>exception</b>;
+   <span class="symbol"><a name="ref_531_4">Eti_Connected</a></span>       : <b>exception</b>;
+   <span class="symbol"><a name="ref_532_4">Eti_Bad_State</a></span>       : <b>exception</b>;
+   <span class="symbol"><a name="ref_533_4">Eti_No_Room</a></span>         : <b>exception</b>;
+   <span class="symbol"><a name="ref_534_4">Eti_Not_Posted</a></span>      : <b>exception</b>;
+   <span class="symbol"><a name="ref_535_4">Eti_Unknown_Command</a></span> : <b>exception</b>;
+   <span class="symbol"><a name="ref_536_4">Eti_No_Match</a></span>        : <b>exception</b>;
+   <span class="symbol"><a name="ref_537_4">Eti_Not_Selectable</a></span>  : <b>exception</b>;
+   <span class="symbol"><a name="ref_538_4">Eti_Not_Connected</a></span>   : <b>exception</b>;
+   <span class="symbol"><a name="ref_539_4">Eti_Request_Denied</a></span>  : <b>exception</b>;
+   <span class="symbol"><a name="ref_540_4">Eti_Invalid_Field</a></span>   : <b>exception</b>;
+   <span class="symbol"><a name="ref_541_4">Eti_Current</a></span>         : <b>exception</b>;
 
-   <span class="comment"><EM>--------------------------------------------------------------------------</EM></span>
-   <span class="comment"><EM>--  External C variables</EM></span>
-   <span class="comment"><EM>--  Conceptually even in C this are kind of constants, but they are</EM></span>
-   <span class="comment"><EM>--  initialized and sometimes changed by the library routines at runtime</EM></span>
-   <span class="comment"><EM>--  depending on the type of terminal. I believe the best way to model</EM></span>
-   <span class="comment"><EM>--  this is to use functions.</EM></span>
-   <span class="comment"><EM>--------------------------------------------------------------------------</EM></span>
+   <span class="comment"><em>--------------------------------------------------------------------------</em></span>
+   <span class="comment"><em>--  External C variables</em></span>
+   <span class="comment"><em>--  Conceptually even in C this are kind of constants, but they are</em></span>
+   <span class="comment"><em>--  initialized and sometimes changed by the library routines at runtime</em></span>
+   <span class="comment"><em>--  depending on the type of terminal. I believe the best way to model</em></span>
+   <span class="comment"><em>--  this is to use functions.</em></span>
+   <span class="comment"><em>--------------------------------------------------------------------------</em></span>
 
-   <b>function</b> <span class="symbol"><A NAME="ref_550_13" HREF="terminal_interface-curses__adb.htm#ref_2355_13">Lines</A></span>            <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_550_13">Lines</A>);
+   <b>function</b> <span class="symbol"><a name="ref_551_13" href="terminal_interface-curses__adb.htm#ref_2355_13">Lines</a></span>            <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_551_13">Lines</a>);
 
-   <b>function</b> <span class="symbol"><A NAME="ref_553_13" HREF="terminal_interface-curses__adb.htm#ref_2363_13">Columns</A></span>          <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_553_13">Columns</A>);
+   <b>function</b> <span class="symbol"><a name="ref_554_13" href="terminal_interface-curses__adb.htm#ref_2363_13">Columns</a></span>          <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>;
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_554_13">Columns</a>);
 
-   <b>function</b> <span class="symbol"><A NAME="ref_556_13" HREF="terminal_interface-curses__adb.htm#ref_2371_13">Tab_Size</A></span>         <b>return</b> Natural;
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_556_13">Tab_Size</A>);
+   <b>function</b> <span class="symbol"><a name="ref_557_13" href="terminal_interface-curses__adb.htm#ref_2371_13">Tab_Size</a></span>         <b>return</b> Natural;
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_557_13">Tab_Size</a>);
 
-   <b>function</b> <span class="symbol"><A NAME="ref_559_13" HREF="terminal_interface-curses__adb.htm#ref_2380_13">Number_Of_Colors</A></span> <b>return</b> Natural;
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_559_13">Number_Of_Colors</A>);
+   <b>function</b> <span class="symbol"><a name="ref_560_13" href="terminal_interface-curses__adb.htm#ref_2380_13">Number_Of_Colors</a></span> <b>return</b> Natural;
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_560_13">Number_Of_Colors</a>);
 
-   <b>function</b> <span class="symbol"><A NAME="ref_562_13" HREF="terminal_interface-curses__adb.htm#ref_2388_13">Number_Of_Color_Pairs</A></span> <b>return</b> Natural;
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_562_13">Number_Of_Color_Pairs</A>);
+   <b>function</b> <span class="symbol"><a name="ref_563_13" href="terminal_interface-curses__adb.htm#ref_2388_13">Number_Of_Color_Pairs</a></span> <b>return</b> Natural;
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_563_13">Number_Of_Color_Pairs</a>);
 
-   <b>subtype</b> <span class="symbol"><A NAME="ref_565_12">ACS_Index</A></span> <b>is</b> Character <b>range</b>
+   <b>subtype</b> <span class="symbol"><a name="ref_566_12">ACS_Index</a></span> <b>is</b> Character <b>range</b>
      Character'Val (0) .. Character'Val (127);
-   <b>function</b> <span class="symbol"><A NAME="ref_567_13">ACS_Map</A></span> (<span class="symbol"><A NAME="ref_567_22" HREF="terminal_interface-curses__ads.htm#ref_567_13">Index</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
+   <b>function</b> <span class="symbol"><a name="ref_568_13">ACS_Map</a></span> (<span class="symbol"><a name="ref_568_22">Index</a></span> : <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
    <b>pragma</b> Import (C, ACS_Map, "acs_map_as_function");
 
-   <span class="comment"><EM>--  Constants for several characters from the Alternate Character Set</EM></span>
-   <span class="comment"><EM>--  You must use these constants as indices into the ACS_Map function</EM></span>
-   <span class="comment"><EM>--  to get the corresponding attributed character at runtime</EM></span>
-   <span class="symbol"><A NAME="ref_573_4">ACS_Upper_Left_Corner</A></span>  : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
-      := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_222_4">ACS_ULCORNER</A>);
-   <span class="symbol"><A NAME="ref_575_4">ACS_Lower_Left_Corner</A></span>  : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
-      := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_223_4">ACS_LLCORNER</A>);
-   <span class="symbol"><A NAME="ref_577_4">ACS_Upper_Right_Corner</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
-      := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_224_4">ACS_URCORNER</A>);
-   <span class="symbol"><A NAME="ref_579_4">ACS_Lower_Right_Corner</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
-      := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_225_4">ACS_LRCORNER</A>);
-   <span class="symbol"><A NAME="ref_581_4">ACS_Left_Tee</A></span>           : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
-      := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_226_4">ACS_LTEE</A>);
-   <span class="symbol"><A NAME="ref_583_4">ACS_Right_Tee</A></span>          : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
-      := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_227_4">ACS_RTEE</A>);
-   <span class="symbol"><A NAME="ref_585_4">ACS_Bottom_Tee</A></span>         : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
-      := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_228_4">ACS_BTEE</A>);
-   <span class="symbol"><A NAME="ref_587_4">ACS_Top_Tee</A></span>            : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
-      := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_229_4">ACS_TTEE</A>);
-   <span class="symbol"><A NAME="ref_589_4">ACS_Horizontal_Line</A></span>    : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
-      := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_230_4">ACS_HLINE</A>);
-   <span class="symbol"><A NAME="ref_591_4">ACS_Vertical_Line</A></span>      : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
-      := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_231_4">ACS_VLINE</A>);
-   <span class="symbol"><A NAME="ref_593_4">ACS_Plus_Symbol</A></span>        : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
-      := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_232_4">ACS_PLUS</A>);
-   <span class="symbol"><A NAME="ref_595_4">ACS_Scan_Line_1</A></span>        : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
-      := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_233_4">ACS_S1</A>);
-   <span class="symbol"><A NAME="ref_597_4">ACS_Scan_Line_9</A></span>        : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
-      := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_234_4">ACS_S9</A>);
-   <span class="symbol"><A NAME="ref_599_4">ACS_Diamond</A></span>            : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
-      := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_235_4">ACS_DIAMOND</A>);
-   <span class="symbol"><A NAME="ref_601_4">ACS_Checker_Board</A></span>      : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
-      := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_236_4">ACS_CKBOARD</A>);
-   <span class="symbol"><A NAME="ref_603_4">ACS_Degree</A></span>             : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
-      := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_237_4">ACS_DEGREE</A>);
-   <span class="symbol"><A NAME="ref_605_4">ACS_Plus_Minus</A></span>         : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
-      := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_238_4">ACS_PLMINUS</A>);
-   <span class="symbol"><A NAME="ref_607_4">ACS_Bullet</A></span>             : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
-      := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_239_4">ACS_BULLET</A>);
-   <span class="symbol"><A NAME="ref_609_4">ACS_Left_Arrow</A></span>         : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
-      := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_240_4">ACS_LARROW</A>);
-   <span class="symbol"><A NAME="ref_611_4">ACS_Right_Arrow</A></span>        : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
-      := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_241_4">ACS_RARROW</A>);
-   <span class="symbol"><A NAME="ref_613_4">ACS_Down_Arrow</A></span>         : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
-      := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_242_4">ACS_DARROW</A>);
-   <span class="symbol"><A NAME="ref_615_4">ACS_Up_Arrow</A></span>           : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
-      := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_243_4">ACS_UARROW</A>);
-   <span class="symbol"><A NAME="ref_617_4">ACS_Board_Of_Squares</A></span>   : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
-      := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_244_4">ACS_BOARD</A>);
-   <span class="symbol"><A NAME="ref_619_4">ACS_Lantern</A></span>            : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
-      := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_245_4">ACS_LANTERN</A>);
-   <span class="symbol"><A NAME="ref_621_4">ACS_Solid_Block</A></span>        : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
-      := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_246_4">ACS_BLOCK</A>);
-   <span class="symbol"><A NAME="ref_623_4">ACS_Scan_Line_3</A></span>        : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
-      := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_247_4">ACS_S3</A>);
-   <span class="symbol"><A NAME="ref_625_4">ACS_Scan_Line_7</A></span>        : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
-      := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_248_4">ACS_S7</A>);
-   <span class="symbol"><A NAME="ref_627_4">ACS_Less_Or_Equal</A></span>      : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
-      := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_249_4">ACS_LEQUAL</A>);
-   <span class="symbol"><A NAME="ref_629_4">ACS_Greater_Or_Equal</A></span>   : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
-      := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_250_4">ACS_GEQUAL</A>);
-   <span class="symbol"><A NAME="ref_631_4">ACS_PI</A></span>                 : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
-      := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_251_4">ACS_PI</A>);
-   <span class="symbol"><A NAME="ref_633_4">ACS_Not_Equal</A></span>          : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
-      := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_252_4">ACS_NEQUAL</A>);
-   <span class="symbol"><A NAME="ref_635_4">ACS_Sterling</A></span>           : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
-      := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_253_4">ACS_STERLING</A>);
+   <span class="comment"><em>--  Constants for several characters from the Alternate Character Set</em></span>
+   <span class="comment"><em>--  You must use these constants as indices into the ACS_Map function</em></span>
+   <span class="comment"><em>--  to get the corresponding attributed character at runtime</em></span>
+   <span class="symbol"><a name="ref_574_4">ACS_Upper_Left_Corner</a></span>  : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a>
+      := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_222_4">ACS_ULCORNER</a>);
+   <span class="symbol"><a name="ref_576_4">ACS_Lower_Left_Corner</a></span>  : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a>
+      := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_223_4">ACS_LLCORNER</a>);
+   <span class="symbol"><a name="ref_578_4">ACS_Upper_Right_Corner</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a>
+      := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_224_4">ACS_URCORNER</a>);
+   <span class="symbol"><a name="ref_580_4">ACS_Lower_Right_Corner</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a>
+      := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_225_4">ACS_LRCORNER</a>);
+   <span class="symbol"><a name="ref_582_4">ACS_Left_Tee</a></span>           : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a>
+      := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_226_4">ACS_LTEE</a>);
+   <span class="symbol"><a name="ref_584_4">ACS_Right_Tee</a></span>          : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a>
+      := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_227_4">ACS_RTEE</a>);
+   <span class="symbol"><a name="ref_586_4">ACS_Bottom_Tee</a></span>         : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a>
+      := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_228_4">ACS_BTEE</a>);
+   <span class="symbol"><a name="ref_588_4">ACS_Top_Tee</a></span>            : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a>
+      := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_229_4">ACS_TTEE</a>);
+   <span class="symbol"><a name="ref_590_4">ACS_Horizontal_Line</a></span>    : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a>
+      := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_230_4">ACS_HLINE</a>);
+   <span class="symbol"><a name="ref_592_4">ACS_Vertical_Line</a></span>      : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a>
+      := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_231_4">ACS_VLINE</a>);
+   <span class="symbol"><a name="ref_594_4">ACS_Plus_Symbol</a></span>        : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a>
+      := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_232_4">ACS_PLUS</a>);
+   <span class="symbol"><a name="ref_596_4">ACS_Scan_Line_1</a></span>        : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a>
+      := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_233_4">ACS_S1</a>);
+   <span class="symbol"><a name="ref_598_4">ACS_Scan_Line_9</a></span>        : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a>
+      := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_234_4">ACS_S9</a>);
+   <span class="symbol"><a name="ref_600_4">ACS_Diamond</a></span>            : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a>
+      := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_235_4">ACS_DIAMOND</a>);
+   <span class="symbol"><a name="ref_602_4">ACS_Checker_Board</a></span>      : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a>
+      := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_236_4">ACS_CKBOARD</a>);
+   <span class="symbol"><a name="ref_604_4">ACS_Degree</a></span>             : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a>
+      := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_237_4">ACS_DEGREE</a>);
+   <span class="symbol"><a name="ref_606_4">ACS_Plus_Minus</a></span>         : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a>
+      := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_238_4">ACS_PLMINUS</a>);
+   <span class="symbol"><a name="ref_608_4">ACS_Bullet</a></span>             : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a>
+      := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_239_4">ACS_BULLET</a>);
+   <span class="symbol"><a name="ref_610_4">ACS_Left_Arrow</a></span>         : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a>
+      := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_240_4">ACS_LARROW</a>);
+   <span class="symbol"><a name="ref_612_4">ACS_Right_Arrow</a></span>        : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a>
+      := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_241_4">ACS_RARROW</a>);
+   <span class="symbol"><a name="ref_614_4">ACS_Down_Arrow</a></span>         : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a>
+      := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_242_4">ACS_DARROW</a>);
+   <span class="symbol"><a name="ref_616_4">ACS_Up_Arrow</a></span>           : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a>
+      := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_243_4">ACS_UARROW</a>);
+   <span class="symbol"><a name="ref_618_4">ACS_Board_Of_Squares</a></span>   : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a>
+      := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_244_4">ACS_BOARD</a>);
+   <span class="symbol"><a name="ref_620_4">ACS_Lantern</a></span>            : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a>
+      := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_245_4">ACS_LANTERN</a>);
+   <span class="symbol"><a name="ref_622_4">ACS_Solid_Block</a></span>        : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a>
+      := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_246_4">ACS_BLOCK</a>);
+   <span class="symbol"><a name="ref_624_4">ACS_Scan_Line_3</a></span>        : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a>
+      := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_247_4">ACS_S3</a>);
+   <span class="symbol"><a name="ref_626_4">ACS_Scan_Line_7</a></span>        : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a>
+      := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_248_4">ACS_S7</a>);
+   <span class="symbol"><a name="ref_628_4">ACS_Less_Or_Equal</a></span>      : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a>
+      := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_249_4">ACS_LEQUAL</a>);
+   <span class="symbol"><a name="ref_630_4">ACS_Greater_Or_Equal</a></span>   : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a>
+      := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_250_4">ACS_GEQUAL</a>);
+   <span class="symbol"><a name="ref_632_4">ACS_PI</a></span>                 : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a>
+      := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_251_4">ACS_PI</a>);
+   <span class="symbol"><a name="ref_634_4">ACS_Not_Equal</a></span>          : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a>
+      := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_252_4">ACS_NEQUAL</a>);
+   <span class="symbol"><a name="ref_636_4">ACS_Sterling</a></span>           : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a>
+      := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_253_4">ACS_STERLING</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/curs_initscr.3x.html">curs_initscr.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Not implemented: newterm, set_term, delscreen</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/curs_initscr.3x.html">curs_initscr.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Not implemented: newterm, set_term, delscreen</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_1"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_644_13">Standard_Window</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_initscr.3x.html">stdscr</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_1">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_645_13">Standard_Window</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_initscr.3x.html">stdscr</A></em></span>
    <b>pragma</b> Import (C, Standard_Window, "stdscr_as_function");
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>);
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_2"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_650_13">Current_Window</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_initscr.3x.html">curscr</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_2">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_651_13">Current_Window</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_initscr.3x.html">curscr</A></em></span>
    <b>pragma</b> Import (C, Current_Window, "curscr_as_function");
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_650_13">Current_Window</A>);
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_651_13">Current_Window</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_3"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_656_14" HREF="terminal_interface-curses__adb.htm#ref_98_14">Init_Screen</A></span>;
+   <span class="comment"><em>--  <A NAME="AFU_3">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_657_14" href="terminal_interface-curses__adb.htm#ref_98_14">Init_Screen</a></span>;
 
-   <span class="comment"><EM>--  #1A NAME="AFU_4"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_659_14">Init_Windows</A></span> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_656_14">Init_Screen</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_initscr.3x.html">initscr()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_656_14">Init_Screen</A>);
-   <span class="comment"><EM>--  pragma Inline (Init_Windows);</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_4">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_660_14">Init_Windows</a></span> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_657_14">Init_Screen</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_initscr.3x.html">initscr()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_657_14">Init_Screen</a>);
+   <span class="comment"><em>--  pragma Inline (Init_Windows);</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_5"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_665_14" HREF="terminal_interface-curses__adb.htm#ref_111_14">End_Windows</A></span>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_initscr.3x.html">endwin()</A></EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_667_14">End_Screen</A></span> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_665_14">End_Windows</A>;
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_665_14">End_Windows</A>);
-   <span class="comment"><EM>--  pragma Inline (End_Screen);</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_5">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_666_14" href="terminal_interface-curses__adb.htm#ref_111_14">End_Windows</a></span>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_initscr.3x.html">endwin()</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_668_14">End_Screen</a></span> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_666_14">End_Windows</a>;
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_666_14">End_Windows</a>);
+   <span class="comment"><em>--  pragma Inline (End_Screen);</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_6"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_672_13" HREF="terminal_interface-curses__adb.htm#ref_121_13">Is_End_Window</A></span> <b>return</b> Boolean;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_initscr.3x.html">isendwin()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_672_13">Is_End_Window</A>);
+   <span class="comment"><em>--  <A NAME="AFU_6">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_673_13" href="terminal_interface-curses__adb.htm#ref_121_13">Is_End_Window</a></span> <b>return</b> Boolean;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_initscr.3x.html">isendwin()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_673_13">Is_End_Window</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/curs_move.3x.html">curs_move.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/curs_move.3x.html">curs_move.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_7"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_681_14" HREF="terminal_interface-curses__adb.htm#ref_133_14">Move_Cursor</A></span> (<span class="symbol"><A NAME="ref_681_27" HREF="terminal_interface-curses__adb.htm#ref_133_27">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                          <span class="symbol"><A NAME="ref_682_27" HREF="terminal_interface-curses__adb.htm#ref_134_27">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-                          <span class="symbol"><A NAME="ref_683_27" HREF="terminal_interface-curses__adb.htm#ref_135_27">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_move.3x.html">wmove()</A></EM></span>
-   <span class="comment"><EM>--  AKA: move()</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_681_14">Move_Cursor</A>);
+   <span class="comment"><em>--  <A NAME="AFU_7">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_682_14" href="terminal_interface-curses__adb.htm#ref_133_14">Move_Cursor</a></span> (<span class="symbol"><a name="ref_682_27" href="terminal_interface-curses__adb.htm#ref_133_27">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                          <span class="symbol"><a name="ref_683_27" href="terminal_interface-curses__adb.htm#ref_134_27">Line</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+                          <span class="symbol"><a name="ref_684_27" href="terminal_interface-curses__adb.htm#ref_135_27">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_move.3x.html">wmove()</A></em></span>
+   <span class="comment"><em>--  AKA: move()</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_682_14">Move_Cursor</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/curs_addch.3x.html">curs_addch.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/curs_addch.3x.html">curs_addch.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_8"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_693_14" HREF="terminal_interface-curses__adb.htm#ref_148_14">Add</A></span> (<span class="symbol"><A NAME="ref_693_19" HREF="terminal_interface-curses__adb.htm#ref_148_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                  <span class="symbol"><A NAME="ref_694_19" HREF="terminal_interface-curses__adb.htm#ref_149_19">Ch</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_addch.3x.html">waddch()</A></EM></span>
-   <span class="comment"><EM>--  AKA: addch()</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_8">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_694_14" href="terminal_interface-curses__adb.htm#ref_148_14">Add</a></span> (<span class="symbol"><a name="ref_694_19" href="terminal_interface-curses__adb.htm#ref_148_19">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                  <span class="symbol"><a name="ref_695_19" href="terminal_interface-curses__adb.htm#ref_149_19">Ch</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_addch.3x.html">waddch()</A></em></span>
+   <span class="comment"><em>--  AKA: addch()</em></span>
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_698_14" HREF="terminal_interface-curses__adb.htm#ref_160_14">Add</A></span> (<span class="symbol"><A NAME="ref_698_19" HREF="terminal_interface-curses__adb.htm#ref_160_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                  <span class="symbol"><A NAME="ref_699_19" HREF="terminal_interface-curses__adb.htm#ref_161_19">Ch</A></span>  : Character);
-   <span class="comment"><EM>--  Add a single character at the current logical cursor position to</EM></span>
-   <span class="comment"><EM>--  the window. Use the current windows attributes.</EM></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_699_14" href="terminal_interface-curses__adb.htm#ref_160_14">Add</a></span> (<span class="symbol"><a name="ref_699_19" href="terminal_interface-curses__adb.htm#ref_160_19">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                  <span class="symbol"><a name="ref_700_19" href="terminal_interface-curses__adb.htm#ref_161_19">Ch</a></span>  : Character);
+   <span class="comment"><em>--  Add a single character at the current logical cursor position to</em></span>
+   <span class="comment"><em>--  the window. Use the current windows attributes.</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_9"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_704_14" HREF="terminal_interface-curses__adb.htm#ref_170_14">Add</A></span>
-     (<span class="symbol"><A NAME="ref_705_7" HREF="terminal_interface-curses__adb.htm#ref_171_7">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_706_7" HREF="terminal_interface-curses__adb.htm#ref_172_7">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_707_7" HREF="terminal_interface-curses__adb.htm#ref_173_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-      <span class="symbol"><A NAME="ref_708_7" HREF="terminal_interface-curses__adb.htm#ref_174_7">Ch</A></span>     : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_addch.3x.html">mvwaddch()</A></EM></span>
-   <span class="comment"><EM>--  AKA: mvaddch()</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_9">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_705_14" href="terminal_interface-curses__adb.htm#ref_170_14">Add</a></span>
+     (<span class="symbol"><a name="ref_706_7" href="terminal_interface-curses__adb.htm#ref_171_7">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_707_7" href="terminal_interface-curses__adb.htm#ref_172_7">Line</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_708_7" href="terminal_interface-curses__adb.htm#ref_173_7">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+      <span class="symbol"><a name="ref_709_7" href="terminal_interface-curses__adb.htm#ref_174_7">Ch</a></span>     : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_addch.3x.html">mvwaddch()</A></em></span>
+   <span class="comment"><em>--  AKA: mvaddch()</em></span>
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_712_14" HREF="terminal_interface-curses__adb.htm#ref_190_14">Add</A></span>
-     (<span class="symbol"><A NAME="ref_713_7" HREF="terminal_interface-curses__adb.htm#ref_191_7">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_714_7" HREF="terminal_interface-curses__adb.htm#ref_192_7">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_715_7" HREF="terminal_interface-curses__adb.htm#ref_193_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-      <span class="symbol"><A NAME="ref_716_7" HREF="terminal_interface-curses__adb.htm#ref_194_7">Ch</A></span>     : Character);
-   <span class="comment"><EM>--  Move to the position and add a single character into the window</EM></span>
-   <span class="comment"><EM>--  There are more Add routines, so the Inline pragma follows later</EM></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_713_14" href="terminal_interface-curses__adb.htm#ref_190_14">Add</a></span>
+     (<span class="symbol"><a name="ref_714_7" href="terminal_interface-curses__adb.htm#ref_191_7">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_715_7" href="terminal_interface-curses__adb.htm#ref_192_7">Line</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_716_7" href="terminal_interface-curses__adb.htm#ref_193_7">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+      <span class="symbol"><a name="ref_717_7" href="terminal_interface-curses__adb.htm#ref_194_7">Ch</a></span>     : Character);
+   <span class="comment"><em>--  Move to the position and add a single character into the window</em></span>
+   <span class="comment"><em>--  There are more Add routines, so the Inline pragma follows later</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_10"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_721_14" HREF="terminal_interface-curses__adb.htm#ref_205_14">Add_With_Immediate_Echo</A></span>
-     (<span class="symbol"><A NAME="ref_722_7" HREF="terminal_interface-curses__adb.htm#ref_206_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_723_7" HREF="terminal_interface-curses__adb.htm#ref_207_7">Ch</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_addch.3x.html">wechochar()</A></EM></span>
-   <span class="comment"><EM>--  AKA: echochar()</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_10">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_722_14" href="terminal_interface-curses__adb.htm#ref_205_14">Add_With_Immediate_Echo</a></span>
+     (<span class="symbol"><a name="ref_723_7" href="terminal_interface-curses__adb.htm#ref_206_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_724_7" href="terminal_interface-curses__adb.htm#ref_207_7">Ch</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_addch.3x.html">wechochar()</A></em></span>
+   <span class="comment"><em>--  AKA: echochar()</em></span>
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_727_14" HREF="terminal_interface-curses__adb.htm#ref_218_14">Add_With_Immediate_Echo</A></span>
-     (<span class="symbol"><A NAME="ref_728_7" HREF="terminal_interface-curses__adb.htm#ref_219_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_729_7" HREF="terminal_interface-curses__adb.htm#ref_220_7">Ch</A></span>  : Character);
-   <span class="comment"><EM>--  Add a character and do an immediate refresh of the screen.</EM></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_728_14" href="terminal_interface-curses__adb.htm#ref_218_14">Add_With_Immediate_Echo</a></span>
+     (<span class="symbol"><a name="ref_729_7" href="terminal_interface-curses__adb.htm#ref_219_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_730_7" href="terminal_interface-curses__adb.htm#ref_220_7">Ch</a></span>  : Character);
+   <span class="comment"><em>--  Add a character and do an immediate refresh of the screen.</em></span>
    <b>pragma</b> Inline (Add_With_Immediate_Echo);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/curs_window.3x.html">curs_window.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  Not Implemented: wcursyncup</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/curs_window.3x.html">curs_window.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  Not Implemented: wcursyncup</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_11"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_739_13" HREF="terminal_interface-curses__adb.htm#ref_230_13">Create</A></span>
-     (<span class="symbol"><A NAME="ref_740_7" HREF="terminal_interface-curses__adb.htm#ref_230_21">Number_Of_Lines</A></span>       : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
-      <span class="symbol"><A NAME="ref_741_7" HREF="terminal_interface-curses__adb.htm#ref_231_21">Number_Of_Columns</A></span>     : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
-      <span class="symbol"><A NAME="ref_742_7" HREF="terminal_interface-curses__adb.htm#ref_232_21">First_Line_Position</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_743_7" HREF="terminal_interface-curses__adb.htm#ref_233_21">First_Column_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-   <span class="comment"><EM>--  Not Implemented: Default Number_Of_Lines, Number_Of_Columns</EM></span>
-   <span class="comment"><EM>--  the C version lets them be 0, see the man page.</EM></span>
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_window.3x.html">newwin()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_739_13">Create</A>);
+   <span class="comment"><em>--  <A NAME="AFU_11">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_740_13" href="terminal_interface-curses__adb.htm#ref_230_13">Create</a></span>
+     (<span class="symbol"><a name="ref_741_7" href="terminal_interface-curses__adb.htm#ref_230_21">Number_Of_Lines</a></span>       : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
+      <span class="symbol"><a name="ref_742_7" href="terminal_interface-curses__adb.htm#ref_231_21">Number_Of_Columns</a></span>     : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>;
+      <span class="symbol"><a name="ref_743_7" href="terminal_interface-curses__adb.htm#ref_232_21">First_Line_Position</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_744_7" href="terminal_interface-curses__adb.htm#ref_233_21">First_Column_Position</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+   <span class="comment"><em>--  Not Implemented: Default Number_Of_Lines, Number_Of_Columns</em></span>
+   <span class="comment"><em>--  the C version lets them be 0, see the man page.</em></span>
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_window.3x.html">newwin()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_740_13">Create</a>);
 
    <b>function</b> New_Window
-     (<span class="symbol"><A NAME="ref_750_7">Number_Of_Lines</A></span>       : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
-      <span class="symbol"><A NAME="ref_751_7">Number_Of_Columns</A></span>     : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
-      <span class="symbol"><A NAME="ref_752_7">First_Line_Position</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_753_7">First_Column_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>
-     <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_739_13">Create</A>;
-   <span class="comment"><EM>--  pragma Inline (New_Window);</EM></span>
+     (<span class="symbol"><a name="ref_751_7">Number_Of_Lines</a></span>       : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
+      <span class="symbol"><a name="ref_752_7">Number_Of_Columns</a></span>     : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>;
+      <span class="symbol"><a name="ref_753_7">First_Line_Position</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_754_7">First_Column_Position</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>
+     <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_740_13">Create</a>;
+   <span class="comment"><em>--  pragma Inline (New_Window);</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_12"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_758_14" HREF="terminal_interface-curses__adb.htm#ref_253_14">Delete</A></span> (<span class="symbol"><A NAME="ref_758_22" HREF="terminal_interface-curses__adb.htm#ref_253_22">Win</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_window.3x.html">delwin()</A></EM></span>
-   <span class="comment"><EM>--  Reset Win to Null_Window</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_758_14">Delete</A>);
+   <span class="comment"><em>--  <A NAME="AFU_12">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_759_14" href="terminal_interface-curses__adb.htm#ref_253_14">Delete</a></span> (<span class="symbol"><a name="ref_759_22" href="terminal_interface-curses__adb.htm#ref_253_22">Win</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_window.3x.html">delwin()</A></em></span>
+   <span class="comment"><em>--  Reset Win to Null_Window</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_759_14">Delete</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_13"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_764_13" HREF="terminal_interface-curses__adb.htm#ref_264_13">Sub_Window</A></span>
-     (<span class="symbol"><A NAME="ref_765_7" HREF="terminal_interface-curses__adb.htm#ref_265_7">Win</A></span>                   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_766_7" HREF="terminal_interface-curses__adb.htm#ref_266_7">Number_Of_Lines</A></span>       : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
-      <span class="symbol"><A NAME="ref_767_7" HREF="terminal_interface-curses__adb.htm#ref_267_7">Number_Of_Columns</A></span>     : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
-      <span class="symbol"><A NAME="ref_768_7" HREF="terminal_interface-curses__adb.htm#ref_268_7">First_Line_Position</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_769_7" HREF="terminal_interface-curses__adb.htm#ref_269_7">First_Column_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_window.3x.html">subwin()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_764_13">Sub_Window</A>);
+   <span class="comment"><em>--  <A NAME="AFU_13">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_765_13" href="terminal_interface-curses__adb.htm#ref_264_13">Sub_Window</a></span>
+     (<span class="symbol"><a name="ref_766_7" href="terminal_interface-curses__adb.htm#ref_265_7">Win</a></span>                   : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_767_7" href="terminal_interface-curses__adb.htm#ref_266_7">Number_Of_Lines</a></span>       : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
+      <span class="symbol"><a name="ref_768_7" href="terminal_interface-curses__adb.htm#ref_267_7">Number_Of_Columns</a></span>     : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>;
+      <span class="symbol"><a name="ref_769_7" href="terminal_interface-curses__adb.htm#ref_268_7">First_Line_Position</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_770_7" href="terminal_interface-curses__adb.htm#ref_269_7">First_Column_Position</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_window.3x.html">subwin()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_765_13">Sub_Window</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_14"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_774_13" HREF="terminal_interface-curses__adb.htm#ref_292_13">Derived_Window</A></span>
-     (<span class="symbol"><A NAME="ref_775_7" HREF="terminal_interface-curses__adb.htm#ref_293_7">Win</A></span>                   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_776_7" HREF="terminal_interface-curses__adb.htm#ref_294_7">Number_Of_Lines</A></span>       : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
-      <span class="symbol"><A NAME="ref_777_7" HREF="terminal_interface-curses__adb.htm#ref_295_7">Number_Of_Columns</A></span>     : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
-      <span class="symbol"><A NAME="ref_778_7" HREF="terminal_interface-curses__adb.htm#ref_296_7">First_Line_Position</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_779_7" HREF="terminal_interface-curses__adb.htm#ref_297_7">First_Column_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_window.3x.html">derwin()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_774_13">Derived_Window</A>);
+   <span class="comment"><em>--  <A NAME="AFU_14">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_775_13" href="terminal_interface-curses__adb.htm#ref_292_13">Derived_Window</a></span>
+     (<span class="symbol"><a name="ref_776_7" href="terminal_interface-curses__adb.htm#ref_293_7">Win</a></span>                   : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_777_7" href="terminal_interface-curses__adb.htm#ref_294_7">Number_Of_Lines</a></span>       : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
+      <span class="symbol"><a name="ref_778_7" href="terminal_interface-curses__adb.htm#ref_295_7">Number_Of_Columns</a></span>     : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>;
+      <span class="symbol"><a name="ref_779_7" href="terminal_interface-curses__adb.htm#ref_296_7">First_Line_Position</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_780_7" href="terminal_interface-curses__adb.htm#ref_297_7">First_Column_Position</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_window.3x.html">derwin()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_775_13">Derived_Window</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_15"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_784_13" HREF="terminal_interface-curses__adb.htm#ref_320_13">Duplicate</A></span> (<span class="symbol"><A NAME="ref_784_24" HREF="terminal_interface-curses__adb.htm#ref_320_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_window.3x.html">dupwin()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_784_13">Duplicate</A>);
+   <span class="comment"><em>--  <A NAME="AFU_15">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_785_13" href="terminal_interface-curses__adb.htm#ref_320_13">Duplicate</a></span> (<span class="symbol"><a name="ref_785_24" href="terminal_interface-curses__adb.htm#ref_320_24">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_window.3x.html">dupwin()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_785_13">Duplicate</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_16"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_789_14" HREF="terminal_interface-curses__adb.htm#ref_333_14">Move_Window</A></span> (<span class="symbol"><A NAME="ref_789_27" HREF="terminal_interface-curses__adb.htm#ref_333_27">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-                          <span class="symbol"><A NAME="ref_790_27" HREF="terminal_interface-curses__adb.htm#ref_334_27">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-                          <span class="symbol"><A NAME="ref_791_27" HREF="terminal_interface-curses__adb.htm#ref_335_27">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_window.3x.html">mvwin()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_789_14">Move_Window</A>);
+   <span class="comment"><em>--  <A NAME="AFU_16">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_790_14" href="terminal_interface-curses__adb.htm#ref_333_14">Move_Window</a></span> (<span class="symbol"><a name="ref_790_27" href="terminal_interface-curses__adb.htm#ref_333_27">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+                          <span class="symbol"><a name="ref_791_27" href="terminal_interface-curses__adb.htm#ref_334_27">Line</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+                          <span class="symbol"><a name="ref_792_27" href="terminal_interface-curses__adb.htm#ref_335_27">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_window.3x.html">mvwin()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_790_14">Move_Window</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_17"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_796_14" HREF="terminal_interface-curses__adb.htm#ref_347_14">Move_Derived_Window</A></span> (<span class="symbol"><A NAME="ref_796_35" HREF="terminal_interface-curses__adb.htm#ref_347_35">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-                                  <span class="symbol"><A NAME="ref_797_35" HREF="terminal_interface-curses__adb.htm#ref_348_35">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-                                  <span class="symbol"><A NAME="ref_798_35" HREF="terminal_interface-curses__adb.htm#ref_349_35">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_window.3x.html">mvderwin()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_796_14">Move_Derived_Window</A>);
+   <span class="comment"><em>--  <A NAME="AFU_17">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_797_14" href="terminal_interface-curses__adb.htm#ref_347_14">Move_Derived_Window</a></span> (<span class="symbol"><a name="ref_797_35" href="terminal_interface-curses__adb.htm#ref_347_35">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+                                  <span class="symbol"><a name="ref_798_35" href="terminal_interface-curses__adb.htm#ref_348_35">Line</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+                                  <span class="symbol"><a name="ref_799_35" href="terminal_interface-curses__adb.htm#ref_349_35">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_window.3x.html">mvderwin()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_797_14">Move_Derived_Window</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_18"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_803_14">Synchronize_Upwards</A></span> (<span class="symbol"><A NAME="ref_803_35" HREF="terminal_interface-curses__ads.htm#ref_803_14">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_window.3x.html">wsyncup()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_18">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_804_14">Synchronize_Upwards</a></span> (<span class="symbol"><a name="ref_804_35">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_window.3x.html">wsyncup()</A></em></span>
    <b>pragma</b> Import (C, Synchronize_Upwards, "wsyncup");
 
-   <span class="comment"><EM>--  #1A NAME="AFU_19"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_808_14">Synchronize_Downwards</A></span> (<span class="symbol"><A NAME="ref_808_37" HREF="terminal_interface-curses__ads.htm#ref_808_14">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_window.3x.html">wsyncdown()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_19">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_809_14">Synchronize_Downwards</a></span> (<span class="symbol"><a name="ref_809_37">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_window.3x.html">wsyncdown()</A></em></span>
    <b>pragma</b> Import (C, Synchronize_Downwards, "wsyncdown");
 
-   <span class="comment"><EM>--  #1A NAME="AFU_20"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_813_14" HREF="terminal_interface-curses__adb.htm#ref_361_14">Set_Synch_Mode</A></span> (<span class="symbol"><A NAME="ref_813_30" HREF="terminal_interface-curses__adb.htm#ref_361_30">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                             <span class="symbol"><A NAME="ref_814_30" HREF="terminal_interface-curses__adb.htm#ref_362_30">Mode</A></span> : Boolean := False);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_window.3x.html">syncok()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_813_14">Set_Synch_Mode</A>);
+   <span class="comment"><em>--  <A NAME="AFU_20">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_814_14" href="terminal_interface-curses__adb.htm#ref_361_14">Set_Synch_Mode</a></span> (<span class="symbol"><a name="ref_814_30" href="terminal_interface-curses__adb.htm#ref_361_30">Win</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                             <span class="symbol"><a name="ref_815_30" href="terminal_interface-curses__adb.htm#ref_362_30">Mode</a></span> : Boolean := False);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_window.3x.html">syncok()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_814_14">Set_Synch_Mode</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/curs_addstr.3x.html">curs_addstr.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/curs_addstr.3x.html">curs_addstr.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_21"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_823_14" HREF="terminal_interface-curses__adb.htm#ref_373_14">Add</A></span> (<span class="symbol"><A NAME="ref_823_19" HREF="terminal_interface-curses__adb.htm#ref_373_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                  <span class="symbol"><A NAME="ref_824_19" HREF="terminal_interface-curses__adb.htm#ref_374_19">Str</A></span> : String;
-                  <span class="symbol"><A NAME="ref_825_19" HREF="terminal_interface-curses__adb.htm#ref_375_19">Len</A></span> : Integer := -1);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_addstr.3x.html">waddnstr()</A></EM></span>
-   <span class="comment"><EM>--  AKA: waddstr()</EM></span>
-   <span class="comment"><EM>--  AKA: addnstr()</EM></span>
-   <span class="comment"><EM>--  AKA: addstr()</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_21">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_824_14" href="terminal_interface-curses__adb.htm#ref_373_14">Add</a></span> (<span class="symbol"><a name="ref_824_19" href="terminal_interface-curses__adb.htm#ref_373_19">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                  <span class="symbol"><a name="ref_825_19" href="terminal_interface-curses__adb.htm#ref_374_19">Str</a></span> : String;
+                  <span class="symbol"><a name="ref_826_19" href="terminal_interface-curses__adb.htm#ref_375_19">Len</a></span> : Integer := -1);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_addstr.3x.html">waddnstr()</A></em></span>
+   <span class="comment"><em>--  AKA: waddstr()</em></span>
+   <span class="comment"><em>--  AKA: addnstr()</em></span>
+   <span class="comment"><em>--  AKA: addstr()</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_22"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_832_14" HREF="terminal_interface-curses__adb.htm#ref_391_14">Add</A></span> (<span class="symbol"><A NAME="ref_832_19" HREF="terminal_interface-curses__adb.htm#ref_392_7">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                  <span class="symbol"><A NAME="ref_833_19" HREF="terminal_interface-curses__adb.htm#ref_393_7">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-                  <span class="symbol"><A NAME="ref_834_19" HREF="terminal_interface-curses__adb.htm#ref_394_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-                  <span class="symbol"><A NAME="ref_835_19" HREF="terminal_interface-curses__adb.htm#ref_395_7">Str</A></span>    : String;
-                  <span class="symbol"><A NAME="ref_836_19" HREF="terminal_interface-curses__adb.htm#ref_396_7">Len</A></span>    : Integer := -1);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_addstr.3x.html">mvwaddnstr()</A></EM></span>
-   <span class="comment"><EM>--  AKA: mvwaddstr()</EM></span>
-   <span class="comment"><EM>--  AKA: mvaddnstr()</EM></span>
-   <span class="comment"><EM>--  AKA: mvaddstr()</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_22">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_833_14" href="terminal_interface-curses__adb.htm#ref_391_14">Add</a></span> (<span class="symbol"><a name="ref_833_19" href="terminal_interface-curses__adb.htm#ref_392_7">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                  <span class="symbol"><a name="ref_834_19" href="terminal_interface-curses__adb.htm#ref_393_7">Line</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+                  <span class="symbol"><a name="ref_835_19" href="terminal_interface-curses__adb.htm#ref_394_7">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+                  <span class="symbol"><a name="ref_836_19" href="terminal_interface-curses__adb.htm#ref_395_7">Str</a></span>    : String;
+                  <span class="symbol"><a name="ref_837_19" href="terminal_interface-curses__adb.htm#ref_396_7">Len</a></span>    : Integer := -1);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_addstr.3x.html">mvwaddnstr()</A></em></span>
+   <span class="comment"><em>--  AKA: mvwaddstr()</em></span>
+   <span class="comment"><em>--  AKA: mvaddnstr()</em></span>
+   <span class="comment"><em>--  AKA: mvaddstr()</em></span>
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/curs_addchstr.3x.html">curs_addchstr.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/curs_addchstr.3x.html">curs_addchstr.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_23"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_847_14" HREF="terminal_interface-curses__adb.htm#ref_403_14">Add</A></span> (<span class="symbol"><A NAME="ref_847_19" HREF="terminal_interface-curses__adb.htm#ref_404_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                  <span class="symbol"><A NAME="ref_848_19" HREF="terminal_interface-curses__adb.htm#ref_405_7">Str</A></span> : Attributed_String;
-                  <span class="symbol"><A NAME="ref_849_19" HREF="terminal_interface-curses__adb.htm#ref_406_7">Len</A></span> : Integer := -1);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_addchstr.3x.html">waddchnstr()</A></EM></span>
-   <span class="comment"><EM>--  AKA: waddchstr()</EM></span>
-   <span class="comment"><EM>--  AKA: addchnstr()</EM></span>
-   <span class="comment"><EM>--  AKA: addchstr()</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_23">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_848_14" href="terminal_interface-curses__adb.htm#ref_403_14">Add</a></span> (<span class="symbol"><a name="ref_848_19" href="terminal_interface-curses__adb.htm#ref_404_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                  <span class="symbol"><a name="ref_849_19" href="terminal_interface-curses__adb.htm#ref_405_7">Str</a></span> : Attributed_String;
+                  <span class="symbol"><a name="ref_850_19" href="terminal_interface-curses__adb.htm#ref_406_7">Len</a></span> : Integer := -1);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_addchstr.3x.html">waddchnstr()</A></em></span>
+   <span class="comment"><em>--  AKA: waddchstr()</em></span>
+   <span class="comment"><em>--  AKA: addchnstr()</em></span>
+   <span class="comment"><em>--  AKA: addchstr()</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_24"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_856_14" HREF="terminal_interface-curses__adb.htm#ref_427_14">Add</A></span> (<span class="symbol"><A NAME="ref_856_19" HREF="terminal_interface-curses__adb.htm#ref_428_7">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                  <span class="symbol"><A NAME="ref_857_19" HREF="terminal_interface-curses__adb.htm#ref_429_7">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-                  <span class="symbol"><A NAME="ref_858_19" HREF="terminal_interface-curses__adb.htm#ref_430_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-                  <span class="symbol"><A NAME="ref_859_19" HREF="terminal_interface-curses__adb.htm#ref_431_7">Str</A></span>    : Attributed_String;
-                  <span class="symbol"><A NAME="ref_860_19" HREF="terminal_interface-curses__adb.htm#ref_432_7">Len</A></span>    : Integer := -1);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_addchstr.3x.html">mvwaddchnstr()</A></EM></span>
-   <span class="comment"><EM>--  AKA: mvwaddchstr()</EM></span>
-   <span class="comment"><EM>--  AKA: mvaddchnstr()</EM></span>
-   <span class="comment"><EM>--  AKA: mvaddchstr()</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_24">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_857_14" href="terminal_interface-curses__adb.htm#ref_427_14">Add</a></span> (<span class="symbol"><a name="ref_857_19" href="terminal_interface-curses__adb.htm#ref_428_7">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                  <span class="symbol"><a name="ref_858_19" href="terminal_interface-curses__adb.htm#ref_429_7">Line</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+                  <span class="symbol"><a name="ref_859_19" href="terminal_interface-curses__adb.htm#ref_430_7">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+                  <span class="symbol"><a name="ref_860_19" href="terminal_interface-curses__adb.htm#ref_431_7">Str</a></span>    : Attributed_String;
+                  <span class="symbol"><a name="ref_861_19" href="terminal_interface-curses__adb.htm#ref_432_7">Len</a></span>    : Integer := -1);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_addchstr.3x.html">mvwaddchnstr()</A></em></span>
+   <span class="comment"><em>--  AKA: mvwaddchstr()</em></span>
+   <span class="comment"><em>--  AKA: mvaddchnstr()</em></span>
+   <span class="comment"><em>--  AKA: mvaddchstr()</em></span>
    <b>pragma</b> Inline (Add);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/curs_border.3x.html">curs_border.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Not implemented: mvhline,  mvwhline, mvvline, mvwvline</EM></span>
-   <span class="comment"><EM>--  | use Move_Cursor then Horizontal_Line or Vertical_Line</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/curs_border.3x.html">curs_border.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Not implemented: mvhline,  mvwhline, mvvline, mvwvline</em></span>
+   <span class="comment"><em>--  | use Move_Cursor then Horizontal_Line or Vertical_Line</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_25"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_874_14" HREF="terminal_interface-curses__adb.htm#ref_439_14">Border</A></span>
-     (<span class="symbol"><A NAME="ref_875_7" HREF="terminal_interface-curses__adb.htm#ref_440_7">Win</A></span>                       : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_876_7" HREF="terminal_interface-curses__adb.htm#ref_441_7">Left_Side_Symbol</A></span>          : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
-      <span class="symbol"><A NAME="ref_877_7" HREF="terminal_interface-curses__adb.htm#ref_442_7">Right_Side_Symbol</A></span>         : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
-      <span class="symbol"><A NAME="ref_878_7" HREF="terminal_interface-curses__adb.htm#ref_443_7">Top_Side_Symbol</A></span>           : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
-      <span class="symbol"><A NAME="ref_879_7" HREF="terminal_interface-curses__adb.htm#ref_444_7">Bottom_Side_Symbol</A></span>        : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
-      <span class="symbol"><A NAME="ref_880_7" HREF="terminal_interface-curses__adb.htm#ref_445_7">Upper_Left_Corner_Symbol</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
-      <span class="symbol"><A NAME="ref_881_7" HREF="terminal_interface-curses__adb.htm#ref_446_7">Upper_Right_Corner_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
-      <span class="symbol"><A NAME="ref_882_7" HREF="terminal_interface-curses__adb.htm#ref_447_7">Lower_Left_Corner_Symbol</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
-      <span class="symbol"><A NAME="ref_883_7" HREF="terminal_interface-curses__adb.htm#ref_448_7">Lower_Right_Corner_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>
+   <span class="comment"><em>--  <A NAME="AFU_25">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_875_14" href="terminal_interface-curses__adb.htm#ref_439_14">Border</a></span>
+     (<span class="symbol"><a name="ref_876_7" href="terminal_interface-curses__adb.htm#ref_440_7">Win</a></span>                       : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_877_7" href="terminal_interface-curses__adb.htm#ref_441_7">Left_Side_Symbol</a></span>          : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>;
+      <span class="symbol"><a name="ref_878_7" href="terminal_interface-curses__adb.htm#ref_442_7">Right_Side_Symbol</a></span>         : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>;
+      <span class="symbol"><a name="ref_879_7" href="terminal_interface-curses__adb.htm#ref_443_7">Top_Side_Symbol</a></span>           : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>;
+      <span class="symbol"><a name="ref_880_7" href="terminal_interface-curses__adb.htm#ref_444_7">Bottom_Side_Symbol</a></span>        : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>;
+      <span class="symbol"><a name="ref_881_7" href="terminal_interface-curses__adb.htm#ref_445_7">Upper_Left_Corner_Symbol</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>;
+      <span class="symbol"><a name="ref_882_7" href="terminal_interface-curses__adb.htm#ref_446_7">Upper_Right_Corner_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>;
+      <span class="symbol"><a name="ref_883_7" href="terminal_interface-curses__adb.htm#ref_447_7">Lower_Left_Corner_Symbol</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>;
+      <span class="symbol"><a name="ref_884_7" href="terminal_interface-curses__adb.htm#ref_448_7">Lower_Right_Corner_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>
      );
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_border.3x.html">wborder()</A></EM></span>
-   <span class="comment"><EM>--  AKA: border()</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_874_14">Border</A>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_border.3x.html">wborder()</A></em></span>
+   <span class="comment"><em>--  AKA: border()</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_875_14">Border</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_26"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_890_14" HREF="terminal_interface-curses__adb.htm#ref_475_14">Box</A></span>
-     (<span class="symbol"><A NAME="ref_891_7" HREF="terminal_interface-curses__adb.htm#ref_476_7">Win</A></span>               : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_892_7" HREF="terminal_interface-curses__adb.htm#ref_477_7">Vertical_Symbol</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
-      <span class="symbol"><A NAME="ref_893_7" HREF="terminal_interface-curses__adb.htm#ref_478_7">Horizontal_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_border.3x.html">box()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_890_14">Box</A>);
+   <span class="comment"><em>--  <A NAME="AFU_26">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_891_14" href="terminal_interface-curses__adb.htm#ref_475_14">Box</a></span>
+     (<span class="symbol"><a name="ref_892_7" href="terminal_interface-curses__adb.htm#ref_476_7">Win</a></span>               : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_893_7" href="terminal_interface-curses__adb.htm#ref_477_7">Vertical_Symbol</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>;
+      <span class="symbol"><a name="ref_894_7" href="terminal_interface-curses__adb.htm#ref_478_7">Horizontal_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_border.3x.html">box()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_891_14">Box</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_27"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_898_14" HREF="terminal_interface-curses__adb.htm#ref_486_14">Horizontal_Line</A></span>
-     (<span class="symbol"><A NAME="ref_899_7" HREF="terminal_interface-curses__adb.htm#ref_487_7">Win</A></span>         : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_900_7" HREF="terminal_interface-curses__adb.htm#ref_488_7">Line_Size</A></span>   : Natural;
-      <span class="symbol"><A NAME="ref_901_7" HREF="terminal_interface-curses__adb.htm#ref_489_7">Line_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_border.3x.html">whline()</A></EM></span>
-   <span class="comment"><EM>--  AKA: hline()</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_898_14">Horizontal_Line</A>);
+   <span class="comment"><em>--  <A NAME="AFU_27">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_899_14" href="terminal_interface-curses__adb.htm#ref_486_14">Horizontal_Line</a></span>
+     (<span class="symbol"><a name="ref_900_7" href="terminal_interface-curses__adb.htm#ref_487_7">Win</a></span>         : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_901_7" href="terminal_interface-curses__adb.htm#ref_488_7">Line_Size</a></span>   : Natural;
+      <span class="symbol"><a name="ref_902_7" href="terminal_interface-curses__adb.htm#ref_489_7">Line_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_border.3x.html">whline()</A></em></span>
+   <span class="comment"><em>--  AKA: hline()</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_899_14">Horizontal_Line</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_28"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_907_14" HREF="terminal_interface-curses__adb.htm#ref_504_14">Vertical_Line</A></span>
-     (<span class="symbol"><A NAME="ref_908_7" HREF="terminal_interface-curses__adb.htm#ref_505_7">Win</A></span>         : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_909_7" HREF="terminal_interface-curses__adb.htm#ref_506_7">Line_Size</A></span>   : Natural;
-      <span class="symbol"><A NAME="ref_910_7" HREF="terminal_interface-curses__adb.htm#ref_507_7">Line_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_border.3x.html">wvline()</A></EM></span>
-   <span class="comment"><EM>--  AKA: vline()</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_907_14">Vertical_Line</A>);
+   <span class="comment"><em>--  <A NAME="AFU_28">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_908_14" href="terminal_interface-curses__adb.htm#ref_504_14">Vertical_Line</a></span>
+     (<span class="symbol"><a name="ref_909_7" href="terminal_interface-curses__adb.htm#ref_505_7">Win</a></span>         : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_910_7" href="terminal_interface-curses__adb.htm#ref_506_7">Line_Size</a></span>   : Natural;
+      <span class="symbol"><a name="ref_911_7" href="terminal_interface-curses__adb.htm#ref_507_7">Line_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_border.3x.html">wvline()</A></em></span>
+   <span class="comment"><em>--  AKA: vline()</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_908_14">Vertical_Line</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/curs_getch.3x.html">curs_getch.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  Not implemented: mvgetch, mvwgetch</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/curs_getch.3x.html">curs_getch.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  Not implemented: mvgetch, mvwgetch</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_29"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_921_13" HREF="terminal_interface-curses__adb.htm#ref_523_13">Get_Keystroke</A></span> (<span class="symbol"><A NAME="ref_921_28" HREF="terminal_interface-curses__adb.htm#ref_523_28">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
-                           <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_getch.3x.html">wgetch()</A></EM></span>
-   <span class="comment"><EM>--  AKA: getch()</EM></span>
-   <span class="comment"><EM>--  Get a character from the keyboard and echo it - if enabled - to the</EM></span>
-   <span class="comment"><EM>--  window.</EM></span>
-   <span class="comment"><EM>--  If for any reason (i.e. a timeout) we could not get a character the</EM></span>
-   <span class="comment"><EM>--  returned keycode is Key_None.</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_921_13">Get_Keystroke</A>);
+   <span class="comment"><em>--  <A NAME="AFU_29">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_922_13" href="terminal_interface-curses__adb.htm#ref_523_13">Get_Keystroke</a></span> (<span class="symbol"><a name="ref_922_28" href="terminal_interface-curses__adb.htm#ref_523_28">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>)
+                           <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_getch.3x.html">wgetch()</A></em></span>
+   <span class="comment"><em>--  AKA: getch()</em></span>
+   <span class="comment"><em>--  Get a character from the keyboard and echo it - if enabled - to the</em></span>
+   <span class="comment"><em>--  window.</em></span>
+   <span class="comment"><em>--  If for any reason (i.e. a timeout) we could not get a character the</em></span>
+   <span class="comment"><em>--  returned keycode is Key_None.</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_922_13">Get_Keystroke</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_30"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_932_14" HREF="terminal_interface-curses__adb.htm#ref_538_14">Undo_Keystroke</A></span> (<span class="symbol"><A NAME="ref_932_30" HREF="terminal_interface-curses__adb.htm#ref_538_30">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_getch.3x.html">ungetch()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_932_14">Undo_Keystroke</A>);
+   <span class="comment"><em>--  <A NAME="AFU_30">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_933_14" href="terminal_interface-curses__adb.htm#ref_538_14">Undo_Keystroke</a></span> (<span class="symbol"><a name="ref_933_30" href="terminal_interface-curses__adb.htm#ref_538_30">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_getch.3x.html">ungetch()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_933_14">Undo_Keystroke</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_31"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_937_13" HREF="terminal_interface-curses__adb.htm#ref_548_13">Has_Key</A></span> (<span class="symbol"><A NAME="ref_937_22" HREF="terminal_interface-curses__adb.htm#ref_548_22">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>) <b>return</b> Boolean;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_getch.3x.html">has_key()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_937_13">Has_Key</A>);
+   <span class="comment"><em>--  <A NAME="AFU_31">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_938_13" href="terminal_interface-curses__adb.htm#ref_548_13">Has_Key</a></span> (<span class="symbol"><a name="ref_938_22" href="terminal_interface-curses__adb.htm#ref_548_22">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>) <b>return</b> Boolean;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_getch.3x.html">has_key()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_938_13">Has_Key</a>);
 
-   <span class="comment"><EM>--  |</EM></span>
-   <span class="comment"><EM>--  | Some helper functions</EM></span>
-   <span class="comment"><EM>--  |</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_944_13" HREF="terminal_interface-curses__adb.htm#ref_560_13">Is_Function_Key</A></span> (<span class="symbol"><A NAME="ref_944_30" HREF="terminal_interface-curses__adb.htm#ref_560_30">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>) <b>return</b> Boolean;
-   <span class="comment"><EM>--  Return True if the Key is a function key (i.e. one of F0 .. F63)</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_944_13">Is_Function_Key</A>);
+   <span class="comment"><em>--  |</em></span>
+   <span class="comment"><em>--  | Some helper functions</em></span>
+   <span class="comment"><em>--  |</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_945_13" href="terminal_interface-curses__adb.htm#ref_560_13">Is_Function_Key</a></span> (<span class="symbol"><a name="ref_945_30" href="terminal_interface-curses__adb.htm#ref_560_30">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>) <b>return</b> Boolean;
+   <span class="comment"><em>--  Return True if the Key is a function key (i.e. one of F0 .. F63)</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_945_13">Is_Function_Key</a>);
 
-   <b>subtype</b> <span class="symbol"><A NAME="ref_948_12">Function_Key_Number</A></span> <b>is</b> Integer <b>range</b> 0 .. 63;
-   <span class="comment"><EM>--  (n)curses allows for 64 function keys.</EM></span>
+   <b>subtype</b> <span class="symbol"><a name="ref_949_12">Function_Key_Number</a></span> <b>is</b> Integer <b>range</b> 0 .. 63;
+   <span class="comment"><em>--  (n)curses allows for 64 function keys.</em></span>
 
-   <b>function</b> <span class="symbol"><A NAME="ref_951_13" HREF="terminal_interface-curses__adb.htm#ref_572_13">Function_Key</A></span> (<span class="symbol"><A NAME="ref_951_27" HREF="terminal_interface-curses__adb.htm#ref_572_27">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_948_12">Function_Key_Number</A>;
-   <span class="comment"><EM>--  Return the number of the function key. If the code is not a</EM></span>
-   <span class="comment"><EM>--  function key, a CONSTRAINT_ERROR will be raised.</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_951_13">Function_Key</A>);
+   <b>function</b> <span class="symbol"><a name="ref_952_13" href="terminal_interface-curses__adb.htm#ref_572_13">Function_Key</a></span> (<span class="symbol"><a name="ref_952_27" href="terminal_interface-curses__adb.htm#ref_572_27">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_949_12">Function_Key_Number</a>;
+   <span class="comment"><em>--  Return the number of the function key. If the code is not a</em></span>
+   <span class="comment"><em>--  function key, a CONSTRAINT_ERROR will be raised.</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_952_13">Function_Key</a>);
 
-   <b>function</b> <span class="symbol"><A NAME="ref_956_13" HREF="terminal_interface-curses__adb.htm#ref_583_13">Function_Key_Code</A></span> (<span class="symbol"><A NAME="ref_956_32" HREF="terminal_interface-curses__adb.htm#ref_583_32">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_948_12">Function_Key_Number</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A>;
-   <span class="comment"><EM>--  Return the key code for a given function-key number.</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_956_13">Function_Key_Code</A>);
+   <b>function</b> <span class="symbol"><a name="ref_957_13" href="terminal_interface-curses__adb.htm#ref_583_13">Function_Key_Code</a></span> (<span class="symbol"><a name="ref_957_32" href="terminal_interface-curses__adb.htm#ref_583_32">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_949_12">Function_Key_Number</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</a>;
+   <span class="comment"><em>--  Return the key code for a given function-key number.</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_957_13">Function_Key_Code</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/curs_attr.3x.html">curs_attr.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Not implemented attr_off,  wattr_off,</EM></span>
-   <span class="comment"><EM>--  |  attr_on, wattr_on, attr_set, wattr_set</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/curs_attr.3x.html">curs_attr.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Not implemented attr_off,  wattr_off,</em></span>
+   <span class="comment"><em>--  |  attr_on, wattr_on, attr_set, wattr_set</em></span>
 
-   <span class="comment"><EM>--  PAIR_NUMBER</EM></span>
-   <span class="comment"><EM>--  PAIR_NUMBER(c) is the same as c.Color</EM></span>
+   <span class="comment"><em>--  PAIR_NUMBER</em></span>
+   <span class="comment"><em>--  PAIR_NUMBER(c) is the same as c.Color</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_32"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_970_14" HREF="terminal_interface-curses__adb.htm#ref_589_14">Standout</A></span> (<span class="symbol"><A NAME="ref_970_24" HREF="terminal_interface-curses__adb.htm#ref_589_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>  := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                       <span class="symbol"><A NAME="ref_971_24" HREF="terminal_interface-curses__adb.htm#ref_590_24">On</A></span>  : Boolean := True);
-   <span class="comment"><EM>--  AKA: wstandout()</EM></span>
-   <span class="comment"><EM>--  AKA: wstandend()</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_32">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_971_14" href="terminal_interface-curses__adb.htm#ref_589_14">Standout</a></span> (<span class="symbol"><a name="ref_971_24" href="terminal_interface-curses__adb.htm#ref_589_24">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>  := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                       <span class="symbol"><a name="ref_972_24" href="terminal_interface-curses__adb.htm#ref_590_24">On</a></span>  : Boolean := True);
+   <span class="comment"><em>--  AKA: wstandout()</em></span>
+   <span class="comment"><em>--  AKA: wstandend()</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_33"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_976_14" HREF="terminal_interface-curses__adb.htm#ref_609_14">Switch_Character_Attribute</A></span>
-     (<span class="symbol"><A NAME="ref_977_7" HREF="terminal_interface-curses__adb.htm#ref_610_7">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_978_7" HREF="terminal_interface-curses__adb.htm#ref_611_7">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
-      <span class="symbol"><A NAME="ref_979_7" HREF="terminal_interface-curses__adb.htm#ref_612_7">On</A></span>   : Boolean := True); <span class="comment"><EM>--  if False we switch Off.</EM></span>
-   <span class="comment"><EM>--  Switches those Attributes set to true in the list.</EM></span>
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_attr.3x.html">wattron()</A></EM></span>
-   <span class="comment"><EM>--  AKA: wattroff()</EM></span>
-   <span class="comment"><EM>--  AKA: attron()</EM></span>
-   <span class="comment"><EM>--  AKA: attroff()</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_33">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_977_14" href="terminal_interface-curses__adb.htm#ref_609_14">Switch_Character_Attribute</a></span>
+     (<span class="symbol"><a name="ref_978_7" href="terminal_interface-curses__adb.htm#ref_610_7">Win</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_979_7" href="terminal_interface-curses__adb.htm#ref_611_7">Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>;
+      <span class="symbol"><a name="ref_980_7" href="terminal_interface-curses__adb.htm#ref_612_7">On</a></span>   : Boolean := True); <span class="comment"><em>--  if False we switch Off.</em></span>
+   <span class="comment"><em>--  Switches those Attributes set to true in the list.</em></span>
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_attr.3x.html">wattron()</A></em></span>
+   <span class="comment"><em>--  AKA: wattroff()</em></span>
+   <span class="comment"><em>--  AKA: attron()</em></span>
+   <span class="comment"><em>--  AKA: attroff()</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_34"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_987_14" HREF="terminal_interface-curses__adb.htm#ref_637_14">Set_Character_Attributes</A></span>
-     (<span class="symbol"><A NAME="ref_988_7" HREF="terminal_interface-curses__adb.htm#ref_638_7">Win</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_989_7" HREF="terminal_interface-curses__adb.htm#ref_639_7">Attr</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
-      <span class="symbol"><A NAME="ref_990_7" HREF="terminal_interface-curses__adb.htm#ref_640_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_attr.3x.html">wattrset()</A></EM></span>
-   <span class="comment"><EM>--  AKA: attrset()</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_987_14">Set_Character_Attributes</A>);
+   <span class="comment"><em>--  <A NAME="AFU_34">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_988_14" href="terminal_interface-curses__adb.htm#ref_637_14">Set_Character_Attributes</a></span>
+     (<span class="symbol"><a name="ref_989_7" href="terminal_interface-curses__adb.htm#ref_638_7">Win</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_990_7" href="terminal_interface-curses__adb.htm#ref_639_7">Attr</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>;
+      <span class="symbol"><a name="ref_991_7" href="terminal_interface-curses__adb.htm#ref_640_7">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_attr.3x.html">wattrset()</A></em></span>
+   <span class="comment"><em>--  AKA: attrset()</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_988_14">Set_Character_Attributes</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_35"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_996_13" HREF="terminal_interface-curses__adb.htm#ref_654_13">Get_Character_Attribute</A></span>
-     (<span class="symbol"><A NAME="ref_997_7" HREF="terminal_interface-curses__adb.htm#ref_654_38">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_attr.3x.html">wattr_get()</A></EM></span>
-   <span class="comment"><EM>--  AKA: attr_get()</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_35">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_997_13" href="terminal_interface-curses__adb.htm#ref_654_13">Get_Character_Attribute</a></span>
+     (<span class="symbol"><a name="ref_998_7" href="terminal_interface-curses__adb.htm#ref_654_38">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_attr.3x.html">wattr_get()</A></em></span>
+   <span class="comment"><em>--  AKA: attr_get()</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_36"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_1002_13" HREF="terminal_interface-curses__adb.htm#ref_675_13">Get_Character_Attribute</A></span>
-     (<span class="symbol"><A NAME="ref_1003_7" HREF="terminal_interface-curses__adb.htm#ref_675_38">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_attr.3x.html">wattr_get()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_36">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_1003_13" href="terminal_interface-curses__adb.htm#ref_675_13">Get_Character_Attribute</a></span>
+     (<span class="symbol"><a name="ref_1004_7" href="terminal_interface-curses__adb.htm#ref_675_38">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_attr.3x.html">wattr_get()</A></em></span>
    <b>pragma</b> Inline (Get_Character_Attribute);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_37"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1008_14" HREF="terminal_interface-curses__adb.htm#ref_696_14">Set_Color</A></span> (<span class="symbol"><A NAME="ref_1008_25" HREF="terminal_interface-curses__adb.htm#ref_696_25">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                        <span class="symbol"><A NAME="ref_1009_25" HREF="terminal_interface-curses__adb.htm#ref_697_25">Pair</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_attr.3x.html">wcolor_set()</A></EM></span>
-   <span class="comment"><EM>--  AKA: color_set()</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1008_14">Set_Color</A>);
+   <span class="comment"><em>--  <A NAME="AFU_37">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1009_14" href="terminal_interface-curses__adb.htm#ref_696_14">Set_Color</a></span> (<span class="symbol"><a name="ref_1009_25" href="terminal_interface-curses__adb.htm#ref_696_25">Win</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                        <span class="symbol"><a name="ref_1010_25" href="terminal_interface-curses__adb.htm#ref_697_25">Pair</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_attr.3x.html">wcolor_set()</A></em></span>
+   <span class="comment"><em>--  AKA: color_set()</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1009_14">Set_Color</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_38"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1015_14" HREF="terminal_interface-curses__adb.htm#ref_712_14">Change_Attributes</A></span>
-     (<span class="symbol"><A NAME="ref_1016_7" HREF="terminal_interface-curses__adb.htm#ref_713_7">Win</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_1017_7" HREF="terminal_interface-curses__adb.htm#ref_714_7">Count</A></span> : Integer := -1;
-      <span class="symbol"><A NAME="ref_1018_7" HREF="terminal_interface-curses__adb.htm#ref_715_7">Attr</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
-      <span class="symbol"><A NAME="ref_1019_7" HREF="terminal_interface-curses__adb.htm#ref_716_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_attr.3x.html">wchgat()</A></EM></span>
-   <span class="comment"><EM>--  AKA: chgat()</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_38">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1016_14" href="terminal_interface-curses__adb.htm#ref_712_14">Change_Attributes</a></span>
+     (<span class="symbol"><a name="ref_1017_7" href="terminal_interface-curses__adb.htm#ref_713_7">Win</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_1018_7" href="terminal_interface-curses__adb.htm#ref_714_7">Count</a></span> : Integer := -1;
+      <span class="symbol"><a name="ref_1019_7" href="terminal_interface-curses__adb.htm#ref_715_7">Attr</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>;
+      <span class="symbol"><a name="ref_1020_7" href="terminal_interface-curses__adb.htm#ref_716_7">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_attr.3x.html">wchgat()</A></em></span>
+   <span class="comment"><em>--  AKA: chgat()</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_39"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1024_14" HREF="terminal_interface-curses__adb.htm#ref_737_14">Change_Attributes</A></span>
-     (<span class="symbol"><A NAME="ref_1025_7" HREF="terminal_interface-curses__adb.htm#ref_738_7">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_1026_7" HREF="terminal_interface-curses__adb.htm#ref_739_7">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A> := <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>'First;
-      <span class="symbol"><A NAME="ref_1027_7" HREF="terminal_interface-curses__adb.htm#ref_740_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>'First;
-      <span class="symbol"><A NAME="ref_1028_7" HREF="terminal_interface-curses__adb.htm#ref_741_7">Count</A></span>  : Integer := -1;
-      <span class="symbol"><A NAME="ref_1029_7" HREF="terminal_interface-curses__adb.htm#ref_742_7">Attr</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
-      <span class="symbol"><A NAME="ref_1030_7" HREF="terminal_interface-curses__adb.htm#ref_743_7">Color</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_attr.3x.html">mvwchgat()</A></EM></span>
-   <span class="comment"><EM>--  AKA: mvchgat()</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_39">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1025_14" href="terminal_interface-curses__adb.htm#ref_737_14">Change_Attributes</a></span>
+     (<span class="symbol"><a name="ref_1026_7" href="terminal_interface-curses__adb.htm#ref_738_7">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_1027_7" href="terminal_interface-curses__adb.htm#ref_739_7">Line</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a> := <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>'First;
+      <span class="symbol"><a name="ref_1028_7" href="terminal_interface-curses__adb.htm#ref_740_7">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> := <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>'First;
+      <span class="symbol"><a name="ref_1029_7" href="terminal_interface-curses__adb.htm#ref_741_7">Count</a></span>  : Integer := -1;
+      <span class="symbol"><a name="ref_1030_7" href="terminal_interface-curses__adb.htm#ref_742_7">Attr</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>;
+      <span class="symbol"><a name="ref_1031_7" href="terminal_interface-curses__adb.htm#ref_743_7">Color</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_attr.3x.html">mvwchgat()</A></em></span>
+   <span class="comment"><em>--  AKA: mvchgat()</em></span>
    <b>pragma</b> Inline (Change_Attributes);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/curs_beep.3x.html">curs_beep.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/curs_beep.3x.html">curs_beep.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_40"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1040_14" HREF="terminal_interface-curses__adb.htm#ref_750_14">Beep</A></span>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_beep.3x.html">beep()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1040_14">Beep</A>);
+   <span class="comment"><em>--  <A NAME="AFU_40">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1041_14" href="terminal_interface-curses__adb.htm#ref_750_14">Beep</a></span>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_beep.3x.html">beep()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1041_14">Beep</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_41"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1045_14" HREF="terminal_interface-curses__adb.htm#ref_760_14">Flash_Screen</A></span>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_beep.3x.html">flash()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1045_14">Flash_Screen</A>);
+   <span class="comment"><em>--  <A NAME="AFU_41">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1046_14" href="terminal_interface-curses__adb.htm#ref_760_14">Flash_Screen</a></span>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_beep.3x.html">flash()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1046_14">Flash_Screen</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/curs_inopts.3x.html">curs_inopts.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/curs_inopts.3x.html">curs_inopts.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  | Not implemented : typeahead</EM></span>
-   <span class="comment"><EM>--</EM></span>
-   <span class="comment"><EM>--  #1A NAME="AFU_42"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1056_14" HREF="terminal_interface-curses__adb.htm#ref_770_14">Set_Cbreak_Mode</A></span> (<span class="symbol"><A NAME="ref_1056_31" HREF="terminal_interface-curses__adb.htm#ref_770_31">SwitchOn</A></span> : Boolean := True);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_inopts.3x.html">cbreak()</A></EM></span>
-   <span class="comment"><EM>--  AKA: nocbreak()</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1056_14">Set_Cbreak_Mode</A>);
+   <span class="comment"><em>--  | Not implemented : typeahead</em></span>
+   <span class="comment"><em>--</em></span>
+   <span class="comment"><em>--  <A NAME="AFU_42">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1057_14" href="terminal_interface-curses__adb.htm#ref_770_14">Set_Cbreak_Mode</a></span> (<span class="symbol"><a name="ref_1057_31" href="terminal_interface-curses__adb.htm#ref_770_31">SwitchOn</a></span> : Boolean := True);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_inopts.3x.html">cbreak()</A></em></span>
+   <span class="comment"><em>--  AKA: nocbreak()</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1057_14">Set_Cbreak_Mode</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_43"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1062_14" HREF="terminal_interface-curses__adb.htm#ref_789_14">Set_Raw_Mode</A></span> (<span class="symbol"><A NAME="ref_1062_28" HREF="terminal_interface-curses__adb.htm#ref_789_28">SwitchOn</A></span> : Boolean := True);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_inopts.3x.html">raw()</A></EM></span>
-   <span class="comment"><EM>--  AKA: noraw()</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1062_14">Set_Raw_Mode</A>);
+   <span class="comment"><em>--  <A NAME="AFU_43">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1063_14" href="terminal_interface-curses__adb.htm#ref_789_14">Set_Raw_Mode</a></span> (<span class="symbol"><a name="ref_1063_28" href="terminal_interface-curses__adb.htm#ref_789_28">SwitchOn</a></span> : Boolean := True);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_inopts.3x.html">raw()</A></em></span>
+   <span class="comment"><em>--  AKA: noraw()</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1063_14">Set_Raw_Mode</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_44"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1068_14" HREF="terminal_interface-curses__adb.htm#ref_808_14">Set_Echo_Mode</A></span> (<span class="symbol"><A NAME="ref_1068_29" HREF="terminal_interface-curses__adb.htm#ref_808_29">SwitchOn</A></span> : Boolean := True);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_inopts.3x.html">echo()</A></EM></span>
-   <span class="comment"><EM>--  AKA: noecho()</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1068_14">Set_Echo_Mode</A>);
+   <span class="comment"><em>--  <A NAME="AFU_44">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1069_14" href="terminal_interface-curses__adb.htm#ref_808_14">Set_Echo_Mode</a></span> (<span class="symbol"><a name="ref_1069_29" href="terminal_interface-curses__adb.htm#ref_808_29">SwitchOn</a></span> : Boolean := True);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_inopts.3x.html">echo()</A></em></span>
+   <span class="comment"><em>--  AKA: noecho()</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1069_14">Set_Echo_Mode</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_45"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1074_14" HREF="terminal_interface-curses__adb.htm#ref_827_14">Set_Meta_Mode</A></span> (<span class="symbol"><A NAME="ref_1074_29" HREF="terminal_interface-curses__adb.htm#ref_827_29">Win</A></span>      : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                            <span class="symbol"><A NAME="ref_1075_29" HREF="terminal_interface-curses__adb.htm#ref_828_29">SwitchOn</A></span> : Boolean := True);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_inopts.3x.html">meta()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1074_14">Set_Meta_Mode</A>);
+   <span class="comment"><em>--  <A NAME="AFU_45">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1075_14" href="terminal_interface-curses__adb.htm#ref_827_14">Set_Meta_Mode</a></span> (<span class="symbol"><a name="ref_1075_29" href="terminal_interface-curses__adb.htm#ref_827_29">Win</a></span>      : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                            <span class="symbol"><a name="ref_1076_29" href="terminal_interface-curses__adb.htm#ref_828_29">SwitchOn</a></span> : Boolean := True);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_inopts.3x.html">meta()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1075_14">Set_Meta_Mode</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_46"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1080_14" HREF="terminal_interface-curses__adb.htm#ref_838_14">Set_KeyPad_Mode</A></span> (<span class="symbol"><A NAME="ref_1080_31" HREF="terminal_interface-curses__adb.htm#ref_838_31">Win</A></span>      : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                              <span class="symbol"><A NAME="ref_1081_31" HREF="terminal_interface-curses__adb.htm#ref_839_31">SwitchOn</A></span> : Boolean := True);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_inopts.3x.html">keypad()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1080_14">Set_KeyPad_Mode</A>);
+   <span class="comment"><em>--  <A NAME="AFU_46">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1081_14" href="terminal_interface-curses__adb.htm#ref_838_14">Set_KeyPad_Mode</a></span> (<span class="symbol"><a name="ref_1081_31" href="terminal_interface-curses__adb.htm#ref_838_31">Win</a></span>      : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                              <span class="symbol"><a name="ref_1082_31" href="terminal_interface-curses__adb.htm#ref_839_31">SwitchOn</a></span> : Boolean := True);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_inopts.3x.html">keypad()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1081_14">Set_KeyPad_Mode</a>);
 
-   <b>function</b> <span class="symbol"><A NAME="ref_1085_13" HREF="terminal_interface-curses__adb.htm#ref_849_13">Get_KeyPad_Mode</A></span> (<span class="symbol"><A NAME="ref_1085_30" HREF="terminal_interface-curses__adb.htm#ref_849_30">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
+   <b>function</b> <span class="symbol"><a name="ref_1086_13" href="terminal_interface-curses__adb.htm#ref_849_13">Get_KeyPad_Mode</a></span> (<span class="symbol"><a name="ref_1086_30" href="terminal_interface-curses__adb.htm#ref_849_30">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>)
                              <b>return</b> Boolean;
-   <span class="comment"><EM>--  This has no pendant in C. There you've to look into the WINDOWS</EM></span>
-   <span class="comment"><EM>--  structure to get the value. Bad practice, not repeated in Ada.</EM></span>
+   <span class="comment"><em>--  This has no pendant in C. There you've to look into the WINDOWS</em></span>
+   <span class="comment"><em>--  structure to get the value. Bad practice, not repeated in Ada.</em></span>
 
-   <b>type</b> <span class="symbol"><A NAME="ref_1090_9">Half_Delay_Amount</A></span> <b>is</b> <b>range</b> 1 .. 255;
+   <b>type</b> <span class="symbol"><a name="ref_1091_9">Half_Delay_Amount</a></span> <b>is</b> <b>range</b> 1 .. 255;
 
-   <span class="comment"><EM>--  #1A NAME="AFU_47"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1093_14" HREF="terminal_interface-curses__adb.htm#ref_858_14">Half_Delay</A></span> (<span class="symbol"><A NAME="ref_1093_26" HREF="terminal_interface-curses__adb.htm#ref_858_26">Amount</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1090_9">Half_Delay_Amount</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_inopts.3x.html">halfdelay()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1093_14">Half_Delay</A>);
+   <span class="comment"><em>--  <A NAME="AFU_47">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1094_14" href="terminal_interface-curses__adb.htm#ref_858_14">Half_Delay</a></span> (<span class="symbol"><a name="ref_1094_26" href="terminal_interface-curses__adb.htm#ref_858_26">Amount</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1091_9">Half_Delay_Amount</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_inopts.3x.html">halfdelay()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1094_14">Half_Delay</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_48"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1098_14" HREF="terminal_interface-curses__adb.htm#ref_868_14">Set_Flush_On_Interrupt_Mode</A></span>
-     (<span class="symbol"><A NAME="ref_1099_7" HREF="terminal_interface-curses__adb.htm#ref_869_7">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_1100_7" HREF="terminal_interface-curses__adb.htm#ref_870_7">Mode</A></span> : Boolean := True);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_inopts.3x.html">intrflush()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1098_14">Set_Flush_On_Interrupt_Mode</A>);
+   <span class="comment"><em>--  <A NAME="AFU_48">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1099_14" href="terminal_interface-curses__adb.htm#ref_868_14">Set_Flush_On_Interrupt_Mode</a></span>
+     (<span class="symbol"><a name="ref_1100_7" href="terminal_interface-curses__adb.htm#ref_869_7">Win</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_1101_7" href="terminal_interface-curses__adb.htm#ref_870_7">Mode</a></span> : Boolean := True);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_inopts.3x.html">intrflush()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1099_14">Set_Flush_On_Interrupt_Mode</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_49"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1105_14" HREF="terminal_interface-curses__adb.htm#ref_880_14">Set_Queue_Interrupt_Mode</A></span>
-     (<span class="symbol"><A NAME="ref_1106_7" HREF="terminal_interface-curses__adb.htm#ref_881_7">Win</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_1107_7" HREF="terminal_interface-curses__adb.htm#ref_882_7">Flush</A></span> : Boolean := True);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_inopts.3x.html">qiflush()</A></EM></span>
-   <span class="comment"><EM>--  AKA: noqiflush()</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1105_14">Set_Queue_Interrupt_Mode</A>);
+   <span class="comment"><em>--  <A NAME="AFU_49">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1106_14" href="terminal_interface-curses__adb.htm#ref_880_14">Set_Queue_Interrupt_Mode</a></span>
+     (<span class="symbol"><a name="ref_1107_7" href="terminal_interface-curses__adb.htm#ref_881_7">Win</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_1108_7" href="terminal_interface-curses__adb.htm#ref_882_7">Flush</a></span> : Boolean := True);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_inopts.3x.html">qiflush()</A></em></span>
+   <span class="comment"><em>--  AKA: noqiflush()</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1106_14">Set_Queue_Interrupt_Mode</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_50"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1113_14" HREF="terminal_interface-curses__adb.htm#ref_899_14">Set_NoDelay_Mode</A></span>
-     (<span class="symbol"><A NAME="ref_1114_7" HREF="terminal_interface-curses__adb.htm#ref_900_7">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_1115_7" HREF="terminal_interface-curses__adb.htm#ref_901_7">Mode</A></span> : Boolean := False);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_inopts.3x.html">nodelay()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1113_14">Set_NoDelay_Mode</A>);
+   <span class="comment"><em>--  <A NAME="AFU_50">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1114_14" href="terminal_interface-curses__adb.htm#ref_899_14">Set_NoDelay_Mode</a></span>
+     (<span class="symbol"><a name="ref_1115_7" href="terminal_interface-curses__adb.htm#ref_900_7">Win</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_1116_7" href="terminal_interface-curses__adb.htm#ref_901_7">Mode</a></span> : Boolean := False);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_inopts.3x.html">nodelay()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1114_14">Set_NoDelay_Mode</a>);
 
-   <b>type</b> <span class="symbol"><A NAME="ref_1119_9">Timeout_Mode</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_1119_26">Blocking</A></span>, <span class="symbol"><A NAME="ref_1119_36">Non_Blocking</A></span>, <span class="symbol"><A NAME="ref_1119_50">Delayed</A></span>);
+   <b>type</b> <span class="symbol"><a name="ref_1120_9">Timeout_Mode</a></span> <b>is</b> (<span class="symbol"><a name="ref_1120_26">Blocking</a></span>, <span class="symbol"><a name="ref_1120_36">Non_Blocking</a></span>, <span class="symbol"><a name="ref_1120_50">Delayed</a></span>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_51"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1122_14" HREF="terminal_interface-curses__adb.htm#ref_911_14">Set_Timeout_Mode</A></span> (<span class="symbol"><A NAME="ref_1122_32" HREF="terminal_interface-curses__adb.htm#ref_911_32">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                               <span class="symbol"><A NAME="ref_1123_32" HREF="terminal_interface-curses__adb.htm#ref_912_32">Mode</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_1119_9">Timeout_Mode</A>;
-                               <span class="symbol"><A NAME="ref_1124_32" HREF="terminal_interface-curses__adb.htm#ref_913_32">Amount</A></span> : Natural); <span class="comment"><EM>--  in Milliseconds</EM></span>
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_inopts.3x.html">wtimeout()</A></EM></span>
-   <span class="comment"><EM>--  AKA: timeout()</EM></span>
-   <span class="comment"><EM>--  Instead of overloading the semantic of the sign of amount, we</EM></span>
-   <span class="comment"><EM>--  introduce the Timeout_Mode parameter. This should improve</EM></span>
-   <span class="comment"><EM>--  readability. For Blocking and Non_Blocking, the Amount is not</EM></span>
-   <span class="comment"><EM>--  evaluated.</EM></span>
-   <span class="comment"><EM>--  We do not inline this procedure.</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_51">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1123_14" href="terminal_interface-curses__adb.htm#ref_911_14">Set_Timeout_Mode</a></span> (<span class="symbol"><a name="ref_1123_32" href="terminal_interface-curses__adb.htm#ref_911_32">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                               <span class="symbol"><a name="ref_1124_32" href="terminal_interface-curses__adb.htm#ref_912_32">Mode</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_1120_9">Timeout_Mode</a>;
+                               <span class="symbol"><a name="ref_1125_32" href="terminal_interface-curses__adb.htm#ref_913_32">Amount</a></span> : Natural); <span class="comment"><em>--  in Milliseconds</em></span>
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_inopts.3x.html">wtimeout()</A></em></span>
+   <span class="comment"><em>--  AKA: timeout()</em></span>
+   <span class="comment"><em>--  Instead of overloading the semantic of the sign of amount, we</em></span>
+   <span class="comment"><em>--  introduce the Timeout_Mode parameter. This should improve</em></span>
+   <span class="comment"><em>--  readability. For Blocking and Non_Blocking, the Amount is not</em></span>
+   <span class="comment"><em>--  evaluated.</em></span>
+   <span class="comment"><em>--  We do not inline this procedure.</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_52"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1134_14" HREF="terminal_interface-curses__adb.htm#ref_932_14">Set_Escape_Timer_Mode</A></span>
-     (<span class="symbol"><A NAME="ref_1135_7" HREF="terminal_interface-curses__adb.htm#ref_933_7">Win</A></span>       : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_1136_7" HREF="terminal_interface-curses__adb.htm#ref_934_7">Timer_Off</A></span> : Boolean := False);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_inopts.3x.html">notimeout()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1134_14">Set_Escape_Timer_Mode</A>);
+   <span class="comment"><em>--  <A NAME="AFU_52">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1135_14" href="terminal_interface-curses__adb.htm#ref_932_14">Set_Escape_Timer_Mode</a></span>
+     (<span class="symbol"><a name="ref_1136_7" href="terminal_interface-curses__adb.htm#ref_933_7">Win</a></span>       : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_1137_7" href="terminal_interface-curses__adb.htm#ref_934_7">Timer_Off</a></span> : Boolean := False);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_inopts.3x.html">notimeout()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1135_14">Set_Escape_Timer_Mode</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/curs_outopts.3x.html">curs_outopts.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/curs_outopts.3x.html">curs_outopts.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_53"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1145_14" HREF="terminal_interface-curses__adb.htm#ref_947_14">Set_NL_Mode</A></span> (<span class="symbol"><A NAME="ref_1145_27" HREF="terminal_interface-curses__adb.htm#ref_947_27">SwitchOn</A></span> : Boolean := True);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_outopts.3x.html">nl()</A></EM></span>
-   <span class="comment"><EM>--  AKA: nonl()</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1145_14">Set_NL_Mode</A>);
+   <span class="comment"><em>--  <A NAME="AFU_53">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1146_14" href="terminal_interface-curses__adb.htm#ref_947_14">Set_NL_Mode</a></span> (<span class="symbol"><a name="ref_1146_27" href="terminal_interface-curses__adb.htm#ref_947_27">SwitchOn</a></span> : Boolean := True);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_outopts.3x.html">nl()</A></em></span>
+   <span class="comment"><em>--  AKA: nonl()</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1146_14">Set_NL_Mode</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_54"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1151_14" HREF="terminal_interface-curses__adb.htm#ref_966_14">Clear_On_Next_Update</A></span>
-     (<span class="symbol"><A NAME="ref_1152_7" HREF="terminal_interface-curses__adb.htm#ref_967_7">Win</A></span>      : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_1153_7" HREF="terminal_interface-curses__adb.htm#ref_968_7">Do_Clear</A></span> : Boolean := True);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_outopts.3x.html">clearok()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1151_14">Clear_On_Next_Update</A>);
+   <span class="comment"><em>--  <A NAME="AFU_54">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1152_14" href="terminal_interface-curses__adb.htm#ref_966_14">Clear_On_Next_Update</a></span>
+     (<span class="symbol"><a name="ref_1153_7" href="terminal_interface-curses__adb.htm#ref_967_7">Win</a></span>      : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_1154_7" href="terminal_interface-curses__adb.htm#ref_968_7">Do_Clear</a></span> : Boolean := True);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_outopts.3x.html">clearok()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1152_14">Clear_On_Next_Update</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_55"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1158_14" HREF="terminal_interface-curses__adb.htm#ref_978_14">Use_Insert_Delete_Line</A></span>
-     (<span class="symbol"><A NAME="ref_1159_7" HREF="terminal_interface-curses__adb.htm#ref_979_7">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_1160_7" HREF="terminal_interface-curses__adb.htm#ref_980_7">Do_Idl</A></span> : Boolean := True);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_outopts.3x.html">idlok()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1158_14">Use_Insert_Delete_Line</A>);
+   <span class="comment"><em>--  <A NAME="AFU_55">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1159_14" href="terminal_interface-curses__adb.htm#ref_978_14">Use_Insert_Delete_Line</a></span>
+     (<span class="symbol"><a name="ref_1160_7" href="terminal_interface-curses__adb.htm#ref_979_7">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_1161_7" href="terminal_interface-curses__adb.htm#ref_980_7">Do_Idl</a></span> : Boolean := True);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_outopts.3x.html">idlok()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1159_14">Use_Insert_Delete_Line</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_56"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1165_14" HREF="terminal_interface-curses__adb.htm#ref_990_14">Use_Insert_Delete_Character</A></span>
-     (<span class="symbol"><A NAME="ref_1166_7" HREF="terminal_interface-curses__adb.htm#ref_991_7">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_1167_7" HREF="terminal_interface-curses__adb.htm#ref_992_7">Do_Idc</A></span> : Boolean := True);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_outopts.3x.html">idcok()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1165_14">Use_Insert_Delete_Character</A>);
+   <span class="comment"><em>--  <A NAME="AFU_56">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1166_14" href="terminal_interface-curses__adb.htm#ref_990_14">Use_Insert_Delete_Character</a></span>
+     (<span class="symbol"><a name="ref_1167_7" href="terminal_interface-curses__adb.htm#ref_991_7">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_1168_7" href="terminal_interface-curses__adb.htm#ref_992_7">Do_Idc</a></span> : Boolean := True);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_outopts.3x.html">idcok()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1166_14">Use_Insert_Delete_Character</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_57"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1172_14" HREF="terminal_interface-curses__adb.htm#ref_1000_14">Leave_Cursor_After_Update</A></span>
-     (<span class="symbol"><A NAME="ref_1173_7" HREF="terminal_interface-curses__adb.htm#ref_1001_7">Win</A></span>      : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_1174_7" HREF="terminal_interface-curses__adb.htm#ref_1002_7">Do_Leave</A></span> : Boolean := True);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_outopts.3x.html">leaveok()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1172_14">Leave_Cursor_After_Update</A>);
+   <span class="comment"><em>--  <A NAME="AFU_57">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1173_14" href="terminal_interface-curses__adb.htm#ref_1000_14">Leave_Cursor_After_Update</a></span>
+     (<span class="symbol"><a name="ref_1174_7" href="terminal_interface-curses__adb.htm#ref_1001_7">Win</a></span>      : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_1175_7" href="terminal_interface-curses__adb.htm#ref_1002_7">Do_Leave</a></span> : Boolean := True);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_outopts.3x.html">leaveok()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1173_14">Leave_Cursor_After_Update</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_58"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1179_14" HREF="terminal_interface-curses__adb.htm#ref_1012_14">Immediate_Update_Mode</A></span>
-     (<span class="symbol"><A NAME="ref_1180_7" HREF="terminal_interface-curses__adb.htm#ref_1013_7">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_1181_7" HREF="terminal_interface-curses__adb.htm#ref_1014_7">Mode</A></span> : Boolean := False);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_outopts.3x.html">immedok()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1179_14">Immediate_Update_Mode</A>);
+   <span class="comment"><em>--  <A NAME="AFU_58">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1180_14" href="terminal_interface-curses__adb.htm#ref_1012_14">Immediate_Update_Mode</a></span>
+     (<span class="symbol"><a name="ref_1181_7" href="terminal_interface-curses__adb.htm#ref_1013_7">Win</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_1182_7" href="terminal_interface-curses__adb.htm#ref_1014_7">Mode</a></span> : Boolean := False);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_outopts.3x.html">immedok()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1180_14">Immediate_Update_Mode</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_59"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1186_14" HREF="terminal_interface-curses__adb.htm#ref_1022_14">Allow_Scrolling</A></span>
-     (<span class="symbol"><A NAME="ref_1187_7" HREF="terminal_interface-curses__adb.htm#ref_1023_7">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_1188_7" HREF="terminal_interface-curses__adb.htm#ref_1024_7">Mode</A></span> : Boolean := False);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_outopts.3x.html">scrollok()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1186_14">Allow_Scrolling</A>);
+   <span class="comment"><em>--  <A NAME="AFU_59">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1187_14" href="terminal_interface-curses__adb.htm#ref_1022_14">Allow_Scrolling</a></span>
+     (<span class="symbol"><a name="ref_1188_7" href="terminal_interface-curses__adb.htm#ref_1023_7">Win</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_1189_7" href="terminal_interface-curses__adb.htm#ref_1024_7">Mode</a></span> : Boolean := False);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_outopts.3x.html">scrollok()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1187_14">Allow_Scrolling</a>);
 
-   <b>function</b> <span class="symbol"><A NAME="ref_1192_13" HREF="terminal_interface-curses__adb.htm#ref_1034_13">Scrolling_Allowed</A></span> (<span class="symbol"><A NAME="ref_1192_32" HREF="terminal_interface-curses__adb.htm#ref_1034_32">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>) <b>return</b> Boolean;
-   <span class="comment"><EM>--  There is no such function in the C interface.</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1192_13">Scrolling_Allowed</A>);
+   <b>function</b> <span class="symbol"><a name="ref_1193_13" href="terminal_interface-curses__adb.htm#ref_1034_13">Scrolling_Allowed</a></span> (<span class="symbol"><a name="ref_1193_32" href="terminal_interface-curses__adb.htm#ref_1034_32">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) <b>return</b> Boolean;
+   <span class="comment"><em>--  There is no such function in the C interface.</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1193_13">Scrolling_Allowed</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_60"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1197_14" HREF="terminal_interface-curses__adb.htm#ref_1043_14">Set_Scroll_Region</A></span>
-     (<span class="symbol"><A NAME="ref_1198_7" HREF="terminal_interface-curses__adb.htm#ref_1044_7">Win</A></span>         : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_1199_7" HREF="terminal_interface-curses__adb.htm#ref_1045_7">Top_Line</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_1200_7" HREF="terminal_interface-curses__adb.htm#ref_1046_7">Bottom_Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_outopts.3x.html">wsetscrreg()</A></EM></span>
-   <span class="comment"><EM>--  AKA: setscrreg()</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1197_14">Set_Scroll_Region</A>);
+   <span class="comment"><em>--  <A NAME="AFU_60">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1198_14" href="terminal_interface-curses__adb.htm#ref_1043_14">Set_Scroll_Region</a></span>
+     (<span class="symbol"><a name="ref_1199_7" href="terminal_interface-curses__adb.htm#ref_1044_7">Win</a></span>         : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_1200_7" href="terminal_interface-curses__adb.htm#ref_1045_7">Top_Line</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_1201_7" href="terminal_interface-curses__adb.htm#ref_1046_7">Bottom_Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_outopts.3x.html">wsetscrreg()</A></em></span>
+   <span class="comment"><em>--  AKA: setscrreg()</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1198_14">Set_Scroll_Region</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/curs_refresh.3x.html">curs_refresh.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/curs_refresh.3x.html">curs_refresh.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_61"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1210_14" HREF="terminal_interface-curses__adb.htm#ref_1060_14">Update_Screen</A></span>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_refresh.3x.html">doupdate()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1210_14">Update_Screen</A>);
+   <span class="comment"><em>--  <A NAME="AFU_61">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1211_14" href="terminal_interface-curses__adb.htm#ref_1060_14">Update_Screen</a></span>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_refresh.3x.html">doupdate()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1211_14">Update_Screen</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_62"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1215_14" HREF="terminal_interface-curses__adb.htm#ref_1070_14">Refresh</A></span> (<span class="symbol"><A NAME="ref_1215_23" HREF="terminal_interface-curses__adb.htm#ref_1070_23">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_refresh.3x.html">wrefresh()</A></EM></span>
-   <span class="comment"><EM>--  There is an overloaded Refresh for Pads.</EM></span>
-   <span class="comment"><EM>--  The Inline pragma appears there</EM></span>
-   <span class="comment"><EM>--  AKA: refresh()</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_62">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1216_14" href="terminal_interface-curses__adb.htm#ref_1070_14">Refresh</a></span> (<span class="symbol"><a name="ref_1216_23" href="terminal_interface-curses__adb.htm#ref_1070_23">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_refresh.3x.html">wrefresh()</A></em></span>
+   <span class="comment"><em>--  There is an overloaded Refresh for Pads.</em></span>
+   <span class="comment"><em>--  The Inline pragma appears there</em></span>
+   <span class="comment"><em>--  AKA: refresh()</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_63"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1222_14" HREF="terminal_interface-curses__adb.htm#ref_1080_14">Refresh_Without_Update</A></span>
-     (<span class="symbol"><A NAME="ref_1223_7" HREF="terminal_interface-curses__adb.htm#ref_1081_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_refresh.3x.html">wnoutrefresh()</A></EM></span>
-   <span class="comment"><EM>--  There is an overloaded Refresh_Without_Update for Pads.</EM></span>
-   <span class="comment"><EM>--  The Inline pragma appears there</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_63">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1223_14" href="terminal_interface-curses__adb.htm#ref_1080_14">Refresh_Without_Update</a></span>
+     (<span class="symbol"><a name="ref_1224_7" href="terminal_interface-curses__adb.htm#ref_1081_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_refresh.3x.html">wnoutrefresh()</A></em></span>
+   <span class="comment"><em>--  There is an overloaded Refresh_Without_Update for Pads.</em></span>
+   <span class="comment"><em>--  The Inline pragma appears there</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_64"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1229_14" HREF="terminal_interface-curses__adb.htm#ref_1091_14">Redraw</A></span> (<span class="symbol"><A NAME="ref_1229_22" HREF="terminal_interface-curses__adb.htm#ref_1091_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_refresh.3x.html">redrawwin()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_64">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1230_14" href="terminal_interface-curses__adb.htm#ref_1091_14">Redraw</a></span> (<span class="symbol"><a name="ref_1230_22" href="terminal_interface-curses__adb.htm#ref_1091_22">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_refresh.3x.html">redrawwin()</A></em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_65"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1233_14" HREF="terminal_interface-curses__adb.htm#ref_1101_14">Redraw</A></span> (<span class="symbol"><A NAME="ref_1233_22" HREF="terminal_interface-curses__adb.htm#ref_1102_7">Win</A></span>        : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                     <span class="symbol"><A NAME="ref_1234_22" HREF="terminal_interface-curses__adb.htm#ref_1103_7">Begin_Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-                     <span class="symbol"><A NAME="ref_1235_22" HREF="terminal_interface-curses__adb.htm#ref_1104_7">Line_Count</A></span> : Positive);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_refresh.3x.html">wredrawln()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_65">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1234_14" href="terminal_interface-curses__adb.htm#ref_1101_14">Redraw</a></span> (<span class="symbol"><a name="ref_1234_22" href="terminal_interface-curses__adb.htm#ref_1102_7">Win</a></span>        : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                     <span class="symbol"><a name="ref_1235_22" href="terminal_interface-curses__adb.htm#ref_1103_7">Begin_Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+                     <span class="symbol"><a name="ref_1236_22" href="terminal_interface-curses__adb.htm#ref_1104_7">Line_Count</a></span> : Positive);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_refresh.3x.html">wredrawln()</A></em></span>
    <b>pragma</b> Inline (Redraw);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/curs_clear.3x.html">curs_clear.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/curs_clear.3x.html">curs_clear.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_66"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1244_14" HREF="terminal_interface-curses__adb.htm#ref_1119_14">Erase</A></span> (<span class="symbol"><A NAME="ref_1244_21" HREF="terminal_interface-curses__adb.htm#ref_1119_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_clear.3x.html">werase()</A></EM></span>
-   <span class="comment"><EM>--  AKA: erase()</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1244_14">Erase</A>);
+   <span class="comment"><em>--  <A NAME="AFU_66">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1245_14" href="terminal_interface-curses__adb.htm#ref_1119_14">Erase</a></span> (<span class="symbol"><a name="ref_1245_21" href="terminal_interface-curses__adb.htm#ref_1119_21">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_clear.3x.html">werase()</A></em></span>
+   <span class="comment"><em>--  AKA: erase()</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1245_14">Erase</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_67"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1250_14" HREF="terminal_interface-curses__adb.htm#ref_1129_14">Clear</A></span>
-     (<span class="symbol"><A NAME="ref_1251_7" HREF="terminal_interface-curses__adb.htm#ref_1129_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_clear.3x.html">wclear()</A></EM></span>
-   <span class="comment"><EM>--  AKA: clear()</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1250_14">Clear</A>);
+   <span class="comment"><em>--  <A NAME="AFU_67">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1251_14" href="terminal_interface-curses__adb.htm#ref_1129_14">Clear</a></span>
+     (<span class="symbol"><a name="ref_1252_7" href="terminal_interface-curses__adb.htm#ref_1129_21">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_clear.3x.html">wclear()</A></em></span>
+   <span class="comment"><em>--  AKA: clear()</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1251_14">Clear</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_68"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1257_14" HREF="terminal_interface-curses__adb.htm#ref_1139_14">Clear_To_End_Of_Screen</A></span>
-     (<span class="symbol"><A NAME="ref_1258_7" HREF="terminal_interface-curses__adb.htm#ref_1139_38">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_clear.3x.html">wclrtobot()</A></EM></span>
-   <span class="comment"><EM>--  AKA: clrtobot()</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1257_14">Clear_To_End_Of_Screen</A>);
+   <span class="comment"><em>--  <A NAME="AFU_68">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1258_14" href="terminal_interface-curses__adb.htm#ref_1139_14">Clear_To_End_Of_Screen</a></span>
+     (<span class="symbol"><a name="ref_1259_7" href="terminal_interface-curses__adb.htm#ref_1139_38">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_clear.3x.html">wclrtobot()</A></em></span>
+   <span class="comment"><em>--  AKA: clrtobot()</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1258_14">Clear_To_End_Of_Screen</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_69"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1264_14" HREF="terminal_interface-curses__adb.htm#ref_1149_14">Clear_To_End_Of_Line</A></span>
-     (<span class="symbol"><A NAME="ref_1265_7" HREF="terminal_interface-curses__adb.htm#ref_1149_36">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_clear.3x.html">wclrtoeol()</A></EM></span>
-   <span class="comment"><EM>--  AKA: clrtoeol()</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1264_14">Clear_To_End_Of_Line</A>);
+   <span class="comment"><em>--  <A NAME="AFU_69">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1265_14" href="terminal_interface-curses__adb.htm#ref_1149_14">Clear_To_End_Of_Line</a></span>
+     (<span class="symbol"><a name="ref_1266_7" href="terminal_interface-curses__adb.htm#ref_1149_36">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_clear.3x.html">wclrtoeol()</A></em></span>
+   <span class="comment"><em>--  AKA: clrtoeol()</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1265_14">Clear_To_End_Of_Line</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/curs_bkgd.3x.html">curs_bkgd.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/curs_bkgd.3x.html">curs_bkgd.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_70"#2|</EM></span>
-   <span class="comment"><EM>--  TODO: we could have Set_Background(Window; Character_Attribute_Set)</EM></span>
-   <span class="comment"><EM>--  because in C it is common to see bkgdset(A_BOLD) or</EM></span>
-   <span class="comment"><EM>--  bkgdset(COLOR_PAIR(n))</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1278_14" HREF="terminal_interface-curses__adb.htm#ref_1159_14">Set_Background</A></span>
-     (<span class="symbol"><A NAME="ref_1279_7" HREF="terminal_interface-curses__adb.htm#ref_1160_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_1280_7" HREF="terminal_interface-curses__adb.htm#ref_1161_7">Ch</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_bkgd.3x.html">wbkgdset()</A></EM></span>
-   <span class="comment"><EM>--  AKA: bkgdset()</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1278_14">Set_Background</A>);
+   <span class="comment"><em>--  <A NAME="AFU_70">|</A></em></span>
+   <span class="comment"><em>--  TODO: we could have Set_Background(Window; Character_Attribute_Set)</em></span>
+   <span class="comment"><em>--  because in C it is common to see bkgdset(A_BOLD) or</em></span>
+   <span class="comment"><em>--  bkgdset(COLOR_PAIR(n))</em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1279_14" href="terminal_interface-curses__adb.htm#ref_1159_14">Set_Background</a></span>
+     (<span class="symbol"><a name="ref_1280_7" href="terminal_interface-curses__adb.htm#ref_1160_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_1281_7" href="terminal_interface-curses__adb.htm#ref_1161_7">Ch</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_bkgd.3x.html">wbkgdset()</A></em></span>
+   <span class="comment"><em>--  AKA: bkgdset()</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1279_14">Set_Background</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_71"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1286_14" HREF="terminal_interface-curses__adb.htm#ref_1169_14">Change_Background</A></span>
-     (<span class="symbol"><A NAME="ref_1287_7" HREF="terminal_interface-curses__adb.htm#ref_1170_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_1288_7" HREF="terminal_interface-curses__adb.htm#ref_1171_7">Ch</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_bkgd.3x.html">wbkgd()</A></EM></span>
-   <span class="comment"><EM>--  AKA: bkgd()</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1286_14">Change_Background</A>);
+   <span class="comment"><em>--  <A NAME="AFU_71">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1287_14" href="terminal_interface-curses__adb.htm#ref_1169_14">Change_Background</a></span>
+     (<span class="symbol"><a name="ref_1288_7" href="terminal_interface-curses__adb.htm#ref_1170_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_1289_7" href="terminal_interface-curses__adb.htm#ref_1171_7">Ch</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_bkgd.3x.html">wbkgd()</A></em></span>
+   <span class="comment"><em>--  AKA: bkgd()</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1287_14">Change_Background</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_72"#2|</EM></span>
-   <span class="comment"><EM>--  ? wbkgdget is not listed in curs_bkgd, getbkgd is thpough.</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_1295_13" HREF="terminal_interface-curses__adb.htm#ref_1182_13">Get_Background</A></span> (<span class="symbol"><A NAME="ref_1295_29" HREF="terminal_interface-curses__adb.htm#ref_1182_29">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
-     <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_bkgd.3x.html">wbkgdget()</A></EM></span>
-   <span class="comment"><EM>--  AKA: bkgdget()</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1295_13">Get_Background</A>);
+   <span class="comment"><em>--  <A NAME="AFU_72">|</A></em></span>
+   <span class="comment"><em>--  ? wbkgdget is not listed in curs_bkgd, getbkgd is thpough.</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_1296_13" href="terminal_interface-curses__adb.htm#ref_1182_13">Get_Background</a></span> (<span class="symbol"><a name="ref_1296_29" href="terminal_interface-curses__adb.htm#ref_1182_29">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>)
+     <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_bkgd.3x.html">wbkgdget()</A></em></span>
+   <span class="comment"><em>--  AKA: bkgdget()</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1296_13">Get_Background</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/curs_touch.3x.html">curs_touch.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/curs_touch.3x.html">curs_touch.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_73"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1306_14" HREF="terminal_interface-curses__adb.htm#ref_1219_14">Untouch</A></span> (<span class="symbol"><A NAME="ref_1306_23" HREF="terminal_interface-curses__adb.htm#ref_1219_23">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_touch.3x.html">untouchwin()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1306_14">Untouch</A>);
+   <span class="comment"><em>--  <A NAME="AFU_73">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1307_14" href="terminal_interface-curses__adb.htm#ref_1219_14">Untouch</a></span> (<span class="symbol"><a name="ref_1307_23" href="terminal_interface-curses__adb.htm#ref_1219_23">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_touch.3x.html">untouchwin()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1307_14">Untouch</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_74"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1311_14" HREF="terminal_interface-curses__adb.htm#ref_1209_14">Touch</A></span> (<span class="symbol"><A NAME="ref_1311_21" HREF="terminal_interface-curses__adb.htm#ref_1209_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_touch.3x.html">touchwin()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_74">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1312_14" href="terminal_interface-curses__adb.htm#ref_1209_14">Touch</a></span> (<span class="symbol"><a name="ref_1312_21" href="terminal_interface-curses__adb.htm#ref_1209_21">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_touch.3x.html">touchwin()</A></em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_75"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1315_14" HREF="terminal_interface-curses__adb.htm#ref_1229_14">Touch</A></span> (<span class="symbol"><A NAME="ref_1315_21" HREF="terminal_interface-curses__adb.htm#ref_1229_21">Win</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                    <span class="symbol"><A NAME="ref_1316_21" HREF="terminal_interface-curses__adb.htm#ref_1230_21">Start</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-                    <span class="symbol"><A NAME="ref_1317_21" HREF="terminal_interface-curses__adb.htm#ref_1231_21">Count</A></span> : Positive);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_touch.3x.html">touchline()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_75">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1316_14" href="terminal_interface-curses__adb.htm#ref_1229_14">Touch</a></span> (<span class="symbol"><a name="ref_1316_21" href="terminal_interface-curses__adb.htm#ref_1229_21">Win</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                    <span class="symbol"><a name="ref_1317_21" href="terminal_interface-curses__adb.htm#ref_1230_21">Start</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+                    <span class="symbol"><a name="ref_1318_21" href="terminal_interface-curses__adb.htm#ref_1231_21">Count</a></span> : Positive);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_touch.3x.html">touchline()</A></em></span>
    <b>pragma</b> Inline (Touch);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_76"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1322_14" HREF="terminal_interface-curses__adb.htm#ref_1191_14">Change_Lines_Status</A></span> (<span class="symbol"><A NAME="ref_1322_35" HREF="terminal_interface-curses__adb.htm#ref_1191_35">Win</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                                  <span class="symbol"><A NAME="ref_1323_35" HREF="terminal_interface-curses__adb.htm#ref_1192_35">Start</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-                                  <span class="symbol"><A NAME="ref_1324_35" HREF="terminal_interface-curses__adb.htm#ref_1193_35">Count</A></span> : Positive;
-                                  <span class="symbol"><A NAME="ref_1325_35" HREF="terminal_interface-curses__adb.htm#ref_1194_35">State</A></span> : Boolean);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_touch.3x.html">wtouchln()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1322_14">Change_Lines_Status</A>);
+   <span class="comment"><em>--  <A NAME="AFU_76">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1323_14" href="terminal_interface-curses__adb.htm#ref_1191_14">Change_Lines_Status</a></span> (<span class="symbol"><a name="ref_1323_35" href="terminal_interface-curses__adb.htm#ref_1191_35">Win</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                                  <span class="symbol"><a name="ref_1324_35" href="terminal_interface-curses__adb.htm#ref_1192_35">Start</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+                                  <span class="symbol"><a name="ref_1325_35" href="terminal_interface-curses__adb.htm#ref_1193_35">Count</a></span> : Positive;
+                                  <span class="symbol"><a name="ref_1326_35" href="terminal_interface-curses__adb.htm#ref_1194_35">State</a></span> : Boolean);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_touch.3x.html">wtouchln()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1323_14">Change_Lines_Status</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_77"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_1330_13" HREF="terminal_interface-curses__adb.htm#ref_1237_13">Is_Touched</A></span> (<span class="symbol"><A NAME="ref_1330_25" HREF="terminal_interface-curses__adb.htm#ref_1238_7">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                        <span class="symbol"><A NAME="ref_1331_25" HREF="terminal_interface-curses__adb.htm#ref_1239_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>) <b>return</b> Boolean;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_touch.3x.html">is_linetouched()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_77">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_1331_13" href="terminal_interface-curses__adb.htm#ref_1237_13">Is_Touched</a></span> (<span class="symbol"><a name="ref_1331_25" href="terminal_interface-curses__adb.htm#ref_1238_7">Win</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                        <span class="symbol"><a name="ref_1332_25" href="terminal_interface-curses__adb.htm#ref_1239_7">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>) <b>return</b> Boolean;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_touch.3x.html">is_linetouched()</A></em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_78"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_1335_13" HREF="terminal_interface-curses__adb.htm#ref_1251_13">Is_Touched</A></span> (<span class="symbol"><A NAME="ref_1335_25" HREF="terminal_interface-curses__adb.htm#ref_1252_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>) <b>return</b> Boolean;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_touch.3x.html">is_wintouched()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_78">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_1336_13" href="terminal_interface-curses__adb.htm#ref_1251_13">Is_Touched</a></span> (<span class="symbol"><a name="ref_1336_25" href="terminal_interface-curses__adb.htm#ref_1252_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) <b>return</b> Boolean;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_touch.3x.html">is_wintouched()</A></em></span>
    <b>pragma</b> Inline (Is_Touched);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/curs_overlay.3x.html">curs_overlay.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/curs_overlay.3x.html">curs_overlay.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_79"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1344_14" HREF="terminal_interface-curses__adb.htm#ref_1264_14">Copy</A></span>
-     (<span class="symbol"><A NAME="ref_1345_7" HREF="terminal_interface-curses__adb.htm#ref_1265_7">Source_Window</A></span>            : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-      <span class="symbol"><A NAME="ref_1346_7" HREF="terminal_interface-curses__adb.htm#ref_1266_7">Destination_Window</A></span>       : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-      <span class="symbol"><A NAME="ref_1347_7" HREF="terminal_interface-curses__adb.htm#ref_1267_7">Source_Top_Row</A></span>           : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_1348_7" HREF="terminal_interface-curses__adb.htm#ref_1268_7">Source_Left_Column</A></span>       : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-      <span class="symbol"><A NAME="ref_1349_7" HREF="terminal_interface-curses__adb.htm#ref_1269_7">Destination_Top_Row</A></span>      : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_1350_7" HREF="terminal_interface-curses__adb.htm#ref_1270_7">Destination_Left_Column</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-      <span class="symbol"><A NAME="ref_1351_7" HREF="terminal_interface-curses__adb.htm#ref_1271_7">Destination_Bottom_Row</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_1352_7" HREF="terminal_interface-curses__adb.htm#ref_1272_7">Destination_Right_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-      <span class="symbol"><A NAME="ref_1353_7" HREF="terminal_interface-curses__adb.htm#ref_1273_7">Non_Destructive_Mode</A></span>     : Boolean := True);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_overlay.3x.html">copywin()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1344_14">Copy</A>);
+   <span class="comment"><em>--  <A NAME="AFU_79">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1345_14" href="terminal_interface-curses__adb.htm#ref_1264_14">Copy</a></span>
+     (<span class="symbol"><a name="ref_1346_7" href="terminal_interface-curses__adb.htm#ref_1265_7">Source_Window</a></span>            : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+      <span class="symbol"><a name="ref_1347_7" href="terminal_interface-curses__adb.htm#ref_1266_7">Destination_Window</a></span>       : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+      <span class="symbol"><a name="ref_1348_7" href="terminal_interface-curses__adb.htm#ref_1267_7">Source_Top_Row</a></span>           : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_1349_7" href="terminal_interface-curses__adb.htm#ref_1268_7">Source_Left_Column</a></span>       : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+      <span class="symbol"><a name="ref_1350_7" href="terminal_interface-curses__adb.htm#ref_1269_7">Destination_Top_Row</a></span>      : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_1351_7" href="terminal_interface-curses__adb.htm#ref_1270_7">Destination_Left_Column</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+      <span class="symbol"><a name="ref_1352_7" href="terminal_interface-curses__adb.htm#ref_1271_7">Destination_Bottom_Row</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_1353_7" href="terminal_interface-curses__adb.htm#ref_1272_7">Destination_Right_Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+      <span class="symbol"><a name="ref_1354_7" href="terminal_interface-curses__adb.htm#ref_1273_7">Non_Destructive_Mode</a></span>     : Boolean := True);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_overlay.3x.html">copywin()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1345_14">Copy</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_80"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1358_14" HREF="terminal_interface-curses__adb.htm#ref_1301_14">Overwrite</A></span> (<span class="symbol"><A NAME="ref_1358_25" HREF="terminal_interface-curses__adb.htm#ref_1302_7">Source_Window</A></span>      : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-                        <span class="symbol"><A NAME="ref_1359_25" HREF="terminal_interface-curses__adb.htm#ref_1303_7">Destination_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_overlay.3x.html">overwrite()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1358_14">Overwrite</A>);
+   <span class="comment"><em>--  <A NAME="AFU_80">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1359_14" href="terminal_interface-curses__adb.htm#ref_1301_14">Overwrite</a></span> (<span class="symbol"><a name="ref_1359_25" href="terminal_interface-curses__adb.htm#ref_1302_7">Source_Window</a></span>      : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+                        <span class="symbol"><a name="ref_1360_25" href="terminal_interface-curses__adb.htm#ref_1303_7">Destination_Window</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_overlay.3x.html">overwrite()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1359_14">Overwrite</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_81"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1364_14" HREF="terminal_interface-curses__adb.htm#ref_1313_14">Overlay</A></span> (<span class="symbol"><A NAME="ref_1364_23" HREF="terminal_interface-curses__adb.htm#ref_1314_7">Source_Window</A></span>      : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-                      <span class="symbol"><A NAME="ref_1365_23" HREF="terminal_interface-curses__adb.htm#ref_1315_7">Destination_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_overlay.3x.html">overlay()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1364_14">Overlay</A>);
+   <span class="comment"><em>--  <A NAME="AFU_81">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1365_14" href="terminal_interface-curses__adb.htm#ref_1313_14">Overlay</a></span> (<span class="symbol"><a name="ref_1365_23" href="terminal_interface-curses__adb.htm#ref_1314_7">Source_Window</a></span>      : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+                      <span class="symbol"><a name="ref_1366_23" href="terminal_interface-curses__adb.htm#ref_1315_7">Destination_Window</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_overlay.3x.html">overlay()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1365_14">Overlay</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/curs_deleteln.3x.html">curs_deleteln.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/curs_deleteln.3x.html">curs_deleteln.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_82"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1374_14" HREF="terminal_interface-curses__adb.htm#ref_1326_14">Insert_Delete_Lines</A></span>
-     (<span class="symbol"><A NAME="ref_1375_7" HREF="terminal_interface-curses__adb.htm#ref_1327_7">Win</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>  := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_1376_7" HREF="terminal_interface-curses__adb.htm#ref_1328_7">Lines</A></span> : Integer := 1); <span class="comment"><EM>--  default is to insert one line above</EM></span>
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_deleteln.3x.html">winsdelln()</A></EM></span>
-   <span class="comment"><EM>--  AKA: insdelln()</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1374_14">Insert_Delete_Lines</A>);
+   <span class="comment"><em>--  <A NAME="AFU_82">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1375_14" href="terminal_interface-curses__adb.htm#ref_1326_14">Insert_Delete_Lines</a></span>
+     (<span class="symbol"><a name="ref_1376_7" href="terminal_interface-curses__adb.htm#ref_1327_7">Win</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>  := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_1377_7" href="terminal_interface-curses__adb.htm#ref_1328_7">Lines</a></span> : Integer := 1); <span class="comment"><em>--  default is to insert one line above</em></span>
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_deleteln.3x.html">winsdelln()</A></em></span>
+   <span class="comment"><em>--  AKA: insdelln()</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1375_14">Insert_Delete_Lines</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_83"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1382_14" HREF="terminal_interface-curses__adb.htm#ref_1338_14">Delete_Line</A></span> (<span class="symbol"><A NAME="ref_1382_27" HREF="terminal_interface-curses__adb.htm#ref_1338_27">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_deleteln.3x.html">wdeleteln()</A></EM></span>
-   <span class="comment"><EM>--  AKA: deleteln()</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1382_14">Delete_Line</A>);
+   <span class="comment"><em>--  <A NAME="AFU_83">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1383_14" href="terminal_interface-curses__adb.htm#ref_1338_14">Delete_Line</a></span> (<span class="symbol"><a name="ref_1383_27" href="terminal_interface-curses__adb.htm#ref_1338_27">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_deleteln.3x.html">wdeleteln()</A></em></span>
+   <span class="comment"><em>--  AKA: deleteln()</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1383_14">Delete_Line</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_84"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1388_14" HREF="terminal_interface-curses__adb.htm#ref_1344_14">Insert_Line</A></span> (<span class="symbol"><A NAME="ref_1388_27" HREF="terminal_interface-curses__adb.htm#ref_1344_27">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_deleteln.3x.html">winsertln()</A></EM></span>
-   <span class="comment"><EM>--  AKA: insertln()</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1388_14">Insert_Line</A>);
+   <span class="comment"><em>--  <A NAME="AFU_84">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1389_14" href="terminal_interface-curses__adb.htm#ref_1344_14">Insert_Line</a></span> (<span class="symbol"><a name="ref_1389_27" href="terminal_interface-curses__adb.htm#ref_1344_27">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_deleteln.3x.html">winsertln()</A></em></span>
+   <span class="comment"><em>--  AKA: insertln()</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1389_14">Insert_Line</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/curs_getyx.3x.html">curs_getyx.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/curs_getyx.3x.html">curs_getyx.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_85"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1398_14" HREF="terminal_interface-curses__adb.htm#ref_1351_14">Get_Size</A></span>
-     (<span class="symbol"><A NAME="ref_1399_7" HREF="terminal_interface-curses__adb.htm#ref_1352_7">Win</A></span>               : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_1400_7" HREF="terminal_interface-curses__adb.htm#ref_1353_7">Number_Of_Lines</A></span>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
-      <span class="symbol"><A NAME="ref_1401_7" HREF="terminal_interface-curses__adb.htm#ref_1354_7">Number_Of_Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_getyx.3x.html">getmaxyx()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1398_14">Get_Size</A>);
+   <span class="comment"><em>--  <A NAME="AFU_85">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1399_14" href="terminal_interface-curses__adb.htm#ref_1351_14">Get_Size</a></span>
+     (<span class="symbol"><a name="ref_1400_7" href="terminal_interface-curses__adb.htm#ref_1352_7">Win</a></span>               : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_1401_7" href="terminal_interface-curses__adb.htm#ref_1353_7">Number_Of_Lines</a></span>   : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
+      <span class="symbol"><a name="ref_1402_7" href="terminal_interface-curses__adb.htm#ref_1354_7">Number_Of_Columns</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_getyx.3x.html">getmaxyx()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1399_14">Get_Size</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_86"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1406_14" HREF="terminal_interface-curses__adb.htm#ref_1369_14">Get_Window_Position</A></span>
-     (<span class="symbol"><A NAME="ref_1407_7" HREF="terminal_interface-curses__adb.htm#ref_1370_7">Win</A></span>             : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_1408_7" HREF="terminal_interface-curses__adb.htm#ref_1371_7">Top_Left_Line</A></span>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_1409_7" HREF="terminal_interface-curses__adb.htm#ref_1372_7">Top_Left_Column</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_getyx.3x.html">getbegyx()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1406_14">Get_Window_Position</A>);
+   <span class="comment"><em>--  <A NAME="AFU_86">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1407_14" href="terminal_interface-curses__adb.htm#ref_1369_14">Get_Window_Position</a></span>
+     (<span class="symbol"><a name="ref_1408_7" href="terminal_interface-curses__adb.htm#ref_1370_7">Win</a></span>             : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_1409_7" href="terminal_interface-curses__adb.htm#ref_1371_7">Top_Left_Line</a></span>   : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_1410_7" href="terminal_interface-curses__adb.htm#ref_1372_7">Top_Left_Column</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_getyx.3x.html">getbegyx()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1407_14">Get_Window_Position</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_87"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1414_14" HREF="terminal_interface-curses__adb.htm#ref_1387_14">Get_Cursor_Position</A></span>
-     (<span class="symbol"><A NAME="ref_1415_7" HREF="terminal_interface-curses__adb.htm#ref_1388_7">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_1416_7" HREF="terminal_interface-curses__adb.htm#ref_1389_7">Line</A></span>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_1417_7" HREF="terminal_interface-curses__adb.htm#ref_1390_7">Column</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_getyx.3x.html">getyx()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1414_14">Get_Cursor_Position</A>);
+   <span class="comment"><em>--  <A NAME="AFU_87">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1415_14" href="terminal_interface-curses__adb.htm#ref_1387_14">Get_Cursor_Position</a></span>
+     (<span class="symbol"><a name="ref_1416_7" href="terminal_interface-curses__adb.htm#ref_1388_7">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_1417_7" href="terminal_interface-curses__adb.htm#ref_1389_7">Line</a></span>   : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_1418_7" href="terminal_interface-curses__adb.htm#ref_1390_7">Column</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_getyx.3x.html">getyx()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1415_14">Get_Cursor_Position</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_88"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1422_14" HREF="terminal_interface-curses__adb.htm#ref_1405_14">Get_Origin_Relative_To_Parent</A></span>
-     (<span class="symbol"><A NAME="ref_1423_7" HREF="terminal_interface-curses__adb.htm#ref_1406_7">Win</A></span>                : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-      <span class="symbol"><A NAME="ref_1424_7" HREF="terminal_interface-curses__adb.htm#ref_1407_7">Top_Left_Line</A></span>      : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_1425_7" HREF="terminal_interface-curses__adb.htm#ref_1408_7">Top_Left_Column</A></span>    : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-      <span class="symbol"><A NAME="ref_1426_7" HREF="terminal_interface-curses__adb.htm#ref_1409_7">Is_Not_A_Subwindow</A></span> : <b>out</b> Boolean);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_getyx.3x.html">getparyx()</A></EM></span>
-   <span class="comment"><EM>--  Instead of placing -1 in the coordinates as return, we use a Boolean</EM></span>
-   <span class="comment"><EM>--  to return the info that the window has no parent.</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1422_14">Get_Origin_Relative_To_Parent</A>);
+   <span class="comment"><em>--  <A NAME="AFU_88">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1423_14" href="terminal_interface-curses__adb.htm#ref_1405_14">Get_Origin_Relative_To_Parent</a></span>
+     (<span class="symbol"><a name="ref_1424_7" href="terminal_interface-curses__adb.htm#ref_1406_7">Win</a></span>                : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+      <span class="symbol"><a name="ref_1425_7" href="terminal_interface-curses__adb.htm#ref_1407_7">Top_Left_Line</a></span>      : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_1426_7" href="terminal_interface-curses__adb.htm#ref_1408_7">Top_Left_Column</a></span>    : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+      <span class="symbol"><a name="ref_1427_7" href="terminal_interface-curses__adb.htm#ref_1409_7">Is_Not_A_Subwindow</a></span> : <b>out</b> Boolean);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_getyx.3x.html">getparyx()</A></em></span>
+   <span class="comment"><em>--  Instead of placing -1 in the coordinates as return, we use a Boolean</em></span>
+   <span class="comment"><em>--  to return the info that the window has no parent.</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1423_14">Get_Origin_Relative_To_Parent</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/curs_pad.3x.html">curs_pad.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/curs_pad.3x.html">curs_pad.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_89"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_1437_13" HREF="terminal_interface-curses__adb.htm#ref_1431_13">New_Pad</A></span> (<span class="symbol"><A NAME="ref_1437_22" HREF="terminal_interface-curses__adb.htm#ref_1431_22">Lines</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
-                     <span class="symbol"><A NAME="ref_1438_22" HREF="terminal_interface-curses__adb.htm#ref_1432_22">Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_pad.3x.html">newpad()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1437_13">New_Pad</A>);
+   <span class="comment"><em>--  <A NAME="AFU_89">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_1438_13" href="terminal_interface-curses__adb.htm#ref_1431_13">New_Pad</a></span> (<span class="symbol"><a name="ref_1438_22" href="terminal_interface-curses__adb.htm#ref_1431_22">Lines</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
+                     <span class="symbol"><a name="ref_1439_22" href="terminal_interface-curses__adb.htm#ref_1432_22">Columns</a></span> : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_pad.3x.html">newpad()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1438_13">New_Pad</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_90"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_1443_13" HREF="terminal_interface-curses__adb.htm#ref_1446_13">Sub_Pad</A></span>
-     (<span class="symbol"><A NAME="ref_1444_7" HREF="terminal_interface-curses__adb.htm#ref_1447_7">Pad</A></span>                   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-      <span class="symbol"><A NAME="ref_1445_7" HREF="terminal_interface-curses__adb.htm#ref_1448_7">Number_Of_Lines</A></span>       : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
-      <span class="symbol"><A NAME="ref_1446_7" HREF="terminal_interface-curses__adb.htm#ref_1449_7">Number_Of_Columns</A></span>     : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
-      <span class="symbol"><A NAME="ref_1447_7" HREF="terminal_interface-curses__adb.htm#ref_1450_7">First_Line_Position</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_1448_7" HREF="terminal_interface-curses__adb.htm#ref_1451_7">First_Column_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_pad.3x.html">subpad()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1443_13">Sub_Pad</A>);
+   <span class="comment"><em>--  <A NAME="AFU_90">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_1444_13" href="terminal_interface-curses__adb.htm#ref_1446_13">Sub_Pad</a></span>
+     (<span class="symbol"><a name="ref_1445_7" href="terminal_interface-curses__adb.htm#ref_1447_7">Pad</a></span>                   : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+      <span class="symbol"><a name="ref_1446_7" href="terminal_interface-curses__adb.htm#ref_1448_7">Number_Of_Lines</a></span>       : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
+      <span class="symbol"><a name="ref_1447_7" href="terminal_interface-curses__adb.htm#ref_1449_7">Number_Of_Columns</a></span>     : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>;
+      <span class="symbol"><a name="ref_1448_7" href="terminal_interface-curses__adb.htm#ref_1450_7">First_Line_Position</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_1449_7" href="terminal_interface-curses__adb.htm#ref_1451_7">First_Column_Position</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_pad.3x.html">subpad()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1444_13">Sub_Pad</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_91"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1453_14" HREF="terminal_interface-curses__adb.htm#ref_1474_14">Refresh</A></span>
-     (<span class="symbol"><A NAME="ref_1454_7" HREF="terminal_interface-curses__adb.htm#ref_1475_7">Pad</A></span>                      : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-      <span class="symbol"><A NAME="ref_1455_7" HREF="terminal_interface-curses__adb.htm#ref_1476_7">Source_Top_Row</A></span>           : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_1456_7" HREF="terminal_interface-curses__adb.htm#ref_1477_7">Source_Left_Column</A></span>       : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-      <span class="symbol"><A NAME="ref_1457_7" HREF="terminal_interface-curses__adb.htm#ref_1478_7">Destination_Top_Row</A></span>      : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_1458_7" HREF="terminal_interface-curses__adb.htm#ref_1479_7">Destination_Left_Column</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-      <span class="symbol"><A NAME="ref_1459_7" HREF="terminal_interface-curses__adb.htm#ref_1480_7">Destination_Bottom_Row</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_1460_7" HREF="terminal_interface-curses__adb.htm#ref_1481_7">Destination_Right_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_pad.3x.html">prefresh()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_91">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1454_14" href="terminal_interface-curses__adb.htm#ref_1474_14">Refresh</a></span>
+     (<span class="symbol"><a name="ref_1455_7" href="terminal_interface-curses__adb.htm#ref_1475_7">Pad</a></span>                      : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+      <span class="symbol"><a name="ref_1456_7" href="terminal_interface-curses__adb.htm#ref_1476_7">Source_Top_Row</a></span>           : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_1457_7" href="terminal_interface-curses__adb.htm#ref_1477_7">Source_Left_Column</a></span>       : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+      <span class="symbol"><a name="ref_1458_7" href="terminal_interface-curses__adb.htm#ref_1478_7">Destination_Top_Row</a></span>      : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_1459_7" href="terminal_interface-curses__adb.htm#ref_1479_7">Destination_Left_Column</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+      <span class="symbol"><a name="ref_1460_7" href="terminal_interface-curses__adb.htm#ref_1480_7">Destination_Bottom_Row</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_1461_7" href="terminal_interface-curses__adb.htm#ref_1481_7">Destination_Right_Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_pad.3x.html">prefresh()</A></em></span>
    <b>pragma</b> Inline (Refresh);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_92"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1465_14" HREF="terminal_interface-curses__adb.htm#ref_1505_14">Refresh_Without_Update</A></span>
-     (<span class="symbol"><A NAME="ref_1466_7" HREF="terminal_interface-curses__adb.htm#ref_1506_7">Pad</A></span>                      : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-      <span class="symbol"><A NAME="ref_1467_7" HREF="terminal_interface-curses__adb.htm#ref_1507_7">Source_Top_Row</A></span>           : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_1468_7" HREF="terminal_interface-curses__adb.htm#ref_1508_7">Source_Left_Column</A></span>       : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-      <span class="symbol"><A NAME="ref_1469_7" HREF="terminal_interface-curses__adb.htm#ref_1509_7">Destination_Top_Row</A></span>      : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_1470_7" HREF="terminal_interface-curses__adb.htm#ref_1510_7">Destination_Left_Column</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-      <span class="symbol"><A NAME="ref_1471_7" HREF="terminal_interface-curses__adb.htm#ref_1511_7">Destination_Bottom_Row</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_1472_7" HREF="terminal_interface-curses__adb.htm#ref_1512_7">Destination_Right_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_pad.3x.html">pnoutrefresh()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_92">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1466_14" href="terminal_interface-curses__adb.htm#ref_1505_14">Refresh_Without_Update</a></span>
+     (<span class="symbol"><a name="ref_1467_7" href="terminal_interface-curses__adb.htm#ref_1506_7">Pad</a></span>                      : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+      <span class="symbol"><a name="ref_1468_7" href="terminal_interface-curses__adb.htm#ref_1507_7">Source_Top_Row</a></span>           : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_1469_7" href="terminal_interface-curses__adb.htm#ref_1508_7">Source_Left_Column</a></span>       : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+      <span class="symbol"><a name="ref_1470_7" href="terminal_interface-curses__adb.htm#ref_1509_7">Destination_Top_Row</a></span>      : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_1471_7" href="terminal_interface-curses__adb.htm#ref_1510_7">Destination_Left_Column</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+      <span class="symbol"><a name="ref_1472_7" href="terminal_interface-curses__adb.htm#ref_1511_7">Destination_Bottom_Row</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_1473_7" href="terminal_interface-curses__adb.htm#ref_1512_7">Destination_Right_Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_pad.3x.html">pnoutrefresh()</A></em></span>
    <b>pragma</b> Inline (Refresh_Without_Update);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_93"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1477_14" HREF="terminal_interface-curses__adb.htm#ref_1536_14">Add_Character_To_Pad_And_Echo_It</A></span>
-     (<span class="symbol"><A NAME="ref_1478_7" HREF="terminal_interface-curses__adb.htm#ref_1537_7">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-      <span class="symbol"><A NAME="ref_1479_7" HREF="terminal_interface-curses__adb.htm#ref_1538_7">Ch</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_pad.3x.html">pechochar()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_93">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1478_14" href="terminal_interface-curses__adb.htm#ref_1536_14">Add_Character_To_Pad_And_Echo_It</a></span>
+     (<span class="symbol"><a name="ref_1479_7" href="terminal_interface-curses__adb.htm#ref_1537_7">Pad</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+      <span class="symbol"><a name="ref_1480_7" href="terminal_interface-curses__adb.htm#ref_1538_7">Ch</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_pad.3x.html">pechochar()</A></em></span>
 
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1482_14" HREF="terminal_interface-curses__adb.htm#ref_1549_14">Add_Character_To_Pad_And_Echo_It</A></span>
-     (<span class="symbol"><A NAME="ref_1483_7" HREF="terminal_interface-curses__adb.htm#ref_1550_7">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-      <span class="symbol"><A NAME="ref_1484_7" HREF="terminal_interface-curses__adb.htm#ref_1551_7">Ch</A></span>  : Character);
+   <b>procedure</b> <span class="symbol"><a name="ref_1483_14" href="terminal_interface-curses__adb.htm#ref_1549_14">Add_Character_To_Pad_And_Echo_It</a></span>
+     (<span class="symbol"><a name="ref_1484_7" href="terminal_interface-curses__adb.htm#ref_1550_7">Pad</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+      <span class="symbol"><a name="ref_1485_7" href="terminal_interface-curses__adb.htm#ref_1551_7">Ch</a></span>  : Character);
    <b>pragma</b> Inline (Add_Character_To_Pad_And_Echo_It);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/curs_scroll.3x.html">curs_scroll.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/curs_scroll.3x.html">curs_scroll.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_94"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1492_14" HREF="terminal_interface-curses__adb.htm#ref_1561_14">Scroll</A></span> (<span class="symbol"><A NAME="ref_1492_22" HREF="terminal_interface-curses__adb.htm#ref_1561_22">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>  := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                     <span class="symbol"><A NAME="ref_1493_22" HREF="terminal_interface-curses__adb.htm#ref_1562_22">Amount</A></span> : Integer := 1);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_scroll.3x.html">wscrl()</A></EM></span>
-   <span class="comment"><EM>--  AKA: scroll()</EM></span>
-   <span class="comment"><EM>--  AKA: scrl()</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1492_14">Scroll</A>);
+   <span class="comment"><em>--  <A NAME="AFU_94">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1493_14" href="terminal_interface-curses__adb.htm#ref_1561_14">Scroll</a></span> (<span class="symbol"><a name="ref_1493_22" href="terminal_interface-curses__adb.htm#ref_1561_22">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>  := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                     <span class="symbol"><a name="ref_1494_22" href="terminal_interface-curses__adb.htm#ref_1562_22">Amount</a></span> : Integer := 1);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_scroll.3x.html">wscrl()</A></em></span>
+   <span class="comment"><em>--  AKA: scroll()</em></span>
+   <span class="comment"><em>--  AKA: scrl()</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1493_14">Scroll</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/curs_delch.3x.html">curs_delch.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/curs_delch.3x.html">curs_delch.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_95"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1504_14" HREF="terminal_interface-curses__adb.htm#ref_1574_14">Delete_Character</A></span> (<span class="symbol"><A NAME="ref_1504_32" HREF="terminal_interface-curses__adb.htm#ref_1574_32">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_delch.3x.html">wdelch()</A></EM></span>
-   <span class="comment"><EM>--  AKA: delch()</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_95">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1505_14" href="terminal_interface-curses__adb.htm#ref_1574_14">Delete_Character</a></span> (<span class="symbol"><a name="ref_1505_32" href="terminal_interface-curses__adb.htm#ref_1574_32">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_delch.3x.html">wdelch()</A></em></span>
+   <span class="comment"><em>--  AKA: delch()</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_96"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1509_14" HREF="terminal_interface-curses__adb.htm#ref_1584_14">Delete_Character</A></span>
-     (<span class="symbol"><A NAME="ref_1510_7" HREF="terminal_interface-curses__adb.htm#ref_1585_7">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_1511_7" HREF="terminal_interface-curses__adb.htm#ref_1586_7">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_1512_7" HREF="terminal_interface-curses__adb.htm#ref_1587_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_delch.3x.html">mvwdelch()</A></EM></span>
-   <span class="comment"><EM>--  AKA: mvdelch()</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_96">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1510_14" href="terminal_interface-curses__adb.htm#ref_1584_14">Delete_Character</a></span>
+     (<span class="symbol"><a name="ref_1511_7" href="terminal_interface-curses__adb.htm#ref_1585_7">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_1512_7" href="terminal_interface-curses__adb.htm#ref_1586_7">Line</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_1513_7" href="terminal_interface-curses__adb.htm#ref_1587_7">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_delch.3x.html">mvwdelch()</A></em></span>
+   <span class="comment"><em>--  AKA: mvdelch()</em></span>
    <b>pragma</b> Inline (Delete_Character);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/curs_inch.3x.html">curs_inch.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/curs_inch.3x.html">curs_inch.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_97"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_1522_13" HREF="terminal_interface-curses__adb.htm#ref_1599_13">Peek</A></span> (<span class="symbol"><A NAME="ref_1522_19" HREF="terminal_interface-curses__adb.htm#ref_1599_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
-     <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
-   <span class="comment"><EM>--  AKA: inch()</EM></span>
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_inch.3x.html">winch()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_97">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_1523_13" href="terminal_interface-curses__adb.htm#ref_1599_13">Peek</a></span> (<span class="symbol"><a name="ref_1523_19" href="terminal_interface-curses__adb.htm#ref_1599_19">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>)
+     <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
+   <span class="comment"><em>--  AKA: inch()</em></span>
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_inch.3x.html">winch()</A></em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_98"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_1528_13" HREF="terminal_interface-curses__adb.htm#ref_1608_13">Peek</A></span>
-     (<span class="symbol"><A NAME="ref_1529_7" HREF="terminal_interface-curses__adb.htm#ref_1609_7">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_1530_7" HREF="terminal_interface-curses__adb.htm#ref_1610_7">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_1531_7" HREF="terminal_interface-curses__adb.htm#ref_1611_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_inch.3x.html">mvwinch()</A></EM></span>
-   <span class="comment"><EM>--  AKA: mvinch()</EM></span>
-   <span class="comment"><EM>--  More Peek's follow, pragma Inline appears later.</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_98">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_1529_13" href="terminal_interface-curses__adb.htm#ref_1608_13">Peek</a></span>
+     (<span class="symbol"><a name="ref_1530_7" href="terminal_interface-curses__adb.htm#ref_1609_7">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_1531_7" href="terminal_interface-curses__adb.htm#ref_1610_7">Line</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_1532_7" href="terminal_interface-curses__adb.htm#ref_1611_7">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_inch.3x.html">mvwinch()</A></em></span>
+   <span class="comment"><em>--  AKA: mvinch()</em></span>
+   <span class="comment"><em>--  More Peek's follow, pragma Inline appears later.</em></span>
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/curs_insch.3x.html">curs_insch.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/curs_insch.3x.html">curs_insch.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_99"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1541_14" HREF="terminal_interface-curses__adb.htm#ref_1621_14">Insert</A></span> (<span class="symbol"><A NAME="ref_1541_22" HREF="terminal_interface-curses__adb.htm#ref_1621_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                     <span class="symbol"><A NAME="ref_1542_22" HREF="terminal_interface-curses__adb.htm#ref_1622_22">Ch</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_insch.3x.html">winsch()</A></EM></span>
-   <span class="comment"><EM>--  AKA: insch()</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_99">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1542_14" href="terminal_interface-curses__adb.htm#ref_1621_14">Insert</a></span> (<span class="symbol"><a name="ref_1542_22" href="terminal_interface-curses__adb.htm#ref_1621_22">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                     <span class="symbol"><a name="ref_1543_22" href="terminal_interface-curses__adb.htm#ref_1622_22">Ch</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_insch.3x.html">winsch()</A></em></span>
+   <span class="comment"><em>--  AKA: insch()</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_100"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1547_14" HREF="terminal_interface-curses__adb.htm#ref_1632_14">Insert</A></span> (<span class="symbol"><A NAME="ref_1547_22" HREF="terminal_interface-curses__adb.htm#ref_1633_7">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                     <span class="symbol"><A NAME="ref_1548_22" HREF="terminal_interface-curses__adb.htm#ref_1634_7">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-                     <span class="symbol"><A NAME="ref_1549_22" HREF="terminal_interface-curses__adb.htm#ref_1635_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-                     <span class="symbol"><A NAME="ref_1550_22" HREF="terminal_interface-curses__adb.htm#ref_1636_7">Ch</A></span>     : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_insch.3x.html">mvwinsch()</A></EM></span>
-   <span class="comment"><EM>--  AKA: mvinsch()</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_100">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1548_14" href="terminal_interface-curses__adb.htm#ref_1632_14">Insert</a></span> (<span class="symbol"><a name="ref_1548_22" href="terminal_interface-curses__adb.htm#ref_1633_7">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                     <span class="symbol"><a name="ref_1549_22" href="terminal_interface-curses__adb.htm#ref_1634_7">Line</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+                     <span class="symbol"><a name="ref_1550_22" href="terminal_interface-curses__adb.htm#ref_1635_7">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+                     <span class="symbol"><a name="ref_1551_22" href="terminal_interface-curses__adb.htm#ref_1636_7">Ch</a></span>     : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_insch.3x.html">mvwinsch()</A></em></span>
+   <span class="comment"><em>--  AKA: mvinsch()</em></span>
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/curs_insstr.3x.html">curs_insstr.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/curs_insstr.3x.html">curs_insstr.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_101"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1559_14" HREF="terminal_interface-curses__adb.htm#ref_1653_14">Insert</A></span> (<span class="symbol"><A NAME="ref_1559_22" HREF="terminal_interface-curses__adb.htm#ref_1653_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                     <span class="symbol"><A NAME="ref_1560_22" HREF="terminal_interface-curses__adb.htm#ref_1654_22">Str</A></span> : String;
-                     <span class="symbol"><A NAME="ref_1561_22" HREF="terminal_interface-curses__adb.htm#ref_1655_22">Len</A></span> : Integer := -1);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_insstr.3x.html">winsnstr()</A></EM></span>
-   <span class="comment"><EM>--  AKA: winsstr()</EM></span>
-   <span class="comment"><EM>--  AKA: insnstr()</EM></span>
-   <span class="comment"><EM>--  AKA: insstr()</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_101">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1560_14" href="terminal_interface-curses__adb.htm#ref_1653_14">Insert</a></span> (<span class="symbol"><a name="ref_1560_22" href="terminal_interface-curses__adb.htm#ref_1653_22">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                     <span class="symbol"><a name="ref_1561_22" href="terminal_interface-curses__adb.htm#ref_1654_22">Str</a></span> : String;
+                     <span class="symbol"><a name="ref_1562_22" href="terminal_interface-curses__adb.htm#ref_1655_22">Len</a></span> : Integer := -1);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_insstr.3x.html">winsnstr()</A></em></span>
+   <span class="comment"><em>--  AKA: winsstr()</em></span>
+   <span class="comment"><em>--  AKA: insnstr()</em></span>
+   <span class="comment"><em>--  AKA: insstr()</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_102"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1568_14" HREF="terminal_interface-curses__adb.htm#ref_1671_14">Insert</A></span> (<span class="symbol"><A NAME="ref_1568_22" HREF="terminal_interface-curses__adb.htm#ref_1672_7">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                     <span class="symbol"><A NAME="ref_1569_22" HREF="terminal_interface-curses__adb.htm#ref_1673_7">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-                     <span class="symbol"><A NAME="ref_1570_22" HREF="terminal_interface-curses__adb.htm#ref_1674_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-                     <span class="symbol"><A NAME="ref_1571_22" HREF="terminal_interface-curses__adb.htm#ref_1675_7">Str</A></span>    : String;
-                     <span class="symbol"><A NAME="ref_1572_22" HREF="terminal_interface-curses__adb.htm#ref_1676_7">Len</A></span>    : Integer := -1);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_insstr.3x.html">mvwinsnstr()</A></EM></span>
-   <span class="comment"><EM>--  AKA: mvwinsstr()</EM></span>
-   <span class="comment"><EM>--  AKA: mvinsnstr()</EM></span>
-   <span class="comment"><EM>--  AKA: mvinsstr()</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_102">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1569_14" href="terminal_interface-curses__adb.htm#ref_1671_14">Insert</a></span> (<span class="symbol"><a name="ref_1569_22" href="terminal_interface-curses__adb.htm#ref_1672_7">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                     <span class="symbol"><a name="ref_1570_22" href="terminal_interface-curses__adb.htm#ref_1673_7">Line</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+                     <span class="symbol"><a name="ref_1571_22" href="terminal_interface-curses__adb.htm#ref_1674_7">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+                     <span class="symbol"><a name="ref_1572_22" href="terminal_interface-curses__adb.htm#ref_1675_7">Str</a></span>    : String;
+                     <span class="symbol"><a name="ref_1573_22" href="terminal_interface-curses__adb.htm#ref_1676_7">Len</a></span>    : Integer := -1);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_insstr.3x.html">mvwinsnstr()</A></em></span>
+   <span class="comment"><em>--  AKA: mvwinsstr()</em></span>
+   <span class="comment"><em>--  AKA: mvinsnstr()</em></span>
+   <span class="comment"><em>--  AKA: mvinsstr()</em></span>
    <b>pragma</b> Inline (Insert);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/curs_instr.3x.html">curs_instr.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/curs_instr.3x.html">curs_instr.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_103"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1584_14" HREF="terminal_interface-curses__adb.htm#ref_1696_14">Peek</A></span> (<span class="symbol"><A NAME="ref_1584_20" HREF="terminal_interface-curses__adb.htm#ref_1696_20">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                   <span class="symbol"><A NAME="ref_1585_20" HREF="terminal_interface-curses__adb.htm#ref_1697_20">Str</A></span> : <b>out</b> String;
-                   <span class="symbol"><A NAME="ref_1586_20" HREF="terminal_interface-curses__adb.htm#ref_1698_20">Len</A></span> : Integer := -1);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_instr.3x.html">winnstr()</A></EM></span>
-   <span class="comment"><EM>--  AKA: winstr()</EM></span>
-   <span class="comment"><EM>--  AKA: innstr()</EM></span>
-   <span class="comment"><EM>--  AKA: instr()</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_103">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1585_14" href="terminal_interface-curses__adb.htm#ref_1696_14">Peek</a></span> (<span class="symbol"><a name="ref_1585_20" href="terminal_interface-curses__adb.htm#ref_1696_20">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                   <span class="symbol"><a name="ref_1586_20" href="terminal_interface-curses__adb.htm#ref_1697_20">Str</a></span> : <b>out</b> String;
+                   <span class="symbol"><a name="ref_1587_20" href="terminal_interface-curses__adb.htm#ref_1698_20">Len</a></span> : Integer := -1);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_instr.3x.html">winnstr()</A></em></span>
+   <span class="comment"><em>--  AKA: winstr()</em></span>
+   <span class="comment"><em>--  AKA: innstr()</em></span>
+   <span class="comment"><em>--  AKA: instr()</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_104"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1593_14" HREF="terminal_interface-curses__adb.htm#ref_1725_14">Peek</A></span> (<span class="symbol"><A NAME="ref_1593_20" HREF="terminal_interface-curses__adb.htm#ref_1726_7">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                   <span class="symbol"><A NAME="ref_1594_20" HREF="terminal_interface-curses__adb.htm#ref_1727_7">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-                   <span class="symbol"><A NAME="ref_1595_20" HREF="terminal_interface-curses__adb.htm#ref_1728_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-                   <span class="symbol"><A NAME="ref_1596_20" HREF="terminal_interface-curses__adb.htm#ref_1729_7">Str</A></span>    : <b>out</b> String;
-                   <span class="symbol"><A NAME="ref_1597_20" HREF="terminal_interface-curses__adb.htm#ref_1730_7">Len</A></span>    : Integer := -1);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_instr.3x.html">mvwinnstr()</A></EM></span>
-   <span class="comment"><EM>--  AKA: mvwinstr()</EM></span>
-   <span class="comment"><EM>--  AKA: mvinnstr()</EM></span>
-   <span class="comment"><EM>--  AKA: mvinstr()</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_104">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1594_14" href="terminal_interface-curses__adb.htm#ref_1725_14">Peek</a></span> (<span class="symbol"><a name="ref_1594_20" href="terminal_interface-curses__adb.htm#ref_1726_7">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                   <span class="symbol"><a name="ref_1595_20" href="terminal_interface-curses__adb.htm#ref_1727_7">Line</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+                   <span class="symbol"><a name="ref_1596_20" href="terminal_interface-curses__adb.htm#ref_1728_7">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+                   <span class="symbol"><a name="ref_1597_20" href="terminal_interface-curses__adb.htm#ref_1729_7">Str</a></span>    : <b>out</b> String;
+                   <span class="symbol"><a name="ref_1598_20" href="terminal_interface-curses__adb.htm#ref_1730_7">Len</a></span>    : Integer := -1);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_instr.3x.html">mvwinnstr()</A></em></span>
+   <span class="comment"><em>--  AKA: mvwinstr()</em></span>
+   <span class="comment"><em>--  AKA: mvinnstr()</em></span>
+   <span class="comment"><em>--  AKA: mvinstr()</em></span>
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/curs_inchstr.3x.html">curs_inchstr.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/curs_inchstr.3x.html">curs_inchstr.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_105"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1608_14" HREF="terminal_interface-curses__adb.htm#ref_1737_14">Peek</A></span> (<span class="symbol"><A NAME="ref_1608_20" HREF="terminal_interface-curses__adb.htm#ref_1738_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                   <span class="symbol"><A NAME="ref_1609_20" HREF="terminal_interface-curses__adb.htm#ref_1739_7">Str</A></span> : <b>out</b> Attributed_String;
-                   <span class="symbol"><A NAME="ref_1610_20" HREF="terminal_interface-curses__adb.htm#ref_1740_7">Len</A></span> : Integer := -1);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_inchstr.3x.html">winchnstr()</A></EM></span>
-   <span class="comment"><EM>--  AKA: winchstr()</EM></span>
-   <span class="comment"><EM>--  AKA: inchnstr()</EM></span>
-   <span class="comment"><EM>--  AKA: inchstr()</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_105">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1609_14" href="terminal_interface-curses__adb.htm#ref_1737_14">Peek</a></span> (<span class="symbol"><a name="ref_1609_20" href="terminal_interface-curses__adb.htm#ref_1738_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                   <span class="symbol"><a name="ref_1610_20" href="terminal_interface-curses__adb.htm#ref_1739_7">Str</a></span> : <b>out</b> Attributed_String;
+                   <span class="symbol"><a name="ref_1611_20" href="terminal_interface-curses__adb.htm#ref_1740_7">Len</a></span> : Integer := -1);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_inchstr.3x.html">winchnstr()</A></em></span>
+   <span class="comment"><em>--  AKA: winchstr()</em></span>
+   <span class="comment"><em>--  AKA: inchnstr()</em></span>
+   <span class="comment"><em>--  AKA: inchstr()</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_106"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1617_14" HREF="terminal_interface-curses__adb.htm#ref_1774_14">Peek</A></span> (<span class="symbol"><A NAME="ref_1617_20" HREF="terminal_interface-curses__adb.htm#ref_1775_7">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                   <span class="symbol"><A NAME="ref_1618_20" HREF="terminal_interface-curses__adb.htm#ref_1776_7">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-                   <span class="symbol"><A NAME="ref_1619_20" HREF="terminal_interface-curses__adb.htm#ref_1777_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-                   <span class="symbol"><A NAME="ref_1620_20" HREF="terminal_interface-curses__adb.htm#ref_1778_7">Str</A></span>    : <b>out</b> Attributed_String;
-                   <span class="symbol"><A NAME="ref_1621_20" HREF="terminal_interface-curses__adb.htm#ref_1779_7">Len</A></span>    : Integer := -1);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_inchstr.3x.html">mvwinchnstr()</A></EM></span>
-   <span class="comment"><EM>--  AKA: mvwinchstr()</EM></span>
-   <span class="comment"><EM>--  AKA: mvinchnstr()</EM></span>
-   <span class="comment"><EM>--  AKA: mvinchstr()</EM></span>
-   <span class="comment"><EM>--  We do not inline the Peek procedures</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_106">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1618_14" href="terminal_interface-curses__adb.htm#ref_1774_14">Peek</a></span> (<span class="symbol"><a name="ref_1618_20" href="terminal_interface-curses__adb.htm#ref_1775_7">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                   <span class="symbol"><a name="ref_1619_20" href="terminal_interface-curses__adb.htm#ref_1776_7">Line</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+                   <span class="symbol"><a name="ref_1620_20" href="terminal_interface-curses__adb.htm#ref_1777_7">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+                   <span class="symbol"><a name="ref_1621_20" href="terminal_interface-curses__adb.htm#ref_1778_7">Str</a></span>    : <b>out</b> Attributed_String;
+                   <span class="symbol"><a name="ref_1622_20" href="terminal_interface-curses__adb.htm#ref_1779_7">Len</a></span>    : Integer := -1);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_inchstr.3x.html">mvwinchnstr()</A></em></span>
+   <span class="comment"><em>--  AKA: mvwinchstr()</em></span>
+   <span class="comment"><em>--  AKA: mvinchnstr()</em></span>
+   <span class="comment"><em>--  AKA: mvinchstr()</em></span>
+   <span class="comment"><em>--  We do not inline the Peek procedures</em></span>
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/curs_getstr.3x.html">curs_getstr.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/curs_getstr.3x.html">curs_getstr.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_107"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1633_14" HREF="terminal_interface-curses__adb.htm#ref_1786_14">Get</A></span> (<span class="symbol"><A NAME="ref_1633_19" HREF="terminal_interface-curses__adb.htm#ref_1786_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                  <span class="symbol"><A NAME="ref_1634_19" HREF="terminal_interface-curses__adb.htm#ref_1787_19">Str</A></span> : <b>out</b> String;
-                  <span class="symbol"><A NAME="ref_1635_19" HREF="terminal_interface-curses__adb.htm#ref_1788_19">Len</A></span> : Integer := -1);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_getstr.3x.html">wgetnstr()</A></EM></span>
-   <span class="comment"><EM>--  AKA: wgetstr()</EM></span>
-   <span class="comment"><EM>--  AKA: getnstr()</EM></span>
-   <span class="comment"><EM>--  AKA: getstr()</EM></span>
-   <span class="comment"><EM>--  actually getstr is not supported because that results in buffer</EM></span>
-   <span class="comment"><EM>--  overflows.</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_107">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1634_14" href="terminal_interface-curses__adb.htm#ref_1786_14">Get</a></span> (<span class="symbol"><a name="ref_1634_19" href="terminal_interface-curses__adb.htm#ref_1786_19">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                  <span class="symbol"><a name="ref_1635_19" href="terminal_interface-curses__adb.htm#ref_1787_19">Str</a></span> : <b>out</b> String;
+                  <span class="symbol"><a name="ref_1636_19" href="terminal_interface-curses__adb.htm#ref_1788_19">Len</a></span> : Integer := -1);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_getstr.3x.html">wgetnstr()</A></em></span>
+   <span class="comment"><em>--  AKA: wgetstr()</em></span>
+   <span class="comment"><em>--  AKA: getnstr()</em></span>
+   <span class="comment"><em>--  AKA: getstr()</em></span>
+   <span class="comment"><em>--  actually getstr is not supported because that results in buffer</em></span>
+   <span class="comment"><em>--  overflows.</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_108"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1644_14" HREF="terminal_interface-curses__adb.htm#ref_1815_14">Get</A></span> (<span class="symbol"><A NAME="ref_1644_19" HREF="terminal_interface-curses__adb.htm#ref_1816_7">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                  <span class="symbol"><A NAME="ref_1645_19" HREF="terminal_interface-curses__adb.htm#ref_1817_7">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-                  <span class="symbol"><A NAME="ref_1646_19" HREF="terminal_interface-curses__adb.htm#ref_1818_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-                  <span class="symbol"><A NAME="ref_1647_19" HREF="terminal_interface-curses__adb.htm#ref_1819_7">Str</A></span>    : <b>out</b> String;
-                  <span class="symbol"><A NAME="ref_1648_19" HREF="terminal_interface-curses__adb.htm#ref_1820_7">Len</A></span>    : Integer := -1);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_getstr.3x.html">mvwgetnstr()</A></EM></span>
-   <span class="comment"><EM>--  AKA: mvwgetstr()</EM></span>
-   <span class="comment"><EM>--  AKA: mvgetnstr()</EM></span>
-   <span class="comment"><EM>--  AKA: mvgetstr()</EM></span>
-   <span class="comment"><EM>--  Get is not inlined</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_108">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1645_14" href="terminal_interface-curses__adb.htm#ref_1815_14">Get</a></span> (<span class="symbol"><a name="ref_1645_19" href="terminal_interface-curses__adb.htm#ref_1816_7">Win</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                  <span class="symbol"><a name="ref_1646_19" href="terminal_interface-curses__adb.htm#ref_1817_7">Line</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+                  <span class="symbol"><a name="ref_1647_19" href="terminal_interface-curses__adb.htm#ref_1818_7">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+                  <span class="symbol"><a name="ref_1648_19" href="terminal_interface-curses__adb.htm#ref_1819_7">Str</a></span>    : <b>out</b> String;
+                  <span class="symbol"><a name="ref_1649_19" href="terminal_interface-curses__adb.htm#ref_1820_7">Len</a></span>    : Integer := -1);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_getstr.3x.html">mvwgetnstr()</A></em></span>
+   <span class="comment"><em>--  AKA: mvwgetstr()</em></span>
+   <span class="comment"><em>--  AKA: mvgetnstr()</em></span>
+   <span class="comment"><em>--  AKA: mvgetstr()</em></span>
+   <span class="comment"><em>--  Get is not inlined</em></span>
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  Not Implemented: slk_attr_on, slk_attr_off, slk_attr_set</EM></span>
+   <span class="comment"><em>--  Not Implemented: slk_attr_on, slk_attr_off, slk_attr_set</em></span>
 
-   <b>type</b> <span class="symbol"><A NAME="ref_1661_9">Soft_Label_Key_Format</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_1661_35">Three_Two_Three</A></span>,
-                                  <span class="symbol"><A NAME="ref_1662_35">Four_Four</A></span>,
-                                  <span class="symbol"><A NAME="ref_1663_35">PC_Style</A></span>,              <span class="comment"><EM>--  ncurses specific</EM></span>
-                                  <span class="symbol"><A NAME="ref_1664_35">PC_Style_With_Index</A></span>);  <span class="comment"><EM>--  "</EM></span>
-   <b>type</b> <span class="symbol"><A NAME="ref_1665_9">Label_Number</A></span> <b>is</b> <b>new</b> Positive <b>range</b> 1 .. 12;
-   <b>type</b> <span class="symbol"><A NAME="ref_1666_9">Label_Justification</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_1666_33">Left</A></span>, <span class="symbol"><A NAME="ref_1666_39">Centered</A></span>, <span class="symbol"><A NAME="ref_1666_49">Right</A></span>);
+   <b>type</b> <span class="symbol"><a name="ref_1662_9">Soft_Label_Key_Format</a></span> <b>is</b> (<span class="symbol"><a name="ref_1662_35">Three_Two_Three</a></span>,
+                                  <span class="symbol"><a name="ref_1663_35">Four_Four</a></span>,
+                                  <span class="symbol"><a name="ref_1664_35">PC_Style</a></span>,              <span class="comment"><em>--  ncurses specific</em></span>
+                                  <span class="symbol"><a name="ref_1665_35">PC_Style_With_Index</a></span>);  <span class="comment"><em>--  "</em></span>
+   <b>type</b> <span class="symbol"><a name="ref_1666_9">Label_Number</a></span> <b>is</b> <b>new</b> Positive <b>range</b> 1 .. 12;
+   <b>type</b> <span class="symbol"><a name="ref_1667_9">Label_Justification</a></span> <b>is</b> (<span class="symbol"><a name="ref_1667_33">Left</a></span>, <span class="symbol"><a name="ref_1667_39">Centered</a></span>, <span class="symbol"><a name="ref_1667_49">Right</a></span>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_109"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1669_14" HREF="terminal_interface-curses__adb.htm#ref_1827_14">Init_Soft_Label_Keys</A></span>
-     (<span class="symbol"><A NAME="ref_1670_7" HREF="terminal_interface-curses__adb.htm#ref_1828_7">Format</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1661_9">Soft_Label_Key_Format</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1661_35">Three_Two_Three</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_slk.3x.html">slk_init()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1669_14">Init_Soft_Label_Keys</A>);
+   <span class="comment"><em>--  <A NAME="AFU_109">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1670_14" href="terminal_interface-curses__adb.htm#ref_1827_14">Init_Soft_Label_Keys</a></span>
+     (<span class="symbol"><a name="ref_1671_7" href="terminal_interface-curses__adb.htm#ref_1828_7">Format</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1662_9">Soft_Label_Key_Format</a> := <a href="terminal_interface-curses__ads.htm#ref_1662_35">Three_Two_Three</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_slk.3x.html">slk_init()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1670_14">Init_Soft_Label_Keys</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_110"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1675_14" HREF="terminal_interface-curses__adb.htm#ref_1838_14">Set_Soft_Label_Key</A></span> (<span class="symbol"><A NAME="ref_1675_34" HREF="terminal_interface-curses__adb.htm#ref_1838_34">Label</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1665_9">Label_Number</A>;
-                                 <span class="symbol"><A NAME="ref_1676_34" HREF="terminal_interface-curses__adb.htm#ref_1839_34">Text</A></span>  : String;
-                                 <span class="symbol"><A NAME="ref_1677_34" HREF="terminal_interface-curses__adb.htm#ref_1840_34">Fmt</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_1666_9">Label_Justification</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1666_33">Left</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_slk.3x.html">slk_set()</A></EM></span>
-   <span class="comment"><EM>--  We do not inline this procedure</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_110">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1676_14" href="terminal_interface-curses__adb.htm#ref_1838_14">Set_Soft_Label_Key</a></span> (<span class="symbol"><a name="ref_1676_34" href="terminal_interface-curses__adb.htm#ref_1838_34">Label</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1666_9">Label_Number</a>;
+                                 <span class="symbol"><a name="ref_1677_34" href="terminal_interface-curses__adb.htm#ref_1839_34">Text</a></span>  : String;
+                                 <span class="symbol"><a name="ref_1678_34" href="terminal_interface-curses__adb.htm#ref_1840_34">Fmt</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_1667_9">Label_Justification</a> := <a href="terminal_interface-curses__ads.htm#ref_1667_33">Left</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_slk.3x.html">slk_set()</A></em></span>
+   <span class="comment"><em>--  We do not inline this procedure</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_111"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1682_14" HREF="terminal_interface-curses__adb.htm#ref_1858_14">Refresh_Soft_Label_Keys</A></span>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_slk.3x.html">slk_refresh()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1682_14">Refresh_Soft_Label_Keys</A>);
+   <span class="comment"><em>--  <A NAME="AFU_111">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1683_14" href="terminal_interface-curses__adb.htm#ref_1858_14">Refresh_Soft_Label_Keys</a></span>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_slk.3x.html">slk_refresh()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1683_14">Refresh_Soft_Label_Keys</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_112"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1687_14" HREF="terminal_interface-curses__adb.htm#ref_1868_14">Refresh_Soft_Label_Keys_Without_Update</A></span>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_slk.3x.html">slk_noutrefresh()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1687_14">Refresh_Soft_Label_Keys_Without_Update</A>);
+   <span class="comment"><em>--  <A NAME="AFU_112">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1688_14" href="terminal_interface-curses__adb.htm#ref_1868_14">Refresh_Soft_Label_Keys_Without_Update</a></span>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_slk.3x.html">slk_noutrefresh()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1688_14">Refresh_Soft_Label_Keys_Without_Update</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_113"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1692_14" HREF="terminal_interface-curses__adb.htm#ref_1878_14">Get_Soft_Label_Key</A></span> (<span class="symbol"><A NAME="ref_1692_34" HREF="terminal_interface-curses__adb.htm#ref_1878_34">Label</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1665_9">Label_Number</A>;
-                                 <span class="symbol"><A NAME="ref_1693_34" HREF="terminal_interface-curses__adb.htm#ref_1879_34">Text</A></span>  : <b>out</b> String);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_slk.3x.html">slk_label()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_113">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1693_14" href="terminal_interface-curses__adb.htm#ref_1878_14">Get_Soft_Label_Key</a></span> (<span class="symbol"><a name="ref_1693_34" href="terminal_interface-curses__adb.htm#ref_1878_34">Label</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1666_9">Label_Number</a>;
+                                 <span class="symbol"><a name="ref_1694_34" href="terminal_interface-curses__adb.htm#ref_1879_34">Text</a></span>  : <b>out</b> String);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_slk.3x.html">slk_label()</A></em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_114"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_1697_13" HREF="terminal_interface-curses__adb.htm#ref_1887_13">Get_Soft_Label_Key</A></span> (<span class="symbol"><A NAME="ref_1697_33" HREF="terminal_interface-curses__adb.htm#ref_1887_33">Label</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1665_9">Label_Number</A>) <b>return</b> String;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_slk.3x.html">slk_label()</A></EM></span>
-   <span class="comment"><EM>--  Same as function</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_114">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_1698_13" href="terminal_interface-curses__adb.htm#ref_1887_13">Get_Soft_Label_Key</a></span> (<span class="symbol"><a name="ref_1698_33" href="terminal_interface-curses__adb.htm#ref_1887_33">Label</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1666_9">Label_Number</a>) <b>return</b> String;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_slk.3x.html">slk_label()</A></em></span>
+   <span class="comment"><em>--  Same as function</em></span>
    <b>pragma</b> Inline (Get_Soft_Label_Key);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_115"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1703_14" HREF="terminal_interface-curses__adb.htm#ref_1895_14">Clear_Soft_Label_Keys</A></span>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_slk.3x.html">slk_clear()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1703_14">Clear_Soft_Label_Keys</A>);
+   <span class="comment"><em>--  <A NAME="AFU_115">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1704_14" href="terminal_interface-curses__adb.htm#ref_1895_14">Clear_Soft_Label_Keys</a></span>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_slk.3x.html">slk_clear()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1704_14">Clear_Soft_Label_Keys</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_116"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1708_14" HREF="terminal_interface-curses__adb.htm#ref_1905_14">Restore_Soft_Label_Keys</A></span>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_slk.3x.html">slk_restore()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1708_14">Restore_Soft_Label_Keys</A>);
+   <span class="comment"><em>--  <A NAME="AFU_116">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1709_14" href="terminal_interface-curses__adb.htm#ref_1905_14">Restore_Soft_Label_Keys</a></span>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_slk.3x.html">slk_restore()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1709_14">Restore_Soft_Label_Keys</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_117"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1713_14" HREF="terminal_interface-curses__adb.htm#ref_1915_14">Touch_Soft_Label_Keys</A></span>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_slk.3x.html">slk_touch()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1713_14">Touch_Soft_Label_Keys</A>);
+   <span class="comment"><em>--  <A NAME="AFU_117">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1714_14" href="terminal_interface-curses__adb.htm#ref_1915_14">Touch_Soft_Label_Keys</a></span>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_slk.3x.html">slk_touch()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1714_14">Touch_Soft_Label_Keys</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_118"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1718_14" HREF="terminal_interface-curses__adb.htm#ref_1925_14">Switch_Soft_Label_Key_Attributes</A></span>
-     (<span class="symbol"><A NAME="ref_1719_7" HREF="terminal_interface-curses__adb.htm#ref_1926_7">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>;
-      <span class="symbol"><A NAME="ref_1720_7" HREF="terminal_interface-curses__adb.htm#ref_1927_7">On</A></span>   : Boolean := True);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_slk.3x.html">slk_attron()</A></EM></span>
-   <span class="comment"><EM>--  AKA: slk_attroff()</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1718_14">Switch_Soft_Label_Key_Attributes</A>);
+   <span class="comment"><em>--  <A NAME="AFU_118">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1719_14" href="terminal_interface-curses__adb.htm#ref_1925_14">Switch_Soft_Label_Key_Attributes</a></span>
+     (<span class="symbol"><a name="ref_1720_7" href="terminal_interface-curses__adb.htm#ref_1926_7">Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>;
+      <span class="symbol"><a name="ref_1721_7" href="terminal_interface-curses__adb.htm#ref_1927_7">On</a></span>   : Boolean := True);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_slk.3x.html">slk_attron()</A></em></span>
+   <span class="comment"><em>--  AKA: slk_attroff()</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1719_14">Switch_Soft_Label_Key_Attributes</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_119"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1726_14" HREF="terminal_interface-curses__adb.htm#ref_1949_14">Set_Soft_Label_Key_Attributes</A></span>
-     (<span class="symbol"><A NAME="ref_1727_7" HREF="terminal_interface-curses__adb.htm#ref_1950_7">Attr</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
-      <span class="symbol"><A NAME="ref_1728_7" HREF="terminal_interface-curses__adb.htm#ref_1951_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_slk.3x.html">slk_attrset()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1726_14">Set_Soft_Label_Key_Attributes</A>);
+   <span class="comment"><em>--  <A NAME="AFU_119">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1727_14" href="terminal_interface-curses__adb.htm#ref_1949_14">Set_Soft_Label_Key_Attributes</a></span>
+     (<span class="symbol"><a name="ref_1728_7" href="terminal_interface-curses__adb.htm#ref_1950_7">Attr</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>;
+      <span class="symbol"><a name="ref_1729_7" href="terminal_interface-curses__adb.htm#ref_1951_7">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_slk.3x.html">slk_attrset()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1727_14">Set_Soft_Label_Key_Attributes</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_120"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_1733_13" HREF="terminal_interface-curses__adb.htm#ref_1965_13">Get_Soft_Label_Key_Attributes</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_slk.3x.html">slk_attr()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_120">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_1734_13" href="terminal_interface-curses__adb.htm#ref_1965_13">Get_Soft_Label_Key_Attributes</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_slk.3x.html">slk_attr()</A></em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_121"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_1737_13" HREF="terminal_interface-curses__adb.htm#ref_1975_13">Get_Soft_Label_Key_Attributes</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_slk.3x.html">slk_attr()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_121">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_1738_13" href="terminal_interface-curses__adb.htm#ref_1975_13">Get_Soft_Label_Key_Attributes</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_slk.3x.html">slk_attr()</A></em></span>
    <b>pragma</b> Inline (Get_Soft_Label_Key_Attributes);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_122"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1742_14" HREF="terminal_interface-curses__adb.htm#ref_1985_14">Set_Soft_Label_Key_Color</A></span> (<span class="symbol"><A NAME="ref_1742_40" HREF="terminal_interface-curses__adb.htm#ref_1985_40">Pair</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_slk.3x.html">slk_color()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1742_14">Set_Soft_Label_Key_Color</A>);
+   <span class="comment"><em>--  <A NAME="AFU_122">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1743_14" href="terminal_interface-curses__adb.htm#ref_1985_14">Set_Soft_Label_Key_Color</a></span> (<span class="symbol"><a name="ref_1743_40" href="terminal_interface-curses__adb.htm#ref_1985_40">Pair</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_slk.3x.html">slk_color()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1743_14">Set_Soft_Label_Key_Color</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/keybound.3x.html">keybound.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  Not Implemented: keybound</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/keybound.3x.html">keybound.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  Not Implemented: keybound</em></span>
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/keyok.3x.html">keyok.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/keyok.3x.html">keyok.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_123"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1756_14" HREF="terminal_interface-curses__adb.htm#ref_1996_14">Enable_Key</A></span> (<span class="symbol"><A NAME="ref_1756_26" HREF="terminal_interface-curses__adb.htm#ref_1996_26">Key</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>;
-                         <span class="symbol"><A NAME="ref_1757_26" HREF="terminal_interface-curses__adb.htm#ref_1997_26">Enable</A></span> : Boolean := True);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/keyok.3x.html">keyok()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1756_14">Enable_Key</A>);
+   <span class="comment"><em>--  <A NAME="AFU_123">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1757_14" href="terminal_interface-curses__adb.htm#ref_1996_14">Enable_Key</a></span> (<span class="symbol"><a name="ref_1757_26" href="terminal_interface-curses__adb.htm#ref_1996_26">Key</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>;
+                         <span class="symbol"><a name="ref_1758_26" href="terminal_interface-curses__adb.htm#ref_1997_26">Enable</a></span> : Boolean := True);
+   <span class="comment"><em>--  AKA: <A HREF="../man/keyok.3x.html">keyok()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1757_14">Enable_Key</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/define_key.3x.html">define_key.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/define_key.3x.html">define_key.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_124"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1766_14" HREF="terminal_interface-curses__adb.htm#ref_2010_14">Define_Key</A></span> (<span class="symbol"><A NAME="ref_1766_26" HREF="terminal_interface-curses__adb.htm#ref_2010_26">Definition</A></span> : String;
-                         <span class="symbol"><A NAME="ref_1767_26" HREF="terminal_interface-curses__adb.htm#ref_2011_26">Key</A></span>        : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/define_key.3x.html">define_key()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1766_14">Define_Key</A>);
+   <span class="comment"><em>--  <A NAME="AFU_124">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1767_14" href="terminal_interface-curses__adb.htm#ref_2010_14">Define_Key</a></span> (<span class="symbol"><a name="ref_1767_26" href="terminal_interface-curses__adb.htm#ref_2010_26">Definition</a></span> : String;
+                         <span class="symbol"><a name="ref_1768_26" href="terminal_interface-curses__adb.htm#ref_2011_26">Key</a></span>        : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/define_key.3x.html">define_key()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1767_14">Define_Key</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/curs_util.3x.html">curs_util.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/curs_util.3x.html">curs_util.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  | Not implemented : filter, use_env</EM></span>
-   <span class="comment"><EM>--  | putwin, getwin are in the child package PutWin</EM></span>
-   <span class="comment"><EM>--</EM></span>
+   <span class="comment"><em>--  | Not implemented : filter, use_env</em></span>
+   <span class="comment"><em>--  | putwin, getwin are in the child package PutWin</em></span>
+   <span class="comment"><em>--</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_125"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1780_14" HREF="terminal_interface-curses__adb.htm#ref_90_14">Key_Name</A></span> (<span class="symbol"><A NAME="ref_1780_24" HREF="terminal_interface-curses__adb.htm#ref_90_24">Key</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A>;
-                       <span class="symbol"><A NAME="ref_1781_24" HREF="terminal_interface-curses__adb.htm#ref_91_24">Name</A></span> : <b>out</b> String);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_util.3x.html">keyname()</A></EM></span>
-   <span class="comment"><EM>--  The external name for a real keystroke.</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_125">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1781_14" href="terminal_interface-curses__adb.htm#ref_90_14">Key_Name</a></span> (<span class="symbol"><a name="ref_1781_24" href="terminal_interface-curses__adb.htm#ref_90_24">Key</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</a>;
+                       <span class="symbol"><a name="ref_1782_24" href="terminal_interface-curses__adb.htm#ref_91_24">Name</a></span> : <b>out</b> String);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_util.3x.html">keyname()</A></em></span>
+   <span class="comment"><em>--  The external name for a real keystroke.</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_126"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_1786_13" HREF="terminal_interface-curses__adb.htm#ref_62_13">Key_Name</A></span> (<span class="symbol"><A NAME="ref_1786_23" HREF="terminal_interface-curses__adb.htm#ref_62_23">Key</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A>) <b>return</b> String;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_util.3x.html">keyname()</A></EM></span>
-   <span class="comment"><EM>--  Same as function</EM></span>
-   <span class="comment"><EM>--  We do not inline this routine</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_126">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_1787_13" href="terminal_interface-curses__adb.htm#ref_62_13">Key_Name</a></span> (<span class="symbol"><a name="ref_1787_23" href="terminal_interface-curses__adb.htm#ref_62_23">Key</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</a>) <b>return</b> String;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_util.3x.html">keyname()</A></em></span>
+   <span class="comment"><em>--  Same as function</em></span>
+   <span class="comment"><em>--  We do not inline this routine</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_127"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1792_14" HREF="terminal_interface-curses__adb.htm#ref_2026_14">Un_Control</A></span> (<span class="symbol"><A NAME="ref_1792_26" HREF="terminal_interface-curses__adb.htm#ref_2026_26">Ch</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
-                         <span class="symbol"><A NAME="ref_1793_26" HREF="terminal_interface-curses__adb.htm#ref_2027_26">Str</A></span> : <b>out</b> String);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_util.3x.html">unctrl()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_127">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1793_14" href="terminal_interface-curses__adb.htm#ref_2026_14">Un_Control</a></span> (<span class="symbol"><a name="ref_1793_26" href="terminal_interface-curses__adb.htm#ref_2026_26">Ch</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>;
+                         <span class="symbol"><a name="ref_1794_26" href="terminal_interface-curses__adb.htm#ref_2027_26">Str</a></span> : <b>out</b> String);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_util.3x.html">unctrl()</A></em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_128"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_1797_13" HREF="terminal_interface-curses__adb.htm#ref_2035_13">Un_Control</A></span> (<span class="symbol"><A NAME="ref_1797_25" HREF="terminal_interface-curses__adb.htm#ref_2035_25">Ch</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> String;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_util.3x.html">unctrl()</A></EM></span>
-   <span class="comment"><EM>--  Same as function</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_128">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_1798_13" href="terminal_interface-curses__adb.htm#ref_2035_13">Un_Control</a></span> (<span class="symbol"><a name="ref_1798_25" href="terminal_interface-curses__adb.htm#ref_2035_25">Ch</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> String;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_util.3x.html">unctrl()</A></em></span>
+   <span class="comment"><em>--  Same as function</em></span>
    <b>pragma</b> Inline (Un_Control);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_129"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1803_14" HREF="terminal_interface-curses__adb.htm#ref_2043_14">Delay_Output</A></span> (<span class="symbol"><A NAME="ref_1803_28" HREF="terminal_interface-curses__adb.htm#ref_2043_28">Msecs</A></span> : Natural);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_util.3x.html">delay_output()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1803_14">Delay_Output</A>);
+   <span class="comment"><em>--  <A NAME="AFU_129">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1804_14" href="terminal_interface-curses__adb.htm#ref_2043_14">Delay_Output</a></span> (<span class="symbol"><a name="ref_1804_28" href="terminal_interface-curses__adb.htm#ref_2043_28">Msecs</a></span> : Natural);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_util.3x.html">delay_output()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1804_14">Delay_Output</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_130"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1808_14" HREF="terminal_interface-curses__adb.htm#ref_2053_14">Flush_Input</A></span>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_util.3x.html">flushinp()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1808_14">Flush_Input</A>);
+   <span class="comment"><em>--  <A NAME="AFU_130">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1809_14" href="terminal_interface-curses__adb.htm#ref_2053_14">Flush_Input</a></span>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_util.3x.html">flushinp()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1809_14">Flush_Input</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/curs_termattrs.3x.html">curs_termattrs.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/curs_termattrs.3x.html">curs_termattrs.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_131"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_1817_13" HREF="terminal_interface-curses__adb.htm#ref_2063_13">Baudrate</A></span> <b>return</b> Natural;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_termattrs.3x.html">baudrate()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1817_13">Baudrate</A>);
+   <span class="comment"><em>--  <A NAME="AFU_131">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_1818_13" href="terminal_interface-curses__adb.htm#ref_2063_13">Baudrate</a></span> <b>return</b> Natural;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_termattrs.3x.html">baudrate()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1818_13">Baudrate</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_132"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_1822_13" HREF="terminal_interface-curses__adb.htm#ref_2071_13">Erase_Character</A></span> <b>return</b> Character;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_termattrs.3x.html">erasechar()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1822_13">Erase_Character</A>);
+   <span class="comment"><em>--  <A NAME="AFU_132">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_1823_13" href="terminal_interface-curses__adb.htm#ref_2071_13">Erase_Character</a></span> <b>return</b> Character;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_termattrs.3x.html">erasechar()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1823_13">Erase_Character</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_133"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_1827_13" HREF="terminal_interface-curses__adb.htm#ref_2079_13">Kill_Character</A></span> <b>return</b> Character;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_termattrs.3x.html">killchar()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1827_13">Kill_Character</A>);
+   <span class="comment"><em>--  <A NAME="AFU_133">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_1828_13" href="terminal_interface-curses__adb.htm#ref_2079_13">Kill_Character</a></span> <b>return</b> Character;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_termattrs.3x.html">killchar()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1828_13">Kill_Character</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_134"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_1832_13" HREF="terminal_interface-curses__adb.htm#ref_2087_13">Has_Insert_Character</A></span> <b>return</b> Boolean;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_termattrs.3x.html">has_ic()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1832_13">Has_Insert_Character</A>);
+   <span class="comment"><em>--  <A NAME="AFU_134">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_1833_13" href="terminal_interface-curses__adb.htm#ref_2087_13">Has_Insert_Character</a></span> <b>return</b> Boolean;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_termattrs.3x.html">has_ic()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1833_13">Has_Insert_Character</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_135"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_1837_13" HREF="terminal_interface-curses__adb.htm#ref_2099_13">Has_Insert_Line</A></span> <b>return</b> Boolean;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_termattrs.3x.html">has_il()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1837_13">Has_Insert_Line</A>);
+   <span class="comment"><em>--  <A NAME="AFU_135">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_1838_13" href="terminal_interface-curses__adb.htm#ref_2099_13">Has_Insert_Line</a></span> <b>return</b> Boolean;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_termattrs.3x.html">has_il()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1838_13">Has_Insert_Line</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_136"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_1842_13" HREF="terminal_interface-curses__adb.htm#ref_2111_13">Supported_Attributes</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_termattrs.3x.html">termattrs()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1842_13">Supported_Attributes</A>);
+   <span class="comment"><em>--  <A NAME="AFU_136">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_1843_13" href="terminal_interface-curses__adb.htm#ref_2111_13">Supported_Attributes</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_termattrs.3x.html">termattrs()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1843_13">Supported_Attributes</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_137"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1847_14" HREF="terminal_interface-curses__adb.htm#ref_2121_14">Long_Name</A></span> (<span class="symbol"><A NAME="ref_1847_25" HREF="terminal_interface-curses__adb.htm#ref_2121_25">Name</A></span> : <b>out</b> String);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_termattrs.3x.html">longname()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_137">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1848_14" href="terminal_interface-curses__adb.htm#ref_2121_14">Long_Name</a></span> (<span class="symbol"><a name="ref_1848_25" href="terminal_interface-curses__adb.htm#ref_2121_25">Name</a></span> : <b>out</b> String);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_termattrs.3x.html">longname()</A></em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_138"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_1851_13" HREF="terminal_interface-curses__adb.htm#ref_2129_13">Long_Name</A></span> <b>return</b> String;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_termattrs.3x.html">longname()</A></EM></span>
-   <span class="comment"><EM>--  Same as function</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_138">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_1852_13" href="terminal_interface-curses__adb.htm#ref_2129_13">Long_Name</a></span> <b>return</b> String;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_termattrs.3x.html">longname()</A></em></span>
+   <span class="comment"><em>--  Same as function</em></span>
    <b>pragma</b> Inline (Long_Name);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_139"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1857_14" HREF="terminal_interface-curses__adb.htm#ref_2137_14">Terminal_Name</A></span> (<span class="symbol"><A NAME="ref_1857_29" HREF="terminal_interface-curses__adb.htm#ref_2137_29">Name</A></span> : <b>out</b> String);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_termattrs.3x.html">termname()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_139">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1858_14" href="terminal_interface-curses__adb.htm#ref_2137_14">Terminal_Name</a></span> (<span class="symbol"><a name="ref_1858_29" href="terminal_interface-curses__adb.htm#ref_2137_29">Name</a></span> : <b>out</b> String);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_termattrs.3x.html">termname()</A></em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_140"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_1861_13" HREF="terminal_interface-curses__adb.htm#ref_2145_13">Terminal_Name</A></span> <b>return</b> String;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_termattrs.3x.html">termname()</A></EM></span>
-   <span class="comment"><EM>--  Same as function</EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_140">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_1862_13" href="terminal_interface-curses__adb.htm#ref_2145_13">Terminal_Name</a></span> <b>return</b> String;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_termattrs.3x.html">termname()</A></em></span>
+   <span class="comment"><em>--  Same as function</em></span>
    <b>pragma</b> Inline (Terminal_Name);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/curs_color.3x.html">curs_color.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/curs_color.3x.html">curs_color.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  COLOR_PAIR</EM></span>
-   <span class="comment"><EM>--  COLOR_PAIR(n) in C is the same as</EM></span>
-   <span class="comment"><EM>--  Attributed_Character(Ch =&gt; Nul, Color =&gt; n, Attr =&gt; Normal_Video)</EM></span>
-   <span class="comment"><EM>--  In C you often see something like c = c | COLOR_PAIR(n);</EM></span>
-   <span class="comment"><EM>--  This is equivalent to c.Color := n;</EM></span>
+   <span class="comment"><em>--  COLOR_PAIR</em></span>
+   <span class="comment"><em>--  COLOR_PAIR(n) in C is the same as</em></span>
+   <span class="comment"><em>--  Attributed_Character(Ch =&gt; Nul, Color =&gt; n, Attr =&gt; Normal_Video)</em></span>
+   <span class="comment"><em>--  In C you often see something like c = c | COLOR_PAIR(n);</em></span>
+   <span class="comment"><em>--  This is equivalent to c.Color := n;</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_141"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1877_14">Start_Color</A></span>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_color.3x.html">start_color()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_141">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1878_14">Start_Color</a></span>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_color.3x.html">start_color()</A></em></span>
    <b>pragma</b> Import (C, Start_Color, "start_color");
 
-   <span class="comment"><EM>--  #1A NAME="AFU_142"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1882_14" HREF="terminal_interface-curses__adb.htm#ref_2153_14">Init_Pair</A></span> (<span class="symbol"><A NAME="ref_1882_25" HREF="terminal_interface-curses__adb.htm#ref_2153_25">Pair</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_411_12">Redefinable_Color_Pair</A>;
-                        <span class="symbol"><A NAME="ref_1883_25" HREF="terminal_interface-curses__adb.htm#ref_2154_25">Fore</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A>;
-                        <span class="symbol"><A NAME="ref_1884_25" HREF="terminal_interface-curses__adb.htm#ref_2155_25">Back</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_color.3x.html">init_pair()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1882_14">Init_Pair</A>);
+   <span class="comment"><em>--  <A NAME="AFU_142">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1883_14" href="terminal_interface-curses__adb.htm#ref_2153_14">Init_Pair</a></span> (<span class="symbol"><a name="ref_1883_25" href="terminal_interface-curses__adb.htm#ref_2153_25">Pair</a></span> : <a href="terminal_interface-curses__ads.htm#ref_412_12">Redefinable_Color_Pair</a>;
+                        <span class="symbol"><a name="ref_1884_25" href="terminal_interface-curses__adb.htm#ref_2154_25">Fore</a></span> : <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a>;
+                        <span class="symbol"><a name="ref_1885_25" href="terminal_interface-curses__adb.htm#ref_2155_25">Back</a></span> : <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_color.3x.html">init_pair()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1883_14">Init_Pair</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_143"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1889_14" HREF="terminal_interface-curses__adb.htm#ref_2177_14">Pair_Content</A></span> (<span class="symbol"><A NAME="ref_1889_28" HREF="terminal_interface-curses__adb.htm#ref_2177_28">Pair</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>;
-                           <span class="symbol"><A NAME="ref_1890_28" HREF="terminal_interface-curses__adb.htm#ref_2178_28">Fore</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A>;
-                           <span class="symbol"><A NAME="ref_1891_28" HREF="terminal_interface-curses__adb.htm#ref_2179_28">Back</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_color.3x.html">pair_content()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1889_14">Pair_Content</A>);
+   <span class="comment"><em>--  <A NAME="AFU_143">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1890_14" href="terminal_interface-curses__adb.htm#ref_2177_14">Pair_Content</a></span> (<span class="symbol"><a name="ref_1890_28" href="terminal_interface-curses__adb.htm#ref_2177_28">Pair</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>;
+                           <span class="symbol"><a name="ref_1891_28" href="terminal_interface-curses__adb.htm#ref_2178_28">Fore</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a>;
+                           <span class="symbol"><a name="ref_1892_28" href="terminal_interface-curses__adb.htm#ref_2179_28">Back</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_color.3x.html">pair_content()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1890_14">Pair_Content</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_144"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_1896_13" HREF="terminal_interface-curses__adb.htm#ref_2197_13">Has_Colors</A></span> <b>return</b> Boolean;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_color.3x.html">has_colors()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1896_13">Has_Colors</A>);
+   <span class="comment"><em>--  <A NAME="AFU_144">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_1897_13" href="terminal_interface-curses__adb.htm#ref_2197_13">Has_Colors</a></span> <b>return</b> Boolean;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_color.3x.html">has_colors()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1897_13">Has_Colors</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_145"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1901_14" HREF="terminal_interface-curses__adb.htm#ref_2209_14">Init_Color</A></span> (<span class="symbol"><A NAME="ref_1901_26" HREF="terminal_interface-curses__adb.htm#ref_2209_26">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A>;
-                         <span class="symbol"><A NAME="ref_1902_26" HREF="terminal_interface-curses__adb.htm#ref_2210_26">Red</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_405_9">RGB_Value</A>;
-                         <span class="symbol"><A NAME="ref_1903_26" HREF="terminal_interface-curses__adb.htm#ref_2211_26">Green</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_405_9">RGB_Value</A>;
-                         <span class="symbol"><A NAME="ref_1904_26" HREF="terminal_interface-curses__adb.htm#ref_2212_26">Blue</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_405_9">RGB_Value</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_color.3x.html">init_color()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1901_14">Init_Color</A>);
+   <span class="comment"><em>--  <A NAME="AFU_145">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1902_14" href="terminal_interface-curses__adb.htm#ref_2209_14">Init_Color</a></span> (<span class="symbol"><a name="ref_1902_26" href="terminal_interface-curses__adb.htm#ref_2209_26">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a>;
+                         <span class="symbol"><a name="ref_1903_26" href="terminal_interface-curses__adb.htm#ref_2210_26">Red</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</a>;
+                         <span class="symbol"><a name="ref_1904_26" href="terminal_interface-curses__adb.htm#ref_2211_26">Green</a></span> : <a href="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</a>;
+                         <span class="symbol"><a name="ref_1905_26" href="terminal_interface-curses__adb.htm#ref_2212_26">Blue</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_color.3x.html">init_color()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1902_14">Init_Color</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_146"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_1909_13" HREF="terminal_interface-curses__adb.htm#ref_2227_13">Can_Change_Color</A></span> <b>return</b> Boolean;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_color.3x.html">can_change_color()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1909_13">Can_Change_Color</A>);
+   <span class="comment"><em>--  <A NAME="AFU_146">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_1910_13" href="terminal_interface-curses__adb.htm#ref_2227_13">Can_Change_Color</a></span> <b>return</b> Boolean;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_color.3x.html">can_change_color()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1910_13">Can_Change_Color</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_147"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1914_14" HREF="terminal_interface-curses__adb.htm#ref_2239_14">Color_Content</A></span> (<span class="symbol"><A NAME="ref_1914_29" HREF="terminal_interface-curses__adb.htm#ref_2239_29">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A>;
-                            <span class="symbol"><A NAME="ref_1915_29" HREF="terminal_interface-curses__adb.htm#ref_2240_29">Red</A></span>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_405_9">RGB_Value</A>;
-                            <span class="symbol"><A NAME="ref_1916_29" HREF="terminal_interface-curses__adb.htm#ref_2241_29">Green</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_405_9">RGB_Value</A>;
-                            <span class="symbol"><A NAME="ref_1917_29" HREF="terminal_interface-curses__adb.htm#ref_2242_29">Blue</A></span>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_405_9">RGB_Value</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_color.3x.html">color_content()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1914_14">Color_Content</A>);
+   <span class="comment"><em>--  <A NAME="AFU_147">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1915_14" href="terminal_interface-curses__adb.htm#ref_2239_14">Color_Content</a></span> (<span class="symbol"><a name="ref_1915_29" href="terminal_interface-curses__adb.htm#ref_2239_29">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a>;
+                            <span class="symbol"><a name="ref_1916_29" href="terminal_interface-curses__adb.htm#ref_2240_29">Red</a></span>   : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</a>;
+                            <span class="symbol"><a name="ref_1917_29" href="terminal_interface-curses__adb.htm#ref_2241_29">Green</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</a>;
+                            <span class="symbol"><a name="ref_1918_29" href="terminal_interface-curses__adb.htm#ref_2242_29">Blue</a></span>  : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_color.3x.html">color_content()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1915_14">Color_Content</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/curs_kernel.3x.html">curs_kernel.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Not implemented: getsyx, setsyx</EM></span>
-   <span class="comment"><EM>--</EM></span>
-   <b>type</b> <span class="symbol"><A NAME="ref_1926_9">Curses_Mode</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_1926_25">Curses</A></span>, <span class="symbol"><A NAME="ref_1926_33">Shell</A></span>);
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/curs_kernel.3x.html">curs_kernel.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Not implemented: getsyx, setsyx</em></span>
+   <span class="comment"><em>--</em></span>
+   <b>type</b> <span class="symbol"><a name="ref_1927_9">Curses_Mode</a></span> <b>is</b> (<span class="symbol"><a name="ref_1927_25">Curses</a></span>, <span class="symbol"><a name="ref_1927_33">Shell</a></span>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_148"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1929_14" HREF="terminal_interface-curses__adb.htm#ref_2264_14">Save_Curses_Mode</A></span> (<span class="symbol"><A NAME="ref_1929_32" HREF="terminal_interface-curses__adb.htm#ref_2264_32">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1926_9">Curses_Mode</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_kernel.3x.html">def_prog_mode()</A></EM></span>
-   <span class="comment"><EM>--  AKA: def_shell_mode()</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1929_14">Save_Curses_Mode</A>);
+   <span class="comment"><em>--  <A NAME="AFU_148">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1930_14" href="terminal_interface-curses__adb.htm#ref_2264_14">Save_Curses_Mode</a></span> (<span class="symbol"><a name="ref_1930_32" href="terminal_interface-curses__adb.htm#ref_2264_32">Mode</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1927_9">Curses_Mode</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_kernel.3x.html">def_prog_mode()</A></em></span>
+   <span class="comment"><em>--  AKA: def_shell_mode()</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1930_14">Save_Curses_Mode</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_149"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1935_14" HREF="terminal_interface-curses__adb.htm#ref_2282_14">Reset_Curses_Mode</A></span> (<span class="symbol"><A NAME="ref_1935_33" HREF="terminal_interface-curses__adb.htm#ref_2282_33">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1926_9">Curses_Mode</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_kernel.3x.html">reset_prog_mode()</A></EM></span>
-   <span class="comment"><EM>--  AKA: reset_shell_mode()</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1935_14">Reset_Curses_Mode</A>);
+   <span class="comment"><em>--  <A NAME="AFU_149">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1936_14" href="terminal_interface-curses__adb.htm#ref_2282_14">Reset_Curses_Mode</a></span> (<span class="symbol"><a name="ref_1936_33" href="terminal_interface-curses__adb.htm#ref_2282_33">Mode</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1927_9">Curses_Mode</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_kernel.3x.html">reset_prog_mode()</A></em></span>
+   <span class="comment"><em>--  AKA: reset_shell_mode()</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1936_14">Reset_Curses_Mode</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_150"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1941_14" HREF="terminal_interface-curses__adb.htm#ref_2300_14">Save_Terminal_State</A></span>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_kernel.3x.html">savetty()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1941_14">Save_Terminal_State</A>);
+   <span class="comment"><em>--  <A NAME="AFU_150">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1942_14" href="terminal_interface-curses__adb.htm#ref_2300_14">Save_Terminal_State</a></span>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_kernel.3x.html">savetty()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1942_14">Save_Terminal_State</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_151"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1946_14" HREF="terminal_interface-curses__adb.htm#ref_2310_14">Reset_Terminal_State</A></span>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_kernel.3x.html">resetty();</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1946_14">Reset_Terminal_State</A>);
+   <span class="comment"><em>--  <A NAME="AFU_151">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1947_14" href="terminal_interface-curses__adb.htm#ref_2310_14">Reset_Terminal_State</a></span>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_kernel.3x.html">resetty();</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1947_14">Reset_Terminal_State</a>);
 
-   <b>type</b> <span class="symbol"><A NAME="ref_1950_9">Stdscr_Init_Proc</A></span> <b>is</b> <b>access</b>
-      <b>function</b> (<span class="symbol"><A NAME="ref_1951_17">Win</A></span>     : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-                <span class="symbol"><A NAME="ref_1952_17">Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>) <b>return</b> Integer;
-   <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses__ads.htm#ref_1950_9">Stdscr_Init_Proc</A>);
-   <span class="comment"><EM>--  N.B.: the return value is actually ignored, but it seems to be</EM></span>
-   <span class="comment"><EM>--        a good practice to return 0 if you think all went fine</EM></span>
-   <span class="comment"><EM>--        and -1 otherwise.</EM></span>
+   <b>type</b> <span class="symbol"><a name="ref_1951_9">Stdscr_Init_Proc</a></span> <b>is</b> <b>access</b>
+      <b>function</b> (<span class="symbol"><a name="ref_1952_17">Win</a></span>     : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
+                <span class="symbol"><a name="ref_1953_17">Columns</a></span> : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>) <b>return</b> Integer;
+   <b>pragma</b> Convention (C, <a href="terminal_interface-curses__ads.htm#ref_1951_9">Stdscr_Init_Proc</a>);
+   <span class="comment"><em>--  N.B.: the return value is actually ignored, but it seems to be</em></span>
+   <span class="comment"><em>--        a good practice to return 0 if you think all went fine</em></span>
+   <span class="comment"><em>--        and -1 otherwise.</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_152"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1959_14" HREF="terminal_interface-curses__adb.htm#ref_2320_14">Rip_Off_Lines</A></span> (<span class="symbol"><A NAME="ref_1959_29" HREF="terminal_interface-curses__adb.htm#ref_2320_29">Lines</A></span> : Integer;
-                            <span class="symbol"><A NAME="ref_1960_29" HREF="terminal_interface-curses__adb.htm#ref_2321_29">Proc</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_1950_9">Stdscr_Init_Proc</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_kernel.3x.html">ripoffline()</A></EM></span>
-   <span class="comment"><EM>--  N.B.: to be more precise, this uses a ncurses specific enhancement of</EM></span>
-   <span class="comment"><EM>--        ripoffline(), in which the Lines argument absolute value is the</EM></span>
-   <span class="comment"><EM>--        number of lines to be ripped of. The official ripoffline() only</EM></span>
-   <span class="comment"><EM>--        uses the sign of Lines to remove a single line from bottom or top.</EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1959_14">Rip_Off_Lines</A>);
+   <span class="comment"><em>--  <A NAME="AFU_152">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1960_14" href="terminal_interface-curses__adb.htm#ref_2320_14">Rip_Off_Lines</a></span> (<span class="symbol"><a name="ref_1960_29" href="terminal_interface-curses__adb.htm#ref_2320_29">Lines</a></span> : Integer;
+                            <span class="symbol"><a name="ref_1961_29" href="terminal_interface-curses__adb.htm#ref_2321_29">Proc</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_1951_9">Stdscr_Init_Proc</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_kernel.3x.html">ripoffline()</A></em></span>
+   <span class="comment"><em>--  N.B.: to be more precise, this uses a ncurses specific enhancement of</em></span>
+   <span class="comment"><em>--        ripoffline(), in which the Lines argument absolute value is the</em></span>
+   <span class="comment"><em>--        number of lines to be ripped of. The official ripoffline() only</em></span>
+   <span class="comment"><em>--        uses the sign of Lines to remove a single line from bottom or top.</em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1960_14">Rip_Off_Lines</a>);
 
-   <b>type</b> <span class="symbol"><A NAME="ref_1968_9">Cursor_Visibility</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_1968_31">Invisible</A></span>, <span class="symbol"><A NAME="ref_1968_42">Normal</A></span>, <span class="symbol"><A NAME="ref_1968_50">Very_Visible</A></span>);
+   <b>type</b> <span class="symbol"><a name="ref_1969_9">Cursor_Visibility</a></span> <b>is</b> (<span class="symbol"><a name="ref_1969_31">Invisible</a></span>, <span class="symbol"><a name="ref_1969_42">Normal</a></span>, <span class="symbol"><a name="ref_1969_50">Very_Visible</a></span>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_153"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1971_14" HREF="terminal_interface-curses__adb.htm#ref_2332_14">Set_Cursor_Visibility</A></span> (<span class="symbol"><A NAME="ref_1971_37" HREF="terminal_interface-curses__adb.htm#ref_2332_37">Visibility</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_1968_9">Cursor_Visibility</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_kernel.3x.html">curs_set()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1971_14">Set_Cursor_Visibility</A>);
+   <span class="comment"><em>--  <A NAME="AFU_153">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1972_14" href="terminal_interface-curses__adb.htm#ref_2332_14">Set_Cursor_Visibility</a></span> (<span class="symbol"><a name="ref_1972_37" href="terminal_interface-curses__adb.htm#ref_2332_37">Visibility</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_1969_9">Cursor_Visibility</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_kernel.3x.html">curs_set()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1972_14">Set_Cursor_Visibility</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_154"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1976_14" HREF="terminal_interface-curses__adb.htm#ref_2345_14">Nap_Milli_Seconds</A></span> (<span class="symbol"><A NAME="ref_1976_33" HREF="terminal_interface-curses__adb.htm#ref_2345_33">Ms</A></span> : Natural);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_kernel.3x.html">napms()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1976_14">Nap_Milli_Seconds</A>);
+   <span class="comment"><em>--  <A NAME="AFU_154">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_1977_14" href="terminal_interface-curses__adb.htm#ref_2345_14">Nap_Milli_Seconds</a></span> (<span class="symbol"><a name="ref_1977_33" href="terminal_interface-curses__adb.htm#ref_2345_33">Ms</a></span> : Natural);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_kernel.3x.html">napms()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1977_14">Nap_Milli_Seconds</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Some useful helpers.</EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <b>type</b> <span class="symbol"><A NAME="ref_1983_9">Transform_Direction</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_1983_33">From_Screen</A></span>, <span class="symbol"><A NAME="ref_1983_46">To_Screen</A></span>);
-   <b>procedure</b> <span class="symbol"><A NAME="ref_1984_14" HREF="terminal_interface-curses__adb.htm#ref_2396_14">Transform_Coordinates</A></span>
-     (<span class="symbol"><A NAME="ref_1985_7" HREF="terminal_interface-curses__adb.htm#ref_2397_7">W</A></span>      : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-      <span class="symbol"><A NAME="ref_1986_7" HREF="terminal_interface-curses__adb.htm#ref_2398_7">Line</A></span>   : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
-      <span class="symbol"><A NAME="ref_1987_7" HREF="terminal_interface-curses__adb.htm#ref_2399_7">Column</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
-      <span class="symbol"><A NAME="ref_1988_7" HREF="terminal_interface-curses__adb.htm#ref_2400_7">Dir</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_1983_9">Transform_Direction</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1983_33">From_Screen</A>);
-   <span class="comment"><EM>--  This procedure transforms screen coordinates into coordinates relative</EM></span>
-   <span class="comment"><EM>--  to the window and vice versa, depending on the Dir parameter.</EM></span>
-   <span class="comment"><EM>--  Screen coordinates are the position information for the physical device.</EM></span>
-   <span class="comment"><EM>--  An Curses_Exception will be raised if Line and Column are not in the</EM></span>
-   <span class="comment"><EM>--  Window or if you pass the Null_Window as argument.</EM></span>
-   <span class="comment"><EM>--  We do not inline this procedure</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Some useful helpers.</em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <b>type</b> <span class="symbol"><a name="ref_1984_9">Transform_Direction</a></span> <b>is</b> (<span class="symbol"><a name="ref_1984_33">From_Screen</a></span>, <span class="symbol"><a name="ref_1984_46">To_Screen</a></span>);
+   <b>procedure</b> <span class="symbol"><a name="ref_1985_14" href="terminal_interface-curses__adb.htm#ref_2396_14">Transform_Coordinates</a></span>
+     (<span class="symbol"><a name="ref_1986_7" href="terminal_interface-curses__adb.htm#ref_2397_7">W</a></span>      : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+      <span class="symbol"><a name="ref_1987_7" href="terminal_interface-curses__adb.htm#ref_2398_7">Line</a></span>   : <b>in</b> <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
+      <span class="symbol"><a name="ref_1988_7" href="terminal_interface-curses__adb.htm#ref_2399_7">Column</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
+      <span class="symbol"><a name="ref_1989_7" href="terminal_interface-curses__adb.htm#ref_2400_7">Dir</a></span>    : <a href="terminal_interface-curses__ads.htm#ref_1984_9">Transform_Direction</a> := <a href="terminal_interface-curses__ads.htm#ref_1984_33">From_Screen</a>);
+   <span class="comment"><em>--  This procedure transforms screen coordinates into coordinates relative</em></span>
+   <span class="comment"><em>--  to the window and vice versa, depending on the Dir parameter.</em></span>
+   <span class="comment"><em>--  Screen coordinates are the position information for the physical device.</em></span>
+   <span class="comment"><em>--  An Curses_Exception will be raised if Line and Column are not in the</em></span>
+   <span class="comment"><em>--  Window or if you pass the Null_Window as argument.</em></span>
+   <span class="comment"><em>--  We do not inline this procedure</em></span>
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/default_colors.3x.html">default_colors.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/default_colors.3x.html">default_colors.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="symbol"><A NAME="ref_2000_4">Default_Color</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A> := -1;
+   <span class="symbol"><a name="ref_2001_4">Default_Color</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a> := -1;
 
-   <span class="comment"><EM>--  #1A NAME="AFU_155"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_2003_14" HREF="terminal_interface-curses__adb.htm#ref_2425_14">Use_Default_Colors</A></span>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/default_colors.3x.html">use_default_colors()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_2003_14">Use_Default_Colors</A>);
+   <span class="comment"><em>--  <A NAME="AFU_155">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_2004_14" href="terminal_interface-curses__adb.htm#ref_2425_14">Use_Default_Colors</a></span>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/default_colors.3x.html">use_default_colors()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_2004_14">Use_Default_Colors</a>);
 
-   <span class="comment"><EM>--  #1A NAME="AFU_156"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_2008_14" HREF="terminal_interface-curses__adb.htm#ref_2435_14">Assume_Default_Colors</A></span> (<span class="symbol"><A NAME="ref_2008_37" HREF="terminal_interface-curses__adb.htm#ref_2435_37">Fore</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A> := <A HREF="terminal_interface-curses__ads.htm#ref_2000_4">Default_Color</A>;
-                                    <span class="symbol"><A NAME="ref_2009_37" HREF="terminal_interface-curses__adb.htm#ref_2436_37">Back</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A> := <A HREF="terminal_interface-curses__ads.htm#ref_2000_4">Default_Color</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/default_colors.3x.html">assume_default_colors()</A></EM></span>
-   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_2008_14">Assume_Default_Colors</A>);
+   <span class="comment"><em>--  <A NAME="AFU_156">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_2009_14" href="terminal_interface-curses__adb.htm#ref_2435_14">Assume_Default_Colors</a></span> (<span class="symbol"><a name="ref_2009_37" href="terminal_interface-curses__adb.htm#ref_2435_37">Fore</a></span> : <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a> := <a href="terminal_interface-curses__ads.htm#ref_2001_4">Default_Color</a>;
+                                    <span class="symbol"><a name="ref_2010_37" href="terminal_interface-curses__adb.htm#ref_2436_37">Back</a></span> : <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a> := <a href="terminal_interface-curses__ads.htm#ref_2001_4">Default_Color</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/default_colors.3x.html">assume_default_colors()</A></em></span>
+   <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_2009_14">Assume_Default_Colors</a>);
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/curs_extend.3x.html">curs_extend.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/curs_extend.3x.html">curs_extend.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_157"#2|</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_2018_13" HREF="terminal_interface-curses__adb.htm#ref_2450_13">Curses_Version</A></span> <b>return</b> String;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_extend.3x.html">curses_version()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_157">|</A></em></span>
+   <b>function</b> <span class="symbol"><a name="ref_2019_13" href="terminal_interface-curses__adb.htm#ref_2450_13">Curses_Version</a></span> <b>return</b> String;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_extend.3x.html">curses_version()</A></em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_158"#2|</EM></span>
-   <span class="comment"><EM>--  The returnvalue is the previous setting of the flag</EM></span>
-   <b>function</b> <span class="symbol"><A NAME="ref_2023_13" HREF="terminal_interface-curses__adb.htm#ref_2473_13">Use_Extended_Names</A></span> (<span class="symbol"><A NAME="ref_2023_33" HREF="terminal_interface-curses__adb.htm#ref_2473_33">Enable</A></span> : Boolean) <b>return</b> Boolean;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_extend.3x.html">use_extended_names()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_158">|</A></em></span>
+   <span class="comment"><em>--  The returnvalue is the previous setting of the flag</em></span>
+   <b>function</b> <span class="symbol"><a name="ref_2024_13" href="terminal_interface-curses__adb.htm#ref_2473_13">Use_Extended_Names</a></span> (<span class="symbol"><a name="ref_2024_33" href="terminal_interface-curses__adb.htm#ref_2473_33">Enable</a></span> : Boolean) <b>return</b> Boolean;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_extend.3x.html">use_extended_names()</A></em></span>
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/curs_trace.3x.html">curs_trace.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/curs_trace.3x.html">curs_trace.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_159"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_2031_14" HREF="terminal_interface-curses__adb.htm#ref_2459_14">Curses_Free_All</A></span>;
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_trace.3x.html">_nc_freeall()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_159">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_2032_14" href="terminal_interface-curses__adb.htm#ref_2459_14">Curses_Free_All</a></span>;
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_trace.3x.html">_nc_freeall()</A></em></span>
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/curs_scr_dump.3x.html">curs_scr_dump.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/curs_scr_dump.3x.html">curs_scr_dump.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_160"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_2039_14" HREF="terminal_interface-curses__adb.htm#ref_2488_14">Screen_Dump_To_File</A></span> (<span class="symbol"><A NAME="ref_2039_35" HREF="terminal_interface-curses__adb.htm#ref_2488_35">Filename</A></span> : String);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_scr_dump.3x.html">scr_dump()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_160">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_2040_14" href="terminal_interface-curses__adb.htm#ref_2488_14">Screen_Dump_To_File</a></span> (<span class="symbol"><a name="ref_2040_35" href="terminal_interface-curses__adb.htm#ref_2488_35">Filename</a></span> : String);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_scr_dump.3x.html">scr_dump()</A></em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_161"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_2043_14" HREF="terminal_interface-curses__adb.htm#ref_2501_14">Screen_Restore_From_File</A></span> (<span class="symbol"><A NAME="ref_2043_40" HREF="terminal_interface-curses__adb.htm#ref_2501_40">Filename</A></span> : String);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_scr_dump.3x.html">scr_restore()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_161">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_2044_14" href="terminal_interface-curses__adb.htm#ref_2501_14">Screen_Restore_From_File</a></span> (<span class="symbol"><a name="ref_2044_40" href="terminal_interface-curses__adb.htm#ref_2501_40">Filename</a></span> : String);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_scr_dump.3x.html">scr_restore()</A></em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_162"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_2047_14" HREF="terminal_interface-curses__adb.htm#ref_2514_14">Screen_Init_From_File</A></span> (<span class="symbol"><A NAME="ref_2047_37" HREF="terminal_interface-curses__adb.htm#ref_2514_37">Filename</A></span> : String);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_scr_dump.3x.html">scr_init()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_162">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_2048_14" href="terminal_interface-curses__adb.htm#ref_2514_14">Screen_Init_From_File</a></span> (<span class="symbol"><a name="ref_2048_37" href="terminal_interface-curses__adb.htm#ref_2514_37">Filename</a></span> : String);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_scr_dump.3x.html">scr_init()</A></em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_163"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_2051_14" HREF="terminal_interface-curses__adb.htm#ref_2527_14">Screen_Set_File</A></span> (<span class="symbol"><A NAME="ref_2051_31" HREF="terminal_interface-curses__adb.htm#ref_2527_31">Filename</A></span> : String);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/curs_scr_dump.3x.html">scr_set()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_163">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_2052_14" href="terminal_interface-curses__adb.htm#ref_2527_14">Screen_Set_File</a></span> (<span class="symbol"><a name="ref_2052_31" href="terminal_interface-curses__adb.htm#ref_2527_31">Filename</a></span> : String);
+   <span class="comment"><em>--  AKA: <A HREF="../man/curs_scr_dump.3x.html">scr_set()</A></em></span>
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/curs_print.3x.html">curs_print.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  Not implemented: mcprint</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/curs_print.3x.html">curs_print.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  Not implemented: mcprint</em></span>
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/curs_printw.3x.html">curs_printw.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  Not implemented: printw,  wprintw, mvprintw, mvwprintw, vwprintw,</EM></span>
-   <span class="comment"><EM>--                   vw_printw</EM></span>
-   <span class="comment"><EM>--  Please use the Ada style Text_IO child packages for formatted</EM></span>
-   <span class="comment"><EM>--  printing. It does not make a lot of sense to map the printf style</EM></span>
-   <span class="comment"><EM>--  C functions to Ada.</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/curs_printw.3x.html">curs_printw.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  Not implemented: printw,  wprintw, mvprintw, mvwprintw, vwprintw,</em></span>
+   <span class="comment"><em>--                   vw_printw</em></span>
+   <span class="comment"><em>--  Please use the Ada style Text_IO child packages for formatted</em></span>
+   <span class="comment"><em>--  printing. It does not make a lot of sense to map the printf style</em></span>
+   <span class="comment"><em>--  C functions to Ada.</em></span>
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/curs_scanw.3x.html">curs_scanw.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  Not implemented: scanw, wscanw, mvscanw, mvwscanw, vwscanw, vw_scanw</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/curs_scanw.3x.html">curs_scanw.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  Not implemented: scanw, wscanw, mvscanw, mvwscanw, vwscanw, vw_scanw</em></span>
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/resizeterm.3x.html">resizeterm.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  Not Implemented: resizeterm</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/resizeterm.3x.html">resizeterm.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  Not Implemented: resizeterm</em></span>
 
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
-   <span class="comment"><EM>--  | Man page <A HREF="../man/wresize.3x.html">wresize.3x</A></EM></span>
-   <span class="comment"><EM>--  |=====================================================================</EM></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
+   <span class="comment"><em>--  | Man page <A HREF="../man/wresize.3x.html">wresize.3x</A></em></span>
+   <span class="comment"><em>--  |=====================================================================</em></span>
 
-   <span class="comment"><EM>--  #1A NAME="AFU_164"#2|</EM></span>
-   <b>procedure</b> <span class="symbol"><A NAME="ref_2083_14" HREF="terminal_interface-curses__adb.htm#ref_2540_14">Resize</A></span> (<span class="symbol"><A NAME="ref_2083_22" HREF="terminal_interface-curses__adb.htm#ref_2540_22">Win</A></span>               : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
-                     <span class="symbol"><A NAME="ref_2084_22" HREF="terminal_interface-curses__adb.htm#ref_2541_22">Number_Of_Lines</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
-                     <span class="symbol"><A NAME="ref_2085_22" HREF="terminal_interface-curses__adb.htm#ref_2542_22">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>);
-   <span class="comment"><EM>--  AKA: <A HREF="../man/wresize.3x.html">wresize()</A></EM></span>
+   <span class="comment"><em>--  <A NAME="AFU_164">|</A></em></span>
+   <b>procedure</b> <span class="symbol"><a name="ref_2084_14" href="terminal_interface-curses__adb.htm#ref_2540_14">Resize</a></span> (<span class="symbol"><a name="ref_2084_22" href="terminal_interface-curses__adb.htm#ref_2540_22">Win</a></span>               : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>;
+                     <span class="symbol"><a name="ref_2085_22" href="terminal_interface-curses__adb.htm#ref_2541_22">Number_Of_Lines</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
+                     <span class="symbol"><a name="ref_2086_22" href="terminal_interface-curses__adb.htm#ref_2542_22">Number_Of_Columns</a></span> : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>);
+   <span class="comment"><em>--  AKA: <A HREF="../man/wresize.3x.html">wresize()</A></em></span>
 
 <b>private</b>
-   <b>type</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address;
-   <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := 0;
+   <b>type</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address;
+   <a href="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</a> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := 0;
 
-   <span class="comment"><EM>--  The next constants are generated and may be different on your</EM></span>
-   <span class="comment"><EM>--  architecture.</EM></span>
-   <span class="comment"><EM>--</EM></span>
+   <span class="comment"><em>--  The next constants are generated and may be different on your</em></span>
+   <span class="comment"><em>--  architecture.</em></span>
+   <span class="comment"><em>--</em></span>
 
-   <span class="symbol"><A NAME="ref_2096_4">Sizeof_Bool</A></span> : <b>constant</b> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_11_4">Sizeof_Bool</A>;
+   <span class="symbol"><a name="ref_2097_4">Sizeof_Bool</a></span> : <b>constant</b> := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_11_4">Sizeof_Bool</a>;
 
-   <b>type</b> <span class="symbol"><A NAME="ref_2098_9">Curses_Bool</A></span> <b>is</b> <b>mod</b> 2 ** <A HREF="terminal_interface-curses__ads.htm#ref_2096_4">Sizeof_Bool</A>;
+   <b>type</b> <span class="symbol"><a name="ref_2099_9">Curses_Bool</a></span> <b>is</b> <b>mod</b> 2 ** <a href="terminal_interface-curses__ads.htm#ref_2097_4">Sizeof_Bool</a>;
 
-   <span class="symbol"><A NAME="ref_2100_4">Curses_Bool_False</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> := 0;
+   <span class="symbol"><a name="ref_2101_4">Curses_Bool_False</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> := 0;
 
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>;
-</PRE></BODY></HTML>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface-curses_constants__ads.htm b/doc/html/ada/terminal_interface-curses_constants__ads.htm
index c541c9b..5a10ea4 100644
--- a/doc/html/ada/terminal_interface-curses_constants__ads.htm
+++ b/doc/html/ada/terminal_interface-curses_constants__ads.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface-curses_constants.ads</TITLE>
+<html>
+<head>
+<title>terminal_interface-curses_constants.ads</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,391 +11,391 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses_constants.ads </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>--  Generated by the C program ./generate (source ./gen.c).</EM></span>
-<span class="comment"><EM>--  Do not edit this file directly.</EM></span>
-<span class="comment"><EM>--  The values provided here may vary on your system.</EM></span>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface-curses_constants.ads </h1></div><hr>
+<pre>
+<span class="comment"><em>--  Generated by the C program ./generate (source ./gen.c).</em></span>
+<span class="comment"><em>--  Do not edit this file directly.</em></span>
+<span class="comment"><em>--  The values provided here may vary on your system.</em></span>
 
 <b>with</b> System;
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<span class="symbol"><A NAME="ref_6_28">Curses_Constants</A></span> <b>is</b>
+<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<span class="symbol"><a name="ref_6_28">Curses_Constants</a></span> <b>is</b>
    <b>pragma</b> Pure;
 
-   <span class="symbol"><A NAME="ref_9_4">DFT_ARG_SUFFIX</A></span> : <b>constant</b> String := "";
-   <span class="symbol"><A NAME="ref_10_4">Bit_Order</A></span> : <b>constant</b> System.Bit_Order := System.Low_Order_First;
-   <span class="symbol"><A NAME="ref_11_4">Sizeof_Bool</A></span>                  : <b>constant</b> := 8;
-   <span class="symbol"><A NAME="ref_12_4">OK</A></span>                           : <b>constant</b> := 0;
-   <span class="symbol"><A NAME="ref_13_4">ERR</A></span>                          : <b>constant</b> := -1;
-   <b>pragma</b> Warnings (Off); <span class="comment"><EM>-- redefinition of Standard.True and False</EM></span>
-   <span class="symbol"><A NAME="ref_15_4">TRUE</A></span>                         : <b>constant</b> := 1;
-   <span class="symbol"><A NAME="ref_16_4">FALSE</A></span>                        : <b>constant</b> := 0;
+   <span class="symbol"><a name="ref_9_4">DFT_ARG_SUFFIX</a></span> : <b>constant</b> String := "w";
+   <span class="symbol"><a name="ref_10_4">Bit_Order</a></span> : <b>constant</b> System.Bit_Order := System.Low_Order_First;
+   <span class="symbol"><a name="ref_11_4">Sizeof_Bool</a></span>                  : <b>constant</b> := 8;
+   <span class="symbol"><a name="ref_12_4">OK</a></span>                           : <b>constant</b> := 0;
+   <span class="symbol"><a name="ref_13_4">ERR</a></span>                          : <b>constant</b> := -1;
+   <b>pragma</b> Warnings (Off); <span class="comment"><em>-- redefinition of Standard.True and False</em></span>
+   <span class="symbol"><a name="ref_15_4">TRUE</a></span>                         : <b>constant</b> := 1;
+   <span class="symbol"><a name="ref_16_4">FALSE</a></span>                        : <b>constant</b> := 0;
    <b>pragma</b> Warnings (On);
 
-   <span class="comment"><EM>--  Version of the ncurses library from extensions(3NCURSES)</EM></span>
+   <span class="comment"><em>--  Version of the ncurses library from extensions(3NCURSES)</em></span>
 
-   <span class="symbol"><A NAME="ref_21_4">NCURSES_VERSION_MAJOR</A></span>        : <b>constant</b> := 6;
-   <span class="symbol"><A NAME="ref_22_4">NCURSES_VERSION_MINOR</A></span>        : <b>constant</b> := 0;
-   <span class="symbol"><A NAME="ref_23_4">Version</A></span> : <b>constant</b> String := "6.0";
+   <span class="symbol"><a name="ref_21_4">NCURSES_VERSION_MAJOR</a></span>        : <b>constant</b> := 6;
+   <span class="symbol"><a name="ref_22_4">NCURSES_VERSION_MINOR</a></span>        : <b>constant</b> := 5;
+   <span class="symbol"><a name="ref_23_4">Version</a></span> : <b>constant</b> String := "6.5";
 
-   <span class="comment"><EM>--  Character non-color attributes from attr(3NCURSES)</EM></span>
+   <span class="comment"><em>--  Character non-color attributes from attr(3NCURSES)</em></span>
 
-   <span class="comment"><EM>--  attr_t and chtype may be signed in C.</EM></span>
-   <b>type</b> <span class="symbol"><A NAME="ref_28_9">attr_t</A></span> <b>is</b> <b>mod</b> 2 ** 32;
-   <span class="symbol"><A NAME="ref_29_4">A_CHARTEXT_First</A></span>             : <b>constant</b> := 0;
-   <span class="symbol"><A NAME="ref_30_4">A_CHARTEXT_Last</A></span>              : <b>constant</b> := 7;
-   <span class="symbol"><A NAME="ref_31_4">A_COLOR_First</A></span>                : <b>constant</b> := 8;
-   <span class="symbol"><A NAME="ref_32_4">A_COLOR_Last</A></span>                 : <b>constant</b> := 15;
-   <span class="symbol"><A NAME="ref_33_4">Attr_First</A></span>                   : <b>constant</b> := 16;
-   <span class="symbol"><A NAME="ref_34_4">Attr_Last</A></span>                    : <b>constant</b> := 31;
-   <span class="symbol"><A NAME="ref_35_4">A_STANDOUT_First</A></span>             : <b>constant</b> := 16;
-   <span class="symbol"><A NAME="ref_36_4">A_STANDOUT_Last</A></span>              : <b>constant</b> := 16;
-   <span class="symbol"><A NAME="ref_37_4">A_UNDERLINE_First</A></span>            : <b>constant</b> := 17;
-   <span class="symbol"><A NAME="ref_38_4">A_UNDERLINE_Last</A></span>             : <b>constant</b> := 17;
-   <span class="symbol"><A NAME="ref_39_4">A_REVERSE_First</A></span>              : <b>constant</b> := 18;
-   <span class="symbol"><A NAME="ref_40_4">A_REVERSE_Last</A></span>               : <b>constant</b> := 18;
-   <span class="symbol"><A NAME="ref_41_4">A_BLINK_First</A></span>                : <b>constant</b> := 19;
-   <span class="symbol"><A NAME="ref_42_4">A_BLINK_Last</A></span>                 : <b>constant</b> := 19;
-   <span class="symbol"><A NAME="ref_43_4">A_DIM_First</A></span>                  : <b>constant</b> := 20;
-   <span class="symbol"><A NAME="ref_44_4">A_DIM_Last</A></span>                   : <b>constant</b> := 20;
-   <span class="symbol"><A NAME="ref_45_4">A_BOLD_First</A></span>                 : <b>constant</b> := 21;
-   <span class="symbol"><A NAME="ref_46_4">A_BOLD_Last</A></span>                  : <b>constant</b> := 21;
-   <span class="symbol"><A NAME="ref_47_4">A_PROTECT_First</A></span>              : <b>constant</b> := 24;
-   <span class="symbol"><A NAME="ref_48_4">A_PROTECT_Last</A></span>               : <b>constant</b> := 24;
-   <span class="symbol"><A NAME="ref_49_4">A_INVIS_First</A></span>                : <b>constant</b> := 23;
-   <span class="symbol"><A NAME="ref_50_4">A_INVIS_Last</A></span>                 : <b>constant</b> := 23;
-   <span class="symbol"><A NAME="ref_51_4">A_ALTCHARSET_First</A></span>           : <b>constant</b> := 22;
-   <span class="symbol"><A NAME="ref_52_4">A_ALTCHARSET_Last</A></span>            : <b>constant</b> := 22;
-   <span class="symbol"><A NAME="ref_53_4">A_HORIZONTAL_First</A></span>           : <b>constant</b> := 25;
-   <span class="symbol"><A NAME="ref_54_4">A_HORIZONTAL_Last</A></span>            : <b>constant</b> := 25;
-   <span class="symbol"><A NAME="ref_55_4">A_LEFT_First</A></span>                 : <b>constant</b> := 26;
-   <span class="symbol"><A NAME="ref_56_4">A_LEFT_Last</A></span>                  : <b>constant</b> := 26;
-   <span class="symbol"><A NAME="ref_57_4">A_LOW_First</A></span>                  : <b>constant</b> := 27;
-   <span class="symbol"><A NAME="ref_58_4">A_LOW_Last</A></span>                   : <b>constant</b> := 27;
-   <span class="symbol"><A NAME="ref_59_4">A_RIGHT_First</A></span>                : <b>constant</b> := 28;
-   <span class="symbol"><A NAME="ref_60_4">A_RIGHT_Last</A></span>                 : <b>constant</b> := 28;
-   <span class="symbol"><A NAME="ref_61_4">A_TOP_First</A></span>                  : <b>constant</b> := 29;
-   <span class="symbol"><A NAME="ref_62_4">A_TOP_Last</A></span>                   : <b>constant</b> := 29;
-   <span class="symbol"><A NAME="ref_63_4">A_VERTICAL_First</A></span>             : <b>constant</b> := 30;
-   <span class="symbol"><A NAME="ref_64_4">A_VERTICAL_Last</A></span>              : <b>constant</b> := 30;
-   <span class="symbol"><A NAME="ref_65_4">chtype_Size</A></span>                  : <b>constant</b> := 32;
+   <span class="comment"><em>--  attr_t and chtype may be signed in C.</em></span>
+   <b>type</b> <span class="symbol"><a name="ref_28_9">attr_t</a></span> <b>is</b> <b>mod</b> 2 ** 32;
+   <span class="symbol"><a name="ref_29_4">A_CHARTEXT_First</a></span>             : <b>constant</b> := 0;
+   <span class="symbol"><a name="ref_30_4">A_CHARTEXT_Last</a></span>              : <b>constant</b> := 7;
+   <span class="symbol"><a name="ref_31_4">A_COLOR_First</a></span>                : <b>constant</b> := 8;
+   <span class="symbol"><a name="ref_32_4">A_COLOR_Last</a></span>                 : <b>constant</b> := 15;
+   <span class="symbol"><a name="ref_33_4">Attr_First</a></span>                   : <b>constant</b> := 16;
+   <span class="symbol"><a name="ref_34_4">Attr_Last</a></span>                    : <b>constant</b> := 31;
+   <span class="symbol"><a name="ref_35_4">A_STANDOUT_First</a></span>             : <b>constant</b> := 16;
+   <span class="symbol"><a name="ref_36_4">A_STANDOUT_Last</a></span>              : <b>constant</b> := 16;
+   <span class="symbol"><a name="ref_37_4">A_UNDERLINE_First</a></span>            : <b>constant</b> := 17;
+   <span class="symbol"><a name="ref_38_4">A_UNDERLINE_Last</a></span>             : <b>constant</b> := 17;
+   <span class="symbol"><a name="ref_39_4">A_REVERSE_First</a></span>              : <b>constant</b> := 18;
+   <span class="symbol"><a name="ref_40_4">A_REVERSE_Last</a></span>               : <b>constant</b> := 18;
+   <span class="symbol"><a name="ref_41_4">A_BLINK_First</a></span>                : <b>constant</b> := 19;
+   <span class="symbol"><a name="ref_42_4">A_BLINK_Last</a></span>                 : <b>constant</b> := 19;
+   <span class="symbol"><a name="ref_43_4">A_DIM_First</a></span>                  : <b>constant</b> := 20;
+   <span class="symbol"><a name="ref_44_4">A_DIM_Last</a></span>                   : <b>constant</b> := 20;
+   <span class="symbol"><a name="ref_45_4">A_BOLD_First</a></span>                 : <b>constant</b> := 21;
+   <span class="symbol"><a name="ref_46_4">A_BOLD_Last</a></span>                  : <b>constant</b> := 21;
+   <span class="symbol"><a name="ref_47_4">A_PROTECT_First</a></span>              : <b>constant</b> := 24;
+   <span class="symbol"><a name="ref_48_4">A_PROTECT_Last</a></span>               : <b>constant</b> := 24;
+   <span class="symbol"><a name="ref_49_4">A_INVIS_First</a></span>                : <b>constant</b> := 23;
+   <span class="symbol"><a name="ref_50_4">A_INVIS_Last</a></span>                 : <b>constant</b> := 23;
+   <span class="symbol"><a name="ref_51_4">A_ALTCHARSET_First</a></span>           : <b>constant</b> := 22;
+   <span class="symbol"><a name="ref_52_4">A_ALTCHARSET_Last</a></span>            : <b>constant</b> := 22;
+   <span class="symbol"><a name="ref_53_4">A_HORIZONTAL_First</a></span>           : <b>constant</b> := 25;
+   <span class="symbol"><a name="ref_54_4">A_HORIZONTAL_Last</a></span>            : <b>constant</b> := 25;
+   <span class="symbol"><a name="ref_55_4">A_LEFT_First</a></span>                 : <b>constant</b> := 26;
+   <span class="symbol"><a name="ref_56_4">A_LEFT_Last</a></span>                  : <b>constant</b> := 26;
+   <span class="symbol"><a name="ref_57_4">A_LOW_First</a></span>                  : <b>constant</b> := 27;
+   <span class="symbol"><a name="ref_58_4">A_LOW_Last</a></span>                   : <b>constant</b> := 27;
+   <span class="symbol"><a name="ref_59_4">A_RIGHT_First</a></span>                : <b>constant</b> := 28;
+   <span class="symbol"><a name="ref_60_4">A_RIGHT_Last</a></span>                 : <b>constant</b> := 28;
+   <span class="symbol"><a name="ref_61_4">A_TOP_First</a></span>                  : <b>constant</b> := 29;
+   <span class="symbol"><a name="ref_62_4">A_TOP_Last</a></span>                   : <b>constant</b> := 29;
+   <span class="symbol"><a name="ref_63_4">A_VERTICAL_First</a></span>             : <b>constant</b> := 30;
+   <span class="symbol"><a name="ref_64_4">A_VERTICAL_Last</a></span>              : <b>constant</b> := 30;
+   <span class="symbol"><a name="ref_65_4">chtype_Size</a></span>                  : <b>constant</b> := 32;
 
-   <span class="comment"><EM>--  predefined color numbers from color(3NCURSES)</EM></span>
+   <span class="comment"><em>--  predefined color numbers from color(3NCURSES)</em></span>
 
-   <span class="symbol"><A NAME="ref_69_4">COLOR_BLACK</A></span>                  : <b>constant</b> := 0;
-   <span class="symbol"><A NAME="ref_70_4">COLOR_RED</A></span>                    : <b>constant</b> := 1;
-   <span class="symbol"><A NAME="ref_71_4">COLOR_GREEN</A></span>                  : <b>constant</b> := 2;
-   <span class="symbol"><A NAME="ref_72_4">COLOR_YELLOW</A></span>                 : <b>constant</b> := 3;
-   <span class="symbol"><A NAME="ref_73_4">COLOR_BLUE</A></span>                   : <b>constant</b> := 4;
-   <span class="symbol"><A NAME="ref_74_4">COLOR_MAGENTA</A></span>                : <b>constant</b> := 5;
-   <span class="symbol"><A NAME="ref_75_4">COLOR_CYAN</A></span>                   : <b>constant</b> := 6;
-   <span class="symbol"><A NAME="ref_76_4">COLOR_WHITE</A></span>                  : <b>constant</b> := 7;
+   <span class="symbol"><a name="ref_69_4">COLOR_BLACK</a></span>                  : <b>constant</b> := 0;
+   <span class="symbol"><a name="ref_70_4">COLOR_RED</a></span>                    : <b>constant</b> := 1;
+   <span class="symbol"><a name="ref_71_4">COLOR_GREEN</a></span>                  : <b>constant</b> := 2;
+   <span class="symbol"><a name="ref_72_4">COLOR_YELLOW</a></span>                 : <b>constant</b> := 3;
+   <span class="symbol"><a name="ref_73_4">COLOR_BLUE</a></span>                   : <b>constant</b> := 4;
+   <span class="symbol"><a name="ref_74_4">COLOR_MAGENTA</a></span>                : <b>constant</b> := 5;
+   <span class="symbol"><a name="ref_75_4">COLOR_CYAN</a></span>                   : <b>constant</b> := 6;
+   <span class="symbol"><a name="ref_76_4">COLOR_WHITE</a></span>                  : <b>constant</b> := 7;
 
-   <span class="comment"><EM>--  ETI return codes from ncurses.h</EM></span>
+   <span class="comment"><em>--  ETI return codes from ncurses.h</em></span>
 
-   <span class="symbol"><A NAME="ref_80_4">E_OK</A></span>                         : <b>constant</b> := 0;
-   <span class="symbol"><A NAME="ref_81_4">E_SYSTEM_ERROR</A></span>               : <b>constant</b> := -1;
-   <span class="symbol"><A NAME="ref_82_4">E_BAD_ARGUMENT</A></span>               : <b>constant</b> := -2;
-   <span class="symbol"><A NAME="ref_83_4">E_POSTED</A></span>                     : <b>constant</b> := -3;
-   <span class="symbol"><A NAME="ref_84_4">E_CONNECTED</A></span>                  : <b>constant</b> := -4;
-   <span class="symbol"><A NAME="ref_85_4">E_BAD_STATE</A></span>                  : <b>constant</b> := -5;
-   <span class="symbol"><A NAME="ref_86_4">E_NO_ROOM</A></span>                    : <b>constant</b> := -6;
-   <span class="symbol"><A NAME="ref_87_4">E_NOT_POSTED</A></span>                 : <b>constant</b> := -7;
-   <span class="symbol"><A NAME="ref_88_4">E_UNKNOWN_COMMAND</A></span>            : <b>constant</b> := -8;
-   <span class="symbol"><A NAME="ref_89_4">E_NO_MATCH</A></span>                   : <b>constant</b> := -9;
-   <span class="symbol"><A NAME="ref_90_4">E_NOT_SELECTABLE</A></span>             : <b>constant</b> := -10;
-   <span class="symbol"><A NAME="ref_91_4">E_NOT_CONNECTED</A></span>              : <b>constant</b> := -11;
-   <span class="symbol"><A NAME="ref_92_4">E_REQUEST_DENIED</A></span>             : <b>constant</b> := -12;
-   <span class="symbol"><A NAME="ref_93_4">E_INVALID_FIELD</A></span>              : <b>constant</b> := -13;
-   <span class="symbol"><A NAME="ref_94_4">E_CURRENT</A></span>                    : <b>constant</b> := -14;
+   <span class="symbol"><a name="ref_80_4">E_OK</a></span>                         : <b>constant</b> := 0;
+   <span class="symbol"><a name="ref_81_4">E_SYSTEM_ERROR</a></span>               : <b>constant</b> := -1;
+   <span class="symbol"><a name="ref_82_4">E_BAD_ARGUMENT</a></span>               : <b>constant</b> := -2;
+   <span class="symbol"><a name="ref_83_4">E_POSTED</a></span>                     : <b>constant</b> := -3;
+   <span class="symbol"><a name="ref_84_4">E_CONNECTED</a></span>                  : <b>constant</b> := -4;
+   <span class="symbol"><a name="ref_85_4">E_BAD_STATE</a></span>                  : <b>constant</b> := -5;
+   <span class="symbol"><a name="ref_86_4">E_NO_ROOM</a></span>                    : <b>constant</b> := -6;
+   <span class="symbol"><a name="ref_87_4">E_NOT_POSTED</a></span>                 : <b>constant</b> := -7;
+   <span class="symbol"><a name="ref_88_4">E_UNKNOWN_COMMAND</a></span>            : <b>constant</b> := -8;
+   <span class="symbol"><a name="ref_89_4">E_NO_MATCH</a></span>                   : <b>constant</b> := -9;
+   <span class="symbol"><a name="ref_90_4">E_NOT_SELECTABLE</a></span>             : <b>constant</b> := -10;
+   <span class="symbol"><a name="ref_91_4">E_NOT_CONNECTED</a></span>              : <b>constant</b> := -11;
+   <span class="symbol"><a name="ref_92_4">E_REQUEST_DENIED</a></span>             : <b>constant</b> := -12;
+   <span class="symbol"><a name="ref_93_4">E_INVALID_FIELD</a></span>              : <b>constant</b> := -13;
+   <span class="symbol"><a name="ref_94_4">E_CURRENT</a></span>                    : <b>constant</b> := -14;
 
-   <span class="comment"><EM>--  Input key codes not defined in any ncurses manpage</EM></span>
+   <span class="comment"><em>--  Input key codes not defined in any ncurses manpage</em></span>
 
-   <span class="symbol"><A NAME="ref_98_4">KEY_MIN</A></span>                      : <b>constant</b> := 257;
-   <span class="symbol"><A NAME="ref_99_4">KEY_MAX</A></span>                      : <b>constant</b> := 511;
-   <span class="symbol"><A NAME="ref_100_4">KEY_CODE_YES</A></span>                 : <b>constant</b> := 256;
+   <span class="symbol"><a name="ref_98_4">KEY_MIN</a></span>                      : <b>constant</b> := 257;
+   <span class="symbol"><a name="ref_99_4">KEY_MAX</a></span>                      : <b>constant</b> := 511;
+   <span class="symbol"><a name="ref_100_4">KEY_CODE_YES</a></span>                 : <b>constant</b> := 256;
 
-   <span class="comment"><EM>--  Input key codes from getch(3NCURSES)</EM></span>
+   <span class="comment"><em>--  Input key codes from getch(3NCURSES)</em></span>
 
-   <span class="symbol"><A NAME="ref_104_4">KEY_BREAK</A></span>                    : <b>constant</b> := 257;
-   <span class="symbol"><A NAME="ref_105_4">KEY_DOWN</A></span>                     : <b>constant</b> := 258;
-   <span class="symbol"><A NAME="ref_106_4">KEY_UP</A></span>                       : <b>constant</b> := 259;
-   <span class="symbol"><A NAME="ref_107_4">KEY_LEFT</A></span>                     : <b>constant</b> := 260;
-   <span class="symbol"><A NAME="ref_108_4">KEY_RIGHT</A></span>                    : <b>constant</b> := 261;
-   <span class="symbol"><A NAME="ref_109_4">KEY_HOME</A></span>                     : <b>constant</b> := 262;
-   <span class="symbol"><A NAME="ref_110_4">KEY_BACKSPACE</A></span>                : <b>constant</b> := 263;
-   <span class="symbol"><A NAME="ref_111_4">KEY_F0</A></span>                       : <b>constant</b> := 264;
-   <span class="symbol"><A NAME="ref_112_4">KEY_F1</A></span>                       : <b>constant</b> := 265;
-   <span class="symbol"><A NAME="ref_113_4">KEY_F2</A></span>                       : <b>constant</b> := 266;
-   <span class="symbol"><A NAME="ref_114_4">KEY_F3</A></span>                       : <b>constant</b> := 267;
-   <span class="symbol"><A NAME="ref_115_4">KEY_F4</A></span>                       : <b>constant</b> := 268;
-   <span class="symbol"><A NAME="ref_116_4">KEY_F5</A></span>                       : <b>constant</b> := 269;
-   <span class="symbol"><A NAME="ref_117_4">KEY_F6</A></span>                       : <b>constant</b> := 270;
-   <span class="symbol"><A NAME="ref_118_4">KEY_F7</A></span>                       : <b>constant</b> := 271;
-   <span class="symbol"><A NAME="ref_119_4">KEY_F8</A></span>                       : <b>constant</b> := 272;
-   <span class="symbol"><A NAME="ref_120_4">KEY_F9</A></span>                       : <b>constant</b> := 273;
-   <span class="symbol"><A NAME="ref_121_4">KEY_F10</A></span>                      : <b>constant</b> := 274;
-   <span class="symbol"><A NAME="ref_122_4">KEY_F11</A></span>                      : <b>constant</b> := 275;
-   <span class="symbol"><A NAME="ref_123_4">KEY_F12</A></span>                      : <b>constant</b> := 276;
-   <span class="symbol"><A NAME="ref_124_4">KEY_F13</A></span>                      : <b>constant</b> := 277;
-   <span class="symbol"><A NAME="ref_125_4">KEY_F14</A></span>                      : <b>constant</b> := 278;
-   <span class="symbol"><A NAME="ref_126_4">KEY_F15</A></span>                      : <b>constant</b> := 279;
-   <span class="symbol"><A NAME="ref_127_4">KEY_F16</A></span>                      : <b>constant</b> := 280;
-   <span class="symbol"><A NAME="ref_128_4">KEY_F17</A></span>                      : <b>constant</b> := 281;
-   <span class="symbol"><A NAME="ref_129_4">KEY_F18</A></span>                      : <b>constant</b> := 282;
-   <span class="symbol"><A NAME="ref_130_4">KEY_F19</A></span>                      : <b>constant</b> := 283;
-   <span class="symbol"><A NAME="ref_131_4">KEY_F20</A></span>                      : <b>constant</b> := 284;
-   <span class="symbol"><A NAME="ref_132_4">KEY_F21</A></span>                      : <b>constant</b> := 285;
-   <span class="symbol"><A NAME="ref_133_4">KEY_F22</A></span>                      : <b>constant</b> := 286;
-   <span class="symbol"><A NAME="ref_134_4">KEY_F23</A></span>                      : <b>constant</b> := 287;
-   <span class="symbol"><A NAME="ref_135_4">KEY_F24</A></span>                      : <b>constant</b> := 288;
-   <span class="symbol"><A NAME="ref_136_4">KEY_DL</A></span>                       : <b>constant</b> := 328;
-   <span class="symbol"><A NAME="ref_137_4">KEY_IL</A></span>                       : <b>constant</b> := 329;
-   <span class="symbol"><A NAME="ref_138_4">KEY_DC</A></span>                       : <b>constant</b> := 330;
-   <span class="symbol"><A NAME="ref_139_4">KEY_IC</A></span>                       : <b>constant</b> := 331;
-   <span class="symbol"><A NAME="ref_140_4">KEY_EIC</A></span>                      : <b>constant</b> := 332;
-   <span class="symbol"><A NAME="ref_141_4">KEY_CLEAR</A></span>                    : <b>constant</b> := 333;
-   <span class="symbol"><A NAME="ref_142_4">KEY_EOS</A></span>                      : <b>constant</b> := 334;
-   <span class="symbol"><A NAME="ref_143_4">KEY_EOL</A></span>                      : <b>constant</b> := 335;
-   <span class="symbol"><A NAME="ref_144_4">KEY_SF</A></span>                       : <b>constant</b> := 336;
-   <span class="symbol"><A NAME="ref_145_4">KEY_SR</A></span>                       : <b>constant</b> := 337;
-   <span class="symbol"><A NAME="ref_146_4">KEY_NPAGE</A></span>                    : <b>constant</b> := 338;
-   <span class="symbol"><A NAME="ref_147_4">KEY_PPAGE</A></span>                    : <b>constant</b> := 339;
-   <span class="symbol"><A NAME="ref_148_4">KEY_STAB</A></span>                     : <b>constant</b> := 340;
-   <span class="symbol"><A NAME="ref_149_4">KEY_CTAB</A></span>                     : <b>constant</b> := 341;
-   <span class="symbol"><A NAME="ref_150_4">KEY_CATAB</A></span>                    : <b>constant</b> := 342;
-   <span class="symbol"><A NAME="ref_151_4">KEY_ENTER</A></span>                    : <b>constant</b> := 343;
-   <span class="symbol"><A NAME="ref_152_4">KEY_SRESET</A></span>                   : <b>constant</b> := 344;
-   <span class="symbol"><A NAME="ref_153_4">KEY_RESET</A></span>                    : <b>constant</b> := 345;
-   <span class="symbol"><A NAME="ref_154_4">KEY_PRINT</A></span>                    : <b>constant</b> := 346;
-   <span class="symbol"><A NAME="ref_155_4">KEY_LL</A></span>                       : <b>constant</b> := 347;
-   <span class="symbol"><A NAME="ref_156_4">KEY_A1</A></span>                       : <b>constant</b> := 348;
-   <span class="symbol"><A NAME="ref_157_4">KEY_A3</A></span>                       : <b>constant</b> := 349;
-   <span class="symbol"><A NAME="ref_158_4">KEY_B2</A></span>                       : <b>constant</b> := 350;
-   <span class="symbol"><A NAME="ref_159_4">KEY_C1</A></span>                       : <b>constant</b> := 351;
-   <span class="symbol"><A NAME="ref_160_4">KEY_C3</A></span>                       : <b>constant</b> := 352;
-   <span class="symbol"><A NAME="ref_161_4">KEY_BTAB</A></span>                     : <b>constant</b> := 353;
-   <span class="symbol"><A NAME="ref_162_4">KEY_BEG</A></span>                      : <b>constant</b> := 354;
-   <span class="symbol"><A NAME="ref_163_4">KEY_CANCEL</A></span>                   : <b>constant</b> := 355;
-   <span class="symbol"><A NAME="ref_164_4">KEY_CLOSE</A></span>                    : <b>constant</b> := 356;
-   <span class="symbol"><A NAME="ref_165_4">KEY_COMMAND</A></span>                  : <b>constant</b> := 357;
-   <span class="symbol"><A NAME="ref_166_4">KEY_COPY</A></span>                     : <b>constant</b> := 358;
-   <span class="symbol"><A NAME="ref_167_4">KEY_CREATE</A></span>                   : <b>constant</b> := 359;
-   <span class="symbol"><A NAME="ref_168_4">KEY_END</A></span>                      : <b>constant</b> := 360;
-   <span class="symbol"><A NAME="ref_169_4">KEY_EXIT</A></span>                     : <b>constant</b> := 361;
-   <span class="symbol"><A NAME="ref_170_4">KEY_FIND</A></span>                     : <b>constant</b> := 362;
-   <span class="symbol"><A NAME="ref_171_4">KEY_HELP</A></span>                     : <b>constant</b> := 363;
-   <span class="symbol"><A NAME="ref_172_4">KEY_MARK</A></span>                     : <b>constant</b> := 364;
-   <span class="symbol"><A NAME="ref_173_4">KEY_MESSAGE</A></span>                  : <b>constant</b> := 365;
-   <span class="symbol"><A NAME="ref_174_4">KEY_MOVE</A></span>                     : <b>constant</b> := 366;
-   <span class="symbol"><A NAME="ref_175_4">KEY_NEXT</A></span>                     : <b>constant</b> := 367;
-   <span class="symbol"><A NAME="ref_176_4">KEY_OPEN</A></span>                     : <b>constant</b> := 368;
-   <span class="symbol"><A NAME="ref_177_4">KEY_OPTIONS</A></span>                  : <b>constant</b> := 369;
-   <span class="symbol"><A NAME="ref_178_4">KEY_PREVIOUS</A></span>                 : <b>constant</b> := 370;
-   <span class="symbol"><A NAME="ref_179_4">KEY_REDO</A></span>                     : <b>constant</b> := 371;
-   <span class="symbol"><A NAME="ref_180_4">KEY_REFERENCE</A></span>                : <b>constant</b> := 372;
-   <span class="symbol"><A NAME="ref_181_4">KEY_REFRESH</A></span>                  : <b>constant</b> := 373;
-   <span class="symbol"><A NAME="ref_182_4">KEY_REPLACE</A></span>                  : <b>constant</b> := 374;
-   <span class="symbol"><A NAME="ref_183_4">KEY_RESTART</A></span>                  : <b>constant</b> := 375;
-   <span class="symbol"><A NAME="ref_184_4">KEY_RESUME</A></span>                   : <b>constant</b> := 376;
-   <span class="symbol"><A NAME="ref_185_4">KEY_SAVE</A></span>                     : <b>constant</b> := 377;
-   <span class="symbol"><A NAME="ref_186_4">KEY_SBEG</A></span>                     : <b>constant</b> := 378;
-   <span class="symbol"><A NAME="ref_187_4">KEY_SCANCEL</A></span>                  : <b>constant</b> := 379;
-   <span class="symbol"><A NAME="ref_188_4">KEY_SCOMMAND</A></span>                 : <b>constant</b> := 380;
-   <span class="symbol"><A NAME="ref_189_4">KEY_SCOPY</A></span>                    : <b>constant</b> := 381;
-   <span class="symbol"><A NAME="ref_190_4">KEY_SCREATE</A></span>                  : <b>constant</b> := 382;
-   <span class="symbol"><A NAME="ref_191_4">KEY_SDC</A></span>                      : <b>constant</b> := 383;
-   <span class="symbol"><A NAME="ref_192_4">KEY_SDL</A></span>                      : <b>constant</b> := 384;
-   <span class="symbol"><A NAME="ref_193_4">KEY_SELECT</A></span>                   : <b>constant</b> := 385;
-   <span class="symbol"><A NAME="ref_194_4">KEY_SEND</A></span>                     : <b>constant</b> := 386;
-   <span class="symbol"><A NAME="ref_195_4">KEY_SEOL</A></span>                     : <b>constant</b> := 387;
-   <span class="symbol"><A NAME="ref_196_4">KEY_SEXIT</A></span>                    : <b>constant</b> := 388;
-   <span class="symbol"><A NAME="ref_197_4">KEY_SFIND</A></span>                    : <b>constant</b> := 389;
-   <span class="symbol"><A NAME="ref_198_4">KEY_SHELP</A></span>                    : <b>constant</b> := 390;
-   <span class="symbol"><A NAME="ref_199_4">KEY_SHOME</A></span>                    : <b>constant</b> := 391;
-   <span class="symbol"><A NAME="ref_200_4">KEY_SIC</A></span>                      : <b>constant</b> := 392;
-   <span class="symbol"><A NAME="ref_201_4">KEY_SLEFT</A></span>                    : <b>constant</b> := 393;
-   <span class="symbol"><A NAME="ref_202_4">KEY_SMESSAGE</A></span>                 : <b>constant</b> := 394;
-   <span class="symbol"><A NAME="ref_203_4">KEY_SMOVE</A></span>                    : <b>constant</b> := 395;
-   <span class="symbol"><A NAME="ref_204_4">KEY_SNEXT</A></span>                    : <b>constant</b> := 396;
-   <span class="symbol"><A NAME="ref_205_4">KEY_SOPTIONS</A></span>                 : <b>constant</b> := 397;
-   <span class="symbol"><A NAME="ref_206_4">KEY_SPREVIOUS</A></span>                : <b>constant</b> := 398;
-   <span class="symbol"><A NAME="ref_207_4">KEY_SPRINT</A></span>                   : <b>constant</b> := 399;
-   <span class="symbol"><A NAME="ref_208_4">KEY_SREDO</A></span>                    : <b>constant</b> := 400;
-   <span class="symbol"><A NAME="ref_209_4">KEY_SREPLACE</A></span>                 : <b>constant</b> := 401;
-   <span class="symbol"><A NAME="ref_210_4">KEY_SRIGHT</A></span>                   : <b>constant</b> := 402;
-   <span class="symbol"><A NAME="ref_211_4">KEY_SRSUME</A></span>                   : <b>constant</b> := 403;
-   <span class="symbol"><A NAME="ref_212_4">KEY_SSAVE</A></span>                    : <b>constant</b> := 404;
-   <span class="symbol"><A NAME="ref_213_4">KEY_SSUSPEND</A></span>                 : <b>constant</b> := 405;
-   <span class="symbol"><A NAME="ref_214_4">KEY_SUNDO</A></span>                    : <b>constant</b> := 406;
-   <span class="symbol"><A NAME="ref_215_4">KEY_SUSPEND</A></span>                  : <b>constant</b> := 407;
-   <span class="symbol"><A NAME="ref_216_4">KEY_UNDO</A></span>                     : <b>constant</b> := 408;
-   <span class="symbol"><A NAME="ref_217_4">KEY_MOUSE</A></span>                    : <b>constant</b> := 409;
-   <span class="symbol"><A NAME="ref_218_4">KEY_RESIZE</A></span>                   : <b>constant</b> := 410;
+   <span class="symbol"><a name="ref_104_4">KEY_BREAK</a></span>                    : <b>constant</b> := 257;
+   <span class="symbol"><a name="ref_105_4">KEY_DOWN</a></span>                     : <b>constant</b> := 258;
+   <span class="symbol"><a name="ref_106_4">KEY_UP</a></span>                       : <b>constant</b> := 259;
+   <span class="symbol"><a name="ref_107_4">KEY_LEFT</a></span>                     : <b>constant</b> := 260;
+   <span class="symbol"><a name="ref_108_4">KEY_RIGHT</a></span>                    : <b>constant</b> := 261;
+   <span class="symbol"><a name="ref_109_4">KEY_HOME</a></span>                     : <b>constant</b> := 262;
+   <span class="symbol"><a name="ref_110_4">KEY_BACKSPACE</a></span>                : <b>constant</b> := 263;
+   <span class="symbol"><a name="ref_111_4">KEY_F0</a></span>                       : <b>constant</b> := 264;
+   <span class="symbol"><a name="ref_112_4">KEY_F1</a></span>                       : <b>constant</b> := 265;
+   <span class="symbol"><a name="ref_113_4">KEY_F2</a></span>                       : <b>constant</b> := 266;
+   <span class="symbol"><a name="ref_114_4">KEY_F3</a></span>                       : <b>constant</b> := 267;
+   <span class="symbol"><a name="ref_115_4">KEY_F4</a></span>                       : <b>constant</b> := 268;
+   <span class="symbol"><a name="ref_116_4">KEY_F5</a></span>                       : <b>constant</b> := 269;
+   <span class="symbol"><a name="ref_117_4">KEY_F6</a></span>                       : <b>constant</b> := 270;
+   <span class="symbol"><a name="ref_118_4">KEY_F7</a></span>                       : <b>constant</b> := 271;
+   <span class="symbol"><a name="ref_119_4">KEY_F8</a></span>                       : <b>constant</b> := 272;
+   <span class="symbol"><a name="ref_120_4">KEY_F9</a></span>                       : <b>constant</b> := 273;
+   <span class="symbol"><a name="ref_121_4">KEY_F10</a></span>                      : <b>constant</b> := 274;
+   <span class="symbol"><a name="ref_122_4">KEY_F11</a></span>                      : <b>constant</b> := 275;
+   <span class="symbol"><a name="ref_123_4">KEY_F12</a></span>                      : <b>constant</b> := 276;
+   <span class="symbol"><a name="ref_124_4">KEY_F13</a></span>                      : <b>constant</b> := 277;
+   <span class="symbol"><a name="ref_125_4">KEY_F14</a></span>                      : <b>constant</b> := 278;
+   <span class="symbol"><a name="ref_126_4">KEY_F15</a></span>                      : <b>constant</b> := 279;
+   <span class="symbol"><a name="ref_127_4">KEY_F16</a></span>                      : <b>constant</b> := 280;
+   <span class="symbol"><a name="ref_128_4">KEY_F17</a></span>                      : <b>constant</b> := 281;
+   <span class="symbol"><a name="ref_129_4">KEY_F18</a></span>                      : <b>constant</b> := 282;
+   <span class="symbol"><a name="ref_130_4">KEY_F19</a></span>                      : <b>constant</b> := 283;
+   <span class="symbol"><a name="ref_131_4">KEY_F20</a></span>                      : <b>constant</b> := 284;
+   <span class="symbol"><a name="ref_132_4">KEY_F21</a></span>                      : <b>constant</b> := 285;
+   <span class="symbol"><a name="ref_133_4">KEY_F22</a></span>                      : <b>constant</b> := 286;
+   <span class="symbol"><a name="ref_134_4">KEY_F23</a></span>                      : <b>constant</b> := 287;
+   <span class="symbol"><a name="ref_135_4">KEY_F24</a></span>                      : <b>constant</b> := 288;
+   <span class="symbol"><a name="ref_136_4">KEY_DL</a></span>                       : <b>constant</b> := 328;
+   <span class="symbol"><a name="ref_137_4">KEY_IL</a></span>                       : <b>constant</b> := 329;
+   <span class="symbol"><a name="ref_138_4">KEY_DC</a></span>                       : <b>constant</b> := 330;
+   <span class="symbol"><a name="ref_139_4">KEY_IC</a></span>                       : <b>constant</b> := 331;
+   <span class="symbol"><a name="ref_140_4">KEY_EIC</a></span>                      : <b>constant</b> := 332;
+   <span class="symbol"><a name="ref_141_4">KEY_CLEAR</a></span>                    : <b>constant</b> := 333;
+   <span class="symbol"><a name="ref_142_4">KEY_EOS</a></span>                      : <b>constant</b> := 334;
+   <span class="symbol"><a name="ref_143_4">KEY_EOL</a></span>                      : <b>constant</b> := 335;
+   <span class="symbol"><a name="ref_144_4">KEY_SF</a></span>                       : <b>constant</b> := 336;
+   <span class="symbol"><a name="ref_145_4">KEY_SR</a></span>                       : <b>constant</b> := 337;
+   <span class="symbol"><a name="ref_146_4">KEY_NPAGE</a></span>                    : <b>constant</b> := 338;
+   <span class="symbol"><a name="ref_147_4">KEY_PPAGE</a></span>                    : <b>constant</b> := 339;
+   <span class="symbol"><a name="ref_148_4">KEY_STAB</a></span>                     : <b>constant</b> := 340;
+   <span class="symbol"><a name="ref_149_4">KEY_CTAB</a></span>                     : <b>constant</b> := 341;
+   <span class="symbol"><a name="ref_150_4">KEY_CATAB</a></span>                    : <b>constant</b> := 342;
+   <span class="symbol"><a name="ref_151_4">KEY_ENTER</a></span>                    : <b>constant</b> := 343;
+   <span class="symbol"><a name="ref_152_4">KEY_SRESET</a></span>                   : <b>constant</b> := 344;
+   <span class="symbol"><a name="ref_153_4">KEY_RESET</a></span>                    : <b>constant</b> := 345;
+   <span class="symbol"><a name="ref_154_4">KEY_PRINT</a></span>                    : <b>constant</b> := 346;
+   <span class="symbol"><a name="ref_155_4">KEY_LL</a></span>                       : <b>constant</b> := 347;
+   <span class="symbol"><a name="ref_156_4">KEY_A1</a></span>                       : <b>constant</b> := 348;
+   <span class="symbol"><a name="ref_157_4">KEY_A3</a></span>                       : <b>constant</b> := 349;
+   <span class="symbol"><a name="ref_158_4">KEY_B2</a></span>                       : <b>constant</b> := 350;
+   <span class="symbol"><a name="ref_159_4">KEY_C1</a></span>                       : <b>constant</b> := 351;
+   <span class="symbol"><a name="ref_160_4">KEY_C3</a></span>                       : <b>constant</b> := 352;
+   <span class="symbol"><a name="ref_161_4">KEY_BTAB</a></span>                     : <b>constant</b> := 353;
+   <span class="symbol"><a name="ref_162_4">KEY_BEG</a></span>                      : <b>constant</b> := 354;
+   <span class="symbol"><a name="ref_163_4">KEY_CANCEL</a></span>                   : <b>constant</b> := 355;
+   <span class="symbol"><a name="ref_164_4">KEY_CLOSE</a></span>                    : <b>constant</b> := 356;
+   <span class="symbol"><a name="ref_165_4">KEY_COMMAND</a></span>                  : <b>constant</b> := 357;
+   <span class="symbol"><a name="ref_166_4">KEY_COPY</a></span>                     : <b>constant</b> := 358;
+   <span class="symbol"><a name="ref_167_4">KEY_CREATE</a></span>                   : <b>constant</b> := 359;
+   <span class="symbol"><a name="ref_168_4">KEY_END</a></span>                      : <b>constant</b> := 360;
+   <span class="symbol"><a name="ref_169_4">KEY_EXIT</a></span>                     : <b>constant</b> := 361;
+   <span class="symbol"><a name="ref_170_4">KEY_FIND</a></span>                     : <b>constant</b> := 362;
+   <span class="symbol"><a name="ref_171_4">KEY_HELP</a></span>                     : <b>constant</b> := 363;
+   <span class="symbol"><a name="ref_172_4">KEY_MARK</a></span>                     : <b>constant</b> := 364;
+   <span class="symbol"><a name="ref_173_4">KEY_MESSAGE</a></span>                  : <b>constant</b> := 365;
+   <span class="symbol"><a name="ref_174_4">KEY_MOVE</a></span>                     : <b>constant</b> := 366;
+   <span class="symbol"><a name="ref_175_4">KEY_NEXT</a></span>                     : <b>constant</b> := 367;
+   <span class="symbol"><a name="ref_176_4">KEY_OPEN</a></span>                     : <b>constant</b> := 368;
+   <span class="symbol"><a name="ref_177_4">KEY_OPTIONS</a></span>                  : <b>constant</b> := 369;
+   <span class="symbol"><a name="ref_178_4">KEY_PREVIOUS</a></span>                 : <b>constant</b> := 370;
+   <span class="symbol"><a name="ref_179_4">KEY_REDO</a></span>                     : <b>constant</b> := 371;
+   <span class="symbol"><a name="ref_180_4">KEY_REFERENCE</a></span>                : <b>constant</b> := 372;
+   <span class="symbol"><a name="ref_181_4">KEY_REFRESH</a></span>                  : <b>constant</b> := 373;
+   <span class="symbol"><a name="ref_182_4">KEY_REPLACE</a></span>                  : <b>constant</b> := 374;
+   <span class="symbol"><a name="ref_183_4">KEY_RESTART</a></span>                  : <b>constant</b> := 375;
+   <span class="symbol"><a name="ref_184_4">KEY_RESUME</a></span>                   : <b>constant</b> := 376;
+   <span class="symbol"><a name="ref_185_4">KEY_SAVE</a></span>                     : <b>constant</b> := 377;
+   <span class="symbol"><a name="ref_186_4">KEY_SBEG</a></span>                     : <b>constant</b> := 378;
+   <span class="symbol"><a name="ref_187_4">KEY_SCANCEL</a></span>                  : <b>constant</b> := 379;
+   <span class="symbol"><a name="ref_188_4">KEY_SCOMMAND</a></span>                 : <b>constant</b> := 380;
+   <span class="symbol"><a name="ref_189_4">KEY_SCOPY</a></span>                    : <b>constant</b> := 381;
+   <span class="symbol"><a name="ref_190_4">KEY_SCREATE</a></span>                  : <b>constant</b> := 382;
+   <span class="symbol"><a name="ref_191_4">KEY_SDC</a></span>                      : <b>constant</b> := 383;
+   <span class="symbol"><a name="ref_192_4">KEY_SDL</a></span>                      : <b>constant</b> := 384;
+   <span class="symbol"><a name="ref_193_4">KEY_SELECT</a></span>                   : <b>constant</b> := 385;
+   <span class="symbol"><a name="ref_194_4">KEY_SEND</a></span>                     : <b>constant</b> := 386;
+   <span class="symbol"><a name="ref_195_4">KEY_SEOL</a></span>                     : <b>constant</b> := 387;
+   <span class="symbol"><a name="ref_196_4">KEY_SEXIT</a></span>                    : <b>constant</b> := 388;
+   <span class="symbol"><a name="ref_197_4">KEY_SFIND</a></span>                    : <b>constant</b> := 389;
+   <span class="symbol"><a name="ref_198_4">KEY_SHELP</a></span>                    : <b>constant</b> := 390;
+   <span class="symbol"><a name="ref_199_4">KEY_SHOME</a></span>                    : <b>constant</b> := 391;
+   <span class="symbol"><a name="ref_200_4">KEY_SIC</a></span>                      : <b>constant</b> := 392;
+   <span class="symbol"><a name="ref_201_4">KEY_SLEFT</a></span>                    : <b>constant</b> := 393;
+   <span class="symbol"><a name="ref_202_4">KEY_SMESSAGE</a></span>                 : <b>constant</b> := 394;
+   <span class="symbol"><a name="ref_203_4">KEY_SMOVE</a></span>                    : <b>constant</b> := 395;
+   <span class="symbol"><a name="ref_204_4">KEY_SNEXT</a></span>                    : <b>constant</b> := 396;
+   <span class="symbol"><a name="ref_205_4">KEY_SOPTIONS</a></span>                 : <b>constant</b> := 397;
+   <span class="symbol"><a name="ref_206_4">KEY_SPREVIOUS</a></span>                : <b>constant</b> := 398;
+   <span class="symbol"><a name="ref_207_4">KEY_SPRINT</a></span>                   : <b>constant</b> := 399;
+   <span class="symbol"><a name="ref_208_4">KEY_SREDO</a></span>                    : <b>constant</b> := 400;
+   <span class="symbol"><a name="ref_209_4">KEY_SREPLACE</a></span>                 : <b>constant</b> := 401;
+   <span class="symbol"><a name="ref_210_4">KEY_SRIGHT</a></span>                   : <b>constant</b> := 402;
+   <span class="symbol"><a name="ref_211_4">KEY_SRSUME</a></span>                   : <b>constant</b> := 403;
+   <span class="symbol"><a name="ref_212_4">KEY_SSAVE</a></span>                    : <b>constant</b> := 404;
+   <span class="symbol"><a name="ref_213_4">KEY_SSUSPEND</a></span>                 : <b>constant</b> := 405;
+   <span class="symbol"><a name="ref_214_4">KEY_SUNDO</a></span>                    : <b>constant</b> := 406;
+   <span class="symbol"><a name="ref_215_4">KEY_SUSPEND</a></span>                  : <b>constant</b> := 407;
+   <span class="symbol"><a name="ref_216_4">KEY_UNDO</a></span>                     : <b>constant</b> := 408;
+   <span class="symbol"><a name="ref_217_4">KEY_MOUSE</a></span>                    : <b>constant</b> := 409;
+   <span class="symbol"><a name="ref_218_4">KEY_RESIZE</a></span>                   : <b>constant</b> := 410;
 
-   <span class="comment"><EM>--  alternate character codes (ACS) from addch(3NCURSES)</EM></span>
+   <span class="comment"><em>--  alternate character codes (ACS) from addch(3NCURSES)</em></span>
 
-   <span class="symbol"><A NAME="ref_222_4">ACS_ULCORNER</A></span>                 : <b>constant</b> := 108;
-   <span class="symbol"><A NAME="ref_223_4">ACS_LLCORNER</A></span>                 : <b>constant</b> := 109;
-   <span class="symbol"><A NAME="ref_224_4">ACS_URCORNER</A></span>                 : <b>constant</b> := 107;
-   <span class="symbol"><A NAME="ref_225_4">ACS_LRCORNER</A></span>                 : <b>constant</b> := 106;
-   <span class="symbol"><A NAME="ref_226_4">ACS_LTEE</A></span>                     : <b>constant</b> := 116;
-   <span class="symbol"><A NAME="ref_227_4">ACS_RTEE</A></span>                     : <b>constant</b> := 117;
-   <span class="symbol"><A NAME="ref_228_4">ACS_BTEE</A></span>                     : <b>constant</b> := 118;
-   <span class="symbol"><A NAME="ref_229_4">ACS_TTEE</A></span>                     : <b>constant</b> := 119;
-   <span class="symbol"><A NAME="ref_230_4">ACS_HLINE</A></span>                    : <b>constant</b> := 113;
-   <span class="symbol"><A NAME="ref_231_4">ACS_VLINE</A></span>                    : <b>constant</b> := 120;
-   <span class="symbol"><A NAME="ref_232_4">ACS_PLUS</A></span>                     : <b>constant</b> := 110;
-   <span class="symbol"><A NAME="ref_233_4">ACS_S1</A></span>                       : <b>constant</b> := 111;
-   <span class="symbol"><A NAME="ref_234_4">ACS_S9</A></span>                       : <b>constant</b> := 115;
-   <span class="symbol"><A NAME="ref_235_4">ACS_DIAMOND</A></span>                  : <b>constant</b> := 96;
-   <span class="symbol"><A NAME="ref_236_4">ACS_CKBOARD</A></span>                  : <b>constant</b> := 97;
-   <span class="symbol"><A NAME="ref_237_4">ACS_DEGREE</A></span>                   : <b>constant</b> := 102;
-   <span class="symbol"><A NAME="ref_238_4">ACS_PLMINUS</A></span>                  : <b>constant</b> := 103;
-   <span class="symbol"><A NAME="ref_239_4">ACS_BULLET</A></span>                   : <b>constant</b> := 126;
-   <span class="symbol"><A NAME="ref_240_4">ACS_LARROW</A></span>                   : <b>constant</b> := 44;
-   <span class="symbol"><A NAME="ref_241_4">ACS_RARROW</A></span>                   : <b>constant</b> := 43;
-   <span class="symbol"><A NAME="ref_242_4">ACS_DARROW</A></span>                   : <b>constant</b> := 46;
-   <span class="symbol"><A NAME="ref_243_4">ACS_UARROW</A></span>                   : <b>constant</b> := 45;
-   <span class="symbol"><A NAME="ref_244_4">ACS_BOARD</A></span>                    : <b>constant</b> := 104;
-   <span class="symbol"><A NAME="ref_245_4">ACS_LANTERN</A></span>                  : <b>constant</b> := 105;
-   <span class="symbol"><A NAME="ref_246_4">ACS_BLOCK</A></span>                    : <b>constant</b> := 48;
-   <span class="symbol"><A NAME="ref_247_4">ACS_S3</A></span>                       : <b>constant</b> := 112;
-   <span class="symbol"><A NAME="ref_248_4">ACS_S7</A></span>                       : <b>constant</b> := 114;
-   <span class="symbol"><A NAME="ref_249_4">ACS_LEQUAL</A></span>                   : <b>constant</b> := 121;
-   <span class="symbol"><A NAME="ref_250_4">ACS_GEQUAL</A></span>                   : <b>constant</b> := 122;
-   <span class="symbol"><A NAME="ref_251_4">ACS_PI</A></span>                       : <b>constant</b> := 123;
-   <span class="symbol"><A NAME="ref_252_4">ACS_NEQUAL</A></span>                   : <b>constant</b> := 124;
-   <span class="symbol"><A NAME="ref_253_4">ACS_STERLING</A></span>                 : <b>constant</b> := 125;
+   <span class="symbol"><a name="ref_222_4">ACS_ULCORNER</a></span>                 : <b>constant</b> := 108;
+   <span class="symbol"><a name="ref_223_4">ACS_LLCORNER</a></span>                 : <b>constant</b> := 109;
+   <span class="symbol"><a name="ref_224_4">ACS_URCORNER</a></span>                 : <b>constant</b> := 107;
+   <span class="symbol"><a name="ref_225_4">ACS_LRCORNER</a></span>                 : <b>constant</b> := 106;
+   <span class="symbol"><a name="ref_226_4">ACS_LTEE</a></span>                     : <b>constant</b> := 116;
+   <span class="symbol"><a name="ref_227_4">ACS_RTEE</a></span>                     : <b>constant</b> := 117;
+   <span class="symbol"><a name="ref_228_4">ACS_BTEE</a></span>                     : <b>constant</b> := 118;
+   <span class="symbol"><a name="ref_229_4">ACS_TTEE</a></span>                     : <b>constant</b> := 119;
+   <span class="symbol"><a name="ref_230_4">ACS_HLINE</a></span>                    : <b>constant</b> := 113;
+   <span class="symbol"><a name="ref_231_4">ACS_VLINE</a></span>                    : <b>constant</b> := 120;
+   <span class="symbol"><a name="ref_232_4">ACS_PLUS</a></span>                     : <b>constant</b> := 110;
+   <span class="symbol"><a name="ref_233_4">ACS_S1</a></span>                       : <b>constant</b> := 111;
+   <span class="symbol"><a name="ref_234_4">ACS_S9</a></span>                       : <b>constant</b> := 115;
+   <span class="symbol"><a name="ref_235_4">ACS_DIAMOND</a></span>                  : <b>constant</b> := 96;
+   <span class="symbol"><a name="ref_236_4">ACS_CKBOARD</a></span>                  : <b>constant</b> := 97;
+   <span class="symbol"><a name="ref_237_4">ACS_DEGREE</a></span>                   : <b>constant</b> := 102;
+   <span class="symbol"><a name="ref_238_4">ACS_PLMINUS</a></span>                  : <b>constant</b> := 103;
+   <span class="symbol"><a name="ref_239_4">ACS_BULLET</a></span>                   : <b>constant</b> := 126;
+   <span class="symbol"><a name="ref_240_4">ACS_LARROW</a></span>                   : <b>constant</b> := 44;
+   <span class="symbol"><a name="ref_241_4">ACS_RARROW</a></span>                   : <b>constant</b> := 43;
+   <span class="symbol"><a name="ref_242_4">ACS_DARROW</a></span>                   : <b>constant</b> := 46;
+   <span class="symbol"><a name="ref_243_4">ACS_UARROW</a></span>                   : <b>constant</b> := 45;
+   <span class="symbol"><a name="ref_244_4">ACS_BOARD</a></span>                    : <b>constant</b> := 104;
+   <span class="symbol"><a name="ref_245_4">ACS_LANTERN</a></span>                  : <b>constant</b> := 105;
+   <span class="symbol"><a name="ref_246_4">ACS_BLOCK</a></span>                    : <b>constant</b> := 48;
+   <span class="symbol"><a name="ref_247_4">ACS_S3</a></span>                       : <b>constant</b> := 112;
+   <span class="symbol"><a name="ref_248_4">ACS_S7</a></span>                       : <b>constant</b> := 114;
+   <span class="symbol"><a name="ref_249_4">ACS_LEQUAL</a></span>                   : <b>constant</b> := 121;
+   <span class="symbol"><a name="ref_250_4">ACS_GEQUAL</a></span>                   : <b>constant</b> := 122;
+   <span class="symbol"><a name="ref_251_4">ACS_PI</a></span>                       : <b>constant</b> := 123;
+   <span class="symbol"><a name="ref_252_4">ACS_NEQUAL</a></span>                   : <b>constant</b> := 124;
+   <span class="symbol"><a name="ref_253_4">ACS_STERLING</a></span>                 : <b>constant</b> := 125;
 
-   <span class="comment"><EM>--  Menu_Options from opts(3MENU)</EM></span>
+   <span class="comment"><em>--  Menu_Options from opts(3MENU)</em></span>
 
-   <span class="symbol"><A NAME="ref_257_4">O_ONEVALUE_First</A></span>             : <b>constant</b> := 0;
-   <span class="symbol"><A NAME="ref_258_4">O_ONEVALUE_Last</A></span>              : <b>constant</b> := 0;
-   <span class="symbol"><A NAME="ref_259_4">O_SHOWDESC_First</A></span>             : <b>constant</b> := 1;
-   <span class="symbol"><A NAME="ref_260_4">O_SHOWDESC_Last</A></span>              : <b>constant</b> := 1;
-   <span class="symbol"><A NAME="ref_261_4">O_ROWMAJOR_First</A></span>             : <b>constant</b> := 2;
-   <span class="symbol"><A NAME="ref_262_4">O_ROWMAJOR_Last</A></span>              : <b>constant</b> := 2;
-   <span class="symbol"><A NAME="ref_263_4">O_IGNORECASE_First</A></span>           : <b>constant</b> := 3;
-   <span class="symbol"><A NAME="ref_264_4">O_IGNORECASE_Last</A></span>            : <b>constant</b> := 3;
-   <span class="symbol"><A NAME="ref_265_4">O_SHOWMATCH_First</A></span>            : <b>constant</b> := 4;
-   <span class="symbol"><A NAME="ref_266_4">O_SHOWMATCH_Last</A></span>             : <b>constant</b> := 4;
-   <span class="symbol"><A NAME="ref_267_4">O_NONCYCLIC_First</A></span>            : <b>constant</b> := 5;
-   <span class="symbol"><A NAME="ref_268_4">O_NONCYCLIC_Last</A></span>             : <b>constant</b> := 5;
-   <span class="symbol"><A NAME="ref_269_4">Menu_Options_Size</A></span>            : <b>constant</b> := 32;
+   <span class="symbol"><a name="ref_257_4">O_ONEVALUE_First</a></span>             : <b>constant</b> := 0;
+   <span class="symbol"><a name="ref_258_4">O_ONEVALUE_Last</a></span>              : <b>constant</b> := 0;
+   <span class="symbol"><a name="ref_259_4">O_SHOWDESC_First</a></span>             : <b>constant</b> := 1;
+   <span class="symbol"><a name="ref_260_4">O_SHOWDESC_Last</a></span>              : <b>constant</b> := 1;
+   <span class="symbol"><a name="ref_261_4">O_ROWMAJOR_First</a></span>             : <b>constant</b> := 2;
+   <span class="symbol"><a name="ref_262_4">O_ROWMAJOR_Last</a></span>              : <b>constant</b> := 2;
+   <span class="symbol"><a name="ref_263_4">O_IGNORECASE_First</a></span>           : <b>constant</b> := 3;
+   <span class="symbol"><a name="ref_264_4">O_IGNORECASE_Last</a></span>            : <b>constant</b> := 3;
+   <span class="symbol"><a name="ref_265_4">O_SHOWMATCH_First</a></span>            : <b>constant</b> := 4;
+   <span class="symbol"><a name="ref_266_4">O_SHOWMATCH_Last</a></span>             : <b>constant</b> := 4;
+   <span class="symbol"><a name="ref_267_4">O_NONCYCLIC_First</a></span>            : <b>constant</b> := 5;
+   <span class="symbol"><a name="ref_268_4">O_NONCYCLIC_Last</a></span>             : <b>constant</b> := 5;
+   <span class="symbol"><a name="ref_269_4">Menu_Options_Size</a></span>            : <b>constant</b> := 32;
 
-   <span class="comment"><EM>--  Item_Options from menu_opts(3MENU)</EM></span>
+   <span class="comment"><em>--  Item_Options from menu_opts(3MENU)</em></span>
 
-   <span class="symbol"><A NAME="ref_273_4">O_SELECTABLE_First</A></span>           : <b>constant</b> := 0;
-   <span class="symbol"><A NAME="ref_274_4">O_SELECTABLE_Last</A></span>            : <b>constant</b> := 0;
-   <span class="symbol"><A NAME="ref_275_4">Item_Options_Size</A></span>            : <b>constant</b> := 32;
+   <span class="symbol"><a name="ref_273_4">O_SELECTABLE_First</a></span>           : <b>constant</b> := 0;
+   <span class="symbol"><a name="ref_274_4">O_SELECTABLE_Last</a></span>            : <b>constant</b> := 0;
+   <span class="symbol"><a name="ref_275_4">Item_Options_Size</a></span>            : <b>constant</b> := 32;
 
-   <span class="comment"><EM>--  Field_Options from field_opts(3FORM)</EM></span>
+   <span class="comment"><em>--  Field_Options from field_opts(3FORM)</em></span>
 
-   <span class="symbol"><A NAME="ref_279_4">O_VISIBLE_First</A></span>              : <b>constant</b> := 0;
-   <span class="symbol"><A NAME="ref_280_4">O_VISIBLE_Last</A></span>               : <b>constant</b> := 0;
-   <span class="symbol"><A NAME="ref_281_4">O_ACTIVE_First</A></span>               : <b>constant</b> := 1;
-   <span class="symbol"><A NAME="ref_282_4">O_ACTIVE_Last</A></span>                : <b>constant</b> := 1;
-   <span class="symbol"><A NAME="ref_283_4">O_PUBLIC_First</A></span>               : <b>constant</b> := 2;
-   <span class="symbol"><A NAME="ref_284_4">O_PUBLIC_Last</A></span>                : <b>constant</b> := 2;
-   <span class="symbol"><A NAME="ref_285_4">O_EDIT_First</A></span>                 : <b>constant</b> := 3;
-   <span class="symbol"><A NAME="ref_286_4">O_EDIT_Last</A></span>                  : <b>constant</b> := 3;
-   <span class="symbol"><A NAME="ref_287_4">O_WRAP_First</A></span>                 : <b>constant</b> := 4;
-   <span class="symbol"><A NAME="ref_288_4">O_WRAP_Last</A></span>                  : <b>constant</b> := 4;
-   <span class="symbol"><A NAME="ref_289_4">O_BLANK_First</A></span>                : <b>constant</b> := 5;
-   <span class="symbol"><A NAME="ref_290_4">O_BLANK_Last</A></span>                 : <b>constant</b> := 5;
-   <span class="symbol"><A NAME="ref_291_4">O_AUTOSKIP_First</A></span>             : <b>constant</b> := 6;
-   <span class="symbol"><A NAME="ref_292_4">O_AUTOSKIP_Last</A></span>              : <b>constant</b> := 6;
-   <span class="symbol"><A NAME="ref_293_4">O_NULLOK_First</A></span>               : <b>constant</b> := 7;
-   <span class="symbol"><A NAME="ref_294_4">O_NULLOK_Last</A></span>                : <b>constant</b> := 7;
-   <span class="symbol"><A NAME="ref_295_4">O_PASSOK_First</A></span>               : <b>constant</b> := 8;
-   <span class="symbol"><A NAME="ref_296_4">O_PASSOK_Last</A></span>                : <b>constant</b> := 8;
-   <span class="symbol"><A NAME="ref_297_4">O_STATIC_First</A></span>               : <b>constant</b> := 9;
-   <span class="symbol"><A NAME="ref_298_4">O_STATIC_Last</A></span>                : <b>constant</b> := 9;
-   <span class="symbol"><A NAME="ref_299_4">Field_Options_Size</A></span>           : <b>constant</b> := 32;
+   <span class="symbol"><a name="ref_279_4">O_VISIBLE_First</a></span>              : <b>constant</b> := 0;
+   <span class="symbol"><a name="ref_280_4">O_VISIBLE_Last</a></span>               : <b>constant</b> := 0;
+   <span class="symbol"><a name="ref_281_4">O_ACTIVE_First</a></span>               : <b>constant</b> := 1;
+   <span class="symbol"><a name="ref_282_4">O_ACTIVE_Last</a></span>                : <b>constant</b> := 1;
+   <span class="symbol"><a name="ref_283_4">O_PUBLIC_First</a></span>               : <b>constant</b> := 2;
+   <span class="symbol"><a name="ref_284_4">O_PUBLIC_Last</a></span>                : <b>constant</b> := 2;
+   <span class="symbol"><a name="ref_285_4">O_EDIT_First</a></span>                 : <b>constant</b> := 3;
+   <span class="symbol"><a name="ref_286_4">O_EDIT_Last</a></span>                  : <b>constant</b> := 3;
+   <span class="symbol"><a name="ref_287_4">O_WRAP_First</a></span>                 : <b>constant</b> := 4;
+   <span class="symbol"><a name="ref_288_4">O_WRAP_Last</a></span>                  : <b>constant</b> := 4;
+   <span class="symbol"><a name="ref_289_4">O_BLANK_First</a></span>                : <b>constant</b> := 5;
+   <span class="symbol"><a name="ref_290_4">O_BLANK_Last</a></span>                 : <b>constant</b> := 5;
+   <span class="symbol"><a name="ref_291_4">O_AUTOSKIP_First</a></span>             : <b>constant</b> := 6;
+   <span class="symbol"><a name="ref_292_4">O_AUTOSKIP_Last</a></span>              : <b>constant</b> := 6;
+   <span class="symbol"><a name="ref_293_4">O_NULLOK_First</a></span>               : <b>constant</b> := 7;
+   <span class="symbol"><a name="ref_294_4">O_NULLOK_Last</a></span>                : <b>constant</b> := 7;
+   <span class="symbol"><a name="ref_295_4">O_PASSOK_First</a></span>               : <b>constant</b> := 8;
+   <span class="symbol"><a name="ref_296_4">O_PASSOK_Last</a></span>                : <b>constant</b> := 8;
+   <span class="symbol"><a name="ref_297_4">O_STATIC_First</a></span>               : <b>constant</b> := 9;
+   <span class="symbol"><a name="ref_298_4">O_STATIC_Last</a></span>                : <b>constant</b> := 9;
+   <span class="symbol"><a name="ref_299_4">Field_Options_Size</a></span>           : <b>constant</b> := 32;
 
-   <span class="comment"><EM>--  Field_Options from opts(3FORM)</EM></span>
+   <span class="comment"><em>--  Field_Options from opts(3FORM)</em></span>
 
-   <span class="symbol"><A NAME="ref_303_4">O_NL_OVERLOAD_First</A></span>          : <b>constant</b> := 0;
-   <span class="symbol"><A NAME="ref_304_4">O_NL_OVERLOAD_Last</A></span>           : <b>constant</b> := 0;
-   <span class="symbol"><A NAME="ref_305_4">O_BS_OVERLOAD_First</A></span>          : <b>constant</b> := 1;
-   <span class="symbol"><A NAME="ref_306_4">O_BS_OVERLOAD_Last</A></span>           : <b>constant</b> := 1;
+   <span class="symbol"><a name="ref_303_4">O_NL_OVERLOAD_First</a></span>          : <b>constant</b> := 0;
+   <span class="symbol"><a name="ref_304_4">O_NL_OVERLOAD_Last</a></span>           : <b>constant</b> := 0;
+   <span class="symbol"><a name="ref_305_4">O_BS_OVERLOAD_First</a></span>          : <b>constant</b> := 1;
+   <span class="symbol"><a name="ref_306_4">O_BS_OVERLOAD_Last</a></span>           : <b>constant</b> := 1;
 
-   <span class="comment"><EM>--  MEVENT structure from mouse(3NCURSES)</EM></span>
+   <span class="comment"><em>--  MEVENT structure from mouse(3NCURSES)</em></span>
 
-   <span class="symbol"><A NAME="ref_310_4">MEVENT_id_First</A></span>              : <b>constant</b> := 0;
-   <span class="symbol"><A NAME="ref_311_4">MEVENT_id_Last</A></span>               : <b>constant</b> := 15;
-   <span class="symbol"><A NAME="ref_312_4">MEVENT_x_First</A></span>               : <b>constant</b> := 32;
-   <span class="symbol"><A NAME="ref_313_4">MEVENT_x_Last</A></span>                : <b>constant</b> := 63;
-   <span class="symbol"><A NAME="ref_314_4">MEVENT_y_First</A></span>               : <b>constant</b> := 64;
-   <span class="symbol"><A NAME="ref_315_4">MEVENT_y_Last</A></span>                : <b>constant</b> := 95;
-   <span class="symbol"><A NAME="ref_316_4">MEVENT_z_First</A></span>               : <b>constant</b> := 96;
-   <span class="symbol"><A NAME="ref_317_4">MEVENT_z_Last</A></span>                : <b>constant</b> := 127;
-   <span class="symbol"><A NAME="ref_318_4">MEVENT_bstate_First</A></span>          : <b>constant</b> := 128;
-   <span class="symbol"><A NAME="ref_319_4">MEVENT_bstate_Last</A></span>           : <b>constant</b> := 159;
-   <span class="symbol"><A NAME="ref_320_4">MEVENT_Size</A></span>                  : <b>constant</b> := 160;
+   <span class="symbol"><a name="ref_310_4">MEVENT_id_First</a></span>              : <b>constant</b> := 0;
+   <span class="symbol"><a name="ref_311_4">MEVENT_id_Last</a></span>               : <b>constant</b> := 15;
+   <span class="symbol"><a name="ref_312_4">MEVENT_x_First</a></span>               : <b>constant</b> := 32;
+   <span class="symbol"><a name="ref_313_4">MEVENT_x_Last</a></span>                : <b>constant</b> := 63;
+   <span class="symbol"><a name="ref_314_4">MEVENT_y_First</a></span>               : <b>constant</b> := 64;
+   <span class="symbol"><a name="ref_315_4">MEVENT_y_Last</a></span>                : <b>constant</b> := 95;
+   <span class="symbol"><a name="ref_316_4">MEVENT_z_First</a></span>               : <b>constant</b> := 96;
+   <span class="symbol"><a name="ref_317_4">MEVENT_z_Last</a></span>                : <b>constant</b> := 127;
+   <span class="symbol"><a name="ref_318_4">MEVENT_bstate_First</a></span>          : <b>constant</b> := 128;
+   <span class="symbol"><a name="ref_319_4">MEVENT_bstate_Last</a></span>           : <b>constant</b> := 159;
+   <span class="symbol"><a name="ref_320_4">MEVENT_Size</a></span>                  : <b>constant</b> := 160;
 
-   <span class="comment"><EM>--  mouse events from mouse(3NCURSES)</EM></span>
+   <span class="comment"><em>--  mouse events from mouse(3NCURSES)</em></span>
 
-   <span class="symbol"><A NAME="ref_324_4">BUTTON1_RELEASED</A></span>             : <b>constant</b> := 1;
-   <span class="symbol"><A NAME="ref_325_4">BUTTON1_PRESSED</A></span>              : <b>constant</b> := 2;
-   <span class="symbol"><A NAME="ref_326_4">BUTTON1_CLICKED</A></span>              : <b>constant</b> := 4;
-   <span class="symbol"><A NAME="ref_327_4">BUTTON1_DOUBLE_CLICKED</A></span>       : <b>constant</b> := 8;
-   <span class="symbol"><A NAME="ref_328_4">BUTTON1_TRIPLE_CLICKED</A></span>       : <b>constant</b> := 16;
-   <span class="symbol"><A NAME="ref_329_4">all_events_button_1</A></span>          : <b>constant</b> := 31;
-   <span class="symbol"><A NAME="ref_330_4">BUTTON2_RELEASED</A></span>             : <b>constant</b> := 32;
-   <span class="symbol"><A NAME="ref_331_4">BUTTON2_PRESSED</A></span>              : <b>constant</b> := 64;
-   <span class="symbol"><A NAME="ref_332_4">BUTTON2_CLICKED</A></span>              : <b>constant</b> := 128;
-   <span class="symbol"><A NAME="ref_333_4">BUTTON2_DOUBLE_CLICKED</A></span>       : <b>constant</b> := 256;
-   <span class="symbol"><A NAME="ref_334_4">BUTTON2_TRIPLE_CLICKED</A></span>       : <b>constant</b> := 512;
-   <span class="symbol"><A NAME="ref_335_4">all_events_button_2</A></span>          : <b>constant</b> := 992;
-   <span class="symbol"><A NAME="ref_336_4">BUTTON3_RELEASED</A></span>             : <b>constant</b> := 1024;
-   <span class="symbol"><A NAME="ref_337_4">BUTTON3_PRESSED</A></span>              : <b>constant</b> := 2048;
-   <span class="symbol"><A NAME="ref_338_4">BUTTON3_CLICKED</A></span>              : <b>constant</b> := 4096;
-   <span class="symbol"><A NAME="ref_339_4">BUTTON3_DOUBLE_CLICKED</A></span>       : <b>constant</b> := 8192;
-   <span class="symbol"><A NAME="ref_340_4">BUTTON3_TRIPLE_CLICKED</A></span>       : <b>constant</b> := 16384;
-   <span class="symbol"><A NAME="ref_341_4">all_events_button_3</A></span>          : <b>constant</b> := 31744;
-   <span class="symbol"><A NAME="ref_342_4">BUTTON4_RELEASED</A></span>             : <b>constant</b> := 32768;
-   <span class="symbol"><A NAME="ref_343_4">BUTTON4_PRESSED</A></span>              : <b>constant</b> := 65536;
-   <span class="symbol"><A NAME="ref_344_4">BUTTON4_CLICKED</A></span>              : <b>constant</b> := 131072;
-   <span class="symbol"><A NAME="ref_345_4">BUTTON4_DOUBLE_CLICKED</A></span>       : <b>constant</b> := 262144;
-   <span class="symbol"><A NAME="ref_346_4">BUTTON4_TRIPLE_CLICKED</A></span>       : <b>constant</b> := 524288;
-   <span class="symbol"><A NAME="ref_347_4">all_events_button_4</A></span>          : <b>constant</b> := 1015808;
-   <span class="symbol"><A NAME="ref_348_4">BUTTON_CTRL</A></span>                  : <b>constant</b> := 33554432;
-   <span class="symbol"><A NAME="ref_349_4">BUTTON_SHIFT</A></span>                 : <b>constant</b> := 67108864;
-   <span class="symbol"><A NAME="ref_350_4">BUTTON_ALT</A></span>                   : <b>constant</b> := 134217728;
-   <span class="symbol"><A NAME="ref_351_4">REPORT_MOUSE_POSITION</A></span>        : <b>constant</b> := 268435456;
-   <span class="symbol"><A NAME="ref_352_4">ALL_MOUSE_EVENTS</A></span>             : <b>constant</b> := 268435455;
+   <span class="symbol"><a name="ref_324_4">BUTTON1_RELEASED</a></span>             : <b>constant</b> := 1;
+   <span class="symbol"><a name="ref_325_4">BUTTON1_PRESSED</a></span>              : <b>constant</b> := 2;
+   <span class="symbol"><a name="ref_326_4">BUTTON1_CLICKED</a></span>              : <b>constant</b> := 4;
+   <span class="symbol"><a name="ref_327_4">BUTTON1_DOUBLE_CLICKED</a></span>       : <b>constant</b> := 8;
+   <span class="symbol"><a name="ref_328_4">BUTTON1_TRIPLE_CLICKED</a></span>       : <b>constant</b> := 16;
+   <span class="symbol"><a name="ref_329_4">all_events_button_1</a></span>          : <b>constant</b> := 31;
+   <span class="symbol"><a name="ref_330_4">BUTTON2_RELEASED</a></span>             : <b>constant</b> := 32;
+   <span class="symbol"><a name="ref_331_4">BUTTON2_PRESSED</a></span>              : <b>constant</b> := 64;
+   <span class="symbol"><a name="ref_332_4">BUTTON2_CLICKED</a></span>              : <b>constant</b> := 128;
+   <span class="symbol"><a name="ref_333_4">BUTTON2_DOUBLE_CLICKED</a></span>       : <b>constant</b> := 256;
+   <span class="symbol"><a name="ref_334_4">BUTTON2_TRIPLE_CLICKED</a></span>       : <b>constant</b> := 512;
+   <span class="symbol"><a name="ref_335_4">all_events_button_2</a></span>          : <b>constant</b> := 992;
+   <span class="symbol"><a name="ref_336_4">BUTTON3_RELEASED</a></span>             : <b>constant</b> := 1024;
+   <span class="symbol"><a name="ref_337_4">BUTTON3_PRESSED</a></span>              : <b>constant</b> := 2048;
+   <span class="symbol"><a name="ref_338_4">BUTTON3_CLICKED</a></span>              : <b>constant</b> := 4096;
+   <span class="symbol"><a name="ref_339_4">BUTTON3_DOUBLE_CLICKED</a></span>       : <b>constant</b> := 8192;
+   <span class="symbol"><a name="ref_340_4">BUTTON3_TRIPLE_CLICKED</a></span>       : <b>constant</b> := 16384;
+   <span class="symbol"><a name="ref_341_4">all_events_button_3</a></span>          : <b>constant</b> := 31744;
+   <span class="symbol"><a name="ref_342_4">BUTTON4_RELEASED</a></span>             : <b>constant</b> := 32768;
+   <span class="symbol"><a name="ref_343_4">BUTTON4_PRESSED</a></span>              : <b>constant</b> := 65536;
+   <span class="symbol"><a name="ref_344_4">BUTTON4_CLICKED</a></span>              : <b>constant</b> := 131072;
+   <span class="symbol"><a name="ref_345_4">BUTTON4_DOUBLE_CLICKED</a></span>       : <b>constant</b> := 262144;
+   <span class="symbol"><a name="ref_346_4">BUTTON4_TRIPLE_CLICKED</a></span>       : <b>constant</b> := 524288;
+   <span class="symbol"><a name="ref_347_4">all_events_button_4</a></span>          : <b>constant</b> := 1015808;
+   <span class="symbol"><a name="ref_348_4">BUTTON_CTRL</a></span>                  : <b>constant</b> := 33554432;
+   <span class="symbol"><a name="ref_349_4">BUTTON_SHIFT</a></span>                 : <b>constant</b> := 67108864;
+   <span class="symbol"><a name="ref_350_4">BUTTON_ALT</a></span>                   : <b>constant</b> := 134217728;
+   <span class="symbol"><a name="ref_351_4">REPORT_MOUSE_POSITION</a></span>        : <b>constant</b> := 268435456;
+   <span class="symbol"><a name="ref_352_4">ALL_MOUSE_EVENTS</a></span>             : <b>constant</b> := 268435455;
 
-   <span class="comment"><EM>--  trace selection from trace(3NCURSES)</EM></span>
+   <span class="comment"><em>--  trace selection from trace(3NCURSES)</em></span>
 
-   <span class="symbol"><A NAME="ref_356_4">TRACE_TIMES_First</A></span>            : <b>constant</b> := 0;
-   <span class="symbol"><A NAME="ref_357_4">TRACE_TIMES_Last</A></span>             : <b>constant</b> := 0;
-   <span class="symbol"><A NAME="ref_358_4">TRACE_TPUTS_First</A></span>            : <b>constant</b> := 1;
-   <span class="symbol"><A NAME="ref_359_4">TRACE_TPUTS_Last</A></span>             : <b>constant</b> := 1;
-   <span class="symbol"><A NAME="ref_360_4">TRACE_UPDATE_First</A></span>           : <b>constant</b> := 2;
-   <span class="symbol"><A NAME="ref_361_4">TRACE_UPDATE_Last</A></span>            : <b>constant</b> := 2;
-   <span class="symbol"><A NAME="ref_362_4">TRACE_MOVE_First</A></span>             : <b>constant</b> := 3;
-   <span class="symbol"><A NAME="ref_363_4">TRACE_MOVE_Last</A></span>              : <b>constant</b> := 3;
-   <span class="symbol"><A NAME="ref_364_4">TRACE_CHARPUT_First</A></span>          : <b>constant</b> := 4;
-   <span class="symbol"><A NAME="ref_365_4">TRACE_CHARPUT_Last</A></span>           : <b>constant</b> := 4;
-   <span class="symbol"><A NAME="ref_366_4">TRACE_CALLS_First</A></span>            : <b>constant</b> := 5;
-   <span class="symbol"><A NAME="ref_367_4">TRACE_CALLS_Last</A></span>             : <b>constant</b> := 5;
-   <span class="symbol"><A NAME="ref_368_4">TRACE_VIRTPUT_First</A></span>          : <b>constant</b> := 6;
-   <span class="symbol"><A NAME="ref_369_4">TRACE_VIRTPUT_Last</A></span>           : <b>constant</b> := 6;
-   <span class="symbol"><A NAME="ref_370_4">TRACE_IEVENT_First</A></span>           : <b>constant</b> := 7;
-   <span class="symbol"><A NAME="ref_371_4">TRACE_IEVENT_Last</A></span>            : <b>constant</b> := 7;
-   <span class="symbol"><A NAME="ref_372_4">TRACE_BITS_First</A></span>             : <b>constant</b> := 8;
-   <span class="symbol"><A NAME="ref_373_4">TRACE_BITS_Last</A></span>              : <b>constant</b> := 8;
-   <span class="symbol"><A NAME="ref_374_4">TRACE_ICALLS_First</A></span>           : <b>constant</b> := 9;
-   <span class="symbol"><A NAME="ref_375_4">TRACE_ICALLS_Last</A></span>            : <b>constant</b> := 9;
-   <span class="symbol"><A NAME="ref_376_4">TRACE_CCALLS_First</A></span>           : <b>constant</b> := 10;
-   <span class="symbol"><A NAME="ref_377_4">TRACE_CCALLS_Last</A></span>            : <b>constant</b> := 10;
-   <span class="symbol"><A NAME="ref_378_4">TRACE_DATABASE_First</A></span>         : <b>constant</b> := 11;
-   <span class="symbol"><A NAME="ref_379_4">TRACE_DATABASE_Last</A></span>          : <b>constant</b> := 11;
-   <span class="symbol"><A NAME="ref_380_4">TRACE_ATTRS_First</A></span>            : <b>constant</b> := 12;
-   <span class="symbol"><A NAME="ref_381_4">TRACE_ATTRS_Last</A></span>             : <b>constant</b> := 12;
-   <span class="symbol"><A NAME="ref_382_4">Trace_Size</A></span>                   : <b>constant</b> := 32;
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>;
-</PRE></BODY></HTML>
+   <span class="symbol"><a name="ref_356_4">TRACE_TIMES_First</a></span>            : <b>constant</b> := 0;
+   <span class="symbol"><a name="ref_357_4">TRACE_TIMES_Last</a></span>             : <b>constant</b> := 0;
+   <span class="symbol"><a name="ref_358_4">TRACE_TPUTS_First</a></span>            : <b>constant</b> := 1;
+   <span class="symbol"><a name="ref_359_4">TRACE_TPUTS_Last</a></span>             : <b>constant</b> := 1;
+   <span class="symbol"><a name="ref_360_4">TRACE_UPDATE_First</a></span>           : <b>constant</b> := 2;
+   <span class="symbol"><a name="ref_361_4">TRACE_UPDATE_Last</a></span>            : <b>constant</b> := 2;
+   <span class="symbol"><a name="ref_362_4">TRACE_MOVE_First</a></span>             : <b>constant</b> := 3;
+   <span class="symbol"><a name="ref_363_4">TRACE_MOVE_Last</a></span>              : <b>constant</b> := 3;
+   <span class="symbol"><a name="ref_364_4">TRACE_CHARPUT_First</a></span>          : <b>constant</b> := 4;
+   <span class="symbol"><a name="ref_365_4">TRACE_CHARPUT_Last</a></span>           : <b>constant</b> := 4;
+   <span class="symbol"><a name="ref_366_4">TRACE_CALLS_First</a></span>            : <b>constant</b> := 5;
+   <span class="symbol"><a name="ref_367_4">TRACE_CALLS_Last</a></span>             : <b>constant</b> := 5;
+   <span class="symbol"><a name="ref_368_4">TRACE_VIRTPUT_First</a></span>          : <b>constant</b> := 6;
+   <span class="symbol"><a name="ref_369_4">TRACE_VIRTPUT_Last</a></span>           : <b>constant</b> := 6;
+   <span class="symbol"><a name="ref_370_4">TRACE_IEVENT_First</a></span>           : <b>constant</b> := 7;
+   <span class="symbol"><a name="ref_371_4">TRACE_IEVENT_Last</a></span>            : <b>constant</b> := 7;
+   <span class="symbol"><a name="ref_372_4">TRACE_BITS_First</a></span>             : <b>constant</b> := 8;
+   <span class="symbol"><a name="ref_373_4">TRACE_BITS_Last</a></span>              : <b>constant</b> := 8;
+   <span class="symbol"><a name="ref_374_4">TRACE_ICALLS_First</a></span>           : <b>constant</b> := 9;
+   <span class="symbol"><a name="ref_375_4">TRACE_ICALLS_Last</a></span>            : <b>constant</b> := 9;
+   <span class="symbol"><a name="ref_376_4">TRACE_CCALLS_First</a></span>           : <b>constant</b> := 10;
+   <span class="symbol"><a name="ref_377_4">TRACE_CCALLS_Last</a></span>            : <b>constant</b> := 10;
+   <span class="symbol"><a name="ref_378_4">TRACE_DATABASE_First</a></span>         : <b>constant</b> := 11;
+   <span class="symbol"><a name="ref_379_4">TRACE_DATABASE_Last</a></span>          : <b>constant</b> := 11;
+   <span class="symbol"><a name="ref_380_4">TRACE_ATTRS_First</a></span>            : <b>constant</b> := 12;
+   <span class="symbol"><a name="ref_381_4">TRACE_ATTRS_Last</a></span>             : <b>constant</b> := 12;
+   <span class="symbol"><a name="ref_382_4">Trace_Size</a></span>                   : <b>constant</b> := 32;
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>;
+</pre></body></html>
diff --git a/doc/html/ada/terminal_interface__ads.htm b/doc/html/ada/terminal_interface__ads.htm
index b6f6d9f..6876bd0 100644
--- a/doc/html/ada/terminal_interface__ads.htm
+++ b/doc/html/ada/terminal_interface__ads.htm
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<TITLE>terminal_interface.ads</TITLE>
+<html>
+<head>
+<title>terminal_interface.ads</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <style type="text/css">
 *.comment {
@@ -11,55 +11,56 @@
 	color: red;
 }
 </style>
-</HEAD>
-<BODY>
-<HR><DIV style="text-align:center"><H1> File : terminal_interface.ads </H1></DIV><HR>
-<PRE>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                            Terminal_Interface                            --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>--                                 S P E C                                  --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998,2006 Free Software Foundation, Inc.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
-<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
-<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
-<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
-<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
-<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
-<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
-<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
-<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
-<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
-<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
-<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
-<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
-<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
-<span class="comment"><EM>--                                                                          --</EM></span>
-<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
-<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
-<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
-<span class="comment"><EM>-- authorization.                                                           --</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
-<span class="comment"><EM>--  Version Control:</EM></span>
-<span class="comment"><EM>--  @Revision: 1.14 @</EM></span>
-<span class="comment"><EM>--  @Date: 2006/06/25 14:30:22 @</EM></span>
-<span class="comment"><EM>--  Binding Version 01.00</EM></span>
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>package</b> <span class="symbol"><A NAME="ref_42_9">Terminal_Interface</A></span> <b>is</b>
-   <b>pragma</b> Pure (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>);
-<span class="comment"><EM>--</EM></span>
-<span class="comment"><EM>--  Everything is in the child units</EM></span>
-<span class="comment"><EM>--</EM></span>
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>;
-</PRE></BODY></HTML>
+</head>
+<body>
+<hr><div style="text-align:center"><h1> File : terminal_interface.ads </h1></div><hr>
+<pre>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                            Terminal_Interface                            --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>--                                 S P E C                                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
+<span class="comment"><em>-- Copyright 1999-2003,2006 Free Software Foundation, Inc.                  --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
+<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
+<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
+<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
+<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
+<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
+<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
+<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
+<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
+<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
+<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
+<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
+<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
+<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
+<span class="comment"><em>--                                                                          --</em></span>
+<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
+<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
+<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
+<span class="comment"><em>-- authorization.                                                           --</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
+<span class="comment"><em>--  Version Control:</em></span>
+<span class="comment"><em>--  @Revision: 1.15 @</em></span>
+<span class="comment"><em>--  @Date: 2020/02/02 23:34:34 @</em></span>
+<span class="comment"><em>--  Binding Version 01.00</em></span>
+<span class="comment"><em>------------------------------------------------------------------------------</em></span>
+<b>package</b> <span class="symbol"><a name="ref_43_9">Terminal_Interface</a></span> <b>is</b>
+   <b>pragma</b> Pure (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>);
+<span class="comment"><em>--</em></span>
+<span class="comment"><em>--  Everything is in the child units</em></span>
+<span class="comment"><em>--</em></span>
+<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>;
+</pre></body></html>
diff --git a/doc/html/announce.html b/doc/html/announce.html
index 694848a..2aa03cf 100644
--- a/doc/html/announce.html
+++ b/doc/html/announce.html
@@ -1,7 +1,7 @@
 <!--
-  @Id: announce.html.in,v 1.90 2015/08/08 18:39:58 tom Exp @
+  $Id: announce.html,v 1.70 2024/04/27 18:38:45 tom Exp $
   ****************************************************************************
-  * Copyright (c) 1998-2013,2015 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -28,43 +28,53 @@
   * authorization.                                                           *
   ****************************************************************************
 -->
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <html>
 <head>
   <meta name="generator" content=
-  "HTML Tidy for Linux (vers 25 March 2009), see www.w3.org">
-
-  <title>Announcing ncurses 6.0</title>
-  <link rev="made" href="mailto:bug-ncurses@gnu.org">
+  "HTML Tidy for HTML5 for Linux version 5.6.0">
+  <title>Announcing ncurses 6.5</title>
+  <link rel="author" href="mailto:bug-ncurses@gnu.org">
   <meta http-equiv="Content-Type" content=
   "text/html; charset=us-ascii">
   <style type="text/css">
-p,li { max-width:700px; }
+  p,li { max-width:700px; }
   dd { max-width:630px; }
+  *.main-name {
+        font-style: italic;
+        font-variant: small-caps;
+  }
+  *.part-name {
+        font-family: "Andale Mono", "Monotype.com", monospace;
+        font-size: 12pt;
+        font-weight: bold;
+  }
+  *.demo-name {
+        font-family: "Andale Mono", "Monotype.com", monospace;
+        font-size: 10pt;
+  }
   </style>
 </head>
-
 <body>
-  <h1 class="no-header">Announcing ncurses 6.0</h1>
+  <h1 class="no-header">Announcing ncurses 6.5</h1>
 
   <h2><a name="h2-overview" id="h2-overview">Overview</a></h2>
 
-  <p>The <em class="small-caps">ncurses</em> (new curses) library
-  is a free software emulation of curses in System V Release 4.0
-  (SVr4), and more. It uses terminfo format, supports pads and
-  color and multiple highlights and forms characters and
+  <p>The <span class="main-name">ncurses</span> (new curses)
+  library is a free software emulation of curses in System V
+  Release 4.0 (SVr4), and more. It uses terminfo format, supports
+  pads and color and multiple highlights and forms characters and
   function-key mapping, and has all the other SVr4-curses
-  enhancements over BSD curses. SVr4 curses is better known today
-  as X/Open Curses.</p>
+  enhancements over BSD curses. SVr4 curses became the basis of
+  X/Open Curses.</p>
 
   <p>In mid-June 1995, the maintainer of 4.4BSD curses declared
   that he considered 4.4BSD curses obsolete, and encouraged the
-  keepers of <em class="small-caps">unix</em> releases such as
-  BSD/OS, FreeBSD and NetBSD to switch over to <em class=
-  "small-caps">ncurses</em>.</p>
+  keepers of <span class="main-name">unix</span> releases such as
+  BSD/OS, FreeBSD and NetBSD to switch over to <span class=
+  "main-name">ncurses</span>.</p>
 
-  <p>Since 1995, <em class="small-caps">ncurses</em> has been
+  <p>Since 1995, <span class="main-name">ncurses</span> has been
   ported to many systems:</p>
 
   <ul>
@@ -72,986 +82,605 @@
     (aside from some embedded applications).</li>
 
     <li>It is used as the system curses library on OpenBSD, FreeBSD
-    and OSX.</li>
+    and MacOS.</li>
 
     <li>It is used in environments such as Cygwin and MinGW. The
     first of these was EMX on OS/2 Warp.</li>
 
     <li>It is used (though usually not as the <em>system</em>
-    curses) on all of the vendor <em class="small-caps">unix</em>
-    systems, e.g., AIX, HP-UX, IRIX64, SCO, Solaris, Tru64.</li>
+    curses) on all of the vendor <span class=
+    "main-name">unix</span> systems, e.g., AIX, HP-UX, IRIX64, SCO,
+    Solaris, Tru64.</li>
 
     <li>It should work readily on any ANSI/POSIX-conforming
-    <em class="small-caps">unix</em>.</li>
+    <span class="main-name">unix</span>.</li>
   </ul>
 
   <p>The distribution includes the library and support utilities,
   including</p>
 
   <ul>
-    <li><a href=
-    "http://invisible-island.net/ncurses/man/captoinfo.1m.html">captoinfo</a>,
-    a termcap conversion tool</li>
+    <li><a href="https://invisible-island.net/ncurses/man/captoinfo.1m.html"><span class=
+    "part-name">captoinfo</span></a>, a termcap conversion
+    tool</li>
 
-    <li><a href=
-    "http://invisible-island.net/ncurses/man/clear.1.html">clear</a>,
-    utility for clearing the screen</li>
+    <li><a href="https://invisible-island.net/ncurses/man/clear.1.html"><span class=
+    "part-name">clear</span></a>, utility for clearing the
+    screen</li>
 
-    <li><a href=
-    "http://invisible-island.net/ncurses/man/infocmp.1m.html">infocmp</a>,
-    the terminfo decompiler</li>
+    <li><a href="https://invisible-island.net/ncurses/man/infocmp.1m.html"><span class=
+    "part-name">infocmp</span></a>, the terminfo decompiler</li>
 
-    <li><a href=
-    "http://invisible-island.net/ncurses/man/tabs.1.html">tabs</a>,
-    set tabs on a terminal</li>
+    <li><a href="https://invisible-island.net/ncurses/man/tabs.1.html"><span class=
+    "part-name">tabs</span></a>, set tabs on a terminal</li>
 
-    <li><a href=
-    "http://invisible-island.net/ncurses/man/tic.1m.html">tic</a>,
-    the terminfo compiler</li>
+    <li><a href="https://invisible-island.net/ncurses/man/tic.1m.html"><span class=
+    "part-name">tic</span></a>, the terminfo compiler</li>
 
-    <li><a href=
-    "http://invisible-island.net/ncurses/man/toe.1m.html">toe</a>,
-    list (table of) terminfo entries</li>
+    <li><a href="https://invisible-island.net/ncurses/man/toe.1m.html"><span class=
+    "part-name">toe</span></a>, list (table of) terminfo
+    entries</li>
 
-    <li><a href=
-    "http://invisible-island.net/ncurses/man/tput.1.html">tput</a>,
-    utility for retrieving terminal capabilities in shell
-    scripts</li>
+    <li><a href="https://invisible-island.net/ncurses/man/tput.1.html"><span class=
+    "part-name">tput</span></a>, utility for retrieving terminal
+    capabilities in shell scripts</li>
 
-    <li><a href=
-    "http://invisible-island.net/ncurses/man/tset.1.html">tset</a>,
-    to initialize the terminal</li>
+    <li><a href="https://invisible-island.net/ncurses/man/tset.1.html"><span class=
+    "part-name">tset</span></a>, to initialize the terminal</li>
   </ul>
 
   <p>Full manual pages are provided for the library and tools.</p>
 
-  <p>The <em class="small-caps">ncurses</em> distribution is
-  available via anonymous FTP at the GNU distribution site</p>
+  <p>The <span class="main-name">ncurses</span> distribution is
+  available at <span class="main-name">ncurses</span>' <a href=
+  "https://invisible-island.net/ncurses/">homepage</a>:</p>
 
   <blockquote>
     <p><a href=
-    "ftp://ftp.gnu.org/gnu/ncurses/">ftp://ftp.gnu.org/gnu/ncurses/</a>&nbsp;.</p>
-  </blockquote>It is also available at
+    "https://invisible-island.net/archives/ncurses/">https://invisible-island.net/archives/ncurses/</a>
+    or<br>
+    <a href=
+    "https://invisible-mirror.net/archives/ncurses/">https://invisible-mirror.net/archives/ncurses/</a>&nbsp;.</p>
+  </blockquote>
+
+  <p>It is also available at the GNU distribution site</p>
 
   <blockquote>
     <p><a href=
-    "ftp://invisible-island.net/ncurses/">ftp://invisible-island.net/ncurses/</a>&nbsp;.</p>
+    "https://ftp.gnu.org/gnu/ncurses/">https://ftp.gnu.org/gnu/ncurses/</a>&nbsp;.</p>
   </blockquote>
 
   <h2><a name="h2-release-notes" id="h2-release-notes">Release
   Notes</a></h2>
 
-  <p>These notes are for <em class="small-caps">ncurses</em>
-  6.0, released <strong>August 8, 2015</strong>.</p>
+  <p>These notes are for <span class="main-name">ncurses</span>
+  6.5, released <strong>April 27, 2024</strong>.</p>
 
   <p>This release is designed to be source-compatible with
-  <em class="small-caps">ncurses</em> 5.0 through 5.9; providing a
-  new application binary interface (ABI). Although the source can
-  still be configured to support the <em class=
-  "small-caps">ncurses</em> 5 ABI, the intent of the release is to
-  provide extensions which are generally useful, but
-  binary-incompatible with <em class="small-caps">ncurses</em>
-  5:</p>
+  <span class="main-name">ncurses</span> 5.0 through 6.4; providing
+  extensions to the application binary interface (ABI). Although
+  the source can still be configured to support the <span class=
+  "main-name">ncurses</span> 5 ABI, the reason for the release is
+  to reflect improvements to the <span class=
+  "main-name">ncurses</span> 6 ABI and the supporting utility
+  programs.</p>
+
+  <p>There are, of course, numerous other improvements, listed in
+  this announcement.</p>
+
+  <p>The most <a href="#h3-bug-fixes">important
+  bug-fixes/improvements</a> dealt with robustness issues. The
+  release notes also mention some other bug-fixes, but are focused
+  on new features and improvements to existing features since
+  <span class="main-name">ncurses</span> 6.4 release.</p>
+
+  <h3><a name="h3-library" id="h3-library">Library improvements</a></h3>
+
+  <h4><a name="h4-new-library" id="h4-new-library">New features</a></h4>
+
+  <p>These are new features:</p>
 
   <ul>
     <li>
-      <p>Extend the <code>cchar_t</code> structure to allow more
-      than 16 colors to be encoded.</p>
-    </li>
+      <p>The low-level terminfo and termcap interfaces are used
+      both by the higher-level curses library, as well as by many
+      applications.</p>
 
-    <li>
-      <p>Modify the encoding of mouse state to make room for a 5th
-      mouse button. That allows one to use <em class=
-      "small-caps">ncurses</em> with a wheel mouse with xterm or
-      similar X terminal emulators.</p>
-    </li>
-  </ul>
+      <p>The functions which convert parameterized terminal
+      capability strings for output to the terminal
+      (<code>tiparm</code> and <code>tparm</code>) analyze the
+      capability string to determine which parameters are strings
+      (i.e., addresses), versus numbers (not addresses).</p>
 
-  <p>There are, of course, numerous other improvements,
-  including</p>
+      <p>The library's analysis of a capability string may differ
+      from the calling application's design if environment
+      variables are used to point to an invalid terminal database.
+      This is a longstanding problem with <em>all</em>
+      implementations of terminfo, dating from the early 1980s.</p>
 
-  <ul>
-    <li>
-      <p>fixes made based on the Clang and Coverity static
-      analyzers.</p>
-    </li>
-
-    <li>
-      <p>memory leak fixes using Valgrind</p>
-    </li>
-  </ul>
-
-  <p>The release notes mention some bug-fixes, but are focused on
-  new features and improvements to existing features log since
-  <em class="small-caps">ncurses</em> 5.9 release.</p>
-
-  <p>While the intent of the release is to provide a new stable
-  ABI, there are other development activities which are summarized
-  below.</p>
-
-  <ul>
-    <li>
-      <p>The original release plan, e.g., for "5.10" was to improve
-      the MinGW port. Ultimately that was completed (wide-character
-      support, mouse, etc), but was deferred to focus on termcap
-      support and performance issues. Also, pinpointing the
-      problems with <code>Console2</code> took a while.</p>
-    </li>
-
-    <li>
-      <p>A review of termcap compatibility in 2011 led to several
-      minor fixes in the library and improvements to utilities. To
-      do this properly, a review of the various extent termcap
-      implementations was needed.</p>
-
-      <p>The <a href=
-      "http://invisible-island.net/ncurses/tctest.html">termcap
-      library checker (tctest)</a> (not part of <em class=
-      "small-caps">ncurses</em>) was one result. A followup review
-      of performance using <a href=
-      "http://invisible-island.net/ncurses/ncurses-examples.html">ncurses-examples</a>
-      in 2014 led to additional improvements.</p>
-    </li>
-
-    <li>
-      <p>Output buffering provided a further, but worthwhile
-      distraction. A bug report in 2012 regarding the use of signal
-      handlers in <em class="small-caps">ncurses</em>) pointed out
-      <a href=
-      "http://lists.gnu.org/archive/html/bug-ncurses/2012-07/msg00029.html">
-      a problem</a> with the use of unsafe functions for handling
-      <code>SIGTSTP</code>. Other signals could be addressed with
-      workarounds; repairing <code>SIGTSTP</code> required a
-      different approach. The solution required changing internal
-      behavior of the library: how it handles output buffering.</p>
-
-      <p>Now <em class="small-caps">ncurses</em> buffers its own
-      output, independently of the standard output. A few
-      applications relied upon the library's direct reuse of the
-      standard output buffering; however that is
-      <em>unspecified</em> behavior and has never been a
-      recommended practice. Identifying these applications as well
-      as refining the change to permit low-level applications to
-      work consistently took time.</p>
-    </li>
-
-    <li>
-      <p>Since the introduction of the experimental support for 256
-      colors early in <a href=
-      "http://invisible-island.net/ncurses/NEWS.html#t20050101">2005</a>
-      (released in <a href=
-      "http://invisible-island.net/ncurses/announce-5.5.html">ncurses
-      5.5</a>), there has been increased user interest. Almost all
-      packagers continue providing the ncurses ABI 5 which cannot
-      support 256 colors.</p>
-    </li>
-
-    <li>
-      <p>Symbol versioning, or the lack of it in ncurses, is the
-      main reason why packagers would be reluctant to add a new
-      ncurses ABI.</p>
-
-      <p>This release provides the new ABI along with
-      script-generated lists of versioned symbols which can be used
-      for both ABI 5 and 6 (with distinct names to keep the two
-      separate). This took time to development, as reported in
-      <a href=
-      "http://invisible-island.net/ncurses/ncurses-mapsyms.html">Symbol
-      versioning in <em class="small-caps">ncurses</em></a>.</p>
-    </li>
-  </ul>
-
-  <h3><a name="h3-library" id="h3-library">Library
-  improvements</a></h3>
-
-  <h3><a name="h3-lib-setbuf" id="h3-lib-setbuf">Output
-  buffering</a></h3>
-
-  <p>X/Open curses provides more than one initialization
-  function:</p>
-
-  <ul>
-    <li><a href=
-    "http://invisible-island.net/ncurses/man/curs_initscr.3x.html#h3-initscr">
-    initscr</a> (the simplest) accepts no parameters.</li>
-
-    <li><a href=
-    "http://invisible-island.net/ncurses/man/curs_initscr.3x.html#h3-newterm">
-    newterm</a> accepts parameters for the stream input and
-    output</li>
-
-    <li><a href=
-    "http://invisible-island.net/ncurses/man/curs_terminfo.3x.html#h3-Initialization">
-    setupterm</a> (the low-level function) accepts a parameter for
-    the <em>file descriptor</em> of the output.</li>
-  </ul>
-
-  <p>They are documented in X/Open <em>as if</em>
-  <code>initscr</code> calls <code>newterm</code> using
-  <code>stdout</code> for output stream, and in turn
-  <code>newterm</code> calls <code>setupterm</code> using
-  <code>fileno(stdout)</code> for the file descriptor. As long as
-  an implementation acts <em>as if</em> it does this, it conforms.
-  In practice, implementations do what is implied. This creates a
-  problem: the low-level <code>setupterm</code> function's file
-  descriptor is unbuffered, while <code>newterm</code> implies
-  buffered output. X/Open Curses says that all output is done
-  through the file descriptor, and does not say how the output
-  stream is actually used.</p>
-
-  <p>Initially, <em class="small-caps">ncurses</em> used the file
-  descriptor (obtained from the output stream passed to
-  <code>newterm</code>) for changing the terminal modes, and relied
-  upon the output parameter of <code>newterm</code> for buffered
-  output. Later (to avoid using unsafe buffered I/O in signal
-  handlers), <em class="small-caps">ncurses</em> was modified to
-  use the file descriptor (unbuffered output) when cleaning up on
-  receipt of a signal. Otherwise (when not handling a signal), it
-  continued to use the buffered output.</p>
-
-  <p>That approach worked reasonably well and as a side effect,
-  using the same buffered output as an application might use for
-  <code>printf</code> meant that no flushing was needed when
-  switching between normal- and screen-modes.</p>
-
-  <p>There were a couple of problems:</p>
-
-  <ul>
-    <li>
-      <p>to get good performance, curses (not only <em class=
-      "small-caps">ncurses</em>, but SVr4 curses in general) set an
-      output buffer using <code>setbuf</code> or similar function.
-      There is no standard (or portable) way to turn that output
-      buffer off, and revert to line-buffering. The <code><a href=
-      "http://invisible-island.net/ncurses/man/ncurses.3x.html#h3-NCURSES_NO_SETBUF">
-      NCURSES_NO_SETBUF</a></code> environment variable did make it
-      optional.</p>
-    </li>
-
-    <li>
-      <p>to handle <code>SIGTSTP</code> (the &ldquo;stop&rdquo;
-      signal), <em class="small-caps">ncurses</em> relied upon
-      unsafe functions. That is, due to the complexity of the
-      feature, it relied upon reusing existing functions which
-      should not have been called via the signal handler.</p>
-    </li>
-  </ul>
-
-  <p>Conveniently, solving the second problem (by making <em class=
-  "small-caps">ncurses</em> do its <em>own</em> output buffering)
-  also fixed the first one. But there were special cases to
-  resolve: <a href=
-  "http://invisible-island.net/ncurses/man/curs_terminfo.3x.html"><em>
-  low-level</em></a> functions such as mvcur, putp, vidattr
-  explicitly use the standard output. Those functions were reused
-  internally, and required modification to distinguish whether they
-  were used by the high-level or low-level interfaces.</p>
-
-  <p>Finally, there may still be a few programs which should be
-  modified to improve their portability, e.g., adding an</p>
-
-  <blockquote>
-    <pre class="code-block">
-fflush(stdout);
-</pre>
-  </blockquote>
-
-  <p>when switching from &ldquo;<a href=
-  "http://invisible-island.net/ncurses/man/curs_kernel.3x.html#h3-reset_prog_mode_-reset_shell_mode">shell</a>&rdquo;
-  mode to &ldquo;<a href=
-  "http://invisible-island.net/ncurses/man/curs_kernel.3x.html#h3-reset_prog_mode_-reset_shell_mode">program</a>&rdquo;
-  (curses) mode. Those are fairly rare because most programmers
-  have learned not to mix <code>printf</code> and <code><a href=
-  "http://invisible-island.net/ncurses/man/curs_printw.3x.html">printw</a></code>.</p>
-
-  <h3><a name="h3-lib-versioning" id="h3-lib-versioning">Symbol
-  versioning</a></h3>
-
-  <p>This release introduces symbol-versioning to <em class=
-  "small-caps">ncurses</em> because without it, the change of ABI
-  would be less successful. A lengthy discussion will be presented
-  in <a href=
-  "http://invisible-island.net/ncurses/ncurses-mapsyms.html">Symbol
-  versioning in <em class="small-caps">ncurses</em></a>. These
-  notes summarize what has changed, and what can be done with the
-  new release.</p>
-
-  <p>Symbol-versioning allows the developers of a library to mark
-  each public symbol (both data and functions) with an identifier
-  denoting the library name and the version for which it was built.
-  By doing this, users of the library have a way to help ensure
-  that applications do not accidentally load an incompatible
-  library. In addition, private symbols can be hidden entirely.</p>
-
-  <p>This release provides sample files for the four principal
-  configurations of <em class="small-caps">ncurses</em> libraries:
-  <code>ncurses</code>, <code>ncursesw</code>,
-  <code>ncursest</code> and <code>ncursestw</code>. Each sample is
-  given in two forms:</p>
-
-  <blockquote>
-    <dl>
-      <dt>&ldquo;<code>.map</code>&rdquo;</dt>
-
-      <dd>These list all public symbols, together with version
-      names.</dd>
-
-      <dt>&ldquo;<code>.sym</code>&rdquo;</dt>
-
-      <dd>These list all public symbols, without version
-      names.</dd>
-    </dl>
-  </blockquote>
-
-  <p>The sample files are <em>generated</em> by scripts which take
-  into account a few special cases such as <a href=
-  "http://invisible-island.net/ncurses/tack.html">tack</a> to omit
-  many of the <em class="small-caps">ncurses</em> private symbols
-  (beginning with &ldquo;<code>_nc_</code>&rdquo;). Here are
-  counts of globals versus locals:</p>
-
-  <blockquote>
-    <table border="1" summary="Total global and local symbols">
-      <tr>
-        <th>Config</th>
-
-        <th>Symbols</th>
-
-        <th>Globals</th>
-
-        <th>Locals</th>
-
-        <th>"_nc_"</th>
-      </tr>
-
-      <tr>
-        <td>ncurses</td>
-
-        <td align="right">976</td>
-
-        <td align="right">796</td>
-
-        <td align="right">180</td>
-
-        <td align="right">332</td>
-      </tr>
-
-      <tr>
-        <td>ncursesw</td>
-
-        <td align="right">1089</td>
-
-        <td align="right">905</td>
-
-        <td align="right">184</td>
-
-        <td align="right">343</td>
-      </tr>
-
-      <tr>
-        <td>ncursest</td>
-
-        <td align="right">979</td>
-
-        <td align="right">804</td>
-
-        <td align="right">175</td>
-
-        <td align="right">358</td>
-      </tr>
-
-      <tr>
-        <td>ncursestw</td>
-
-        <td align="right">1098</td>
-
-        <td align="right">914</td>
-
-        <td align="right">184</td>
-
-        <td align="right">372</td>
-      </tr>
-    </table>
-  </blockquote>
-
-  <p>Although only four sample configurations are presented, each
-  is formed by merging symbols from several combinations of
-  configure-script options, taking into account advice from
-  downstream packagers. Because they are formed by merging, the
-  sample files may list a symbol which is not in a given package.
-  That is expected. The samples have been tested and are working
-  with systems (such as Fedora, FreeBSD and Debian) which fully
-  support this feature. There are other systems which do
-  <em>not</em> support the feature, and a few (such as Solaris)
-  which provide incomplete support.</p>
-
-  <p>The version-naming convention used allows these sample files
-  to build distinct libraries for ABI 5 and 6. Version names
-  consist of</p>
-
-  <ul>
-    <li>
-      <p>configuration name, e.g.,
-      &ldquo;<code>NCURSESW</code>&rdquo; for the wide-character
-      libraries</p>
-    </li>
-
-    <li>
-      <p>ABI version (if not 5)</p>
-    </li>
-
-    <li>
-      <p>library name for two special cases which have the same
-      interface across configurations:
-      &ldquo;<code>TINFO</code>&rdquo; and
-      &ldquo;<code>TIC</code>&rdquo;</p>
-    </li>
-
-    <li>
-      <p>release version</p>
-    </li>
-
-    <li>
-      <p>patch date (for the release version)</p>
-    </li>
-  </ul>
-
-  <p>For example, running <code>nm -D</code> on the libraries in
-  the ncurses6 test package shows these symbol-versions:</p>
-
-  <blockquote>
-    <pre class="code-block">
-0000000000000000 A NCURSES6_TIC_5.0.19991023
-0000000000000000 A NCURSES6_TIC_5.1.20000708
-0000000000000000 A NCURSES6_TIC_5.5.20051010
-0000000000000000 A NCURSES6_TIC_5.7.20081102
-0000000000000000 A NCURSES6_TIC_5.9.20150530
-0000000000000000 A NCURSES6_TINFO_5.0.19991023
-0000000000000000 A NCURSES6_TINFO_5.1.20000708
-0000000000000000 A NCURSES6_TINFO_5.2.20001021
-0000000000000000 A NCURSES6_TINFO_5.3.20021019
-0000000000000000 A NCURSES6_TINFO_5.4.20040208
-0000000000000000 A NCURSES6_TINFO_5.5.20051010
-0000000000000000 A NCURSES6_TINFO_5.6.20061217
-0000000000000000 A NCURSES6_TINFO_5.7.20081102
-0000000000000000 A NCURSES6_TINFO_5.8.20110226
-0000000000000000 A NCURSES6_TINFO_5.9.20150530
-0000000000000000 A NCURSESW6_5.1.20000708
-0000000000000000 A NCURSESW6_5.3.20021019
-0000000000000000 A NCURSESW6_5.4.20040208
-0000000000000000 A NCURSESW6_5.5.20051010
-0000000000000000 A NCURSESW6_5.6.20061217
-0000000000000000 A NCURSESW6_5.7.20081102
-0000000000000000 A NCURSESW6_5.8.20110226
-0000000000000000 A NCURSESW6_5.9.20150530
-</pre>
-  </blockquote>
-
-  <p>As a special case, this release (which makes the final change
-  for ABI 5) is marked with release version 5.9 and patch date
-  20150530.</p>
-
-  <h3><a name="h3-lib-other" id=
-  "h3-lib-other">Miscellaneous</a></h3>
-
-  <p>The new release has several improvements for performance and
-  building. For instance:</p>
-
-  <ul>
-    <li>
-      <p>several files in ncurses- and progs-directories were
-      modified to allow <code>const</code> data used in internal
-      tables to be put by the linker into the readonly text
-      segment.</p>
-    </li>
-
-    <li>
-      <p>various improvements were made to building the Ada95
-      binding, both in simplifying the generated files as well as
-      improving the way it uses <code>gnatmake</code></p>
-    </li>
-  </ul>
-
-  <p>There are also new features in the libraries:</p>
-
-  <ul>
-    <li>added <a href=
-    "http://invisible-island.net/ncurses/man/curs_util.3x.html#h3-use_tioctl">
-    use_tioctl</a> function</li>
-
-    <li>
-      <p>added <a href=
-      "http://invisible-island.net/ncurses/man/curs_opaque.3x.html">
-      wgetdelay</a> to retrieve _delay member of WINDOW if it
-      happens to be opaque, e.g., in the pthread configuration.</p>
-    </li>
-
-    <li>
-      <p>added <a href=
-      "http://invisible-island.net/ncurses/man/curs_attr.3x.html#h2-PORTABILITY">
-      A_ITALIC</a> extension.</p>
-    </li>
-
-    <li>
-      <p>added form library extension <a href=
-      "http://invisible-island.net/ncurses/man/form_field_opts.3x.html">
-      O_DYNAMIC_JUSTIFY</a> option which can be used to override
-      the different treatment of justification for static versus
-      dynamic fields .</p>
-    </li>
-
-    <li>
-      <p>rewrote <a href=
-      "http://invisible-island.net/ncurses/man/curs_util.3x.html#h3-putwin_getwin">
-      putwin</a> and <a href=
-      "http://invisible-island.net/ncurses/man/curs_util.3x.html#h3-putwin_getwin">
-      getwin</a>, making an extended version which is capable of
-      reading screen-dumps between the wide/normal <em class=
-      "small-caps">ncurses</em> configurations. These are text
-      files, except for a <em>magic</em> code at the beginning:</p>
-
-      <blockquote>
-        <pre class="code-block">
-0       string          \210\210        Screen-dump (ncurses)
-</pre>
-      </blockquote>
-    </li>
-
-    <li>
-      <p>several changes to mouse support include:</p>
+      <p>Two new functions address this problem: by providing a
+      function which allows the calling application to tell ncurses
+      how many string-parameters to expect:</p>
 
       <ul>
-        <li>added decoder for xterm SGR 1006 mouse mode.</li>
+        <li><code>tiscan_s</code> helps applications check
+        formatting capabilities that would be passed to
+        <code>tiparm_s</code>.</li>
 
-        <li>added experimental support for
-        &ldquo;<code>%u</code>&rdquo; format to terminfo.</li>
-
-        <li>improved behavior of wheel-mice for xterm protocol:
-        noting that there are only button-presses for buttons
-        &ldquo;4&rdquo; and &ldquo;5&rdquo;, so there is no need to
-        wait to combine events into double-clicks .</li>
+        <li><code>tiparm_s</code> provides applications a way to
+        tell ncurses what the expected parameters are for a
+        capability.</li>
       </ul>
     </li>
+
+    <li>
+      <p>The ncurses library supports a compile-time feature
+      (enabled with the configure <code>--enable-check-size</code>
+      option) which simplifies initialization with terminals which
+      do not negotiate window (screen) size. This is done in
+      <code>setupterm</code>, by providing for using ANSI
+      cursor-position report (in user6/user7 terminfo capabilities)
+      to obtain the screen size if neither environment variables or
+      ioctl is used.</p>
+
+      <p>The ncurses test-program with options
+      &ldquo;<code>-E&nbsp;-T</code>&rdquo; demonstrates this
+      feature.</p>
+    </li>
+
+    <li>add functions to query tty-flags in
+    <code>SCREEN</code></li>
   </ul>
 
-  <p>There are a few new configure options dealing with library
-  customization:</p>
+  <p>This release drops compatibility with obsolete versions of
+  <a href="https://invisible-island.net/ncurses/tack/">tack</a>, e.g., pre-1.08</p>
+
+  <h4><a name="h4-fixes-library" id="h4-fixes-library">Other
+  improvements</a></h4>
+
+  <p>These are improvements to existing features:</p>
 
   <ul>
     <li>
-      <p>add &ldquo;<code>--enable-ext-putwin</code>&rdquo;
-      configure option to turn on the extended putwin/getwin. By
-      default, this is enabled for ABI 6 and disabled with ABI
-      5.</p>
+      <p>In addition to the new, safer function
+      <code>tiparm_s</code>, ncurses adds checks to make the older
+      <code>tiparm</code>, <code>tparm</code> and
+      <code>tgoto</code> functions safer:</p>
+
+      <ul>
+        <li>
+          <p>the terminfo functions <code>tiparm</code> and
+          <code>tparm</code> ensure that the capability string
+          comes from the terminal description which ncurses loads,
+          rather than from random data which the application
+          happens to have.</p>
+        </li>
+
+        <li>
+          <p>the <code>tgoto</code> function disallows capabilities
+          which its analysis shows will attempt to use string
+          parameters.</p>
+        </li>
+
+        <li>
+          <p>ncurses uses internal functions which correspond to
+          <code>tiparm</code>, and <code>tgoto</code> which ensure
+          that the capability strings which are passed to these
+          functions come from the loaded terminal description.</p>
+        </li>
+      </ul>
     </li>
 
     <li>
-      <p>add &ldquo;<code>--enable-string-hacks</code>&rdquo;
-      option to control whether strlcat and strlcpy may be used.
-      Because <em class="small-caps">ncurses</em> already does the
-      requisite buffer-limit checks, this feature is mainly of
-      interest to quiet compiler-warnings on a few systems.</p>
+      <p>improve check in <code>lib_tparm.c</code>, ensuring that a
+      char* fits into a <code>TPARM_ARG</code></p>
     </li>
 
     <li>
-      <p>add configure option
-      &ldquo;<code>--with-tparm-arg</code>&rdquo; to allow <a href=
-      "http://invisible-island.net/ncurses/man/curs_terminfo.3x.html#h3-Formatting-Output">
-      tparm</a>'s parameters to be something more likely to be the
-      same size as a pointer, e.g., <code>intptr_t</code> (again,
-      the default is set for ABI 6).</p>
+      <p>modify <code>_nc_syserr_abort</code> to use
+      <code>_nc_env_access</code>, rather than only checking root
+      uid</p>
+    </li>
+
+    <li>
+      <p>improve thread lock in <code>lib_trace.c</code></p>
+    </li>
+
+    <li>
+      <p>modify <code>flushinp</code> to use file descriptors in
+      <code>SCREEN</code>, rather than from <code>TERMINAL</code>,
+      and check if they are for a terminal, like SVr4</p>
+    </li>
+
+    <li>
+      <p>modify <code>mcprint</code> to use file descriptor in
+      <code>SCREEN</code>, for consistency</p>
+    </li>
+
+    <li>
+      <p>modify internal function <code>_nc_read_file_entry</code>
+      to show relevant filename in warnings</p>
+    </li>
+
+    <li>
+      <p>improve checks in internal function
+      <code>convert_string</code> for corrupt terminfo entry</p>
+    </li>
+
+    <li>
+      <p>review/improve handling of out-of-memory conditions</p>
+    </li>
+
+    <li>
+      <p>limit delays to 30 seconds, i.e., padding delays in
+      terminfo, as well as <code>napms</code> and
+      <code>delay_output</code> functions</p>
+    </li>
+
+    <li>
+      <p>fix reallocation loop for <code>vsnprintf</code> in
+      <code>_nc_sprintf_string</code> by copying the va_list
+      variable</p>
+    </li>
+
+    <li>
+      <p>modify <code>delscreen</code> to limit the windows which
+      it creates to just those associated with the screen</p>
+    </li>
+
+    <li>
+      <p>modify <code>endwin</code> to return an error if it is
+      called again without an intervening screen update</p>
+    </li>
+
+    <li>
+      <p>modify <code>wenclose</code> to handle pads</p>
+    </li>
+
+    <li>
+      <p>eliminate use of <code>PATH_MAX</code> in
+      <code>lib_trace.c</code></p>
+    </li>
+
+    <li>
+      <p>provide for any <code>CCHARW_MAX</code> greater than 1</p>
+    </li>
+  </ul>
+
+  <p>These are corrections to existing features:</p>
+
+  <ul>
+    <li>
+      <p>correct loop termination condition in
+      <code>waddnstr</code> and <code>waddnwstr</code></p>
+    </li>
+
+    <li>
+      <p>improve parsing in internal function
+      <code>_nc_msec_cost</code>, allowing a single decimal
+      point</p>
+    </li>
+
+    <li>
+      <p>amend parameter check for entire string versus specific
+      length in <code>winsnstr</code> and <code>wins_nwstr</code>
+      to match Solaris; make similar correction to
+      <code>wins_nwstr</code></p>
+    </li>
+
+    <li>
+      <p>correct internal function <code>wadd_wch_literal</code>
+      when adding a non-spacing character to a double-width
+      character</p>
+    </li>
+
+    <li>
+      <p>correct definition of <code>Charable</code> macro for
+      non-wide ncurses library .</p>
     </li>
   </ul>
 
   <h3><a name="h3-programs" id="h3-programs">Program
   improvements</a></h3>
 
-  <h4><a name="h4-utilities" id="h4-utilities">Utilities</a></h4>
+  <p id="h4-utilities">Several improvements were made to the
+  utility programs. Some were done to make the <code>infocmp</code>
+  option &ldquo;<tt>-u</tt>&rdquo; option help refactor the
+  terminal database.</p>
 
-  <p>Most of the termcap-related changes based on development of
-  <a href="http://invisible-island.net/ncurses/tctest.html">tctest
-  (termcap library checker)</a> are implemented in the tic and
-  infocmp programs rather than affecting the library. As noted in
-  the <a href=
-  "http://invisible-island.net/ncurses/tctest.html#my-better-translation">
-  discussion</a> of <code>tctest</code>, <em class=
-  "small-caps">ncurses</em>'s ability to translate between terminfo
-  and termcap formats has been improved at different times, but
-  subject to feedback from "real" termcap users. There are very few
-  of those. Nowadays, virtually all <em>termcap</em> users are
-  using <em class="small-caps">ncurses</em> (or NetBSD, with its
-  own terminfo library) and their programs are actually using
-  terminfo rather than termcap data.</p>
+  <dl>
+    <dt><span class="part-name"><a href=
+    "https://invisible-island.net/ncurses/man/infocmp.1m.html">infocmp</a></span>
+    </dt>
 
-  <p>Still, there are a few. A comment about the translation of the
-  ASCII <code>NUL</code> character prompted a review:</p>
+    <dd>
+      <ul>
+        <li>
+          <p>add limit checks for processing extended capabilities
+          with the &ldquo;<code>-u</code>&rdquo; option</p>
+        </li>
 
-  <ul>
-    <li>
-      <p>Both terminfo and termcap store string capabilities as
-      <code>NUL</code>-terminated strings.</p>
-    </li>
+        <li>
+          <p>correct initial alignment of extended capabilities, so
+          that the &ldquo;<code>-u</code>&rdquo; option can be used
+          for more than two terminal types</p>
+        </li>
 
-    <li>
-      <p>In terminfo, a <code>\0</code> in a terminal description
-      is stored as <code>\200</code>.</p>
-    </li>
+        <li>
+          <p>modify &ldquo;<code>-u</code>&rdquo; option to not
+          report cancels for strings which were already cancelled
+          in a use'd chunk.</p>
+        </li>
 
-    <li>
-      <p>There are no (known) terminals which would behave
-      differently when sent <code>\0</code> or
-      <code>\200</code>.</p>
-    </li>
+        <li>
+          <p>correct an assignment &ldquo;<code>-u</code>&rdquo;
+          for detecting if a boolean is unset in a base entry and
+          set in a use'd chunk, i.e., if it was cancelled.</p>
+        </li>
+      </ul>
+    </dd>
 
-    <li>
-      <p>When translating to terminfo format (or displaying a
-      printable version of an entry using infocmp), <em class=
-      "small-caps">ncurses</em> shows <code>\200</code> as
-      <code>\0</code>.</p>
-    </li>
+    <dt><span class="part-name"><a href=
+    "https://invisible-island.net/ncurses/man/tic.1m.html">tic</a></span>
+    </dt>
 
-    <li>
-      <p>It has done this since 1998 (quoting from the NEWS
-      file):</p>
+    <dd>
+      <ul>
+        <li>
+          <p>correct limit-check when dumping tc/use clause via
+          &ldquo;<code>-I</code>&rdquo;</p>
+        </li>
 
-      <blockquote>
-        <pre class="code-block">
-<a href=
-"http://invisible-island.net/ncurses/NEWS.html#t980103">980103</a>
-...
-        + modify _nc_tic_expand() to generate \0 rather than \200.
-...
-        + correct translation of terminfo "^@", to \200, like \0.
-</pre>
-      </blockquote>
-    </li>
+        <li>
+          <p>check return value of <code>_nc_save_str</code>, in
+          special case where extended capabilities are processed
+          but the terminal description was not initialized</p>
+        </li>
 
-    <li>
-      <p>However, the <code>_nc_tic_expand</code> function (which
-      optionally produces terminfo or termcap format) did not
-      address this special case for termcap. Even the later 4.4BSD
-      <a href=
-      "https://svnweb.freebsd.org/base/head/lib/libc/gen/getcap.c?revision=244092&amp;view=markup#l784">
-      cgetstr</a> interprets a <code>\0</code> literally, ending
-      <em>that</em> string (rather than using the terminfo
-      improvement).</p>
-    </li>
-  </ul>
+        <li>
+          <p>modify check for multiply defined aliases to report
+          problems within the current runtime rather than for
+          conflicts with pre-existing terminal descriptions.</p>
+        </li>
 
-  <p>As a result of the review, several improvements were made to
-  <em class="small-caps">ncurses</em> translation to/from termcap
-  format &mdash; and improving the checks made in tic for
-  consistency of entries. Most of these are not of general
-  interest, except for two new command-line options for tic and
-  infocmp:</p>
+        <li>
+          <p>disallow using <code>$TERMINFO</code> or
+          <code>$HOME/.terminfo</code> when
+          &ldquo;<code>-o</code>&rdquo; option is used</p>
+        </li>
+      </ul>
+    </dd>
 
-  <ul>
-    <li>
-      <p>the &ldquo;<code>-0</code>&rdquo; option generates
-      termcap/terminfo source on a single line.</p>
-    </li>
+    <dt><span class="part-name"><a href=
+    "https://invisible-island.net/ncurses/man/tput.1.html">tput</a></span> and <span class=
+    "part-name"><a href=
+    "https://invisible-island.net/ncurses/man/tset.1.html">tset</a></span></dt>
 
-    <li>
-      <p>the &ldquo;<code>-K</code>&rdquo; option provides stricter
-      BSD-compatibility for termcap output.</p>
-    </li>
-  </ul>
+    <dd>
+      <ul>
+        <li>
+          <p>add &ldquo;<code>-v</code>&rdquo; option to tput, to
+          show warnings</p>
+        </li>
 
-  <p>Other user-visible improvements and new features include:</p>
+        <li>
+          <p>modify <em>reset</em> command to avoid altering clocal
+          if the terminal uses a modem</p>
+        </li>
 
-  <ul>
-    <li>
-      <p>added &ldquo;<code>-D</code>&rdquo; option to tic and
-      infocmp, to show the database locations that it could
-      use.</p>
-    </li>
-
-    <li>
-      <p>added &ldquo;<code>-s</code>&rdquo; option to toe, to sort
-      its output.</p>
-    </li>
-
-    <li>
-      <p>extended &ldquo;<code>-c</code>&rdquo; and
-      &ldquo;<code>-n</code>&rdquo; options of infocmp to allow
-      comparing more than two entries.</p>
-    </li>
-
-    <li>
-      <p>modified toe's report when &ldquo;<code>-a</code>&rdquo;
-      and &ldquo;<code>-s</code>&rdquo; options are combined, to
-      add a column showing which entries belong to a given
-      database.</p>
-    </li>
-
-    <li>
-      <p>modified the clear program to take into account the
-      &ldquo;<code>E3</code>&rdquo; extended capability to clear
-      the terminal's scrollback buffer.</p>
-    </li>
-  </ul>
+        <li>
+          <p>modify <em>reset</em> feature to avoid 1-second sleep
+          if running in a pseudo-terminal</p>
+        </li>
+      </ul>
+    </dd>
+  </dl>
 
   <h4><a name="h4-examples" id="h4-examples">Examples</a></h4>
 
-  <p>Along with the library and utilities, many improvements were
-  made to the <a href=
-  "http://invisible-island.net/ncurses/ncurses-examples.html">ncurses-examples</a>.
-  Some were made to allow building (and comparison-testing) against
-  NetBSD curses and PDCurses. Both lack some of the X/Open Curses
-  features, necessitating customization. But this activity was
-  useful because it showed some remaining performance issues (which
-  have been resolved in this release).</p>
-
-  <p>These changes were made to verify compatibility or compare
-  performance of <em class="small-caps">ncurses</em>:</p>
+  <p>Along with the library and utilities, improvements were made
+  to the <a href=
+  "https://invisible-island.net/ncurses/ncurses-examples.html">ncurses-examples</a>:</p>
 
   <ul>
     <li>
-      <p>made workarounds for compiling test-programs with NetBSD
-      curses, though it lacks some common functions such as
-      <a href="http://invisible-island.net/ncurses/man/curs_util.3x.html#h3-use_env">
-      use_env</a>.</p>
+      <p>modify <code>test_tparm</code> to account for extended
+      capabilities</p>
     </li>
 
     <li>
-      <p>added dots_termcap test-program</p>
+      <p>corrected mouse mask in <code>test/testcurs.c</code></p>
     </li>
 
     <li>
-      <p>added dots_curses test-program, for comparison with the
-      low-level examples.</p>
+      <p>modify <code>test/clip_printw.c</code> to optionally test
+      non-wrapped updates</p>
     </li>
 
     <li>
-      <p>added test_setupterm test-proram to demonstrate
-      normal/error returns from the setupterm and restartterm
-      functions.</p>
+      <p>modify <code>test/test_mouse.c</code> to use curses api
+      for raw/noraw</p>
     </li>
 
     <li>
-      <p>added &ldquo;<code>-d</code>&rdquo;,
-      &ldquo;<code>-e</code>&rdquo; and
-      &ldquo;<code>-q</code>&rdquo; options to the demo_terminfo
-      and demo_termcap test-programs.</p>
-    </li>
-
-    <li>
-      <p>added &ldquo;<code>-y</code>&rdquo; option to demo_termcap
-      and test/demo_terminfo test-programs to demonstrate behavior
-      with/without extended capabilities.</p>
-    </li>
-
-    <li>
-      <p>modified demo_termcap and demo_terminfo test-programs to
-      make their options more directly comparable, and add
-      &ldquo;<code>-i</code>&rdquo; option to specify a terminal
-      description filename to parse for names to lookup.</p>
-    </li>
-
-    <li>
-      <p>rewrote the tests for <a href=
-      "http://invisible-island.net/ncurses/man/curs_window.3x.html#h3-derwin">
-      mvderwin</a> and test for recursive <a href=
-      "http://invisible-island.net/ncurses/man/curs_window.3x.html#h3-mvwin">
-      mvwin</a> in the movewindow test-program.</p>
+      <p>modify <code>test/clip_printw.c</code> to optionally test
+      non-wrapped updates</p>
     </li>
   </ul>
 
-  <p>These changes were made to help with the MinGW port:</p>
+  <p>There is one new demo/test programs:</p>
 
-  <ul>
-    <li>
-      <p>added test-screens to the ncurses test-program to show
-      256-characters at a time, to help with MinGW port.</p>
-    </li>
+  <dl>
+    <dt><span class="part-name"><em>test/test_endwin.c</em></span>
+    </dt>
 
-    <li>
-      <p>modified the view test-program to load UTF-8 when built
-      with MinGW by using regular win32 API because the MinGW
-      functions mblen and mbtowc do not work.</p>
-    </li>
+    <dd>
+      <p>This program shows the return-status from
+      <code>endwin</code> with different combinations of
+      <code>endwin</code> (repeated), <code>initscr</code>,
+      <code>newterm</code>.</p>
+    </dd>
+  </dl>
 
-    <li>
-      <p>added &ldquo;<code>-s</code>&rdquo; option to the view
-      test-program to allow it to start in single-step mode,
-      reducing size of trace files when it is used for debugging
-      MinGW changes.</p>
-    </li>
-  </ul>
-
-  <p>These changes were made to verify new extensions in <em class=
-  "small-caps">ncurses</em>:</p>
-
-  <ul>
-    <li>
-      <p>added <a href=
-      "http://invisible-island.net/ncurses/man/form_driver.3x.html#h3-form_driver_w">
-      form_driver_w</a> entrypoint to wide-character forms library,
-      as well as form_driver_w test-program.</p>
-    </li>
-
-    <li>
-      <p>modified ncurses test-program's b/B tests to display lines
-      only for the attributes which a given terminal supports, to
-      make room for an italics test.</p>
-    </li>
-
-    <li>
-      <p>modified ncurses test-program, adding
-      &ldquo;<code>-E</code>&rdquo; and
-      &ldquo;<code>-T</code>&rdquo; options to demonstrate use_env
-      versus use_tioctl.</p>
-    </li>
-
-    <li>
-      <p>modified ncurses test-program's c/C tests to cycle through
-      subsets of the total number of colors, to better illustrate
-      8/16/88/256-colors by providing directly comparable
-      screens.</p>
-    </li>
-
-    <li>
-      <p>modified the ncurses test-program to also show position
-      reports in 'a' test.</p>
-    </li>
-  </ul>
-
-  <p>These changes were made to make the examples more useful:</p>
-
-  <ul>
-    <li>
-      <p>added scripts for building dpkg and rpm test-packages</p>
-    </li>
-
-    <li>
-      <p>modified the hanoi test-program to show the minimum number
-      of moves possible for the given number of tiles.</p>
-    </li>
-
-    <li>
-      <p>modified the knight test-program to show the number of
-      choices possible for each position in automove option, e.g.,
-      to allow user to follow Warnsdorff's rule to solve the
-      puzzle.</p>
-    </li>
-  </ul>
-
-  <h3><a name="h3-database" id="h3-database">Terminal
-  database</a></h3>
-
-  <p>This release provides improvements to tic's
-  &ldquo;<code>-c</code>&rdquo; checking option, which was used for
-  example to</p>
-
-  <ul>
-    <li>
-      <p>make <code>sgr</code> in several entries agree with other
-      caps.</p>
-    </li>
-
-    <li>
-      <p>correct padding in some entries where earlier versions had
-      miscounted the number of octal digits.</p>
-    </li>
-  </ul>
+  <h3><a name="h3-database" id="h3-database">Terminal database</a></h3>
 
   <p>There are several new terminal descriptions:</p>
 
   <ul>
-    <li><a href=
-    "http://invisible-island.net/ncurses/terminfo.src.html#toc-_M_L_T_E_R_M">
-    mlterm</a> is now aliased to mlterm3</li>
-
-    <li><a href=
-    "http://invisible-island.net/ncurses/terminfo.src.html#tic-nsterm">
-    nsterm</a> is now derived from nsterm-256color</li>
-
-    <li><a href=
-    "http://invisible-island.net/ncurses/terminfo.src.html#tic-putty-sco">
-    putty-sco</a></li>
-
-    <li><a href=
-    "http://invisible-island.net/ncurses/terminfo.src.html#tic-teken">
-    teken</a> is FreeBSD's "xterm" console.</li>
-
-    <li><a href=
-    "http://invisible-island.net/ncurses/terminfo.src.html#toc-_T_E_R_M_I_N_A_T_O_R">
-    terminator</a></li>
-
-    <li><a href=
-    "http://invisible-island.net/ncurses/terminfo.src.html#toc-_T_E_R_M_I_N_O_L_O_G_Y">
-    terminology</a></li>
-
-    <li><a href=
-    "http://invisible-island.net/ncurses/terminfo.src.html#tic-tmux">
-    tmux</a> is derived from screen.</li>
-
-    <li>several screen.XXX entries support the respective
-    variations for 256 colors.</li>
-
-    <li><a href=
-    "http://invisible-island.net/ncurses/terminfo.src.html#toc-_S_I_M_P_L_E_T_E_R_M">
-    simpleterm</a> is now 0.5</li>
-
-    <li><a href=
-    "http://invisible-island.net/ncurses/terminfo.src.html#tic-vte">
-    vte</a> is aliased to vte-2012</li>
-
-    <li><a href=
-    "http://invisible-island.net/ncurses/terminfo.src.html#tic-vt520ansi">
-    vt520ansi</a></li>
-  </ul>
-
-  <p>A few entries use extensions (user-defined terminal
-  capabilities):</p>
-
-  <ul>
     <li>
-      <p><code>E3</code>, used in linux, putty and xterm-basic is
-      tested in the <a href=
-      "http://aerie.jexium-island.net/ncurses/man/clear.1.html">clear</a>
-      program to erase a terminal's scrollback.</p>
+      <p><a href=
+      "https://invisible-island.net/ncurses/terminfo.src.html#tic-ansi_apparrows"><tt>ansi+apparrows</tt></a></p>
     </li>
 
     <li>
-      <p><code>TS</code> is used in the <a href=
-      "http://invisible-island.net/ncurses/terminfo.src.html#tic-xterm_sl">
-      xterm+sl</a> building block to help deprecate the misuse of
-      <code>tsl</code> for xterm's title-string.</p>
+      <p><a href=
+      "https://invisible-island.net/ncurses/terminfo.src.html#tic-contour"><tt>contour</tt></a></p>
     </li>
 
     <li>
-      <p><code>XT</code> is used in some terminfo entries to
-      improve usefulness for other applications than screen, which
-      would like to pretend that xterm's title is a
-      status-line.</p>
+      <p><a href=
+      "https://invisible-island.net/ncurses/terminfo.src.html#tic-linux_kbs"><tt>linux+kbs</tt></a>
+      for terminals which imitate xterm's behavior with Linux</p>
     </li>
 
     <li>
-      <p><code>xm</code> is used in examples <a href=
-      "http://invisible-island.net/ncurses/terminfo.src.html#tic-xterm-1005">
-      xterm-1005</a> and <a href=
-      "http://invisible-island.net/ncurses/terminfo.src.html#tic-xterm-1006">
-      xterm-1006</a> to illustrate a way to make mouse handling
-      more general</p>
+      <p><a href=
+      "https://invisible-island.net/ncurses/terminfo.src.html#tic-rio"><tt>rio</tt></a>,
+      <a href=
+      "https://invisible-island.net/ncurses/terminfo.src.html#tic-rio-direct"><tt>rio-direct</tt></a></p>
+    </li>
+
+    <li>
+      <p><a href=
+      "https://invisible-island.net/ncurses/terminfo.src.html#tic-mostlike"><tt>mostlike</tt></a></p>
+    </li>
+
+    <li>
+      <p><a href=
+      "https://invisible-island.net/ncurses/terminfo.src.html#tic-ms-vt100-16color"><tt>ms-vt100-16color</tt></a>,
+      <a href=
+      "https://invisible-island.net/ncurses/terminfo.src.html#tic-winconsole"><tt>winconsole</tt></a></p>
+    </li>
+
+    <li>
+      <p><a href=
+      "https://invisible-island.net/ncurses/terminfo.src.html#tic-vt100_noapp"><tt>vt100+noapp</tt></a>,
+      <a href=
+      "https://invisible-island.net/ncurses/terminfo.src.html#tic-vt100_noapp_pc"><tt>vt100+noapp+pc</tt></a>,
+      <a href=
+      "https://invisible-island.net/ncurses/terminfo.src.html#tic-xterm_app_pc"><tt>xterm+app+pc</tt></a>,
+      <a href=
+      "https://invisible-island.net/ncurses/terminfo.src.html#tic-xterm_decedit"><tt>xterm+decedit</tt></a>
+      from <a href="https://invisible-island.net/xterm/xterm.log.html#xterm_389">xterm
+      #389</a></p>
+    </li>
+
+    <li>
+      <p><a href=
+      "https://invisible-island.net/ncurses/terminfo.src.html#tic-putty_cursor"><tt>putty+cursor</tt></a>
+      to reflect amending of modified cursor-keys in 2021</p>
+    </li>
+
+    <li>
+      <p><a href=
+      "https://invisible-island.net/ncurses/terminfo.src.html#tic-wezterm"><tt>wezterm</tt></a></p>
     </li>
   </ul>
 
-  <p>A few terminals support italics and/or dim capabilities. In
-  particular, screen does not. Documented that, and accommodated
-  the terminals where this feature works with the
-  <code>A_ITALIC</code> extension.</p>
+  <p>There are many changes to existing terminal descriptions. Some
+  were updates to several descriptions, using the
+  <code>infocmp</code> &ldquo;<code>-u</code>&rdquo; option in a
+  script to determine which <em>building-block</em> entries could
+  be used to replace multiple capability settings (and trim
+  redundant information).</p>
+
+  <p>Other changes include:</p>
 
   <ul>
-    <li>konsole, mlterm3 (italics)</li>
+    <li>
+      <p><a href=
+      "https://invisible-island.net/ncurses/terminfo.src.html#toc-_X_T_E_R_M__Extensions_">document</a>
+      XF, kxIN and kxOUT</p>
+    </li>
 
-    <li>nsterm (dim)</li>
+    <li>
+      <p>add note on <a href=
+      "https://invisible-island.net/ncurses/terminfo.src.html#tic-sun"><tt>sun</tt></a>
+      regarding wscons/cmdtool/shelltool</p>
+    </li>
 
-    <li>screen (dim)</li>
+    <li>
+      <p>remove DECCOLM+DECSCLM from <a href=
+      "https://invisible-island.net/ncurses/terminfo.src.html#tic-foot"><tt>foot</tt></a></p>
+    </li>
 
-    <li>vte (dim, italics)</li>
+    <li>
+      <p>add xterm+focus to <a href=
+      "https://invisible-island.net/ncurses/terminfo.src.html#tic-foot_base"><tt>foot+base</tt></a></p>
+    </li>
 
-    <li>xterm (dim, italics)</li>
+    <li>
+      <p>add ecma+strikeout to <a href=
+      "https://invisible-island.net/ncurses/terminfo.src.html#tic-putty"><tt>putty</tt></a></p>
+    </li>
+
+    <li>
+      <p>use CSI 3J in <a href=
+      "https://invisible-island.net/ncurses/terminfo.src.html#tic-vte-2017"><tt>vte-2017</tt></a></p>
+    </li>
+
+    <li>
+      <p>use oldxterm+sm+1006 in <a href=
+      "https://invisible-island.net/ncurses/terminfo.src.html#tic-vte-2014"><tt>vte-2014</tt></a></p>
+    </li>
+
+    <li>
+      <p>modify <a href=
+      "https://invisible-island.net/ncurses/terminfo.src.html#tic-xgterm"><tt>xgterm</tt></a>
+      to work around line-drawing bug</p>
+    </li>
+
+    <li>
+      <p>add xterm focus mode 1004 to <a href=
+      "https://invisible-island.net/ncurses/terminfo.src.html#tic-xterm_focus"><tt>xterm+focus</tt></a>
+      as fe/fd capabilities, like vim.</p>
+    </li>
+
+    <li>
+      <p>add xterm+focus to <a href=
+      "https://invisible-island.net/ncurses/terminfo.src.html#tic-alacritty_common"><tt>alacritty+common</tt></a></p>
+    </li>
+
+    <li>
+      <p>add XR/xr, to work with vim, and use RV/rv to denote DA2
+      and its response</p>
+    </li>
+
+    <li>
+      <p>add XF flag to <a href=
+      "https://invisible-island.net/ncurses/terminfo.src.html#tic-xterm_focus"><tt>xterm+focus</tt></a>
+      so that termcap applications can be aware of terminals which
+      may support focus in/out</p>
+    </li>
+
+    <li>
+      <p>use xterm+focus in <a href=
+      "https://invisible-island.net/ncurses/terminfo.src.html#tic-xterm-p370"><tt>xterm-p370</tt></a>
+      and <a href=
+      "https://invisible-island.net/ncurses/terminfo.src.html#tic-tmux"><tt>tmux</tt></a></p>
+    </li>
+
+    <li>
+      <p>remove xterm+sm+1006 from <a href=
+      "https://invisible-island.net/ncurses/terminfo.src.html#tic-tmux"><tt>tmux</tt></a></p>
+    </li>
+
+    <li>
+      <p>NetBSD-related fixes for <a href=
+      "https://invisible-island.net/ncurses/terminfo.src.html#tic-x68k"><tt>x68k</tt></a> and
+      <a href=
+      "https://invisible-island.net/ncurses/terminfo.src.html#tic-wsvt25"><tt>wsvt25</tt></a></p>
+    </li>
   </ul>
 
   <h3><a name="h3-documentation" id=
@@ -1071,183 +700,117 @@
 
     <li>
       <p>fills in overlooked descriptions of features which were
-      described in the <a href=
-      "http://invisible-island.net/ncurses/NEWS.html">NEWS</a> file
+      described in the <a href="https://invisible-island.net/ncurses/NEWS.html">NEWS</a> file
       but treated sketchily in manual pages.</p>
     </li>
   </ul>
 
-  <p>In addition, the mechanism for producing HTML versions of the
-  documentation has been improved:</p>
+  <p>In addition to providing background information to explain
+  these features and show how they evolved, there are corrections,
+  clarifications, etc.:</p>
 
   <ul>
     <li>
-      <p>use an improved version of <a href=
-      "http://invisible-island.net/scripts/man2html.html">man2html</a>
-      to generate html manpages.</p>
+      <p>Corrections:</p>
+
+      <ul>
+        <li>
+          <p>add assignment in <code>CF_MAN_PAGES</code> to fill in
+          value for <code>TERMINFO_DIRS</code> in ncurses, terminfo
+          and tic manpages.</p>
+        </li>
+
+        <li>
+          <p>clarify interaction of <code>-R</code> option versus
+          <code>-C</code>, <code>-I</code> and <code>-r</code> in
+          <code>infocmp</code> manpage.</p>
+        </li>
+
+        <li>
+          <p>correct manpage description of panel_hidden.</p>
+        </li>
+
+        <li>
+          <p>improve manpage description for addch versus unctrl
+          format used for non-printable characters.</p>
+        </li>
+
+        <li>
+          <p>improve manpages discussing file descriptors in
+          low-level functions.</p>
+        </li>
+
+        <li>
+          <p>improve description of search rules for terminal
+          descriptions in terminfo manpage.</p>
+        </li>
+
+        <li>
+          <p>modify dist.mk to avoid passing developer's comments
+          in manpages into the generated html documentation.</p>
+        </li>
+
+        <li>
+          <p>modify test-package "ncurses6-doc" to use
+          manpage-aliases, which in turn required a change to the
+          configure script to factor in the extra-suffix option
+          when deriving alias names.</p>
+        </li>
+      </ul>
     </li>
 
     <li>
-      <p>regenerated <a href=
-      "http://invisible-island.net/ncurses/NCURSES-Programming-HOWTO.html">
-      NCURSES-Programming-HOWTO.html</a> to fix some of the broken
-      html emitted by docbook.</p>
+      <p>New/improved history and portability sections:</p>
+
+      <ul>
+        <li>
+          <p>add information about "ttycap", termcap's forerunner,
+          to tset.1</p>
+        </li>
+
+        <li>
+          <p>document limitations of tparm, and error-returns in
+          curs_terminfo.3x</p>
+        </li>
+
+        <li>
+          <p>document limitations of tgoto, and error-returns in
+          curs_termcap.3x</p>
+        </li>
+      </ul>
+    </li>
+
+    <li>
+      <p>Other improvements:</p>
+
+      <ul>
+        <li>
+          <p>This release has many changes to improve the
+          formatting and style of the manpages.</p>
+        </li>
+
+        <li>
+          <p>Manpages now use consistent section-naming, page
+          headers and footers (including the modification date for
+          each page).</p>
+        </li>
+
+        <li>
+          <p>Table layout has been revised.</p>
+        </li>
+      </ul>
     </li>
   </ul>
 
+  <p>There are no new manual pages (all of the manual page updates
+  are to existing pages).</p>
+
   <h3><a name="h3-bug-fixes" id="h3-bug-fixes">Interesting
   bug-fixes</a></h3>
 
-  <ul>
-    <li>
-      <p>Ada95 binding:</p>
-
-      <ul>
-        <li>
-          <p>modify makefile rules to ensure that the PIC option is
-          not used when building a static library</p>
-        </li>
-
-        <li>
-          <p>make Ada95 build-fix for big-endian architectures such
-          as sparc. This undoes one of the fixes from <a href=
-          "http://invisible-island.net/ncurses/NEWS.html#t20110319">
-          20110319</a>, which added an
-          &ldquo;<code>Unused</code>&rdquo; member to
-          representation clauses, replacing that with pragmas to
-          suppress warnings about unused bits.</p>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <p>Color and attributes:</p>
-
-      <ul>
-        <li>
-          <p>parenthesize parameter of <code>COLOR_PAIR</code> and
-          <code>PAIR_NUMBER</code> in curses.h in case it happens
-          to be a comma-expression.</p>
-        </li>
-
-        <li>
-          <p>improve <a href=
-          "http://invisible-island.net/ncurses/NEWS.html#t20021221">
-          20021221</a> workaround for broken acs, handling a case
-          where that ACS_<em>xxx</em> character is not in the
-          <code>acsc</code> string but there is a known
-          wide-character which can be used.</p>
-        </li>
-
-        <li>
-          <p>modify <a href=
-          "http://invisible-island.net/ncurses/man/curs_color.3x.html#h3-Routine-Descriptions">
-          init_pair</a> to accept -1's for color value after
-          <a href=
-          "http://invisible-island.net/ncurses/man/default_colors.3x.html">
-          assume_default_colors</a> has been called.</p>
-        </li>
-
-        <li>
-          <p>add a check in <a href=
-          "http://invisible-island.net/ncurses/man/curs_color.3x.html#h3-Routine-Descriptions">
-          start_color</a> to limit color-pairs to 256 when extended
-          colors are not supported.</p>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <p>Resizing the screen:</p>
-
-      <ul>
-        <li>
-          <p>propagate error-returns from wresize, i.e., the
-          internal increase_size and decrease_size functions
-          through <a href=
-          "http://invisible-island.net/ncurses/man/resizeterm.3x.html">
-          resize_term</a>.</p>
-        </li>
-
-        <li>
-          <p>add check for zero/negative dimensions for
-          <code>resizeterm</code> and <code>resize_term</code>.</p>
-        </li>
-
-        <li>
-          <p>modify <code>resizeterm</code> to always push a
-          <code>KEY_RESIZE</code> onto the fifo, even if screensize
-          is unchanged. Modify library to push a
-          <code>KEY_RESIZE</code> if there was a SIGWINCH, even if
-          it does not call <code>resizeterm</code>). These changes
-          eliminate the case where a SIGWINCH is received, but ERR
-          is returned from <code>wgetch</code> or
-          <code>wgetnstr</code> because the screen dimensions did
-          not change.</p>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <p>Low-level interfaces</p>
-
-      <ul>
-        <li>
-          <p>fix an old bug in the termcap emulation;
-          &ldquo;<code>%i</code>&rdquo; was ignored in
-          <code>tparm</code> because the parameters to be
-          incremented were already on the internal stack.</p>
-        </li>
-
-        <li>
-          <p>change &ldquo;<code>%l</code>&rdquo; behavior in tparm
-          to push the string length onto the stack rather than
-          saving the formatted length into the output buffer.</p>
-        </li>
-
-        <li>
-          <p>modify name-comparison for tgetstr, etc., to
-          accommodate legacy applications as well as to improve
-          compatbility with BSD 4.2 termcap implementations (see
-          note for <a href=
-          "http://invisible-island.net/ncurses/NEWS.html#t980725">980725</a>).</p>
-        </li>
-      </ul>
-    </li>
-
-    <li>High-level interfaces
-
-      <ul>
-        <li>
-          <p>modify internal recursion in <code>wgetch</code> which
-          handles cooked mode to check if the call to
-          <code>wgetnstr</code> returned an error. This can happen
-          when both <code>nocbreak</code> and <code>nodelay</code>
-          are set, for instance (see note for <a href=
-          "http://invisible-island.net/ncurses/NEWS.html#t960418">960418</a>).</p>
-        </li>
-
-        <li>
-          <p>add a check in internal function
-          <code>waddch_nosync</code> to ensure that tab characters
-          are treated as control characters; some broken locales
-          claim they are printable.</p>
-        </li>
-
-        <li>
-          <p>modify menu library to ensure that a menu's top-row is
-          adjusted as needed to ensure that the current item is on
-          the screen</p>
-        </li>
-
-        <li>
-          <p>fix special case where double-width character
-          overwrites a single- width character in the first
-          column.</p>
-        </li>
-      </ul>
-    </li>
-  </ul>
+  <p>The changes to <tt>tparm</tt>, <tt>tgoto</tt> which improve
+  the design of the low-level interfaces are <em>interesting</em>,
+  but are not bug-fixes <em>per se</em>.</p>
 
   <h3><a name="h3-config-config" id=
   "h3-config-config">Configuration changes</a></h3>
@@ -1255,578 +818,282 @@
   <h4><a name="h4-config-major" id="h4-config-major">Major
   changes</a></h4>
 
-  <p>The <em class="small-caps">ncurses</em> 6.0 configure script
-  makes changes to the <em>default</em> value of several configure
-  options, depending on the <code>--with-abi-version</code> option
-  (i.e., whether its value is &ldquo;5&rdquo; or
-  &ldquo;6&rdquo;):</p>
-
-  <dl>
-    <dt><code>--enable-const</code></dt>
-
-    <dd>
-      <p>Feature introduced in <a href=
-      "http://invisible-island.net/ncurses/NEWS.html#t970405">970405</a>
-      supports the use of <code>const</code> where X/Open Curses
-      should have, but did not. NetBSD curses does something
-      similar with <code>const</code>.</p>
-    </dd>
-
-    <dt><code>--enable-ext-colors</code></dt>
-
-    <dd>
-      <p>Extends the <code>cchar_t</code> structure to allow more
-      than 16 colors to be encoded. This applies only to the
-      wide-character (<code>--enable-widec</code>)
-      configuration.</p>
-    </dd>
-
-    <dt><code>--enable-ext-mouse</code></dt>
-
-    <dd>
-      <p>Modifies the encoding of mouse state to make room for a
-      5th mouse button. That allows one to use ncurses with a wheel
-      mouse with xterm or similar X terminal emulators.</p>
-    </dd>
-
-    <dt><code>--enable-ext-putwin</code></dt>
-
-    <dd>
-      <p>Modifies the file-format written by <code>putwin</code> to
-      use printable text rather than binary files, allowing
-      <code>getwin</code> to read screen dumps written by
-      differently-configured ncurses libraries. The extended
-      <code>getwin</code> can still read binary screen dumps from
-      the <em>same</em> configuration of ncurses. This does not
-      change the ABI (the binary interface seen by calling
-      applications).</p>
-    </dd>
-
-    <dt><code>--enable-interop</code></dt>
-
-    <dd>
-      <p>Modifies the <code>FIELDTYPE</code> structure used for the
-      form library to make it more generic.</p>
-    </dd>
-
-    <dt><code>--enable-lp64</code></dt>
-
-    <dd>
-      <p>Allows an application to define <code>_LP64</code> to
-      declare <code>chtype</code> and <code>mmask_t</code> as
-      simply &ldquo;<code>unsigned</code>&rdquo; rather than the
-      configured types using the <code>--with-chtype</code> and
-      <code>--with-mmask_t</code> options.</p>
-    </dd>
-
-    <dt><code>--enable-sp-funcs</code></dt>
-
-    <dd>
-      <p>Compile-in support for extended functions which accept a
-      SCREEN pointer, reducing the need for juggling the global SP
-      value with <a href=
-      "http://invisible-island.net/ncurses/man/curs_initscr.3x.html#h3-set_term">
-      set_term</a> and <a href=
-      "http://invisible-island.net/ncurses/man/curs_initscr.3x.html#h3-delscreen">
-      delscreen</a>.</p>
-    </dd>
-
-    <dt><code>--with-chtype=uint32_t</code></dt>
-
-    <dd>
-      <p>Makes <code>chtype</code> explicitly a 32-bit unsigned
-      value.</p>
-    </dd>
-
-    <dt><code>--with-mmask_t=uint32_t</code></dt>
-
-    <dd>
-      <p>Makes <code>mmask_t</code> explicitly a 32-bit unsigned
-      value.</p>
-    </dd>
-
-    <dt><code>--with-tparm-arg=intptr_t</code></dt>
-
-    <dd>
-      <p>X/Open Curses declares <a href=
-      "http://invisible-island.net/ncurses/man/curs_terminfo.3x.html#h3-Formatting-Output">
-      tparm</a> using <code>long</code> for each of the parameters
-      aside from the formatting string, presuming that
-      <code>long</code> and <code>char*</code> are the same size.
-      This configure option uses <code>intptr_t</code> which
-      provides a better guarantee of the sizes.</p>
-    </dd>
-  </dl>
-
-  <p>The configure script no longer checks for antique compilers;
-  <code>c89</code> is assumed as a minimum. There are a few
-  features from later revisions which are used when available. The
-  configure script makes checks to turn on useful warnings from
-  clang, gcc and icc. You should be able to build <em class=
-  "small-caps">ncurses</em> 6.0 with any of the current (or not so
-  current) C compilers available in 2015.</p>
-
-  <p>The configure script, by the way, makes changes which do not
-  work with systems whose <code>/bin/sh</code> is non-POSIX. This
-  mainly affects Solaris (the other vendor <em class=
-  "small-caps">unix</em> systems have followed the POSIX guidelines
-  for the past twenty years). If you must build on Solaris, its
-  <a href=
-  "http://docs.oracle.com/cd/E19253-01/html/817-0552/fhkpy.html">xpg4</a>
-  binaries suffice, e.g.,</p>
-
-  <blockquote class="code-block">
-    <!--{{atr2html-->
-
-    <p style="font-family: monospace; font-size: 10pt;">
-    <font color="#800000">#!/bin/sh</font><br>
-    <font color="#008080">WHAT</font>=<strong><em><font color=
-    "#800000">`</font></em></strong>hostname|sed&nbsp;-e&nbsp;<font color="#800080">'s/\..*//'</font><strong><em><font color="#800000">`</font></em></strong><br>
-
-    <font color="#008080">OUT</font>=configure.out<br>
-    <strong><font color=
-    "#000080">cat</font></strong>&nbsp;&gt;&gt;<font color=
-    "#008080">$OUT</font>&nbsp;<font color=
-    "#800080">&lt;&lt;EOF/</font><font color="#800080"><br>
-    **&nbsp;</font><strong><em><font color=
-    "#800000">`</font></em></strong>date<strong><em><font color=
-    "#800000">`</font></em></strong><font color="#800080"><br>
-    **&nbsp;node:&nbsp;</font><font color=
-    "#008080">$WHAT</font><font color="#800080"><br>
-    **&nbsp;user:&nbsp;</font><strong><em><font color=
-    "#800000">`</font></em></strong>id<strong><em><font color=
-    "#800000">`</font></em></strong><font color="#800080"><br>
-    **&nbsp;conf:&nbsp;$*<br>
-    EOF/</font><br>
-    &nbsp;<br>
-    <font color="#008080">SHELL</font>=/bin/sh<br>
-    <strong><font color=
-    "#000080">if</font></strong>&nbsp;<strong><font color=
-    "#000080">test</font></strong>&nbsp;-f&nbsp;/usr/xpg4/bin/sh<br>
-
-    <strong><font color="#000080">then</font></strong><br>
-    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=
-    "#008080">CONFIG_SHELL</font>=/usr/xpg4/bin/sh<br>
-    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong><font color="#000080">export</font></strong>&nbsp;CONFIG_SHELL<br>
-
-    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=
-    "#008080">SHELL</font>=<font color=
-    "#008080">$CONFIG_SHELL</font><br>
-    <strong><font color="#000080">fi</font></strong><br>
-    &nbsp;<br>
-    rm&nbsp;-f&nbsp;config.status&nbsp;config.cache<br>
-    <font color="#008080">TOP</font>=<font color=
-    "#008080">$HOME</font>/<font color="#008080">$WHAT</font><br>
-    <font color=
-    "#008080">$SHELL</font>&nbsp;./configure&nbsp;--verbose&nbsp;\<br>
-
-    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--disable-echo&nbsp;\<br>
-
-    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--disable-overwrite&nbsp;\<br>
-
-    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--enable-warnings&nbsp;\<br>
-
-    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--with-warnings&nbsp;\<br>
-
-    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--prefix=<font color="#008080">$TOP</font>&nbsp;<font color="#008080">$*</font>&nbsp;<strong><font color="#008080">2</font></strong>&gt;&amp;<strong><font color="#008080">1</font></strong>&nbsp;|&nbsp;tee&nbsp;-a&nbsp;<font color="#008080">$OUT</font><br>
-
-    <!--atr2html}}--></p>
-  </blockquote>
-
-  <p>Other major changes to the configure script include:</p>
+  <p>These are the major changes (aside from introducing <a href=
+  "#h4-new-library"><tt>tiparm_s</tt></a>):</p>
 
   <ul>
     <li>
-      <p>ABI 6 is now the default, intending that the existing ABI
-      5 should build as before using the
-      &ldquo;<code>--with-abi-version=5</code>&rdquo; option.</p>
+      <p>use wide-character (ncursesw) by default</p>
     </li>
 
     <li>
-      <p>added <code>--with-extra-suffix</code> option to help with
-      installing nonconflicting ncurses6 packages, e.g., avoiding
-      header- and library-conflicts.</p>
+      <p>use opaque typedefs by default</p>
+    </li>
+  </ul>
 
-      <p><strong>NOTE:</strong> as a side-effect, this renames</p>
+  <p>However, most of the work on configure scripts was done to
+  reduce warnings within the configure script:</p>
 
-      <blockquote>
-        <p><code>adacurses-config</code> to
-        <code>adacurses5-config</code> and<br>
-        <code>adacursesw-config</code> to
-        <code>adacursesw5-config</code></p>
-      </blockquote>
+  <ul>
+    <li>
+      <p>intrusive warnings from GNU grep regarding fgrep and
+      egrep</p>
     </li>
 
     <li>
-      <p>the configure script looks for gnatgcc if the Ada95
-      binding is built, in preference to the default gcc/cc. The
-      script also ensures that the Ada95 binding is built with the
-      level of optimization as the C libraries.</p>
+      <p>fatal errors in compile-checks, arising from recent
+      &ldquo;Modern&nbsp;C&rdquo; efforts by some developers which
+      caused longstanding configure checks to fail.</p>
+
+      <p>After repairing the configure script, none of that
+      activity affected ncurses because stricter warnings are used
+      routinely in development.</p>
+    </li>
+  </ul>
+
+  <p>Other improvements made to configure checks include</p>
+
+  <ul>
+    <li>
+      <p>use <a href=
+      "https://invisible-island.net/ncurses/INSTALL.html#option:enable-string-hacks">string-hacks</a>
+      in alloc_entry.c, alloc_type.c and hardscroll.c, overlooked
+      due to compiler changes in recent OpenBSD releases</p>
     </li>
 
     <li>
-      <p>the configure script captures define's related to
-      -D_XOPEN_SOURCE from the configure check and adds those to
-      the *-config and *.pc files, to simplify use for the
-      wide-character libraries.</p>
+      <p>revise progs.priv.h to provide for NC_ISATTY reuse</p>
+    </li>
+
+    <li>
+      <p>configure check for MB_LEN_MAX provides warning as
+      needed</p>
+    </li>
+
+    <li>
+      <p>trim a space after some "-R" options, fixing builds for
+      applications built using clang and ncurses on Solaris</p>
+    </li>
+
+    <li>
+      <p>work around misconfiguration of MacPorts gcc13, which
+      exposes invalid definition of <tt>MB_LEN_MAX</tt> in gcc's
+      fallback copy of <tt>limits.h</tt></p>
+    </li>
+
+    <li>
+      <p>modified experimental Windows driver works with xterm
+      mouse protocol</p>
     </li>
   </ul>
 
   <h4><a name="h4-config-options" id=
   "h4-config-options">Configuration options</a></h4>
 
-  <p>There are several new (or extended) configure options:</p>
+  <p>There are a few new configure options:</p>
 
   <dl>
-    <dt><code>--disable-db-install</code></dt>
+    <dt><a href=
+    "https://invisible-island.net/ncurses/INSTALL.html#option:disable-setuid-environ"><tt>--disable-setuid-environ</tt></a>
+    </dt>
 
     <dd>
-      <p>Do not install the terminal database. This is used to omit
-      features for packages, as done with
-      <code>--without-progs</code>. The option simplifies building
-      cross-compile support packages.</p>
+      <p>Compile with environment restriction, so certain
+      environment variables are not available when running via a
+      setuid/setgid application. These are (for example
+      <tt>$TERMINFO</tt>) those that allow the search path for the
+      terminfo or termcap entry to be customized.</p>
+
+      <p>A setuid/setgid application inherits its environment
+      variables from the current user, in contrast to sudo which
+      may limit the environment variables that ncurses uses.</p>
     </dd>
 
-    <dt><code>--disable-gnat-projects</code></dt>
+    <dt><a href=
+    "https://invisible-island.net/ncurses/INSTALL.html#option:enable-check-size"><tt>--enable-check-size</tt></a>
+    </dt>
 
     <dd>
-      <p>This option is used for regression testing</p>
+      <p>Compile-in feature to detect screensize for terminals
+      which do not advertise their screensize, e.g., serial
+      terminals.</p>
     </dd>
 
-    <dt><code>--disable-lib-suffixes</code></dt>
+    <dt><a href=
+    "https://invisible-island.net/ncurses/INSTALL.html#option:with-abi-altered"><tt>--with-abi-altered=<em>NUM</em></tt></a>
+    </dt>
 
     <dd>
-      <p>Suppress the &ldquo;w&rdquo;, &ldquo;t&rdquo; or
-      &ldquo;tw&rdquo; suffixes which normally would be added to
-      the library names for the <code>--enable-widec</code> and
-      <code>--with-pthread</code> options.</p>
+      <p>Override the displayed (rather than compiled-in) ABI. Only
+      packagers who have created configurations where the ABI
+      differs from ncurses should be interested in this option.</p>
     </dd>
 
-    <dt><code>--with-cxx-shared</code></dt>
+    <dt><a href=
+    "https://invisible-island.net/ncurses/INSTALL.html#option:with-strip-program"><tt>--with-strip-program=<em>XXX</em></tt></a>
+    </dt>
 
     <dd>
-      <p>When <code>--with-shared</code> is set, build libncurses++
-      as a shared library. This implicitly relies upon building
-      with gcc/g++, since other compiler suites may have
-      differences in the way shared libraries are built. libtool by
-      the way has similar limitations.</p>
-    </dd>
-
-    <dt><code>--with-hashed-db</code></dt>
-
-    <dd>
-      <p>Extended this configure option to simplify building with
-      different versions of Berkeley database using FreeBSD
-      ports.</p>
-    </dd>
-
-    <dt><code>--with-pc-suffix</code></dt>
-
-    <dd>
-      <p>If ".pc" files are installed, optionally add a suffix to
-      the files and corresponding package names to separate unusual
-      configurations. If no option value is given (or if it is
-      "none"), no suffix is added. This option is used in the test
-      package for ncurses6.</p>
-    </dd>
-
-    <dt><code>--with-xterm-kbs</code></dt>
-
-    <dd>
-      <p>Configure xterm's terminfo entries to use either BS
-      (<code>^H</code>, i.e., ASCII backspace) or DEL
-      (<code>^?</code>, or 127).</p>
+      <p>When stripping executables during install, use the
+      specified program rather than &ldquo;strip&rdquo; overriding
+      program chosen by the install program for stripping
+      executables.</p>
     </dd>
   </dl>
 
-  <h3><a name="h3-portability" id=
-  "h3-portability">Portability</a></h3>
+  <p>These configure options are modified:</p>
 
-  <h4><a name="h4-port-mingw" id="h4-port-mingw">MinGW</a></h4>
+  <dl>
+    <dt><a href=
+    "https://invisible-island.net/ncurses/INSTALL.html#option:with-pkg-config-libdir"><tt>--with-pkg-config-libdir[=<em>DIR</em>]</tt></a>
+    </dt>
 
-  <p>Most of the portability-related work since <a href=
-  "http://invisible-island.net/ncurses/announce-5.9.html"><em class="small-caps">
-  ncurses</em> 5.9</a> extended and improved the MinGW port
-  introduced in <a href=
-  "http://invisible-island.net/ncurses/announce-5.8.html"><em class="small-caps">
-  ncurses</em> 5.8</a>.</p>
+    <dd>
+      <p>The optional <em>DIR</em> parameter can now be
+      &ldquo;auto&rdquo; to automatically use pkg-config's library
+      directory.</p>
 
-  <p>The MinGW port can be readily cross-compiled:</p>
+      <p>The default is <tt>$(libdir)</tt>.</p>
+    </dd>
+
+    <dt><a href=
+    "https://invisible-island.net/ncurses/INSTALL.html#option:with-xterm-kbs"><tt>--with-xterm-kbs[=<em>XXX</em>]</tt></a>
+    </dt>
+
+    <dd>
+      <p>The default is &ldquo;auto&rdquo; which tells the
+      configure script to choose BS or DEL according to platform
+      defaults.</p>
+    </dd>
+  </dl>
+
+  <h3><a name="h3-portability" id="h3-portability">Portability</a></h3>
+
+  <p>Many of the portability changes are implemented via the
+  configure script:</p>
 
   <ul>
     <li>
-      <p>modified configure script to allow creating dll's for
-      MinGW when cross-compiling.</p>
+      <p>add/use configure check for <code>clock_gettime</code>, to
+      supersede <code>gettimeofday</code>.</p>
     </li>
 
     <li>
-      <p>enforced Windows-style path-separator if
-      cross-compiling,</p>
+      <p>modify configure script check for pkg-config library
+      directory to take into account an older version 0.15.0 which
+      used PKG_CONFIG_PATH but not PKG_CONFIG_LIBDIR</p>
     </li>
 
     <li>
-      <p>added scripts for test-builds of cross-compiled packages
-      for ncurses6 to MinGW.</p>
+      <p>allow for MinGW32-/64-bit configurations to use
+      _DEFAULT_SOURCE</p>
     </li>
 
     <li>
-      <p>added pc-files to the MinGW cross-compiling
-      test-packages.</p>
+      <p>modify CF_XOPEN_SOURCE macro's amend default case to avoid
+      undefining _XOPEN_SOURCE if _POSIX_C_SOURCE is defined</p>
     </li>
 
     <li>
-      <p>added script for building test-packages of binaries
-      cross-compiled to MinGW using NSIS.</p>
+      <p>updated configure script macro CF_XOPEN_SOURCE, for
+      uClibc-ng</p>
     </li>
 
     <li>
-      <p>added <code>nc_mingw.h</code> to installed headers for
-      MinGW port; this is needed for cross-compiling <a href=
-      "http://invisible-island.net/ncurses/ncurses-examples.html">ncurses-examples</a>.</p>
+      <p>modify version-check for gcc/g++, now works for msys2</p>
     </li>
 
     <li>
-      <p>added test-packages for cross-compiling ncurses-examples
-      using the MinGW test-packages.</p>
-    </li>
-  </ul>
-
-  <p>The MinGW-specific Windows driver accounts for several
-  changes:</p>
-
-  <ul>
-    <li>
-      <p>wide-character display is made usable by replacing MinGW's
-      non-working <code>wcrtomb</code> and <code>wctomb</code>
-      functions.</p>
-    </li>
-
-    <li>
-      <p>implemented some display features: <a href=
-      "http://invisible-island.net/ncurses/man/curs_beep.3x.html">beep</a>,
-      <a href=
-      "http://invisible-island.net/ncurses/man/curs_beep.3x.html">flash</a>,
-      <a href=
-      "http://invisible-island.net/ncurses/man/curs_kernel.3x.html#h3-curs_set">
-      curs_set</a>.</p>
-    </li>
-
-    <li>
-      <p>the driver handles repainting on endwin/refresh
-      combination.</p>
-    </li>
-
-    <li>
-      <p>modified treatment of <code>TERM</code> variable for MinGW
-      port to allow explicit use of the Windows console driver by
-      checking if <code>$TERM</code> is set to
-      &ldquo;<code>#win32console</code>&rdquo; or an abbreviation
-      of that.</p>
-    </li>
-
-    <li>
-      <p>the Windows driver also matches the special
-      <code>TERM</code> value &ldquo;unknown&rdquo;</p>
-    </li>
-
-    <li>
-      <p>the driver now returns characters for special keys, (like
-      <code>ansi.sys</code> does), when keypad mode is off, rather
-      than returning nothing at all.</p>
-    </li>
-
-    <li>
-      <p>the driver checks a new environment variable <a href=
-      "http://invisible-island.net/ncurses/man/ncurses.3x.html#h3-NCURSES_CONSOLE2">
-      NCURSES_CONSOLE2</a> to optionally work around a deficiency
-      in <code>Console2</code> (and its descendent
-      <code>ConsoleZ</code>) which hang when an application creates
-      a console buffer.</p>
-    </li>
-  </ul>
-
-  <p>Finally, there are other improvements:</p>
-
-  <ul>
-    <li>
-      <p>MinGW is one of the configurations where <em class=
-      "small-caps">ncurses</em> installs by default into /usr</p>
-    </li>
-
-    <li>configuration for cross-compiling uses AC_CHECK_TOOLS in
-    preference to AC_PATH_PROGS when searching for ncurses*-config,
-    e.g., in Ada95/configure and test/configure.</li>
-
-    <li>
-      <p>extend Windows support to work with MSYS2;</p>
+      <p>build-fixes related to configure-options and/or
+      platform:</p>
 
       <ul>
-        <li>
-          <p>this works with a scenario where there is an
-          ANSI-escape handler such as <code>ansicon</code> running
-          in the console window.</p>
-        </li>
+        <li>fix for <tt>--enable-fvisibility</tt></li>
 
-        <li>wrap <code>isatty</code> calls with a macro, provide a
-        corresponding set of support routines to address
-        differences between MinGW and MSYS2.</li>
+        <li>fix for unusual values of
+        <tt>--with-rel-version</tt></li>
+
+        <li>fix for unusual values of
+        <tt>--with-abi-version</tt></li>
+
+        <li>fix for <tt>--disable-tcap-names</tt></li>
+
+        <li>fix for termcap in <tt>nc_access.h</tt></li>
       </ul>
     </li>
 
     <li>
-      <p>ensure <code>WINVER</code> is defined in makefiles rather
-      than using headers.</p>
-    </li>
+      <p>other configure-script improvements:</p>
 
-    <li>
-      <p>add check for the <code>gnatprep</code>
-      &ldquo;<code>-T</code>&rdquo; option.</p>
-    </li>
+      <ul>
+        <li>recent msys2 headers work with
+        <tt>_DEFAULT_SOURCE</tt>; amend check</li>
 
-    <li>
-      <p>work around a bug introduced by <a href=
-      "http://stackoverflow.com/questions/20877689/gcc-4-8-1-minggw-d-option-does-not-work-as-usual">
-      gcc 4.8.1</a> in MinGW which breaks "trace" feature.</p>
-    </li>
+        <li>use <tt>$ac_includes_default</tt> in most cases where
+        stdlib.h should work</li>
 
-    <li>
-      <p>add a driver-name method to each of the drivers.</p>
+        <li>use <tt>#error</tt> consistently vs "make an
+        error"</li>
+
+        <li>add configure macro for <tt>gettimeofday</tt> vs inline
+        check</li>
+      </ul>
     </li>
   </ul>
 
-  <h4><a name="h4-port-systems" id="h4-port-systems">Other
-  ports</a></h4>
-
-  <p>These changes affect certain platforms (ports):</p>
+  <p>Here are some of the other portability fixes:</p>
 
   <ul>
     <li>
-      <p>the configure script knows how to build shared libraries
-      with DragonFlyBSD and Interix.</p>
+      <p>modify configure scripts/makefiles to omit
+      <tt>KEY_RESIZE</tt> if the corresponding <tt>SIGWINCH</tt>
+      feature is disabled</p>
     </li>
 
     <li>
-      <p>support for AIX shared libraries is improved, tested with
-      AIX 5.3, 6.1 and 7.1 with both gcc 4.2.4 and cc:</p>
-
-      <ul>
-        <li>
-          <p>the shared-library suffix for AIX 5 and 6 is now
-          ".so"</p>
-        </li>
-
-        <li>
-          <p>the <code>-brtl</code> option is used with AIX 5-7; it
-          is needed to link with the shared libraries.</p>
-        </li>
-      </ul>
+      <p>increase <tt>MB_CUR_MAX</tt> to 16, matching glibc's
+      <tt>MB_LEN_MAX</tt></p>
     </li>
 
     <li>
-      <p>the configure <code>--enable-pc-files</code> option takes
-      into account the <a href=
-      "http://linux.die.net/man/1/pkg-config"><code>PKG_CONFIG_PATH</code></a>
-      variable.</p>
+      <p>add BSD <tt>erase2</tt> to characters handled by
+      tset/reset</p>
     </li>
 
     <li>
-      <p>the configure option <code>--with-pkg-config-libdir</code>
-      provides control over the actual directory into which
-      pc-files are installed.</p>
+      <p>use <tt>getauxval</tt> when available, to improve
+      <tt>setuid</tt>/<tt>setgid</tt> checks</p>
     </li>
 
     <li>
-      <p>the build scripts add explicit -ltinfo, etc., to the
-      generated ".pc" file when <code>ld</code> option
-      &ldquo;<code>--as-needed</code>&rdquo; is used, or when
-      ncurses and tinfo are installed without using rpath.</p>
+      <p>set <tt>dwShareMode</tt> in calls to
+      <tt>CreateConsoleScreenBuffer</tt></p>
     </li>
 
     <li>
-      <p>the configure script disallows conflicting options
-      &ldquo;<code>--with-termlib</code>&rdquo; and
-      &ldquo;<code>--enable-term-driver</code>&rdquo;.</p>
+      <p>use <tt>CreateFile</tt> with "<tt>CONIN$</tt>",
+      "<tt>CONOUT$</tt>" rather than <tt>GetStdHandle</tt> to
+      obtain a handle on the actual console, avoiding redirection
+      in the MinGW/Win32 configurations</p>
     </li>
 
     <li>
-      <p>the check for missing c++ compiler to work when no error
-      is reported, and no variables set is improved (see note for
-      <a href=
-      "http://invisible-island.net/ncurses/NEWS.html#t20021206">20021206</a>).</p>
+      <p>modify MinGW driver to return <tt>KEY_BACKSPACE</tt> when
+      an unmodified <tt>VK_BACK</tt> virtual key is entered</p>
     </li>
 
     <li>
-      <p>the misc/gen_edit.sh script selects a "linux" entry which
-      works with the current kernel rather than assuming it is
-      always "linux3.0"</p>
-    </li>
-
-    <li>
-      <p>the test/configure script makes it simpler to override
-      names of curses-related libraries, to help with linking with
-      pdcurses in MinGW environment.</p>
-    </li>
-
-    <li>
-      <p>the configure-script/ifdef's allow the BSD OLD_TTY feature
-      to be suppressed if the type of <code>ospeed</code> is
-      configured using the option <code>--with-ospeed</code> to not
-      be a <code>short</code>. By default, it is a
-      <code>short</code> for termcap-compatibility.</p>
-    </li>
-
-    <li>
-      <p>the MKlib_gen.sh script works around a recent change in
-      gcc 5 (released <a href=
-      "https://gcc.gnu.org/gcc-5/">mid-2015</a>) which essentially
-      emits multiple <code>#line</code> statements for the same
-      position in a file.</p>
-    </li>
-
-    <li>
-      <p>the configure script works with Minix3.2 (see <a href=
-      "http://invisible-island.net/autoconf/portability-test.html">note</a>
-      on portability)</p>
-    </li>
-
-    <li>
-      <p>OS/2 redux:</p>
-
-      <ul>
-        <li>
-          <p>the configure script supports OS/2 kLIBC.</p>
-        </li>
-
-        <li>
-          <p>the <code>--with-lib-prefix</code> option allows
-          configuring for old/new flavors of OS/2 EMX.</p>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <p>improved configure-script checks for
-      <code>_XOPEN_SOURCE</code>:</p>
-
-      <ul>
-        <li>
-          <p>the definition works starting with Solaris 10.</p>
-        </li>
-
-        <li>
-          <p>the definition is suppressed for IRIX64, since its
-          header files have a conflict versus
-          <code>_SGI_SOURCE</code>.</p>
-        </li>
-      </ul>
+      <p>modify MinGW configuration to provide for running in
+      MSYS/MSYS2 shells, assuming ConPTY support</p>
     </li>
   </ul>
+
   <hr>
 
-  <h2><a name="h2-features" id="h2-features">Features of <em class=
-  "small-caps">ncurses</em></a></h2>
+  <h2><a name="h2-features" id="h2-features">Features of
+  <span class="main-name">ncurses</span></a></h2>
 
-  <p>The <em class="small-caps">ncurses</em> package is fully
+  <p>The <span class="main-name">ncurses</span> package is fully
   upward-compatible with SVr4 (System V Release 4) curses:</p>
 
   <ul>
@@ -1836,43 +1103,46 @@
     </li>
 
     <li>
-      <p><em class="small-caps">ncurses</em> supports all of the
-      for SVr4 curses features including keyboard mapping, color,
-      forms-drawing with ACS characters, and automatic recognition
+      <p><span class="main-name">ncurses</span> supports the
+      features of SVr4 curses including keyboard mapping, color,
+      form drawing with ACS characters, and automatic recognition
       of keypad and function keys.</p>
     </li>
 
     <li>
-      <p><em class="small-caps">ncurses</em> provides these SVr4
-      add-on libraries (not part of X/Open Curses):</p>
+      <p><span class="main-name">ncurses</span> provides work-alike
+      replacements of SVr4 supplemental libraries based on curses,
+      but which were not specified by X/Open Curses:</p>
 
       <ul>
         <li>
-          <p>the panels library, supporting a stack of windows with
-          backing store.</p>
+          <p>the panel library, supporting a stack of windows with
+          backing store</p>
         </li>
 
         <li>
-          <p>the menus library, supporting a uniform but flexible
-          interface for menu programming.</p>
+          <p>the menu library, supporting a uniform but flexible
+          interface for menu programming</p>
         </li>
 
         <li>
           <p>the form library, supporting data collection through
-          on-screen forms.</p>
+          on-screen forms</p>
         </li>
       </ul>
     </li>
 
     <li>
-      <p><em class="small-caps">ncurses</em>'s terminal database is
-      fully compatible with that used by SVr4 curses.</p>
+      <p><span class="main-name">ncurses</span>'s terminal database
+      is fully compatible with that used by SVr4 curses.</p>
 
       <ul>
-        <li><em class="small-caps">ncurses</em> supports
-        user-defined capabilities which it can see, but which are
-        hidden from SVr4 curses applications using the
-        <em>same</em> terminal database.</li>
+        <li>
+          <p><span class="main-name">ncurses</span> supports
+          user-defined capabilities that it can see, but which are
+          hidden from SVr4 curses applications using the
+          <em>same</em> terminal database.</p>
+        </li>
 
         <li>
           <p>It can be optionally configured to match the format
@@ -1880,36 +1150,36 @@
         </li>
 
         <li>
-          <p>Alternatively, <em class="small-caps">ncurses</em> can
-          be configured to use hashed databases rather than the
+          <p>Alternatively, <span class="main-name">ncurses</span>
+          can be configured to use hashed databases rather than the
           directory of files used by SVr4 curses.</p>
         </li>
       </ul>
     </li>
 
     <li>
-      <p>The <em class="small-caps">ncurses</em> utilities have
+      <p>The <span class="main-name">ncurses</span> utilities have
       options to allow you to filter terminfo entries for use with
       less capable <em>curses</em>/<em>terminfo</em> versions such
-      as the HP/UX and AIX ports.</p>
+      as the HP-UX and AIX ports.</p>
     </li>
   </ul>
 
-  <p>The <em class="small-caps">ncurses</em> package also has many
-  useful extensions over SVr4:</p>
+  <p>The <span class="main-name">ncurses</span> package also has
+  many useful extensions over SVr4:</p>
 
   <ul>
     <li>
       <p>The API is 8-bit clean and base-level conformant with the
-      X/OPEN curses specification, XSI curses (that is, it
-      implements all BASE level features, and most EXTENDED
-      features). It includes many function calls not supported
-      under SVr4 curses (but portability of all calls is documented
-      so you can use the SVr4 subset only).</p>
+      X/Open Curses specification, XSI curses (that is, it
+      implements all <em>BASE</em> level features, and almost all
+      <em>EXTENDED</em> features). It includes many function calls
+      not supported under SVr4 curses (but portability of all calls
+      is documented so you can use the SVr4 subset only).</p>
     </li>
 
     <li>
-      <p>Unlike SVr3 curses, <em class="small-caps">ncurses</em>
+      <p>Unlike SVr3 curses, <span class="main-name">ncurses</span>
       can write to the rightmost-bottommost corner of the screen if
       your terminal has an insert-character capability.</p>
     </li>
@@ -1942,9 +1212,14 @@
     <li>
       <p>The functions <code>keyok</code> and
       <code>define_key</code> allow you to better control the use
-      of function keys, e.g., disabling the <em class=
-      "small-caps">ncurses</em> KEY_MOUSE, or by defining more than
-      one control sequence to map to a given key code.</p>
+      of function keys, e.g., disabling the <span class=
+      "main-name">ncurses</span> KEY_MOUSE, or by defining more
+      than one control sequence to map to a given key code.</p>
+    </li>
+
+    <li>
+      <p>Support for direct-color terminals, such as modern
+      xterm.</p>
     </li>
 
     <li>
@@ -1991,21 +1266,22 @@
     </li>
 
     <li>
-      <p>The <a href=
-      "http://invisible-island.net/ncurses/man/tic.1m.html">tic</a>/<a href="http://invisible-island.net/ncurses/man/captoinfo.1m.html">captoinfo</a>
-      utility provided with <em class="small-caps">ncurses</em> has
-      the ability to translate many termcaps from the XENIX, IBM
-      and AT&amp;T extension sets.</p>
+      <p>The <a href="https://invisible-island.net/ncurses/man/tic.1m.html"><span class=
+      "part-name">tic</span></a>/<a href=
+      "https://invisible-island.net/ncurses/man/captoinfo.1m.html">captoinfo</a> utility
+      provided with <span class="main-name">ncurses</span> has the
+      ability to translate many termcaps from the XENIX, IBM and
+      AT&amp;T extension sets.</p>
     </li>
 
     <li>
       <p>A BSD-like <a href=
-      "http://invisible-island.net/ncurses/man/tset.1.html">tset</a>
-      utility is provided.</p>
+      "https://invisible-island.net/ncurses/man/tset.1.html"><span class=
+      "part-name">tset</span></a> utility is provided.</p>
     </li>
 
     <li>
-      <p>The <em class="small-caps">ncurses</em> library and
+      <p>The <span class="main-name">ncurses</span> library and
       utilities will automatically read terminfo entries from
       $HOME/.terminfo if it exists, and compile to that directory
       if it exists and the user has no write access to the system
@@ -2030,176 +1306,222 @@
 
     <li>
       <p>The table-of-entries utility <a href=
-      "http://invisible-island.net/ncurses/man/toe.1m.html">toe</a>
-      makes it easy for users to see exactly what terminal types
-      are available on the system.</p>
+      "https://invisible-island.net/ncurses/man/toe.1m.html"><span class=
+      "part-name">toe</span></a> makes it easy for users to see
+      exactly what terminal types are available on the system.</p>
     </li>
 
     <li>
-      <p>The library meets the XSI requirement that every macro
-      entry point have a corresponding function which may be linked
-      (and will be prototype-checked) if the macro definition is
-      disabled with <code>#undef</code>.</p>
+      <p>X/Open Curses permits most functions it specifies to be
+      made available as macros as well. ncurses does this</p>
+
+      <ul>
+        <li>to improve performance, e.g., for operations composed
+        of simpler functions such as cursor movement following by
+        adding text to the screen,</li>
+
+        <li>to simplify the implementation by reusing functions
+        which use common parameters, e.g., the standard screen
+        <code>stdscr</code>, and</li>
+
+        <li>to provide functions that return values via their
+        parameters</li>
+      </ul>
+
+      <p>Except for the last case, ncurses provides a non-macro
+      implementation of the function. If the macro definition is
+      disabled with <code>#undef</code>, or by defining
+      <code>NCURSES_NOMACROS</code> the function may be linked (and
+      its calls will be checked against the prototype).</p>
     </li>
 
     <li>
       <p>Extensive documentation is provided (see the <em><a href=
-      "http://invisible-island.net/ncurses/ncurses.faq.html#additional_reading">
-      Additional Reading</a></em> section of the <em><a href=
-      "http://invisible-island.net/ncurses/ncurses.faq.html"><em class="small-caps">
-      ncurses</em> FAQ</a></em> for online documentation).</p>
+      "https://invisible-island.net/ncurses/ncurses.faq.html#additional_reading">Additional
+      Reading</a></em> section of the <em><a href=
+      "https://invisible-island.net/ncurses/ncurses.faq.html"><span class=
+      "main-name">ncurses</span> FAQ</a></em> for online
+      documentation).</p>
     </li>
   </ul>
 
   <h2><a name="h2-who-uses" id="h2-who-uses">Applications using
-  <em class="small-caps">ncurses</em></a></h2>
+  <span class="main-name">ncurses</span></a></h2>
 
-  <p>The <em class="small-caps">ncurses</em> distribution includes
-  a selection of test programs (including a few games). These are
-  available separately as <a href=
-  "http://invisible-island.net/ncurses/ncurses-examples.html">ncurses-examples</a></p>
+  <p>The <span class="main-name">ncurses</span> distribution
+  includes a selection of test programs (including a few games).
+  These are available separately as <a href=
+  "https://invisible-island.net/ncurses/ncurses-examples.html">ncurses-examples</a></p>
 
   <p>The ncurses library has been tested with a wide variety of
   applications including:</p>
 
   <blockquote>
     <dl>
-      <dt>cdk</dt>
+      <dt><span class="part-name">aptitude</span>
+      </dt>
+
+      <dd>
+        <p>FrontEnd to Apt, the debian package manager</p>
+
+        <p><a href=
+        "https://wiki.debian.org/Aptitude">https://wiki.debian.org/Aptitude</a></p>
+      </dd>
+
+      <dt><span class="part-name">cdk</span>
+      </dt>
 
       <dd>
         <p>Curses Development Kit</p>
 
-        <p><a href=
-        "http://invisible-island.net/cdk/">http://invisible-island.net/cdk/</a><br>
+        <p><a href="https://invisible-island.net/cdk/">https://invisible-island.net/cdk/</a><br>
         </p>
       </dd>
 
-      <dt>ded</dt>
+      <dt><span class="part-name">ded</span>
+      </dt>
 
       <dd>
         <p>directory-editor</p>
 
-        <p><a href=
-        "http://invisible-island.net/ded/">http://invisible-island.net/ded/</a></p>
+        <p><a href="https://invisible-island.net/ded/">https://invisible-island.net/ded/</a></p>
       </dd>
 
-      <dt>dialog</dt>
+      <dt><span class="part-name">dialog</span>
+      </dt>
 
       <dd>
         <p>the underlying application used in Slackware's setup,
         and the basis for similar install/configure applications on
         many systems.</p>
 
-        <p><a href=
-        "http://invisible-island.net/dialog/">http://invisible-island.net/dialog/</a></p>
+        <p><a href="https://invisible-island.net/dialog/">https://invisible-island.net/dialog/</a></p>
       </dd>
 
-      <dt>lynx</dt>
+      <dt><span class="part-name">lynx</span>
+      </dt>
 
       <dd>
         <p>the text WWW browser</p>
 
         <p><a href=
-        "http://lynx.isc.org/">http://lynx.isc.org/</a></p>
+        "https://lynx.invisible-island.net/">https://lynx.invisible-island.net/</a></p>
       </dd>
 
-      <dt>Midnight Commander</dt>
-
-      <dd>
-        <p>file manager</p>
-
-        <p><a href=
-        "http://www.midnight-commander.org/">http://www.midnight-commander.org/</a></p>
-      </dd>
-
-      <dt>mutt</dt>
+      <dt><span class="part-name">mutt</span>
+      </dt>
 
       <dd>
         <p>mail utility</p>
 
-        <p><a href=
-        "http://www.mutt.org/">http://www.mutt.org/</a></p>
+        <p><a href="http://www.mutt.org/">http://www.mutt.org/</a></p>
       </dd>
 
-      <dt>ncftp</dt>
+      <dt><span class="part-name">ncftp</span>
+      </dt>
 
       <dd>
         <p>file-transfer utility</p>
 
         <p><a href=
-        "http://www.ncftp.com/">http://www.ncftp.com/</a></p>
+        "https://www.ncftp.com/">https://www.ncftp.com/</a></p>
       </dd>
 
-      <dt>nvi</dt>
+      <dt><span class="part-name">nvi</span>
+      </dt>
 
       <dd>
         <p>New vi uses ncurses.</p>
 
         <p><a href=
-        "https://sites.google.com/a/bostic.com/keithbostic/nvi">https://sites.google.com/a/bostic.com/keithbostic/nvi</a><br>
+        "https://sites.google.com/a/bostic.com/keithbostic/the-berkeley-vi-editor-home-page">
+        https://sites.google.com/a/bostic.com/keithbostic/the-berkeley-vi-editor-home-page</a><br>
+
         </p>
       </dd>
 
-      <dt>tin</dt>
+      <dt><span class="part-name">ranger</span>
+      </dt>
+
+      <dd>
+        <p>A console file manager with VI key bindings in
+        <em>Python</em>.</p>
+
+        <p><a href=
+        "https://ranger.github.io/">https://ranger.github.io/</a></p>
+      </dd>
+
+      <dt><span class="part-name">tin</span>
+      </dt>
 
       <dd>
         <p>newsreader, supporting color, MIME</p>
 
-        <p><a href=
-        "http://www.tin.org/">http://www.tin.org/</a></p>
+        <p><a href="http://www.tin.org/">http://www.tin.org/</a></p>
+      </dd>
+
+      <dt><span class="part-name">vifm</span>
+      </dt>
+
+      <dd>
+        <p>File manager with vi like keybindings</p>
+
+        <p><a href="https://vifm.info/">https://vifm.info/</a></p>
       </dd>
     </dl>
   </blockquote>
 
-  <p>as well as some that use <em class="small-caps">ncurses</em>
-  for the terminfo support alone:</p>
+  <p>as well as some that use <span class=
+  "main-name">ncurses</span> for the terminfo support alone:</p>
 
   <blockquote>
     <dl>
-      <dt>minicom</dt>
+      <dt><span class="part-name">minicom</span>
+      </dt>
 
       <dd>
         <p>terminal emulator for serial modem connections</p>
 
         <p><a href=
-        "http://alioth.debian.org/projects/minicom/">http://alioth.debian.org/projects/minicom/</a></p>
+        "https://salsa.debian.org/minicom-team/minicom">https://salsa.debian.org/minicom-team/minicom</a></p>
       </dd>
 
-      <dt>mosh</dt>
+      <dt><span class="part-name">mosh</span>
+      </dt>
 
       <dd>
         <p>a replacement for <code>ssh</code>.</p>
 
-        <p><a href=
-        "https://mosh.mit.edu/">https://mosh.mit.edu/</a></p>
+        <p><a href="https://mosh.org/">https://mosh.org/</a></p>
       </dd>
 
-      <dt>tack</dt>
+      <dt><span class="part-name">tack</span>
+      </dt>
 
       <dd>
         <p>terminfo action checker</p>
 
-        <p><a href=
-        "http://invisible-island.net/ncurses/tack.html">http://invisible-island.net/ncurses/tack.html</a></p>
+        <p><a href="https://invisible-island.net/ncurses/tack.html">https://invisible-island.net/ncurses/tack.html</a></p>
       </dd>
 
-      <dt>tmux</dt>
+      <dt><span class="part-name">tmux</span>
+      </dt>
 
       <dd>
         <p>terminal multiplexor</p>
 
         <p><a href=
-        "http://tmux.github.io/">http://tmux.github.io/</a></p>
+        "https://github.com/tmux/tmux/wiki">https://github.com/tmux/tmux/wiki</a></p>
       </dd>
 
-      <dt>vile</dt>
+      <dt><span class="part-name">vile</span>
+      </dt>
 
       <dd>
-        <p>vi-like-emacs may be built to use the terminfo, termcap
-        or curses interfaces.</p>
+        <p><em>vi-like-emacs</em> may be built to use the terminfo,
+        termcap or curses interfaces.</p>
 
-        <p><a href=
-        "http://invisible-island.net/vile/">http://invisible-island.net/vile/</a></p>
+        <p><a href="https://invisible-island.net/vile/">https://invisible-island.net/vile/</a></p>
       </dd>
     </dl>
   </blockquote>
@@ -2208,31 +1530,44 @@
 
   <blockquote>
     <dl>
-      <dt>emacs</dt>
+      <dt><span class="part-name">emacs</span>
+      </dt>
 
       <dd>
         <p>text editor</p>
 
         <p><a href=
-        "http://www.gnu.org/software/emacs/">http://www.gnu.org/software/emacs/</a></p>
+        "https://www.gnu.org/software/emacs/">https://www.gnu.org/software/emacs/</a></p>
       </dd>
 
-      <dt>screen</dt>
+      <dt><span class="part-name">less</span>
+      </dt>
+
+      <dd>
+        <p>The most commonly used <em>pager</em> (a program that
+        displays text files).</p>
+
+        <p><a href=
+        "http://www.greenwoodsoftware.com/less/">http://www.greenwoodsoftware.com/less/</a></p>
+      </dd>
+
+      <dt><span class="part-name">screen</span>
+      </dt>
 
       <dd>
         <p>terminal multiplexor</p>
 
         <p><a href=
-        "http://www.gnu.org/software/screen/">http://www.gnu.org/software/screen/</a></p>
+        "https://www.gnu.org/software/screen/">https://www.gnu.org/software/screen/</a></p>
       </dd>
 
-      <dt>vim</dt>
+      <dt><span class="part-name">vim</span>
+      </dt>
 
       <dd>
         <p>text editor</p>
 
-        <p><a href=
-        "http://www.vim.org/">http://www.vim.org/</a></p>
+        <p><a href="https://www.vim.org/">https://www.vim.org/</a></p>
       </dd>
     </dl>
   </blockquote>
@@ -2240,15 +1575,21 @@
   <h2><a name="h2-development" id="h2-development">Development
   activities</a></h2>
 
-  <p>Zeyd Ben-Halim started <em class="small-caps">ncurses</em>
+  <p>Zeyd Ben-Halim started <span class="main-name">ncurses</span>
   from a previous package pcurses, written by Pavel Curtis. Eric S.
   Raymond continued development. J&uuml;rgen Pfeifer wrote most of
-  the form and menu libraries. Ongoing development work is done by
-  <a href="mailto:dickey@invisible-island.net">Thomas Dickey</a>.
-  Thomas Dickey also acts as the maintainer for the Free Software
-  Foundation, which holds the <a href=
-  "http://invisible-island.net/ncurses/ncurses-license.html">copyright
-  on ncurses</a>.</p>
+  the form and menu libraries.</p>
+
+  <p>Ongoing development work is done by <a href=
+  "mailto:dickey@invisible-island.net">Thomas E. Dickey</a>. Thomas
+  E. Dickey has acted as the maintainer for the Free Software
+  Foundation, which held a <a href=
+  "https://invisible-island.net/ncurses/ncurses-license.html">copyright on ncurses</a> for
+  releases 4.2 through 6.1. Following the release of ncurses 6.1,
+  effective as of release 6.2, copyright for ncurses reverted to
+  Thomas E. Dickey (see the <a href=
+  "https://invisible-island.net/ncurses/ncurses.faq.html#relicensed">ncurses FAQ</a> for
+  additional information).</p>
 
   <p>Contact the current maintainers at</p>
 
@@ -2261,8 +1602,8 @@
   <blockquote>
     <a href=
     "mailto:bug-ncurses-request@gnu.org">bug-ncurses-request@gnu.org</a>
-  </blockquote>containing the line:
-
+  </blockquote>
+  containing the line:
   <blockquote>
     <p><code>subscribe</code>
     <em>&lt;name&gt;@&lt;host.domain&gt;</em></p>
@@ -2271,21 +1612,32 @@
   <p>This list is open to anyone interested in helping with the
   development and testing of this package.</p>
 
-  <p>Beta versions of <em class="small-caps">ncurses</em> and
-  patches to the current release are made available at</p>
+  <p>Beta versions of <span class="main-name">ncurses</span> are
+  made available at</p>
 
   <blockquote>
     <p><a href=
-    "ftp://invisible-island.net/ncurses/">ftp://invisible-island.net/ncurses/</a>&nbsp;.</p>
+    "https://invisible-island.net/archives/ncurses/current/">https://invisible-island.net/archives/ncurses/current/</a>
+    and<br>
+    <a href=
+    "https://invisible-mirror.net/archives/ncurses/current/">https://invisible-mirror.net/archives/ncurses/current/</a>&nbsp;.</p>
+  </blockquote>
+
+  <p>Patches to the current release are made available at</p>
+
+  <blockquote>
+    <p><a href=
+    "https://invisible-island.net/archives/ncurses/6.4/">https://invisible-island.net/archives/ncurses/6.4/</a>
+    and<br>
+    <a href=
+    "https://invisible-mirror.net/archives/ncurses/6.4/">https://invisible-mirror.net/archives/ncurses/6.4/</a>&nbsp;.</p>
   </blockquote>
 
   <p>There is an archive of the mailing list here:</p>
 
   <blockquote>
     <p><a href=
-    "http://lists.gnu.org/archive/html/bug-ncurses">http://lists.gnu.org/archive/html/bug-ncurses</a>
-    (also <a href=
-    "https://lists.gnu.org/archive/html/bug-ncurses">https</a>)</p>
+    "https://lists.gnu.org/archive/html/bug-ncurses">https://lists.gnu.org/archive/html/bug-ncurses</a>&nbsp;.</p>
   </blockquote>
 
   <h2><a name="h2-this-stuff" id="h2-this-stuff">Related
@@ -2295,36 +1647,28 @@
   which may be interesting by themselves:</p>
 
   <ul>
-    <li><a href=
-    "http://invisible-island.net/scripts/man2html.html">man2html</a></li>
+    <li><a href="https://invisible-island.net/ncurses/ncurses-license.html"><span class=
+    "main-name">ncurses</span> licensing</a></li>
+
+    <li><a href="https://invisible-island.net/ncurses/ncurses-mapsyms.html">Symbol versioning
+    in <span class="main-name">ncurses</span></a></li>
+
+    <li><a href="https://invisible-island.net/ncurses/ncurses-slang.html">Comments on
+    <span class="main-name">ncurses</span> versus <span class=
+    "main-name">slang</span> (S-Lang)</a></li>
+
+    <li><a href="https://invisible-island.net/ncurses/ncurses-openbsd.html">Comments on
+    <span class="main-name">OpenBSD</span></a></li>
+
+    <li><a href="https://invisible-island.net/ncurses/tack.html">tack &ndash; terminfo action
+    checker</a></li>
+
+    <li><a href="https://invisible-island.net/ncurses/tctest.html">tctest &ndash; termcap
+    library checker</a></li>
 
     <li><a href=
-    "http://invisible-island.nethttp://invisible-island.net/ncurses/ncurses-license.html">
-    <em class="small-caps">ncurses</em> licensing</a></li>
-
-    <li><a href=
-    "http://invisible-island.net/ncurses/ncurses-mapsyms.html">Symbol
-    versioning in <em class="small-caps">ncurses</em></a></li>
-
-    <li><a href=
-    "http://invisible-island.net/ncurses/ncurses-mingw.html">The
-    MinGW port of <em class="small-caps">ncurses</em></a></li>
-
-    <li><a href=
-    "http://invisible-island.net/ncurses/tack.html">tack &ndash;
-    terminfo action checker</a></li>
-
-    <li><a href=
-    "http://invisible-island.net/autoconf/portability-tar.html">tar
-    versus portability</a></li>
-
-    <li><a href=
-    "http://invisible-island.net/ncurses/tctest.html">tctest
-    &ndash; termcap library checker</a></li>
-
-    <li><a href=
-    "http://invisible-island.net/ncurses/ncurses.html#download_database">
-    Terminal Database</a></li>
+    "https://invisible-island.net/ncurses/ncurses.html#download_database">Terminal
+    Database</a></li>
   </ul>
 
   <h2><a name="h2-other-stuff" id="h2-other-stuff">Other
@@ -2334,13 +1678,18 @@
   terminfo-format terminal description file once maintained by
   <a href="http://www.catb.org/~esr/terminfo/">Eric
   Raymond</a>&nbsp;. Unlike the older version, the termcap and
-  terminfo data are provided in the same file, and provides several
-  user-definable extensions beyond the X/Open specification.</p>
+  terminfo data are provided in the same file, which also provides
+  several user-definable extensions beyond the X/Open Curses
+  specification.</p>
 
   <p>You can find lots of information on terminal-related topics
-  not covered in the terminfo file at <a href=
-  "http://web.archive.org/web/*/http://www.cs.utk.edu/~shuford/terminal">
-  Richard Shuford's archive</a>&nbsp;.</p>
+  not covered in the terminfo file in <a href=
+  "https://shuford.invisible-island.net/">Richard Shuford's
+  archive</a> (<a href=
+  "http://web.archive.org/web/*/http://www.cs.utk.edu/~shuford/terminal">original</a>).
+  The collection of computer manuals at <a href=
+  "http://www.bitsavers.org/pdf/">bitsavers.org</a> has also been
+  useful.</p>
 
   <div class="nav">
     <ul>
@@ -2348,25 +1697,19 @@
 
       <li>
         <a href="#h2-release-notes">Release Notes</a>
-
         <ul>
           <li>
             <a href="#h3-library">Library improvements</a>
-
             <ul>
-              <li><a href="#h3-lib-setbuf">Output
-              buffering</a></li>
+              <li><a href="#h4-new-library">New features</a></li>
 
-              <li><a href="#h3-lib-versioning">Symbol
-              versioning</a></li>
-
-              <li><a href="#h3-lib-other">Miscellaneous</a></li>
+              <li><a href="#h4-fixes-library">Other
+              improvements</a></li>
             </ul>
           </li>
 
           <li>
             <a href="#h3-programs">Program improvements</a>
-
             <ul>
               <li><a href="#h4-utilities">Utilities</a></li>
 
@@ -2378,12 +1721,10 @@
 
           <li><a href="#h3-documentation">Documentation</a></li>
 
-          <li><a href="#h3-bug-fixes">Interesting
-          bug-fixes</a></li>
+          <li><a href="#h3-bug-fixes">Interesting bug-fixes</a></li>
 
           <li>
             <a href="#h3-config-config">Configuration changes</a>
-
             <ul>
               <li><a href="#h4-config-major">Major changes</a></li>
 
@@ -2392,23 +1733,15 @@
             </ul>
           </li>
 
-          <li>
-            <a href="#h3-portability">Portability</a>
-
-            <ul>
-              <li><a href="#h4-port-mingw">MinGW</a></li>
-
-              <li><a href="#h4-port-systems">Other ports</a></li>
-            </ul>
-          </li>
+          <li><a href="#h3-portability">Portability</a></li>
         </ul>
       </li>
 
-      <li><a href="#h2-features">Features of <em class=
-      "small-caps">ncurses</em></a></li>
+      <li><a href="#h2-features">Features of <span class=
+      "main-name">ncurses</span></a></li>
 
-      <li><a href="#h2-who-uses">Applications using <em class=
-      "small-caps">ncurses</em></a></li>
+      <li><a href="#h2-who-uses">Applications using <span class=
+      "main-name">ncurses</span></a></li>
 
       <li><a href="#h2-development">Development activities</a></li>
 
diff --git a/doc/html/hackguide.html b/doc/html/hackguide.html
index 8437080..2b94455 100644
--- a/doc/html/hackguide.html
+++ b/doc/html/hackguide.html
@@ -1,8 +1,8 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <!--
-  $Id: hackguide.html,v 1.29 2013/05/17 23:29:18 tom Exp $
+  $Id: hackguide.html,v 1.36 2022/11/26 19:31:56 tom Exp $
   ****************************************************************************
-  * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc.              *
+  * Copyright 2019-2020,2022 Thomas E. Dickey                                *
+  * Copyright 2000-2013,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -29,886 +29,934 @@
   * authorization.                                                           *
   ****************************************************************************
 -->
-<HTML>
-<HEAD>
-<TITLE>A Hacker's Guide to Ncurses Internals</TITLE>
-<link rev="made" href="mailto:bugs-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<!--
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<html>
+<head>
+  <meta name="generator" content=
+  "HTML Tidy for HTML5 for Linux version 5.6.0">
+  <title>A Hacker's Guide to Ncurses Internals</title>
+  <link rel="author" href="mailto:bugs-ncurses@gnu.org">
+  <meta http-equiv="Content-Type" content=
+  "text/html; charset=us-ascii"><!--
 This document is self-contained, *except* that there is one relative link to
 the ncurses-intro.html document, expected to be in the same directory with
 this one.
 -->
-</HEAD>
-<BODY>
+</head>
+<body>
+  <h1 class="no-header">A Hacker's Guide to NCURSES</h1>
 
-<H1>A Hacker's Guide to NCURSES</H1>
+  <h2>A Hacker's Guide to NCURSES</h2>
 
-<H1>Contents</H1>
-<UL>
-<LI><A HREF="#abstract">Abstract</A>
-<LI><A HREF="#objective">Objective of the Package</A>
-<UL>
-<LI><A HREF="#whysvr4">Why System V Curses?</A>
-<LI><A HREF="#extensions">How to Design Extensions</A>
-</UL>
-<LI><A HREF="#portability">Portability and Configuration</A>
-<LI><A HREF="#documentation">Documentation Conventions</A>
-<LI><A HREF="#bugtrack">How to Report Bugs</A>
-<LI><A HREF="#ncurslib">A Tour of the Ncurses Library</A>
-<UL>
-<LI><A HREF="#loverview">Library Overview</A>
-<LI><A HREF="#engine">The Engine Room</A>
-<LI><A HREF="#input">Keyboard Input</A>
-<LI><A HREF="#mouse">Mouse Events</A>
-<LI><A HREF="#output">Output and Screen Updating</A>
-</UL>
-<LI><A HREF="#fmnote">The Forms and Menu Libraries</A>
-<LI><A HREF="#tic">A Tour of the Terminfo Compiler</A>
-<UL>
-<LI><A HREF="#nonuse">Translation of Non-<STRONG>use</STRONG> Capabilities</A>
-<LI><A HREF="#uses">Use Capability Resolution</A>
-<LI><A HREF="#translation">Source-Form Translation</A>
-</UL>
-<LI><A HREF="#utils">Other Utilities</A>
-<LI><A HREF="#style">Style Tips for Developers</A>
-<LI><A HREF="#port">Porting Hints</A>
-</UL>
+  <div class="nav">
+    <h2>Contents</h2>
 
-<H1><A NAME="abstract">Abstract</A></H1>
+    <ul>
+      <li><a href="#abstract">Abstract</a></li>
 
-This document is a hacker's tour of the <STRONG>ncurses</STRONG> library and utilities.
-It discusses design philosophy, implementation methods, and the
-conventions used for coding and documentation.  It is recommended
-reading for anyone who is interested in porting, extending or improving the
-package.
+      <li>
+        <a href="#objective">Objective of the Package</a>
+        <ul>
+          <li><a href="#whysvr4">Why System V Curses?</a></li>
 
-<H1><A NAME="objective">Objective of the Package</A></H1>
+          <li><a href="#extensions">How to Design Extensions</a></li>
+        </ul>
+      </li>
 
-The objective of the <STRONG>ncurses</STRONG> package is to provide a free software API for
-character-cell terminals and terminal emulators with the following
-characteristics:
+      <li><a href="#portability">Portability and Configuration</a></li>
 
-<UL>
-<LI>Source-compatible with historical curses implementations (including
-     the original BSD curses and System V curses.
-<LI>Conformant with the XSI Curses standard issued as part of XPG4 by
-     X/Open.
-<LI>High-quality -- stable and reliable code, wide portability, good
-     packaging, superior documentation.
-<LI>Featureful -- should eliminate as much of the drudgery of C interface
-     programming as possible, freeing programmers to think at a higher
-     level of design.
-</UL>
+      <li><a href="#documentation">Documentation Conventions</a></li>
 
-These objectives are in priority order.  So, for example, source
-compatibility with older version must trump featurefulness -- we cannot
-add features if it means breaking the portion of the API corresponding
-to historical curses versions.
+      <li><a href="#bugtrack">How to Report Bugs</a></li>
 
-<H2><A NAME="whysvr4">Why System V Curses?</A></H2>
+      <li>
+        <a href="#ncurslib">A Tour of the Ncurses Library</a>
+        <ul>
+          <li><a href="#loverview">Library Overview</a></li>
 
-We used System V curses as a model, reverse-engineering their API, in
-order to fulfill the first two objectives. <P>
+          <li><a href="#engine">The Engine Room</a></li>
 
-System V curses implementations can support BSD curses programs with
-just a recompilation, so by capturing the System V API we also
-capture BSD's. <P>
+          <li><a href="#input">Keyboard Input</a></li>
 
-More importantly for the future, the XSI Curses standard issued by X/Open
-is explicitly and closely modeled on System V.  So conformance with
-System V took us most of the way to base-level XSI conformance.
+          <li><a href="#mouse">Mouse Events</a></li>
 
-<H2><A NAME="extensions">How to Design Extensions</A></H2>
+          <li><a href="#output">Output and Screen Updating</a></li>
+        </ul>
+      </li>
 
-The third objective (standards conformance) requires that it be easy to
-condition source code using <STRONG>ncurses</STRONG> so that the absence of nonstandard
-extensions does not break the code. <P>
+      <li><a href="#fmnote">The Forms and Menu Libraries</a></li>
 
-Accordingly, we have a policy of associating with each nonstandard extension
-a feature macro, so that ncurses client code can use this macro to condition
-in or out the code that requires the <STRONG>ncurses</STRONG> extension. <P>
+      <li>
+        <a href="#tic">A Tour of the Terminfo Compiler</a>
+        <ul>
+          <li><a href="#nonuse">Translation of
+          Non-<strong>use</strong> Capabilities</a></li>
 
-For example, there is a macro <CODE>NCURSES_MOUSE_VERSION</CODE> which XSI Curses
-does not define, but which is defined in the <STRONG>ncurses</STRONG> library header.
-You can use this to condition the calls to the mouse API calls.
+          <li><a href="#uses">Use Capability Resolution</a></li>
 
-<H1><A NAME="portability">Portability and Configuration</A></H1>
+          <li><a href="#translation">Source-Form Translation</a></li>
+        </ul>
+      </li>
 
-Code written for <STRONG>ncurses</STRONG> may assume an ANSI-standard C compiler and
-POSIX-compatible OS interface.  It may also assume the presence of a
-System-V-compatible <EM>select(2)</EM> call. <P>
+      <li><a href="#utils">Other Utilities</a></li>
 
-We encourage (but do not require) developers to make the code friendly
-to less-capable UNIX environments wherever possible. <P>
+      <li><a href="#style">Style Tips for Developers</a></li>
 
-We encourage developers to support OS-specific optimizations and methods
-not available under POSIX/ANSI, provided only that: 
+      <li><a href="#port">Porting Hints</a></li>
+    </ul>
+  </div>
 
-<UL>
-<LI>All such code is properly conditioned so the build process does not
-     attempt to compile it under a plain ANSI/POSIX environment.
-<LI>Adding such implementation methods does not introduce incompatibilities
-     in the <STRONG>ncurses</STRONG> API between platforms.
-</UL>
+  <h2><a name="abstract" id="abstract">Abstract</a></h2>
 
-We use GNU <CODE>autoconf(1)</CODE> as a tool to deal with portability issues.
-The right way to leverage an OS-specific feature is to modify the autoconf
-specification files (configure.in and aclocal.m4) to set up a new feature
-macro, which you then use to condition your code.
+  <p>This document is a hacker's tour of the
+  <strong>ncurses</strong> library and utilities. It discusses
+  design philosophy, implementation methods, and the conventions
+  used for coding and documentation. It is recommended reading for
+  anyone who is interested in porting, extending or improving the
+  package.</p>
 
-<H1><A NAME="documentation">Documentation Conventions</A></H1>
+  <h2><a name="objective" id="objective">Objective of the
+  Package</a></h2>
 
-There are three kinds of documentation associated with this package.  Each
-has a different preferred format:
+  <p>The objective of the <strong>ncurses</strong> package is to
+  provide a free software API for character-cell terminals and
+  terminal emulators with the following characteristics:</p>
 
-<UL>
-<LI>Package-internal files (README, INSTALL, TO-DO etc.)
-<LI>Manual pages.
-<LI>Everything else (i.e., narrative documentation).
-</UL>
+  <ul>
+    <li>Source-compatible with historical curses implementations
+    (including the original BSD curses and System V curses.</li>
 
-Our conventions are simple:
-<OL>
-<LI><STRONG>Maintain package-internal files in plain text.</STRONG>
-     The expected viewer for them <EM>more(1)</EM> or an editor window; there's
-     no point in elaborate mark-up.
+    <li>Conformant with the XSI Curses standard issued as part of
+    XPG4 by X/Open.</li>
 
-<LI><STRONG>Mark up manual pages in the man macros.</STRONG>  These have to be viewable
-     through traditional <EM>man(1)</EM> programs.
+    <li>High-quality &mdash; stable and reliable code, wide
+    portability, good packaging, superior documentation.</li>
 
-<LI><STRONG>Write everything else in HTML.</STRONG>
-</OL>
+    <li>Featureful &mdash; should eliminate as much of the drudgery
+    of C interface programming as possible, freeing programmers to
+    think at a higher level of design.</li>
+  </ul>
 
-When in doubt, HTMLize a master and use <EM>lynx(1)</EM> to generate
-plain ASCII (as we do for the announcement document). <P>
+  <p>These objectives are in priority order. So, for example,
+  source compatibility with older version must trump featurefulness
+  &mdash; we cannot add features if it means breaking the portion
+  of the API corresponding to historical curses versions.</p>
 
-The reason for choosing HTML is that it's (a) well-adapted for on-line
-browsing through viewers that are everywhere; (b) more easily readable
-as plain text than most other mark-ups, if you don't have a viewer; and (c)
-carries enough information that you can generate a nice-looking printed
-version from it.  Also, of course, it make exporting things like the
-announcement document to WWW pretty trivial.
+  <h3><a name="whysvr4" id="whysvr4">Why System V Curses?</a></h3>
 
-<H1><A NAME="bugtrack">How to Report Bugs</A></H1>
+  <p>We used System V curses as a model, reverse-engineering their
+  API, in order to fulfill the first two objectives.</p>
 
-The <A NAME="bugreport">reporting address for bugs</A> is
-<A HREF="mailto:bug-ncurses@gnu.org">bug-ncurses@gnu.org</A>.
-This is a majordomo list; to join, write
-to <CODE>bug-ncurses-request@gnu.org</CODE> with a message containing the line:
-<PRE>
+  <p>System V curses implementations can support BSD curses
+  programs with just a recompilation, so by capturing the System V
+  API we also capture BSD's.</p>
+
+  <p>More importantly for the future, the XSI Curses standard
+  issued by X/Open is explicitly and closely modeled on System V.
+  So conformance with System V took us most of the way to
+  base-level XSI conformance.</p>
+
+  <h3><a name="extensions" id="extensions">How to Design
+  Extensions</a></h3>
+
+  <p>The third objective (standards conformance) requires that it
+  be easy to condition source code using <strong>ncurses</strong>
+  so that the absence of nonstandard extensions does not break the
+  code.</p>
+
+  <p>Accordingly, we have a policy of associating with each
+  nonstandard extension a feature macro, so that ncurses client
+  code can use this macro to condition in or out the code that
+  requires the <strong>ncurses</strong> extension.</p>
+
+  <p>For example, there is a macro
+  <code>NCURSES_MOUSE_VERSION</code> which XSI Curses does not
+  define, but which is defined in the <strong>ncurses</strong>
+  library header. You can use this to condition the calls to the
+  mouse API calls.</p>
+
+  <h2><a name="portability" id="portability">Portability and
+  Configuration</a></h2>
+
+  <p>Code written for <strong>ncurses</strong> may assume an
+  ANSI-standard C compiler and POSIX-compatible OS interface. It
+  may also assume the presence of a System-V-compatible
+  <em>select(2)</em> call.</p>
+
+  <p>We encourage (but do not require) developers to make the code
+  friendly to less-capable UNIX environments wherever possible.</p>
+
+  <p>We encourage developers to support OS-specific optimizations
+  and methods not available under POSIX/ANSI, provided only
+  that:</p>
+
+  <ul>
+    <li>All such code is properly conditioned so the build process
+    does not attempt to compile it under a plain ANSI/POSIX
+    environment.</li>
+
+    <li>Adding such implementation methods does not introduce
+    incompatibilities in the <strong>ncurses</strong> API between
+    platforms.</li>
+  </ul>
+
+  <p>We use GNU <code>autoconf(1)</code> as a tool to deal with
+  portability issues. The right way to leverage an OS-specific
+  feature is to modify the autoconf specification files
+  (configure.in and aclocal.m4) to set up a new feature macro,
+  which you then use to condition your code.</p>
+
+  <h2><a name="documentation" id="documentation">Documentation
+  Conventions</a></h2>
+
+  <p>There are three kinds of documentation associated with this
+  package. Each has a different preferred format:</p>
+
+  <ul>
+    <li>Package-internal files (README, INSTALL, TO-DO etc.)</li>
+
+    <li>Manual pages.</li>
+
+    <li>Everything else (i.e., narrative documentation).</li>
+  </ul>
+
+  <p>Our conventions are simple:</p>
+
+  <ol>
+    <li><strong>Maintain package-internal files in plain
+    text.</strong> The expected viewer for them is <em>more(1)</em> or
+    an editor window; there is no point in elaborate mark-up.</li>
+
+    <li><strong>Mark up manual pages in the man macros.</strong>
+    These have to be viewable through traditional <em>man(1)</em>
+    programs.</li>
+
+    <li><strong>Write everything else in HTML.</strong>
+    </li>
+  </ol>
+
+  <p>When in doubt, HTMLize a master and use <em>lynx(1)</em> to
+  generate plain ASCII (as we do for the announcement
+  document).</p>
+
+  <p>The reason for choosing HTML is that it is (a) well-adapted
+  for on-line browsing through viewers that are everywhere; (b)
+  more easily readable as plain text than most other mark-ups, if
+  you do not have a viewer; and (c) carries enough information that
+  you can generate a nice-looking printed version from it. Also, of
+  course, it make exporting things like the announcement document
+  to WWW pretty trivial.</p>
+
+  <h2><a name="bugtrack" id="bugtrack">How to Report Bugs</a></h2>
+
+  <p>The <a name="bugreport" id="bugreport">reporting address for
+  bugs</a> is <a href=
+  "mailto:bug-ncurses@gnu.org">bug-ncurses@gnu.org</a>. This is a
+  majordomo list; to join, write to
+  <code>bug-ncurses-request@gnu.org</code> with a message
+  containing the line:</p>
+
+  <pre class="code-block">
              subscribe &lt;name&gt;@&lt;host.domain&gt;
-</PRE>
+</pre>
+  <p>The <code>ncurses</code> code is maintained by a small group
+  of volunteers. While we try our best to fix bugs promptly, we
+  simply do not have a lot of hours to spend on elementary
+  hand-holding. We rely on intelligent cooperation from our users.
+  If you think you have found a bug in <code>ncurses</code>, there
+  are some steps you can take before contacting us that will help
+  get the bug fixed quickly.</p>
 
-The <CODE>ncurses</CODE> code is maintained by a small group of
-volunteers.  While we try our best to fix bugs promptly, we simply
-don't have a lot of hours to spend on elementary hand-holding.  We rely
-on intelligent cooperation from our users.  If you think you have
-found a bug in <CODE>ncurses</CODE>, there are some steps you can take
-before contacting us that will help get the bug fixed quickly. <P>
+  <p>In order to use our bug-fixing time efficiently, we put people
+  who show us they have taken these steps at the head of our queue.
+  This means that if you do not, you will probably end up at the
+  tail end and have to wait a while.</p>
 
-In order to use our bug-fixing time efficiently, we put people who
-show us they've taken these steps at the head of our queue.  This
-means that if you don't, you'll probably end up at the tail end and
-have to wait a while.
+  <ol>
+    <li><p>Develop a recipe to reproduce the bug.
+      <p>Bugs we can reproduce are likely to be fixed very quickly,
+      often within days. The most effective single thing you can do
+      to get a quick fix is develop a way we can duplicate the bad
+      behavior &mdash; ideally, by giving us source for a small,
+      portable test program that breaks the library. (Even better
+      is a keystroke recipe using one of the test programs provided
+      with the distribution.)</p>
+    </li>
 
-<OL>
-<LI>Develop a recipe to reproduce the bug.
-<p>
-Bugs we can reproduce are likely to be fixed very quickly, often
-within days.  The most effective single thing you can do to get a
-quick fix is develop a way we can duplicate the bad behavior --
-ideally, by giving us source for a small, portable test program that
-breaks the library. (Even better is a keystroke recipe using one of
-the test programs provided with the distribution.)
+    <li><p>Try to reproduce the bug on a different terminal type.
+      <p>In our experience, most of the behaviors people report as
+      library bugs are actually due to subtle problems in terminal
+      descriptions. This is especially likely to be true if you are
+      using a traditional asynchronous terminal or PC-based
+      terminal emulator, rather than xterm or a UNIX console
+      entry.</p>
 
-<LI>Try to reproduce the bug on a different terminal type. <P>
+      <p>It is therefore extremely helpful if you can tell us
+      whether or not your problem reproduces on other terminal
+      types. Usually you will have both a console type and xterm
+      available; please tell us whether or not your bug reproduces
+      on both.</p>
 
-In our experience, most of the behaviors people report as library bugs
-are actually due to subtle problems in terminal descriptions.  This is
-especially likely to be true if you're using a traditional
-asynchronous terminal or PC-based terminal emulator, rather than xterm
-or a UNIX console entry. <P>
+      <p>If you have xterm available, it is also good to collect
+      xterm reports for different window sizes. This is especially
+      true if you normally use an unusual xterm window size &mdash;
+      a surprising number of the bugs we have seen are either
+      triggered or masked by these.</p>
+    </li>
 
-It's therefore extremely helpful if you can tell us whether or not your
-problem reproduces on other terminal types.  Usually you'll have both
-a console type and xterm available; please tell us whether or not your
-bug reproduces on both. <P>
+    <li><p>Generate and examine a trace file for the broken behavior.
+      <p>Recompile your program with the debugging versions of the
+      libraries. Insert a <code>trace()</code> call with the
+      argument set to <code>TRACE_UPDATE</code>. (See <a href=
+      "ncurses-intro.html#debugging">"Writing Programs with
+      NCURSES"</a> for details on trace levels.) Reproduce your
+      bug, then look at the trace file to see what the library was
+      actually doing.</p>
 
-If you have xterm available, it is also good to collect xterm reports for
-different window sizes.  This is especially true if you normally use an
-unusual xterm window size -- a surprising number of the bugs we've seen
-are either triggered or masked by these. 
+      <p>Another frequent cause of apparent bugs is application
+      coding errors that cause the wrong things to be put on the
+      virtual screen. Looking at the virtual-screen dumps in the
+      trace file will tell you immediately if this is happening,
+      and save you from the possible embarrassment of being told
+      that the bug is in your code and is your problem rather than
+      ours.</p>
 
-<LI>Generate and examine a trace file for the broken behavior. <P>
+      <p>If the virtual-screen dumps look correct but the bug
+      persists, it is possible to crank up the trace level to give
+      more and more information about the library's update actions
+      and the control sequences it issues to perform them. The test
+      directory of the distribution contains a tool for digesting
+      these logs to make them less tedious to wade through.</p>
 
-Recompile your program with the debugging versions of the libraries.
-Insert a <CODE>trace()</CODE> call with the argument set to <CODE>TRACE_UPDATE</CODE>.
-(See <A HREF="ncurses-intro.html#debugging">"Writing Programs with
-NCURSES"</A> for details on trace levels.)
-Reproduce your bug, then look at the trace file to see what the library
-was actually doing. <P>
+      <p>Often you will find terminfo problems at this stage by
+      noticing that the escape sequences put out for various
+      capabilities are wrong. If not, you are likely to learn
+      enough to be able to characterize any bug in the
+      screen-update logic quite exactly.</p>
+    </li>
 
-Another frequent cause of apparent bugs is application coding errors
-that cause the wrong things to be put on the virtual screen.  Looking
-at the virtual-screen dumps in the trace file will tell you immediately if
-this is happening, and save you from the possible embarrassment of being
-told that the bug is in your code and is your problem rather than ours. <P>
+    <li><p>Report details and symptoms, not just interpretations.
+      <p>If you do the preceding two steps, it is very likely that
+      you will discover the nature of the problem yourself and be
+      able to send us a fix. This will create happy feelings all
+      around and earn you good karma for the first time you run
+      into a bug you really cannot characterize and fix
+      yourself.</p>
 
-If the virtual-screen dumps look correct but the bug persists, it's
-possible to crank up the trace level to give more and more information
-about the library's update actions and the control sequences it issues
-to perform them.  The test directory of the distribution contains a
-tool for digesting these logs to make them less tedious to wade
-through. <P>
+      <p>If you are still stuck, at least you will know what to
+      tell us. Remember, we need details. If you guess about what
+      is safe to leave out, you are too likely to be wrong.</p>
 
-Often you'll find terminfo problems at this stage by noticing that the
-escape sequences put out for various capabilities are wrong.  If not,
-you're likely to learn enough to be able to characterize any bug in
-the screen-update logic quite exactly.
+      <p>If your bug produces a bad update, include a trace file.
+      Try to make the trace at the <em>least</em> voluminous level
+      that pins down the bug. Logs that have been through
+      tracemunch are OK, it does not throw away any information
+      (actually they are better than un-munched ones because they
+      are easier to read).</p>
 
-<LI>Report details and symptoms, not just interpretations. <P>
+      <p>If your bug produces a core-dump, please include a
+      symbolic stack trace generated by gdb(1) or your local
+      equivalent.</p>
 
-If you do the preceding two steps, it is very likely that you'll discover
-the nature of the problem yourself and be able to send us a fix.  This
-will create happy feelings all around and earn you good karma for the first
-time you run into a bug you really can't characterize and fix yourself. <P>
+      <p>Tell us about every terminal on which you have reproduced
+      the bug &mdash; and every terminal on which you cannot.
+      Ideally, send us terminfo sources for all of these (yours
+      might differ from ours).</p>
 
-If you're still stuck, at least you'll know what to tell us.  Remember, we
-need details.  If you guess about what is safe to leave out, you are too
-likely to be wrong. <P>
+      <p>Include your ncurses version and your OS/machine type, of
+      course! You can find your ncurses version in the
+      <code>curses.h</code> file.</p>
+    </li>
+  </ol>
 
-If your bug produces a bad update, include a trace file.  Try to make
-the trace at the <EM>least</EM> voluminous level that pins down the
-bug.  Logs that have been through tracemunch are OK, it doesn't throw
-away any information (actually they're better than un-munched ones because
-they're easier to read). <P>
+  <p>If your problem smells like a logic error or in cursor
+  movement or scrolling or a bad capability, there are a couple of
+  tiny test frames for the library algorithms in the progs
+  directory that may help you isolate it. These are not part of the
+  normal build, but do have their own make productions.</p>
 
-If your bug produces a core-dump, please include a symbolic stack trace
-generated by gdb(1) or your local equivalent. <P>
+  <p>The most important of these is <code>mvcur</code>, a test
+  frame for the cursor-movement optimization code. With this
+  program, you can see directly what control sequences will be
+  emitted for any given cursor movement or scroll/insert/delete
+  operations. If you think you have got a bad capability
+  identified, you can disable it and test again. The program is
+  command-driven and has on-line help.</p>
 
-Tell us about every terminal on which you've reproduced the bug -- and
-every terminal on which you can't.  Ideally, sent us terminfo sources
-for all of these (yours might differ from ours). <P>
+  <p>If you think the vertical-scroll optimization is broken, or
+  just want to understand how it works better, build
+  <code>hashmap</code> and read the header comments of
+  <code>hardscroll.c</code> and <code>hashmap.c</code>; then try it
+  out. You can also test the hardware-scrolling optimization
+  separately with <code>hardscroll</code>.</p>
 
-Include your ncurses version and your OS/machine type, of course!  You can
-find your ncurses version in the <CODE>curses.h</CODE> file.
-</OL>
+  <h2><a name="ncurslib" id="ncurslib">A Tour of the Ncurses
+  Library</a></h2>
 
-If your problem smells like a logic error or in cursor movement or
-scrolling or a bad capability, there are a couple of tiny test frames
-for the library algorithms in the progs directory that may help you
-isolate it.  These are not part of the normal build, but do have their
-own make productions.  <P>
+  <h3><a name="loverview" id="loverview">Library Overview</a></h3>
 
-The most important of these is <CODE>mvcur</CODE>, a test frame for the
-cursor-movement optimization code.  With this program, you can see
-directly what control sequences will be emitted for any given cursor
-movement or scroll/insert/delete operations.  If you think you've got
-a bad capability identified, you can disable it and test again. The
-program is command-driven and has on-line help. <P>
+  <p>Most of the library is superstructure &mdash; fairly trivial
+  convenience interfaces to a small set of basic functions and data
+  structures used to manipulate the virtual screen (in particular,
+  none of this code does any I/O except through calls to more
+  fundamental modules described below). The files</p>
 
-If you think the vertical-scroll optimization is broken, or just want to
-understand how it works better, build <CODE>hashmap</CODE> and read the
-header comments of <CODE>hardscroll.c</CODE> and <CODE>hashmap.c</CODE>; then try
-it out. You can also test the hardware-scrolling optimization separately
-with <CODE>hardscroll</CODE>. <P>
+  <blockquote>
+    <code>lib_addch.c lib_bkgd.c lib_box.c lib_chgat.c lib_clear.c
+    lib_clearok.c lib_clrbot.c lib_clreol.c lib_colorset.c
+    lib_data.c lib_delch.c lib_delwin.c lib_echo.c lib_erase.c
+    lib_gen.c lib_getstr.c lib_hline.c lib_immedok.c lib_inchstr.c
+    lib_insch.c lib_insdel.c lib_insstr.c lib_instr.c
+    lib_isendwin.c lib_keyname.c lib_leaveok.c lib_move.c
+    lib_mvwin.c lib_overlay.c lib_pad.c lib_printw.c lib_redrawln.c
+    lib_scanw.c lib_screen.c lib_scroll.c lib_scrollok.c
+    lib_scrreg.c lib_set_term.c lib_slk.c lib_slkatr_set.c
+    lib_slkatrof.c lib_slkatron.c lib_slkatrset.c lib_slkattr.c
+    lib_slkclear.c lib_slkcolor.c lib_slkinit.c lib_slklab.c
+    lib_slkrefr.c lib_slkset.c lib_slktouch.c lib_touch.c
+    lib_unctrl.c lib_vline.c lib_wattroff.c lib_wattron.c
+    lib_window.c</code>
+  </blockquote>
 
-<H1><A NAME="ncurslib">A Tour of the Ncurses Library</A></H1>
+  <p>are all in this category. They are very unlikely to need
+  change, barring bugs or some fundamental reorganization in the
+  underlying data structures.</p>
 
-<H2><A NAME="loverview">Library Overview</A></H2>
+  <p>These files are used only for debugging support:</p>
 
-Most of the library is superstructure -- fairly trivial convenience
-interfaces to a small set of basic functions and data structures used
-to manipulate the virtual screen (in particular, none of this code
-does any I/O except through calls to more fundamental modules
-described below).  The files
-<blockquote>
-<CODE>
-lib_addch.c
-lib_bkgd.c
-lib_box.c
-lib_chgat.c
-lib_clear.c
-lib_clearok.c
-lib_clrbot.c
-lib_clreol.c
-lib_colorset.c
-lib_data.c
-lib_delch.c
-lib_delwin.c
-lib_echo.c
-lib_erase.c
-lib_gen.c
-lib_getstr.c
-lib_hline.c
-lib_immedok.c
-lib_inchstr.c
-lib_insch.c
-lib_insdel.c
-lib_insstr.c
-lib_instr.c
-lib_isendwin.c
-lib_keyname.c
-lib_leaveok.c
-lib_move.c
-lib_mvwin.c
-lib_overlay.c
-lib_pad.c
-lib_printw.c
-lib_redrawln.c
-lib_scanw.c
-lib_screen.c
-lib_scroll.c
-lib_scrollok.c
-lib_scrreg.c
-lib_set_term.c
-lib_slk.c
-lib_slkatr_set.c
-lib_slkatrof.c
-lib_slkatron.c
-lib_slkatrset.c
-lib_slkattr.c
-lib_slkclear.c
-lib_slkcolor.c
-lib_slkinit.c
-lib_slklab.c
-lib_slkrefr.c
-lib_slkset.c
-lib_slktouch.c
-lib_touch.c
-lib_unctrl.c
-lib_vline.c
-lib_wattroff.c
-lib_wattron.c
-lib_window.c
-</CODE>
-</blockquote>
-are all in this category.  They are very
-unlikely to need change, barring bugs or some fundamental
-reorganization in the underlying data structures. <P>
+  <blockquote>
+    <code>lib_trace.c lib_traceatr.c lib_tracebits.c lib_tracechr.c
+    lib_tracedmp.c lib_tracemse.c trace_buf.c</code>
+  </blockquote>
 
-These files are used only for debugging support:
-<blockquote>
-<code>
-lib_trace.c
-lib_traceatr.c
-lib_tracebits.c
-lib_tracechr.c
-lib_tracedmp.c
-lib_tracemse.c
-trace_buf.c
-</code>
-</blockquote>
-It is rather unlikely you will ever need to change these, unless
-you want to introduce a new debug trace level for some reason.<P>
+  <p>It is rather unlikely you will ever need to change these,
+  unless you want to introduce a new debug trace level for some
+  reason.</p>
 
-There is another group of files that do direct I/O via <EM>tputs()</EM>,
-computations on the terminal capabilities, or queries to the OS
-environment, but nevertheless have only fairly low complexity.  These
-include:
-<blockquote>
-<code>
-lib_acs.c
-lib_beep.c
-lib_color.c
-lib_endwin.c
-lib_initscr.c
-lib_longname.c
-lib_newterm.c
-lib_options.c
-lib_termcap.c
-lib_ti.c
-lib_tparm.c
-lib_tputs.c
-lib_vidattr.c
-read_entry.c.
-</code>
-</blockquote>
-They are likely to need revision only if
-ncurses is being ported to an environment without an underlying
-terminfo capability representation. <P>
+  <p>There is another group of files that do direct I/O via
+  <em>tputs()</em>, computations on the terminal capabilities, or
+  queries to the OS environment, but nevertheless have only fairly
+  low complexity. These include:</p>
 
-These files
-have serious hooks into
-the tty driver and signal facilities:
-<blockquote>
-<code>
-lib_kernel.c
-lib_baudrate.c
-lib_raw.c
-lib_tstp.c
-lib_twait.c
-</code>
-</blockquote>
-If you run into porting snafus
-moving the package to another UNIX, the problem is likely to be in one
-of these files.
-The file <CODE>lib_print.c</CODE> uses sleep(2) and also
-falls in this category.<P>
+  <blockquote>
+    <code>lib_acs.c lib_beep.c lib_color.c lib_endwin.c
+    lib_initscr.c lib_longname.c lib_newterm.c lib_options.c
+    lib_termcap.c lib_ti.c lib_tparm.c lib_tputs.c lib_vidattr.c
+    read_entry.c.</code>
+  </blockquote>
 
-Almost all of the real work is done in the files
-<blockquote>
-<code>
-hardscroll.c
-hashmap.c
-lib_addch.c
-lib_doupdate.c
-lib_getch.c
-lib_mouse.c
-lib_mvcur.c
-lib_refresh.c
-lib_setup.c
-lib_vidattr.c
-</code>
-</blockquote>
-Most of the algorithmic complexity in the
-library lives in these files.
-If there is a real bug in <STRONG>ncurses</STRONG> itself, it's probably here.
-We'll tour some of these files in detail
-below (see <A HREF="#engine">The Engine Room</A>). <P>
+  <p>They are likely to need revision only if ncurses is being
+  ported to an environment without an underlying terminfo
+  capability representation.</p>
+
+  <p>These files have serious hooks into the tty driver and signal
+  facilities:</p>
+
+  <blockquote>
+    <code>lib_kernel.c lib_baudrate.c lib_raw.c lib_tstp.c
+    lib_twait.c</code>
+  </blockquote>
+
+  <p>If you run into porting snafus moving the package to another
+  UNIX, the problem is likely to be in one of these files. The file
+  <code>lib_print.c</code> uses sleep(2) and also falls in this
+  category.</p>
+
+  <p>Almost all of the real work is done in the files</p>
+
+  <blockquote>
+    <code>hardscroll.c hashmap.c lib_addch.c lib_doupdate.c
+    lib_getch.c lib_mouse.c lib_mvcur.c lib_refresh.c lib_setup.c
+    lib_vidattr.c</code>
+  </blockquote>
+
+  <p>Most of the algorithmic complexity in the library lives in
+  these files. If there is a real bug in <strong>ncurses</strong>
+  itself, it is probably here. We will tour some of these files in
+  detail below (see <a href="#engine">The Engine Room</a>).</p>
+
+  <p>Finally, there is a group of files that is actually most of
+  the terminfo compiler. The reason this code lives in the
+  <strong>ncurses</strong> library is to support fallback to
+  /etc/termcap. These files include</p>
+
+  <blockquote>
+    <code>alloc_entry.c captoinfo.c comp_captab.c comp_error.c
+    comp_hash.c comp_parse.c comp_scan.c parse_entry.c
+    read_termcap.c write_entry.c</code>
+  </blockquote>
+
+  <p>We will discuss these in the compiler tour.</p>
+
+  <h3><a name="engine" id="engine">The Engine Room</a></h3>
+
+  <h4><a name="input" id="input">Keyboard Input</a></h4>
+
+  <p>All <code>ncurses</code> input funnels through the function
+  <code>wgetch()</code>, defined in <code>lib_getch.c</code>. This
+  function is tricky; it has to poll for keyboard and mouse events
+  and do a running match of incoming input against the set of
+  defined special keys.</p>
+
+  <p>The central data structure in this module is a FIFO queue,
+  used to match multiple-character input sequences against
+  special-key capabilities; also to implement pushback via
+  <code>ungetch()</code>.</p>
+
+  <p>The <code>wgetch()</code> code distinguishes between function
+  key sequences and the same sequences typed manually by doing a
+  timed wait after each input character that could lead a function
+  key sequence. If the entire sequence takes less than 1 second, it
+  is assumed to have been generated by a function key press.</p>
+
+  <p>Hackers bruised by previous encounters with variant
+  <code>select(2)</code> calls may find the code in
+  <code>lib_twait.c</code> interesting. It deals with the problem
+  that some BSD selects do not return a reliable time-left value.
+  The function <code>timed_wait()</code> effectively simulates a
+  System V select.</p>
+
+  <h4><a name="mouse" id="mouse">Mouse Events</a></h4>
+
+  <p>If the mouse interface is active, <code>wgetch()</code> polls
+  for mouse events each call, before it goes to the keyboard for
+  input. It is up to <code>lib_mouse.c</code> how the polling is
+  accomplished; it may vary for different devices.</p>
+
+  <p>Under xterm, however, mouse event notifications come in via
+  the keyboard input stream. They are recognized by having the
+  <strong>kmous</strong> capability as a prefix. This is kind of
+  klugey, but trying to wire in recognition of a mouse key prefix
+  without going through the function-key machinery would be just
+  too painful, and this turns out to imply having the prefix
+  somewhere in the function-key capabilities at terminal-type
+  initialization.</p>
+
+  <p>This kluge only works because <strong>kmous</strong> is not
+  actually used by any historic terminal type or curses
+  implementation we know of. Best guess is it is a relic of some
+  forgotten experiment in-house at Bell Labs that did not leave any
+  traces in the publicly-distributed System V terminfo files. If
+  System V or XPG4 ever gets serious about using it again, this
+  kluge may have to change.</p>
+
+  <p>Here are some more details about mouse event handling:</p>
+
+  <p>The <code>lib_mouse()</code> code is logically split into a
+  lower level that accepts event reports in a device-dependent
+  format and an upper level that parses mouse gestures and filters
+  events. The mediating data structure is a circular queue of event
+  structures.</p>
+
+  <p>Functionally, the lower level's job is to pick up primitive
+  events and put them on the circular queue. This can happen in one
+  of two ways: either (a) <code>_nc_mouse_event()</code> detects a
+  series of incoming mouse reports and queues them, or (b) code in
+  <code>lib_getch.c</code> detects the <strong>kmous</strong>
+  prefix in the keyboard input stream and calls _nc_mouse_inline to
+  queue up a series of adjacent mouse reports.</p>
+
+  <p>In either case, <code>_nc_mouse_parse()</code> should be
+  called after the series is accepted to parse the digested mouse
+  reports (low-level events) into a gesture (a high-level or
+  composite event).</p>
+
+  <h4><a name="output" id="output">Output and Screen Updating</a></h4>
+
+  <p>With the single exception of character echoes during a
+  <code>wgetnstr()</code> call (which simulates cooked-mode line
+  editing in an ncurses window), the library normally does all its
+  output at refresh time.</p>
+
+  <p>The main job is to go from the current state of the screen (as
+  represented in the <code>curscr</code> window structure) to the
+  desired new state (as represented in the <code>newscr</code>
+  window structure), while doing as little I/O as possible.</p>
+
+  <p>The brains of this operation are the modules
+  <code>hashmap.c</code>, <code>hardscroll.c</code> and
+  <code>lib_doupdate.c</code>; the latter two use
+  <code>lib_mvcur.c</code>. Essentially, what happens looks like
+  this:</p>
+
+  <ul>
+    <li>
+      <p>The <code>hashmap.c</code> module tries to detect vertical
+      motion changes between the real and virtual screens. This
+      information is represented by the oldindex members in the
+      newscr structure. These are modified by vertical-motion and
+      clear operations, and both are re-initialized after each
+      update. To this change-journalling information, the hashmap
+      code adds deductions made using a modified Heckel algorithm
+      on hash values generated from the line contents.</p>
+    </li>
+
+    <li>
+      <p>The <code>hardscroll.c</code> module computes an optimum
+      set of scroll, insertion, and deletion operations to make the
+      indices match. It calls <code>_nc_mvcur_scrolln()</code> in
+      <code>lib_mvcur.c</code> to do those motions.</p>
+    </li>
+
+    <li>
+      <p>Then <code>lib_doupdate.c</code> goes to work. Its job is
+      to do line-by-line transformations of <code>curscr</code>
+      lines to <code>newscr</code> lines. Its main tool is the
+      routine <code>mvcur()</code> in <code>lib_mvcur.c</code>.
+      This routine does cursor-movement optimization, attempting to
+      get from given screen location A to given location B in the
+      fewest output characters possible.</p>
+    </li>
+  </ul>
+
+  <p>If you want to work on screen optimizations, you should use
+  the fact that (in the trace-enabled version of the library)
+  enabling the <code>TRACE_TIMES</code> trace level causes a report
+  to be emitted after each screen update giving the elapsed time
+  and a count of characters emitted during the update. You can use
+  this to tell when an update optimization improves efficiency.</p>
+
+  <p>In the trace-enabled version of the library, it is also
+  possible to disable and re-enable various optimizations at
+  runtime by tweaking the variable
+  <code>_nc_optimize_enable</code>. See the file
+  <code>include/curses.h.in</code> for mask values, near the
+  end.</p>
+
+  <h2><a name="fmnote" id="fmnote">The Forms and Menu Libraries</a></h2>
+
+  <p>The forms and menu libraries should work reliably in any
+  environment you can port ncurses to. The only portability issue
+  anywhere in them is what flavor of regular expressions the
+  built-in form field type TYPE_REGEXP will recognize.</p>
+
+  <p>The configuration code prefers the POSIX regex facility,
+  modeled on System V's, but will settle for BSD regexps if the
+  former is not available.</p>
+
+  <p>Historical note: the panels code was written primarily to
+  assist in porting u386mon 2.0 (comp.sources.misc v14i001-4) to
+  systems lacking panels support; u386mon 2.10 and beyond use it.
+  This version has been slightly cleaned up for
+  <code>ncurses</code>.</p>
+
+  <h2><a name="tic" id="tic">A Tour of the Terminfo Compiler</a></h2>
+
+  <p>The <strong>ncurses</strong> implementation of
+  <strong>tic</strong> is rather complex internally; it has to do a
+  trying combination of missions. This starts with the fact that,
+  in addition to its normal duty of compiling terminfo sources into
+  loadable terminfo binaries, it has to be able to handle termcap
+  syntax and compile that too into terminfo entries.</p>
+
+  <p>The implementation therefore starts with a table-driven,
+  dual-mode lexical analyzer (in <code>comp_scan.c</code>). The
+  lexer chooses its mode (termcap or terminfo) based on the first
+  &ldquo;,&rdquo; or &ldquo;:&rdquo; it finds in each entry. The
+  lexer does all the work of recognizing capability names and
+  values; the grammar above it is trivial, just "parse entries till
+  you run out of file".</p>
+
+  <h3><a name="nonuse" id="nonuse">Translation of
+  Non-<strong>use</strong> Capabilities</a></h3>
 
-Finally, there is a group of files that is actually most of the
-terminfo compiler.  The reason this code lives in the <STRONG>ncurses</STRONG>
-library is to support fallback to /etc/termcap.  These files include
-<blockquote>
-<code>
-alloc_entry.c
-captoinfo.c
-comp_captab.c
-comp_error.c
-comp_hash.c
-comp_parse.c
-comp_scan.c
-parse_entry.c
-read_termcap.c
-write_entry.c
-</code>
-</blockquote>
-We'll discuss these in the compiler tour.
+  <p>Translation of most things besides <strong>use</strong>
+  capabilities is pretty straightforward. The lexical analyzer's
+  tokenizer hands each capability name to a hash function, which
+  drives a table lookup. The table entry yields an index which is
+  used to look up the token type in another table, and controls
+  interpretation of the value.</p>
 
-<H2><A NAME="engine">The Engine Room</A></H2>
+  <p>One possibly interesting aspect of the implementation is the
+  way the compiler tables are initialized. All the tables are
+  generated by various awk/sed/sh scripts from a master table
+  <code>include/Caps</code>; these scripts actually write C
+  initializers which are linked to the compiler. Furthermore, the
+  hash table is generated in the same way, so it doesn't have to be
+  generated at compiler startup time (another benefit of this
+  organization is that the hash table can be in shareable text
+  space).</p>
 
-<H3><A NAME="input">Keyboard Input</A></H3>
+  <p>Thus, adding a new capability is usually pretty trivial, just
+  a matter of adding one line to the <code>include/Caps</code>
+  file. We will have more to say about this in the section on
+  <a href="#translation">Source-Form Translation</a>.</p>
 
-All <CODE>ncurses</CODE> input funnels through the function
-<CODE>wgetch()</CODE>, defined in <CODE>lib_getch.c</CODE>.  This function is
-tricky; it has to poll for keyboard and mouse events and do a running
-match of incoming input against the set of defined special keys. <P>
+  <h3><a name="uses" id="uses">Use Capability Resolution</a></h3>
 
-The central data structure in this module is a FIFO queue, used to
-match multiple-character input sequences against special-key
-capabilities; also to implement pushback via <CODE>ungetch()</CODE>. <P>
+  <p>The background problem that makes <strong>tic</strong> tricky
+  is not the capability translation itself, it is the resolution of
+  <strong>use</strong> capabilities. Older versions would not
+  handle forward <strong>use</strong> references for this reason
+  (that is, a using terminal always had to follow its use target in
+  the source file). By doing this, they got away with a simple
+  implementation tactic; compile everything as it blows by, then
+  resolve uses from compiled entries.</p>
 
-The <CODE>wgetch()</CODE> code distinguishes between function key
-sequences and the same sequences typed manually by doing a timed wait
-after each input character that could lead a function key sequence.
-If the entire sequence takes less than 1 second, it is assumed to have
-been generated by a function key press. <P>
+  <p>This will not do for <strong>ncurses</strong>. The problem is
+  that that the whole compilation process has to be embeddable in
+  the <strong>ncurses</strong> library so that it can be called by
+  the startup code to translate termcap entries on the fly. The
+  embedded version cannot go promiscuously writing everything it
+  translates out to disk &mdash; for one thing, it will typically
+  be running with non-root permissions.</p>
 
-Hackers bruised by previous encounters with variant <CODE>select(2)</CODE>
-calls may find the code in <CODE>lib_twait.c</CODE> interesting.  It deals
-with the problem that some BSD selects don't return a reliable
-time-left value.  The function <CODE>timed_wait()</CODE> effectively
-simulates a System V select.
+  <p>So our <strong>tic</strong> is designed to parse an entire
+  terminfo file into a doubly-linked circular list of entry
+  structures in-core, and then do <strong>use</strong> resolution
+  in-memory before writing everything out. This design has other
+  advantages: it makes forward and back use-references equally easy
+  (so we get the latter for free), and it makes checking for name
+  collisions before they are written out easy to do.</p>
 
-<H3><A NAME="mouse">Mouse Events</A></H3>
+  <p>And this is exactly how the embedded version works. But the
+  stand-alone user-accessible version of <strong>tic</strong>
+  partly reverts to the historical strategy; it writes to disk (not
+  keeping in core) any entry with no <strong>use</strong>
+  references.</p>
 
-If the mouse interface is active, <CODE>wgetch()</CODE> polls for mouse
-events each call, before it goes to the keyboard for input.  It is
-up to <CODE>lib_mouse.c</CODE> how the polling is accomplished; it may vary
-for different devices. <P>
+  <p>This is strictly a core-economy kluge, implemented because the
+  terminfo master file is large enough that some core-poor systems
+  swap like crazy when you compile it all in memory...there have
+  been reports of this process taking <strong>three hours</strong>,
+  rather than the twenty seconds or less typical on the author's
+  development box.</p>
 
-Under xterm, however, mouse event notifications come in via the keyboard
-input stream.  They are recognized by having the <STRONG>kmous</STRONG> capability
-as a prefix.  This is kind of klugey, but trying to wire in recognition of
-a mouse key prefix without going through the function-key machinery would
-be just too painful, and this turns out to imply having the prefix somewhere
-in the function-key capabilities at terminal-type initialization. <P>
+  <p>So. The executable <strong>tic</strong> passes the
+  entry-parser a hook that <em>immediately</em> writes out the
+  referenced entry if it has no use capabilities. The compiler main
+  loop refrains from adding the entry to the in-core list when this
+  hook fires. If some other entry later needs to reference an entry
+  that got written immediately, that is OK; the resolution code
+  will fetch it off disk when it cannot find it in core.</p>
 
-This kluge only works because <STRONG>kmous</STRONG> isn't actually used by any
-historic terminal type or curses implementation we know of.  Best
-guess is it's a relic of some forgotten experiment in-house at Bell
-Labs that didn't leave any traces in the publicly-distributed System V
-terminfo files.  If System V or XPG4 ever gets serious about using it
-again, this kluge may have to change. <P>
+  <p>Name collisions will still be detected, just not as cleanly.
+  The <code>write_entry()</code> code complains before overwriting
+  an entry that postdates the time of <strong>tic</strong>'s first
+  call to <code>write_entry()</code>, Thus it will complain about
+  overwriting entries newly made during the <strong>tic</strong>
+  run, but not about overwriting ones that predate it.</p>
 
-Here are some more details about mouse event handling: <P>
+  <h3><a name="translation" id="translation">Source-Form
+  Translation</a></h3>
 
-The <CODE>lib_mouse()</CODE>code is logically split into a lower level that
-accepts event reports in a device-dependent format and an upper level that
-parses mouse gestures and filters events.  The mediating data structure is a
-circular queue of event structures. <P>
+  <p>Another use of <strong>tic</strong> is to do source
+  translation between various termcap and terminfo formats. There
+  are more variants out there than you might think; the ones we
+  know about are described in the <strong>captoinfo(1)</strong>
+  manual page.</p>
 
-Functionally, the lower level's job is to pick up primitive events and
-put them on the circular queue.  This can happen in one of two ways:
-either (a) <CODE>_nc_mouse_event()</CODE> detects a series of incoming
-mouse reports and queues them, or (b) code in <CODE>lib_getch.c</CODE> detects the
-<STRONG>kmous</STRONG> prefix in the keyboard input stream and calls _nc_mouse_inline
-to queue up a series of adjacent mouse reports. <P>
+  <p>The translation output code (<code>dump_entry()</code> in
+  <code>ncurses/dump_entry.c</code>) is shared with the
+  <strong>infocmp(1)</strong> utility. It takes the same internal
+  representation used to generate the binary form and dumps it to
+  standard output in a specified format.</p>
 
-In either case, <CODE>_nc_mouse_parse()</CODE> should be called after the
-series is accepted to parse the digested mouse reports (low-level
-events) into a gesture (a high-level or composite event).
+  <p>The <code>include/Caps</code> file has a header comment
+  describing ways you can specify source translations for
+  nonstandard capabilities just by altering the master table. It is
+  possible to set up capability aliasing or tell the compiler to
+  plain ignore a given capability without writing any C code at
+  all.</p>
 
-<H3><A NAME="output">Output and Screen Updating</A></H3>
+  <p>For circumstances where you need to do algorithmic
+  translation, there are functions in <code>parse_entry.c</code>
+  called after the parse of each entry that are specifically
+  intended to encapsulate such translations. This, for example, is
+  where the AIX <strong>box1</strong> capability get translated to
+  an <strong>acsc</strong> string.</p>
 
-With the single exception of character echoes during a <CODE>wgetnstr()</CODE>
-call (which simulates cooked-mode line editing in an ncurses window),
-the library normally does all its output at refresh time. <P>
+  <h2><a name="utils" id="utils">Other Utilities</a></h2>
 
-The main job is to go from the current state of the screen (as represented
-in the <CODE>curscr</CODE> window structure) to the desired new state (as
-represented in the <CODE>newscr</CODE> window structure), while doing as
-little I/O as possible. <P>
+  <p>The <strong>infocmp</strong> utility is just a wrapper around
+  the same entry-dumping code used by <strong>tic</strong> for
+  source translation. Perhaps the one interesting aspect of the
+  code is the use of a predicate function passed in to
+  <code>dump_entry()</code> to control which capabilities are
+  dumped. This is necessary in order to handle both the ordinary
+  De-compilation case and entry difference reporting.</p>
 
-The brains of this operation are the modules <CODE>hashmap.c</CODE>,
-<CODE>hardscroll.c</CODE> and <CODE>lib_doupdate.c</CODE>; the latter two use
-<CODE>lib_mvcur.c</CODE>.  Essentially, what happens looks like this: <P>
+  <p>The <strong>tput</strong> and <strong>clear</strong> utilities
+  just do an entry load followed by a <code>tputs()</code> of a
+  selected capability.</p>
 
-The <CODE>hashmap.c</CODE> module tries to detect vertical motion
-changes between the real and virtual screens.  This information
-is represented by the oldindex members in the newscr structure.
-These are modified by vertical-motion and clear operations, and both are
-re-initialized after each update. To this change-journalling
-information, the hashmap code adds deductions made using a modified Heckel
-algorithm on hash values generated from the line contents. <P>
+  <h2><a name="style" id="style">Style Tips for Developers</a></h2>
 
-The <CODE>hardscroll.c</CODE> module computes an optimum set of scroll,
-insertion, and deletion operations to make the indices match.  It calls
-<CODE>_nc_mvcur_scrolln()</CODE> in <CODE>lib_mvcur.c</CODE> to do those motions. <P>
+  <p>See the TO-DO file in the top-level directory of the source
+  distribution for additions that would be particularly useful.</p>
 
-Then <CODE>lib_doupdate.c</CODE> goes to work.  Its job is to do line-by-line
-transformations of <CODE>curscr</CODE> lines to <CODE>newscr</CODE> lines.  Its main
-tool is the routine <CODE>mvcur()</CODE> in <CODE>lib_mvcur.c</CODE>.  This routine
-does cursor-movement optimization, attempting to get from given screen
-location A to given location B in the fewest output characters possible. <P>
+  <p>The prefix <code>_nc_</code> should be used on library public
+  functions that are not part of the curses API in order to prevent
+  pollution of the application namespace. If you have to add to or
+  modify the function prototypes in curses.h.in, read
+  ncurses/MKlib_gen.sh first so you can avoid breaking XSI
+  conformance. Please join the ncurses mailing list. See the
+  INSTALL file in the top level of the distribution for details on
+  the list.</p>
 
-If you want to work on screen optimizations, you should use the fact
-that (in the trace-enabled version of the library) enabling the
-<CODE>TRACE_TIMES</CODE> trace level causes a report to be emitted after
-each screen update giving the elapsed time and a count of characters
-emitted during the update.  You can use this to tell when an update
-optimization improves efficiency. <P>
+  <p>Look for the string <code>FIXME</code> in source files to tag
+  minor bugs and potential problems that could use fixing.</p>
 
-In the trace-enabled version of the library, it is also possible to disable
-and re-enable various optimizations at runtime by tweaking the variable
-<CODE>_nc_optimize_enable</CODE>.  See the file <CODE>include/curses.h.in</CODE>
-for mask values, near the end.
+  <p>Do not try to auto-detect OS features in the main body of the
+  C code. That is the job of the configuration system.</p>
 
-<H1><A NAME="fmnote">The Forms and Menu Libraries</A></H1>
+  <p>To hold down complexity, do make your code data-driven.
+  Especially, if you can drive logic from a table filtered out of
+  <code>include/Caps</code>, do it. If you find you need to augment
+  the data in that file in order to generate the proper table, that
+  is still preferable to ad-hoc code &mdash; that is why the fifth
+  field (flags) is there.</p>
 
-The forms and menu libraries should work reliably in any environment you
-can port ncurses to. The only portability issue anywhere in them is what
-flavor of regular expressions the built-in form field type TYPE_REGEXP
-will recognize. <P>
+  <p>Have fun!</p>
 
-The configuration code prefers the POSIX regex facility, modeled on
-System V's, but will settle for BSD regexps if the former isn't available. <P>
+  <h2><a name="port" id="port">Porting Hints</a></h2>
 
-Historical note: the panels code was written primarily to assist in
-porting u386mon 2.0 (comp.sources.misc v14i001-4) to systems lacking
-panels support; u386mon 2.10 and beyond use it.  This version has been
-slightly cleaned up for <CODE>ncurses</CODE>.
+  <p>The following notes are intended to be a first step towards
+  DOS and Macintosh ports of the ncurses libraries.</p>
 
-<H1><A NAME="tic">A Tour of the Terminfo Compiler</A></H1>
+  <p>The following library modules are &ldquo;pure curses&rdquo;;
+  they operate only on the curses internal structures, do all
+  output through other curses calls (not including
+  <code>tputs()</code> and <code>putp()</code>) and do not call any
+  other UNIX routines such as signal(2) or the stdio library. Thus,
+  they should not need to be modified for single-terminal
+  ports.</p>
 
-The <STRONG>ncurses</STRONG> implementation of <STRONG>tic</STRONG> is rather complex
-internally; it has to do a trying combination of missions. This starts
-with the fact that, in addition to its normal duty of compiling
-terminfo sources into loadable terminfo binaries, it has to be able to
-handle termcap syntax and compile that too into terminfo entries. <P>
+  <blockquote>
+    <code>lib_addch.c lib_addstr.c lib_bkgd.c lib_box.c lib_clear.c
+    lib_clrbot.c lib_clreol.c lib_delch.c lib_delwin.c lib_erase.c
+    lib_inchstr.c lib_insch.c lib_insdel.c lib_insstr.c
+    lib_keyname.c lib_move.c lib_mvwin.c lib_newwin.c lib_overlay.c
+    lib_pad.c lib_printw.c lib_refresh.c lib_scanw.c lib_scroll.c
+    lib_scrreg.c lib_set_term.c lib_touch.c lib_tparm.c lib_tputs.c
+    lib_unctrl.c lib_window.c panel.c</code>
+  </blockquote>
 
-The implementation therefore starts with a table-driven, dual-mode
-lexical analyzer (in <CODE>comp_scan.c</CODE>).  The lexer chooses its
-mode (termcap or terminfo) based on the first `,' or `:' it finds in
-each entry.  The lexer does all the work of recognizing capability
-names and values; the grammar above it is trivial, just "parse entries
-till you run out of file".
+  <p>This module is pure curses, but calls outstr():</p>
 
-<H2><A NAME="nonuse">Translation of Non-<STRONG>use</STRONG> Capabilities</A></H2>
+  <blockquote>
+    <code>lib_getstr.c</code>
+  </blockquote>
 
-Translation of most things besides <STRONG>use</STRONG> capabilities is pretty
-straightforward.  The lexical analyzer's tokenizer hands each capability
-name to a hash function, which drives a table lookup.  The table entry
-yields an index which is used to look up the token type in another table,
-and controls interpretation of the value. <P>
+  <p>These modules are pure curses, except that they use
+  <code>tputs()</code> and <code>putp()</code>:</p>
 
-One possibly interesting aspect of the implementation is the way the
-compiler tables are initialized.  All the tables are generated by various
-awk/sed/sh scripts from a master table <CODE>include/Caps</CODE>; these
-scripts actually write C initializers which are linked to the compiler.
-Furthermore, the hash table is generated in the same way, so it doesn't
-have to be generated at compiler startup time (another benefit of this
-organization is that the hash table can be in shareable text space). <P>
+  <blockquote>
+    <code>lib_beep.c lib_color.c lib_endwin.c lib_options.c
+    lib_slk.c lib_vidattr.c</code>
+  </blockquote>
 
-Thus, adding a new capability is usually pretty trivial, just a matter
-of adding one line to the <CODE>include/Caps</CODE> file.  We'll have more
-to say about this in the section on <A HREF="#translation">Source-Form
-Translation</A>.
+  <p>This modules assist in POSIX emulation on non-POSIX
+  systems:</p>
 
-<H2><A NAME="uses">Use Capability Resolution</A></H2>
+  <dl>
+    <dt>sigaction.c</dt>
 
-The background problem that makes <STRONG>tic</STRONG> tricky isn't the capability
-translation itself, it's the resolution of <STRONG>use</STRONG> capabilities.  Older
-versions would not handle forward <STRONG>use</STRONG> references for this reason
-(that is, a using terminal always had to follow its use target in the
-source file).  By doing this, they got away with a simple implementation
-tactic; compile everything as it blows by, then resolve uses from compiled
-entries. <P>
+    <dd>signal calls</dd>
+  </dl>
 
-This won't do for <STRONG>ncurses</STRONG>.  The problem is that that the whole
-compilation process has to be embeddable in the <STRONG>ncurses</STRONG> library
-so that it can be called by the startup code to translate termcap
-entries on the fly.  The embedded version can't go promiscuously writing
-everything it translates out to disk -- for one thing, it will typically
-be running with non-root permissions. <P>
+  <p>The following source files will not be needed for a
+  single-terminal-type port.</p>
 
-So our <STRONG>tic</STRONG> is designed to parse an entire terminfo file into a
-doubly-linked circular list of entry structures in-core, and then do
-<STRONG>use</STRONG> resolution in-memory before writing everything out.  This
-design has other advantages: it makes forward and back use-references
-equally easy (so we get the latter for free), and it makes checking for
-name collisions before they're written out easy to do. <P>
+  <blockquote>
+    <code>alloc_entry.c captoinfo.c clear.c comp_captab.c
+    comp_error.c comp_hash.c comp_main.c comp_parse.c comp_scan.c
+    dump_entry.c infocmp.c parse_entry.c read_entry.c tput.c
+    write_entry.c</code>
+  </blockquote>
 
-And this is exactly how the embedded version works.  But the stand-alone
-user-accessible version of <STRONG>tic</STRONG> partly reverts to the historical
-strategy; it writes to disk (not keeping in core) any entry with no
-<STRONG>use</STRONG> references. <P>
+  <p>The following modules will use
+  open()/read()/write()/close()/lseek() on files, but no other OS
+  calls.</p>
 
-This is strictly a core-economy kluge, implemented because the
-terminfo master file is large enough that some core-poor systems swap
-like crazy when you compile it all in memory...there have been reports of
-this process taking <STRONG>three hours</STRONG>, rather than the twenty seconds
-or less typical on the author's development box. <P>
+  <dl>
+    <dt>lib_screen.c</dt>
 
-So.  The executable <STRONG>tic</STRONG> passes the entry-parser a hook that
-<EM>immediately</EM> writes out the referenced entry if it has no use
-capabilities.  The compiler main loop refrains from adding the entry
-to the in-core list when this hook fires.  If some other entry later
-needs to reference an entry that got written immediately, that's OK;
-the resolution code will fetch it off disk when it can't find it in
-core. <P>
+    <dd>used to read/write screen dumps</dd>
 
-Name collisions will still be detected, just not as cleanly.  The
-<CODE>write_entry()</CODE> code complains before overwriting an entry that
-postdates the time of <STRONG>tic</STRONG>'s first call to
-<CODE>write_entry()</CODE>, Thus it will complain about overwriting
-entries newly made during the <STRONG>tic</STRONG> run, but not about
-overwriting ones that predate it.
+    <dt>lib_trace.c</dt>
 
-<H2><A NAME="translation">Source-Form Translation</A></H2>
+    <dd>used to write trace data to the logfile</dd>
+  </dl>
 
-Another use of <STRONG>tic</STRONG> is to do source translation between various termcap
-and terminfo formats.  There are more variants out there than you might
-think; the ones we know about are described in the <STRONG>captoinfo(1)</STRONG>
-manual page. <P>
+  <p>Modules that would have to be modified for a port start
+  here:</p>
 
-The translation output code (<CODE>dump_entry()</CODE> in
-<CODE>ncurses/dump_entry.c</CODE>) is shared with the <STRONG>infocmp(1)</STRONG>
-utility.  It takes the same internal representation used to generate
-the binary form and dumps it to standard output in a specified
-format. <P>
+  <p>The following modules are &ldquo;pure curses&rdquo; but
+  contain assumptions inappropriate for a memory-mapped port.</p>
 
-The <CODE>include/Caps</CODE> file has a header comment describing ways you
-can specify source translations for nonstandard capabilities just by
-altering the master table.  It's possible to set up capability aliasing
-or tell the compiler to plain ignore a given capability without writing
-any C code at all. <P>
+  <dl>
+    <dt>lib_longname.c</dt>
 
-For circumstances where you need to do algorithmic translation, there
-are functions in <CODE>parse_entry.c</CODE> called after the parse of each
-entry that are specifically intended to encapsulate such
-translations.  This, for example, is where the AIX <STRONG>box1</STRONG> capability
-get translated to an <STRONG>acsc</STRONG> string.
+    <dd>assumes there may be multiple terminals</dd>
 
-<H1><A NAME="utils">Other Utilities</A></H1>
+    <dt>lib_acs.c</dt>
 
-The <STRONG>infocmp</STRONG> utility is just a wrapper around the same
-entry-dumping code used by <STRONG>tic</STRONG> for source translation.  Perhaps
-the one interesting aspect of the code is the use of a predicate
-function passed in to <CODE>dump_entry()</CODE> to control which
-capabilities are dumped.  This is necessary in order to handle both
-the ordinary De-compilation case and entry difference reporting. <P>
+    <dd>assumes acs_map as a double indirection</dd>
 
-The <STRONG>tput</STRONG> and <STRONG>clear</STRONG> utilities just do an entry load
-followed by a <CODE>tputs()</CODE> of a selected capability.
+    <dt>lib_mvcur.c</dt>
 
-<H1><A NAME="style">Style Tips for Developers</A></H1>
+    <dd>assumes cursor moves have variable cost</dd>
 
-See the TO-DO file in the top-level directory of the source distribution
-for additions that would be particularly useful. <P>
+    <dt>lib_termcap.c</dt>
 
-The prefix <CODE>_nc_</CODE> should be used on library public functions that are
-not part of the curses API in order to prevent pollution of the
-application namespace.
+    <dd>assumes there may be multiple terminals</dd>
 
-If you have to add to or modify the function prototypes in curses.h.in,
-read ncurses/MKlib_gen.sh first so you can avoid breaking XSI conformance.
+    <dt>lib_ti.c</dt>
 
-Please join the ncurses mailing list.  See the INSTALL file in the
-top level of the distribution for details on the list. <P>
+    <dd>assumes there may be multiple terminals</dd>
+  </dl>
 
-Look for the string <CODE>FIXME</CODE> in source files to tag minor bugs
-and potential problems that could use fixing. <P>
+  <p>The following modules use UNIX-specific calls:</p>
 
-Don't try to auto-detect OS features in the main body of the C code.
-That's the job of the configuration system. <P>
+  <dl>
+    <dt>lib_doupdate.c</dt>
 
-To hold down complexity, do make your code data-driven.  Especially,
-if you can drive logic from a table filtered out of
-<CODE>include/Caps</CODE>, do it.  If you find you need to augment the
-data in that file in order to generate the proper table, that's still
-preferable to ad-hoc code -- that's why the fifth field (flags) is
-there. <P>
+    <dd>input checking</dd>
 
-Have fun!
+    <dt>lib_getch.c</dt>
 
-<H1><A NAME="port">Porting Hints</A></H1>
+    <dd>read()</dd>
 
-The following notes are intended to be a first step towards DOS and Macintosh
-ports of the ncurses libraries. <P>
+    <dt>lib_initscr.c</dt>
 
-The following library modules are `pure curses'; they operate only on
-the curses internal structures, do all output through other curses
-calls (not including <CODE>tputs()</CODE> and <CODE>putp()</CODE>) and do not
-call any other UNIX routines such as signal(2) or the stdio library.
-Thus, they should not need to be modified for single-terminal
-ports. 
+    <dd>getenv()</dd>
 
-<blockquote>
-<code>
-lib_addch.c
-lib_addstr.c
-lib_bkgd.c
-lib_box.c
-lib_clear.c
-lib_clrbot.c
-lib_clreol.c
-lib_delch.c
-lib_delwin.c
-lib_erase.c
-lib_inchstr.c
-lib_insch.c
-lib_insdel.c
-lib_insstr.c
-lib_keyname.c
-lib_move.c
-lib_mvwin.c
-lib_newwin.c
-lib_overlay.c
-lib_pad.c
-lib_printw.c
-lib_refresh.c
-lib_scanw.c
-lib_scroll.c
-lib_scrreg.c
-lib_set_term.c
-lib_touch.c
-lib_tparm.c
-lib_tputs.c
-lib_unctrl.c
-lib_window.c
-panel.c
-</code>
-</blockquote>
-<P>
+    <dt>lib_newterm.c</dt>
 
-This module is pure curses, but calls outstr():
+    <dt>lib_baudrate.c</dt>
 
-<blockquote>
-<code>
-lib_getstr.c
-</code>
-</blockquote>
-<P>
+    <dt>lib_kernel.c</dt>
 
-These modules are pure curses, except that they use <CODE>tputs()</CODE>
-and <CODE>putp()</CODE>:
+    <dd>various tty-manipulation and system calls</dd>
 
-<blockquote>
-<code>
-lib_beep.c
-lib_color.c
-lib_endwin.c
-lib_options.c
-lib_slk.c
-lib_vidattr.c
-</code>
-</blockquote>
-<P>
+    <dt>lib_raw.c</dt>
 
-This modules assist in POSIX emulation on non-POSIX systems:
-<DL>
-<DT> sigaction.c
-<DD> signal calls
-</DL>
+    <dd>various tty-manipulation calls</dd>
 
-The following source files will not be needed for a
-single-terminal-type port.
+    <dt>lib_setup.c</dt>
 
-<blockquote>
-<code>
-alloc_entry.c
-captoinfo.c
-clear.c
-comp_captab.c
-comp_error.c
-comp_hash.c
-comp_main.c
-comp_parse.c
-comp_scan.c
-dump_entry.c
-infocmp.c
-parse_entry.c
-read_entry.c
-tput.c
-write_entry.c
-</code>
-</blockquote>
-<P>
+    <dd>various tty-manipulation calls</dd>
 
-The following modules will use open()/read()/write()/close()/lseek() on files,
-but no other OS calls.
+    <dt>lib_restart.c</dt>
 
-<DL>
-<DT>lib_screen.c
-<DD>used to read/write screen dumps
-<DT>lib_trace.c
-<DD>used to write trace data to the logfile
-</DL>
+    <dd>various tty-manipulation calls</dd>
 
-Modules that would have to be modified for a port start here: <P>
+    <dt>lib_tstp.c</dt>
 
-The following modules are `pure curses' but contain assumptions inappropriate
-for a memory-mapped port.
+    <dd>signal-manipulation calls</dd>
 
-<dl>
-<dt>lib_longname.c<dd>assumes there may be multiple terminals
-<dt>lib_acs.c<dd>assumes acs_map as a double indirection
-<dt>lib_mvcur.c<dd>assumes cursor moves have variable cost
-<dt>lib_termcap.c<dd>assumes there may be multiple terminals
-<dt>lib_ti.c<dd>assumes there may be multiple terminals
-</dl>
+    <dt>lib_twait.c</dt>
 
-The following modules use UNIX-specific calls:
+    <dd>gettimeofday(), select().</dd>
+  </dl>
 
-<dl>
-<dt>lib_doupdate.c<dd>input checking
-<dt>lib_getch.c<dd>read()
-<dt>lib_initscr.c<dd>getenv()
-<dt>lib_newterm.c
-<dt>lib_baudrate.c
-<dt>lib_kernel.c<dd>various tty-manipulation and system calls
-<dt>lib_raw.c<dd>various tty-manipulation calls
-<dt>lib_setup.c<dd>various tty-manipulation calls
-<dt>lib_restart.c<dd>various tty-manipulation calls
-<dt>lib_tstp.c<dd>signal-manipulation calls
-<dt>lib_twait.c<dd>gettimeofday(), select().
-</dl>
+  <hr>
 
-<HR>
-<ADDRESS>Eric S. Raymond &lt;esr@snark.thyrsus.com&gt;</ADDRESS>
-(Note: This is <EM>not</EM> the <A HREF="#bugtrack">bug address</A>!)
-</BODY>
-</HTML>
+  <address>
+    Eric S. Raymond &lt;esr@snark.thyrsus.com&gt;
+  </address>
+  (Note: This is <em>not</em> the <a href="#bugtrack">bug
+  address</a>!)
+</body>
+</html>
diff --git a/doc/html/index.html b/doc/html/index.html
index fb6a071..3f35122 100644
--- a/doc/html/index.html
+++ b/doc/html/index.html
@@ -1,8 +1,8 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <!--
-  $Id: index.html,v 1.6 2013/05/17 23:30:29 tom Exp $
+  $Id: index.html,v 1.11 2022/11/26 17:39:53 tom Exp $
   ****************************************************************************
-  * Copyright (c) 1998-2010,2013 Free Software Foundation, Inc.              *
+  * Copyright 2019-2020,2022 Thomas E. Dickey                                *
+  * Copyright 2000-2013,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -29,23 +29,40 @@
   * authorization.                                                           *
   ****************************************************************************
 -->
-<HTML>
-<HEAD>
-<TITLE>Welcome to ncurses</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<BODY>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<html>
+<head>
+  <meta name="generator" content=
+  "HTML Tidy for HTML5 for Linux version 5.6.0">
+  <title>Welcome to ncurses</title>
+  <link rel="author" href="mailto:bug-ncurses@gnu.org">
+  <meta http-equiv="Content-Type" content=
+  "text/html; charset=us-ascii">
+</head>
+<body>
+  <h1>Welcome to ncurses</h1>
 
-<H1>Welcome to ncurses</H1>
-From this index page you have access to these further documents
-<UL>
-<LI>The <a href="announce.html">Announcement</a> of the current version of ncurses.
-<LI>An <a href="ncurses-intro.html">Introduction</a> into (n)curses programming.
-<LI>A <a href="hackguide.html">hackers guide</a> to ncurses.
-<LI>A description of the <a href="Ada95.html">Ada95 binding</a>, by J&uuml;rgen Pfeifer.
-<li>A <a href="NCURSES-Programming-HOWTO.html">A short tutorial</a>, by Pradeep Padala.
-</UL><P>
-We also have HTML versions of all the ncurses <a href="man">manpages</a>.
-</BODY>
-</HTML>
+  <p>From this index page you have access to these further
+  documents</p>
+
+  <ul>
+    <li>The <a href="announce.html">Announcement</a> of the current
+    version of ncurses.</li>
+
+    <li>An <a href="ncurses-intro.html">Introduction</a> into
+    (n)curses programming.</li>
+
+    <li>A <a href="hackguide.html">hackers guide</a> to
+    ncurses.</li>
+
+    <li>A description of the <a href="Ada95.html">Ada95
+    binding</a>, by J&uuml;rgen Pfeifer.</li>
+
+    <li>A <a href="NCURSES-Programming-HOWTO.html">A short
+    tutorial</a>, by Pradeep Padala.</li>
+  </ul>
+
+  <p>We also have HTML versions of all the ncurses <a href=
+  "man">manpages</a>.</p>
+</body>
+</html>
diff --git a/doc/html/man/adacurses-config.1.html b/doc/html/man/adacurses-config.1.html
deleted file mode 100644
index 213771c..0000000
--- a/doc/html/man/adacurses-config.1.html
+++ /dev/null
@@ -1,158 +0,0 @@
-<!-- 
-  ****************************************************************************
-  * Copyright (c) 2010-2011,2014 Free Software Foundation, Inc.              *
-  *                                                                          *
-  * Permission is hereby granted, free of charge, to any person obtaining a  *
-  * copy of this software and associated documentation files (the            *
-  * "Software"), to deal in the Software without restriction, including      *
-  * without limitation the rights to use, copy, modify, merge, publish,      *
-  * distribute, distribute with modifications, sublicense, and/or sell       *
-  * copies of the Software, and to permit persons to whom the Software is    *
-  * furnished to do so, subject to the following conditions:                 *
-  *                                                                          *
-  * The above copyright notice and this permission notice shall be included  *
-  * in all copies or substantial portions of the Software.                   *
-  *                                                                          *
-  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
-  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
-  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
-  * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
-  * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
-  * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
-  * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
-  *                                                                          *
-  * Except as contained in this notice, the name(s) of the above copyright   *
-  * holders shall not be used in advertising or otherwise to promote the     *
-  * sale, use or other dealings in this Software without prior written       *
-  * authorization.                                                           *
-  ****************************************************************************
-  * @Id: MKada_config.in,v 1.8 2014/06/07 19:32:52 tom Exp @
--->
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>ADACURSES 1   User Commands</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<BODY>
-<H1>ADACURSES 1   User Commands</H1>
-<HR>
-<PRE>
-<STRONG><A HREF="ADACURSES.1.html">ADACURSES(1)</A></STRONG>                 User Commands                 <STRONG><A HREF="ADACURSES.1.html">ADACURSES(1)</A></STRONG>
-
-
-
-
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       adacurses-config - helper script for AdaCurses libraries
-
-
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
-       <STRONG>adacurses-config</STRONG> [<EM>options</EM>]
-
-
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       This  is  a  shell  script which simplifies configuring an
-       application  to  use  the  AdaCurses  library  binding  to
-       ncurses.
-
-
-</PRE>
-<H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE>
-       <STRONG>--cflags</STRONG>
-              echos  the gnat (Ada compiler) flags needed to com-
-              pile with AdaCurses.
-
-       <STRONG>--libs</STRONG> echos  the  gnat  libraries  needed  to  link  with
-              AdaCurses.
-
-       <STRONG>--version</STRONG>
-              echos  the release+patchdate version of the ncurses
-              libraries used to configure and build AdaCurses.
-
-       <STRONG>--help</STRONG> prints a  list  of  the  <STRONG>adacurses-config</STRONG>  script's
-              options.
-
-       If  no options are given, <STRONG>adacurses-config</STRONG> prints the com-
-       bination of <STRONG>--cflags</STRONG> and <STRONG>--libs</STRONG> that <STRONG>gnatmake</STRONG> expects (see
-       example).
-
-
-</PRE>
-<H2><a name="h2-EXAMPLE">EXAMPLE</a></H2><PRE>
-       For example, supposing that you want to compile the "Hello
-       World!"   program  for  AdaCurses.   Make  a  file   named
-       "hello.adb":
-              with Terminal_Interface.Curses; use Terminal_Interface.Curses;
-
-              procedure Hello is
-
-                 Visibility : Cursor_Visibility := Invisible;
-                 done : Boolean := False;
-                 c : Key_Code;
-
-              begin
-
-                 Init_Screen;
-                 Set_Echo_Mode (False);
-
-                 Set_Cursor_Visibility (Visibility);
-                 Set_Timeout_Mode (Standard_Window, Non_Blocking, 0);
-
-                 Move_Cursor (Line =&gt; Lines / 2, Column =&gt; (Columns - 12) / 2);
-                 Add (Str =&gt; "Hello World!");
-
-                 while not done loop
-
-                    c := Get_Keystroke (Standard_Window);
-                    case c is
-                    when Character'Pos ('q') =&gt; done := True;
-                    when others =&gt; null;
-                    end case;
-
-                    Nap_Milli_Seconds (50);
-
-                 end loop;
-
-                 End_Windows;
-
-              end Hello;
-
-       Then, using
-              gnatmake  `adacurses-config  --cflags` hello -largs
-              `adacurses-config --libs`
-
-       or (simpler):
-              gnatmake hello `adacurses-config`
-
-       you will compile and link the program.
-
-
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
-
-       This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20150215).
-
-
-
-                                                           <STRONG><A HREF="ADACURSES.1.html">ADACURSES(1)</A></STRONG>
-</PRE>
-<div class="nav">
-<ul>
-<li><a href="#h2-NAME">NAME</a></li>
-<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
-<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
-<li><a href="#h2-OPTIONS">OPTIONS</a></li>
-<li><a href="#h2-EXAMPLE">EXAMPLE</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-</ul>
-</div>
-</BODY>
-</HTML>
diff --git a/doc/html/man/adacursesw6-config.1.html b/doc/html/man/adacursesw6-config.1.html
new file mode 100644
index 0000000..3ded34a
--- /dev/null
+++ b/doc/html/man/adacursesw6-config.1.html
@@ -0,0 +1,144 @@
+<!--
+  ****************************************************************************
+  * Copyright 2019-2023,2024 Thomas E. Dickey                                *
+  * Copyright 2010-2014,2016 Free Software Foundation, Inc.                  *
+  *                                                                          *
+  * Permission is hereby granted, free of charge, to any person obtaining a  *
+  * copy of this software and associated documentation files (the            *
+  * "Software"), to deal in the Software without restriction, including      *
+  * without limitation the rights to use, copy, modify, merge, publish,      *
+  * distribute, distribute with modifications, sublicense, and/or sell       *
+  * copies of the Software, and to permit persons to whom the Software is    *
+  * furnished to do so, subject to the following conditions:                 *
+  *                                                                          *
+  * The above copyright notice and this permission notice shall be included  *
+  * in all copies or substantial portions of the Software.                   *
+  *                                                                          *
+  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+  * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+  * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+  * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+  * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+  *                                                                          *
+  * Except as contained in this notice, the name(s) of the above copyright   *
+  * holders shall not be used in advertising or otherwise to promote the     *
+  * sale, use or other dealings in this Software without prior written       *
+  * authorization.                                                           *
+  ****************************************************************************
+  * @Id: MKada_config.in,v 1.35 2024/04/20 21:13:27 tom Exp @
+-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<HTML>
+<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>adacursesw6\-config 1 2024-04-20 ncurses 6.5 User commands</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+</HEAD>
+<BODY>
+<H1 class="no-header">adacursesw6\-config 1 2024-04-20 ncurses 6.5 User commands</H1>
+<PRE>
+<STRONG><A HREF="adacursesw6-config.1.html">adacursesw6-config(1)</A></STRONG>            User commands           <STRONG><A HREF="adacursesw6-config.1.html">adacursesw6-config(1)</A></STRONG>
+
+
+
+
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>adacursesw6-config</STRONG> - configuration helper for <EM>AdaCurses</EM> libraries
+
+
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+       <STRONG>adacursesw6-config</STRONG> [<STRONG>--cflags</STRONG>] [<STRONG>--libs</STRONG>]
+
+       <STRONG>adacursesw6-config</STRONG> <STRONG>--version</STRONG>
+
+       <STRONG>adacursesw6-config</STRONG> <STRONG>--help</STRONG>
+
+
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       This  program  development  aid  simplifies  the process of configuring
+       applications to use the <EM>AdaCurses</EM> library binding to <EM>ncurses</EM>.
+
+
+</PRE><H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE>
+       <STRONG>--cflags</STRONG>   reports the GNAT (Ada compiler) flags needed to compile with
+                  <EM>AdaCurses</EM>.
+
+       <STRONG>--libs</STRONG>     reports the GNAT libraries needed to link with <EM>AdaCurses</EM>.
+
+       <STRONG>--version</STRONG>  reports  the  release  and  patch  date  information  of the
+                  <EM>ncurses</EM> libraries used to configure and build <EM>AdaCurses</EM>  and
+                  exits successfully.
+
+       <STRONG>--help</STRONG>     issues a usage message and exits successfully.
+
+       Omitting options implies "<STRONG>--cflags</STRONG> <STRONG>--libs</STRONG>".
+
+
+</PRE><H2><a name="h2-EXAMPLES">EXAMPLES</a></H2><PRE>
+       Consider a program using <EM>AdaCurses</EM> to write the message "Hello, world!"
+       in the center of the screen and wait for the user to press the "q"  key
+       before exiting.  Populate a file <EM>hello.adb</EM> with the following.
+
+           with Terminal_Interface.Curses; use Terminal_Interface.Curses;
+
+           procedure Hello is
+              Visibility : Cursor_Visibility := Invisible;
+              Message : constant String := "Hello, World!";
+              done : Boolean := False;
+              c : Key_Code;
+           begin
+              Init_Screen;
+              Set_Echo_Mode (False);
+              Set_Cursor_Visibility (Visibility);
+              Set_Timeout_Mode (Standard_Window, Non_Blocking, 0);
+
+              Move_Cursor (Line =&gt; Lines / 2,
+                           Column =&gt; (Columns - Message'Length) / 2);
+              Add (Str =&gt; Message);
+
+              while not done loop
+                 c := Get_Keystroke (Standard_Window);
+
+                 case c is
+                     when Character'Pos ('q') =&gt; done := True;
+                     when others =&gt; null;
+                 end case;
+
+                 Nap_Milli_Seconds (50);
+              end loop;
+
+              End_Windows;
+
+           end Hello;
+
+       Then, using
+           gnatmake `adacursesw6-config --cflags` hello \
+               -largs `adacursesw6-config --libs`
+       or, more simply,
+           gnatmake hello `adacursesw6-config`
+       you can compile and link the program.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
+
+
+
+ncurses 6.5                       2024-04-20             <STRONG><A HREF="adacursesw6-config.1.html">adacursesw6-config(1)</A></STRONG>
+</PRE>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-OPTIONS">OPTIONS</a></li>
+<li><a href="#h2-EXAMPLES">EXAMPLES</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
+</BODY>
+</HTML>
diff --git a/doc/html/man/captoinfo.1m.html b/doc/html/man/captoinfo.1m.html
index c0cdbf9..92f9905 100644
--- a/doc/html/man/captoinfo.1m.html
+++ b/doc/html/man/captoinfo.1m.html
@@ -1,7 +1,8 @@
-<!-- 
+<!--
   * t
   ****************************************************************************
-  * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2010,2016 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,206 +28,187 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: captoinfo.1m,v 1.25 2010/12/04 18:36:44 tom Exp @
+  * @Id: captoinfo.1m,v 1.63 2024/03/23 20:37:25 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>captoinfo 1m</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>captoinfo 1m 2024-03-23 ncurses 6.5 User commands</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">captoinfo 1m</H1>
+<H1 class="no-header">captoinfo 1m 2024-03-23 ncurses 6.5 User commands</H1>
 <PRE>
-<STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>                                             <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>
+<STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>                    User commands                   <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>captoinfo</STRONG>  - convert a <EM>termcap</EM> description into a <EM>terminfo</EM>
-       description
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>captoinfo</STRONG> - convert a <EM>termcap</EM> description into a <EM>terminfo</EM> description
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
-       <STRONG>captoinfo</STRONG> [<STRONG>-v</STRONG><EM>n</EM> <EM>width</EM>]  [<STRONG>-V</STRONG>] [<STRONG>-1</STRONG>] [<STRONG>-w</STRONG> <EM>width</EM>] <EM>file</EM> . . .
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+       <STRONG>captoinfo</STRONG> [<EM>tic-option</EM>] [<EM>file</EM> ...]
+
+       <STRONG>captoinfo</STRONG> <STRONG>-V</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       <STRONG>captoinfo</STRONG> looks  in  each  given  text  <EM>file</EM>  for  <STRONG>termcap</STRONG>
-       descriptions.   For each one found, an equivalent <STRONG>terminfo</STRONG>
-       description is written to  standard  output.   Termcap  <STRONG>tc</STRONG>
-       capabilities are translated directly to terminfo <STRONG>use</STRONG> capa-
-       bilities.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       <STRONG>captoinfo</STRONG>  translates  terminal  descriptions.   It looks in each given
+       text <EM>file</EM> for <EM>termcap</EM> entries  and,  for  each  one  found,  writes  an
+       equivalent <EM>terminfo</EM> description to the standard output stream.  <EM>termcap</EM>
+       <STRONG>tc</STRONG> capabilities translate to <EM>terminfo</EM> "<STRONG>use</STRONG>" capabilities.
 
-       If no <EM>file</EM> is given, then the environment variable <STRONG>TERMCAP</STRONG>
-       is  used  for the filename or entry.  If <STRONG>TERMCAP</STRONG> is a full
-       pathname to a file, only the terminal whose name is speci-
-       fied  in  the  environment variable <STRONG>TERM</STRONG> is extracted from
-       that file.  If the environment  variable  <STRONG>TERMCAP</STRONG>  is  not
-       set, then the file <STRONG>/usr/share/terminfo</STRONG> is read.
+       If no <EM>file</EM>s are specified, <STRONG>captoinfo</STRONG>  interprets  the  content  of  the
+       environment  variable  <EM>TERMCAP</EM>  as  a  file name, and extracts only the
+       entry for the terminal named in the environment variable <EM>TERM</EM> from  it.
+       If  the  environment  variable  <EM>TERMCAP</EM>  is  not  set,  <STRONG>captoinfo</STRONG> reads
+       <EM>/etc/termcap</EM>.
 
-       <STRONG>-v</STRONG>   print  out  tracing  information on standard error as
-            the program runs.
-
-       <STRONG>-V</STRONG>   print out the version of the program in use on  stan-
-            dard error and exit.
-
-       <STRONG>-1</STRONG>   cause  the fields to print out one to a line.  Other-
-            wise, the fields will be printed several to a line to
-            a maximum width of 60 characters.
-
-       <STRONG>-w</STRONG>   change the output to <EM>width</EM> characters.
+       This utility is implemented as a link to <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, with the latter's  <STRONG>-I</STRONG>
+       option  implied.  You can use other <STRONG>tic</STRONG> options such as <STRONG>-1</STRONG>, <STRONG>-f</STRONG>, <STRONG>-v</STRONG>, <STRONG>-w</STRONG>,
+       and <STRONG>-x</STRONG>.  The <STRONG>-V</STRONG> option reports the version of <EM>ncurses</EM>  associated  with
+       this program and exits with a successful status.
 
 
-</PRE>
-<H2><a name="h2-FILES">FILES</a></H2><PRE>
-       /usr/share/terminfo Compiled  terminal  description  data-
-                           base.
+</PRE><H3><a name="h3-Translations-from-Nonstandard-Capabilities">Translations from Nonstandard Capabilities</a></H3><PRE>
+       <STRONG>captoinfo</STRONG>  translates  some  obsolete,  nonstandard  capabilities  into
+       standard  (SVr4/XSI  Curses)  <EM>terminfo</EM>  capabilities.   It   issues   a
+       diagnostic  to the standard error stream for each, inviting the user to
+       check that it has not mistakenly  translated  an  unknown  or  mistyped
+       capability name.
+
+                     <STRONG>Name</STRONG>
+              <STRONG>Obsolete</STRONG>   <STRONG>Standard</STRONG>    <STRONG>Origin</STRONG>      <STRONG><EM>terminfo</EM></STRONG> <STRONG>capability</STRONG>
+              ---------------------------------------------------------
+                 <STRONG>BO</STRONG>         <STRONG>mr</STRONG>        AT&amp;T      <STRONG>enter_reverse_mode</STRONG>
+                 <STRONG>CI</STRONG>         <STRONG>vi</STRONG>        AT&amp;T      <STRONG>cursor_invisible</STRONG>
+                 <STRONG>CV</STRONG>         <STRONG>ve</STRONG>        AT&amp;T      <STRONG>cursor_normal</STRONG>
+                 <STRONG>DS</STRONG>         <STRONG>mh</STRONG>        AT&amp;T      <STRONG>enter_dim_mode</STRONG>
+                 <STRONG>EE</STRONG>         <STRONG>me</STRONG>        AT&amp;T      <STRONG>exit_attribute_mode</STRONG>
+                 <STRONG>FE</STRONG>         <STRONG>LF</STRONG>        AT&amp;T      <STRONG>label_on</STRONG>
+                 <STRONG>FL</STRONG>         <STRONG>LO</STRONG>        AT&amp;T      <STRONG>label_off</STRONG>
+                 <STRONG>XS</STRONG>         <STRONG>mk</STRONG>        AT&amp;T      <STRONG>enter_secure_mode</STRONG>
+                 <STRONG>EN</STRONG>         <STRONG>@7</STRONG>        XENIX     <STRONG>key_end</STRONG>
+                 <STRONG>GE</STRONG>         <STRONG>ae</STRONG>        XENIX     <STRONG>exit_alt_charset_mode</STRONG>
+                 <STRONG>GS</STRONG>         <STRONG>as</STRONG>        XENIX     <STRONG>enter_alt_charset_mode</STRONG>
+                 <STRONG>HM</STRONG>         <STRONG>kh</STRONG>        XENIX     <STRONG>key_home</STRONG>
+                 <STRONG>LD</STRONG>         <STRONG>kL</STRONG>        XENIX     <STRONG>key_dl</STRONG>
+                 <STRONG>PD</STRONG>         <STRONG>kN</STRONG>        XENIX     <STRONG>key_npage</STRONG>
+                 <STRONG>PN</STRONG>         <STRONG>po</STRONG>        XENIX     <STRONG>prtr_off</STRONG>
+                 <STRONG>PS</STRONG>         <STRONG>pf</STRONG>        XENIX     <STRONG>prtr_on</STRONG>
+                 <STRONG>PU</STRONG>         <STRONG>kP</STRONG>        XENIX     <STRONG>key_ppage</STRONG>
+                 <STRONG>RT</STRONG>         <STRONG>@8</STRONG>        XENIX     <STRONG>kent</STRONG>
+                 <STRONG>UP</STRONG>         <STRONG>ku</STRONG>        XENIX     <STRONG>kcuu1</STRONG>
+                 <STRONG>KA</STRONG>         <STRONG>k;</STRONG>      Tektronix   <STRONG>key_f10</STRONG>
+                 <STRONG>KB</STRONG>         <STRONG>F1</STRONG>      Tektronix   <STRONG>key_f11</STRONG>
+                 <STRONG>KC</STRONG>         <STRONG>F2</STRONG>      Tektronix   <STRONG>key_f12</STRONG>
+                 <STRONG>KD</STRONG>         <STRONG>F3</STRONG>      Tektronix   <STRONG>key_f13</STRONG>
+                 <STRONG>KE</STRONG>         <STRONG>F4</STRONG>      Tektronix   <STRONG>key_f14</STRONG>
+                 <STRONG>KF</STRONG>         <STRONG>F5</STRONG>      Tektronix   <STRONG>key_f15</STRONG>
+                 <STRONG>BC</STRONG>         <STRONG>Sb</STRONG>      Tektronix   <STRONG>set_background</STRONG>
+
+                 <STRONG>FC</STRONG>         <STRONG>Sf</STRONG>      Tektronix   <STRONG>set_foreground</STRONG>
+                 <STRONG>HS</STRONG>         <STRONG>mh</STRONG>        IRIX      <STRONG>enter_dim_mode</STRONG>
+
+       XENIX <EM>termcap</EM> had a set of extension capabilities, corresponding to box
+       drawing characters of CCSID ("code page") 437, as follows.
+
+                      <STRONG><EM>termcap</EM></STRONG> <STRONG>Name</STRONG>            <STRONG>Graphic</STRONG>
+                      -----------------------------------------
+                           <STRONG>G2</STRONG>        upper left corner
+                           <STRONG>G3</STRONG>        lower left corner
+                           <STRONG>G1</STRONG>        upper right corner
+                           <STRONG>G4</STRONG>        lower right corner
+                           <STRONG>GR</STRONG>        tee pointing right
+                           <STRONG>GL</STRONG>        tee pointing left
+                           <STRONG>GU</STRONG>        tee pointing up
+                           <STRONG>GD</STRONG>        tee pointing down
+                           <STRONG>GH</STRONG>        horizontal line
+                           <STRONG>GV</STRONG>        vertical line
+                           <STRONG>GC</STRONG>        intersection
+                           <STRONG>G6</STRONG>        double upper left corner
+                           <STRONG>G7</STRONG>        double lower left corner
+                           <STRONG>G5</STRONG>        double upper right corner
+                           <STRONG>G8</STRONG>        double lower right corner
+                           <STRONG>Gr</STRONG>        double tee pointing right
+                           <STRONG>Gr</STRONG>        double tee pointing left
+                           <STRONG>Gu</STRONG>        double tee pointing up
+                           <STRONG>Gd</STRONG>        double tee pointing down
+                           <STRONG>Gh</STRONG>        double horizontal line
+                           <STRONG>Gv</STRONG>        double vertical line
+                           <STRONG>Gc</STRONG>        double intersection
+                           <STRONG>GG</STRONG>        ACS magic cookie count
+
+       <STRONG>captoinfo</STRONG> composes single-line capabilities into an  <STRONG>acsc</STRONG>  string,  and
+       discards <STRONG>GG</STRONG> and double-line capabilities with a warning diagnostic.
+
+       IBM's  AIX  has  a  <EM>terminfo</EM> facility descended from SVr1 <EM>terminfo</EM>, but
+       which is incompatible with the SVr4 format.  <STRONG>captoinfo</STRONG>  translates  the
+       following AIX extensions.
+
+                                     <STRONG>IBM</STRONG>    <STRONG>XSI</STRONG>
+                                    -------------
+                                    ksel    kslt
+                                    kbtab   kcbt
+                                    font0   s0ds
+                                    font1   s1ds
+                                    font2   s2ds
+                                    font3   s3ds
+
+       Additionally,  this  program  translates  the AIX <STRONG>box1</STRONG> capability to an
+       <STRONG>acsc</STRONG> string.
+
+       The  HP-UX  <EM>terminfo</EM>  library   supports   two   nonstandard   <EM>terminfo</EM>
+       capabilities,  <STRONG>meml</STRONG>  (memory lock) and <STRONG>memu</STRONG> (memory unlock).  <STRONG>captoinfo</STRONG>
+       discards these with a warning message.
 
 
-</PRE>
-<H2><a name="h2-TRANSLATIONS-FROM-NONSTANDARD-CAPABILITIES">TRANSLATIONS FROM NONSTANDARD CAPABILITIES</a></H2><PRE>
-       Some obsolete nonstandard capabilities will  automatically
-       be  translated  into  standard  (SVr4/XSI Curses) terminfo
-       capabilities by <STRONG>captoinfo</STRONG>.  Whenever one  of  these  auto-
-       matic  translations  is  done,  the  program will issue an
-       notification to stderr, inviting the user to check that it
-       has  not  mistakenly  translated  a completely unknown and
-       random capability and/or syntax error.
-
-       Nonstd   Std    From           Terminfo
-        name    name                 capability
-       -----------------------------------------------
-       BO       mr     AT&amp;T    enter_reverse_mode
-       CI       vi     AT&amp;T    cursor_invisible
-       CV       ve     AT&amp;T    cursor_normal
-       DS       mh     AT&amp;T    enter_dim_mode
-       EE       me     AT&amp;T    exit_attribute_mode
-       FE       LF     AT&amp;T    label_on
-       FL       LO     AT&amp;T    label_off
-       XS       mk     AT&amp;T    enter_secure_mode
-       EN       @7     XENIX   key_end
-       GE       ae     XENIX   exit_alt_charset_mode
-       GS       as     XENIX   enter_alt_charset_mode
-       HM       kh     XENIX   key_home
-
-       LD       kL     XENIX   key_dl
-       PD       kN     XENIX   key_npage
-       PN       po     XENIX   prtr_off
-       PS       pf     XENIX   prtr_on
-       PU       kP     XENIX   key_ppage
-       RT       @8     XENIX   kent
-       UP       ku     XENIX   kcuu1
-       KA       k;     Tek     key_f10
-       KB       F1     Tek     key_f11
-       KC       F2     Tek     key_f12
-       KD       F3     Tek     key_f13
-       KE       F4     Tek     key_f14
-       KF       F5     Tek     key_f15
-       BC       Sb     Tek     set_background
-       FC       Sf     Tek     set_foreground
-       HS       mh     Iris    enter_dim_mode
-
-       XENIX termcap also used to have a set of  extension  capa-
-       bilities  for forms drawing, designed to take advantage of
-       the IBM PC high-half graphics.  They were as follows:
-
-       Cap          Graphic
-       -----------------------------
-       G2    upper left
-       G3    lower left
-       G1    upper right
-       G4    lower right
-       GR    pointing right
-       GL    pointing left
-       GU    pointing up
-       GD    pointing down
-       GH    horizontal line
-       GV    vertical line
-       GC    intersection
-       G6    upper left
-       G7    lower left
-       G5    upper right
-       G8    lower right
-       Gr    tee pointing right
-       Gr    tee pointing left
-       Gu    tee pointing up
-       Gd    tee pointing down
-       Gh    horizontal line
-       Gv    vertical line
-       Gc    intersection
-       GG    acs magic cookie count
-
-       If the single-line capabilities occur in  an  entry,  they
-       will  automatically  be composed into an <EM>acsc</EM> string.  The
-       double-line capabilities and <STRONG>GG</STRONG> are discarded with a warn-
-       ing message.
-
-       IBM's AIX has a terminfo facility descended from SVr1 ter-
-       minfo but incompatible with the SVr4 format.  The  follow-
-       ing AIX extensions are automatically translated:
-
-        IBM    XSI
-       -------------
-       ksel    kslt
-       kbtab   kcbt
-       font0   s0ds
-       font1   s1ds
-       font2   s2ds
-       font3   s3ds
-
-       Additionally,  the  AIX  <EM>box1</EM> capability will be automati-
-       cally translated to an <EM>acsc</EM> string.
-
-       Hewlett-Packard's terminfo library supports  two  nonstan-
-       dard  terminfo  capabilities  <EM>meml</EM>  (memory lock) and <EM>memu</EM>
-       (memory unlock).  These will be discarded with  a  warning
-       message.
+</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
+       <EM>/etc/termcap</EM>
+              default <EM>termcap</EM> terminal capability database
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       This  utility is actually a link to <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, running in <EM>-I</EM>
-       mode.  You can use other <STRONG>tic</STRONG> options such as <STRONG>-f</STRONG> and  <STRONG>-x</STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       X/Open Curses, Issue 7 (2009) describes <STRONG>tic</STRONG>  briefly,  but  omits  this
+       program.
 
-       The trace option is not identical to SVr4's.  Under  SVr4,
-       instead  of  following  the  <STRONG>-v</STRONG>  with a trace level n, you
-       repeat it n times.
+       SVr4 systems provide <STRONG>captoinfo</STRONG> as a separate application from <STRONG>tic</STRONG>.  Its
+       <STRONG>-v</STRONG> option does not accept a trace level argument <EM>n</EM>; repeat <STRONG>-v</STRONG>  <EM>n</EM>  times
+       instead.
+
+       NetBSD does not provide this application.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
-
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20150808).
-
-
-</PRE>
-<H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
        Eric S. Raymond &lt;esr@snark.thyrsus.com&gt; and
        Thomas E. Dickey &lt;dickey@invisible-island.net&gt;
 
 
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
-                                                          <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>
+
+
+ncurses 6.5                       2024-03-23                     <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
 <li><a href="#h2-NAME">NAME</a></li>
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
-<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-Translations-from-Nonstandard-Capabilities">Translations from Nonstandard Capabilities</a></li>
+</ul>
+</li>
 <li><a href="#h2-FILES">FILES</a></li>
-<li><a href="#h2-TRANSLATIONS-FROM-NONSTANDARD-CAPABILITIES">TRANSLATIONS FROM NONSTANDARD CAPABILITIES</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-AUTHOR">AUTHOR</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/clear.1.html b/doc/html/man/clear.1.html
index 6215331..e7da4da 100644
--- a/doc/html/man/clear.1.html
+++ b/doc/html/man/clear.1.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2010,2013 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2016,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,62 +27,137 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: clear.1,v 1.10 2013/06/22 22:22:11 tom Exp @
+  * @Id: clear.1,v 1.48 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>clear 1</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>clear 1 2024-03-16 ncurses 6.5 User commands</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">clear 1</H1>
+<H1 class="no-header">clear 1 2024-03-16 ncurses 6.5 User commands</H1>
 <PRE>
-<STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>                                                       <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>
+<STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>                         User commands                        <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
        <STRONG>clear</STRONG> - clear the terminal screen
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
-       <STRONG>clear</STRONG>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+       <STRONG>clear</STRONG> [<STRONG>-x</STRONG>] [<STRONG>-T</STRONG> <EM>terminal-type</EM>]
+
+       <STRONG>clear</STRONG> <STRONG>-V</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       <STRONG>clear</STRONG>  clears  your  screen if this is possible, including
-       its scrollback buffer (if the extended "E3" capability  is
-       defined).  <STRONG>clear</STRONG> looks in the environment for the terminal
-       type and then in the <STRONG>terminfo</STRONG> database to determine how to
-       clear the screen.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       <STRONG>clear</STRONG>  clears your terminal's screen and its scrollback buffer, if any.
+       <STRONG>clear</STRONG> retrieves the terminal type from the environment  variable  <EM>TERM</EM>,
+       then  consults the <EM>terminfo</EM> terminal capability database entry for that
+       type to determine how to perform these actions.
 
-       <STRONG>clear</STRONG>  ignores  any  command-line  parameters  that may be
-       present.
+       The capabilities to clear the screen and scrollback  buffer  are  named
+       "clear"   and   "E3",  respectively.   The  latter  is  a  <EM>user-defined</EM>
+       <EM>capability</EM>, applying an extension mechanism introduced in  <EM>ncurses</EM>  5.0
+       (1999).
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+</PRE><H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE>
+       <STRONG>clear</STRONG> recognizes the following options.
 
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20150808).
+       <STRONG>-T</STRONG> <EM>type</EM>  produces   instructions   suitable   for  the  terminal  <EM>type</EM>.
+                Normally, this option is  unnecessary,  because  the  terminal
+                type  is inferred from the environment variable <EM>TERM</EM>.  If this
+                option is specified, <STRONG>clear</STRONG> ignores the  environment  variables
+                <EM>LINES</EM> and <EM>COLUMNS</EM> as well.
+
+       <STRONG>-V</STRONG>       reports  the  version  of <EM>ncurses</EM> associated with this program
+                and exits with a successful status.
+
+       <STRONG>-x</STRONG>       prevents <STRONG>clear</STRONG> from attempting to clear the scrollback buffer.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       Neither IEEE Std 1003.1/The Open  Group  Base  Specifications  Issue  7
+       (POSIX.1-2008) nor X/Open Curses Issue 7 documents <STRONG>clear</STRONG>.
+
+       The  latter documents <STRONG>tput</STRONG>, which could be used to replace this utility
+       either via a shell script or by an alias (such as a symbolic  link)  to
+       run <STRONG>tput</STRONG> as <STRONG>clear</STRONG>.
+
+
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+       A <STRONG>clear</STRONG> command using the <EM>termcap</EM> database and library appeared in 2BSD
+       (1979).  Eighth Edition Unix (1985) later included it.
+
+       The commercial Unix arm of AT&amp;T adapted a different BSD program  (<STRONG>tset</STRONG>)
+       to  make  a  new  command,  <STRONG>tput</STRONG>, and replaced the <STRONG>clear</STRONG> program with a
+       shell script that called "<STRONG>tput</STRONG> <STRONG>clear</STRONG>".
+
+           /usr/bin/tput ${1:+-T$1} clear 2&gt; /dev/null
+           exit
+
+       In 1989, when Keith Bostic revised the BSD  <STRONG>tput</STRONG>  command  to  make  it
+       similar to AT&amp;T's <STRONG>tput</STRONG>, he added a <STRONG>clear</STRONG> shell script as well.
+
+           exec tput clear
+
+       The remainder of the script in each case is a copyright notice.
+
+       In 1995, <EM>ncurses</EM>'s <STRONG>clear</STRONG> began by adapting BSD's original <STRONG>clear</STRONG> command
+       to use <EM>terminfo</EM>.  The <STRONG>E3</STRONG> extension came later.
+
+       <STRONG>o</STRONG>   In June 1999, <EM>xterm</EM> provided an extension to the  standard  control
+           sequence  for  clearing  the screen.  Rather than clearing just the
+           visible part of the screen using
+
+               printf '\033[2J'
+
+           one could clear the scrollback buffer as well by using
+
+               printf '\033[<STRONG>3</STRONG>J'
+
+           instead.  "XTerm  Control  Sequences"  documents  this  feature  as
+           originating with <EM>xterm</EM>.
+
+       <STRONG>o</STRONG>   A few other terminal emulators adopted it, such as PuTTY in 2006.
+
+       <STRONG>o</STRONG>   In  April  2011, a Red Hat developer submitted a patch to the Linux
+           kernel,  modifying  its  console  driver  to  do  the  same  thing.
+           Documentation  of  this  change,  appearing  in  Linux 3.0, did not
+           mention <EM>xterm</EM>, although that program was cited in the Red  Hat  bug
+           report (#683733) motivating the feature.
+
+       <STRONG>o</STRONG>   Subsequently,  more  terminal  developers adopted the feature.  The
+           next relevant step was to change the <EM>ncurses</EM> <STRONG>clear</STRONG> program in  2013
+           to incorporate this extension.
+
+       <STRONG>o</STRONG>   In 2013, the <STRONG>E3</STRONG> capability was not exercised by "<STRONG>tput</STRONG> <STRONG>clear</STRONG>".  That
+           oversight was addressed in 2016 by reorganizing <STRONG>tput</STRONG> to  share  its
+           logic with <STRONG>clear</STRONG> and <STRONG>tset</STRONG>.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>, <STRONG>xterm(1)</STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
 
 
-                                                               <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>
+ncurses 6.5                       2024-03-16                          <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
 <li><a href="#h2-NAME">NAME</a></li>
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-OPTIONS">OPTIONS</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
diff --git a/doc/html/man/curs_add_wch.3x.html b/doc/html/man/curs_add_wch.3x.html
index f227fd3..64c645d 100644
--- a/doc/html/man/curs_add_wch.3x.html
+++ b/doc/html/man/curs_add_wch.3x.html
@@ -1,6 +1,8 @@
-<!-- 
+<!--
+  * t
   ****************************************************************************
-  * Copyright (c) 2001-2012,2015 Free Software Foundation, Inc.              *
+  * Copyright 2019-2023,2024 Thomas E. Dickey                                *
+  * Copyright 2001-2015,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,208 +28,307 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_add_wch.3x,v 1.16 2015/07/20 23:44:56 tom Exp @
+  * @Id: curs_add_wch.3x,v 1.62 2024/04/20 21:20:07 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_add_wch 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_add_wch 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_add_wch 3x</H1>
+<H1 class="no-header">curs_add_wch 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>                                       <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+<STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>                 Library calls                <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>add_wch</STRONG>,   <STRONG>wadd_wch</STRONG>,  <STRONG>mvadd_wch</STRONG>,  <STRONG>mvwadd_wch</STRONG>,  <STRONG>echo_wchar</STRONG>,
-       <STRONG>wecho_wchar</STRONG> - add a complex character and rendition  to  a
-       <STRONG>curses</STRONG> window, then advance the cursor
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>add_wch</STRONG>, <STRONG>wadd_wch</STRONG>, <STRONG>mvadd_wch</STRONG>, <STRONG>mvwadd_wch</STRONG>, <STRONG>echo_wchar</STRONG>, <STRONG>wecho_wchar</STRONG> - add
+       a <EM>curses</EM> complex character to a window and advance the cursor
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
-       <STRONG>int</STRONG> <STRONG>add_wch(</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>wadd_wch(</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvadd_wch(</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG>
-       <STRONG>int</STRONG>  <STRONG>mvwadd_wch(</STRONG>  <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG>
-       <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>echo_wchar(</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>wecho_wchar(</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>add_wch(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wadd_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvadd_wch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvwadd_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>echo_wchar(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wecho_wchar(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
 
-</PRE>
-<H3><a name="h3-add_wch">add_wch</a></H3><PRE>
-       The <STRONG>add_wch</STRONG>, <STRONG>wadd_wch</STRONG>, <STRONG>mvadd_wch</STRONG>, and <STRONG>mvwadd_wch</STRONG> functions
-       put the complex character <EM>wch</EM> into the given window at its
-       current position, which is then advanced.  These functions
-       perform  wrapping and special-character processing as fol-
-       lows:
+</PRE><H3><a name="h3-add_wch">add_wch</a></H3><PRE>
+       The <STRONG>add_wch</STRONG>, <STRONG>wadd_wch</STRONG>, <STRONG>mvadd_wch</STRONG>,  and  <STRONG>mvwadd_wch</STRONG>  functions  put  the
+       complex  character  <EM>wch</EM>  into the given window at its current position,
+       which is then advanced.  These functions perform wrapping and  special-
+       character processing as follows:
 
-       <STRONG>o</STRONG>   If <EM>wch</EM> refers to a spacing character, then any  previ-
-           ous  character  at  that  location  is removed.  A new
-           character specified by <EM>wch</EM> is placed at that  location
-           with  rendition  specified  by  <EM>wch</EM>.   The cursor then
-           advances to the next spacing character on the screen.
+       <STRONG>o</STRONG>   If  <EM>wch</EM>  refers to a spacing character, then any previous character
+           at that location is removed.  A new character specified by  <EM>wch</EM>  is
+           placed  at  that  location  with  rendition  specified by <EM>wch</EM>.  The
+           cursor then advances after this spacing character, to  prepare  for
+           writing the next character on the screen.
 
-       <STRONG>o</STRONG>   If <EM>wch</EM> refers to a non-spacing character, all previous
-           characters  at  that location are preserved.  The non-
-           spacing characters of <EM>wch</EM> are  added  to  the  spacing
-           complex  character, and the rendition specified by <EM>wch</EM>
-           is ignored.
+           The newly added spacing character is the base of the active complex
+           character.  Subsequent non-spacing characters can be combined  with
+           this base until another spacing character is written to the screen,
+           or the cursor is moved, e.g., using <STRONG>wmove</STRONG>.
 
-       <STRONG>o</STRONG>   If the character  part  of  <EM>wch</EM>  is  a  tab,  newline,
-           backspace  or  other  control character, the window is
-           updated and the cursor moves as if <STRONG>addch</STRONG> were called.
+       <STRONG>o</STRONG>   If <EM>wch</EM> refers to a non-spacing character, it  is  appended  to  the
+           active complex character, retaining the previous characters at that
+           location.  The rendition specified by <EM>wch</EM> is ignored.
+
+           The cursor is not advanced after adding  a  non-spacing  character.
+           Subsequent calls to add non-spacing characters will update the same
+           position.
+
+       <STRONG>o</STRONG>   If the character part of <EM>wch</EM> is a tab, newline, backspace or  other
+           control character, the window is updated and the cursor moves as if
+           <STRONG>addch</STRONG> were called.
 
 
-</PRE>
-<H3><a name="h3-echo_wchar">echo_wchar</a></H3><PRE>
-       The <STRONG>echo_wchar</STRONG> function is functionally  equivalent  to  a
-       call to <STRONG>add_wch</STRONG> followed by a call to <STRONG>refresh</STRONG>.  Similarly,
-       the <STRONG>wecho_wchar</STRONG> is functionally equivalent to  a  call  to
-       <STRONG>wadd_wch</STRONG>  followed  by  a call to <STRONG>wrefresh</STRONG>.  The knowledge
-       that only a single character is being output is taken into
-       consideration and, for non-control characters, a consider-
-       able performance gain might be seen by  using  the  *<STRONG>echo</STRONG>*
+</PRE><H3><a name="h3-echo_wchar">echo_wchar</a></H3><PRE>
+       The <STRONG>echo_wchar</STRONG> function is functionally equivalent to a call to <STRONG>add_wch</STRONG>
+       followed  by  a  call  to  <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>.   Similarly, the <STRONG>wecho_wchar</STRONG> is
+       functionally equivalent to a call to <STRONG>wadd_wch</STRONG> followed  by  a  call  to
+       <STRONG>wrefresh</STRONG>.   The  knowledge that only a single character is being output
+       is  taken  into  consideration  and,  for  non-control  characters,   a
+       considerable  performance  gain  might  be  seen  by  using  the *<STRONG>echo</STRONG>*
        functions instead of their equivalents.
 
 
-</PRE>
-<H3><a name="h3-Line-Graphics">Line Graphics</a></H3><PRE>
-       Like  <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>,  <STRONG>addch_wch</STRONG>  accepts symbols which make it
-       simple to draw lines and  other  frequently  used  special
-       characters.   These  symbols  correspond to the same VT100
-       line-drawing set as <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>.
+</PRE><H3><a name="h3-Line-Graphics">Line Graphics</a></H3><PRE>
+       Like <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>, <STRONG>addch_wch</STRONG> accepts symbols which make it simple to  draw
+       lines  and  other  frequently  used  special characters.  These symbols
+       correspond to the same VT100 line-drawing set as <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>.
 
-       <EM>Name</EM>              <EM>Unicode</EM>    <EM>Default</EM>   <EM>Description</EM>
-       ----------------------------------------------------------------
-       WACS_BLOCK        0x25ae     #         solid square block
-       WACS_BOARD        0x2592     #         board of squares
-       WACS_BTEE         0x2534     +         bottom tee
-
-       WACS_BULLET       0x00b7     o         bullet
-       WACS_CKBOARD      0x2592     :         checker board (stipple)
-       WACS_DARROW       0x2193     v         arrow pointing down
-       WACS_DEGREE       0x00b0     '         degree symbol
-       WACS_DIAMOND      0x25c6     +         diamond
-       WACS_GEQUAL       0x2265     &gt;         greater-than-or-equal-to
-       WACS_HLINE        0x2500     -         horizontal line
-       WACS_LANTERN      0x2603     #         lantern symbol
-       WACS_LARROW       0x2190     &lt;         arrow pointing left
-       WACS_LEQUAL       0x2264     &lt;         less-than-or-equal-to
-       WACS_LLCORNER     0x2514     +         lower left-hand corner
-       WACS_LRCORNER     0x2518     +         lower right-hand corner
-       WACS_LTEE         0x2524     +         left tee
-       WACS_NEQUAL       0x2260     !         not-equal
-       WACS_PI           0x03c0     *         greek pi
-       WACS_PLMINUS      0x00b1     #         plus/minus
-       WACS_PLUS         0x253c     +         plus
-       WACS_RARROW       0x2192     &gt;         arrow pointing right
-       WACS_RTEE         0x251c     +         right tee
-       WACS_S1           0x23ba     -         scan line 1
-       WACS_S3           0x23bb     -         scan line 3
-       WACS_S7           0x23bc     -         scan line 7
-       WACS_S9           0x23bd     _         scan line 9
-       WACS_STERLING     0x00a3     f         pound-sterling symbol
-       WACS_TTEE         0x252c     +         top tee
-       WACS_UARROW       0x2191     ^         arrow pointing up
-       WACS_ULCORNER     0x250c     +         upper left-hand corner
-       WACS_URCORNER     0x2510     +         upper right-hand corner
-       WACS_VLINE        0x2502     |         vertical line
-
-       The wide-character configuration of ncurses  also  defines
-       symbols for thick- and double-lines:
-
-       <EM>Name</EM>              <EM>Unicode</EM>   <EM>Default</EM>   <EM>Description</EM>
-       ---------------------------------------------------------------------
-       WACS_T_ULCORNER   0x250f    +         thick upper left corner
-       WACS_T_LLCORNER   0x2517    +         thick lower left corner
-       WACS_T_URCORNER   0x2513    +         thick upper right corner
-       WACS_T_LRCORNER   0x251b    +         thick lower right corner
-       WACS_T_LTEE       0x252b    +         thick tee pointing right
-       WACS_T_RTEE       0x2523    +         thick tee pointing left
-       WACS_T_BTEE       0x253b    +         thick tee pointing up
-       WACS_T_TTEE       0x2533    +         thick tee pointing down
-       WACS_T_HLINE      0x2501    -         thick horizontal line
-       WACS_T_VLINE      0x2503    |         thick vertical line
-       WACS_T_PLUS       0x254b    +         thick large plus or crossover
-       WACS_D_ULCORNER   0x2554    +         double upper left corner
-       WACS_D_LLCORNER   0x255a    +         double lower left corner
-       WACS_D_URCORNER   0x2557    +         double upper right corner
-       WACS_D_LRCORNER   0x255d    +         double lower right corner
-       WACS_D_RTEE       0x2563    +         double tee pointing left
-       WACS_D_LTEE       0x2560    +         double tee pointing right
-       WACS_D_BTEE       0x2569    +         double tee pointing up
-       WACS_D_TTEE       0x2566    +         double tee pointing down
-       WACS_D_HLINE      0x2550    -         double horizontal line
-       WACS_D_VLINE      0x2551    |         double vertical line
-       WACS_D_PLUS       0x256c    +         double large plus or crossover
+                       <STRONG>Unicode</STRONG>   <STRONG>ASCII</STRONG>     <STRONG>acsc</STRONG>
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on
-       success.
+       <STRONG>ACS</STRONG> <STRONG>Name</STRONG>        <STRONG>Default</STRONG>   <STRONG>Default</STRONG>   <STRONG>Char</STRONG>   <STRONG>Glyph</STRONG> <STRONG>Name</STRONG>
+       ------------------------------------------------------------------------
+       <STRONG>WACS_BLOCK</STRONG>      0x25ae    #         0      solid square block
+       <STRONG>WACS_BOARD</STRONG>      0x2592    #         h      board of squares
+       <STRONG>WACS_BTEE</STRONG>       0x2534    +         v      bottom tee
+       <STRONG>WACS_BULLET</STRONG>     0x00b7    o         ~      bullet
+       <STRONG>WACS_CKBOARD</STRONG>    0x2592    :         a      checker board (stipple)
+       <STRONG>WACS_DARROW</STRONG>     0x2193    v         .      arrow pointing down
+       <STRONG>WACS_DEGREE</STRONG>     0x00b0    '         f      degree symbol
+       <STRONG>WACS_DIAMOND</STRONG>    0x25c6    +         `      diamond
+       <STRONG>WACS_GEQUAL</STRONG>     0x2265    &gt;         &gt;      greater-than-or-equal-to
+       <STRONG>WACS_HLINE</STRONG>      0x2500    -         q      horizontal line
+       <STRONG>WACS_LANTERN</STRONG>    0x2603    #         i      lantern symbol
+       <STRONG>WACS_LARROW</STRONG>     0x2190    &lt;         ,      arrow pointing left
+       <STRONG>WACS_LEQUAL</STRONG>     0x2264    &lt;         y      less-than-or-equal-to
+       <STRONG>WACS_LLCORNER</STRONG>   0x2514    +         m      lower left-hand corner
+       <STRONG>WACS_LRCORNER</STRONG>   0x2518    +         j      lower right-hand corner
+       <STRONG>WACS_LTEE</STRONG>       0x2524    +         t      left tee
+       <STRONG>WACS_NEQUAL</STRONG>     0x2260    !         |      not-equal
+       <STRONG>WACS_PI</STRONG>         0x03c0    *         {      greek pi
+       <STRONG>WACS_PLMINUS</STRONG>    0x00b1    #         g      plus/minus
+       <STRONG>WACS_PLUS</STRONG>       0x253c    +         n      plus
+       <STRONG>WACS_RARROW</STRONG>     0x2192    &gt;         +      arrow pointing right
+       <STRONG>WACS_RTEE</STRONG>       0x251c    +         u      right tee
+       <STRONG>WACS_S1</STRONG>         0x23ba    -         o      scan line 1
+       <STRONG>WACS_S3</STRONG>         0x23bb    -         p      scan line 3
+       <STRONG>WACS_S7</STRONG>         0x23bc    -         r      scan line 7
+       <STRONG>WACS_S9</STRONG>         0x23bd    _         s      scan line 9
+       <STRONG>WACS_STERLING</STRONG>   0x00a3    f         }      pound-sterling symbol
+       <STRONG>WACS_TTEE</STRONG>       0x252c    +         w      top tee
+       <STRONG>WACS_UARROW</STRONG>     0x2191    ^         -      arrow pointing up
+       <STRONG>WACS_ULCORNER</STRONG>   0x250c    +         l      upper left-hand corner
+       <STRONG>WACS_URCORNER</STRONG>   0x2510    +         k      upper right-hand corner
+       <STRONG>WACS_VLINE</STRONG>      0x2502    |         x      vertical line
 
-       Functions with a "mv" prefix first perform a cursor  move-
-       ment  using  <STRONG>wmove</STRONG>, and return an error if the position is
-       outside the window, or if the window pointer is null.
+       The wide-character configuration of <EM>ncurses</EM> also  defines  symbols  for
+       thick lines (<STRONG>acsc</STRONG> "J" to "V"):
+
+                         <STRONG>Unicode</STRONG>   <STRONG>ASCII</STRONG>     <STRONG>acsc</STRONG>
+       <STRONG>ACS</STRONG> <STRONG>Name</STRONG>          <STRONG>Default</STRONG>   <STRONG>Default</STRONG>   <STRONG>Char</STRONG>   <STRONG>Glyph</STRONG> <STRONG>Name</STRONG>
+       ------------------------------------------------------------------------
+       <STRONG>WACS_T_BTEE</STRONG>       0x253b    +         V      thick tee pointing up
+       <STRONG>WACS_T_HLINE</STRONG>      0x2501    -         Q      thick horizontal line
+       <STRONG>WACS_T_LLCORNER</STRONG>   0x2517    +         M      thick lower left corner
+       <STRONG>WACS_T_LRCORNER</STRONG>   0x251b    +         J      thick lower right corner
+       <STRONG>WACS_T_LTEE</STRONG>       0x252b    +         T      thick tee pointing right
+       <STRONG>WACS_T_PLUS</STRONG>       0x254b    +         N      thick large plus
+       <STRONG>WACS_T_RTEE</STRONG>       0x2523    +         U      thick tee pointing left
+       <STRONG>WACS_T_TTEE</STRONG>       0x2533    +         W      thick tee pointing down
+       <STRONG>WACS_T_ULCORNER</STRONG>   0x250f    +         L      thick upper left corner
+       <STRONG>WACS_T_URCORNER</STRONG>   0x2513    +         K      thick upper right corner
+       <STRONG>WACS_T_VLINE</STRONG>      0x2503    |         X      thick vertical line
+
+       and for double-lines (<STRONG>acsc</STRONG> "A" to "I"):
+
+                         <STRONG>Unicode</STRONG>   <STRONG>ASCII</STRONG>     <STRONG>acsc</STRONG>
+       <STRONG>ACS</STRONG> <STRONG>Name</STRONG>          <STRONG>Default</STRONG>   <STRONG>Default</STRONG>   <STRONG>Char</STRONG>   <STRONG>Glyph</STRONG> <STRONG>Name</STRONG>
+       ------------------------------------------------------------------------
+       <STRONG>WACS_D_BTEE</STRONG>       0x2569    +         H      double tee pointing up
+       <STRONG>WACS_D_HLINE</STRONG>      0x2550    -         R      double horizontal line
+       <STRONG>WACS_D_LLCORNER</STRONG>   0x255a    +         D      double lower left corner
+       <STRONG>WACS_D_LRCORNER</STRONG>   0x255d    +         A      double lower right corner
+       <STRONG>WACS_D_LTEE</STRONG>       0x2560    +         F      double tee pointing right
+       <STRONG>WACS_D_PLUS</STRONG>       0x256c    +         E      double large plus
+       <STRONG>WACS_D_RTEE</STRONG>       0x2563    +         G      double tee pointing left
+
+       <STRONG>WACS_D_TTEE</STRONG>       0x2566    +         I      double tee pointing down
+       <STRONG>WACS_D_ULCORNER</STRONG>   0x2554    +         C      double upper left corner
+       <STRONG>WACS_D_URCORNER</STRONG>   0x2557    +         B      double upper right corner
+       <STRONG>WACS_D_VLINE</STRONG>      0x2551    |         Y      double vertical line
+
+       Unicode's  descriptions  for  these  characters  differs  slightly from
+       <EM>ncurses</EM>, by introducing the term "light"  (along  with  less  important
+       details).   Here are its descriptions for the normal, thick, and double
+       horizontal lines:
+
+       <STRONG>o</STRONG>   U+2500 BOX DRAWINGS LIGHT HORIZONTAL
+
+       <STRONG>o</STRONG>   U+2501 BOX DRAWINGS HEAVY HORIZONTAL
+
+       <STRONG>o</STRONG>   U+2550 BOX DRAWINGS DOUBLE HORIZONTAL
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       Note that <STRONG>add_wch</STRONG>, <STRONG>mvadd_wch</STRONG>, <STRONG>mvwadd_wch</STRONG>,  and  <STRONG>echo_wchar</STRONG>
-       may be macros.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
+
+       X/Open  Curses  does  not   specify   any   error   conditions.    This
+       implementation returns an error
+
+       <STRONG>o</STRONG>   if the window pointer is null or
+
+       <STRONG>o</STRONG>   if it is not possible to add a complete character in the window.
+
+       The latter may be due to different causes:
+
+       <STRONG>o</STRONG>   If  <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG>  is  not enabled, writing a character at the lower
+           right margin succeeds.  However, an error is returned because it is
+           not possible to wrap to a new line.
+
+       <STRONG>o</STRONG>   If  an error is detected when converting a multibyte character to a
+           sequence of bytes, or if it is not  possible  to  add  all  of  the
+           resulting bytes in the window, an error is returned.
+
+       Functions  prefixed with "mv" first perform cursor movement and fail if
+       the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       All  of  these  functions  are described in the XSI Curses
-       standard, Issue 4.  The defaults specified for  line-draw-
-       ing characters apply in the POSIX locale.
-
-       X/Open Curses makes it clear that the WACS_ symbols should
-       be defined as a pointer to <STRONG>cchar_t</STRONG> data, e.g., in the dis-
-       cussion of <STRONG>border_set</STRONG>.  A few implementations are problem-
-       atic:
-
-       <STRONG>o</STRONG>   NetBSD curses defines the symbols as a <STRONG>wchar_t</STRONG>  within
-           a <STRONG>cchar_t</STRONG>.
-
-       <STRONG>o</STRONG>   HPUX  curses  equates  some of the <EM>ACS</EM><STRONG>_</STRONG> symbols to the
-           analogous <EM>WACS</EM><STRONG>_</STRONG> symbols as if the  <EM>ACS</EM><STRONG>_</STRONG>  symbols  were
-           wide  characters.   The  misdefined  symbols  are  the
-           arrows and other symbols which are not used for  line-
-           drawing.
-
-       X/Open  Curses  does not define symbols for thick- or dou-
-       ble-lines.   SVr4  curses  implementations  defined  their
-       line-drawing  symbols  in  terms  of intermediate symbols.
-       This implementation extends those symbols,  providing  new
-       definitions which are not in the SVr4 implementations.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       Note that <STRONG>add_wch</STRONG>, <STRONG>mvadd_wch</STRONG>, <STRONG>mvwadd_wch</STRONG>, and <STRONG>echo_wchar</STRONG> may be macros.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>,
-       <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG>putwc(3)</STRONG>
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These functions are described in X/Open Curses, Issue 4.  The  defaults
+       specified for line-drawing characters apply in the POSIX locale.
+
+
+</PRE><H3><a name="h3-WACS-Symbols">WACS Symbols</a></H3><PRE>
+       X/Open  Curses  makes it clear that the WACS_ symbols should be defined
+       as a pointer to <STRONG>cchar_t</STRONG> data, e.g., in the discussion of <STRONG>border_set</STRONG>.  A
+       few implementations are problematic:
+
+       <STRONG>o</STRONG>   NetBSD curses defines the symbols as a <STRONG>wchar_t</STRONG> within a <STRONG>cchar_t</STRONG>.
+
+       <STRONG>o</STRONG>   HP-UX  curses  equates  some  of  the <STRONG>ACS_</STRONG> symbols to the analogous
+           <STRONG>WACS_</STRONG> symbols as if the <STRONG>ACS_</STRONG> symbols  were  wide  characters.   The
+           misdefined  symbols  are the arrows and other symbols which are not
+           used for line-drawing.
+
+       X/Open Curses does not specify  symbols  for  thick-  or  double-lines.
+       SVr4 curses implementations defined their line-drawing symbols in terms
+       of intermediate symbols.  This implementation  extends  those  symbols,
+       providing new definitions which are not in the SVr4 implementations.
+
+       Not  all  Unicode-capable  terminals  provide  support  for VT100-style
+       alternate character  sets  (i.e.,  the  <STRONG>acsc</STRONG>  capability),  with  their
+       corresponding  line-drawing  characters.  X/Open Curses did not address
+       the  aspect  of  integrating  Unicode  with  line-drawing   characters.
+       Existing  implementations of Unix curses (AIX, HP-UX, Solaris) use only
+       the <STRONG>acsc</STRONG> character-mapping to provide this feature.  As a result, those
+       implementations  can  only  use  single-byte  line-drawing  characters.
+       <EM>ncurses</EM> 5.3 (2002) provided a table of Unicode values  to  solve  these
+       problems.  NetBSD curses incorporated that table in 2010.
+
+       In  this  implementation,  the  Unicode  values are used instead of the
+       terminal description's <STRONG>acsc</STRONG> mapping as discussed in <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> for the
+       environment  variable  <EM>NCURSES</EM><STRONG>_</STRONG><EM>NO</EM><STRONG>_</STRONG><EM>UTF8</EM><STRONG>_</STRONG><EM>ACS</EM>.   In contrast, for the same
+       cases, the line-drawing characters described in <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG> will use only
+       the ASCII default values.
+
+       Having  Unicode available does not solve all of the problems with line-
+       drawing for curses:
+
+       <STRONG>o</STRONG>   The closest Unicode equivalents to the VT100 graphics  <EM>S1</EM>,  <EM>S3</EM>,  <EM>S7</EM>
+           and  <EM>S9</EM> frequently are not displayed at the regular intervals which
+           the terminal used.
+
+       <STRONG>o</STRONG>   The <EM>lantern</EM> is a special case.  It originated with  the  AT&amp;T  4410
+           terminal  in the early 1980s.  There is no accessible documentation
+           depicting the lantern symbol on the AT&amp;T terminal.
+
+           Lacking documentation, most readers assume that a <EM>storm</EM> <EM>lantern</EM> was
+           intended.  But there are several possibilities, all with problems.
+
+           Unicode  6.0  (2010)  does provide two lantern symbols: U+1F383 and
+           U+1F3EE.  Those were not available  in  2002,  and  are  irrelevant
+           since  they  lie  outside the BMP and as a result are not generally
+           available in terminals.  They are not storm lanterns, in any case.
+
+           Most <EM>storm</EM> <EM>lanterns</EM> have a tapering glass chimney (to guard against
+           tipping); some have a wire grid protecting the chimney.
+
+           For  the  tapering  appearance,   U+2603 was adequate.  In use on a
+           terminal, no one can tell what the image represents.  Unicode calls
+           it a snowman.
+
+           Others have suggested these alternatives: &lt;section&gt; U+00A7 (section
+           mark), &lt;Theta&gt; U+0398 (theta), &lt;Phi&gt; U+03A6 (phi),  &lt;delta&gt;  U+03B4
+           (delta),  U+2327 (x in a rectangle),  U+256C (forms double vertical
+           and horizontal), and  U+2612 (ballot box with x).
+
+
+</PRE><H3><a name="h3-Complex-Characters">Complex Characters</a></H3><PRE>
+       The complex character  type  <STRONG>cchar_t</STRONG>  can  store  more  than  one  wide
+       character  (<STRONG>wchar_t</STRONG>).   The  X/Open Curses description does not mention
+       this possibility, describing only the cases  where  <EM>wch</EM>  is  a  spacing
+       character or a non-spacing character.
+
+       This implementation assumes that <EM>wch</EM> is constructed using <STRONG><A HREF="curs_getcchar.3x.html">setcchar(3x)</A></STRONG>,
+       and in turn that the result
+
+       <STRONG>o</STRONG>   contains at most one spacing character in the beginning of its list
+           of wide characters, and zero or more non-spacing characters or
+
+       <STRONG>o</STRONG>   may hold one non-spacing character.
+
+       In  the  latter  case,  <EM>ncurses</EM>  adds  the non-spacing character to the
+       active (base) spacing character.
+
+
+</PRE><H3><a name="h3-TABSIZE">TABSIZE</a></H3><PRE>
+       The <STRONG>TABSIZE</STRONG> variable is implemented  in  SVr4  and  other  versions  of
+       <EM>curses</EM>, but is not specified by X/Open Curses (see <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>).
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library in
+       its non-wide-character configuration.
+
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,   <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>,   <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>,   <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>,
+       <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>,  <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>,
+       <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG>putwc(3)</STRONG>
 
 
 
-                                                       <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                  <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -242,7 +343,13 @@
 </li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
 <li><a href="#h2-NOTES">NOTES</a></li>
-<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a>
+<ul>
+<li><a href="#h3-WACS-Symbols">WACS Symbols</a></li>
+<li><a href="#h3-Complex-Characters">Complex Characters</a></li>
+<li><a href="#h3-TABSIZE">TABSIZE</a></li>
+</ul>
+</li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
diff --git a/doc/html/man/curs_add_wchstr.3x.html b/doc/html/man/curs_add_wchstr.3x.html
index 7ee0cf1..f554061 100644
--- a/doc/html/man/curs_add_wchstr.3x.html
+++ b/doc/html/man/curs_add_wchstr.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 2002-2010,2012 Free Software Foundation, Inc.              *
+  * 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  *
   * copy of this software and associated documentation files (the            *
@@ -26,112 +27,104 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_add_wchstr.3x,v 1.10 2012/11/03 22:54:43 tom Exp @
+  * @Id: curs_add_wchstr.3x,v 1.39 2024/04/20 21:20:07 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_add_wchstr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_add_wchstr 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_add_wchstr 3x</H1>
+<H1 class="no-header">curs_add_wchstr 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>                                 <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+<STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>              Library calls             <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>add_wchstr</STRONG>, <STRONG>add_wchnstr</STRONG>, <STRONG>wadd_wchstr</STRONG>, <STRONG>wadd_wchnstr</STRONG>,
-       <STRONG>mvadd_wchstr</STRONG>, <STRONG>mvadd_wchnstr</STRONG>, <STRONG>mvwadd_wchstr</STRONG>, <STRONG>mvwadd_wchnstr</STRONG>
-       - add an array of complex characters (and attributes) to a
-       curses window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>add_wchstr</STRONG>,   <STRONG>add_wchnstr</STRONG>,   <STRONG>wadd_wchstr</STRONG>,  <STRONG>wadd_wchnstr</STRONG>,  <STRONG>mvadd_wchstr</STRONG>,
+       <STRONG>mvadd_wchnstr</STRONG>, <STRONG>mvwadd_wchstr</STRONG>, <STRONG>mvwadd_wchnstr</STRONG> -  add  a  <EM>curses</EM>  complex
+       character string to a window
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
        <STRONG>int</STRONG> <STRONG>add_wchstr(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>add_wchnstr(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>wadd_wchstr(WINDOW</STRONG> <STRONG>*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>wadd_wchnstr(WINDOW</STRONG> <STRONG>*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>mvadd_wchstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvadd_wchnstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>mvwadd_wchstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>add_wchnstr(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wadd_wchnstr(WINDOW</STRONG> <STRONG>*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvadd_wchnstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>mvwadd_wchnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These functions copy the (null-terminated) array  of  com-
-       plex  characters  <EM>wchstr</EM>  into  the window image structure
-       starting at the current cursor position.  The  four  func-
-       tions with <EM>n</EM> as the last argument copy at most <EM>n</EM> elements,
-       but no more than will fit on the line.  If <STRONG>n</STRONG>=<STRONG>-1</STRONG>  then  the
-       whole array is copied, to the maximum number of characters
-       that will fit on the line.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       These  functions copy the (null-terminated) array of complex characters
+       <EM>wchstr</EM> into the window image structure starting at the  current  cursor
+       position.
 
-       The window cursor is <EM>not</EM> advanced.  These  functions  work
-       faster than <STRONG>waddnstr</STRONG>.  On the other hand:
+       The four functions with <EM>n</EM> as the last argument copy at most <EM>n</EM> elements,
+       but no more than will fit on the line.  If <STRONG>n</STRONG>=<STRONG>-1</STRONG> then the whole array is
+       copied, to the maximum number of characters that will fit on the line.
 
-       <STRONG>o</STRONG>   they do not perform checking (such as for the newline,
-           backspace, or carriage return characters),
+       The  window  cursor  is  <EM>not</EM> advanced.  These functions are faster than
+       <STRONG>waddnstr</STRONG>.  On the other hand:
+
+       <STRONG>o</STRONG>   they do not perform checking (such as for the  newline,  backspace,
+           or carriage return characters),
 
        <STRONG>o</STRONG>   they do not advance the current cursor position,
 
-       <STRONG>o</STRONG>   they do not expand other control characters  to  ^-es-
-           capes, and
+       <STRONG>o</STRONG>   they do not expand other control characters to ^-escapes, and
 
-       <STRONG>o</STRONG>   they  truncate the string if it crosses the right mar-
-           gin, rather than wrapping it around to the new line.
+       <STRONG>o</STRONG>   they  truncate  the  string  if it crosses the right margin, rather
+           than wrapping it around to the new line.
 
-       These functions end successfully on  encountering  a  null
-       <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>,  or when they have filled the current line.  If a
-       complex character cannot completely fit at the end of  the
-       current  line,  the  remaining columns are filled with the
-       background character and rendition.
+       These functions end successfully on encountering  a  null  <STRONG>cchar_t</STRONG>,  or
+       when  they have filled the current line.  If a complex character cannot
+       completely fit at the end of the current line,  the  remaining  columns
+       are filled with the background character and rendition.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All functions return the integer <STRONG>ERR</STRONG> upon failure  and  <STRONG>OK</STRONG>
-       on success.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
 
-       X/Open  does not define any error conditions.  This imple-
-       mentation returns an error if the window pointer is null.
+       X/Open   Curses   does   not   specify   any  error  conditions.   This
+       implementation returns an error
 
-       Functions with a "mv" prefix first perform a cursor  move-
-       ment  using  <STRONG>wmove</STRONG>, and return an error if the position is
-       outside the window, or if the window pointer is null.
+       <STRONG>o</STRONG>   if the <EM>win</EM> parameter is null or
+
+       <STRONG>o</STRONG>   if the <EM>wchstr</EM> parameter is null.
+
+       Functions prefixed with "mv" first perform cursor movement and fail  if
+       the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
        All functions except <STRONG>wadd_wchnstr</STRONG> may be macros.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These entry points are described in the XSI  Curses  stan-
-       dard, Issue 4.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These functions are described in X/Open Curses, Issue 4.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library
+       in its non-wide-character configuration.
 
-       Comparable functions in the narrow-character (ncurses) li-
-       brary are described in <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>.
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>, <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
 
 
 
-                                                    <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20               <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
diff --git a/doc/html/man/curs_addch.3x.html b/doc/html/man/curs_addch.3x.html
index 04b15af..0a0622e 100644
--- a/doc/html/man/curs_addch.3x.html
+++ b/doc/html/man/curs_addch.3x.html
@@ -1,7 +1,8 @@
-<!-- 
+<!--
   * t
   ****************************************************************************
-  * Copyright (c) 1998-2014,2015 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2015,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,212 +28,279 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_addch.3x,v 1.36 2015/07/16 09:14:44 tom Exp @
+  * @Id: curs_addch.3x,v 1.85 2024/04/20 19:03:47 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_addch 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_addch 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_addch 3x</H1>
+<H1 class="no-header">curs_addch 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>                                           <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+<STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>                   Library calls                  <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>addch</STRONG>,  <STRONG>waddch</STRONG>,  <STRONG>mvaddch</STRONG>,  <STRONG>mvwaddch</STRONG>, <STRONG>echochar</STRONG>, <STRONG>wechochar</STRONG> -
-       add a character (with attributes) to a <STRONG>curses</STRONG> window, then
-       advance the cursor
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>addch</STRONG>,  <STRONG>waddch</STRONG>,  <STRONG>mvaddch</STRONG>,  <STRONG>mvwaddch</STRONG>, <STRONG>echochar</STRONG>, <STRONG>wechochar</STRONG> - add a <EM>curses</EM>
+       character to a window and advance the cursor
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
-       <STRONG>int</STRONG> <STRONG>addch(const</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
-       <STRONG>int</STRONG> <STRONG>waddch(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvaddch(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvwaddch(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
-       <STRONG>int</STRONG> <STRONG>echochar(const</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
-       <STRONG>int</STRONG> <STRONG>wechochar(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
+       <STRONG>int</STRONG> <STRONG>addch(const</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>waddch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvaddch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvwaddch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>echochar(const</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wechochar(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
 
-</PRE>
-<H3><a name="h3-Adding-characters">Adding characters</a></H3><PRE>
-       The  <STRONG>addch</STRONG>,  <STRONG>waddch</STRONG>, <STRONG>mvaddch</STRONG> and <STRONG>mvwaddch</STRONG> routines put the
-       character <EM>ch</EM> into the given window at its  current  window
-       position,  which  is then advanced.  They are analogous to
-       <STRONG>putchar</STRONG> in <STRONG>stdio(3)</STRONG>.  If the advance is at the right  mar-
-       gin:
+</PRE><H3><a name="h3-Adding-Characters">Adding Characters</a></H3><PRE>
+       <STRONG>waddch</STRONG> puts the character <EM>ch</EM> at the cursor position of window <EM>win</EM>, then
+       advances  the  cursor position, analogously to the standard C library's
+       <STRONG>putchar(3)</STRONG>.  <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> describes the variants of this function.
 
-       <STRONG>o</STRONG>   The cursor automatically wraps to the beginning of the
-           next line.
+       If advancement occurs at the right margin,
 
-       <STRONG>o</STRONG>   At the bottom of the current scrolling region, and  if
-           <STRONG>scrollok</STRONG>  is enabled, the scrolling region is scrolled
-           up one line.
+       <STRONG>o</STRONG>   the cursor automatically wraps to the beginning of the  next  line;
+           and
 
-       <STRONG>o</STRONG>   If <STRONG>scrollok</STRONG> is not enabled, writing a character at the
-           lower  right  margin  succeeds.   However, an error is
-           returned because it is not possible to wrap to  a  new
-           line
+       <STRONG>o</STRONG>   at  the bottom of the current scrolling region, and if <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG>
+           is enabled for <EM>win</EM>, the scrolling region scrolls up one line.
 
-       If <EM>ch</EM> is a tab, newline, carriage return or backspace, the
-       cursor is moved appropriately within the window:
+       If <EM>ch</EM> is a backspace, carriage return, line feed, or  tab,  the  cursor
+       moves appropriately within the window.
 
-       <STRONG>o</STRONG>   Backspace moves the cursor one character left; at  the
-           left edge of a window it does nothing.
+       <STRONG>o</STRONG>   Backspace  moves  the cursor one character left; at the left margin
+           of a window, it does nothing.
 
-       <STRONG>o</STRONG>   Carriage  return  moves  the cursor to the window left
-           margin on the current line.
+       <STRONG>o</STRONG>   Carriage return moves the cursor to the left margin on the  current
+           line of the window.
 
-       <STRONG>o</STRONG>   Newline does a <STRONG>clrtoeol</STRONG>, then moves the cursor to  the
-           window  left  margin  on  the next line, scrolling the
-           window if on the last line.
+       <STRONG>o</STRONG>   Line  feed  does  a <STRONG><A HREF="curs_clear.3x.html">clrtoeol(3x)</A></STRONG>, then moves the cursor to the left
+           margin on the next line of  the  window,  and  if  <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG>  is
+           enabled  for  <EM>win</EM>,  scrolls the window if the cursor was already on
+           the last line.
 
-       <STRONG>o</STRONG>   Tabs are considered to be at every eighth column.  The
-           tab  interval  may  be  altered by setting the <STRONG>TABSIZE</STRONG>
-           variable.
+       <STRONG>o</STRONG>   Tab advances the cursor to the next tab stop (possibly on the  next
+           line);  these  are placed at every eighth column by default.  Alter
+           the   tab   interval    with    the    <STRONG>TABSIZE</STRONG>    extension;    see
+           <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
 
-       If <EM>ch</EM> is any other control character, it is  drawn  in  <STRONG>^</STRONG><EM>X</EM>
-       notation.   Calling <STRONG>winch</STRONG> after adding a control character
-       does not return the character itself, but instead  returns
-       the ^-representation of the control character.
+       If  <EM>ch</EM>  is  any  other nonprintable character, it is drawn in printable
+       form, using the same convention as <STRONG><A HREF="unctrl.3x.html">unctrl(3x)</A></STRONG>.
 
-       Video attributes can be combined with a character argument
-       passed to <STRONG>addch</STRONG> or related functions by logical-ORing them
-       into  the  character.   (Thus, text, including attributes,
-       can be copied from one place to  another  using  <STRONG>inch</STRONG>  and
-       <STRONG>addch</STRONG>.)   See  the <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> page for values of prede-
-       fined video attribute constants that can be usefully OR'ed
-       into characters.
+       Calling <STRONG><A HREF="curs_inch.3x.html">winch(3x)</A></STRONG> on the location of a nonprintable character does  not
+       return the character itself, but its <STRONG><A HREF="unctrl.3x.html">unctrl(3x)</A></STRONG> representation.
+
+       <EM>ch</EM>  may  contain  rendering  and/or color attributes, and others can be
+       combined with the parameter by logically "or"ing with it.  (A character
+       with  its  attributes can be copied from place to place using <STRONG><A HREF="curs_inch.3x.html">winch(3x)</A></STRONG>
+       and  <STRONG>waddch</STRONG>.)   See  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>  for  values  of  predefined   video
+       attribute constants that can be usefully "or"ed with characters.
 
 
-</PRE>
-<H3><a name="h3-Echoing-characters">Echoing characters</a></H3><PRE>
-       The  <STRONG>echochar</STRONG>  and  <STRONG>wechochar</STRONG> routines are equivalent to a
-       call to <STRONG>addch</STRONG> followed by a call to <STRONG>refresh</STRONG>, or a call  to
-       <STRONG>waddch</STRONG> followed by a call to <STRONG>wrefresh</STRONG>.  The knowledge that
-       only a single character is being output is used  and,  for
-       non-control  characters,  a  considerable performance gain
-       may be seen by  using  these  routines  instead  of  their
-       equivalents.
+</PRE><H3><a name="h3-Echoing-Characters">Echoing Characters</a></H3><PRE>
+       <STRONG>echochar</STRONG>  and  <STRONG>wechochar</STRONG> are equivalent to calling (<STRONG>w</STRONG>)<STRONG>addch</STRONG> followed by
+       (<STRONG>w</STRONG>)<STRONG>refresh</STRONG>.  <EM>curses</EM> interprets these functions as a hint  that  only  a
+       single  character  is  being  output;  for  non-control  characters,  a
+       considerable performance gain may be enjoyed by employing them.
 
 
-</PRE>
-<H3><a name="h3-Line-Graphics">Line Graphics</a></H3><PRE>
-       The  following  variables  may be used to add line drawing
-       characters to the screen with routines of the  <STRONG>addch</STRONG>  fam-
-       ily.   The  default  character listed below is used if the
-       <STRONG>acsc</STRONG>  capability  does  not  define  a   terminal-specific
-       replacement for it.  The names are taken from VT100 nomen-
-       clature.
+</PRE><H3><a name="h3-Forms-Drawing-Characters">Forms-Drawing Characters</a></H3><PRE>
+       <EM>curses</EM> defines macros starting with <STRONG>ACS_</STRONG> that can be used  with  <STRONG>waddch</STRONG>
+       to  write  line-drawing  and  other  special  characters to the screen.
+       <EM>ncurses</EM> terms these <EM>forms-drawing</EM> <EM>characters.</EM>  The ACS  default  listed
+       below  is  used  if  the  <STRONG>acs_chars</STRONG> (<STRONG>acsc</STRONG>) <EM>terminfo</EM> capability does not
+       define a terminal-specific replacement for it, or if the  terminal  and
+       locale  configuration  requires  Unicode to access these characters but
+       the  library  is  unable  to  use  Unicode.   The  "acsc  char"  column
+       corresponds to how the characters are specified in the <STRONG>acs_chars</STRONG> string
+       capability, and the characters in it may appear on the  screen  if  the
+       terminal's database entry incorrectly advertises ACS support.  The name
+       "ACS" originates in the Alternate Character  Set  feature  of  the  DEC
+       VT100 terminal.
 
-       <EM>Name</EM>           <EM>Default</EM>   <EM>Description</EM>
-       --------------------------------------------------
-       ACS_BLOCK      #         solid square block
-       ACS_BOARD      #         board of squares
-       ACS_BTEE       +         bottom tee
-       ACS_BULLET     o         bullet
-       ACS_CKBOARD    :         checker board (stipple)
-       ACS_DARROW     v         arrow pointing down
-       ACS_DEGREE     '         degree symbol
-       ACS_DIAMOND    +         diamond
-       ACS_GEQUAL     &gt;         greater-than-or-equal-to
-       ACS_HLINE      -         horizontal line
-       ACS_LANTERN    #         lantern symbol
-       ACS_LARROW     &lt;         arrow pointing left
-       ACS_LEQUAL     &lt;         less-than-or-equal-to
-       ACS_LLCORNER   +         lower left-hand corner
-       ACS_LRCORNER   +         lower right-hand corner
-       ACS_LTEE       +         left tee
-       ACS_NEQUAL     !         not-equal
-       ACS_PI         *         greek pi
-       ACS_PLMINUS    #         plus/minus
-       ACS_PLUS       +         plus
-       ACS_RARROW     &gt;         arrow pointing right
-       ACS_RTEE       +         right tee
-       ACS_S1         -         scan line 1
-       ACS_S3         -         scan line 3
-       ACS_S7         -         scan line 7
-       ACS_S9         _         scan line 9
-       ACS_STERLING   f         pound-sterling symbol
-       ACS_TTEE       +         top tee
-       ACS_UARROW     ^         arrow pointing up
-       ACS_ULCORNER   +         upper left-hand corner
-       ACS_URCORNER   +         upper right-hand corner
-       ACS_VLINE      |         vertical line
+                      <STRONG>ACS</STRONG>       <STRONG>acsc</STRONG>
+       <STRONG>Symbol</STRONG>         <STRONG>Default</STRONG>   <STRONG>char</STRONG>   <STRONG>Glyph</STRONG> <STRONG>Name</STRONG>
+       ------------------------------------------------------------------------
+       <STRONG>ACS_BLOCK</STRONG>      #         0      solid square block
+       <STRONG>ACS_BOARD</STRONG>      #         h      board of squares
+       <STRONG>ACS_BTEE</STRONG>       +         v      bottom tee
+       <STRONG>ACS_BULLET</STRONG>     o         ~      bullet
+       <STRONG>ACS_CKBOARD</STRONG>    :         a      checker board (stipple)
+       <STRONG>ACS_DARROW</STRONG>     v         .      arrow pointing down
+       <STRONG>ACS_DEGREE</STRONG>     '         f      degree symbol
+       <STRONG>ACS_DIAMOND</STRONG>    +         `      diamond
+       <STRONG>ACS_GEQUAL</STRONG>     &gt;         &gt;      greater-than-or-equal-to
+       <STRONG>ACS_HLINE</STRONG>      -         q      horizontal line
+       <STRONG>ACS_LANTERN</STRONG>    #         i      lantern symbol
+       <STRONG>ACS_LARROW</STRONG>     &lt;         ,      arrow pointing left
+       <STRONG>ACS_LEQUAL</STRONG>     &lt;         y      less-than-or-equal-to
+       <STRONG>ACS_LLCORNER</STRONG>   +         m      lower left-hand corner
+       <STRONG>ACS_LRCORNER</STRONG>   +         j      lower right-hand corner
+       <STRONG>ACS_LTEE</STRONG>       +         t      left tee
+       <STRONG>ACS_NEQUAL</STRONG>     !         |      not-equal
+       <STRONG>ACS_PI</STRONG>         *         {      greek pi
+       <STRONG>ACS_PLMINUS</STRONG>    #         g      plus/minus
+       <STRONG>ACS_PLUS</STRONG>       +         n      plus
+       <STRONG>ACS_RARROW</STRONG>     &gt;         +      arrow pointing right
+       <STRONG>ACS_RTEE</STRONG>       +         u      right tee
+       <STRONG>ACS_S1</STRONG>         -         o      scan line 1
+       <STRONG>ACS_S3</STRONG>         -         p      scan line 3
+       <STRONG>ACS_S7</STRONG>         -         r      scan line 7
+       <STRONG>ACS_S9</STRONG>         _         s      scan line 9
+       <STRONG>ACS_STERLING</STRONG>   f         }      pound-sterling symbol
+       <STRONG>ACS_TTEE</STRONG>       +         w      top tee
+       <STRONG>ACS_UARROW</STRONG>     ^         -      arrow pointing up
+       <STRONG>ACS_ULCORNER</STRONG>   +         l      upper left-hand corner
+       <STRONG>ACS_URCORNER</STRONG>   +         k      upper right-hand corner
+       <STRONG>ACS_VLINE</STRONG>      |         x      vertical line
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on
-       success  (the  SVr4 manuals specify only "an integer value
-       other than <STRONG>ERR</STRONG>") upon successful completion, unless other-
-       wise noted in the preceding routine descriptions.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       These functions return <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure.
 
-       Functions  with a "mv" prefix first perform a cursor move-
-       ment using <STRONG>wmove</STRONG>, and return an error if the  position  is
-       outside the window, or if the window pointer is null.
+       In  <EM>ncurses</EM>, <STRONG>waddch</STRONG> returns <STRONG>ERR</STRONG> if it is not possible to add a complete
+       character at the cursor position, as when  conversion  of  a  multibyte
+       character  to  a  byte sequence fails, or at least one of the resulting
+       bytes cannot be added to the window.  See section  "PORTABILITY"  below
+       regarding the use of <STRONG>waddch</STRONG> with multibyte characters.
+
+       <STRONG>waddch</STRONG>  can successfully write a character at the bottom right location
+       of the window.  However, <EM>ncurses</EM> returns <STRONG>ERR</STRONG>  if  <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG>  is  not
+       enabled  in  that  event,  because  it is not possible to wrap to a new
+       line.
+
+       Functions prefixed with "mv" first perform cursor movement and fail  if
+       the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       Note  that  <STRONG>addch</STRONG>,  <STRONG>mvaddch</STRONG>, <STRONG>mvwaddch</STRONG>, and <STRONG>echochar</STRONG> may be
-       macros.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       <STRONG>addch</STRONG>, <STRONG>mvaddch</STRONG>, <STRONG>mvwaddch</STRONG>, and <STRONG>echochar</STRONG> may be implemented as macros.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       All these functions are described in the XSI Curses  stan-
-       dard,  Issue  4.  The defaults specified for forms-drawing
-       characters apply in the POSIX locale.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       X/Open  Curses,  Issue  4  describes  these functions.  It specifies no
+       error conditions for them.
 
-       X/Open Curses states that the <EM>ACS</EM><STRONG>_</STRONG>  definitions  are  <STRONG>char</STRONG>
-       constants.   For  the  wide-character  implementation (see
-       <STRONG>curs_add_wch</STRONG>), there are analogous <EM>WACS</EM><STRONG>_</STRONG> definitions which
-       are <STRONG>cchar_t</STRONG> constants.
+       SVr4 <EM>curses</EM> describes a successful return value  only  as  "an  integer
+       value other than <STRONG>ERR</STRONG>".
 
-       Some  ACS symbols (ACS_S3, ACS_S7, ACS_LEQUAL, ACS_GEQUAL,
-       ACS_PI, ACS_NEQUAL, ACS_STERLING) were not  documented  in
-       any  publicly  released  System V.  However, many publicly
-       available terminfos include <STRONG>acsc</STRONG> strings  in  which  their
-       key  characters  (pryz{|}) are embedded, and a second-hand
-       list of their character descriptions has  come  to  light.
-       The   ACS-prefixed   names  for  them  were  invented  for
-       <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.
-
-       The <STRONG>TABSIZE</STRONG> variable is implemented in  some  versions  of
-       curses, but is not part of X/Open curses.
-
-       If  <EM>ch</EM>  is  a  carriage return, the cursor is moved to the
-       beginning of the current row of the window.  This is  true
-       of other implementations, but is not documented.
+       The  defaults specified for forms-drawing characters apply in the POSIX
+       locale.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>, <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>,
-       <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>,  <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>,   <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,
-       <STRONG>putc(3)</STRONG>.
+</PRE><H3><a name="h3-ACS-Symbols">ACS Symbols</a></H3><PRE>
+       X/Open Curses states that the <STRONG>ACS_</STRONG> definitions are <EM>char</EM> constants.
 
-       Comparable  functions  in  the  wide-character  (ncursesw)
-       library are described in <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>.
+       Some implementations are problematic.
+
+       <STRONG>o</STRONG>   Solaris <EM>curses</EM>, for example, define the ACS symbols  as  constants;
+           others define them as elements of an array.
+
+           This  implementation  uses  an  array, <STRONG>acs_map</STRONG>, as did SVr4 <EM>curses</EM>.
+           NetBSD also uses an array, actually named <STRONG>_acs_char</STRONG>, with a <STRONG>#define</STRONG>
+           for compatibility.
+
+       <STRONG>o</STRONG>   HP-UX  <EM>curses</EM>  equates  some  of  the <STRONG>ACS_</STRONG> symbols to the analogous
+           <STRONG>WACS_</STRONG> symbols as if the <STRONG>ACS_</STRONG>  symbols  were  wide  characters  (see
+           <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>).   The  misdefined  symbols  are  the  arrows and
+           others that are not used for line drawing.
+
+       <STRONG>o</STRONG>   X/Open Curses (Issues 2 through 7) has a  typographical  error  for
+           the  <STRONG>ACS_LANTERN</STRONG>  symbol,  equating  its  "VT100+ Character" to "I"
+           (capital I), while the header  files  for  SVr4  <EM>curses</EM>  and  other
+           implementations use "i" (small i).
+
+           None  of  the terminal descriptions on Unix platforms use uppercase
+           I, except  for  Solaris  (in  its  <EM>terminfo</EM>  entry  for  <STRONG>screen(1)</STRONG>,
+           apparently  based on the X/Open documentation around 1995).  On the
+           other hand, its <STRONG>gs6300</STRONG> (AT&amp;T PC6300 with EMOTS  Terminal  Emulator)
+           description uses lowercase i.
+
+       Some  ACS  symbols  (<STRONG>ACS_S3</STRONG>,  <STRONG>ACS_S7</STRONG>,  <STRONG>ACS_LEQUAL</STRONG>,  <STRONG>ACS_GEQUAL</STRONG>, <STRONG>ACS_PI</STRONG>,
+       <STRONG>ACS_NEQUAL</STRONG>, and <STRONG>ACS_STERLING</STRONG>)  were  not  documented  in  any  publicly
+       released  System V.   However, many publicly available <EM>terminfo</EM> entries
+       include <STRONG>acsc</STRONG> strings  in  which  their  key  characters  <STRONG>(</STRONG>pryz{|}<STRONG>)</STRONG>  are
+       embedded,  and  a  second-hand list of their character descriptions has
+       come to light.  The <EM>ncurses</EM> developers invented ACS-prefixed names  for
+       them.
+
+       The <EM>displayed</EM> values of <STRONG>ACS_</STRONG> constants depend on
+
+       <STRONG>o</STRONG>   the  <EM>ncurses</EM>  ABI--for  example,  wide-character  versus  non-wide-
+           character configurations  (the  former  is  capable  of  displaying
+           Unicode while the latter is not), and
+
+       <STRONG>o</STRONG>   whether the locale uses UTF-8 encoding.
+
+       In  certain  cases,  the  terminal  is  unable to display forms-drawing
+       characters  <EM>except</EM>  by  using  UTF-8;  see  the   discussion   of   the
+       <EM>NCURSES</EM><STRONG>_</STRONG><EM>NO</EM><STRONG>_</STRONG><EM>UTF8</EM><STRONG>_</STRONG><EM>ACS</EM> environment variable in <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>).
+
+
+</PRE><H3><a name="h3-Character-Set">Character Set</a></H3><PRE>
+       X/Open  Curses  assumes  that the parameter passed to <STRONG>waddch</STRONG> contains a
+       single character.  As discussed in <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>,  that  character  may
+       have  been more than eight bits wide in an SVr3 or SVr4 implementation,
+       but in the X/Open  Curses  model,  the  details  are  not  given.   The
+       important distinction between SVr4 <EM>curses</EM> and X/Open Curses is that the
+       latter separates non-character information (attributes and color)  from
+       the  character  code,  which  SVr4  packs  into a <EM>chtype</EM> for passage to
+       <STRONG>waddch</STRONG>.
+
+       In <EM>ncurses</EM>, <EM>chtype</EM> holds  an  eight-bit  character.   But  the  library
+       allows  a  multibyte character to be passed in a succession of calls to
+       <STRONG>waddch</STRONG>.  Other implementations do not; a <STRONG>waddch</STRONG> call transmits  exactly
+       one  character,  which  may be rendered in one or more screen locations
+       depending on whether it is printable.
+
+       Depending on the locale settings, <EM>ncurses</EM> inspects the byte  passed  in
+       each  <STRONG>waddch</STRONG>  call,  and  checks  whether  the  latest call continues a
+       multibyte sequence.  When a character is <EM>complete</EM>, <EM>ncurses</EM> displays the
+       character and advances the cursor.
+
+       If  the  calling  application  interrupts  the succession of bytes in a
+       multibyte character sequence  by  changing  the  current  location--for
+       example, with <STRONG><A HREF="curs_move.3x.html">wmove(3x)</A></STRONG>--<EM>ncurses</EM> discards the incomplete character.
+
+       For  portability  to  other  implementations,  do  not  rely  upon this
+       behavior.  Check whether a character can be  represented  as  a  single
+       byte in the current locale.
+
+       <STRONG>o</STRONG>   If it can, call either <STRONG>waddch</STRONG> or <STRONG><A HREF="curs_add_wch.3x.html">wadd_wch(3x)</A></STRONG>.
+
+       <STRONG>o</STRONG>   If it cannot, use only <STRONG><A HREF="curs_add_wch.3x.html">wadd_wch(3x)</A></STRONG>.
+
+
+</PRE><H3><a name="h3-TABSIZE">TABSIZE</a></H3><PRE>
+       SVr4  and  other versions of <EM>curses</EM> implement the <STRONG>TABSIZE</STRONG> variable, but
+       X/Open Curses does not specify it (see <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>).
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM>  library
+       in its wide-character configuration (<EM>ncursesw</EM>).
+
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,    <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>,    <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>,    <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>,
+       <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>,  <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>,   <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>,   <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>,
+       <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG>putchar(3)</STRONG>
 
 
 
-                                                         <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                    <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -240,14 +308,20 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
 <ul>
-<li><a href="#h3-Adding-characters">Adding characters</a></li>
-<li><a href="#h3-Echoing-characters">Echoing characters</a></li>
-<li><a href="#h3-Line-Graphics">Line Graphics</a></li>
+<li><a href="#h3-Adding-Characters">Adding Characters</a></li>
+<li><a href="#h3-Echoing-Characters">Echoing Characters</a></li>
+<li><a href="#h3-Forms-Drawing-Characters">Forms-Drawing Characters</a></li>
 </ul>
 </li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
 <li><a href="#h2-NOTES">NOTES</a></li>
-<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a>
+<ul>
+<li><a href="#h3-ACS-Symbols">ACS Symbols</a></li>
+<li><a href="#h3-Character-Set">Character Set</a></li>
+<li><a href="#h3-TABSIZE">TABSIZE</a></li>
+</ul>
+</li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
diff --git a/doc/html/man/curs_addchstr.3x.html b/doc/html/man/curs_addchstr.3x.html
index ce3cd02..a3441e6 100644
--- a/doc/html/man/curs_addchstr.3x.html
+++ b/doc/html/man/curs_addchstr.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc.              *
+  * Copyright 2019-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2012,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,104 +27,97 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_addchstr.3x,v 1.16 2012/11/03 22:54:43 tom Exp @
+  * @Id: curs_addchstr.3x,v 1.45 2024/04/20 21:20:07 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_addchstr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_addchstr 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_addchstr 3x</H1>
+<H1 class="no-header">curs_addchstr 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>                                     <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+<STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>                Library calls               <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>addchstr</STRONG>, <STRONG>addchnstr</STRONG>, <STRONG>waddchstr</STRONG>, <STRONG>waddchnstr</STRONG>, <STRONG>mvaddchstr</STRONG>,
-       <STRONG>mvaddchnstr</STRONG>, <STRONG>mvwaddchstr</STRONG>, <STRONG>mvwaddchnstr</STRONG> - add a string of
-       characters (and attributes) to a <STRONG>curses</STRONG> window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>addchstr</STRONG>,  <STRONG>addchnstr</STRONG>,  <STRONG>waddchstr</STRONG>,  <STRONG>waddchnstr</STRONG>, <STRONG>mvaddchstr</STRONG>, <STRONG>mvaddchnstr</STRONG>,
+       <STRONG>mvwaddchstr</STRONG>, <STRONG>mvwaddchnstr</STRONG> - add a <EM>curses</EM> character string to a window
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
-       <STRONG>int</STRONG> <STRONG>addchstr(const</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr);</STRONG>
-       <STRONG>int</STRONG> <STRONG>addchnstr(const</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
-       <STRONG>int</STRONG> <STRONG>waddchstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr);</STRONG>
-       <STRONG>int</STRONG> <STRONG>waddchnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvaddchstr(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvaddchnstr(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvwaddchstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvwaddchnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
+       <STRONG>int</STRONG> <STRONG>addchstr(const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>waddchstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvaddchstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvwaddchstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>addchnstr(const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>waddchnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvaddchnstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvwaddchnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These functions copy the (null-terminated) <EM>chstr</EM> array in-
-       to the window image structure starting at the current cur-
-       sor position.  The four functions with <EM>n</EM> as the last argu-
-       ment copy at most <EM>n</EM> elements, but no more than will fit on
-       the  line.  If <STRONG>n</STRONG>=<STRONG>-1</STRONG> then the whole array is copied, to the
-       maximum number of characters that will fit on the line.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       These functions copy the (null-terminated) <EM>chstr</EM> array into the  window
+       image structure starting at the current cursor position.
 
-       The window cursor is <EM>not</EM> advanced.  These  functions  work
-       faster than <STRONG>waddnstr</STRONG>.  On the other hand:
+       The four functions with <EM>n</EM> as the last argument copy at most <EM>n</EM> elements,
+       but no more than will fit on the line.  If <STRONG>n</STRONG>=<STRONG>-1</STRONG> then the whole array is
+       copied, to the maximum number of characters that will fit on the line.
 
-       <STRONG>o</STRONG>   they do not perform checking (such as for the newline,
-           backspace, or carriage return characters),
+       The  window  cursor  is  <EM>not</EM> advanced.  These functions are faster than
+       <STRONG>waddnstr</STRONG>.  On the other hand:
+
+       <STRONG>o</STRONG>   they do not perform checking (such as for the  newline,  backspace,
+           or carriage return characters),
 
        <STRONG>o</STRONG>   they do not advance the current cursor position,
 
-       <STRONG>o</STRONG>   they do not expand other control characters  to  ^-es-
-           capes, and
+       <STRONG>o</STRONG>   they do not expand other control characters to ^-escapes, and
 
-       <STRONG>o</STRONG>   they  truncate the string if it crosses the right mar-
-           gin, rather than wrapping it around to the new line.
+       <STRONG>o</STRONG>   they  truncate  the  string  if it crosses the right margin, rather
+           than wrapping it around to the new line.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All functions return the integer <STRONG>ERR</STRONG> upon failure  and  <STRONG>OK</STRONG>
-       on success.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
 
-       X/Open  does not define any error conditions.  This imple-
-       mentation returns an error if the window pointer is null.
+       X/Open  Curses  does  not   specify   any   error   conditions.    This
+       implementation returns an error
 
-       Functions with a "mv" prefix first perform a cursor  move-
-       ment  using  <STRONG>wmove</STRONG>, and return an error if the position is
-       outside the window, or if the window pointer is null.
+       <STRONG>o</STRONG>   if the <EM>win</EM> parameter is null or
+
+       <STRONG>o</STRONG>   if the <EM>wchstr</EM> parameter is null.
+
+       Functions  prefixed with "mv" first perform cursor movement and fail if
+       the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
        All functions except <STRONG>waddchnstr</STRONG> may be macros.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These entry points are described in the XSI  Curses  stan-
-       dard, Issue 4.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These functions are described in X/Open Curses, Issue 4.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>  describes  comparable  functions  of  the  <EM>ncurses</EM>
+       library in its wide-character configuration (<EM>ncursesw</EM>).
 
-       Comparable  functions in the wide-character (ncursesw) li-
-       brary are described in <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>.
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
 
 
 
-                                                      <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                 <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
diff --git a/doc/html/man/curs_addstr.3x.html b/doc/html/man/curs_addstr.3x.html
index 34b7150..b7f1c68 100644
--- a/doc/html/man/curs_addstr.3x.html
+++ b/doc/html/man/curs_addstr.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc.              *
+  * Copyright 2019-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2012,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,98 +27,89 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_addstr.3x,v 1.17 2012/11/03 22:57:31 tom Exp @
+  * @Id: curs_addstr.3x,v 1.45 2024/04/20 19:18:18 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_addstr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_addstr 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_addstr 3x</H1>
+<H1 class="no-header">curs_addstr 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>                                         <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+<STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>                  Library calls                 <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>addstr</STRONG>, <STRONG>addnstr</STRONG>, <STRONG>waddstr</STRONG>, <STRONG>waddnstr</STRONG>, <STRONG>mvaddstr</STRONG>, <STRONG>mvaddnstr</STRONG>,
-       <STRONG>mvwaddstr</STRONG>, <STRONG>mvwaddnstr</STRONG> - add a string of characters to a
-       <STRONG>curses</STRONG> window and advance cursor
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>addstr</STRONG>,  <STRONG>addnstr</STRONG>,  <STRONG>waddstr</STRONG>,  <STRONG>waddnstr</STRONG>,  <STRONG>mvaddstr</STRONG>, <STRONG>mvaddnstr</STRONG>, <STRONG>mvwaddstr</STRONG>,
+       <STRONG>mvwaddnstr</STRONG> - add a string to a <EM>curses</EM> window and advance the cursor
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
        <STRONG>int</STRONG> <STRONG>addstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>addnstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>waddstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>waddnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>mvaddstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvaddnstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>mvwaddstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvwaddnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str,</EM> <EM>int</EM> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>waddstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>addnstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvaddnstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvwaddnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>waddnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These  functions  write  the  (null-terminated)  character
-       string <EM>str</EM> on the given window.  It is similar to  calling
-       <STRONG>waddch</STRONG> once for each character in the string.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       <STRONG>waddstr</STRONG> writes the characters of the (null-terminated)  string  <EM>str</EM>  to
+       the  window <EM>win</EM>.  Its process is similar to calling <STRONG><A HREF="curs_addch.3x.html">waddch(3x)</A></STRONG> for each
+       <EM>char</EM> in <EM>str</EM>.  Control characters are processed as in <STRONG><A HREF="curs_addch.3x.html">waddch(3x)</A></STRONG>.
 
-       The  <EM>mv</EM>  functions  perform  cursor  movement once, before
-       writing any characters.  Thereafter,  the  cursor  is  ad-
-       vanced as a side-effect of writing to the window.
+       <STRONG>waddnstr</STRONG> writes at most <EM>n</EM>  characters,  or  until  a  terminating  null
+       character  occurs  in  <EM>str</EM>.   If  <EM>n</EM>  is  -1, <STRONG>waddnstr</STRONG> writes the entire
+       string.
 
-       The  four  functions  with <EM>n</EM> as the last argument write at
-       most <EM>n</EM> characters, or until a terminating null is reached.
-       If <EM>n</EM> is -1, then the entire string will be added.
+       <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> describes the variants of these functions.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All  functions  return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG>
-       on success.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       These functions return <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure.
 
-       X/Open does not define any error conditions.  This  imple-
-       mentation returns an error
+       X/Open Curses does not specify any error conditions.   <EM>ncurses</EM>  returns
+       an error
 
-       <STRONG>o</STRONG>   if the window pointer is null or
+       <STRONG>o</STRONG>   if the window pointer is <STRONG>NULL</STRONG>,
 
-       <STRONG>o</STRONG>   if the string pointer is null or
+       <STRONG>o</STRONG>   if the string pointer is <STRONG>NULL</STRONG>, or
 
-       <STRONG>o</STRONG>   if the corresponding calls to <STRONG>waddch</STRONG> return an error.
+       <STRONG>o</STRONG>   if an internal <STRONG><A HREF="curs_addch.3x.html">waddch(3x)</A></STRONG> call returns an error.
 
-       Functions  with a "mv" prefix first perform a cursor move-
-       ment using <STRONG>wmove</STRONG>, 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 (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
        All of these functions except <STRONG>waddnstr</STRONG> may be macros.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  functions are described in the XSI Curses standard,
-       Issue 4.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       X/Open Curses, Issue 4 describes these functions.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM>  library
+       in its wide-character configuration (<EM>ncursesw</EM>).
+
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
 
 
 
-                                                        <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                   <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
diff --git a/doc/html/man/curs_addwstr.3x.html b/doc/html/man/curs_addwstr.3x.html
index c24cfa2..ce3229a 100644
--- a/doc/html/man/curs_addwstr.3x.html
+++ b/doc/html/man/curs_addwstr.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 2002-2010,2012 Free Software Foundation, Inc.              *
+  * 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  *
   * copy of this software and associated documentation files (the            *
@@ -26,102 +27,96 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_addwstr.3x,v 1.11 2012/11/03 22:57:31 tom Exp @
+  * @Id: curs_addwstr.3x,v 1.37 2024/04/20 19:18:18 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_addwstr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_addwstr 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_addwstr 3x</H1>
+<H1 class="no-header">curs_addwstr 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>                                       <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+<STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>                 Library calls                <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>addwstr</STRONG>, <STRONG>addnwstr</STRONG>, <STRONG>waddwstr</STRONG>, <STRONG>waddnwstr</STRONG>, <STRONG>mvaddwstr</STRONG>,
-       <STRONG>mvaddnwstr</STRONG>, <STRONG>mvwaddwstr</STRONG>, <STRONG>mvwaddnwstr</STRONG> - add a string of wide
-       characters to a <STRONG>curses</STRONG> window and advance cursor
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>addwstr</STRONG>,   <STRONG>addnwstr</STRONG>,   <STRONG>waddwstr</STRONG>,   <STRONG>waddnwstr</STRONG>,   <STRONG>mvaddwstr</STRONG>,  <STRONG>mvaddnwstr</STRONG>,
+       <STRONG>mvwaddwstr</STRONG>, <STRONG>mvwaddnwstr</STRONG> - add  a  wide-character  string  to  a  <EM>curses</EM>
+       window and advance the cursor
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
        <STRONG>int</STRONG> <STRONG>addwstr(const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>addnwstr(const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>waddwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>waddnwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>mvaddwstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvaddnwstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>mvwaddwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>waddwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>addnwstr(const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvaddnwstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>mvwaddnwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>waddnwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These  functions  write the characters of the (null-termi-
-       nated) <STRONG>wchar_t</STRONG> character string <EM>wstr</EM> on the given  window.
-       It  is  similar to constructing a <STRONG>cchar_t</STRONG> for each wchar_t
-       in the string, then calling  <STRONG>wadd_wch</STRONG>  for  the  resulting
-       <STRONG>cchar_t</STRONG>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       <STRONG>waddwstr</STRONG>  writes  the  characters  of  the (wide-null-terminated) wide-
+       character string <EM>wstr</EM> to the window <EM>win</EM>.  Its  process  is  similar  to
+       constructing   a  <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>  for  each  <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM>  in  <EM>wstr</EM>,  then  calling
+       <STRONG><A HREF="curs_add_wch.3x.html">wadd_wch(3x)</A></STRONG> with the resulting <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>.
 
-       The  <EM>mv</EM>  functions  perform  cursor  movement once, before
-       writing any characters.  Thereafter,  the  cursor  is  ad-
-       vanced as a side-effect of writing to the window.
+       <STRONG>o</STRONG>   Spacing and non-spacing characters in the string are processed  one
+           at a time, and
 
-       The  four  functions  with <EM>n</EM> as the last argument write at
-       most <EM>n</EM> <STRONG>wchar_t</STRONG> characters, or until a terminating null  is
-       reached.   If  <EM>n</EM>  is  -1,  then  the entire string will be
-       added.
+       <STRONG>o</STRONG>   control characters are processed as in <STRONG><A HREF="curs_add_wch.3x.html">wadd_wch(3x)</A></STRONG>.
+
+       <STRONG>waddnwstr</STRONG> writes at most <EM>n</EM> wide characters, or until a terminating wide
+       null character occurs in <EM>wstr</EM>.  If <EM>n</EM> is -1, <STRONG>waddnwstr</STRONG> writes the entire
+       wide string.
+
+       <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> describes the variants of these functions.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All functions return the integer <STRONG>ERR</STRONG> upon failure  and  <STRONG>OK</STRONG>
-       on success.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       These functions return <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure.
 
-       X/Open  does not define any error conditions.  This imple-
-       mentation returns an error
+       X/Open  Curses  does not specify any error conditions.  <EM>ncurses</EM> returns
+       an error
 
-       <STRONG>o</STRONG>   if the window pointer is null or
+       <STRONG>o</STRONG>   if the window pointer is <STRONG>NULL</STRONG>,
 
-       <STRONG>o</STRONG>   if the string pointer is null or
+       <STRONG>o</STRONG>   if the string pointer is <STRONG>NULL</STRONG>, or
 
-       <STRONG>o</STRONG>   if the corresponding calls to <STRONG>wadd_wch</STRONG> return  an  er-
-           ror.
+       <STRONG>o</STRONG>   if an internal <STRONG><A HREF="curs_add_wch.3x.html">wadd_wch(3x)</A></STRONG> call returns an error.
 
-       Functions  with a "mv" prefix first perform a cursor move-
-       ment using <STRONG>wmove</STRONG>, 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 (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       All of these functions except <STRONG>waddnwstr</STRONG> may be macros.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       All of these functions except <STRONG>waddnwstr</STRONG> may be implemented as macros.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  functions are described in the XSI Curses standard,
-       Issue 4.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       X/Open Curses, Issue 4 describes these functions.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>  describes  comparable functions of the <EM>ncurses</EM> library
+       in its non-wide-character configuration.
+
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
 
 
 
-                                                       <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                  <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
diff --git a/doc/html/man/curs_attr.3x.html b/doc/html/man/curs_attr.3x.html
index 6ea78f9..bc1fd85 100644
--- a/doc/html/man/curs_attr.3x.html
+++ b/doc/html/man/curs_attr.3x.html
@@ -1,7 +1,8 @@
-<!-- 
+<!--
   * t
   ****************************************************************************
-  * Copyright (c) 1998-2013,2015 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2016,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,178 +28,203 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_attr.3x,v 1.40 2015/07/20 23:35:38 tom Exp @
+  * @Id: curs_attr.3x,v 1.105 2024/04/27 17:54:42 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_attr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_attr 3x 2024-04-27 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_attr 3x</H1>
+<H1 class="no-header">curs_attr 3x 2024-04-27 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>                                             <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+<STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>                    Library calls                   <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>attroff</STRONG>, <STRONG>wattroff</STRONG>, <STRONG>attron</STRONG>, <STRONG>wattron</STRONG>, <STRONG>attrset</STRONG>, <STRONG>wattrset</STRONG>,
-       <STRONG>color_set</STRONG>, <STRONG>wcolor_set</STRONG>, <STRONG>standend</STRONG>, <STRONG>wstandend</STRONG>, <STRONG>standout</STRONG>,
-       <STRONG>wstandout</STRONG>, <STRONG>attr_get</STRONG>, <STRONG>wattr_get</STRONG>, <STRONG>attr_off</STRONG>, <STRONG>wattr_off</STRONG>,
-       <STRONG>attr_on</STRONG>, <STRONG>wattr_on</STRONG>, <STRONG>attr_set</STRONG>, <STRONG>wattr_set</STRONG>, <STRONG>chgat</STRONG>, <STRONG>wchgat</STRONG>,
-       <STRONG>mvchgat</STRONG>, <STRONG>mvwchgat</STRONG>, <STRONG>PAIR_NUMBER</STRONG> - <STRONG>curses</STRONG> character and
-       window attribute control routines
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>attr_get</STRONG>, <STRONG>wattr_get</STRONG>, <STRONG>attr_set</STRONG>, <STRONG>wattr_set</STRONG>, <STRONG>attr_off</STRONG>, <STRONG>wattr_off</STRONG>, <STRONG>attr_on</STRONG>,
+       <STRONG>wattr_on</STRONG>, <STRONG>attroff</STRONG>, <STRONG>wattroff</STRONG>, <STRONG>attron</STRONG>, <STRONG>wattron</STRONG>, <STRONG>attrset</STRONG>, <STRONG>wattrset</STRONG>, <STRONG>chgat</STRONG>,
+       <STRONG>wchgat</STRONG>,  <STRONG>mvchgat</STRONG>, <STRONG>mvwchgat</STRONG>, <STRONG>color_set</STRONG>, <STRONG>wcolor_set</STRONG>, <STRONG>standend</STRONG>, <STRONG>wstandend</STRONG>,
+       <STRONG>standout</STRONG>, <STRONG>wstandout</STRONG> -  manipulate  attributes  of  character  cells  in
+       <EM>curses</EM> windows
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
-       <STRONG>int</STRONG> <STRONG>attroff(int</STRONG> <EM>attrs);</EM>
+
+       <STRONG>int</STRONG> <STRONG>attr_get(attr_t</STRONG> <STRONG>*</STRONG><EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <STRONG>*</STRONG><EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wattr_get(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <STRONG>*</STRONG><EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <STRONG>*</STRONG><EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>attr_set(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wattr_set(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>attr_off(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wattr_off(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>attr_on(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wattr_on(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>attroff(int</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>wattroff(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>attron(int</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>wattron(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>attrset(int</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>wattrset(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>color_set(short</STRONG> <EM>color</EM><STRONG>_</STRONG><EM>pair</EM><STRONG>_</STRONG><EM>number</EM><STRONG>,</STRONG> <STRONG>void*</STRONG> <EM>opts</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>wcolor_set(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>color</EM><STRONG>_</STRONG><EM>pair</EM><STRONG>_</STRONG><EM>number</EM><STRONG>,</STRONG>
-             <STRONG>void*</STRONG> <EM>opts);</EM>
+
+       <STRONG>int</STRONG> <STRONG>chgat(int</STRONG> <EM>n</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attr</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wchgat(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG>
+             <STRONG>int</STRONG> <EM>n</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attr</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvchgat(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG>
+             <STRONG>int</STRONG> <EM>n</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attr</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvwchgat(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG>
+             <STRONG>int</STRONG> <EM>n</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attr</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>color_set(short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void*</STRONG> <EM>opts</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wcolor_set(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void*</STRONG> <EM>opts</EM><STRONG>);</STRONG>
+
        <STRONG>int</STRONG> <STRONG>standend(void);</STRONG>
        <STRONG>int</STRONG> <STRONG>wstandend(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>standout(void);</STRONG>
        <STRONG>int</STRONG> <STRONG>wstandout(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>attr_get(attr_t</STRONG> <STRONG>*</STRONG><EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <STRONG>*</STRONG><EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>wattr_get(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <STRONG>*</STRONG><EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <STRONG>*</STRONG><EM>pair</EM><STRONG>,</STRONG>
-              <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>attr_off(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>wattr_off(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>attr_on(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>wattr_on(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>attr_set(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>wattr_set(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG>  <STRONG>void</STRONG>
-       <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>chgat(int</STRONG> <EM>n</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attr</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>color</EM><STRONG>,</STRONG>
-             <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>wchgat(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attr</EM><STRONG>,</STRONG>
-             <STRONG>short</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvchgat(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attr</EM><STRONG>,</STRONG>
-             <STRONG>short</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvwchgat(WINDOW</STRONG> <STRONG>*</STRONG><EM>win,</EM> <EM>int</EM> <EM>y,</EM> <EM>int</EM> <EM>x,</EM> <EM>int</EM> <EM>n,</EM>
-             <STRONG>attr_t</STRONG> <EM>attr</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These  routines  manipulate  the current attributes of the
-       named window.  The current attributes of a window apply to
-       all characters that are written into the window with <STRONG>wadd-</STRONG>
-       <STRONG>ch</STRONG>, <STRONG>waddstr</STRONG> and <STRONG>wprintw</STRONG>.  Attributes are a property of the
-       character,   and  move  with  the  character  through  any
-       scrolling and insert/delete line/character operations.  To
-       the  extent  possible,  they  are displayed as appropriate
-       modifications to the graphic rendition of  characters  put
-       on the screen.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       These  routines  manipulate the current attributes of the named window,
+       which then apply to all characters that are  written  into  the  window
+       with  <STRONG>waddch</STRONG>,  <STRONG>waddstr</STRONG>  and  <STRONG>wprintw</STRONG>.  Attributes are a property of the
+       character, and move  with  the  character  through  any  scrolling  and
+       insert/delete  line/character operations.  To the extent possible, they
+       are displayed as appropriate modifications to the graphic rendition  of
+       characters put on the screen.
+
+       These  routines do not affect the attributes used when erasing portions
+       of the window.   See  <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>  for  functions  which  modify  the
+       attributes used for erasing and clearing.
 
 
-</PRE>
-<H3><a name="h3-attrset">attrset</a></H3><PRE>
-       The  routine  <STRONG>attrset</STRONG>  sets  the current attributes of the
-       given window to <EM>attrs</EM>.  The routine <STRONG>attroff</STRONG> turns off  the
-       named  attributes  without turning any other attributes on
-       or off.  The routine <STRONG>attron</STRONG> turns on the named  attributes
-       without affecting any others.  The routine <STRONG>standout</STRONG> is the
-       same as <STRONG>attron(A_STANDOUT)</STRONG>.  The routine <STRONG>standend</STRONG>  is  the
-       same as <STRONG>attrset(A_NORMAL)</STRONG> or <STRONG>attrset(0)</STRONG>, that is, it turns
-       off all attributes.
+</PRE><H3><a name="h3-Window-Attributes">Window Attributes</a></H3><PRE>
+       There are two sets of functions:
 
-       The <STRONG>attrset</STRONG> and related routines do  not  affect  the  at-
-       tributes  used  when  erasing portions of the window.  See
-       <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG> for functions which  modify  the  attributes
-       used for erasing and clearing.
+       <STRONG>o</STRONG>   functions   for  manipulating  the  window  attributes  and  color:
+           <STRONG>wattr_set</STRONG> and <STRONG>wattr_get</STRONG>.
+
+       <STRONG>o</STRONG>   functions for manipulating only the window attributes (not  color):
+           <STRONG>wattr_on</STRONG> and <STRONG>wattr_off</STRONG>.
+
+       The  <STRONG>wattr_set</STRONG> function sets the current attributes of the given window
+       to <EM>attrs</EM>, with color specified by <EM>pair</EM>.
+
+       Use <STRONG>wattr_get</STRONG> to retrieve attributes for the given window.
+
+       Use <STRONG>attr_on</STRONG> and <STRONG>wattr_on</STRONG> to turn on  window  attributes,  i.e.,  values
+       OR'd  together  in  <EM>attr</EM>,  without  affecting  other  attributes.   Use
+       <STRONG>attr_off</STRONG> and <STRONG>wattr_off</STRONG> to turn off window attributes, again values OR'd
+       together in <EM>attr</EM>, without affecting other attributes.
 
 
-</PRE>
-<H3><a name="h3-attr_set">attr_set</a></H3><PRE>
-       The <STRONG>attrset</STRONG> routine is actually a legacy feature predating
-       SVr4 curses but kept in X/Open Curses for the same  reason
-       that  SVr4  curses kept it: compatbility.  The routine <STRONG>at-</STRONG>
-       <STRONG>tr_set</STRONG> provides for passing a color-pair parameter.
+</PRE><H3><a name="h3-Legacy-Window-Attributes">Legacy Window Attributes</a></H3><PRE>
+       The  X/Open  window attribute routines which <EM>set</EM> or <EM>get</EM>, turn <EM>on</EM> or <EM>off</EM>
+       are extensions of older routines which assume that color pairs are OR'd
+       into  the attribute parameter.  These newer routines use similar names,
+       because X/Open simply added an underscore (<STRONG>_</STRONG>) for the newer names.
 
-       The remaining <STRONG>attr_</STRONG>* functions operate  exactly  like  the
-       corresponding <STRONG>attr</STRONG>* functions, except that they take argu-
-       ments of type <STRONG>attr_t</STRONG> rather than <STRONG>int</STRONG>.
+       The <STRONG>int</STRONG> datatype used in the legacy routines is treated as if it is the
+       same  size  as  <STRONG>chtype</STRONG>  (used by <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>).  It holds the common video
+       attributes (such as bold, reverse), as well as a few  bits  for  color.
+       Those  bits  correspond  to  the  <STRONG>A_COLOR</STRONG> symbol.  The <STRONG>COLOR_PAIR</STRONG> macro
+       provides a value which can be OR'd into the attribute  parameter.   For
+       example,  as  long as that value fits into the <STRONG>A_COLOR</STRONG> mask, then these
+       calls produce similar results:
+
+           attrset(A_BOLD | COLOR_PAIR(<EM>pair</EM>));
+           attr_set(A_BOLD, <EM>pair</EM>, NULL);
+
+       However, if the value does not fit, then the <STRONG>COLOR_PAIR</STRONG> macro uses only
+       the  bits  that fit.  For example, because in <EM>ncurses</EM> <STRONG>A_COLOR</STRONG> has eight
+       (8) bits, then <STRONG>COLOR_PAIR(</STRONG><EM>259</EM><STRONG>)</STRONG> is 4 (i.e., 259 is 4 more than the limit
+       255).
+
+       The  <STRONG>PAIR_NUMBER</STRONG>  macro extracts a pair number from an <STRONG>int</STRONG> (or <STRONG>chtype</STRONG>).
+       For example, the <EM>input</EM> and <EM>output</EM> values in these statements  would  be
+       the same:
+
+           int value = A_BOLD | COLOR_PAIR(<EM>input</EM>);
+           int <EM>output</EM> = PAIR_NUMBER(value);
+
+       The  <STRONG>attrset</STRONG> routine is a legacy feature predating SVr4 curses but kept
+       in X/Open Curses  for  the  same  reason  that  SVr4  curses  kept  it:
+       compatibility.
+
+       The  remaining  <STRONG>attr</STRONG>*  functions operate exactly like the corresponding
+       <STRONG>attr_</STRONG>* functions, except that they take arguments of  type  <STRONG>int</STRONG>  rather
+       than <STRONG>attr_t</STRONG>.
+
+       There  is  no  corresponding <STRONG>attrget</STRONG> function as such in X/Open Curses,
+       although <EM>ncurses</EM> provides <STRONG>getattrs</STRONG> (see <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>).
 
 
-</PRE>
-<H3><a name="h3-color_set">color_set</a></H3><PRE>
-       The routine <STRONG>color_set</STRONG> sets the current color of the  given
-       window  to the foreground/background combination described
-       by the color_pair_number.  The parameter opts is  reserved
-       for future use, applications must supply a null pointer.
+</PRE><H3><a name="h3-Change-Character-Rendition">Change Character Rendition</a></H3><PRE>
+       The  routine  <STRONG>chgat</STRONG>  changes  the  attributes  of  a  given  number  of
+       characters  starting at the current cursor location of <STRONG>stdscr</STRONG>.  It does
+       not update the cursor and does not perform wrapping.  A character count
+       of  -1  or  greater  than  the  remaining  window width means to change
+       attributes all the way to the end of  the  current  line.   The  <STRONG>wchgat</STRONG>
+       function  generalizes  this to any window; the <STRONG>mvwchgat</STRONG> function does a
+       cursor move before acting.
+
+       In these functions, the color <EM>pair</EM> argument is a color pair  index  (as
+       in the first argument of <STRONG>init_pair</STRONG>, see <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>).
 
 
-</PRE>
-<H3><a name="h3-attr_get">attr_get</a></H3><PRE>
-       The  routine  <STRONG>wattr_get</STRONG>  returns the current attribute and
-       color pair for the given window; <STRONG>attr_get</STRONG> returns the cur-
-       rent attribute and color pair for <STRONG>stdscr</STRONG>.
-
-       There  is  no  corresponding  <STRONG>attrget</STRONG>  function as such in
-       X/Open Curses, although  ncurses  provides  <STRONG>getattrs</STRONG>  (see
-       <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>).
+</PRE><H3><a name="h3-Change-Window-Color">Change Window Color</a></H3><PRE>
+       The routine <STRONG>color_set</STRONG> sets the current color of the given window to the
+       foreground/background  combination  described   by   the   color   <EM>pair</EM>
+       parameter.
 
 
-</PRE>
-<H3><a name="h3-chgat">chgat</a></H3><PRE>
-       The routine <STRONG>chgat</STRONG> changes the attributes of a given number
-       of characters starting at the current cursor  location  of
-       <STRONG>stdscr</STRONG>.   It  does not update the cursor and does not per-
-       form wrapping.  A character count of -1  or  greater  than
-       the  remaining window width means to change attributes all
-       the way to the end of the current line.  The <STRONG>wchgat</STRONG>  func-
-       tion generalizes this to any window; the <STRONG>mvwchgat</STRONG> function
-       does a cursor move before acting.  In these functions, the
-       color  argument is a color-pair index (as in the first ar-
-       gument of <EM>init</EM><STRONG>_</STRONG><EM>pair</EM>, see <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>).  The <STRONG>opts</STRONG>  argu-
-       ment is not presently used, but is reserved for the future
-       (leave it <STRONG>NULL</STRONG>).
+</PRE><H3><a name="h3-Standout">Standout</a></H3><PRE>
+       The  routine  <STRONG>standout</STRONG>  is the same as <STRONG>attron(A_STANDOUT)</STRONG>.  The routine
+       <STRONG>standend</STRONG> is the same as <STRONG>attrset(A_NORMAL)</STRONG> or <STRONG>attrset(0)</STRONG>,  that  is,  it
+       turns off all attributes.
+
+       X/Open Curses does not mark these "restricted", because
+
+       <STRONG>o</STRONG>   they have well established legacy use, and
+
+       <STRONG>o</STRONG>   there  is  no  ambiguity  about  the  way  the  attributes might be
+           combined with a color pair.
 
 
-</PRE>
-<H3><a name="h3-Attributes">Attributes</a></H3><PRE>
-       The following video attributes, defined in <STRONG>&lt;curses.h&gt;</STRONG>, can
-       be passed to the routines <STRONG>attron</STRONG>, <STRONG>attroff</STRONG>, and <STRONG>attrset</STRONG>, or
-       OR'd with the characters passed to  <STRONG>addch</STRONG>  (see  curs_add-
-       <STRONG><A HREF="ch.3x.html">ch(3x)</A></STRONG>).
+</PRE><H3><a name="h3-Video-Attributes">Video Attributes</a></H3><PRE>
+       The following video attributes, defined in <STRONG>&lt;curses.h&gt;</STRONG>, can be passed to
+       the  routines <STRONG>attron</STRONG>, <STRONG>attroff</STRONG>, and <STRONG>attrset</STRONG>, or OR'd with the characters
+       passed to <STRONG>addch</STRONG> (see <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>).
 
-              <EM>Name</EM>            <EM>Description</EM>
-              ------------------------------------------------------------
-              <STRONG>A_NORMAL</STRONG>        Normal display (no highlight)
-              <STRONG>A_STANDOUT</STRONG>      Best highlighting mode of the terminal.
-              <STRONG>A_UNDERLINE</STRONG>     Underlining
-              <STRONG>A_REVERSE</STRONG>       Reverse video
-              <STRONG>A_BLINK</STRONG>         Blinking
-              <STRONG>A_DIM</STRONG>           Half bright
-              <STRONG>A_BOLD</STRONG>          Extra bright or bold
-              <STRONG>A_PROTECT</STRONG>       Protected mode
-              <STRONG>A_INVIS</STRONG>         Invisible or blank mode
-              <STRONG>A_ALTCHARSET</STRONG>    Alternate character set
-              <STRONG>A_ITALIC</STRONG>        Italics (non-X/Open extension)
-              <STRONG>A_CHARTEXT</STRONG>      Bit-mask to extract a character
+              <STRONG>Name</STRONG>           <STRONG>Description</STRONG>
+              -----------------------------------------------------------------
+              <STRONG>A_NORMAL</STRONG>       Normal display (no highlight)
+              <STRONG>A_STANDOUT</STRONG>     Best highlighting mode of the terminal
+              <STRONG>A_UNDERLINE</STRONG>    Underlining
+              <STRONG>A_REVERSE</STRONG>      Reverse video
+              <STRONG>A_BLINK</STRONG>        Blinking
+              <STRONG>A_DIM</STRONG>          Half bright
+              <STRONG>A_BOLD</STRONG>         Extra bright or bold
+              <STRONG>A_PROTECT</STRONG>      Protected mode
+              <STRONG>A_INVIS</STRONG>        Invisible or blank mode
+              <STRONG>A_ALTCHARSET</STRONG>   Alternate character set
+              <STRONG>A_ITALIC</STRONG>       Italics (non-X/Open extension)
+              <STRONG>A_CHARTEXT</STRONG>     Bit-mask to extract a character
+              <STRONG>A_COLOR</STRONG>        Bit-mask to extract a color (legacy routines)
 
-              <STRONG>COLOR_PAIR(</STRONG><EM>n</EM><STRONG>)</STRONG>   Color-pair number <EM>n</EM>
+       These video attributes are supported by <STRONG>attr_on</STRONG> and  related  functions
+       (which also support the attributes recognized by <STRONG>attron</STRONG>, etc.):
 
-       These video attributes are supported by <STRONG>attr_on</STRONG> and relat-
-       ed functions (which also support the attributes recognized
-       by <STRONG>attron</STRONG>, etc.):
-
-              <EM>Name</EM>            <EM>Description</EM>
-              -----------------------------------------
+              <STRONG>Name</STRONG>            <STRONG>Description</STRONG>
+              -----------------------------------------------------------------
               <STRONG>WA_HORIZONTAL</STRONG>   Horizontal highlight
               <STRONG>WA_LEFT</STRONG>         Left highlight
               <STRONG>WA_LOW</STRONG>          Low highlight
@@ -206,114 +232,272 @@
               <STRONG>WA_TOP</STRONG>          Top highlight
               <STRONG>WA_VERTICAL</STRONG>     Vertical highlight
 
-       For consistency
-
-       The following macro is the reverse of <STRONG>COLOR_PAIR(</STRONG><EM>n</EM><STRONG>)</STRONG>:
-
-       <STRONG>PAIR_NUMBER(</STRONG><EM>attrs</EM>) Returns the pair number associated
-                          with the <STRONG>COLOR_PAIR(</STRONG><EM>n</EM><STRONG>)</STRONG> attribute.
-
-       The  return values of many of these routines are not mean-
-       ingful (they are implemented as macro-expanded assignments
-       and  simply  return their argument).  The SVr4 manual page
-       claims (falsely) that these routines always return <STRONG>1</STRONG>.
+       The  return  values  of many of these routines are not meaningful (they
+       are implemented as macro-expanded assignments and simply  return  their
+       argument).   The  SVr4 manual page claims (falsely) that these routines
+       always return <STRONG>1</STRONG>.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       Note that <STRONG>attroff</STRONG>,  <STRONG>wattroff</STRONG>,  <STRONG>attron</STRONG>,  <STRONG>wattron</STRONG>,  <STRONG>attrset</STRONG>,
-       <STRONG>wattrset</STRONG>, <STRONG>standend</STRONG> and <STRONG>standout</STRONG> may be macros.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       All routines return the integer <STRONG>OK</STRONG> on success, or <STRONG>ERR</STRONG> on failure.
 
-       <STRONG>COLOR_PAIR</STRONG>  values can only be OR'd with attributes if the
-       pair number is less than  256.   The  alternate  functions
-       such  as  <STRONG>color_set</STRONG>  can pass a color pair value directly.
-       However, ncurses ABI 4 and 5 simply OR this  value  within
-       the  alternate  functions.   You must use ncurses ABI 6 to
+       X/Open Curses does not specify any error conditions.
+
+       This implementation
+
+       <STRONG>o</STRONG>   returns an error if the window pointer is null.
+
+       <STRONG>o</STRONG>   returns an error if the color  pair  parameter  for  <STRONG>wcolor_set</STRONG>  is
+           outside the range 0..COLOR_PAIRS-1.
+
+       <STRONG>o</STRONG>   does  not  return an error if either of the parameters of <STRONG>wattr_get</STRONG>
+           used for retrieving attribute or color pair values is <STRONG>NULL</STRONG>.
+
+       Functions prefixed with "mv" first perform cursor movement and fail  if
+       the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       These functions may be macros:
+
+              <STRONG>attroff</STRONG>,  <STRONG>wattroff</STRONG>, <STRONG>attron</STRONG>, <STRONG>wattron</STRONG>, <STRONG>attrset</STRONG>, <STRONG>wattrset</STRONG>, <STRONG>standend</STRONG>
+              and <STRONG>standout</STRONG>.
+
+       Color pair values can only be OR'd with attributes if the  pair  number
+       is less than 256.  The alternate functions such as <STRONG>color_set</STRONG> can pass a
+       color pair value directly.  However, <EM>ncurses</EM> ABI 4 and 5 simply OR this
+       value  within  the  alternate functions.  You must use <EM>ncurses</EM> ABI 6 to
        support more than 256 color pairs.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These functions are supported in the XSI Curses  standard,
-       Issue  4.   The  standard  defined  the dedicated type for
-       highlights, <STRONG>attr_t</STRONG>, which is not defined in  SVr4  curses.
-       The  functions  taking  <STRONG>attr_t</STRONG> arguments are not supported
-       under SVr4.
+</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+       This implementation provides the <STRONG>A_ITALIC</STRONG> attribute for terminals which
+       have   the   <STRONG>enter_italics_mode</STRONG>  (<STRONG>sitm</STRONG>)  and  <STRONG>exit_italics_mode</STRONG>  (<STRONG>ritm</STRONG>)
+       capabilities.  Italics are not mentioned in X/Open Curses.  Unlike  the
+       other  video  attributes,  <STRONG>A_ITALIC</STRONG>  is unrelated to the <STRONG>set_attributes</STRONG>
+       capabilities.   This   implementation   makes   the   assumption   that
+       <STRONG>exit_attribute_mode</STRONG> may also reset italics.
 
-       The XSI Curses standard states that whether the tradition-
-       al  functions  <STRONG>attron</STRONG>/<STRONG>attroff</STRONG>/<STRONG>attrset</STRONG>  can  manipulate at-
-       tributes other than  <STRONG>A_BLINK</STRONG>,  <STRONG>A_BOLD</STRONG>,  <STRONG>A_DIM</STRONG>,  <STRONG>A_REVERSE</STRONG>,
-       <STRONG>A_STANDOUT</STRONG>,  or  <STRONG>A_UNDERLINE</STRONG> is "unspecified".  Under this
-       implementation as well as  SVr4  curses,  these  functions
-       correctly  manipulate  all other highlights (specifically,
-       <STRONG>A_ALTCHARSET</STRONG>, <STRONG>A_PROTECT</STRONG>, and <STRONG>A_INVIS</STRONG>).
+       Each  of  the functions added by XSI Curses has a parameter <EM>opts</EM>, which
+       X/Open Curses  still  (after  more  than  twenty  years)  documents  as
+       reserved  for  future  use,  saying  that  it  should  be  <STRONG>NULL</STRONG>.   This
+       implementation uses that parameter in ABI 6  for  the  functions  which
+       have a color pair parameter to support <EM>extended</EM> <EM>color</EM> <EM>pairs</EM>:
 
-       This implementation provides the  <STRONG>A_ITALIC</STRONG>  attribute  for
-       terminals which have the <EM>enter</EM><STRONG>_</STRONG><EM>italics</EM><STRONG>_</STRONG><EM>mode</EM> (sitm) and <EM>ex-</EM>
-       <EM>it</EM><STRONG>_</STRONG><EM>italics</EM><STRONG>_</STRONG><EM>mode</EM> (ritm) capabilities.  Italics are not men-
-       tioned  in  X/Open  Curses.   Unlike  the  other video at-
-       tributes, <STRONG>I_ITALIC</STRONG> is unrelated to the <EM>set</EM><STRONG>_</STRONG><EM>attributes</EM>  ca-
-       pabilities.  This implementation makes the assumption that
-       <EM>exit</EM><STRONG>_</STRONG><EM>attribute</EM><STRONG>_</STRONG><EM>mode</EM> may also reset italics.
+       <STRONG>o</STRONG>   For functions which modify the color, e.g., <STRONG>wattr_set</STRONG> and <STRONG>wattr_on</STRONG>,
+           if <EM>opts</EM> is set it is treated as a pointer to <STRONG>int</STRONG>, and used  to  set
+           the color pair instead of the <STRONG>short</STRONG> <EM>pair</EM> parameter.
 
-       XSI Curses added the new entry points, <STRONG>attr_get</STRONG>,  <STRONG>attr_on</STRONG>,
-       <STRONG>attr_off</STRONG>,  <STRONG>attr_set</STRONG>,  <STRONG>wattr_on</STRONG>, <STRONG>wattr_off</STRONG>, <STRONG>wattr_get</STRONG>, <STRONG>wat-</STRONG>
-       <STRONG>tr_set</STRONG>.  These are intended to work with a new  series  of
-       highlight macros prefixed with <STRONG>WA_</STRONG>.  The older macros have
-       direct counterparts in the newer set of names:
+       <STRONG>o</STRONG>   For functions which retrieve the color, e.g., <STRONG>wattr_get</STRONG>, if <EM>opts</EM> is
+           set it is treated as a pointer to <STRONG>int</STRONG>, and  used  to  retrieve  the
+           color  pair  as  an <STRONG>int</STRONG> value, in addition to retrieving it via the
+           standard pointer to <STRONG>short</STRONG> parameter.
 
-              <EM>Name</EM>            <EM>Description</EM>
-              ------------------------------------------------------------
+       <STRONG>o</STRONG>   For functions which turn attributes off, e.g., <STRONG>wattr_off</STRONG>, the  <EM>opts</EM>
+           parameter is ignored except except to check that it is <STRONG>NULL</STRONG>.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These  functions are described in X/Open Curses, Issue 4.  The standard
+       defined the dedicated  type  for  highlights,  <STRONG>attr_t</STRONG>,  which  was  not
+       defined in SVr4 curses.  The functions taking <STRONG>attr_t</STRONG> arguments were not
+       supported under SVr4.
+
+       Very old versions of this library did not force an update of the screen
+       when  changing  the  attributes.   Use  <STRONG>touchwin</STRONG> to force the screen to
+       match the updated attributes.
+
+       X/Open  Curses  states   that   whether   the   traditional   functions
+       <STRONG>attron</STRONG>/<STRONG>attroff</STRONG>/<STRONG>attrset</STRONG>  can  manipulate  attributes other than <STRONG>A_BLINK</STRONG>,
+       <STRONG>A_BOLD</STRONG>, <STRONG>A_DIM</STRONG>, <STRONG>A_REVERSE</STRONG>, <STRONG>A_STANDOUT</STRONG>, or <STRONG>A_UNDERLINE</STRONG> is  "unspecified".
+       Under  this  implementation  as  well  as  SVr4 curses, these functions
+       correctly manipulate all other highlights (specifically,  <STRONG>A_ALTCHARSET</STRONG>,
+       <STRONG>A_PROTECT</STRONG>, and <STRONG>A_INVIS</STRONG>).
+
+       X/Open Curses added these entry points:
+
+              <STRONG>attr_get</STRONG>,  <STRONG>attr_on</STRONG>,  <STRONG>attr_off</STRONG>,  <STRONG>attr_set</STRONG>,  <STRONG>wattr_on</STRONG>,  <STRONG>wattr_off</STRONG>,
+              <STRONG>wattr_get</STRONG>, <STRONG>wattr_set</STRONG>
+
+       The new functions are intended to work with a new series  of  highlight
+       macros prefixed with <STRONG>WA_</STRONG>.  The older macros have direct counterparts in
+       the newer set of names:
+
+              <STRONG>Name</STRONG>            <STRONG>Description</STRONG>
+              -----------------------------------------------------------------
               <STRONG>WA_NORMAL</STRONG>       Normal display (no highlight)
-              <STRONG>WA_STANDOUT</STRONG>     Best highlighting mode of the terminal.
+              <STRONG>WA_STANDOUT</STRONG>     Best highlighting mode of the terminal
               <STRONG>WA_UNDERLINE</STRONG>    Underlining
               <STRONG>WA_REVERSE</STRONG>      Reverse video
               <STRONG>WA_BLINK</STRONG>        Blinking
               <STRONG>WA_DIM</STRONG>          Half bright
               <STRONG>WA_BOLD</STRONG>         Extra bright or bold
+
               <STRONG>WA_ALTCHARSET</STRONG>   Alternate character set
 
-       Very old versions of this library did not force an  update
-       of  the screen when changing the attributes.  Use <STRONG>touchwin</STRONG>
-       to force the screen to match the updated attributes.
+       X/Open Curses does not assign values to  these  symbols,  nor  does  it
+       state  whether or not they are related to the similarly-named A_NORMAL,
+       etc.:
 
-       The XSI curses standard specifies that each pair of corre-
-       sponding  <STRONG>A_</STRONG>  and <STRONG>WA_</STRONG>-using functions operates on the same
-       current-highlight information.
+       <STRONG>o</STRONG>   X/Open Curses specifies that each  pair  of  corresponding  <STRONG>A_</STRONG>  and
+           <STRONG>WA_</STRONG>-using   functions   operates   on  the  same  current-highlight
+           information.
 
-       The XSI standard extended conformance level adds new high-
-       lights <STRONG>A_HORIZONTAL</STRONG>, <STRONG>A_LEFT</STRONG>, <STRONG>A_LOW</STRONG>, <STRONG>A_RIGHT</STRONG>, <STRONG>A_TOP</STRONG>, <STRONG>A_VER-</STRONG>
-       <STRONG>TICAL</STRONG> (and corresponding <STRONG>WA_</STRONG> macros for each).  As of  Au-
-       gust  2013,  no  known  terminal provides these highlights
-       (i.e., via the <STRONG>sgr1</STRONG> capability).
+       <STRONG>o</STRONG>   However, in some  implementations,  those  symbols  have  unrelated
+           values.
+
+           For example, the Solaris <EM>xpg4</EM> (X/Open) curses declares <STRONG>attr_t</STRONG> to be
+           an unsigned short integer (16-bits), while  <STRONG>chtype</STRONG>  is  a  unsigned
+           integer (32-bits).  The <STRONG>WA_</STRONG> symbols in this case are different from
+           the <STRONG>A_</STRONG> symbols because they are used for a smaller  datatype  which
+           does not represent <STRONG>A_CHARTEXT</STRONG> or <STRONG>A_COLOR</STRONG>.
+
+           In this implementation (as in many others), the values happen to be
+           the same because it simplifies copying information  between  <STRONG>chtype</STRONG>
+           and <STRONG>cchar_t</STRONG> variables.
+
+       <STRONG>o</STRONG>   Because  <EM>ncurses</EM>'s  <STRONG>attr_t</STRONG>  can  hold  a color pair (in the <STRONG>A_COLOR</STRONG>
+           field), a call to <STRONG>wattr_on</STRONG>, <STRONG>wattr_off</STRONG>, or <STRONG>wattr_set</STRONG> may  alter  the
+           window's  color.   If  the  color pair information in the attribute
+           parameter is zero, no change is made to the window's color.
+
+           This is consistent with SVr4 curses; X/Open Curses does not specify
+           this.
+
+       The  X/Open  Curses  extended  conformance  level  adds  new highlights
+       <STRONG>A_HORIZONTAL</STRONG>,  <STRONG>A_LEFT</STRONG>,   <STRONG>A_LOW</STRONG>,   <STRONG>A_RIGHT</STRONG>,   <STRONG>A_TOP</STRONG>,   <STRONG>A_VERTICAL</STRONG>   (and
+       corresponding  <STRONG>WA_</STRONG>  macros  for  each).   As  of  August 2013, no known
+       terminal provides these highlights (i.e., via the <STRONG>sgr1</STRONG> capability).
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All routines return the integer <STRONG>OK</STRONG> on success, or  <STRONG>ERR</STRONG>  on
-       failure.
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+       X/Open Curses is largely based  on  SVr4  curses,  adding  support  for
+       "wide-characters"  (not  specific  to  Unicode).   Some  of  the X/Open
+       differences from SVr4 curses address the way video  attributes  can  be
+       applied  to wide-characters.  But aside from that, <STRONG>attrset</STRONG> and <STRONG>attr_set</STRONG>
+       are similar.  SVr4 curses provided the basic features for  manipulating
+       video  attributes.  However, earlier versions of curses provided a part
+       of these features.
 
-       X/Open does not define any error conditions.
+       As seen in 2.8BSD, curses assumed 7-bit characters,  using  the  eighth
+       bit  of  a byte to represent the <EM>standout</EM> feature (often implemented as
+       bold and/or reverse video).  The BSD curses library provided  functions
+       <STRONG>standout</STRONG>  and  <STRONG>standend</STRONG> which were carried along into X/Open Curses due
+       to their pervasive use in legacy applications.
 
-       This implementation returns an error if the window pointer
-       is null.  The <STRONG>wcolor_set</STRONG> function returns an error if  the
-       color   pair   parameter  is  outside  the  range  0..COL-
-       OR_PAIRS-1.  This implementation  also  provides  <STRONG>getattrs</STRONG>
-       for compatibility with older versions of curses.
+       Some  terminals  in  the  1980s  could  support  a  variety  of   video
+       attributes,  although  the  BSD  curses  library  could do nothing with
+       those.  System V  (1983)  provided  an  improved  curses  library.   It
+       defined  the <STRONG>A_</STRONG> symbols for use by applications to manipulate the other
+       attributes.  There are few useful references for the chronology.
 
-       Functions  with a "mv" prefix first perform a cursor move-
-       ment using <STRONG>wmove</STRONG>, and return an error if the  position  is
-       outside the window, or if the window pointer is null.
+       Goodheart's book <EM>UNIX</EM> <EM>Curses</EM> <EM>Explained</EM> (1991)  describes  SVr3  (1987),
+       commenting on several functions:
+
+       <STRONG>o</STRONG>   the  <STRONG>attron</STRONG>,  <STRONG>attroff</STRONG>, <STRONG>attrset</STRONG> functions (and most of the functions
+           found in SVr4 but not in BSD curses) were introduced by System V,
+
+       <STRONG>o</STRONG>   the alternate character set feature with <STRONG>A_ALTCHARSET</STRONG> was added  in
+           SVr2 and improved in SVr3 (by adding <STRONG>acs_map[]</STRONG>),
+
+       <STRONG>o</STRONG>   <STRONG>start_color</STRONG>  and  related color-functions were introduced by System
+           V.3.2,
+
+       <STRONG>o</STRONG>   pads, soft-keys were added in SVr3, and
+
+       Goodheart did not mention the background character or the <STRONG>cchar_t</STRONG> type.
+       Those are respectively SVr4 and X/Open features.  He did mention the <STRONG>A_</STRONG>
+       constants, but did not indicate their values.  Those were not the  same
+       in different systems, even for those marked as System V.
+
+       Different  Unix  systems  used  different  sizes  for the bit-fields in
+       <STRONG>chtype</STRONG> for <EM>characters</EM> and <EM>colors</EM>, and took into account  the  different
+       integer sizes (32-bit versus 64-bit).
+
+       This  table  showing  the number of bits for <STRONG>A_COLOR</STRONG> and <STRONG>A_CHARTEXT</STRONG> was
+       gleaned from the curses header files for various operating systems  and
+       architectures.   The inferred architecture and notes reflect the format
+       and size of the  defined  constants  as  well  as  clues  such  as  the
+       alternate  character  set implementation.  A 32-bit library can be used
+       on a 64-bit system, but not necessarily the reverse.
+
+                                     <STRONG>Bits</STRONG>
+       <STRONG>Year</STRONG>  <STRONG>System</STRONG>        <STRONG>Arch</STRONG>   <STRONG>Color</STRONG>  <STRONG>Char</STRONG>  <STRONG>Notes</STRONG>
+       ------------------------------------------------------------------------
+       1992  Solaris 5.2   32     6      17    SVr4 <EM>curses</EM>
+       1992  HP-UX 9       32     no     8     SVr2 <EM>curses</EM>
+       1992  AIX 3.2       32     no     23    SVr2 <EM>curses</EM>
+       1994  OSF/1 r3      32     no     23    SVr2 <EM>curses</EM>
+       1995  HP-UX 10.00   32     6      16    SVr3 <EM>curses</EM><STRONG>_</STRONG><EM>colr</EM>
+       1995  HP-UX 10.00   32     6      8     SVr4, X/Open <EM>curses</EM>
+       1995  Solaris 5.4   32/64  7      16    X/Open <EM>curses</EM>
+       1996  AIX 4.2       32     7      16    X/Open <EM>curses</EM>
+       1996  OSF/1 r4      32     6      16    X/Open <EM>curses</EM>
+       1997  HP-UX 11.00   32     6      8     X/Open <EM>curses</EM>
+       2000  U/Win         32/64  7/31   16    uses <EM>chtype</EM>
+
+       Notes:
+
+          Regarding HP-UX,
+
+          <STRONG>o</STRONG>   HP-UX 10.20 (1996) added support for 64-bit  PA-RISC  processors
+              in 1996.
+
+          <STRONG>o</STRONG>   HP-UX  10.30 (1997) marked "curses_colr" obsolete.  That version
+              of curses was dropped with HP-UX 11.30 in 2006.
+
+          Regarding OSF/1 (and Tru64),
+
+          <STRONG>o</STRONG>   These used 64-bit hardware.   Like  <EM>ncurses</EM>,  the  OSF/1  curses
+              interface is not customized for 32-bit and 64-bit versions.
+
+          <STRONG>o</STRONG>   Unlike  other  systems  which  evolved  from  AT&amp;T  code,  OSF/1
+              provided a new implementation for X/Open curses.
+
+          Regarding Solaris,
+
+          <STRONG>o</STRONG>   The initial release of Solaris was in 1992.
+
+          <STRONG>o</STRONG>   The <EM>xpg4</EM> (X/Open) curses was developed by MKS from 1990 to 1995.
+              Sun's copyright began in 1996.
+
+          <STRONG>o</STRONG>   Sun updated the X/Open curses interface after 64-bit support was
+              introduced  in  1997,  but  did  not  modify  the  SVr4   curses
+              interface.
+
+          Regarding U/Win,
+
+          <STRONG>o</STRONG>   Development  of  the  curses  library  began in 1991, stopped in
+              2000.
+
+          <STRONG>o</STRONG>   Color support was added in 1998.
+
+          <STRONG>o</STRONG>   The library uses only <STRONG>chtype</STRONG> (no <STRONG>cchar_t</STRONG>).
+
+       Once X/Open curses was adopted in the mid-1990s, the  constraint  of  a
+       32-bit interface with many colors and wide-characters for <STRONG>chtype</STRONG> became
+       a moot point.  The <STRONG>cchar_t</STRONG> structure (whose size and  members  are  not
+       specified in X/Open Curses) could be extended as needed.
+
+       Other interfaces are rarely used now:
+
+       <STRONG>o</STRONG>   BSD  curses was improved slightly in 1993/1994 using Keith Bostic's
+           modification to make the library 8-bit clean for <STRONG>nvi(1)</STRONG>.  He  moved
+           <EM>standout</EM> attribute to a structure member.
+
+           The  resulting  4.4BSD curses was replaced by <EM>ncurses</EM> over the next
+           ten years.
+
+       <STRONG>o</STRONG>   U/Win is rarely used now.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>,
-       <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>, <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,     <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>,     <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>,     <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>,
+       <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
 
 
 
-                                                          <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ncurses 6.5                       2024-04-27                     <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -321,17 +505,19 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
 <ul>
-<li><a href="#h3-attrset">attrset</a></li>
-<li><a href="#h3-attr_set">attr_set</a></li>
-<li><a href="#h3-color_set">color_set</a></li>
-<li><a href="#h3-attr_get">attr_get</a></li>
-<li><a href="#h3-chgat">chgat</a></li>
-<li><a href="#h3-Attributes">Attributes</a></li>
+<li><a href="#h3-Window-Attributes">Window Attributes</a></li>
+<li><a href="#h3-Legacy-Window-Attributes">Legacy Window Attributes</a></li>
+<li><a href="#h3-Change-Character-Rendition">Change Character Rendition</a></li>
+<li><a href="#h3-Change-Window-Color">Change Window Color</a></li>
+<li><a href="#h3-Standout">Standout</a></li>
+<li><a href="#h3-Video-Attributes">Video Attributes</a></li>
 </ul>
 </li>
-<li><a href="#h2-NOTES">NOTES</a></li>
-<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
diff --git a/doc/html/man/curs_beep.3x.html b/doc/html/man/curs_beep.3x.html
index b2ce7d2..e3d6c81 100644
--- a/doc/html/man/curs_beep.3x.html
+++ b/doc/html/man/curs_beep.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2005,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2005,2010 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,76 +27,66 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_beep.3x,v 1.12 2010/12/04 18:36:44 tom Exp @
+  * @Id: curs_beep.3x,v 1.29 2024/04/20 21:20:07 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_beep 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_beep 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_beep 3x</H1>
+<H1 class="no-header">curs_beep 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>                                             <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
+<STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>                    Library calls                   <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>beep</STRONG>, <STRONG>flash</STRONG> - <STRONG>curses</STRONG> bell and screen flash routines
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>beep</STRONG>, <STRONG>flash</STRONG> - ring the (visual) bell of the terminal with <EM>curses</EM>
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
        <STRONG>int</STRONG> <STRONG>beep(void);</STRONG>
        <STRONG>int</STRONG> <STRONG>flash(void);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The <STRONG>beep</STRONG> and <STRONG>flash</STRONG> routines are used to alert the terminal
-       user.  The routine <STRONG>beep</STRONG> sounds an  audible  alarm  on  the
-       terminal,  if  possible;  otherwise  it flashes the screen
-       (visible bell).  The routine <STRONG>flash</STRONG> flashes the screen, and
-       if  that  is  not  possible, sounds the alert.  If neither
-       alert is possible, nothing happens.  Nearly all  terminals
-       have  an  audible  alert (bell or beep), but only some can
-       flash the screen.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The  <STRONG>beep</STRONG>  and <STRONG>flash</STRONG> routines are used to alert the terminal user.  The
+       routine <STRONG>beep</STRONG> sounds an audible alarm  on  the  terminal,  if  possible;
+       otherwise  it  flashes  the  screen  (visible bell).  The routine <STRONG>flash</STRONG>
+       flashes the screen, and if that is not possible, sounds the alert.   If
+       neither  alert is possible, nothing happens.  Nearly all terminals have
+       an audible alert (bell or beep), but only some can flash the screen.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       These routines return <STRONG>OK</STRONG> if they  succeed  in  beeping  or
-       flashing, <STRONG>ERR</STRONG> otherwise.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       These routines return <STRONG>OK</STRONG> if they succeed in beeping  or  flashing,  <STRONG>ERR</STRONG>
+       otherwise.
 
 
-</PRE>
-<H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
-       SVr4's  beep  and flash routines always returned <STRONG>OK</STRONG>, so it
-       was not possible to tell when the beep or flash failed.
+</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+       SVr4's  beep  and  flash  routines  always  returned  <STRONG>OK</STRONG>, so it was not
+       possible to tell when the beep or flash failed.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These functions are described in the XSI Curses  standard,
-       Issue  4.  Like SVr4, it specifies that they always return
-       <STRONG>OK</STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These functions are described in X/Open Curses, Issue 4.  Like SVr4, it
+       specifies that they always return <STRONG>OK</STRONG>.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
 
 
 
-                                                          <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                     <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
diff --git a/doc/html/man/curs_bkgd.3x.html b/doc/html/man/curs_bkgd.3x.html
index 59db83f..47d2e13 100644
--- a/doc/html/man/curs_bkgd.3x.html
+++ b/doc/html/man/curs_bkgd.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2010,2015 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2015,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,110 +27,169 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_bkgd.3x,v 1.23 2015/07/21 00:11:05 tom Exp @
+  * @Id: curs_bkgd.3x,v 1.61 2024/04/20 18:54:36 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_bkgd 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_bkgd 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_bkgd 3x</H1>
+<H1 class="no-header">curs_bkgd 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>                                             <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+<STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>                    Library calls                   <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>bkgdset</STRONG>,  <STRONG>wbkgdset</STRONG>,  <STRONG>bkgd</STRONG>,  <STRONG>wbkgd</STRONG>, <STRONG>getbkgd</STRONG> - <STRONG>curses</STRONG> window
-       background manipulation routines
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>bkgdset</STRONG>,  <STRONG>wbkgdset</STRONG>,  <STRONG>bkgd</STRONG>,  <STRONG>wbkgd</STRONG>, <STRONG>getbkgd</STRONG> - manipulate background of a
+       <EM>curses</EM> window of characters
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
-       <STRONG>void</STRONG> <STRONG>bkgdset(chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
-       <STRONG>void</STRONG> <STRONG>wbkgdset(WINDOW</STRONG> <STRONG>*</STRONG><EM>win,</EM> <EM>chtype</EM> <EM>ch</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>bkgd(chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>wbkgd(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+
+       <STRONG>void</STRONG> <STRONG>bkgdset(chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+       <STRONG>void</STRONG> <STRONG>wbkgdset(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+
        <STRONG>chtype</STRONG> <STRONG>getbkgd(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The  <EM>background</EM>  of  a  <EM>curses</EM>  window  (in  the  library's  non-"wide"
+       configuration)   is  a  <EM>chtype</EM>  combining  a  set  of  attributes  (see
+       <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>) with a character called the <EM>blank</EM> <EM>character.</EM>
 
-</PRE>
-<H3><a name="h3-bkgdset">bkgdset</a></H3><PRE>
-       The <STRONG>bkgdset</STRONG> and <STRONG>wbkgdset</STRONG>  routines  manipulate  the  back-
-       ground  of  the  named window.  The window background is a
-       <STRONG>chtype</STRONG> consisting of any combination of attributes  (i.e.,
-       rendition)  and  a  character.   The attribute part of the
-       background is combined (OR'ed) with all non-blank  charac-
-       ters  that  are written into the window with <STRONG>waddch</STRONG>.  Both
-       the character and attribute parts of  the  background  are
-       combined   with  the  blank  characters.   The  background
-       becomes a property of the character  and  moves  with  the
-       character   through   any   scrolling   and  insert/delete
-       line/character operations.
+       The blank character is a spacing character that  populates  a  window's
+       character  cells  when  their  contents are erased without replacement.
+       The background's attributes are combined with all non-blank  characters
+       written  to  the window, as with the <STRONG><A HREF="curs_addch.3x.html">waddch(3x)</A></STRONG> and <STRONG><A HREF="curs_insch.3x.html">winsch(3x)</A></STRONG> families
+       of functions.
 
-       To the extent  possible  on  a  particular  terminal,  the
-       attribute  part  of  the  background  is  displayed as the
-       graphic rendition of the character put on the screen.
+       The blank character and  attributes  of  the  background  combine  with
+       characters  written  to  the window as described below.  The background
+       becomes a property of the character  and  moves  with  it  through  any
+       scrolling and insert/delete line/character operations.
+
+       To  the  extent possible on a given terminal, the attribute part of the
+       background is displayed as the graphic rendition of the  character  put
+       on the screen.
 
 
-</PRE>
-<H3><a name="h3-bkgd">bkgd</a></H3><PRE>
-       The <STRONG>bkgd</STRONG> and <STRONG>wbkgd</STRONG> functions set the  background  property
-       of  the  current  or  specified window and then apply this
-       setting to every character position in that window:
+</PRE><H3><a name="h3-bkgd_wbkgd">bkgd, wbkgd</a></H3><PRE>
+       <STRONG>bkgd</STRONG>  and  <STRONG>wbkgd</STRONG> set the background property of <STRONG>stdscr</STRONG> or the specified
+       window and then apply this setting to  every  character  cell  in  that
+       window.
 
-       <STRONG>o</STRONG>   The rendition of every  character  on  the  screen  is
-           changed to the new background rendition.
+       <STRONG>o</STRONG>   The  rendition  of every character in the window changes to the new
+           background rendition.
 
-       <STRONG>o</STRONG>   Wherever  the  former background character appears, it
-           is changed to the new background character.
+       <STRONG>o</STRONG>   Wherever the former background character appears, it changes to the
+           new background character.
+
+       <EM>ncurses</EM>  updates  the rendition of each character cell by comparing the
+       character, non-color attributes, and colors.  The  library  applies  to
+       following  procedure  to  each cell in the window, whether or not it is
+       blank.
+
+       <STRONG>o</STRONG>   <EM>ncurses</EM> first compares  the  cell's  character  to  the  previously
+           specified  blank  character;  if they match, <EM>ncurses</EM> writes the new
+           blank character to the cell.
+
+       <STRONG>o</STRONG>   <EM>ncurses</EM> then checks if the cell uses color, that is, its color pair
+           value  is  nonzero.   If not, it simply replaces the attributes and
+           color  pair  in  the  cell  with  those  from  the  new  background
+           character.
+
+       <STRONG>o</STRONG>   If  the  cell  uses color, and its background color matches that of
+           the current window background, <EM>ncurses</EM> removes attributes that  may
+           have  come  from the current background and adds those from the new
+           background.  It finishes by setting the cell's  background  to  use
+           the new window background color.
+
+       <STRONG>o</STRONG>   If  the  cell  uses  color, and its background color does not match
+           that of the current window background,  <EM>ncurses</EM>  updates  only  the
+           non-color  attributes, first removing those that may have come from
+           the current background, and then adding  attributes  from  the  new
+           background.
+
+       <EM>ncurses</EM>  treats  a  background  character  value of zero (0) as a blank
+       character.
+
+       If the terminal does not support  color,  or  if  color  has  not  been
+       initialized  with  <STRONG><A HREF="curs_color.3x.html">start_color(3x)</A></STRONG>,  <EM>ncurses</EM> ignores the new background
+       character's color attribute.
 
 
-</PRE>
-<H3><a name="h3-getbkgd">getbkgd</a></H3><PRE>
-       The <STRONG>getbkgd</STRONG> function returns the  given  window's  current
-       background character/attribute pair.
+</PRE><H3><a name="h3-bkgdset_wbkgdset">bkgdset, wbkgdset</a></H3><PRE>
+       <STRONG>bkgdset</STRONG> and  <STRONG>wbkgdset</STRONG>  manipulate  the  background  of  the  applicable
+       window, without updating the character cells as <STRONG>bkgd</STRONG> and <STRONG>wbkgd</STRONG> do; only
+       future writes reflect the updated background.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The  routines  <STRONG>bkgd</STRONG>  and <STRONG>wbkgd</STRONG> return the integer <STRONG>OK</STRONG>.  The
-       SVr4.0 manual says "or a non-negative integer  if  <STRONG>immedok</STRONG>
-       is set", but this appears to be an error.
+</PRE><H3><a name="h3-getbkgd">getbkgd</a></H3><PRE>
+       <STRONG>getbkgd</STRONG> obtains the given window's background character  and  attribute
+       combination.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       Note that <STRONG>bkgdset</STRONG> and <STRONG>bkgd</STRONG> may be macros.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       Functions  returning  an <EM>int</EM> return <STRONG>OK</STRONG> on success.  <STRONG>bkgd</STRONG> returns <STRONG>ERR</STRONG> if
+       the library has not been initialized.  <STRONG>wbkgd</STRONG> and <STRONG>getbkgd</STRONG> return <STRONG>ERR</STRONG>  if
+       a <EM>WINDOW</EM> pointer argument is null.
+
+       <STRONG>bkgdset</STRONG> and <STRONG>wbkgdset</STRONG> do not return a value.
+
+       <STRONG>getbkgd</STRONG>   returns   a   window's  background  character  and  attribute
+       combination.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  functions are described in the XSI Curses standard,
-       Issue 4.  It specifies that <STRONG>bkgd</STRONG> and <STRONG>wbkgd</STRONG> return  <STRONG>ERR</STRONG>  on
-       failure, but gives no failure conditions.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       Unusually, there is no <STRONG>wgetbkgd</STRONG> function; <STRONG>getbkgd</STRONG> behaves as one  would
+       expect <STRONG>wgetbkgd</STRONG> to, accepting a <EM>WINDOW</EM> pointer argument.
+
+       <STRONG>bkgd</STRONG> and <STRONG>bkgdset</STRONG> may be implemented as macros.
+
+       X/Open  Curses  mentions that the character part of the background must
+       be a single-byte value.  <EM>ncurses</EM>, like SVr4 <EM>curses</EM>,  checks  to  ensure
+       that, and will reuse the old background character if the check fails.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG>curs_out-</STRONG>
-       <STRONG><A HREF="curs_outopts.3x.html">opts(3x)</A></STRONG>
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       X/Open  Curses,  Issue  4 describes these functions.  It specifies that
+       <STRONG>bkgd</STRONG>, <STRONG>wbkgd</STRONG>, and <STRONG>getbkgd</STRONG> return <STRONG>ERR</STRONG> on failure  (in  the  case  of  the
+       last,  this  value  is  cast  to  <EM>chtype</EM>),  but  describes  no  failure
+       conditions.
+
+       The SVr4.0 manual says that <STRONG>bkgd</STRONG> and <STRONG>wbkgd</STRONG> may return  <STRONG>OK</STRONG>  "or  a  non-
+       negative  integer  if <STRONG>immedok</STRONG> is set", which refers to the return value
+       from <STRONG><A HREF="curs_refresh.3x.html">wrefresh(3x)</A></STRONG>, used to implement the  immediate  repainting.   SVr4
+       <EM>curses</EM>'s  <STRONG>wrefresh</STRONG>  returns  the  number  of  characters written to the
+       screen during the refresh.  <EM>ncurses</EM> does not do that.
+
+       Neither X/Open  Curses  nor  the  SVr4  manual  pages  detail  how  the
+       rendition  of  characters  on  the  screen  updates  when <STRONG>bkgd</STRONG> or <STRONG>wbkgd</STRONG>
+       changes the background character.  <EM>ncurses</EM>, like SVr4 <EM>curses</EM>, does  not
+       (in  its  non-"wide"  configuration)  store  the  background and window
+       attribute contributions to each character cell separately.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG> describes the corresponding  functions  in  the  "wide"
+       configuration of <EM>ncurses</EM>.
+
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
 
 
 
-                                                          <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                     <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -137,8 +197,8 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
 <ul>
-<li><a href="#h3-bkgdset">bkgdset</a></li>
-<li><a href="#h3-bkgd">bkgd</a></li>
+<li><a href="#h3-bkgd_wbkgd">bkgd, wbkgd</a></li>
+<li><a href="#h3-bkgdset_wbkgdset">bkgdset, wbkgdset</a></li>
 <li><a href="#h3-getbkgd">getbkgd</a></li>
 </ul>
 </li>
diff --git a/doc/html/man/curs_bkgrnd.3x.html b/doc/html/man/curs_bkgrnd.3x.html
index c2b1063..a11a68c 100644
--- a/doc/html/man/curs_bkgrnd.3x.html
+++ b/doc/html/man/curs_bkgrnd.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 2002-2012,2015 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 2002-2015,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,107 +27,157 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_bkgrnd.3x,v 1.6 2015/07/21 00:18:42 tom Exp @
+  * @Id: curs_bkgrnd.3x,v 1.42 2024/04/20 18:54:36 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_bkgrnd 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_bkgrnd 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_bkgrnd 3x</H1>
+<H1 class="no-header">curs_bkgrnd 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>                                         <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+<STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>                  Library calls                 <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>bkgrnd</STRONG>,  <STRONG>wbkgrnd</STRONG>,  <STRONG>bkgrndset</STRONG>, <STRONG>wbkgrndset</STRONG>, <STRONG>getbkgrnd</STRONG>, <STRONG>wget-</STRONG>
-       <STRONG>bkgrnd</STRONG> - <STRONG>curses</STRONG>  window  complex  background  manipulation
-       routines
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>bkgrnd</STRONG>,   <STRONG>wbkgrnd</STRONG>,   <STRONG>bkgrndset</STRONG>,  <STRONG>wbkgrndset</STRONG>,  <STRONG>getbkgrnd</STRONG>,  <STRONG>wgetbkgrnd</STRONG>  -
+       manipulate background of a <EM>curses</EM> window of wide characters
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
-       <STRONG>int</STRONG> <STRONG>bkgrnd(</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>wbkgrnd(</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
-       <STRONG>void</STRONG> <STRONG>bkgrndset(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>bkgrnd(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wbkgrnd(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
+
+       <STRONG>void</STRONG> <STRONG>bkgrndset(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
        <STRONG>void</STRONG> <STRONG>wbkgrndset(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
+
        <STRONG>int</STRONG> <STRONG>getbkgrnd(cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>wgetbkgrnd(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The  <EM>background</EM>  of  a  <EM>curses</EM>  window   (in   the   library's   "wide"
+       configuration)  is  a  <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>  combining  a  set  of  attributes  (see
+       <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>) with a complex character called the <EM>blank</EM> <EM>character.</EM>
 
-</PRE>
-<H3><a name="h3-bkgrndset">bkgrndset</a></H3><PRE>
-       The <STRONG>bkgrndset</STRONG> and <STRONG>wbkgrndset</STRONG> routines manipulate the back-
-       ground of the named window.  The window  background  is  a
-       <STRONG>cchar_t</STRONG> consisting of any combination of attributes (i.e.,
-       rendition) and a complex character.  The attribute part of
-       the  background  is  combined  (OR'ed)  with all non-blank
-       characters that are written into the window  with  <STRONG>waddch</STRONG>.
-       Both  the  character and attribute parts of the background
-       are combined with the blank  characters.   The  background
-       becomes  a  property  of  the character and moves with the
-       character  through   any   scrolling   and   insert/delete
-       line/character operations.
+       The blank character is a spacing character that  populates  a  window's
+       character  cells  when  their  contents are erased without replacement.
+       The background's attributes are combined with all non-blank  characters
+       written  to  the  window,  as  with  the  <STRONG><A HREF="curs_add_wch.3x.html">wadd_wch(3x)</A></STRONG> and <STRONG><A HREF="curs_ins_wch.3x.html">wins_wch(3x)</A></STRONG>
+       families of functions.
 
-       To  the  extent  possible  on  a  particular terminal, the
-       attribute part of  the  background  is  displayed  as  the
-       graphic rendition of the character put on the screen.
+       The blank character and  attributes  of  the  background  combine  with
+       characters  written  to  the window as described below.  The background
+       becomes a property of the character  and  moves  with  it  through  any
+       scrolling and insert/delete line/character operations.
+
+       To  the  extent possible on a given terminal, the attribute part of the
+       background is displayed as the graphic rendition of the  character  put
+       on the screen.
 
 
-</PRE>
-<H3><a name="h3-bkgrnd">bkgrnd</a></H3><PRE>
-       The  <STRONG>bkgrnd</STRONG> and <STRONG>wbkgrnd</STRONG> functions set the background prop-
-       erty of the current or specified  window  and  then  apply
-       this setting to every character position in that window:
+</PRE><H3><a name="h3-bkgrnd_wbkgrnd">bkgrnd, wbkgrnd</a></H3><PRE>
+       <STRONG>bkgrnd</STRONG>  and  <STRONG>wbkgrnd</STRONG>  set  the  background  property  of  <STRONG>stdscr</STRONG> or the
+       specified window and then apply this setting to every character cell in
+       that window.
 
-       <STRONG>o</STRONG>   The  rendition  of  every  character  on the screen is
-           changed to the new background rendition.
+       <STRONG>o</STRONG>   The  rendition  of every character in the window changes to the new
+           background rendition.
 
-       <STRONG>o</STRONG>   Wherever the former background character  appears,  it
-           is changed to the new background character.
+       <STRONG>o</STRONG>   Wherever the former background character appears, it changes to the
+           new background character.
+
+       <EM>ncurses</EM>  updates  the rendition of each character cell by comparing the
+       character, non-color attributes, and colors.  The  library  applies  to
+       following  procedure  to  each cell in the window, whether or not it is
+       blank.
+
+       <STRONG>o</STRONG>   <EM>ncurses</EM> first compares  the  cell's  character  to  the  previously
+           specified  blank  character;  if they match, <EM>ncurses</EM> writes the new
+           blank character to the cell.
+
+       <STRONG>o</STRONG>   <EM>ncurses</EM> then checks if the cell uses color, that is, its color pair
+           value  is  nonzero.   If not, it simply replaces the attributes and
+           color  pair  in  the  cell  with  those  from  the  new  background
+           character.
+
+       <STRONG>o</STRONG>   If  the  cell  uses color, and its background color matches that of
+           the current window background, <EM>ncurses</EM> removes attributes that  may
+           have  come  from the current background and adds those from the new
+           background.  It finishes by setting the cell's  background  to  use
+           the new window background color.
+
+       <STRONG>o</STRONG>   If  the  cell  uses  color, and its background color does not match
+           that of the current window background,  <EM>ncurses</EM>  updates  only  the
+           non-color  attributes, first removing those that may have come from
+           the current background, and then adding  attributes  from  the  new
+           background.
+
+       <EM>ncurses</EM>  treats  a  background  character  value of zero (0) as a blank
+       character.
+
+       If the terminal does not support  color,  or  if  color  has  not  been
+       initialized  with  <STRONG><A HREF="curs_color.3x.html">start_color(3x)</A></STRONG>,  <EM>ncurses</EM> ignores the new background
+       character's color attribute.
 
 
-</PRE>
-<H3><a name="h3-getbkgrnd">getbkgrnd</a></H3><PRE>
-       The  <STRONG>getbkgrnd</STRONG> function returns the given window's current
-       background character/attribute pair via the <STRONG>wch</STRONG> pointer.
+</PRE><H3><a name="h3-bkgrndset_wbkgrndset">bkgrndset, wbkgrndset</a></H3><PRE>
+       <STRONG>bkgrndset</STRONG> and <STRONG>wbkgrndset</STRONG> manipulate the background  of  the  applicable
+       window,  without updating the character cells as <STRONG>bkgrnd</STRONG> and <STRONG>wbkgrnd</STRONG> do;
+       only future writes reflect the updated background.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       Note that <STRONG>bkgrnd</STRONG>, <STRONG>bkgrndset</STRONG>, and <STRONG>getbkgrnd</STRONG> may be macros.
+</PRE><H3><a name="h3-getbkgrnd_wgetbkgrnd">getbkgrnd, wgetbkgrnd</a></H3><PRE>
+       The <STRONG>getbkgrnd</STRONG> and <STRONG>wgetbkgrnd</STRONG> functions obtain the background  character
+       and  attribute  pair of <STRONG>stdscr</STRONG> or the specified window and store it via
+       the <EM>wch</EM> pointer.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The <STRONG>bkgrndset</STRONG> and <STRONG>wbkgrndset</STRONG>  routines  do  not  return  a
-       value.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       <STRONG>bkgrndset</STRONG> and <STRONG>wbkgrndset</STRONG> do not return a value.
 
-       Upon successful completion, the other functions return <STRONG>OK</STRONG>.
-       Otherwise, they return <STRONG>ERR</STRONG>.   A  null  window  pointer  is
-       treated as an error.
+       The other functions return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG>  upon  success.   In
+       <EM>ncurses</EM>, failure occurs if
+
+       <STRONG>o</STRONG>   a <EM>WINDOW</EM> pointer <EM>win</EM> is null, or
+
+       <STRONG>o</STRONG>   a <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> pointer <EM>wch</EM> is null.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       <STRONG>bkgrnd</STRONG>, <STRONG>bkgrndset</STRONG>, and <STRONG>getbkgrnd</STRONG> may be implemented as macros.
+
+       Unlike  their  counterparts in the non-"wide" configuration of <EM>ncurses</EM>,
+       <STRONG>getbkgrnd</STRONG> and <STRONG>wgetbkgrnd</STRONG> supply the background character and  attribute
+       in a modifiable <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> parameter, not as the return value.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       X/Open  Curses,  Issue  4  describes  these functions.  It specifies no
+       error conditions for them.
+
+       X/Open Curses does not provide details of how the rendition is updated.
+       This implementation follows the approach used in SVr4 <EM>curses</EM>.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>  describes  the corresponding functions in the non-"wide"
+       configuration of <EM>ncurses</EM>.
+
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
 
 
 
-                                                        <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                   <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -134,13 +185,14 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
 <ul>
-<li><a href="#h3-bkgrndset">bkgrndset</a></li>
-<li><a href="#h3-bkgrnd">bkgrnd</a></li>
-<li><a href="#h3-getbkgrnd">getbkgrnd</a></li>
+<li><a href="#h3-bkgrnd_wbkgrnd">bkgrnd, wbkgrnd</a></li>
+<li><a href="#h3-bkgrndset_wbkgrndset">bkgrndset, wbkgrndset</a></li>
+<li><a href="#h3-getbkgrnd_wgetbkgrnd">getbkgrnd, wgetbkgrnd</a></li>
 </ul>
 </li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
diff --git a/doc/html/man/curs_border.3x.html b/doc/html/man/curs_border.3x.html
index f21be36..d310dad 100644
--- a/doc/html/man/curs_border.3x.html
+++ b/doc/html/man/curs_border.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2007,2010 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,56 +27,57 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_border.3x,v 1.22 2010/12/04 18:36:44 tom Exp @
+  * @Id: curs_border.3x,v 1.49 2024/04/20 21:20:07 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_border 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_border 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_border 3x</H1>
+<H1 class="no-header">curs_border 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>                                         <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+<STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>                  Library calls                 <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>border</STRONG>, <STRONG>wborder</STRONG>, <STRONG>box</STRONG>, <STRONG>hline</STRONG>, <STRONG>whline</STRONG>, <STRONG>vline</STRONG>, <STRONG>wvline</STRONG>,
-       <STRONG>mvhline</STRONG>, <STRONG>mvwhline</STRONG>, <STRONG>mvvline</STRONG>, <STRONG>mvwvline</STRONG> - create <STRONG>curses</STRONG>
-       borders, horizontal and vertical lines
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>border</STRONG>,  <STRONG>wborder</STRONG>, <STRONG>box</STRONG>, <STRONG>hline</STRONG>, <STRONG>whline</STRONG>, <STRONG>vline</STRONG>, <STRONG>wvline</STRONG>, <STRONG>mvhline</STRONG>, <STRONG>mvwhline</STRONG>,
+       <STRONG>mvvline</STRONG>, <STRONG>mvwvline</STRONG> - draw borders  and  lines  in  a  <EM>curses</EM>  window  of
+       characters
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
-       <STRONG>int</STRONG> <STRONG>border(chtype</STRONG> <STRONG>ls,</STRONG> <STRONG>chtype</STRONG> <STRONG>rs,</STRONG> <STRONG>chtype</STRONG> <STRONG>ts,</STRONG> <STRONG>chtype</STRONG> <STRONG>bs,</STRONG>
-          <STRONG>chtype</STRONG> <STRONG>tl,</STRONG> <STRONG>chtype</STRONG> <STRONG>tr,</STRONG> <STRONG>chtype</STRONG> <STRONG>bl,</STRONG> <STRONG>chtype</STRONG> <STRONG>br);</STRONG>
-       <STRONG>int</STRONG> <STRONG>wborder(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>chtype</STRONG> <STRONG>ls,</STRONG> <STRONG>chtype</STRONG> <STRONG>rs,</STRONG>
-          <STRONG>chtype</STRONG> <STRONG>ts,</STRONG> <STRONG>chtype</STRONG> <STRONG>bs,</STRONG> <STRONG>chtype</STRONG> <STRONG>tl,</STRONG> <STRONG>chtype</STRONG> <STRONG>tr,</STRONG>
-          <STRONG>chtype</STRONG> <STRONG>bl,</STRONG> <STRONG>chtype</STRONG> <STRONG>br);</STRONG>
-       <STRONG>int</STRONG> <STRONG>box(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>chtype</STRONG> <STRONG>verch,</STRONG> <STRONG>chtype</STRONG> <STRONG>horch);</STRONG>
-       <STRONG>int</STRONG> <STRONG>hline(chtype</STRONG> <STRONG>ch,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
-       <STRONG>int</STRONG> <STRONG>whline(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>chtype</STRONG> <STRONG>ch,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
-       <STRONG>int</STRONG> <STRONG>vline(chtype</STRONG> <STRONG>ch,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
-       <STRONG>int</STRONG> <STRONG>wvline(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>chtype</STRONG> <STRONG>ch,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvhline(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>chtype</STRONG> <STRONG>ch,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvwhline(WINDOW</STRONG> <STRONG>*,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>chtype</STRONG> <STRONG>ch,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvvline(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>chtype</STRONG> <STRONG>ch,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvwvline(WINDOW</STRONG> <STRONG>*,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>chtype</STRONG> <STRONG>ch,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>border(chtype</STRONG> <EM>ls</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>rs</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ts</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>bs</EM><STRONG>,</STRONG>
+                  <STRONG>chtype</STRONG> <EM>tl</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>tr</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>bl</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>br</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wborder(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ls</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>rs</EM><STRONG>,</STRONG>
+                   <STRONG>chtype</STRONG> <EM>ts</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>bs</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>tl</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>tr</EM><STRONG>,</STRONG>
+                   <STRONG>chtype</STRONG> <EM>bl</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>br</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>box(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>verch</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>horch</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>hline(chtype</STRONG> <EM>ch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>whline(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>vline(chtype</STRONG> <EM>ch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wvline(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>mvhline(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvwhline(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvvline(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvwvline(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The <STRONG>border</STRONG>, <STRONG>wborder</STRONG> and <STRONG>box</STRONG> routines draw a box around the
-       edges of a window.  Other than the window,  each  argument
-       is a character with attributes:
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The  <STRONG>border</STRONG>,  <STRONG>wborder</STRONG> and <STRONG>box</STRONG> routines draw a box around the edges of a
+       window.  Other than the window,  each  argument  is  a  character  with
+       attributes:
 
               <EM>ls</EM> - left side,
               <EM>rs</EM> - right side,
@@ -86,8 +88,8 @@
               <EM>bl</EM> - bottom left-hand corner, and
               <EM>br</EM> - bottom right-hand corner.
 
-       If  any of these arguments is zero, then the corresponding
-       default values (defined in <STRONG>curses.h</STRONG>) are used instead:
+       If  any  of  these  arguments  is  zero, then the corresponding default
+       values (defined in <STRONG>curses.h</STRONG>) are used instead:
 
               <STRONG>ACS_VLINE</STRONG>,
               <STRONG>ACS_VLINE</STRONG>,
@@ -98,60 +100,48 @@
               <STRONG>ACS_LLCORNER</STRONG>,
               <STRONG>ACS_LRCORNER</STRONG>.
 
-       <STRONG>box(</STRONG><EM>win</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>)</STRONG> is a shorthand  for  the  following
-       call:  <STRONG>wborder(</STRONG><EM>win</EM><STRONG>,</STRONG>  <EM>verch</EM><STRONG>,</STRONG>  <EM>verch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>,</STRONG> <STRONG>0,</STRONG> <STRONG>0,</STRONG> <STRONG>0,</STRONG>
-       <STRONG>0)</STRONG>.
+       <STRONG>box(</STRONG><EM>win</EM><STRONG>,</STRONG>  <EM>verch</EM><STRONG>,</STRONG>  <EM>horch</EM><STRONG>)</STRONG>  is  a  shorthand  for  the  following   call:
+       <STRONG>wborder(</STRONG><EM>win</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>,</STRONG> <STRONG>0,</STRONG> <STRONG>0,</STRONG> <STRONG>0,</STRONG> <STRONG>0)</STRONG>.
 
-       The <STRONG>hline</STRONG> and <STRONG>whline</STRONG> functions draw a horizontal (left  to
-       right)  line using <EM>ch</EM> starting at the current cursor posi-
-       tion in the window.  The current cursor  position  is  not
-       changed.   The  line  is  at most <EM>n</EM> characters long, or as
-       many as fit into the window.
+       The  <STRONG>hline</STRONG>  and <STRONG>whline</STRONG> functions draw a horizontal (left to right) line
+       using <EM>ch</EM> starting at the current cursor position in  the  window.   The
+       current  cursor  position  is  not  changed.   The  line  is  at most <EM>n</EM>
+       characters long, or as many as fit into the window.
 
-       The <STRONG>vline</STRONG> and <STRONG>wvline</STRONG> functions draw  a  vertical  (top  to
-       bottom) line using <EM>ch</EM> starting at the current cursor posi-
-       tion in the window.  The current cursor  position  is  not
-       changed.   The  line  is  at most <EM>n</EM> characters long, or as
-       many as fit into the window.
+       The <STRONG>vline</STRONG> and <STRONG>wvline</STRONG> functions draw a vertical  (top  to  bottom)  line
+       using  <EM>ch</EM>  starting  at the current cursor position in the window.  The
+       current cursor position  is  not  changed.   The  line  is  at  most  <EM>n</EM>
+       characters long, or as many as fit into the window.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All routines return the integer  <STRONG>OK</STRONG>.   The  SVr4.0  manual
-       says  "or  a  non-negative integer if <STRONG>immedok</STRONG> is set", but
-       this appears to be an error.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       All  routines return the integer <STRONG>OK</STRONG>.  The SVr4.0 manual says "or a non-
+       negative integer if <STRONG>immedok</STRONG> is set", but this appears to be an error.
 
-       X/Open does not define any error conditions.  This  imple-
-       mentation returns an error if the window pointer is null.
+       X/Open  Curses  does  not   specify   any   error   conditions.    This
+       implementation returns an error if the window pointer is null.
 
-       Functions  with a "mv" prefix first perform a cursor move-
-       ment using <STRONG>wmove</STRONG>, 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 (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The  borders  generated by these functions are <EM>inside</EM> bor-
-       ders (this is also true of SVr4 curses, though the fact is
-       not documented).
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       The borders generated by these functions are <EM>inside</EM>  borders  (this  is
+       also true of SVr4 curses, though the fact is not documented).
 
        Note that <STRONG>border</STRONG> and <STRONG>box</STRONG> may be macros.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  functions are described in the XSI Curses standard,
-       Issue 4.  The standard specifies that they return  <STRONG>ERR</STRONG>  on
-       failure, but specifies no error conditions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These functions are described in X/Open Curses, Issue 4.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
 
 
 
-                                                        <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                   <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
diff --git a/doc/html/man/curs_border_set.3x.html b/doc/html/man/curs_border_set.3x.html
index b7dfbc6..e687aa6 100644
--- a/doc/html/man/curs_border_set.3x.html
+++ b/doc/html/man/curs_border_set.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 2002-2011,2012 Free Software Foundation, Inc.              *
+  * Copyright 2019-2023,2024 Thomas E. Dickey                                *
+  * Copyright 2002-2011,2012 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,87 +27,82 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_border_set.3x,v 1.11 2012/11/03 23:03:59 tom Exp @
+  * @Id: curs_border_set.3x,v 1.36 2024/04/20 21:20:07 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_border_set 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_border_set 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_border_set 3x</H1>
+<H1 class="no-header">curs_border_set 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>                                 <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+<STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>              Library calls             <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>border_set</STRONG>, <STRONG>wborder_set</STRONG>, <STRONG>box_set</STRONG>, <STRONG>hline_set</STRONG>, <STRONG>whline_set</STRONG>,
-       <STRONG>mvhline_set</STRONG>, <STRONG>mvwhline_set</STRONG>, <STRONG>vline_set</STRONG>, <STRONG>wvline_set</STRONG>,
-       <STRONG>mvvline_set</STRONG>, <STRONG>mvwvline_set</STRONG> - create <STRONG>curses</STRONG> borders or lines
-       using complex characters and renditions
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>border_set</STRONG>,  <STRONG>wborder_set</STRONG>,  <STRONG>box_set</STRONG>, <STRONG>hline_set</STRONG>, <STRONG>whline_set</STRONG>, <STRONG>mvhline_set</STRONG>,
+       <STRONG>mvwhline_set</STRONG>, <STRONG>vline_set</STRONG>, <STRONG>wvline_set</STRONG>, <STRONG>mvvline_set</STRONG>, <STRONG>mvwvline_set</STRONG>  -  draw
+       borders and lines in a <EM>curses</EM> window of wide characters
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
        <STRONG>int</STRONG> <STRONG>border_set(</STRONG>
-          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>ls</EM>, <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>rs</EM>,
-          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>ts</EM>, <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>bs</EM>,
-          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>tl</EM>, <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>tr</EM>,
-          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>bl</EM>, <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>br</EM> <STRONG>);</STRONG>
+          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>ls</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>rs</EM><STRONG>,</STRONG>
+          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>ts</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>bs</EM><STRONG>,</STRONG>
+          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>tl</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>tr</EM><STRONG>,</STRONG>
+          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>bl</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>br</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>wborder_set(</STRONG>
-          <STRONG>WINDOW</STRONG> <STRONG>*win</STRONG>,
-          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>ls</EM>, <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>rs</EM>,
-          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>ts</EM>, <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>bs</EM>,
-          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>tl</EM>, <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>tr</EM>,
-          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>bl</EM>, <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>br</EM><STRONG>);</STRONG>
+          <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG>
+          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>ls</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>rs</EM><STRONG>,</STRONG>
+          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>ts</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>bs</EM><STRONG>,</STRONG>
+          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>tl</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>tr</EM><STRONG>,</STRONG>
+          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>bl</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>br</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>box_set(</STRONG>
-          <STRONG>WINDOW</STRONG> <STRONG>*win</STRONG>,
-          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>verch</EM>,
+          <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG>
+          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>verch</EM><STRONG>,</STRONG>
           <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>horch</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>hline_set(</STRONG>
-          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM>, <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>whline_set(</STRONG>
-          <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM>,
-          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM>, <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+          <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG>
+          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>mvhline_set(</STRONG>
-          <STRONG>int</STRONG> <EM>y</EM>, <STRONG>int</STRONG> <EM>x</EM>,
-          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM>, <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+          <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG>
+          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>mvwhline_set(</STRONG>
-          <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM>,
-          <STRONG>int</STRONG> <EM>y</EM>, <STRONG>int</STRONG> <EM>x</EM>,
-          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM>, <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+          <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG>
+          <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG>
+          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>vline_set(</STRONG>
-          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM>, <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>wvline_set(</STRONG>
-          <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM>,
-          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM>, <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+          <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG>
+          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>mvvline_set(</STRONG>
-          <STRONG>int</STRONG> <EM>y</EM>, <STRONG>int</STRONG> <EM>x</EM>,
-          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM>, <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+          <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG>
+          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>mvwvline_set(</STRONG>
-          <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM>,
-          <STRONG>int</STRONG> <EM>y</EM>, <STRONG>int</STRONG> <EM>x</EM>,
-          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM>, <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+          <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG>
+          <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG>
+          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The <STRONG>border_set</STRONG> and <STRONG>wborder_set</STRONG>  functions  draw  a  border
-       around  the  edges  of  the  current  or specified window.
-       These functions do not change the cursor position, and  do
-       not wrap.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The <STRONG>border_set</STRONG> and <STRONG>wborder_set</STRONG> functions draw a border around the edges
+       of the current or specified window.  These functions do not change  the
+       cursor position, and do not wrap.
 
-       Other  than the window, each argument is a complex charac-
-       ter with attributes:
+       Other  than  the  window,  each  argument  is  a complex character with
+       attributes:
               <EM>ls</EM> - left side,
               <EM>rs</EM> - right side,
               <EM>ts</EM> - top side,
@@ -116,8 +112,8 @@
               <EM>bl</EM> - bottom left-hand corner, and
               <EM>br</EM> - bottom right-hand corner.
 
-       If any of these arguments is zero, then the  corresponding
-       default values (defined in <STRONG>curses.h</STRONG>) are used instead:
+       If any of these arguments  is  zero,  then  the  corresponding  default
+       values (defined in <STRONG>curses.h</STRONG>) are used instead:
               <STRONG>WACS_VLINE</STRONG>,
               <STRONG>WACS_VLINE</STRONG>,
               <STRONG>WACS_HLINE</STRONG>,
@@ -127,61 +123,57 @@
               <STRONG>WACS_LLCORNER</STRONG>, and
               <STRONG>WACS_LRCORNER</STRONG>.
 
-       <STRONG>box_set(</STRONG><EM>win</EM>, <EM>verch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>);</STRONG> is a shorthand for the follow-
-       ing call:
+       <STRONG>box_set(</STRONG><EM>win</EM>, <EM>verch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>);</STRONG> is a shorthand for the following call:
 
        <STRONG>wborder_set(</STRONG><EM>win</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG>
            <EM>horch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>,</STRONG> <STRONG>NULL,</STRONG> <STRONG>NULL,</STRONG> <STRONG>NULL,</STRONG> <STRONG>NULL);</STRONG>
 
-       The <STRONG>*line_set</STRONG> functions use <EM>wch</EM> to draw a line starting at
-       the current cursor position in the window.  The line is at
-       most <EM>n</EM> characters long or as many as fit into the  window.
-       The current cursor position is not changed.
+       The  <STRONG>*line_set</STRONG> functions use <EM>wch</EM> to draw a line starting at the current
+       cursor position in the window.  The line is at most <EM>n</EM>  characters  long
+       or  as many as fit into the window.  The current cursor position is not
+       changed.
 
-       The  <STRONG>hline_set</STRONG>,  <STRONG>mvhline_set</STRONG>, <STRONG>mvwhline_set</STRONG>, and <STRONG>whline_set</STRONG>
-       functions draw a line proceeding toward the last column of
-       the same line.
+       The <STRONG>hline_set</STRONG>, <STRONG>mvhline_set</STRONG>, <STRONG>mvwhline_set</STRONG>, and <STRONG>whline_set</STRONG> functions draw
+       a line proceeding toward the last column of the same line.
 
-       The  <STRONG>vline_set</STRONG>,  <STRONG>mvvline_set</STRONG>, <STRONG>mvwvline_set</STRONG>, and <STRONG>wvline_set</STRONG>
-       functions draw a line proceeding toward the last  line  of
-       the window.
+       The <STRONG>vline_set</STRONG>, <STRONG>mvvline_set</STRONG>, <STRONG>mvwvline_set</STRONG>, and <STRONG>wvline_set</STRONG> functions draw
+       a line proceeding toward the last line of the window.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       Note that <STRONG>border_set</STRONG>, <STRONG>hline_set</STRONG>, <STRONG>mvhline_set</STRONG>, <STRONG>mvvline_set</STRONG>,
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       Upon successful completion, these functions return <STRONG>OK</STRONG>.  Otherwise, they
+       return <STRONG>ERR</STRONG>.
+
+       Functions using a window parameter return an error if it is null.
+
+       Functions  prefixed with "mv" first perform cursor movement and fail if
+       the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       Note   that   <STRONG>border_set</STRONG>,    <STRONG>hline_set</STRONG>,    <STRONG>mvhline_set</STRONG>,    <STRONG>mvvline_set</STRONG>,
        <STRONG>mvwhline_set</STRONG>, <STRONG>mvwvline_set</STRONG>, and <STRONG>vline_set</STRONG> may be macros.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Upon successful completion,  these  functions  return  <STRONG>OK</STRONG>.
-       Otherwise, they return <STRONG>ERR</STRONG>.
-
-       Functions  using  a window parameter return an error if it
-       is null.
-
-       Functions with a "mv" prefix first perform a cursor  move-
-       ment  using  <STRONG>wmove</STRONG>, and return an error if the position is
-       outside the window, or if the window pointer is null.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These functions are described in X/Open Curses, Issue 4.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>,  <STRONG>curs_out-</STRONG>
-       <STRONG><A HREF="curs_outopts.3x.html">opts(3x)</A></STRONG>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
 
 
 
-                                                    <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20               <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
 <li><a href="#h2-NAME">NAME</a></li>
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
diff --git a/doc/html/man/curs_clear.3x.html b/doc/html/man/curs_clear.3x.html
index a805cfb..058689b 100644
--- a/doc/html/man/curs_clear.3x.html
+++ b/doc/html/man/curs_clear.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2010,2016 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,122 +27,131 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_clear.3x,v 1.14 2010/12/04 18:36:44 tom Exp @
+  * @Id: curs_clear.3x,v 1.48 2024/04/20 21:20:07 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_clear 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_clear 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_clear 3x</H1>
+<H1 class="no-header">curs_clear 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>                                           <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+<STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>                   Library calls                  <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>erase</STRONG>, <STRONG>werase</STRONG>, <STRONG>clear</STRONG>, <STRONG>wclear</STRONG>, <STRONG>clrtobot</STRONG>, <STRONG>wclrtobot</STRONG>,
-       <STRONG>clrtoeol</STRONG>, <STRONG>wclrtoeol</STRONG> - clear all or part of a <STRONG>curses</STRONG> window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>erase</STRONG>,  <STRONG>werase</STRONG>, <STRONG>clear</STRONG>, <STRONG>wclear</STRONG>, <STRONG>clrtobot</STRONG>, <STRONG>wclrtobot</STRONG>, <STRONG>clrtoeol</STRONG>, <STRONG>wclrtoeol</STRONG>
+       - clear all or part of a <EM>curses</EM> window
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
-       <STRONG>#</STRONG> <STRONG>include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+       <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
        <STRONG>int</STRONG> <STRONG>erase(void);</STRONG>
-       <STRONG>int</STRONG> <STRONG>werase(WINDOW</STRONG> <STRONG>*win);</STRONG>
+       <STRONG>int</STRONG> <STRONG>werase(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+
        <STRONG>int</STRONG> <STRONG>clear(void);</STRONG>
-       <STRONG>int</STRONG> <STRONG>wclear(WINDOW</STRONG> <STRONG>*win);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wclear(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+
        <STRONG>int</STRONG> <STRONG>clrtobot(void);</STRONG>
-       <STRONG>int</STRONG> <STRONG>wclrtobot(WINDOW</STRONG> <STRONG>*win);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wclrtobot(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+
        <STRONG>int</STRONG> <STRONG>clrtoeol(void);</STRONG>
-       <STRONG>int</STRONG> <STRONG>wclrtoeol(WINDOW</STRONG> <STRONG>*win);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wclrtoeol(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The <STRONG>erase</STRONG> and <STRONG>werase</STRONG> routines copy blanks to  every  posi-
-       tion in the window, clearing the screen.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
 
-       The  <STRONG>clear</STRONG>  and <STRONG>wclear</STRONG> routines are like <STRONG>erase</STRONG> and <STRONG>werase</STRONG>,
-       but they also call <STRONG>clearok</STRONG>, so that the screen is  cleared
-       completely  on  the  next call to <STRONG>wrefresh</STRONG> for that window
-       and repainted from scratch.
+</PRE><H3><a name="h3-erase_werase">erase, werase</a></H3><PRE>
+       The <STRONG>erase</STRONG> and <STRONG>werase</STRONG> routines copy blanks  to  every  position  in  the
+       window, clearing the screen.
 
-       The <STRONG>clrtobot</STRONG> and <STRONG>wclrtobot</STRONG> routines erase from the  cursor
-       to the end of screen.  That is, they erase all lines below
-       the cursor in the window.  Also, the current line  to  the
-       right of the cursor, inclusive, is erased.
-
-       The <STRONG>clrtoeol</STRONG> and <STRONG>wclrtoeol</STRONG> routines erase the current line
-       to the right of the cursor, inclusive, to the end  of  the
-       current line.
-
-       Blanks created by erasure have the current background ren-
-       dition (as set by <STRONG>wbkgdset</STRONG>) merged into them.
+       Blanks created by erasure have the current background rendition (as set
+       by <STRONG><A HREF="curs_bkgd.3x.html">wbkgdset(3x)</A></STRONG>) merged into them.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All routines return the integer <STRONG>OK</STRONG> on success and  <STRONG>ERR</STRONG>  on
-       failure.   The SVr4.0 manual says "or a non-negative inte-
-       ger if <STRONG>immedok</STRONG> is set", but this appears to be an error.
-
-       X/Open defines no error conditions.  In  this  implementa-
-       tion, functions using a window pointer parameter return an
-       error if it is null.
+</PRE><H3><a name="h3-clear_wclear">clear, wclear</a></H3><PRE>
+       The <STRONG>clear</STRONG> and <STRONG>wclear</STRONG> routines are like <STRONG>erase</STRONG> and <STRONG>werase</STRONG>, but they  also
+       call  <STRONG><A HREF="curs_outopts.3x.html">clearok(3x)</A></STRONG>, so that the screen is cleared completely on the next
+       call to <STRONG>wrefresh</STRONG> for that window and repainted from scratch.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       Note that <STRONG>erase</STRONG>, <STRONG>werase</STRONG>, <STRONG>clear</STRONG>, <STRONG>wclear</STRONG>, <STRONG>clrtobot</STRONG>, and <STRONG>clr-</STRONG>
-       <STRONG>toeol</STRONG> may be macros.
+</PRE><H3><a name="h3-clrtobot_wclrtobot">clrtobot, wclrtobot</a></H3><PRE>
+       The <STRONG>clrtobot</STRONG> and <STRONG>wclrtobot</STRONG> routines erase from the cursor to the end of
+       screen.   That is, they erase all lines below the cursor in the window.
+       Also, the current line to  the  right  of  the  cursor,  inclusive,  is
+       erased.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  functions are described in the XSI Curses standard,
-       Issue 4.  The standard specifies that they return  <STRONG>ERR</STRONG>  on
-       failure, but specifies no error conditions.
-
-       Some  historic  curses  implementations had, as an undocu-
-       mented feature,  the  ability  to  do  the  equivalent  of
-       <STRONG>clearok(...,</STRONG>  <STRONG>1)</STRONG>  by saying <STRONG>touchwin(stdscr)</STRONG> or <STRONG>clear(std-</STRONG>
-       <STRONG>scr)</STRONG>.  This will not work under ncurses.
-
-       This implementation, and others such as Solaris, sets  the
-       current  position  to  0,0  after erasing via <STRONG>werase()</STRONG> and
-       <STRONG>wclear()</STRONG>.  That fact is not documented in other  implemen-
-       tations, and may not be true of implementations which were
-       not derived from SVr4 source.
-
-       Not obvious from  the  description,  most  implementations
-       clear  the screen after <STRONG>wclear</STRONG> even for a subwindow or de-
-       rived window.  If you do not want to clear the screen dur-
-       ing the next <STRONG>wrefresh</STRONG>, use <STRONG>werase</STRONG> instead.
+</PRE><H3><a name="h3-clrtoeol_wclrtoeol">clrtoeol, wclrtoeol</a></H3><PRE>
+       The <STRONG>clrtoeol</STRONG> and <STRONG>wclrtoeol</STRONG> routines erase the current line to the right
+       of the cursor, inclusive, to the end of the current line.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG>curs_vari-</STRONG>
-       <STRONG><A HREF="curs_variables.3x.html">ables(3x)</A></STRONG>
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       All routines return the integer <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure.
+
+       X/Open defines no error conditions.  In this implementation,
+
+       <STRONG>o</STRONG>   functions using a window pointer parameter return an error if it is
+           null
+
+       <STRONG>o</STRONG>   <STRONG>wclrtoeol</STRONG> returns an error if the cursor position is about to wrap.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       Note  that  <STRONG>erase</STRONG>, <STRONG>werase</STRONG>, <STRONG>clear</STRONG>, <STRONG>wclear</STRONG>, <STRONG>clrtobot</STRONG>, and <STRONG>clrtoeol</STRONG> may be
+       macros.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These functions are described in X/Open Curses, Issue 4.
+
+       The SVr4.0 manual says that these functions could  return  "or  a  non-
+       negative  integer  if <STRONG>immedok</STRONG> is set", referring to the return-value of
+       <STRONG>wrefresh</STRONG>.  In that implementation, <STRONG>wrefresh</STRONG> would return a count of the
+       number of characters written to the terminal.
+
+       Some  historic  curses implementations had, as an undocumented feature,
+       the  ability  to  do  the  equivalent  of  <STRONG>clearok(...,</STRONG>  <STRONG>1)</STRONG>  by  saying
+       <STRONG>touchwin(stdscr)</STRONG> or <STRONG>clear(stdscr)</STRONG>.  This will not work under <EM>ncurses</EM>.
+
+       This  implementation,  and  others  such  as  Solaris, sets the current
+       position to 0,0 after erasing via <STRONG>werase</STRONG> and <STRONG>wclear</STRONG>.  That fact is  not
+       documented   in   other   implementations,  and  may  not  be  true  of
+       implementations which were not derived from SVr4 source.
+
+       Not obvious from the description, most implementations clear the screen
+       after  <STRONG>wclear</STRONG>  even  for  a subwindow or derived window.  If you do not
+       want to clear the screen during the next <STRONG>wrefresh</STRONG>, use <STRONG>werase</STRONG> instead.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
 
 
 
-                                                         <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                    <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
 <li><a href="#h2-NAME">NAME</a></li>
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
-<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-erase_werase">erase, werase</a></li>
+<li><a href="#h3-clear_wclear">clear, wclear</a></li>
+<li><a href="#h3-clrtobot_wclrtobot">clrtobot, wclrtobot</a></li>
+<li><a href="#h3-clrtoeol_wclrtoeol">clrtoeol, wclrtoeol</a></li>
+</ul>
+</li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
 <li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
diff --git a/doc/html/man/curs_color.3x.html b/doc/html/man/curs_color.3x.html
index 8d0f00c..d84a573 100644
--- a/doc/html/man/curs_color.3x.html
+++ b/doc/html/man/curs_color.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2010,2015 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2016,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,260 +27,131 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_color.3x,v 1.39 2015/06/06 23:29:02 tom Exp @
+  * @Id: curs_color.3x,v 1.100 2024/04/20 21:24:19 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_color 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_color 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_color 3x</H1>
+<H1 class="no-header">curs_color 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>                                           <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+<STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>                   Library calls                  <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>start_color</STRONG>, <STRONG>init_pair</STRONG>, <STRONG>init_color</STRONG>, <STRONG>has_colors</STRONG>,
-       <STRONG>can_change_color</STRONG>, <STRONG>color_content</STRONG>, <STRONG>pair_content</STRONG>, <STRONG>COLOR_PAIR</STRONG>
-       - <STRONG>curses</STRONG> color manipulation routines
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>start_color</STRONG>,   <STRONG>has_colors</STRONG>,   <STRONG>can_change_color</STRONG>,  <STRONG>init_pair</STRONG>,  <STRONG>init_color</STRONG>,
+       <STRONG>init_extended_pair</STRONG>, <STRONG>init_extended_color</STRONG>,  <STRONG>color_content</STRONG>,  <STRONG>pair_content</STRONG>,
+       <STRONG>extended_color_content</STRONG>,    <STRONG>extended_pair_content</STRONG>,    <STRONG>reset_color_pairs</STRONG>,
+       <STRONG>COLOR_PAIR</STRONG>, <STRONG>PAIR_NUMBER</STRONG>, <STRONG>COLORS</STRONG>, <STRONG>COLOR_PAIRS</STRONG>,  <STRONG>COLOR_BLACK</STRONG>,  <STRONG>COLOR_RED</STRONG>,
+       <STRONG>COLOR_GREEN</STRONG>,   <STRONG>COLOR_YELLOW</STRONG>,   <STRONG>COLOR_BLUE</STRONG>,  <STRONG>COLOR_MAGENTA</STRONG>,  <STRONG>COLOR_CYAN</STRONG>,
+       <STRONG>COLOR_WHITE</STRONG> - manipulate terminal colors with <EM>curses</EM>
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
-       <STRONG>#</STRONG> <STRONG>include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+       <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+       <EM>/*</EM> <EM>variables</EM> <EM>*/</EM>
+       <STRONG>int</STRONG> <STRONG>COLOR_PAIRS;</STRONG>
+       <STRONG>int</STRONG> <STRONG>COLORS;</STRONG>
 
        <STRONG>int</STRONG> <STRONG>start_color(void);</STRONG>
-       <STRONG>int</STRONG> <STRONG>init_pair(short</STRONG> <STRONG>pair,</STRONG> <STRONG>short</STRONG> <STRONG>f,</STRONG> <STRONG>short</STRONG> <STRONG>b);</STRONG>
-       <STRONG>int</STRONG> <STRONG>init_color(short</STRONG> <STRONG>color,</STRONG> <STRONG>short</STRONG> <STRONG>r,</STRONG> <STRONG>short</STRONG> <STRONG>g,</STRONG> <STRONG>short</STRONG> <STRONG>b);</STRONG>
+
        <STRONG>bool</STRONG> <STRONG>has_colors(void);</STRONG>
        <STRONG>bool</STRONG> <STRONG>can_change_color(void);</STRONG>
-       <STRONG>int</STRONG>  <STRONG>color_content(short</STRONG>  <STRONG>color,</STRONG> <STRONG>short</STRONG> <STRONG>*r,</STRONG> <STRONG>short</STRONG> <STRONG>*g,</STRONG> <STRONG>short</STRONG>
-       <STRONG>*b);</STRONG>
-       <STRONG>int</STRONG> <STRONG>pair_content(short</STRONG> <STRONG>pair,</STRONG> <STRONG>short</STRONG> <STRONG>*f,</STRONG> <STRONG>short</STRONG> <STRONG>*b);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>init_pair(short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>f</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>b</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>init_color(short</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>r</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>g</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>b</EM><STRONG>);</STRONG>
+       <EM>/*</EM> <EM>extensions</EM> <EM>*/</EM>
+       <STRONG>int</STRONG> <STRONG>init_extended_pair(int</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>f</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>b</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>init_extended_color(int</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>r</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>g</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>b</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>color_content(short</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <STRONG>*</STRONG><EM>r</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <STRONG>*</STRONG><EM>g</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <STRONG>*</STRONG><EM>b</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>pair_content(short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <STRONG>*</STRONG><EM>f</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <STRONG>*</STRONG><EM>b</EM><STRONG>);</STRONG>
+       <EM>/*</EM> <EM>extensions</EM> <EM>*/</EM>
+       <STRONG>int</STRONG> <STRONG>extended_color_content(int</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>r</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>g</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>b</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>extended_pair_content(int</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>f</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>b</EM><STRONG>);</STRONG>
+
+       <EM>/*</EM> <EM>extension</EM> <EM>*/</EM>
+       <STRONG>void</STRONG> <STRONG>reset_color_pairs(void);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>COLOR_PAIR(int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>PAIR_NUMBER(int</STRONG> <EM>attr</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
 
-</PRE>
-<H3><a name="h3-Overview">Overview</a></H3><PRE>
-       <STRONG>curses</STRONG> supports color attributes on  terminals  with  that
-       capability.   To  use  these  routines <STRONG>start_color</STRONG> must be
-       called, usually right after <STRONG>initscr</STRONG>.   Colors  are  always
-       used  in pairs (referred to as color-pairs).  A color-pair
-       consists of a foreground  color  (for  characters)  and  a
-       background color (for the blank field on which the charac-
-       ters are displayed).  A programmer  initializes  a  color-
-       pair  with  the routine <STRONG>init_pair</STRONG>.  After it has been ini-
-       tialized, <STRONG>COLOR_PAIR</STRONG>(<EM>n</EM>), a macro  defined  in  <STRONG>&lt;curses.h&gt;</STRONG>,
-       can be used as a new video attribute.
+</PRE><H3><a name="h3-Overview">Overview</a></H3><PRE>
+       <EM>curses</EM> supports color attributes on  terminals  with  that  capability.
+       Call  <STRONG>start_color</STRONG>  (typically  right  after <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG>) to enable this
+       feature.  Colors are always used in pairs.   A  <EM>color</EM>  <EM>pair</EM>  couples  a
+       foreground  color  for characters with a background color for the blank
+       field on which characters are rendered.  <STRONG>init_pair</STRONG> initializes a  color
+       pair.   The  macro  <STRONG>COLOR_PAIR</STRONG>(<EM>n</EM>)  can then convert the pair to a video
+       attribute.
 
-       If  a  terminal  is capable of redefining colors, the pro-
-       grammer can use the routine <STRONG>init_color</STRONG> to change the defi-
-       nition   of   a   color.    The  routines  <STRONG>has_colors</STRONG>  and
-       <STRONG>can_change_color</STRONG>  return  <STRONG>TRUE</STRONG>  or  <STRONG>FALSE</STRONG>,  depending   on
-       whether  the  terminal  has color capabilities and whether
-       the programmer can change the colors.   The  routine  <STRONG>col-</STRONG>
-       <STRONG>or_content</STRONG>  allows  a programmer to extract the amounts of
-       red, green, and blue components in an  initialized  color.
-       The  routine  <STRONG>pair_content</STRONG> allows a programmer to find out
-       how a given color-pair is currently defined.
+       If  a  terminal  has  the  relevant  capability,   <STRONG>init_color</STRONG>   permits
+       (re)definition of a color.  <STRONG>has_colors</STRONG> and <STRONG>can_change_color</STRONG> return <STRONG>TRUE</STRONG>
+       or <STRONG>FALSE</STRONG>, depending on whether the terminal has  color  capability  and
+       whether  the  programmer  can change the colors.  <STRONG>color_content</STRONG> permits
+       extraction of the red, green, and blue  components  of  an  initialized
+       color.   <STRONG>pair_content</STRONG>  permits  discovery  of  a  color  pair's current
+       definition.
 
 
-</PRE>
-<H3><a name="h3-Color-Rendering">Color Rendering</a></H3><PRE>
-       The <STRONG>curses</STRONG> library combines these inputs  to  produce  the
-       actual  foreground  and  background  colors  shown  on the
-       screen:
+</PRE><H3><a name="h3-Rendering">Rendering</a></H3><PRE>
+       <EM>curses</EM> combines the following data to render a character cell.  Any  of
+       them can include color information.
 
-       <STRONG>o</STRONG>   per-character video attributes (e.g., via <STRONG>waddch</STRONG>),
+       <STRONG>o</STRONG>   <EM>curses</EM> character attributes, as from <STRONG><A HREF="curs_addch.3x.html">waddch(3x)</A></STRONG> or <STRONG><A HREF="curs_add_wch.3x.html">wadd_wch(3x)</A></STRONG>
 
-       <STRONG>o</STRONG>   the window attribute (e.g., by <STRONG>wattrset</STRONG>), and
+       <STRONG>o</STRONG>   window attributes, as from <STRONG><A HREF="curs_attr.3x.html">wattrset(3x)</A></STRONG> or <STRONG><A HREF="curs_attr.3x.html">wattr_set(3x)</A></STRONG>
 
-       <STRONG>o</STRONG>   the background character (e.g., <STRONG>wbkgdset</STRONG>).
+       <STRONG>o</STRONG>   window  background  character  attributes,  as from <STRONG><A HREF="curs_bkgd.3x.html">wbkgdset(3x)</A></STRONG> or
+           <STRONG><A HREF="curs_bkgrnd.3x.html">wbkgrndset(3x)</A></STRONG>
 
-       Per-character and window attributes are usually set  by  a
-       parameter  containing  video  attributes  including a <STRONG>COL-</STRONG>
-       <STRONG>OR_PAIR</STRONG> value.  Some functions such  as  <STRONG>wattr_set</STRONG>  use  a
-       separate parameter which is the color pair number.
+       Per-character and window attributes are usually set through a  function
+       parameter  containing  attributes  including  a color pair value.  Some
+       functions,  such  as  <STRONG>wattr_set</STRONG>,  use  a  separate  color  pair  number
+       parameter.
 
-       The  background character is a special case: it includes a
-       character value, just as if it were passed to <STRONG>waddch</STRONG>.
+       The  background  character  is  a special case: it includes a character
+       code, just as if it were passed to <STRONG>waddch</STRONG>.
 
-       The <STRONG>curses</STRONG> library does the actual work of combining these
-       color pairs in an internal function called from <STRONG>waddch</STRONG>:
+       The <EM>curses</EM> library does the actual work of combining these color  pairs
+       in an internal function called from <STRONG>waddch</STRONG>:
 
-       <STRONG>o</STRONG>   If the parameter passed to <STRONG>waddch</STRONG> is <EM>blank</EM>, and it us-
-           es the special color pair 0,
+       <STRONG>o</STRONG>   If the parameter passed to <STRONG>waddch</STRONG> is <EM>blank</EM>, and it uses the special
+           color pair 0,
 
-           <STRONG>o</STRONG>   <STRONG>curses</STRONG> next checks the window attribute.
+           <STRONG>o</STRONG>   <EM>curses</EM> next checks the window attribute.
 
-           <STRONG>o</STRONG>   If the window attribute does not use color pair 0,
-               <STRONG>curses</STRONG>  uses  the  color  pair from the window at-
-               tribute.
+           <STRONG>o</STRONG>   If the window attribute does not use color pair 0, <EM>curses</EM>  uses
+               the color pair from the window attribute.
 
-           <STRONG>o</STRONG>   Otherwise, <STRONG>curses</STRONG> uses the background character.
+           <STRONG>o</STRONG>   Otherwise, <EM>curses</EM> uses the background character.
 
-       <STRONG>o</STRONG>   If the parameter passed to <STRONG>waddch</STRONG> is <EM>not</EM> <EM>blank</EM>, or  it
-           does  not use the special color pair 0, <STRONG>curses</STRONG> prefers
-           the color pair from the parameter, if it  is  nonzero.
-           Otherwise, it tries the window attribute next, and fi-
-           nally the background character.
+       <STRONG>o</STRONG>   If  the parameter passed to <STRONG>waddch</STRONG> is <EM>not</EM> <EM>blank</EM>, or it does not use
+           the special color pair 0, <EM>curses</EM> prefers the color  pair  from  the
+           parameter,  if  it  is  nonzero.   Otherwise,  it  tries the window
+           attribute next, and finally the background character.
 
-       Some <STRONG>curses</STRONG> functions such as <STRONG>wprintw</STRONG> call <STRONG>waddch</STRONG>.   Those
-       do  not  combine  its parameter with a color pair.  Conse-
-       quently those calls use only the window attribute  or  the
-       background character.
+       Some <EM>curses</EM> functions such  as  <STRONG>wprintw</STRONG>  call  <STRONG>waddch</STRONG>.   Those  do  not
+       combine  its parameter with a color pair.  Consequently those calls use
+       only the window attribute or the background character.
 
 
-</PRE>
-<H3><a name="h3-Routine-Descriptions">Routine Descriptions</a></H3><PRE>
-       The <STRONG>start_color</STRONG> routine requires no arguments.  It must be
-       called if the programmer wants to use colors,  and  before
-       any  other  color  manipulation  routine is called.  It is
-       good practice to call this routine  right  after  <STRONG>initscr</STRONG>.
-       <STRONG>start_color</STRONG> does this:
-
-       <STRONG>o</STRONG>   It  initializes  two global variables, <STRONG>COLORS</STRONG> and <STRONG>COL-</STRONG>
-           <STRONG>OR_PAIRS</STRONG> (respectively defining the maximum number  of
-           colors and color-pairs the terminal can support).
-
-       <STRONG>o</STRONG>   It initializes the special color pair <STRONG>0</STRONG> to the default
-           foreground and  background  colors.   No  other  color
-           pairs are initialized.
-
-       <STRONG>o</STRONG>   It  restores  the colors on the terminal to the values
-           they had when the terminal was just turned on.
-
-       <STRONG>o</STRONG>   If the terminal supports the <STRONG>initc</STRONG>  (<STRONG>initialize_color</STRONG>)
-           capability, <STRONG>start_color</STRONG> initializes its internal table
-           representing the red, green and blue components of the
-           color palette.
-
-           The components depend on whether the terminal uses CGA
-           (aka "ANSI") or HLS (i.e., the <STRONG>hls</STRONG> (<STRONG>hue_lightness_sat-</STRONG>
-           <STRONG>uration</STRONG>) capability is set).  The table is initialized
-           first for eight basic colors (black, red, green,  yel-
-           low,  blue,  magenta, cyan, and white), and after that
-           (if the terminal supports more than eight colors)  the
-           components are initialized to <STRONG>1000</STRONG>.
-
-           <STRONG>start_color</STRONG>  does  not  attempt  to set the terminal's
-           color palette to match its built-in table.  An  appli-
-           cation  may use <STRONG>init_color</STRONG> to alter the internal table
-           along with the terminal's color.
-
-       These limits apply to color values and color pairs.   Val-
-       ues  outside these limits are not legal, and may result in
-       a runtime error:
-
-       <STRONG>o</STRONG>   <STRONG>COLORS</STRONG> corresponds to the terminal database's <STRONG>max_col-</STRONG>
-           <STRONG>ors</STRONG> capability, which is typically a signed 16-bit in-
-           teger (see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>).
-
-       <STRONG>o</STRONG>   color values are expected to be in the range <STRONG>0</STRONG> to <STRONG>COL-</STRONG>
-           <STRONG>ORS-1</STRONG>, inclusive (including <STRONG>0</STRONG> and <STRONG>COLORS-1</STRONG>).
-
-       <STRONG>o</STRONG>   a  special  color value <STRONG>-1</STRONG> is used in certain extended
-           functions to denote the  <EM>default</EM>  <EM>color</EM>  (see  <STRONG>use_de-</STRONG>
-           <STRONG>fault_colors</STRONG>).
-
-       <STRONG>o</STRONG>   <STRONG>COLOR_PAIRS</STRONG>  corresponds  to  the  terminal database's
-           <STRONG>max_pairs</STRONG> capability,  which  is  typically  a  signed
-           16-bit integer (see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>).
-
-       <STRONG>o</STRONG>   legal  color  pair  values  are in the range <STRONG>1</STRONG> to <STRONG>COL-</STRONG>
-           <STRONG>OR_PAIRS-1</STRONG>, inclusive.
-
-       <STRONG>o</STRONG>   color pair <STRONG>0</STRONG> is special; it denotes "no color".
-
-           Color pair <STRONG>0</STRONG> is assumed to be white on black,  but  is
-           actually whatever the terminal implements before color
-           is initialized.  It cannot be modified by the applica-
-           tion.
-
-       The  <STRONG>init_pair</STRONG>  routine changes the definition of a color-
-       pair.  It takes three arguments: the number of the  color-
-       pair  to  be changed, the foreground color number, and the
-       background color number.  For portable applications:
-
-       <STRONG>o</STRONG>   The first argument must be a legal color  pair  value.
-           If  default  colors  are used (see <STRONG>use_default_colors</STRONG>)
-           the upper limit is adjusted to allow for  extra  pairs
-           which  use  a default color in foreground and/or back-
-           ground.
-
-       <STRONG>o</STRONG>   The second and third arguments  must  be  legal  color
-           values.
-
-       If  the  color-pair was previously initialized, the screen
-       is refreshed and all occurrences of  that  color-pair  are
-       changed to the new definition.
-
-       As  an  extension,  ncurses allows you to set color pair <STRONG>0</STRONG>
-       via the <STRONG>assume_default_colors</STRONG> routine, or to  specify  the
-       use  of  default colors (color number <STRONG>-1</STRONG>) if you first in-
-       voke the <STRONG>use_default_colors</STRONG> routine.
-
-       The <STRONG>init_color</STRONG> routine changes the definition of a  color.
-       It  takes  four  arguments:  the number of the color to be
-       changed followed by three RGB values (for the  amounts  of
-       red, green, and blue components).  The first argument must
-       be a legal color value; default  colors  are  not  allowed
-       here.   (See  the section <STRONG>Colors</STRONG> for the default color in-
-       dex.)  Each of the last three arguments must be a value in
-       the  range  <STRONG>0</STRONG>  through <STRONG>1000</STRONG>.  When <STRONG>init_color</STRONG> is used, all
-       occurrences of that color on the screen immediately change
-       to the new definition.
-
-       The  <STRONG>has_colors</STRONG> routine requires no arguments.  It returns
-       <STRONG>TRUE</STRONG> if the terminal can manipulate colors; otherwise,  it
-       returns <STRONG>FALSE</STRONG>.  This routine facilitates writing terminal-
-       independent programs.  For example, a programmer  can  use
-       it  to decide whether to use color or some other video at-
-       tribute.
-
-       The <STRONG>can_change_color</STRONG> routine requires  no  arguments.   It
-       returns  <STRONG>TRUE</STRONG>  if  the  terminal  supports  colors and can
-       change their definitions; other, it returns  <STRONG>FALSE</STRONG>.   This
-       routine facilitates writing terminal-independent programs.
-
-       The  <STRONG>color_content</STRONG> routine gives programmers a way to find
-       the intensity of the red, green, and blue (RGB) components
-       in a color.  It requires four arguments: the color number,
-       and three addresses of <STRONG>short</STRONG>s for storing the  information
-       about  the  amounts  of red, green, and blue components in
-       the given color.  The first argument must be a legal color
-       value,  i.e.,  <STRONG>0</STRONG>  through <STRONG>COLORS-1</STRONG>, inclusive.  The values
-       that are stored at the addresses pointed to  by  the  last
-       three  arguments are in the range <STRONG>0</STRONG> (no component) through
-       <STRONG>1000</STRONG> (maximum amount of component), inclusive.
-
-       The <STRONG>pair_content</STRONG> routine allows programmers  to  find  out
-       what  colors  a given color-pair consists of.  It requires
-       three arguments: the color-pair number, and two  addresses
-       of  <STRONG>short</STRONG>s  for  storing the foreground and the background
-       color numbers.  The first argument must be a  legal  color
-       value,  i.e., in the range <STRONG>1</STRONG> through <STRONG>COLOR_PAIRS-1</STRONG>, inclu-
-       sive.  The values that are stored at the addresses pointed
-       to  by  the  second and third arguments are in the range <STRONG>0</STRONG>
-       through <STRONG>COLORS</STRONG>, inclusive.
-
-
-</PRE>
-<H3><a name="h3-Colors">Colors</a></H3><PRE>
-       In <STRONG>&lt;curses.h&gt;</STRONG> the following macros are defined.  These are
-       the  standard colors (ISO-6429).  <STRONG>curses</STRONG> also assumes that
-       <STRONG>COLOR_BLACK</STRONG> is the default background color for all termi-
-       nals.
+</PRE><H2><a name="h2-CONSTANTS">CONSTANTS</a></H2><PRE>
+       In <STRONG>&lt;curses.h&gt;</STRONG> the following macros are defined.  These are the standard
+       colors (ISO-6429).  <EM>curses</EM> also assumes that <STRONG>COLOR_BLACK</STRONG> is the default
+       background color for all terminals.
 
              <STRONG>COLOR_BLACK</STRONG>
              <STRONG>COLOR_RED</STRONG>
@@ -290,95 +162,384 @@
              <STRONG>COLOR_CYAN</STRONG>
              <STRONG>COLOR_WHITE</STRONG>
 
+       Some terminals support more than the eight (8)  "ANSI"  colors.   There
+       are no standard names for those additional colors.
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The  routines  <STRONG>can_change_color()</STRONG>  and <STRONG>has_colors()</STRONG> return
-       <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>.
 
-       All other routines return the integer <STRONG>ERR</STRONG> upon failure and
-       an  <STRONG>OK</STRONG>  (SVr4  specifies only "an integer value other than
-       <STRONG>ERR</STRONG>") upon successful completion.
+</PRE><H2><a name="h2-VARIABLES">VARIABLES</a></H2><PRE>
 
-       X/Open defines no error conditions.   This  implementation
-       will  return  <STRONG>ERR</STRONG>  on attempts to use color values outside
-       the range <STRONG>0</STRONG> to COLORS-1 (except for the default colors ex-
-       tension),  or  use color pairs outside the range <STRONG>0</STRONG> to <STRONG>COL-</STRONG>
-       <STRONG>OR_PAIRS-1</STRONG>.  Color values used in <STRONG>init_color</STRONG>  must  be  in
-       the  range <STRONG>0</STRONG> to <STRONG>1000</STRONG>.  An error is returned from all func-
-       tions if the terminal has not been initialized.  An  error
-       is  returned from secondary functions such as <STRONG>init_pair</STRONG> if
-       <STRONG>start_color</STRONG> was not called.
+</PRE><H3><a name="h3-COLORS">COLORS</a></H3><PRE>
+       is  initialized  by  <STRONG>start_color</STRONG>  to  the  maximum number of colors the
+       terminal can support.
+
+
+</PRE><H3><a name="h3-COLOR_PAIRS">COLOR_PAIRS</a></H3><PRE>
+       is initialized by <STRONG>start_color</STRONG> to the maximum number of color pairs  the
+       terminal can support.  Often, its value is the product <STRONG>COLORS</STRONG> x <STRONG>COLORS</STRONG>,
+       but this is not always true.
+
+       <STRONG>o</STRONG>   A few terminals use the HLS color space  (see  <STRONG>start_color</STRONG>  below),
+           ignoring this rule; and
+
+       <STRONG>o</STRONG>   terminals  supporting  a  large number of colors are limited to the
+           number of color pairs that a <EM>signed</EM> <EM>short</EM> value can represent.
+
+
+</PRE><H2><a name="h2-FUNCTIONS">FUNCTIONS</a></H2><PRE>
+
+</PRE><H3><a name="h3-start_color">start_color</a></H3><PRE>
+       The <STRONG>start_color</STRONG> routine requires no arguments.  It must  be  called  if
+       the  programmer  wants  to  use  colors,  and  before  any  other color
+       manipulation routine is called.  It  is  good  practice  to  call  this
+       routine right after <STRONG>initscr</STRONG>.  <STRONG>start_color</STRONG> does this:
+
+       <STRONG>o</STRONG>   It   initializes  two  global  variables,  <STRONG>COLORS</STRONG>  and  <STRONG>COLOR_PAIRS</STRONG>
+           (respectively defining the maximum number of colors and color pairs
+           the terminal can support).
+
+       <STRONG>o</STRONG>   It  initializes  the special color pair <STRONG>0</STRONG> to the default foreground
+           and background colors.  No other color pairs are initialized.
+
+       <STRONG>o</STRONG>   It restores the colors on the terminal to the values they had  when
+           the terminal was just turned on.
+
+       <STRONG>o</STRONG>   If  the  terminal supports the <STRONG>initc</STRONG> (<STRONG>initialize_color</STRONG>) capability,
+           <STRONG>start_color</STRONG> initializes its internal table  representing  the  red,
+           green, and blue components of the color palette.
+
+           The components depend on whether the terminal uses CGA (aka "ANSI")
+           or HLS (i.e.,  the  <STRONG>hls</STRONG>  (<STRONG>hue_lightness_saturation</STRONG>)  capability  is
+           set).   The  table  is  initialized  first  for  eight basic colors
+           (black, red, green, yellow, blue, magenta, cyan, and white),  using
+           weights that depend upon the CGA/HLS choice.  For "ANSI" colors the
+           weights are <STRONG>680</STRONG> or <STRONG>0</STRONG> depending on whether  the  corresponding  red,
+           green,  or  blue component is used or not.  That permits using <STRONG>1000</STRONG>
+           to represent bold/bright colors.  After the  initial  eight  colors
+           (if  the  terminal  supports more than eight colors) the components
+           are initialized using the same pattern, but with weights  of  <STRONG>1000</STRONG>.
+           SVr4 uses a similar scheme, but uses <STRONG>1000</STRONG> for the components of the
+           initial eight colors.
+
+           <STRONG>start_color</STRONG> does not attempt to set the terminal's color palette to
+           match  its  built-in  table.   An application may use <STRONG>init_color</STRONG> to
+           alter the internal table along with the terminal's color.
+
+       These limits apply to color values and  color  pairs.   Values  outside
+       these limits are not valid, and may result in a runtime error:
+
+       <STRONG>o</STRONG>   <STRONG>COLORS</STRONG>   corresponds   to   the   terminal   database's  <STRONG>max_colors</STRONG>
+           capability, (see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>).
+
+       <STRONG>o</STRONG>   color values are expected  to  be  in  the  range  <STRONG>0</STRONG>  to  <STRONG>COLORS-1</STRONG>,
+           inclusive (including <STRONG>0</STRONG> and <STRONG>COLORS-1</STRONG>).
+
+       <STRONG>o</STRONG>   a  special  color value <STRONG>-1</STRONG> is used in certain extended functions to
+           denote the <EM>default</EM> <EM>color</EM> (see <STRONG><A HREF="default_colors.3x.html">use_default_colors(3x)</A></STRONG>).
+
+       <STRONG>o</STRONG>   <STRONG>COLOR_PAIRS</STRONG>  corresponds  to  the  terminal  database's   <STRONG>max_pairs</STRONG>
+           capability, (see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>).
+
+       <STRONG>o</STRONG>   valid  color  pair  values  are  in  the  range <STRONG>1</STRONG> to <STRONG>COLOR_PAIRS-1</STRONG>,
+           inclusive.
+
+       <STRONG>o</STRONG>   color pair <STRONG>0</STRONG> is special; it denotes "no color".
+
+           Color pair <STRONG>0</STRONG> is assumed to be  white  on  black,  but  is  actually
+           whatever  the  terminal implements before color is initialized.  It
+           cannot be modified by the application.
+
+
+</PRE><H3><a name="h3-has_colors">has_colors</a></H3><PRE>
+       The <STRONG>has_colors</STRONG> routine requires no arguments.  It returns <STRONG>TRUE</STRONG>  if  the
+       terminal  can  manipulate  colors;  otherwise,  it returns <STRONG>FALSE</STRONG>.  This
+       routine  facilitates  writing   terminal-independent   programs.    For
+       example, a programmer can use it to decide whether to use color or some
+       other video attribute.
+
+
+</PRE><H3><a name="h3-can_change_color">can_change_color</a></H3><PRE>
+       The <STRONG>can_change_color</STRONG> routine requires no arguments.  It returns <STRONG>TRUE</STRONG> if
+       the  terminal  supports colors and can change their definitions; other,
+       it  returns  <STRONG>FALSE</STRONG>.   This  routine   facilitates   writing   terminal-
+       independent programs.
+
+
+</PRE><H3><a name="h3-init_pair">init_pair</a></H3><PRE>
+       The <STRONG>init_pair</STRONG> routine changes the definition of a color pair.  It takes
+       three arguments: the number of  the  color  pair  to  be  changed,  the
+       foreground color number, and the background color number.  For portable
+       applications:
+
+       <STRONG>o</STRONG>   The first argument must be a valid color pair  value.   If  default
+           colors  are  used  (see  <STRONG><A HREF="default_colors.3x.html">use_default_colors(3x)</A></STRONG>) the upper limit is
+           adjusted to allow for extra pairs which  use  a  default  color  in
+           foreground and/or background.
+
+       <STRONG>o</STRONG>   The second and third arguments must be valid color values.
+
+       If  the  color pair was previously initialized, the screen is refreshed
+       and all  occurrences  of  that  color  pair  are  changed  to  the  new
+       definition.
+
+       As  an  extension,  <EM>ncurses</EM>  allows  you  to  set  color pair <STRONG>0</STRONG> via the
+       <STRONG><A HREF="default_colors.3x.html">assume_default_colors(3x)</A></STRONG> routine, or to specify  the  use  of  default
+       colors (color number <STRONG>-1</STRONG>) if you first invoke the <STRONG><A HREF="default_colors.3x.html">use_default_colors(3x)</A></STRONG>
+       routine.
+
+
+</PRE><H3><a name="h3-init_extended_pair">init_extended_pair</a></H3><PRE>
+       Because <STRONG>init_pair</STRONG> uses signed <STRONG>short</STRONG>s for its  parameters,  that  limits
+       color  pairs  and  color-values  to  32767  on  modern  hardware.   The
+       extension <STRONG>init_extended_pair</STRONG> uses <STRONG>int</STRONG>s for the color  pair  and  color-
+       value, allowing a larger number of colors to be supported.
+
+
+</PRE><H3><a name="h3-init_color">init_color</a></H3><PRE>
+       The  <STRONG>init_color</STRONG>  routine  changes  the definition of a color.  It takes
+       four arguments: the number of the color to be changed followed by three
+       RGB values (for the amounts of red, green, and blue components).
+
+       <STRONG>o</STRONG>   The  first argument must be a valid color value; default colors are
+           not allowed here.  (See the section <STRONG>Colors</STRONG> for  the  default  color
+           index.)
+
+       <STRONG>o</STRONG>   Each  of  the  last  three arguments must be a value in the range <STRONG>0</STRONG>
+           through <STRONG>1000</STRONG>.
+
+       When <STRONG>init_color</STRONG> is used, all occurrences of that color  on  the  screen
+       immediately change to the new definition.
+
+
+</PRE><H3><a name="h3-init_extended_color">init_extended_color</a></H3><PRE>
+       Because  <STRONG>init_color</STRONG>  uses signed <STRONG>short</STRONG>s for its parameters, that limits
+       color-values and their red, green, and  blue  components  to  32767  on
+       modern  hardware.   The extension <STRONG>init_extended_color</STRONG> uses <STRONG>int</STRONG>s for the
+       color value and for  setting  the  red,  green,  and  blue  components,
+       allowing a larger number of colors to be supported.
+
+
+</PRE><H3><a name="h3-color_content">color_content</a></H3><PRE>
+       The <STRONG>color_content</STRONG> routine gives programmers a way to find the intensity
+       of the red, green, and blue (RGB) components in a color.   It  requires
+       four  arguments:  the  color  number, and three addresses of <STRONG>short</STRONG>s for
+       storing the information about the  amounts  of  red,  green,  and  blue
+       components in the given color.
+
+       <STRONG>o</STRONG>   The  first  argument  must  be a valid color value, i.e., <STRONG>0</STRONG> through
+           <STRONG>COLORS-1</STRONG>, inclusive.
+
+       <STRONG>o</STRONG>   The values that are stored at the addresses pointed to by the  last
+           three  arguments  are  in  the  range <STRONG>0</STRONG> (no component) through <STRONG>1000</STRONG>
+           (maximum amount of component), inclusive.
+
+
+</PRE><H3><a name="h3-extended_color_content">extended_color_content</a></H3><PRE>
+       Because <STRONG>color_content</STRONG> uses  signed  <STRONG>short</STRONG>s  for  its  parameters,  that
+       limits  color-values and their red, green, and blue components to 32767
+       on modern hardware.  The extension <STRONG>extended_color_content</STRONG> uses <STRONG>int</STRONG>s for
+       the  color value and for returning the red, green, and blue components,
+       allowing a larger number of colors to be supported.
+
+
+</PRE><H3><a name="h3-pair_content">pair_content</a></H3><PRE>
+       The <STRONG>pair_content</STRONG> routine allows programmers to find out what  colors  a
+       given  color  pair consists of.  It requires three arguments: the color
+       pair number, and two addresses of <STRONG>short</STRONG>s for storing the foreground and
+       the background color numbers.
+
+       <STRONG>o</STRONG>   The  first argument must be a valid color value, i.e., in the range
+           <STRONG>1</STRONG> through <STRONG>COLOR_PAIRS-1</STRONG>, inclusive.
+
+       <STRONG>o</STRONG>   The values that are stored at  the  addresses  pointed  to  by  the
+           second  and  third  arguments  are  in  the range <STRONG>0</STRONG> through <STRONG>COLORS</STRONG>,
+           inclusive.
+
+
+</PRE><H3><a name="h3-extended_pair_content">extended_pair_content</a></H3><PRE>
+       Because <STRONG>pair_content</STRONG> uses signed <STRONG>short</STRONG>s for its parameters, that limits
+       color pair and color-values to 32767 on modern hardware.  The extension
+       <STRONG>extended_pair_content</STRONG> uses <STRONG>int</STRONG>s for the color pair  and  for  returning
+       the  foreground  and  background  colors,  allowing  a larger number of
+       colors to be supported.
+
+
+</PRE><H3><a name="h3-reset_color_pairs">reset_color_pairs</a></H3><PRE>
+       The extension <STRONG>reset_color_pairs</STRONG> tells <EM>ncurses</EM> to  discard  all  of  the
+       color  pair  information which was set with <STRONG>init_pair</STRONG>.  It also touches
+       the current- and standard-screens, allowing an  application  to  switch
+       color palettes rapidly.
+
+
+</PRE><H3><a name="h3-COLOR_PAIR">COLOR_PAIR</a></H3><PRE>
+       <STRONG>COLOR_PAIR(</STRONG><EM>n</EM><STRONG>)</STRONG> converts a color pair number to an attribute.  Attributes
+       can hold color pairs in the range 0 to 255.  If you need a  color  pair
+       larger  than  that, you must use functions such as <STRONG>attr_set</STRONG> (which pass
+       the color  pair  as  a  separate  parameter)  rather  than  the  legacy
+       functions such as <STRONG>attrset</STRONG>.
+
+
+</PRE><H3><a name="h3-PAIR_NUMBER">PAIR_NUMBER</a></H3><PRE>
+       <STRONG>PAIR_NUMBER(</STRONG><EM>attr</EM>)   extracts   the  color  information  from  its  <EM>attr</EM>
+       parameter and returns it as a color pair  number;  it  is  the  inverse
+       operation of <STRONG>COLOR_PAIR</STRONG>.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       The routines <STRONG>can_change_color</STRONG> and <STRONG>has_colors</STRONG> return <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>.
+
+       All  other routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG> (SVr4
+       specifies only "an integer  value  other  than  <STRONG>ERR</STRONG>")  upon  successful
+       completion.
+
+       X/Open  defines  no  error  conditions.   SVr4 does document some error
+       conditions which apply in general:
+
+       <STRONG>o</STRONG>   This implementation will return <STRONG>ERR</STRONG> on attempts to use color values
+           outside  the  range  <STRONG>0</STRONG>  to  <STRONG>COLORS</STRONG>-1 (except for the default colors
+           extension),  or  use  color  pairs   outside   the   range   <STRONG>0</STRONG>   to
+           <STRONG>COLOR_PAIRS-1</STRONG>.
+
+           Color values used in <STRONG>init_color</STRONG> must be in the range <STRONG>0</STRONG> to <STRONG>1000</STRONG>.
+
+           An  error  is  returned  from all functions if the terminal has not
+           been initialized.
+
+           An error is returned from secondary functions such as <STRONG>init_pair</STRONG>  if
+           <STRONG>start_color</STRONG> was not called.
+
+       <STRONG>o</STRONG>   SVr4   does  much  the  same,  except  that  it  returns  <STRONG>ERR</STRONG>  from
+           <STRONG>pair_content</STRONG> if the pair was not initialized using  <STRONG>init_pairs</STRONG>  and
+           it  returns <STRONG>ERR</STRONG> from <STRONG>color_content</STRONG> if the terminal does not support
+           changing colors.
+
+           This implementation does not return <STRONG>ERR</STRONG> for either case.
+
+       Specific functions make additional checks:
 
           <STRONG>init_color</STRONG>
-               returns an error if the terminal does not  support
-               this  feature, e.g., if the <EM>initialize</EM><STRONG>_</STRONG><EM>color</EM> capa-
-               bility is absent from the terminal description.
+               returns an error if the terminal does not support this feature,
+               e.g.,  if  the  <STRONG>initialize_color</STRONG>  capability is absent from the
+               terminal description.
 
           <STRONG>start_color</STRONG>
-               returns an error if the color table cannot be  al-
-               located.
+               returns an error if the color table cannot be allocated.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       In  the  <EM>ncurses</EM> implementation, there is a separate color
-       activation flag, color palette, color pairs table, and as-
-       sociated  COLORS  and  COLOR_PAIRS counts for each screen;
-       the <STRONG>start_color</STRONG> function only affects the current  screen.
-       The SVr4/XSI interface is not really designed with this in
-       mind, and historical  implementations  may  use  a  single
-       shared color palette.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       In the <EM>ncurses</EM> implementation, there is  a  separate  color  activation
+       flag,  color  palette,  color  pairs  table,  and associated <STRONG>COLORS</STRONG> and
+       <STRONG>COLOR_PAIRS</STRONG> counts for  each  screen;  the  <STRONG>start_color</STRONG>  function  only
+       affects  the  current  screen.   The  SVr4/XSI  interface is not really
+       designed with this in mind, and historical implementations  may  use  a
+       single shared color palette.
 
-       Note that setting an implicit background color via a color
-       pair affects only character cells that a  character  write
-       operation  explicitly  touches.   To change the background
-       color used when parts of a window are blanked  by  erasing
-       or scrolling operations, see <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>.
+       Setting  an  implicit  background  color  via a color pair affects only
+       character cells that a character write  operation  explicitly  touches.
+       To  change the background color used when parts of a window are blanked
+       by erasing or scrolling operations, see <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>.
 
-       Several  caveats  apply  on 386 and 486 machines with VGA-
-       compatible graphics:
+       Several caveats apply on older x86 machines  (e.g.,  i386,  i486)  with
+       VGA-compatible graphics:
 
-       <STRONG>o</STRONG>   COLOR_YELLOW is actually brown.  To  get  yellow,  use
-           COLOR_YELLOW combined with the <STRONG>A_BOLD</STRONG> attribute.
+       <STRONG>o</STRONG>   COLOR_YELLOW  is  actually  brown.  To get yellow, use COLOR_YELLOW
+           combined with the <STRONG>A_BOLD</STRONG> attribute.
 
-       <STRONG>o</STRONG>   The A_BLINK attribute should in theory cause the back-
-           ground to go bright.  This often fails  to  work,  and
-           even some cards for which it mostly works (such as the
-           Paradise and compatibles) do the wrong thing when  you
-           try  to  set  a  bright "yellow" background (you get a
+       <STRONG>o</STRONG>   The A_BLINK attribute should in theory cause the background  to  go
+           bright.  This often fails to work, and even some cards for which it
+           mostly works (such as the Paradise and compatibles)  do  the  wrong
+           thing  when  you try to set a bright "yellow" background (you get a
            blinking yellow foreground instead).
 
        <STRONG>o</STRONG>   Color RGB values are not settable.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       This implementation satisfies XSI Curses's  minimum  maxi-
-       mums for <STRONG>COLORS</STRONG> and <STRONG>COLOR_PAIRS</STRONG>.
-
-       The  <STRONG>init_pair</STRONG>  routine  accepts  negative values of fore-
-       ground  and  background  color  to  support  the   <STRONG>use_de-</STRONG>
-       <STRONG>fault_colors</STRONG>  extension, but only if that routine has been
-       first invoked.
-
-       The assumption that <STRONG>COLOR_BLACK</STRONG> is the default  background
-       color  for  all  terminals  can  be modified using the <STRONG>as-</STRONG>
-       <STRONG>sume_default_colors</STRONG> extension.
-
-       This implementation checks the  pointers,  e.g.,  for  the
-       values  returned  by  <STRONG>color_content</STRONG>  and <STRONG>pair_content</STRONG>, and
-       will treat those as optional parameters when null.
+</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+       The functions marked as extensions were designed for  <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>,  and
+       are  not  found  in  SVr4  <EM>curses</EM>, 4.4BSD <EM>curses</EM>, or any other previous
+       curses implementation.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,  <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>,  <STRONG>curs_vari-</STRONG>
-       <STRONG><A HREF="curs_variables.3x.html">ables(3x)</A></STRONG>, <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       Applications employing <EM>ncurses</EM> extensions should condition their use on
+       the visibility of the <STRONG>NCURSES_VERSION</STRONG> preprocessor macro.
+
+       This  implementation  satisfies  X/Open  Curses's  minimum maximums for
+       <STRONG>COLORS</STRONG> and <STRONG>COLOR_PAIRS</STRONG>.
+
+       The  <STRONG>init_pair</STRONG>  routine  accepts  negative  values  of  foreground  and
+       background  color  to support the <STRONG><A HREF="default_colors.3x.html">use_default_colors(3x)</A></STRONG> extension, but
+       only if that routine has been first invoked.
+
+       The assumption that <STRONG>COLOR_BLACK</STRONG> is the default background color for all
+       terminals   can   be   modified   using  the  <STRONG><A HREF="default_colors.3x.html">assume_default_colors(3x)</A></STRONG>
+       extension.
+
+       This implementation checks the pointers, e.g., for the values  returned
+       by  <STRONG>color_content</STRONG>  and  <STRONG>pair_content</STRONG>,  and will treat those as optional
+       parameters when null.
+
+       X/Open Curses does not specify a limit for the  number  of  colors  and
+       color pairs which a terminal can support.  However, in its use of <STRONG>short</STRONG>
+       for the parameters, it carries over SVr4's  implementation  detail  for
+       the compiled terminfo database, which uses signed 16-bit numbers.  This
+       implementation provides extended versions of those functions which  use
+       <STRONG>short</STRONG>  parameters, allowing applications to use larger color- and pair-
+       numbers.
+
+       The <STRONG>reset_color_pairs</STRONG> function is an extension of <EM>ncurses</EM>.
+
+
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+       SVr3.2 introduced color support to curses in 1987.
+
+       SVr4 made internal changes, e.g., moving  the  storage  for  the  color
+       state  from  <STRONG>SP</STRONG>  (the  <EM>SCREEN</EM>  structure)  to  <STRONG>cur_term</STRONG>  (the  <EM>TERMINAL</EM>
+       structure), but provided the same set of library functions.
+
+       SVr4 curses limits the number of color pairs  to  64,  reserving  color
+       pair  zero  (0)  as the terminal's initial uncolored state.  This limit
+       arises because the color pair information is a bitfield in  the  <STRONG>chtype</STRONG>
+       data type (denoted by <STRONG>A_COLOR</STRONG>).
+
+       Other implementations of curses had different limits:
+
+       <STRONG>o</STRONG>   PCCurses (1987-1990) provided for only eight (8) colors.
+
+       <STRONG>o</STRONG>   PDCurses  (1992-present)  inherited  the  8-color  limitation  from
+           PCCurses, but changed this to 256 in version 2.5 (2001), along with
+           changing <STRONG>chtype</STRONG> from 16-bits to 32-bits.
+
+       <STRONG>o</STRONG>   X/Open Curses (1992-present) added a new structure <STRONG>cchar_t</STRONG> to store
+           the character, attributes and color pair values, allowing increased
+           range  of  color  pairs.   Both color pairs and color-values used a
+           signed <STRONG>short</STRONG>, limiting values to 15 bits.
+
+       <STRONG>o</STRONG>   <EM>ncurses</EM> (1992-present)  uses  eight  bits  for  <STRONG>A_COLOR</STRONG>  in  <STRONG>chtype</STRONG>
+           values.
+
+           Version  5.3  provided  a wide-character interface (2002), but left
+           color pairs as part of the attributes-field.
+
+           Since version 6 (2015), ncurses uses a separate <STRONG>int</STRONG> for color pairs
+           in the <STRONG>cchar_t</STRONG> values.  When those color pair values fit in 8 bits,
+           ncurses allows color pairs to  be  manipulated  via  the  functions
+           using <STRONG>chtype</STRONG> values.
+
+       <STRONG>o</STRONG>   NetBSD  curses  used  6  bits  from  2000  (when  colors were first
+           supported) until 2004.  At that point, NetBSD  changed  to  use  10
+           bits.   As  of  2021,  that size is unchanged.  Like <EM>ncurses</EM> before
+           version 6, the NetBSD color  pair  information  is  stored  in  the
+           attributes  field of <STRONG>cchar_t</STRONG>, limiting the number of color pairs by
+           the size of the bitfield.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,   <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>,   <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,    <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,
+       <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>
 
 
 
-                                                         <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                    <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -387,14 +548,39 @@
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
 <ul>
 <li><a href="#h3-Overview">Overview</a></li>
-<li><a href="#h3-Color-Rendering">Color Rendering</a></li>
-<li><a href="#h3-Routine-Descriptions">Routine Descriptions</a></li>
-<li><a href="#h3-Colors">Colors</a></li>
+<li><a href="#h3-Rendering">Rendering</a></li>
+</ul>
+</li>
+<li><a href="#h2-CONSTANTS">CONSTANTS</a></li>
+<li><a href="#h2-VARIABLES">VARIABLES</a>
+<ul>
+<li><a href="#h3-COLORS">COLORS</a></li>
+<li><a href="#h3-COLOR_PAIRS">COLOR_PAIRS</a></li>
+</ul>
+</li>
+<li><a href="#h2-FUNCTIONS">FUNCTIONS</a>
+<ul>
+<li><a href="#h3-start_color">start_color</a></li>
+<li><a href="#h3-has_colors">has_colors</a></li>
+<li><a href="#h3-can_change_color">can_change_color</a></li>
+<li><a href="#h3-init_pair">init_pair</a></li>
+<li><a href="#h3-init_extended_pair">init_extended_pair</a></li>
+<li><a href="#h3-init_color">init_color</a></li>
+<li><a href="#h3-init_extended_color">init_extended_color</a></li>
+<li><a href="#h3-color_content">color_content</a></li>
+<li><a href="#h3-extended_color_content">extended_color_content</a></li>
+<li><a href="#h3-pair_content">pair_content</a></li>
+<li><a href="#h3-extended_pair_content">extended_pair_content</a></li>
+<li><a href="#h3-reset_color_pairs">reset_color_pairs</a></li>
+<li><a href="#h3-COLOR_PAIR">COLOR_PAIR</a></li>
+<li><a href="#h3-PAIR_NUMBER">PAIR_NUMBER</a></li>
 </ul>
 </li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
 <li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
diff --git a/doc/html/man/curs_delch.3x.html b/doc/html/man/curs_delch.3x.html
index b0eb0b8..ca638df 100644
--- a/doc/html/man/curs_delch.3x.html
+++ b/doc/html/man/curs_delch.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2006,2010 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,82 +27,79 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_delch.3x,v 1.11 2010/12/04 18:36:44 tom Exp @
+  * @Id: curs_delch.3x,v 1.34 2024/04/20 19:24:14 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_delch 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_delch 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_delch 3x</H1>
+<H1 class="no-header">curs_delch 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>                                           <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
+<STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>                   Library calls                  <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>delch</STRONG>,  <STRONG>wdelch</STRONG>, <STRONG>mvdelch</STRONG>, <STRONG>mvwdelch</STRONG> - delete character under
-       the cursor in a <STRONG>curses</STRONG> window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>delch</STRONG>,  <STRONG>wdelch</STRONG>,  <STRONG>mvdelch</STRONG>,  <STRONG>mvwdelch</STRONG>  - delete a character from a <EM>curses</EM>
+       window
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
        <STRONG>int</STRONG> <STRONG>delch(void);</STRONG>
-       <STRONG>int</STRONG> <STRONG>wdelch(WINDOW</STRONG> <STRONG>*win);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvdelch(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvwdelch(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wdelch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvdelch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvwdelch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These routines delete the character under the cursor;  all
-       characters to the right of the cursor on the same line are
-       moved to the left one position and the last  character  on
-       the line is filled with a blank.  The cursor position does
-       not change (after moving to <EM>y</EM>, <EM>x</EM>,  if  specified).   (This
-       does  not  imply use of the hardware delete character fea-
-       ture.)
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       <STRONG>wdelch</STRONG>  deletes  the  character  at  the  cursor   position   in   <EM>win</EM>.
+       <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> describes the variants of this function.
+
+       <STRONG>wdelch</STRONG> moves all characters to the right of the cursor on the same line
+       to the left one position and replaces the  contents  of  the  rightmost
+       position  on  the  line with the window's blank character; see <STRONG><A HREF="curs_bkgd.3x.html">bkgd(3x)</A></STRONG>
+       (wide-character API users may consult <STRONG><A HREF="curs_bkgrnd.3x.html">bkgrnd(3x)</A></STRONG> instead).  The  cursor
+       position does not change (after moving to (<EM>y</EM>, <EM>x</EM>), if specified).
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG>
-       (SVr4  specifies  only  "an integer value other than <STRONG>ERR</STRONG>")
-       upon successful completion.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       These functions return <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure.
 
-       Functions with a "mv" prefix first perform a cursor  move-
-       ment  using  <STRONG>wmove</STRONG>, and return an error if the position is
-       outside the window, or if the window pointer is null.
+       Functions taking a <EM>WINDOW</EM> pointer argument fail if the pointer is <STRONG>NULL</STRONG>.
+
+       Functions  prefixed with "mv" first perform cursor movement and fail if
+       the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       Note that <STRONG>delch</STRONG>, <STRONG>mvdelch</STRONG>, and <STRONG>mvwdelch</STRONG> may be macros.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       <STRONG>delch</STRONG>, <STRONG>mvdelch</STRONG>, and <STRONG>mvwdelch</STRONG> may be implemented as macros.
+
+       A terminal's <STRONG>delete_character</STRONG>  (<STRONG>dch1</STRONG>)  capability  is  not  necessarily
+       employed.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These functions are described in the XSI Curses  standard,
-       Issue  4.   The standard specifies that they return <STRONG>ERR</STRONG> on
-       failure, but specifies no error conditions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       X/Open Curses, Issue 4 describes these functions.
+
+       SVr4  <EM>curses</EM>  describes  a  successful return value only as "an integer
+       value other than <STRONG>ERR</STRONG>".
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
 
 
 
-                                                         <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                    <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
diff --git a/doc/html/man/curs_deleteln.3x.html b/doc/html/man/curs_deleteln.3x.html
index 567dfad..c9c5001 100644
--- a/doc/html/man/curs_deleteln.3x.html
+++ b/doc/html/man/curs_deleteln.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2007,2010 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,96 +27,89 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_deleteln.3x,v 1.13 2010/12/04 18:36:44 tom Exp @
+  * @Id: curs_deleteln.3x,v 1.38 2024/04/20 21:20:07 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_deleteln 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_deleteln 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_deleteln 3x</H1>
+<H1 class="no-header">curs_deleteln 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>                                     <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+<STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>                Library calls               <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>deleteln</STRONG>,  <STRONG>wdeleteln</STRONG>,  <STRONG>insdelln</STRONG>, <STRONG>winsdelln</STRONG>, <STRONG>insertln</STRONG>, <STRONG>win-</STRONG>
-       <STRONG>sertln</STRONG> - delete and insert lines in a <STRONG>curses</STRONG> window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>deleteln</STRONG>,  <STRONG>wdeleteln</STRONG>, <STRONG>insdelln</STRONG>, <STRONG>winsdelln</STRONG>, <STRONG>insertln</STRONG>, <STRONG>winsertln</STRONG> - delete
+       or insert lines in a <EM>curses</EM> window
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
        <STRONG>int</STRONG> <STRONG>deleteln(void);</STRONG>
-       <STRONG>int</STRONG> <STRONG>wdeleteln(WINDOW</STRONG> <STRONG>*win);</STRONG>
-       <STRONG>int</STRONG> <STRONG>insdelln(int</STRONG> <STRONG>n);</STRONG>
-       <STRONG>int</STRONG> <STRONG>winsdelln(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wdeleteln(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>insdelln(int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>winsdelln(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+
        <STRONG>int</STRONG> <STRONG>insertln(void);</STRONG>
-       <STRONG>int</STRONG> <STRONG>winsertln(WINDOW</STRONG> <STRONG>*win);</STRONG>
+       <STRONG>int</STRONG> <STRONG>winsertln(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The <STRONG>deleteln</STRONG> and <STRONG>wdeleteln</STRONG> routines delete the line  under
-       the cursor in the window; all lines below the current line
-       are moved up one line.  The bottom line of the  window  is
-       cleared.  The cursor position does not change.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The <STRONG>deleteln</STRONG> and <STRONG>wdeleteln</STRONG> routines delete the line under the cursor in
+       the  window;  all  lines  below the current line are moved up one line.
+       The bottom line of the window is cleared.  The cursor position does not
+       change.
 
-       The  <STRONG>insdelln</STRONG>  and  <STRONG>winsdelln</STRONG>  routines,  for  positive <EM>n</EM>,
-       insert <EM>n</EM> lines into the specified window above the current
-       line.   The  <EM>n</EM>  bottom  lines  are  lost.  For negative <EM>n</EM>,
-       delete <EM>n</EM> lines (starting with the one under  the  cursor),
-       and  move  the remaining lines up.  The bottom <EM>n</EM> lines are
+       The  <STRONG>insdelln</STRONG>  and  <STRONG>winsdelln</STRONG>  routines, for positive <EM>n</EM>, insert <EM>n</EM> lines
+       into the specified window above the current line.  The <EM>n</EM>  bottom  lines
+       are  lost.  For negative <EM>n</EM>, delete <EM>n</EM> lines (starting with the one under
+       the cursor), and move the remaining lines up.  The bottom <EM>n</EM>  lines  are
        cleared.  The current cursor position remains the same.
 
-       The <STRONG>insertln</STRONG> and <STRONG>winsertln</STRONG> routines insert  a  blank  line
-       above the current line and the bottom line is lost.
+       The  <STRONG>insertln</STRONG>  and  <STRONG>winsertln</STRONG>  routines  insert  a blank line above the
+       current line and the bottom line is lost.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG>
-       (SVr4 specifies only "an integer value  other  than  <STRONG>ERR</STRONG>")
-       upon successful completion.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       These routines return the integer <STRONG>ERR</STRONG> upon  failure  and  an  <STRONG>OK</STRONG>  (SVr4
+       specifies  only  "an  integer  value  other  than <STRONG>ERR</STRONG>") upon successful
+       completion.
 
-       X/Open  defines  no error conditions.  In this implementa-
-       tion, if  the  window  parameter  is  null,  an  error  is
-       returned.
+       X/Open defines no error conditions.  In  this  implementation,  if  the
+       window parameter is null, an error is returned.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  functions are described in the XSI Curses standard,
-       Issue 4.  The standard specifies that they return  <STRONG>ERR</STRONG>  on
-       failure, but specifies no error conditions.
-
-
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
        Note that all but <STRONG>winsdelln</STRONG> may be macros.
 
-       These  routines  do  not require a hardware line delete or
-       insert feature in the terminal.  In fact,  they  will  not
-       use  hardware  line  delete/insert unless <STRONG>idlok(...,</STRONG> <STRONG>TRUE)</STRONG>
-       has been set on the current window.
+       These  routines do not require a hardware line delete or insert feature
+       in  the  terminal.   In  fact,  they  will  not   use   hardware   line
+       delete/insert  unless  <STRONG>idlok(...,</STRONG>  <STRONG>TRUE)</STRONG>  has  been  set on the current
+       window.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These functions are described in X/Open Curses, Issue 4.  The  standard
+       specifies  that  they  return  <STRONG>ERR</STRONG>  on  failure, but specifies no error
+       conditions.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
 
 
 
-                                                      <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -123,8 +117,8 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
diff --git a/doc/html/man/curs_extend.3x.html b/doc/html/man/curs_extend.3x.html
index 26a0897..e8b3a46 100644
--- a/doc/html/man/curs_extend.3x.html
+++ b/doc/html/man/curs_extend.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1999-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1999-2010,2016 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,89 +28,104 @@
   * authorization.                                                           *
   ****************************************************************************
   * Author: Thomas E. Dickey 1999-on
-  * @Id: curs_extend.3x,v 1.19 2010/12/04 18:36:44 tom Exp @
+  * @Id: curs_extend.3x,v 1.46 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_extend 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_extend 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_extend 3x</H1>
+<H1 class="no-header">curs_extend 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>                                         <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>
+<STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>                  Library calls                 <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>curses_version</STRONG>,  <STRONG>use_extended_names</STRONG> - miscellaneous curses
-       extensions
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>curses_version</STRONG>, <STRONG>use_extended_names</STRONG> - miscellaneous <EM>curses</EM> extensions
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
        <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>curses_version(void);</STRONG>
-       <STRONG>int</STRONG> <STRONG>use_extended_names(bool</STRONG> <STRONG>enable);</STRONG>
+       <STRONG>int</STRONG> <STRONG>use_extended_names(bool</STRONG> <EM>enable</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These functions are extensions to the curses library which
-       do not fit easily into other categories.
-
-       Use  <EM>curses</EM><STRONG>_</STRONG><EM>version()</EM> to get the version number, including
-       patch level of the library, e.g., <STRONG>5.0.19991023</STRONG>
-
-       The <EM>use</EM><STRONG>_</STRONG><EM>extended</EM><STRONG>_</STRONG><EM>names()</EM>  function  controls  whether  the
-       calling  application  is  able to use user-defined or non-
-       standard names which may be  compiled  into  the  terminfo
-       description, i.e., via the terminfo or termcap interfaces.
-       Normally these names are  available  for  use,  since  the
-       essential  decision  is made by using the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG>
-       to compile extended terminal definitions.  However you can
-       disable  this  feature  to ensure compatibility with other
-       implementations of curses.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       These  functions  are extensions to the curses library which do not fit
+       easily into other categories.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines are specific to  ncurses.   They  were  not
-       supported  on  Version 7, BSD or System V implementations.
-       It is recommended that any code depending on them be  con-
-       ditioned using NCURSES_VERSION.
+</PRE><H3><a name="h3-curses_version">curses_version</a></H3><PRE>
+       Use <STRONG>curses_version</STRONG> to get the version number, including patch level  of
+       the library, prefixed by "ncurses", e.g.,
+
+              <STRONG>ncurses</STRONG> <STRONG>5.0.19991023</STRONG>
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>,       <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>,      <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>,
-       <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>,  <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>,  <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>,  <STRONG>key-</STRONG>
-       <STRONG><A HREF="keybound.3x.html">bound(3x)</A></STRONG>, <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>, <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>, <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>.
+</PRE><H3><a name="h3-use_extended_names">use_extended_names</a></H3><PRE>
+       The   <STRONG>use_extended_names</STRONG>   function   controls   whether   the  calling
+       application is able to use user-defined or nonstandard names which  may
+       be  compiled  into  the terminfo description, i.e., via the terminfo or
+       termcap interfaces.  Normally these names are available for use,  since
+       the essential decision is made by using the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG> to compile
+       extended terminal definitions.  However you can disable this feature to
+       ensure compatibility with other implementations of curses.
 
 
-</PRE>
-<H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       <STRONG>curses_version</STRONG>  returns a pointer to static memory; you should not free
+       this in your application.
+
+       <STRONG>use_extended_names</STRONG> returns the previous state,  allowing  you  to  save
+       this and restore it.
+
+
+</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+       These  functions  are <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> extensions, and are not found in SVr4
+       <EM>curses</EM>, 4.4BSD <EM>curses</EM>, or any other previous curses implementation.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       Applications employing <EM>ncurses</EM> extensions should condition their use on
+       the visibility of the <STRONG>NCURSES_VERSION</STRONG> preprocessor macro.
+
+
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
        Thomas Dickey.
 
 
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>,    <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>,    <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>,    <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>,
+       <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>,    <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>,     <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>,     <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>,
+       <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>, <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>
 
-                                                        <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>
+
+
+ncurses 6.5                       2024-03-16                   <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
 <li><a href="#h2-NAME">NAME</a></li>
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
-<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-curses_version">curses_version</a></li>
+<li><a href="#h3-use_extended_names">use_extended_names</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-AUTHOR">AUTHOR</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/curs_get_wch.3x.html b/doc/html/man/curs_get_wch.3x.html
index 50332c1..291ef67 100644
--- a/doc/html/man/curs_get_wch.3x.html
+++ b/doc/html/man/curs_get_wch.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 2002-2010,2012 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 2002-2016,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,133 +27,162 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_get_wch.3x,v 1.8 2012/11/03 23:03:59 tom Exp @
+  * @Id: curs_get_wch.3x,v 1.40 2024/04/20 19:23:03 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_get_wch 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_get_wch 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_get_wch 3x</H1>
+<H1 class="no-header">curs_get_wch 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>                                       <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+<STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>                 Library calls                <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>get_wch</STRONG>,  <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, <STRONG>mvwget_wch</STRONG>, <STRONG>unget_wch</STRONG> - get
-       (or push back) a wide character from curses terminal  key-
-       board
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>get_wch</STRONG>,  <STRONG>wget_wch</STRONG>,  <STRONG>mvget_wch</STRONG>,  <STRONG>mvwget_wch</STRONG>,  <STRONG>unget_wch</STRONG>  - get (or push
+       back) a wide character from <EM>curses</EM> terminal keyboard
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
        <STRONG>int</STRONG> <STRONG>get_wch(wint_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>wget_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>mvget_wch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>mvwget_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>unget_wch(const</STRONG> <STRONG>wchar_t</STRONG> <EM>wch</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>unget_wch(const</STRONG> <STRONG>wchar_t</STRONG> <EM>wc</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, and <STRONG>mvwget_wch</STRONG> functions
-       read a character from the  terminal  associated  with  the
-       current  or  specified  window.   In  no-delay mode, if no
-       input is waiting, the value <STRONG>ERR</STRONG>  is  returned.   In  delay
-       mode,  the  program  waits  until  the  system passes text
-       through to the  program.   Depending  on  the  setting  of
-       <STRONG>cbreak</STRONG>,  this  is  after  one  character (cbreak mode), or
-       after the first newline (nocbreak  mode).   In  half-delay
-       mode,  the  program waits until the user types a character
-       or the specified timeout interval has elapsed.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
 
-       Unless <STRONG>noecho</STRONG> has been set, these routines echo the  char-
-       acter into the designated window.
+</PRE><H3><a name="h3-Reading-Characters">Reading Characters</a></H3><PRE>
+       <STRONG>wget_wch</STRONG> gathers a key stroke <EM>wch</EM> from the terminal keyboard associated
+       with  a  <EM>curses</EM>  window  <EM>win</EM>, returning <STRONG>OK</STRONG> if a wide character is read,
+       <STRONG>KEY_CODE_YES</STRONG> if a function key is read, and <STRONG>ERR</STRONG>  if  no  key  event  is
+       available.  <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> describes the variants of this function.
 
-       If  the window is not a pad and has been moved or modified
-       since the last call to <STRONG>wrefresh</STRONG>, <STRONG>wrefresh</STRONG> will  be  called
-       before another character is read.
+       When  input  is pending, <STRONG>wget_wch</STRONG> stores an integer identifying the key
+       stroke in <EM>wch</EM>;  for  alphanumeric  and  punctuation  keys,  this  value
+       corresponds to the character encoding used by the terminal.  Use of the
+       control key as a modifier  often  results  in  a  distinct  code.   The
+       behavior  of  other  keys depends on whether <EM>win</EM> is in keypad mode; see
+       subsections "Keypad Mode" and "Predefined Key Codes" in <STRONG><A HREF="curs_getch.3x.html">getch(3x)</A></STRONG>.
 
-       If  <STRONG>keypad</STRONG>  is  enabled,  these  functions  respond to the
-       pressing of a function key by setting the  object  pointed
-       to  by  <EM>wch</EM>  to  the  corresponding  <STRONG>KEY_</STRONG> value defined in
-       <STRONG>&lt;curses.h&gt;</STRONG> and returning  <STRONG>KEY_CODE_YES</STRONG>.   If  a  character
-       (such as escape) that could be the beginning of a function
-       key is received, curses sets a timer.  If the remainder of
-       the  sequence  does  arrive  within  the  designated time,
-       curses passes through  the  character;  otherwise,  curses
-       returns  the  function  key  value.  For this reason, many
-       terminals experience a  delay  between  the  time  a  user
-       presses the escape key and the time the escape is returned
-       to the program.
+       If no input is pending, then if the no-delay flag is set in the  window
+       (see  <STRONG><A HREF="nodelay.3x.html">nodelay(3x)</A></STRONG>),  the  function returns <STRONG>ERR</STRONG>; otherwise, <EM>curses</EM> waits
+       until the terminal has input.  If  <STRONG><A HREF="curs_inopts.3x.html">cbreak(3x)</A></STRONG>  has  been  called,  this
+       happens  after one character is read.  If <STRONG><A HREF="curs_inopts.3x.html">nocbreak(3x)</A></STRONG> has been called,
+       it occurs when the next newline is read.   If  <STRONG><A HREF="curs_inopts.3x.html">halfdelay(3x)</A></STRONG>  has  been
+       called,  <EM>curses</EM> waits until a character is typed or the specified delay
+       elapses.
 
-       The <STRONG>unget_wch</STRONG> function pushes the wide character <EM>wch</EM>  back
-       onto the head of the input queue, so the wide character is
-       returned by the next call to <STRONG>get_wch</STRONG>.  The pushback of one
-       character  is  guaranteed.  If the program calls <STRONG>unget_wch</STRONG>
-       too many times without an intervening call to <STRONG>get_wch</STRONG>, the
-       operation may fail.
+       If <STRONG><A HREF="curs_inopts.3x.html">echo(3x)</A></STRONG> has been called, and the window is not a pad, <EM>curses</EM> writes
+       <EM>wch</EM> to the window (at the cursor position) per the following rules.
+
+       <STRONG>o</STRONG>   If  <EM>wch</EM>  matches  the  terminal's erase character, the cursor moves
+           leftward one  position  and  the  new  position  is  erased  as  if
+           <STRONG><A HREF="curs_move.3x.html">wmove(3x)</A></STRONG>  and  then  <STRONG><A HREF="curs_delch.3x.html">wdelch(3x)</A></STRONG>  were  called.   When the window's
+           keypad mode is enabled (see below), <STRONG>KEY_LEFT</STRONG> and <STRONG>KEY_BACKSPACE</STRONG>  are
+           handled the same way.
+
+       <STRONG>o</STRONG>   <EM>curses</EM> writes any other <EM>wch</EM> to the window, as with <STRONG><A HREF="curs_add_wch.3x.html">wecho_wchar(3x)</A></STRONG>.
+
+       <STRONG>o</STRONG>   If  the  window  has  been moved or modified since the last call to
+           <STRONG><A HREF="curs_refresh.3x.html">wrefresh(3x)</A></STRONG>, <EM>curses</EM> calls <STRONG>wrefresh</STRONG>.
+
+       If <EM>wch</EM> is a carriage return and <STRONG><A HREF="curs_inopts.3x.html">nl(3x)</A></STRONG> has been called,  <STRONG>wgetch</STRONG>  stores
+       the the character code for newline (line feed) in <EM>wch</EM> instead.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The  header  file  <STRONG>&lt;curses.h&gt;</STRONG>  automatically  includes the
-       header file <STRONG>&lt;stdio.h&gt;</STRONG>.
-
-       Applications should not define the escape key by itself as
-       a single-character function.
-
-       When  using  <STRONG>get_wch</STRONG>,  <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, or <STRONG>mvwget_wch</STRONG>,
-       applications should not use <STRONG>nocbreak</STRONG> mode and <STRONG>echo</STRONG> mode at
-       the  same  time.  Depending on the state of the tty driver
-       when each character is  typed,  the  program  may  produce
-       undesirable results.
-
-       All functions except <STRONG>wget_wch</STRONG> and <STRONG>unget_wch</STRONG> may be macros.
+</PRE><H3><a name="h3-Ungetting-Characters">Ungetting Characters</a></H3><PRE>
+       <STRONG>unget_wch</STRONG>  places  <EM>wch</EM>  into the input queue to be returned by the next
+       call to <STRONG>wget_wch</STRONG>.  A single input queue serves all windows.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       When  <STRONG>get_wch</STRONG>,  <STRONG>wget_wch</STRONG>,  <STRONG>mvget_wch</STRONG>, and <STRONG>mvwget_wch</STRONG> func-
-       tions successfully report the pressing of a function  key,
-       they return <STRONG>KEY_CODE_YES</STRONG>.  When they successfully report a
-       wide character, they return <STRONG>OK</STRONG>.   Otherwise,  they  return
-       <STRONG>ERR</STRONG>.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       <STRONG>wget_wch</STRONG> returns <STRONG>OK</STRONG> when it reads a  wide  character  and  <STRONG>KEY_CODE_YES</STRONG>
+       when it reads a function key code.  It returns <STRONG>ERR</STRONG> if
 
-       Upon  successful completion, <STRONG>unget_wch</STRONG> returns <STRONG>OK</STRONG>.  Other-
-       wise, the function returns <STRONG>ERR</STRONG>.
+       <STRONG>o</STRONG>   the <EM>WINDOW</EM> pointer is <STRONG>NULL</STRONG>, or
 
-       Functions with a "mv" prefix first perform a cursor  move-
-       ment  using  <STRONG>wmove</STRONG>, and return an error if the position is
-       outside the window, or if the window pointer is null.
+       <STRONG>o</STRONG>   its timeout expires without any data arriving, or
+
+       <STRONG>o</STRONG>   execution  was  interrupted by a signal, in which case <STRONG>errno</STRONG> is set
+           to <STRONG>EINTR</STRONG>.
+
+       Functions prefixed with "mv" first perform cursor movement and fail  if
+       the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
+
+       <STRONG>unget_wch</STRONG> returns <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> if there is no more room in the
+       input queue.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,       <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>,        <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>,
-       <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       See the "NOTES" section of <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>.
+
+       All of these functions except <STRONG>wget_wch</STRONG> and <STRONG>unget_wch</STRONG> may be implemented
+       as macros.
+
+       Unlike  <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>,  <STRONG>wget_wch</STRONG>  and  its variants store the value of the
+       input character in an additional <EM>wch</EM> parameter instead  of  the  return
+       value.
+
+       Unlike   <STRONG>ungetch</STRONG>,  <STRONG>unget_wch</STRONG>  cannot  distinguish  function  key  codes
+       <STRONG>wget_wch</STRONG>  from  conventional  character  codes.   An  application   can
+       overcome this limitation by pushing function key codes with <STRONG>ungetch</STRONG> and
+       subsequently checking the return value of <STRONG>wget_wch</STRONG>  for  a  match  with
+       <STRONG>KEY_CODE_YES</STRONG>.
+
+
+</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+       See the "EXTENSIONS" section of <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       Applications employing <EM>ncurses</EM> extensions should condition their use on
+       the visibility of the <STRONG>NCURSES_VERSION</STRONG> preprocessor macro.
+
+       X/Open Curses, Issue 4 describes  these  functions.   It  specifies  no
+       error conditions for them.
+
+       See  the  "PORTABILITY" section of <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> regarding the interaction
+       of <STRONG>wget_wch</STRONG> with signal handlers.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library in
+       its non-wide-character configuration.
+
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,     <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>,    <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>,    <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>,
+       <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
 
 
 
-                                                       <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                  <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
 <li><a href="#h2-NAME">NAME</a></li>
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
-<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-Reading-Characters">Reading Characters</a></li>
+<li><a href="#h3-Ungetting-Characters">Ungetting Characters</a></li>
+</ul>
+</li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
diff --git a/doc/html/man/curs_get_wstr.3x.html b/doc/html/man/curs_get_wstr.3x.html
index 4d628a8..9e18e64 100644
--- a/doc/html/man/curs_get_wstr.3x.html
+++ b/doc/html/man/curs_get_wstr.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 2002-2010,2012 Free Software Foundation, Inc.              *
+  * Copyright 2018-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  *
   * copy of this software and associated documentation files (the            *
@@ -26,144 +27,177 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_get_wstr.3x,v 1.9 2012/11/03 23:03:59 tom Exp @
+  * @Id: curs_get_wstr.3x,v 1.48 2024/04/20 19:18:18 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_get_wstr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_get_wstr 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_get_wstr 3x</H1>
+<H1 class="no-header">curs_get_wstr 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>                                     <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+<STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>                Library calls               <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>get_wstr</STRONG>, <STRONG>getn_wstr</STRONG>, <STRONG>wget_wstr</STRONG>, <STRONG>wgetn_wstr</STRONG>, <STRONG>mvget_wstr</STRONG>,
-       <STRONG>mvgetn_wstr</STRONG>, <STRONG>mvwget_wstr</STRONG>, <STRONG>mvwgetn_wstr</STRONG> - get an array of
-       wide characters from a curses terminal keyboard
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>get_wstr</STRONG>,  <STRONG>getn_wstr</STRONG>,  <STRONG>wget_wstr</STRONG>,  <STRONG>wgetn_wstr</STRONG>, <STRONG>mvget_wstr</STRONG>, <STRONG>mvgetn_wstr</STRONG>,
+       <STRONG>mvwget_wstr</STRONG>, <STRONG>mvwgetn_wstr</STRONG> - get a wide-character string from  a  <EM>curses</EM>
+       terminal keyboard
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
        <STRONG>int</STRONG> <STRONG>get_wstr(wint_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>getn_wstr(wint_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>wget_wstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>wgetn_wstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+
        <STRONG>int</STRONG> <STRONG>mvget_wstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>mvgetn_wstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>mvwget_wstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>mvwgetn_wstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  effect  of <STRONG>get_wstr</STRONG> is as though a series of calls to
-       <STRONG>get_wch</STRONG> were made, until a newline, other end-of-line,  or
-       end-of-file condition is processed.  An end-of-file condi-
-       tion is represented by <STRONG>WEOF</STRONG>, as defined in <STRONG>&lt;wchar.h&gt;</STRONG>.  The
-       newline  and end-of-line conditions are represented by the
-       <STRONG>\n</STRONG> <STRONG>wchar_t</STRONG> value.  In all instances, the end of the string
-       is  terminated  by a null <STRONG>wchar_t</STRONG>.  The routine places re-
-       sulting values in the area pointed to by <EM>wstr</EM>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The  function  <STRONG>wgetn_wstr</STRONG>  is  equivalent  to  a  series  of  calls  to
+       <STRONG><A HREF="curs_get_wch.3x.html">wget_wch(3x)</A></STRONG> until a newline or carriage return terminates the series:
 
-       The user's erase and kill characters are interpreted.   If
-       keypad   mode   is   on   for  the  window,  <STRONG>KEY_LEFT</STRONG>  and
-       <STRONG>KEY_BACKSPACE</STRONG> are both considered equivalent to the user's
-       kill character.
+       <STRONG>o</STRONG>   The terminating character is not included in the returned string.
 
-       Characters  input are echoed only if <STRONG>echo</STRONG> is currently on.
-       In that case, backspace is echoed as deletion of the  pre-
-       vious character (typically a left motion).
+       <STRONG>o</STRONG>   An end-of-file condition is represented  by  <STRONG>WEOF</STRONG>,  as  defined  in
+           <STRONG>&lt;wchar.h&gt;</STRONG>.
 
-       The  effect of <STRONG>wget_wstr</STRONG> is as though a series of calls to
-       <STRONG>wget_wch</STRONG> were made.
+       <STRONG>o</STRONG>   In  all  instances,  the  end of the string is terminated by a null
+           <STRONG>wchar_t</STRONG>.
 
-       The effect of <STRONG>mvget_wstr</STRONG> is as though a call to  <STRONG>move</STRONG>  and
-       then a series of calls to <STRONG>get_wch</STRONG> were made.
+       <STRONG>o</STRONG>   The function stores the result in the area pointed to by  the  <EM>wstr</EM>
+           parameter.
 
-       The effect of <STRONG>mvwget_wstr</STRONG> is as though a call to <STRONG>wmove</STRONG> and
-       then a series of calls to <STRONG>wget_wch</STRONG> were made.
+       <STRONG>o</STRONG>   The function reads at most <EM>n</EM> characters, thus preventing a possible
+           overflow of the input buffer.
 
-       The <STRONG>getn_wstr</STRONG>, <STRONG>mvgetn_wstr</STRONG>, <STRONG>mvwgetn_wstr</STRONG>,  and  <STRONG>wgetn_wstr</STRONG>
-       functions  are  identical  to  the  <STRONG>get_wstr</STRONG>,  <STRONG>mvget_wstr</STRONG>,
-       <STRONG>mvwget_wstr</STRONG>, and <STRONG>wget_wstr</STRONG> functions, respectively, except
-       that  the <STRONG>*n_*</STRONG> versions read at most <EM>n</EM> characters, letting
-       the application prevent overflow of the input buffer.
+           Any attempt to enter more characters (other  than  the  terminating
+           newline or carriage return) causes a beep.
+
+           Function keys also cause a beep and are ignored.
+
+       The user's <EM>erase</EM> and <EM>kill</EM> characters are interpreted:
+
+       <STRONG>o</STRONG>   The  <EM>erase</EM>  character (e.g., <STRONG>^H</STRONG>) erases the character at the end of
+           the buffer, moving the cursor to the left.
+
+           If <EM>keypad</EM> mode is on for the window, <STRONG>KEY_LEFT</STRONG> and <STRONG>KEY_BACKSPACE</STRONG> are
+           both considered equivalent to the user's <EM>erase</EM> character.
+
+       <STRONG>o</STRONG>   The <EM>kill</EM> character (e.g., <STRONG>^U</STRONG>) erases the entire buffer, leaving the
+           cursor at the beginning of the buffer.
+
+       Characters input are echoed only if <STRONG>echo</STRONG>  is  currently  on.   In  that
+       case,  backspace  is  echoed  as  deletion  of  the  previous character
+       (typically a left motion).
+
+       The <STRONG>getn_wstr</STRONG>, <STRONG>mvgetn_wstr</STRONG>, <STRONG>mvwgetn_wstr</STRONG>, and <STRONG>wgetn_wstr</STRONG> functions  are
+       identical  to  the  <STRONG>get_wstr</STRONG>,  <STRONG>mvget_wstr</STRONG>,  <STRONG>mvwget_wstr</STRONG>,  and <STRONG>wget_wstr</STRONG>
+       functions, respectively, except that the <STRONG>*n_*</STRONG> versions read at  most  <EM>n</EM>
+       characters,  letting  the  application  prevent  overflow  of the input
+       buffer.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       Using <STRONG>get_wstr</STRONG>, <STRONG>mvget_wstr</STRONG>, <STRONG>mvwget_wstr</STRONG>, or  <STRONG>wget_wstr</STRONG>  to
-       read  a  line  that overflows the array pointed to by <STRONG>wstr</STRONG>
-       causes  undefined  results.    The   use   of   <STRONG>getn_wstr</STRONG>,
-       <STRONG>mvgetn_wstr</STRONG>, <STRONG>mvwgetn_wstr</STRONG>, or <STRONG>wgetn_wstr</STRONG>, respectively, is
-       recommended.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       All  of  these  functions  return  the  integer  <STRONG>OK</STRONG>   upon   successful
+       completion.  If unsuccessful, they return <STRONG>ERR</STRONG>.
 
-       These functions cannot return <STRONG>KEY_</STRONG> values because there is
-       no  way  to  distinguish a <STRONG>KEY_</STRONG> value from a valid <STRONG>wchar_t</STRONG>
-       value.
+       X/Open defines no error conditions.
 
-       All of these routines except <STRONG>wgetn_wstr</STRONG> may be macros.
+       In this implementation, these functions return an error
+
+       <STRONG>o</STRONG>   if the window pointer is null,
+
+       <STRONG>o</STRONG>   if its timeout expires without having any data, or
+
+       <STRONG>o</STRONG>   if the associated call to <STRONG>wget_wch</STRONG> failed.
+
+       Functions  prefixed with "mv" first perform cursor movement and fail if
+       the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All of these functions return <STRONG>OK</STRONG> upon  successful  comple-
-       tion.  Otherwise, they return <STRONG>ERR</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       Any of these functions other than <STRONG>wgetn_wstr</STRONG> may be macros.
 
-       Functions  using  a window parameter return an error if it
-       is null.
+       Using <STRONG>get_wstr</STRONG>, <STRONG>mvget_wstr</STRONG>, <STRONG>mvwget_wstr</STRONG>, or <STRONG>wget_wstr</STRONG> to  read  a  line
+       that  overflows  the array pointed to by <STRONG>wstr</STRONG> causes undefined results.
+       The  use  of  <STRONG>getn_wstr</STRONG>,  <STRONG>mvgetn_wstr</STRONG>,  <STRONG>mvwgetn_wstr</STRONG>,  or   <STRONG>wgetn_wstr</STRONG>,
+       respectively, is recommended.
 
-              <STRONG>wgetn_wstr</STRONG>
-                   returns an error if  the  associated  call  to
-                   <STRONG>wget_wch</STRONG> failed.
-
-       Functions  with a "mv" prefix first perform a cursor move-
-       ment using <STRONG>wmove</STRONG>, and return an error if the  position  is
-       outside the window, or if the window pointer is null.
+       These  functions  cannot  return <STRONG>KEY_</STRONG> values because there is no way to
+       distinguish a <STRONG>KEY_</STRONG> value from a valid <STRONG>wchar_t</STRONG> value.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  functions are described in The Single Unix Specifi-
-       cation, Version 2.  No error conditions are defined.  This
-       implementation  returns ERR if the window pointer is null,
-       or if the lower-level <STRONG>wget_wch</STRONG> call returns  an  ERR.   In
-       the  latter  case,  an  ERR  return  without other data is
-       treated as an end-of-file condition, and the returned  ar-
-       ray contains a <STRONG>WEOF</STRONG> followed by a null <STRONG>wchar_t</STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These functions are described in The Single Unix Specification, Version
+       2.  No error conditions are defined.
 
-       X/Open  curses  documents these functions to pass an array
-       of <STRONG>wchar_t</STRONG>, but all of the vendors  implement  this  using
-       <STRONG>wint_t</STRONG>.
+       This  implementation  returns  <STRONG>ERR</STRONG> if the window pointer is null, or if
+       the lower-level <STRONG>wget_wch</STRONG> call returns an <STRONG>ERR</STRONG>.  In the latter  case,  an
+       <STRONG>ERR</STRONG>  return  without other data is treated as an end-of-file condition,
+       and the returned array contains a <STRONG>WEOF</STRONG> followed by a null <STRONG>wchar_t</STRONG>.
+
+       X/Open curses documented these functions to pass an array of <STRONG>wchar_t</STRONG> in
+       1997, but that was an error because of this part of the description:
+
+              The effect of <STRONG>get_wstr</STRONG> is as though a series of calls to <STRONG>get_wch</STRONG>
+              were made, until a newline character, end-of-line character,  or
+              end-of-file character is processed.
+
+       The  latter function <EM>get</EM><STRONG>_</STRONG><EM>wch</EM> can return a negative value, while <STRONG>wchar_t</STRONG>
+       is a unsigned type.  All of the vendors implement  this  using  <STRONG>wint_t</STRONG>,
+       following the standard.
+
+       X/Open  Curses,  Issue  7  (2009)  is  unclear  regarding  whether  the
+       terminating <EM>null</EM> <STRONG>wchar_t</STRONG> value is counted in the  length  parameter  <EM>n</EM>.
+       X/Open  Curses,  Issue  7  revised  the  corresponding  description  of
+       <STRONG>wgetnstr</STRONG>  to  address  this  issue.   The  unrevised   description   of
+       <STRONG>wget_nwstr</STRONG>  can  be interpreted either way.  This implementation counts
+       the terminator in the length.
+
+       X/Open Curses does  not  specify  what  happens  if  the  length  <EM>n</EM>  is
+       negative.
+
+       <STRONG>o</STRONG>   For  analogy  with  <STRONG>wgetnstr</STRONG>,  <EM>ncurses</EM>  6.2  uses a limit (based on
+           <STRONG>LINE_MAX</STRONG>).
+
+       <STRONG>o</STRONG>   Some other implementations (such as Solaris xcurses) do  the  same,
+           while others (PDCurses) do not allow this.
+
+       <STRONG>o</STRONG>   NetBSD  7 curses imitates <EM>ncurses</EM> 6.1 in this regard, treating a <STRONG>-1</STRONG>
+           as an indefinite number of characters.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       Functions: <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> describes comparable functions of the  <EM>ncurses</EM>  library
+       in its non-wide-character configuration.
+
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
 
 
 
-                                                      <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                 <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
 <li><a href="#h2-NAME">NAME</a></li>
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
diff --git a/doc/html/man/curs_getcchar.3x.html b/doc/html/man/curs_getcchar.3x.html
index 967c347..c1edf28 100644
--- a/doc/html/man/curs_getcchar.3x.html
+++ b/doc/html/man/curs_getcchar.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 2001-2012,2015 Free Software Foundation, Inc.              *
+  * Copyright 2019-2023,2024 Thomas E. Dickey                                *
+  * Copyright 2001-2015,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,134 +27,176 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_getcchar.3x,v 1.17 2015/07/21 09:30:38 tom Exp @
+  * @Id: curs_getcchar.3x,v 1.49 2024/04/20 18:55:09 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_getcchar 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_getcchar 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_getcchar 3x</H1>
+<H1 class="no-header">curs_getcchar 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>                                     <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
+<STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>                Library calls               <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>getcchar</STRONG>,  <STRONG>setcchar</STRONG> - Get a wide character string and ren-
-       dition from a <STRONG>cchar_t</STRONG> or set a <STRONG>cchar_t</STRONG> from a wide-charac-
-       ter string
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>getcchar</STRONG>,  <STRONG>setcchar</STRONG>  -  convert  between  a wide-character string and a
+       <EM>curses</EM> complex character
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
        <STRONG>int</STRONG> <STRONG>getcchar(</STRONG>
-               <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wcval</EM><STRONG>,</STRONG>
-               <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>,</STRONG>
+               <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>,</STRONG>
+               <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wc</EM><STRONG>,</STRONG>
                <STRONG>attr_t</STRONG> <STRONG>*</STRONG><EM>attrs</EM><STRONG>,</STRONG>
                <STRONG>short</STRONG> <STRONG>*</STRONG><EM>color</EM><STRONG>_</STRONG><EM>pair</EM><STRONG>,</STRONG>
                <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM> <STRONG>);</STRONG>
 
        <STRONG>int</STRONG> <STRONG>setcchar(</STRONG>
-               <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wcval</EM><STRONG>,</STRONG>
-               <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>,</STRONG>
+               <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>,</STRONG>
+               <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wc</EM><STRONG>,</STRONG>
                <STRONG>const</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG>
                <STRONG>short</STRONG> <EM>color</EM><STRONG>_</STRONG><EM>pair</EM><STRONG>,</STRONG>
-               <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM> <STRONG>);</STRONG>
+               <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM> <STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
 
-</PRE>
-<H3><a name="h3-getcchar">getcchar</a></H3><PRE>
-       The  <STRONG>getcchar</STRONG>  function  gets  a wide-character string and
-       rendition from a <STRONG>cchar_t</STRONG> argument.  When <EM>wch</EM> is not a null
-       pointer, the <STRONG>getcchar</STRONG> function does the following:
+</PRE><H3><a name="h3-getcchar">getcchar</a></H3><PRE>
+       The <STRONG>getcchar</STRONG> function gets a wide-character string and rendition from a
+       <STRONG>cchar_t</STRONG> argument.  When <EM>wc</EM> is not a null pointer, the <STRONG>getcchar</STRONG> function
+       does the following:
 
-       <STRONG>o</STRONG>   Extracts information from a <STRONG>cchar_t</STRONG> value <EM>wcval</EM>
+       <STRONG>o</STRONG>   Extracts information from a <STRONG>cchar_t</STRONG> value <EM>wch</EM>
 
-       <STRONG>o</STRONG>   Stores   the  character  attributes  in  the  location
-           pointed to by <EM>attrs</EM>
+       <STRONG>o</STRONG>   Stores the character attributes in the location pointed to by <EM>attrs</EM>
 
-       <STRONG>o</STRONG>   Stores the color-pair in the location  pointed  to  by
-           <EM>color</EM><STRONG>_</STRONG><EM>pair</EM>
+       <STRONG>o</STRONG>   Stores the color pair in the location pointed to by <EM>color</EM><STRONG>_</STRONG><EM>pair</EM>
 
-       <STRONG>o</STRONG>   Stores  the  wide-character  string, characters refer-
-           enced by <EM>wcval</EM>, into the array pointed to by <EM>wch</EM>.
+       <STRONG>o</STRONG>   Stores the wide-character string,  characters  referenced  by  <EM>wch</EM>,
+           into the array pointed to by <EM>wc</EM>.
 
-       When <EM>wch</EM> is a null pointer, the <STRONG>getcchar</STRONG> function does the
-       following:
+       When <EM>wc</EM> is a null pointer, the <STRONG>getcchar</STRONG> function does the following:
 
-       <STRONG>o</STRONG>   Obtains  the  number  of wide characters pointed to by
-           <EM>wcval</EM>
+       <STRONG>o</STRONG>   Obtains the number of wide characters pointed to by <EM>wch</EM>
 
-       <STRONG>o</STRONG>   Does not  change  the  data  referenced  by  <EM>attrs</EM>  or
-           <EM>color</EM><STRONG>_</STRONG><EM>pair</EM>
+       <STRONG>o</STRONG>   Does not change the data referenced by <EM>attrs</EM> or <EM>color</EM><STRONG>_</STRONG><EM>pair</EM>
 
 
-</PRE>
-<H3><a name="h3-setcchar">setcchar</a></H3><PRE>
-       The  <STRONG>setcchar</STRONG> function initializes the location pointed to
-       by <EM>wcval</EM> by using:
+</PRE><H3><a name="h3-setcchar">setcchar</a></H3><PRE>
+       The  <STRONG>setcchar</STRONG>  function  initializes  the location pointed to by <EM>wch</EM> by
+       using:
 
        <STRONG>o</STRONG>   The character attributes in <EM>attrs</EM>
 
        <STRONG>o</STRONG>   The color pair in <EM>color</EM><STRONG>_</STRONG><EM>pair</EM>
 
-       <STRONG>o</STRONG>   The wide-character string  pointed  to  by  <EM>wch</EM>.   The
-           string  must  be L'\0' terminated, contain at most one
-           spacing character, which must be the first.
+       <STRONG>o</STRONG>   The wide-character string pointed to by <EM>wc</EM>.   The  string  must  be
+           L'\0' terminated, contain at most one spacing character, which must
+           be the first.
 
-           Up to <STRONG>CCHARW_MAX</STRONG>-1 nonspacing characters  may  follow.
-           Additional nonspacing characters are ignored.
+           Up to <STRONG>CCHARW_MAX</STRONG>-1 non-spacing characters may  follow.   Additional
+           non-spacing characters are ignored.
 
-           The  string  may  contain  a  single control character
-           instead.  In that case, no nonspacing  characters  are
-           allowed.
+           The string may contain a single control character instead.  In that
+           case, no non-spacing characters are allowed.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The  <EM>opts</EM> argument is reserved for future use.  Currently,
-       an application must provide a null pointer as <EM>opts</EM>.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       When <EM>wc</EM> is  a  null  pointer,  <STRONG>getcchar</STRONG>  returns  the  number  of  wide
+       characters referenced by <EM>wch</EM>, including one for a trailing null.
 
-       The <EM>wcval</EM> argument may be a value generated by a  call  to
-       <STRONG>setcchar</STRONG>  or by a function that has a <STRONG>cchar_t</STRONG> output argu-
-       ment.  If <EM>wcval</EM> is constructed by  any  other  means,  the
-       effect is unspecified.
+       When  <EM>wc</EM>  is  not  a  null pointer, <STRONG>getcchar</STRONG> returns <STRONG>OK</STRONG> upon successful
+       completion, and <STRONG>ERR</STRONG> otherwise.
+
+       Upon successful completion, <STRONG>setcchar</STRONG> returns <STRONG>OK</STRONG>.  Otherwise, it returns
+       <STRONG>ERR</STRONG>.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       When <EM>wch</EM> is a null pointer, <STRONG>getcchar</STRONG> returns the number of
-       wide characters referenced by <EM>wcval</EM>, including one  for  a
-       trailing null.
-
-       When  <EM>wch</EM>  is not a null pointer, <STRONG>getcchar</STRONG> returns <STRONG>OK</STRONG> upon
-       successful completion, and <STRONG>ERR</STRONG> otherwise.
-
-       Upon successful completion, <STRONG>setcchar</STRONG> returns  <STRONG>OK</STRONG>.   Other-
-       wise, it returns <STRONG>ERR</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       The <EM>wch</EM> argument may be a value generated by a call to <STRONG>setcchar</STRONG> or by a
+       function that has a <STRONG>cchar_t</STRONG> output argument.  If <EM>wch</EM> is constructed  by
+       any other means, the effect is unspecified.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       Functions:   <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>,   <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>,  <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,
-       <STRONG>wcwidth(3)</STRONG>.
+</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+       X/Open  Curses  documents the <EM>opts</EM> argument as reserved for future use,
+       saying that it must be null.  This implementation uses  that  parameter
+       in ABI 6 for the functions which have a color pair parameter to support
+       extended color pairs:
+
+       <STRONG>o</STRONG>   For  functions  which modify the color, e.g., <STRONG>setcchar</STRONG>, if <EM>opts</EM>  is
+           set it is treated as a pointer to <STRONG>int</STRONG>, and used to  set  the  color
+           pair instead of the <STRONG>short</STRONG> pair parameter.
+
+       <STRONG>o</STRONG>   For functions which retrieve the color, e.g., <STRONG>getcchar</STRONG>, if <EM>opts</EM>  is
+           set it is treated as a pointer to <STRONG>int</STRONG>, and  used  to  retrieve  the
+           color pair as an <STRONG>int</STRONG> value,  in  addition  retrieving  it  via  the
+           standard pointer to <STRONG>short</STRONG> parameter.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       The  <STRONG>CCHARW_MAX</STRONG>  symbol is specific to <EM>ncurses</EM>.  X/Open Curses does not
+       provide details for the layout of the <STRONG>cchar_t</STRONG> structure.  It tells what
+       data are stored in it:
+
+       <STRONG>o</STRONG>   a spacing character (<STRONG>wchar_t</STRONG>, i.e., 32-bits).
+
+       <STRONG>o</STRONG>   non-spacing characters (again, <STRONG>wchar_t</STRONG>'s).
+
+       <STRONG>o</STRONG>   attributes  (at  least  16 bits, inferred from the various ACS- and
+           WACS-flags).
+
+       <STRONG>o</STRONG>   color pair (at least 16 bits,  inferred  from  the  <STRONG>unsigned</STRONG>  <STRONG>short</STRONG>
+           type).
+
+       The non-spacing characters are optional, in the sense that zero or more
+       may be stored in a <STRONG>cchar_t</STRONG>.  XOpen/Curses specifies a limit:
+
+           Implementations may limit the number of non-spacing characters that
+           can  be  associated with a spacing character, provided any limit is
+           at least 5.
+
+       The Unix implementations at the time follow that limit:
+
+       <STRONG>o</STRONG>   AIX 4 and OSF1 4 use the same declaration with an array of  5  non-
+           spacing characters <EM>z</EM> and a single spacing character <EM>c</EM>.
+
+       <STRONG>o</STRONG>   HP-UX 10  uses  an  opaque  structure with 28 bytes, which is large
+           enough for the 6 <STRONG>wchar_t</STRONG> values.
+
+       <STRONG>o</STRONG>   Solaris <EM>xpg4</EM> curses uses a single array of 6 <STRONG>wchar_t</STRONG> values.
+
+       This implementation's <STRONG>cchar_t</STRONG> was defined in 1995 using <STRONG>5</STRONG> for the total
+       of  spacing and non-spacing characters (<STRONG>CCHARW_MAX</STRONG>).  That was probably
+       due to a misreading of the  AIX 4  header  files,  because  the  X/Open
+       Curses  document  was  not generally available at that time.  Later (in
+       2002), this detail was  overlooked  when  beginning  to  implement  the
+       functions using the structure.
+
+       In  practice, even four non-spacing characters may seem enough.  X/Open
+       Curses documents possible uses for  non-spacing  characters,  including
+       using  them  for ligatures between characters (a feature apparently not
+       supported by any curses implementation).  Unicode does  not  limit  the
+       (analogous) number of combining characters, so some applications may be
+       affected.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>, <STRONG>wcwidth(3)</STRONG>
 
 
 
-                                                      <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                 <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -165,8 +208,10 @@
 <li><a href="#h3-setcchar">setcchar</a></li>
 </ul>
 </li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
diff --git a/doc/html/man/curs_getch.3x.html b/doc/html/man/curs_getch.3x.html
index 9b3bdc4..fd8a890 100644
--- a/doc/html/man/curs_getch.3x.html
+++ b/doc/html/man/curs_getch.3x.html
@@ -1,7 +1,8 @@
-<!-- 
+<!--
   * t
   ****************************************************************************
-  * Copyright (c) 1998-2014,2015 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2016,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,362 +28,403 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_getch.3x,v 1.42 2015/07/21 08:44:04 tom Exp @
+  * @Id: curs_getch.3x,v 1.87 2024/04/20 19:18:18 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_getch 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_getch 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_getch 3x</H1>
+<H1 class="no-header">curs_getch 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>                                           <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+<STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>                   Library calls                  <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG>, <STRONG>mvwgetch</STRONG>, <STRONG>ungetch</STRONG>, <STRONG>has_key</STRONG> - get
-       (or push back) characters from <STRONG>curses</STRONG> terminal keyboard
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG>, <STRONG>mvwgetch</STRONG>, <STRONG>ungetch</STRONG>, <STRONG>has_key</STRONG> - get (or push back)
+       characters from <EM>curses</EM> terminal keyboard
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
        <STRONG>int</STRONG> <STRONG>getch(void);</STRONG>
-       <STRONG>int</STRONG> <STRONG>wgetch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win);</EM>
+       <STRONG>int</STRONG> <STRONG>wgetch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>mvgetch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>mvwgetch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>ungetch(int</STRONG> <EM>ch</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>has_key(int</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>ungetch(int</STRONG> <EM>c</EM><STRONG>);</STRONG>
+
+       <EM>/*</EM> <EM>extension</EM> <EM>*/</EM>
+       <STRONG>int</STRONG> <STRONG>has_key(int</STRONG> <EM>c</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
 
-</PRE>
-<H3><a name="h3-Reading-characters">Reading characters</a></H3><PRE>
-       The <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG> and <STRONG>mvwgetch</STRONG>, routines  read  a
-       character  from the window.  In no-delay mode, if no input
-       is waiting, the value <STRONG>ERR</STRONG> is returned.  In delay mode, the
-       program  waits until the system passes text through to the
-       program.  Depending on the setting of <STRONG>cbreak</STRONG>, this is  af-
-       ter  one  character (cbreak mode), or after the first new-
-       line (nocbreak mode).  In  half-delay  mode,  the  program
-       waits  until a character is typed or the specified timeout
-       has been reached.
+</PRE><H3><a name="h3-Reading-Characters">Reading Characters</a></H3><PRE>
+       <STRONG>wgetch</STRONG> gathers a key stroke from the terminal keyboard associated  with
+       a  <EM>curses</EM>  window  <EM>win</EM>.   <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>  describes  the  variants of this
+       function.
 
-       If <STRONG>echo</STRONG> is enabled, and the window is not a pad, then  the
-       character  will  also be echoed into the designated window
-       according to the following rules:
+       When input is pending, <STRONG>wgetch</STRONG> returns an integer  identifying  the  key
+       stroke;  for  alphanumeric and punctuation keys, this value corresponds
+       to the character encoding used by the terminal.  Use of the control key
+       as  a modifier often results in a distinct code.  The behavior of other
+       keys depends on whether <EM>win</EM> is in keypad mode; see  subsection  "Keypad
+       Mode" below.
 
-       <STRONG>o</STRONG>   If the character is the current erase character,  left
-           arrow,  or backspace, the cursor is moved one space to
-           the left and that screen  position  is  erased  as  if
-           <STRONG>delch</STRONG> had been called.
+       If  no input is pending, then if the no-delay flag is set in the window
+       (see <STRONG><A HREF="nodelay.3x.html">nodelay(3x)</A></STRONG>), the function returns <STRONG>ERR</STRONG>;  otherwise,  <EM>curses</EM>  waits
+       until  the  terminal  has  input.   If <STRONG><A HREF="curs_inopts.3x.html">cbreak(3x)</A></STRONG> has been called, this
+       happens after one character is read.  If <STRONG><A HREF="curs_inopts.3x.html">nocbreak(3x)</A></STRONG> has been  called,
+       it  occurs  when  the  next newline is read.  If <STRONG><A HREF="curs_inopts.3x.html">halfdelay(3x)</A></STRONG> has been
+       called, <EM>curses</EM> waits until a character is typed or the specified  delay
+       elapses.
 
-       <STRONG>o</STRONG>   If  the  character value is any other <STRONG>KEY_</STRONG> define, the
-           user is alerted with a <STRONG>beep</STRONG> call.
+       If <STRONG><A HREF="curs_inopts.3x.html">echo(3x)</A></STRONG> has been called, and the window is not a pad, <EM>curses</EM> writes
+       the returned character <EM>c</EM> to the window (at the cursor position) per the
+       following rules.
 
-       <STRONG>o</STRONG>   If the character is a carriage-return, and  if  <STRONG>nl</STRONG>  is
-           enabled,  it  is translated to a line-feed after echo-
-           ing.
+       <STRONG>o</STRONG>   If  <EM>c</EM>  matches  the  terminal's  erase  character, the cursor moves
+           leftward one  position  and  the  new  position  is  erased  as  if
+           <STRONG><A HREF="curs_move.3x.html">wmove(3x)</A></STRONG>  and  then  <STRONG><A HREF="curs_delch.3x.html">wdelch(3x)</A></STRONG>  were  called.   When the window's
+           keypad mode is enabled (see below), <STRONG>KEY_LEFT</STRONG> and <STRONG>KEY_BACKSPACE</STRONG>  are
+           handled the same way.
 
-       <STRONG>o</STRONG>   Otherwise  the  character  is  simply  output  to  the
-           screen.
+       <STRONG>o</STRONG>   <EM>curses</EM> writes any other <EM>c</EM> to the window, as with <STRONG><A HREF="curs_addch.3x.html">wechochar(3x)</A></STRONG>.
 
-       If the window is not a pad, and it has been moved or modi-
-       fied since the last call to  <STRONG>wrefresh</STRONG>,  <STRONG>wrefresh</STRONG>  will  be
-       called before another character is read.
+       <STRONG>o</STRONG>   If  the  window  has  been moved or modified since the last call to
+           <STRONG><A HREF="curs_refresh.3x.html">wrefresh(3x)</A></STRONG>, <EM>curses</EM> calls <STRONG>wrefresh</STRONG>.
+
+       If <EM>c</EM> is a carriage return and <STRONG><A HREF="curs_inopts.3x.html">nl(3x)</A></STRONG> has been  called,  <STRONG>wgetch</STRONG>  returns
+       the character code for line feed instead.
 
 
-</PRE>
-<H3><a name="h3-Keypad-mode">Keypad mode</a></H3><PRE>
-       If  <STRONG>keypad</STRONG> is <STRONG>TRUE</STRONG>, and a function key is pressed, the to-
-       ken for that function key is returned instead of  the  raw
-       characters.   Possible function keys are defined in <STRONG>&lt;curs-</STRONG>
-       <STRONG>es.h&gt;</STRONG> as macros with values outside  the  range  of  8-bit
-       characters  whose names begin with <STRONG>KEY_</STRONG>.  Thus, a variable
-       intended to hold the return value of a function  key  must
-       be of short size or larger.
+</PRE><H3><a name="h3-Keypad-Mode">Keypad Mode</a></H3><PRE>
+       To  <EM>curses</EM>, key strokes not from the alphabetic section of the keyboard
+       (those    corresponding    to    the    ECMA-6    character    set--see
+       <STRONG>ascii(7)</STRONG>--optionally  modified by either the control or shift keys) are
+       treated as <EM>function</EM> keys.  (In <EM>curses</EM>, the term "function key" includes
+       but  is  not  limited to keycaps engraved with "F1", "PF1", and so on.)
+       If the  window  is  in  keypad  mode,  these  produce  a  numeric  code
+       corresponding  to the <STRONG>KEY_</STRONG> symbols listed in subsection "Predefined Key
+       Codes" below; otherwise, they transmit a sequence  of  codes  typically
+       starting  with  the  escape character, and which must be collected with
+       multiple <STRONG>wgetch</STRONG> calls.
 
-       When a character that could be the beginning of a function
-       key is received (which, on modern terminals, means an  es-
-       cape character), <STRONG>curses</STRONG> sets a timer.  If the remainder of
-       the sequence does not come in within the designated  time,
-       the  character  is passed through; otherwise, the function
-       key value is returned.  For this  reason,  many  terminals
-       experience a delay between the time a user presses the es-
-       cape key and the escape is returned to the program.
+       <STRONG>o</STRONG>   The <EM>curses.h</EM> header file declares  many  <EM>predefined</EM>  <EM>function</EM>  <EM>keys</EM>
+           whose  names  begin with <STRONG>KEY_</STRONG>; these object-like macros have values
+           outside the range of eight-bit character codes.
+
+       <STRONG>o</STRONG>   In  <EM>ncurses</EM>,  <EM>user-defined</EM>  <EM>function</EM>  <EM>keys</EM>  are   configured   with
+           <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>;  they  have no names, but are also expected to have
+           values outside the range of eight-bit codes.
+
+       A variable intended to hold a function key code must thus  be  of  type
+       <EM>short</EM> or larger.
+
+       Most  terminals  one  encounters follow the ECMA-48 standard insofar as
+       their function keys  produce  character  sequences  prefixed  with  the
+       escape  character  ESC.   This  fact  implies  that  <EM>curses</EM> cannot know
+       whether the terminal has sent an ESC key stroke or the beginning  of  a
+       function  key's  character  sequence without waiting to see if, and how
+       soon, further input arrives.   When  <EM>curses</EM>  reads  such  an  ambiguous
+       character,  it sets a timer.  If the remainder of the sequence does not
+       arrive within the designated time, <STRONG>wgetch</STRONG> returns the prefix character;
+       otherwise, it returns the function key code corresponding to the unique
+       sequence defined by the terminal.  Consequently, a  user  of  a  <EM>curses</EM>
+       application  may  experience  a  delay  after pressing ESC while <EM>curses</EM>
+       disambiguates the input; see section "EXTENSIONS" below.  If the window
+       is  in "no time-out" mode, the timer does not expire; it is an infinite
+       (or very  large)  value.   See  <STRONG><A HREF="notimeout.3x.html">notimeout(3x)</A></STRONG>.   Because  function  key
+       sequences  usually  begin  with  an  escape character, the terminal may
+       appear to hang in no time-out mode after  the  user  has  pressed  ESC.
+       Generally, further typing "awakens" <EM>curses</EM>.
 
 
-</PRE>
-<H3><a name="h3-Ungetting-characters">Ungetting characters</a></H3><PRE>
-       The <STRONG>ungetch</STRONG> routine places <EM>ch</EM> back onto the input queue to
-       be returned by the next call to <STRONG>wgetch</STRONG>.  There is just one
-       input queue for all windows.
+</PRE><H3><a name="h3-Ungetting-Characters">Ungetting Characters</a></H3><PRE>
+       <STRONG>ungetch</STRONG>  places  <EM>c</EM> into the input queue to be returned by the next call
+       to <STRONG>wgetch</STRONG>.  A single input queue serves all windows.
 
 
-</PRE>
-<H3><a name="h3-Predefined-key-codes">Predefined key-codes</a></H3><PRE>
-       The following special keys, defined in <STRONG>&lt;curses.h&gt;</STRONG>, may  be
-       returned  by <STRONG>getch</STRONG> if <STRONG>keypad</STRONG> has been enabled.  Not all of
-       these are necessarily supported on any  particular  termi-
-       nal.
+</PRE><H3><a name="h3-Predefined-Key-Codes">Predefined Key Codes</a></H3><PRE>
+       The header file <EM>curses.h</EM> defines the following function key codes.
 
-            <EM>Name</EM>            <EM>Key</EM> <EM>name</EM>
-            -------------------------------------------------
-            KEY_BREAK       Break key
-            KEY_DOWN        The four arrow keys ...
-            KEY_UP
-            KEY_LEFT
-            KEY_RIGHT
-            KEY_HOME        Home key (upward+left arrow)
-            KEY_BACKSPACE   Backspace
-            KEY_F0          Function keys; space for 64 keys
-                            is reserved.
-            KEY_F(<EM>n</EM>)        For 0 &lt;= <EM>n</EM> &lt;= 63
-            KEY_DL          Delete line
-            KEY_IL          Insert line
-            KEY_DC          Delete character
-            KEY_IC          Insert char or enter insert mode
-            KEY_EIC         Exit insert char mode
-            KEY_CLEAR       Clear screen
-            KEY_EOS         Clear to end of screen
-            KEY_EOL         Clear to end of line
-            KEY_SF          Scroll 1 line forward
-            KEY_SR          Scroll 1 line backward (reverse)
-            KEY_NPAGE       Next page
-            KEY_PPAGE       Previous page
-            KEY_STAB        Set tab
-            KEY_CTAB        Clear tab
-            KEY_CATAB       Clear all tabs
-            KEY_ENTER       Enter or send
-            KEY_SRESET      Soft (partial) reset
-            KEY_RESET       Reset or hard reset
-            KEY_PRINT       Print or copy
-            KEY_LL          Home down or bottom (lower left)
-            KEY_A1          Upper left of keypad
-            KEY_A3          Upper right of keypad
-            KEY_B2          Center of keypad
-            KEY_C1          Lower left of keypad
-            KEY_C3          Lower right of keypad
-            KEY_BTAB        Back tab key
-            KEY_BEG         Beg(inning) key
-            KEY_CANCEL      Cancel key
-            KEY_CLOSE       Close key
-            KEY_COMMAND     Cmd (command) key
-            KEY_COPY        Copy key
-            KEY_CREATE      Create key
-            KEY_END         End key
-            KEY_EXIT        Exit key
-            KEY_FIND        Find key
-            KEY_HELP        Help key
-            KEY_MARK        Mark key
+       <STRONG>o</STRONG>   Except for the special case of <STRONG>KEY_RESIZE</STRONG>, a window's  keypad  mode
+           must be enabled for <STRONG>wgetch</STRONG> to read these codes from it.
 
-            KEY_MESSAGE     Message key
-            KEY_MOUSE       Mouse event read
-            KEY_MOVE        Move key
-            KEY_NEXT        Next object key
-            KEY_OPEN        Open key
-            KEY_OPTIONS     Options key
-            KEY_PREVIOUS    Previous object key
-            KEY_REDO        Redo key
-            KEY_REFERENCE   Ref(erence) key
-            KEY_REFRESH     Refresh key
-            KEY_REPLACE     Replace key
-            KEY_RESIZE      Screen resized
-            KEY_RESTART     Restart key
-            KEY_RESUME      Resume key
-            KEY_SAVE        Save key
-            KEY_SBEG        Shifted beginning key
-            KEY_SCANCEL     Shifted cancel key
-            KEY_SCOMMAND    Shifted command key
-            KEY_SCOPY       Shifted copy key
-            KEY_SCREATE     Shifted create key
-            KEY_SDC         Shifted delete char key
-            KEY_SDL         Shifted delete line key
-            KEY_SELECT      Select key
-            KEY_SEND        Shifted end key
-            KEY_SEOL        Shifted clear line key
-            KEY_SEXIT       Shifted exit key
-            KEY_SFIND       Shifted find key
-            KEY_SHELP       Shifted help key
-            KEY_SHOME       Shifted home key
-            KEY_SIC         Shifted input key
-            KEY_SLEFT       Shifted left arrow key
-            KEY_SMESSAGE    Shifted message key
-            KEY_SMOVE       Shifted move key
-            KEY_SNEXT       Shifted next key
-            KEY_SOPTIONS    Shifted options key
-            KEY_SPREVIOUS   Shifted prev key
-            KEY_SPRINT      Shifted print key
-            KEY_SREDO       Shifted redo key
-            KEY_SREPLACE    Shifted replace key
-            KEY_SRIGHT      Shifted right arrow
-            KEY_SRSUME      Shifted resume key
-            KEY_SSAVE       Shifted save key
-            KEY_SSUSPEND    Shifted suspend key
-            KEY_SUNDO       Shifted undo key
-            KEY_SUSPEND     Suspend key
-            KEY_UNDO        Undo key
+       <STRONG>o</STRONG>   Not  all  of  these  are  necessarily  supported  on any particular
+           terminal.
 
-       Keypad is arranged like this:
+       <STRONG>o</STRONG>   The  naming  convention  may  seem  obscure,  with  some   apparent
+           misspellings  (such  as "RSUME" for "resume"); the names correspond
+           to  the  <EM>terminfo</EM>  capability  names  for  the   keys,   and   were
+           standardized  before  the  IBM  PC/AT  keyboard  layout  achieved a
+           dominant position in industry.
 
-                         +-----+------+-------+
-                         | <STRONG>A1</STRONG>  |  <STRONG>up</STRONG>  |  <STRONG>A3</STRONG>   |
-                         +-----+------+-------+
-                         |<STRONG>left</STRONG> |  <STRONG>B2</STRONG>  | <STRONG>right</STRONG> |
-                         +-----+------+-------+
-                         | <STRONG>C1</STRONG>  | <STRONG>down</STRONG> |  <STRONG>C3</STRONG>   |
-                         +-----+------+-------+
-       A few of these predefined values do <EM>not</EM>  correspond  to  a
-       real key:
+              <STRONG>Symbol</STRONG>          <STRONG>Key</STRONG> <STRONG>name</STRONG>
+              -----------------------------------------------------------------
+              <STRONG>KEY_BREAK</STRONG>       Break key
+              <STRONG>KEY_DOWN</STRONG>
+              <STRONG>KEY_UP</STRONG>          Arrow keys
+              <STRONG>KEY_LEFT</STRONG>
+              <STRONG>KEY_RIGHT</STRONG>
+              <STRONG>KEY_HOME</STRONG>        Home key (upward+left arrow)
+              <STRONG>KEY_BACKSPACE</STRONG>   Backspace
+              <STRONG>KEY_F0</STRONG>          Function keys; space for 64 keys is reserved
+              <STRONG>KEY_F(</STRONG><EM>n</EM><STRONG>)</STRONG>        Function key <EM>n</EM> where 0 &lt;= <EM>n</EM> &lt;= 63
 
-       <STRONG>o</STRONG>   <STRONG>KEY_RESIZE</STRONG>  is  returned  when the <STRONG>SIGWINCH</STRONG> signal has
-           been detected (see <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG> and <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>).
+              <STRONG>KEY_DL</STRONG>          Delete line
+              <STRONG>KEY_IL</STRONG>          Insert line
+              <STRONG>KEY_DC</STRONG>          Delete character
+              <STRONG>KEY_IC</STRONG>          Insert character/Enter insert mode
+              <STRONG>KEY_EIC</STRONG>         Exit insert character mode
+              <STRONG>KEY_CLEAR</STRONG>       Clear screen
+              <STRONG>KEY_EOS</STRONG>         Clear to end of screen
+              <STRONG>KEY_EOL</STRONG>         Clear to end of line
+              <STRONG>KEY_SF</STRONG>          Scroll one line forward
+              <STRONG>KEY_SR</STRONG>          Scroll one line backward (reverse)
+              <STRONG>KEY_NPAGE</STRONG>       Next page/Page up
+              <STRONG>KEY_PPAGE</STRONG>       Previous page/Page down
+              <STRONG>KEY_STAB</STRONG>        Set tab
+              <STRONG>KEY_CTAB</STRONG>        Clear tab
+              <STRONG>KEY_CATAB</STRONG>       Clear all tabs
+              <STRONG>KEY_ENTER</STRONG>       Enter/Send
+              <STRONG>KEY_SRESET</STRONG>      Soft (partial) reset
+              <STRONG>KEY_RESET</STRONG>       (Hard) reset
+              <STRONG>KEY_PRINT</STRONG>       Print/Copy
+              <STRONG>KEY_LL</STRONG>          Home down/Bottom (lower left)
+              <STRONG>KEY_A1</STRONG>          Upper left of keypad
+              <STRONG>KEY_A3</STRONG>          Upper right of keypad
+              <STRONG>KEY_B2</STRONG>          Center of keypad
+              <STRONG>KEY_C1</STRONG>          Lower left of keypad
+              <STRONG>KEY_C3</STRONG>          Lower right of keypad
+              <STRONG>KEY_BTAB</STRONG>        Back tab key
+              <STRONG>KEY_BEG</STRONG>         Beg(inning) key
+              <STRONG>KEY_CANCEL</STRONG>      Cancel key
+              <STRONG>KEY_CLOSE</STRONG>       Close key
+              <STRONG>KEY_COMMAND</STRONG>     Cmd (command) key
+              <STRONG>KEY_COPY</STRONG>        Copy key
+              <STRONG>KEY_CREATE</STRONG>      Create key
+              <STRONG>KEY_END</STRONG>         End key
+              <STRONG>KEY_EXIT</STRONG>        Exit key
+              <STRONG>KEY_FIND</STRONG>        Find key
+              <STRONG>KEY_HELP</STRONG>        Help key
+              <STRONG>KEY_MARK</STRONG>        Mark key
+              <STRONG>KEY_MESSAGE</STRONG>     Message key
+              <STRONG>KEY_MOUSE</STRONG>       Mouse event occurred
+              <STRONG>KEY_MOVE</STRONG>        Move key
+              <STRONG>KEY_NEXT</STRONG>        Next object key
+              <STRONG>KEY_OPEN</STRONG>        Open key
+              <STRONG>KEY_OPTIONS</STRONG>     Options key
+              <STRONG>KEY_PREVIOUS</STRONG>    Previous object key
+              <STRONG>KEY_REDO</STRONG>        Redo key
+              <STRONG>KEY_REFERENCE</STRONG>   Ref(erence) key
+              <STRONG>KEY_REFRESH</STRONG>     Refresh key
+              <STRONG>KEY_REPLACE</STRONG>     Replace key
+              <STRONG>KEY_RESIZE</STRONG>      Screen resized
+              <STRONG>KEY_RESTART</STRONG>     Restart key
+              <STRONG>KEY_RESUME</STRONG>      Resume key
+              <STRONG>KEY_SAVE</STRONG>        Save key
+              <STRONG>KEY_SELECT</STRONG>      Select key
+              <STRONG>KEY_SUSPEND</STRONG>     Suspend key
+              <STRONG>KEY_UNDO</STRONG>        Undo key
+              -----------------------------------------------------------------
+              <STRONG>KEY_SBEG</STRONG>        Shifted beginning key
+              <STRONG>KEY_SCANCEL</STRONG>     Shifted cancel key
+              <STRONG>KEY_SCOMMAND</STRONG>    Shifted command key
+              <STRONG>KEY_SCOPY</STRONG>       Shifted copy key
+              <STRONG>KEY_SCREATE</STRONG>     Shifted create key
+              <STRONG>KEY_SDC</STRONG>         Shifted delete character key
+              <STRONG>KEY_SDL</STRONG>         Shifted delete line key
+              <STRONG>KEY_SEND</STRONG>        Shifted end key
+              <STRONG>KEY_SEOL</STRONG>        Shifted clear line key
 
-       <STRONG>o</STRONG>   <STRONG>KEY_MOUSE</STRONG>   is   returned   for   mouse-events    (see
-           <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>).
+              <STRONG>KEY_SEXIT</STRONG>       Shifted exit key
+              <STRONG>KEY_SFIND</STRONG>       Shifted find key
+              <STRONG>KEY_SHELP</STRONG>       Shifted help key
+              <STRONG>KEY_SHOME</STRONG>       Shifted home key
+              <STRONG>KEY_SIC</STRONG>         Shifted insert key
+              <STRONG>KEY_SLEFT</STRONG>       Shifted left arrow key
+              <STRONG>KEY_SMESSAGE</STRONG>    Shifted message key
+              <STRONG>KEY_SMOVE</STRONG>       Shifted move key
+              <STRONG>KEY_SNEXT</STRONG>       Shifted next object key
+              <STRONG>KEY_SOPTIONS</STRONG>    Shifted options key
+              <STRONG>KEY_SPREVIOUS</STRONG>   Shifted previous object key
+              <STRONG>KEY_SPRINT</STRONG>      Shifted print key
+              <STRONG>KEY_SREDO</STRONG>       Shifted redo key
+              <STRONG>KEY_SREPLACE</STRONG>    Shifted replace key
+              <STRONG>KEY_SRIGHT</STRONG>      Shifted right arrow key
+              <STRONG>KEY_SRSUME</STRONG>      Shifted resume key
+              <STRONG>KEY_SSAVE</STRONG>       Shifted save key
+              <STRONG>KEY_SSUSPEND</STRONG>    Shifted suspend key
+              <STRONG>KEY_SUNDO</STRONG>       Shifted undo key
+
+       Many keyboards feature a nine-key directional pad.
+
+                                   +-----+------+-------+
+                                   | A1  |  up  |  A3   |
+                                   +-----+------+-------+
+                                   |left |  B2  | right |
+                                   +-----+------+-------+
+                                   | C1  | down |  C3   |
+                                   +-----+------+-------+
+       Two of the symbols in the list above do <EM>not</EM> correspond  to  a  physical
+       key.
+
+       <STRONG>o</STRONG>   <STRONG>wgetch</STRONG>  returns  <STRONG>KEY_RESIZE</STRONG>,  even  if  the window's keypad mode is
+           disabled, when <EM>ncurses</EM> handles a <STRONG>SIGWINCH</STRONG> signal;  see  <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG>
+           and <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>.
+
+       <STRONG>o</STRONG>   <STRONG>wgetch</STRONG>  returns <STRONG>KEY_MOUSE</STRONG> to indicate that a mouse event is pending
+           collection; see <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>.  Receipt of this  code  requires  a
+           window's  keypad  mode  to  be  enabled, because to interpret mouse
+           input (as with with <STRONG>xterm(1)</STRONG>'s mouse prototocol), <EM>ncurses</EM> must read
+           an escape sequence, as with a function key.
 
 
-</PRE>
-<H3><a name="h3-Testing-key-codes">Testing key-codes</a></H3><PRE>
-       The  <STRONG>has_key</STRONG> routine takes a key-code value from the above
-       list, and returns <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG> according to  whether  the
-       current terminal type recognizes a key with that value.
-
-       The library also supports these extensions:
-
-          <STRONG>define_key</STRONG>
-               defines  a  key-code  for  a given string (see <STRONG>de-</STRONG>
-               <STRONG><A HREF="define_key.3x.html">fine_key(3x)</A></STRONG>).
-
-          <STRONG>key_defined</STRONG>
-               checks if there is a key-code defined for a  given
-               string (see <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>).
+</PRE><H3><a name="h3-Testing-Key-Codes">Testing Key Codes</a></H3><PRE>
+       In  <EM>ncurses</EM>,  <STRONG>has_key</STRONG>  returns  a  Boolean value indicating whether the
+       terminal type recognizes its parameter as a key code value.   See  also
+       <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> and <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All  routines  return  the integer <STRONG>ERR</STRONG> upon failure and an
-       integer value other than <STRONG>ERR</STRONG> (<STRONG>OK</STRONG> in the case of ungetch())
-       upon successful completion.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       Except  for  <STRONG>has_key</STRONG>,  these  functions return <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on
+       failure.
 
-          <STRONG>ungetch</STRONG>
-               returns ERR if there is no more room in the FIFO.
+       Functions taking a <EM>WINDOW</EM> pointer argument fail if the pointer is <STRONG>NULL</STRONG>.
 
-          <STRONG>wgetch</STRONG>
-               returns  ERR  if the window pointer is null, or if
-               its timeout expires without having any data.
+       Functions prefixed with "mv" first perform cursor movement and fail  if
+       the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
 
-       Functions with a "mv" prefix first perform a cursor  move-
-       ment  using  <STRONG>wmove</STRONG>, and return an error if the position is
-       outside the window, or if the window pointer is null.
+       <STRONG>wgetch</STRONG> also fails if
+
+       <STRONG>o</STRONG>   its timeout expires without any data arriving, or
+
+       <STRONG>o</STRONG>   execution  was  interrupted by a signal, in which case <STRONG>errno</STRONG> is set
+           to <STRONG>EINTR</STRONG>.
+
+       <STRONG>ungetch</STRONG> fails if there is no more room in the input queue.
+
+       <STRONG>has_key</STRONG> returns <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       Use of the escape key by a programmer for a single charac-
-       ter  function  is discouraged, as it will cause a delay of
-       up to one second while the keypad code looks for a follow-
-       ing function-key sequence.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       <EM>curses</EM> discourages assignment of the ESC key to a discrete function  by
+       the programmer because the library requires a delay while it awaits the
+       potential remainder of a terminal escape sequence.
 
-       Some  keys  may be the same as commonly used control keys,
-       e.g., <STRONG>KEY_ENTER</STRONG>  versus  control/M,  <STRONG>KEY_BACKSPACE</STRONG>  versus
-       control/H.  Some curses implementations may differ accord-
-       ing to whether they treat  these  control  keys  specially
-       (and  ignore  the  terminfo),  or use the terminfo defini-
-       tions.  <STRONG>Ncurses</STRONG> uses the terminfo definition.  If it  says
-       that  <STRONG>KEY_ENTER</STRONG>  is control/M, <STRONG>getch</STRONG> will return <STRONG>KEY_ENTER</STRONG>
-       when you press control/M.
+       Some key strokes are indistinguishable  from  control  characters;  for
+       example,  <STRONG>KEY_ENTER</STRONG> may be the same as <STRONG>^M</STRONG>, and <STRONG>KEY_BACKSPACE</STRONG> may be the
+       same as <STRONG>^H</STRONG> or <STRONG>^?</STRONG>.  Consult the terminal's <EM>terminfo</EM> entry  to  determine
+       whether this is the case; see <STRONG><A HREF="infocmp.1m.html">infocmp(1)</A></STRONG>.  Some <EM>curses</EM> implementations,
+       including <EM>ncurses</EM>, honor the <EM>terminfo</EM>  key  definitions;  others  treat
+       such control characters specially.
 
-       Generally, <STRONG>KEY_ENTER</STRONG> denotes the character(s) sent by  the
-       <EM>Enter</EM> key on the numeric keypad:
+       <EM>curses</EM>  distinguishes  the  Enter  keys  in  the alphabetic and numeric
+       keypad sections of a keyboard because (most) terminals  do.   <STRONG>KEY_ENTER</STRONG>
+       refers  to the key on the numeric keypad and, like other function keys,
+       and is reliably recognized only if the window's keypad mode is enabled.
 
-       <STRONG>o</STRONG>   the terminal description lists the most useful keys,
+       <STRONG>o</STRONG>   The <EM>terminfo</EM> <STRONG>key_enter</STRONG> (<STRONG>kent</STRONG>) capability  describes  the  character
+           (sequence)  sent  by  the  Enter  key  of  a terminal's numeric (or
+           similar) keypad.
 
-       <STRONG>o</STRONG>   the  <EM>Enter</EM> key on the regular keyboard is already han-
-           dled by the standard ASCII characters for carriage-re-
-           turn and line-feed,
+       <STRONG>o</STRONG>   "Enter or send" is X/Open Curses's description of this key.
 
-       <STRONG>o</STRONG>   depending  on  whether <STRONG>nl</STRONG> or <STRONG>nonl</STRONG> was called, pressing
-           "Enter" on the regular keyboard may  return  either  a
-           carriage-return or line-feed, and finally
+       <EM>curses</EM> treats the Enter or Return key in the <EM>alphabetic</EM> section of  the
+       keyboard differently.
 
-       <STRONG>o</STRONG>   "Enter  or  send" is the standard description for this
-           key.
+       <STRONG>o</STRONG>   It usually produces a control code for carriage return (<STRONG>^M</STRONG>) or line
+           feed (<STRONG>^J</STRONG>).
 
-       When using <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG>, or  <STRONG>mvwgetch</STRONG>,  nocbreak
-       mode (<STRONG>nocbreak</STRONG>) and echo mode (<STRONG>echo</STRONG>) should not be used at
-       the same time.  Depending on the state of the  tty  driver
-       when  each character is typed, the program may produce un-
-       desirable results.
+       <STRONG>o</STRONG>   Depending on the terminal mode  (raw,  cbreak,  or  "cooked"),  and
+           whether  <STRONG><A HREF="curs_inopts.3x.html">nl(3x)</A></STRONG>  or  <STRONG><A HREF="curs_inopts.3x.html">nonl(3x)</A></STRONG>  has  been  called, <STRONG>wgetch</STRONG> may return
+           either a carriage return or line feed upon an Enter or  Return  key
+           stroke.
 
-       Note that <STRONG>getch</STRONG>, <STRONG>mvgetch</STRONG>, and <STRONG>mvwgetch</STRONG> may be macros.
+       Use  of  <STRONG>wgetch</STRONG> with <STRONG><A HREF="curs_inopts.3x.html">echo(3x)</A></STRONG> and neither <STRONG><A HREF="curs_inopts.3x.html">cbreak(3x)</A></STRONG> nor <STRONG><A HREF="curs_inopts.3x.html">raw(3x)</A></STRONG> is not
+       well-defined.
 
-       Historically, the set of keypad macros was largely defined
-       by  the  extremely  function-key-rich keyboard of the AT&amp;T
-       7300, aka 3B1, aka Safari 4.   Modern  personal  computers
-       usually  have  only a small subset of these.  IBM PC-style
-       consoles  typically  support  little  more  than   <STRONG>KEY_UP</STRONG>,
-       <STRONG>KEY_DOWN</STRONG>,    <STRONG>KEY_LEFT</STRONG>,   <STRONG>KEY_RIGHT</STRONG>,   <STRONG>KEY_HOME</STRONG>,   <STRONG>KEY_END</STRONG>,
-       <STRONG>KEY_NPAGE</STRONG>, <STRONG>KEY_PPAGE</STRONG>, and function keys 1 through 12.  The
-       Ins key is usually mapped to <STRONG>KEY_IC</STRONG>.
+       Historically, the list of key code macros above was influenced  by  the
+       function-key-rich  keyboard  of  the AT&amp;T 7300 (also known variously as
+       the "3B1", "Safari  4",  and  "UNIX  PC"),  a  1985  machine.   Today's
+       computer  keyboards  are  based  that of the IBM PC/AT and tend to have
+       fewer.  A <EM>curses</EM> application can expect such a keyboard to transmit key
+       codes   <STRONG>KEY_UP</STRONG>,   <STRONG>KEY_DOWN</STRONG>,  <STRONG>KEY_LEFT</STRONG>,  <STRONG>KEY_RIGHT</STRONG>,  <STRONG>KEY_HOME</STRONG>,  <STRONG>KEY_END</STRONG>,
+       <STRONG>KEY_PPAGE</STRONG> (Page Up), <STRONG>KEY_NPAGE</STRONG> (Page  Down),  <STRONG>KEY_IC</STRONG>  (Insert),  <STRONG>KEY_DC</STRONG>
+       (Delete), and <STRONG>KEY_F(</STRONG><EM>n</EM><STRONG>)</STRONG> for 1 &lt;= <EM>n</EM> &lt;= 12.
+
+       <STRONG>getch</STRONG>, <STRONG>mvgetch</STRONG>, and <STRONG>mvwgetch</STRONG> may be implemented as macros.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       The  *get* functions are described in the XSI Curses stan-
-       dard, Issue 4.  They  read  single-byte  characters  only.
-       The  standard  specifies  that they return <STRONG>ERR</STRONG> on failure,
-       but specifies no error conditions.
+</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+       In <EM>ncurses</EM>, when a window's "no time-out" mode is <EM>not</EM> set, the <STRONG>ESCDELAY</STRONG>
+       variable configures the duration of the timer used  to  disambiguate  a
+       function  key character sequence from a series of key strokes beginning
+       with ESC typed by the user; see <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
 
-       The echo behavior of these functions on input of  <STRONG>KEY_</STRONG>  or
-       backspace  characters  was not specified in the SVr4 docu-
-       mentation.  This description is adopted from the XSI Curs-
-       es standard.
-
-       The  behavior of <STRONG>getch</STRONG> and friends in the presence of han-
-       dled signals is unspecified in the  SVr4  and  XSI  Curses
-       documentation.   Under  historical curses implementations,
-       it varied depending on whether the operating system's  im-
-       plementation   of  handled  signal  receipt  interrupts  a
-       <STRONG>read(2)</STRONG> call in progress or not, and also (in some  imple-
-       mentations)  depending on whether an input timeout or non-
-       blocking mode has been set.
-
-       Programmers concerned about portability should be prepared
-       for  either  of two cases: (a) signal receipt does not in-
-       terrupt <STRONG>getch</STRONG>; (b) signal  receipt  interrupts  <STRONG>getch</STRONG>  and
-       causes  it  to  return ERR with <STRONG>errno</STRONG> set to <STRONG>EINTR</STRONG>.  Under
-       the <STRONG>ncurses</STRONG> implementation, handled signals  never  inter-
-       rupt <STRONG>getch</STRONG>.
-
-       The  <STRONG>has_key</STRONG>  function is unique to <STRONG>ncurses</STRONG>.  We recommend
-       that any code using it be conditionalized  on  the  <STRONG>NCURS-</STRONG>
-       <STRONG>ES_VERSION</STRONG> feature macro.
+       <STRONG>has_key</STRONG> was designed for <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, and is not found in SVr4  <EM>curses</EM>,
+       4.4BSD <EM>curses</EM>, or any other previous curses implementation.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,       <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>,       <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>,
-       <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>,   <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>,   <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>,   <STRONG>re-</STRONG>
-       <STRONG><A HREF="resizeterm.3x.html">sizeterm(3x)</A></STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       Applications employing <EM>ncurses</EM> extensions should condition their use on
+       the visibility of the <STRONG>NCURSES_VERSION</STRONG> preprocessor macro.
 
-       Comparable  functions in the wide-character (ncursesw) li-
-       brary are described in <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>.
+       X/Open Curses, Issue 4 describes <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG>, <STRONG>mvwgetch</STRONG>,  and
+       <STRONG>ungetch</STRONG>.  It specifies no error conditions for them.
+
+       <STRONG>wgetch</STRONG> reads only single-byte characters.
+
+       The  echo  behavior  of  these  functions on input of <STRONG>KEY_</STRONG> or backspace
+       characters  was  not  specified  in  the  SVr4   documentation.    This
+       description is adapted from X/Open Curses.
+
+       The   behavior  of  <STRONG>wgetch</STRONG>  in  the  presence  of  signal  handlers  is
+       unspecified in the SVr4 documentation and X/Open Curses.  In historical
+       <EM>curses</EM>  implementations,  it  varied depending on whether the operating
+       system's dispatch of a signal to a handler interrupting a <STRONG>read(2)</STRONG>  call
+       in  progress,  and  also  (in  some  implementations)  whether an input
+       timeout or non-blocking mode has been set.  Programmers concerned about
+       portability  should  be  prepared  for  either of two cases: (a) signal
+       receipt does not interrupt <STRONG>wgetch</STRONG>; or  (b)  signal  receipt  interrupts
+       <STRONG>wgetch</STRONG> and causes it to return <STRONG>ERR</STRONG> with <STRONG>errno</STRONG> set to <STRONG>EINTR</STRONG>.
+
+       <STRONG>KEY_MOUSE</STRONG> is mentioned in X/Open Curses, along with a few related <EM>term-</EM>
+       <EM>info</EM> capabilities, but no higher-level functions use the feature.   The
+       implementation in <EM>ncurses</EM> is an extension.
+
+       <STRONG>KEY_RESIZE</STRONG>  and  <STRONG>has_key</STRONG>  are extensions first implemented for <EM>ncurses</EM>.
+       By  2022,  <EM>PDCurses</EM>  and  NetBSD  <EM>curses</EM>  had  added  them  along  with
+       <STRONG>KEY_MOUSE</STRONG>.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>  describes comparable functions of the <EM>ncurses</EM> library
+       in its wide-character configuration (<EM>ncursesw</EM>).
+
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,    <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>,     <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>,     <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>,
+       <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>,  <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,
+       <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>, <STRONG>ascii(7)</STRONG>
+
+       ECMA-6 "7-bit  coded  Character  Set"  &lt;https://ecma-international.org/
+       publications-and-standards/standards/ecma-6/&gt;
+
+       ECMA-48   "Control   Functions  for  Coded  Character  Sets"  &lt;https://
+       ecma-international.org/publications-and-standards/standards/ecma-48/&gt;
 
 
 
-                                                         <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                    <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -390,15 +432,16 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
 <ul>
-<li><a href="#h3-Reading-characters">Reading characters</a></li>
-<li><a href="#h3-Keypad-mode">Keypad mode</a></li>
-<li><a href="#h3-Ungetting-characters">Ungetting characters</a></li>
-<li><a href="#h3-Predefined-key-codes">Predefined key-codes</a></li>
-<li><a href="#h3-Testing-key-codes">Testing key-codes</a></li>
+<li><a href="#h3-Reading-Characters">Reading Characters</a></li>
+<li><a href="#h3-Keypad-Mode">Keypad Mode</a></li>
+<li><a href="#h3-Ungetting-Characters">Ungetting Characters</a></li>
+<li><a href="#h3-Predefined-Key-Codes">Predefined Key Codes</a></li>
+<li><a href="#h3-Testing-Key-Codes">Testing Key Codes</a></li>
 </ul>
 </li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
 <li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
diff --git a/doc/html/man/curs_getstr.3x.html b/doc/html/man/curs_getstr.3x.html
index 206b64e..0142df9 100644
--- a/doc/html/man/curs_getstr.3x.html
+++ b/doc/html/man/curs_getstr.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2005,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-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  *
   * copy of this software and associated documentation files (the            *
@@ -26,125 +27,222 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_getstr.3x,v 1.19 2010/12/04 18:36:44 tom Exp @
+  * @Id: curs_getstr.3x,v 1.58 2024/04/20 19:18:18 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_getstr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_getstr 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_getstr 3x</H1>
+<H1 class="no-header">curs_getstr 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>                                         <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+<STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>                  Library calls                 <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>getstr</STRONG>, <STRONG>getnstr</STRONG>, <STRONG>wgetstr</STRONG>, <STRONG>wgetnstr</STRONG>, <STRONG>mvgetstr</STRONG>, <STRONG>mvgetnstr</STRONG>,
-       <STRONG>mvwgetstr</STRONG>, <STRONG>mvwgetnstr</STRONG> - accept character strings from
-       <STRONG>curses</STRONG> terminal keyboard
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>getstr</STRONG>,  <STRONG>getnstr</STRONG>,  <STRONG>wgetstr</STRONG>,  <STRONG>wgetnstr</STRONG>,  <STRONG>mvgetstr</STRONG>, <STRONG>mvgetnstr</STRONG>, <STRONG>mvwgetstr</STRONG>,
+       <STRONG>mvwgetnstr</STRONG> - accept character strings from <EM>curses</EM> terminal keyboard
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
-       <STRONG>int</STRONG> <STRONG>getstr(char</STRONG> <STRONG>*str);</STRONG>
-       <STRONG>int</STRONG> <STRONG>getnstr(char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
-       <STRONG>int</STRONG> <STRONG>wgetstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>char</STRONG> <STRONG>*str);</STRONG>
-       <STRONG>int</STRONG> <STRONG>wgetnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvgetstr(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>char</STRONG> <STRONG>*str);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvwgetstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>char</STRONG> <STRONG>*str);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvgetnstr(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvwgetnstr(WINDOW</STRONG> <STRONG>*,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
+       <STRONG>int</STRONG> <STRONG>getstr(char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>getnstr(char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wgetstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wgetnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>mvgetstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvwgetstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvgetnstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvwgetnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  function <STRONG>getstr</STRONG> is equivalent to a series of calls to
-       <STRONG>getch</STRONG>, until a newline or carriage return is received (the
-       terminating  character  is  not  included  in the returned
-       string).  The resulting value is placed in the area point-
-       ed to by the character pointer <EM>str</EM>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The function <STRONG>wgetnstr</STRONG> is equivalent to a series of calls to <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>,
+       until a newline or carriage return terminates the series:
 
-       <STRONG>wgetnstr</STRONG>  reads  at  most  <EM>n</EM> characters, thus preventing a
-       possible overflow of the input buffer.  Any attempt to en-
-       ter more characters (other than the terminating newline or
-       carriage return) causes a beep.  Function keys also  cause
-       a  beep  and are ignored.  The <STRONG>getnstr</STRONG> function reads from
-       the <EM>stdscr</EM> default window.
+       <STRONG>o</STRONG>   The terminating character is not included in the returned string.
 
-       The user's erase and kill characters are interpreted.   If
-       keypad   mode   is   on   for  the  window,  <STRONG>KEY_LEFT</STRONG>  and
-       <STRONG>KEY_BACKSPACE</STRONG> are both considered equivalent to the user's
-       kill character.
+       <STRONG>o</STRONG>   In all instances, the end of the string is terminated by a NUL.
 
-       Characters  input are echoed only if <STRONG>echo</STRONG> is currently on.
-       In that case, backspace is echoed as deletion of the  pre-
-       vious character (typically a left motion).
+       <STRONG>o</STRONG>   The  function  stores  the result in the area pointed to by the <EM>str</EM>
+           parameter.
+
+       <STRONG>o</STRONG>   The function reads at most <EM>n</EM> characters, thus preventing a possible
+           overflow of the input buffer.
+
+           Any  attempt  to  enter more characters (other than the terminating
+           newline or carriage return) causes a beep.
+
+           Function keys also cause a beep and are ignored.
+
+       The user's <EM>erase</EM> and <EM>kill</EM> characters are interpreted:
+
+       <STRONG>o</STRONG>   The <EM>erase</EM> character (e.g., <STRONG>^H</STRONG>) erases the character at the  end  of
+           the buffer, moving the cursor to the left.
+
+           If <EM>keypad</EM> mode is on for the window, <STRONG>KEY_LEFT</STRONG> and <STRONG>KEY_BACKSPACE</STRONG> are
+           both considered equivalent to the user's <EM>erase</EM> character.
+
+       <STRONG>o</STRONG>   The <EM>kill</EM> character (e.g., <STRONG>^U</STRONG>) erases the entire buffer, leaving the
+           cursor at the beginning of the buffer.
+
+       Characters  input  are  echoed  only  if <STRONG>echo</STRONG> is currently on.  In that
+       case, backspace  is  echoed  as  deletion  of  the  previous  character
+       (typically a left motion).
+
+       The   <STRONG>getnstr</STRONG>,   <STRONG>mvgetnstr</STRONG>,  <STRONG>mvwgetnstr</STRONG>,  and  <STRONG>wgetnstr</STRONG>  functions  are
+       identical to the <STRONG>getstr</STRONG>, <STRONG>mvgetstr</STRONG>, <STRONG>mvwgetstr</STRONG>,  and  <STRONG>wgetstr</STRONG>  functions,
+       respectively,  except  that the <STRONG>*n*</STRONG> versions read at most <EM>n</EM> characters,
+       letting the application prevent overflow of the input buffer.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG>
-       (SVr4 specifies only "an integer value  other  than  <STRONG>ERR</STRONG>")
-       upon successful completion.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       All  of  these  functions  return  the  integer  <STRONG>OK</STRONG>   upon   successful
+       completion.  (SVr4 specifies only "an integer value other than <STRONG>ERR</STRONG>") If
+       unsuccessful, they return <STRONG>ERR</STRONG>.
 
        X/Open defines no error conditions.
 
-       In this implementation, these functions return an error if
-       the window pointer is null,  or  if  its  timeout  expires
-       without having any data.
+       In this implementation, these functions return an error
 
-       This  implementation  provides an extension as well.  If a
-       SIGWINCH interrupts the function, it will  return  <STRONG>KEY_RE-</STRONG>
-       <STRONG>SIZE</STRONG> rather than <STRONG>OK</STRONG> or <STRONG>ERR</STRONG>.
+       <STRONG>o</STRONG>   if the window pointer is null,
 
-       Functions  with a "mv" prefix first perform a cursor move-
-       ment using <STRONG>wmove</STRONG>, and return an error if the  position  is
-       outside the window, or if the window pointer is null.
+       <STRONG>o</STRONG>   if its timeout expires without having any data, or
+
+       <STRONG>o</STRONG>   if the associated call to <STRONG>wgetch</STRONG> failed.
+
+       This implementation provides an  extension  as  well.   If  a  <STRONG>SIGWINCH</STRONG>
+       interrupts  the  function,  it will return <STRONG>KEY_RESIZE</STRONG> rather than <STRONG>OK</STRONG> or
+       <STRONG>ERR</STRONG>.
+
+       Functions prefixed with "mv" first perform cursor movement and fail  if
+       the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       Note that <STRONG>getstr</STRONG>, <STRONG>mvgetstr</STRONG>, and <STRONG>mvwgetstr</STRONG> may be macros.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       Any of these functions other than <STRONG>wgetnstr</STRONG> may be macros.
+
+       Using  <STRONG>getstr</STRONG>,  <STRONG>mvgetstr</STRONG>,  <STRONG>mvwgetstr</STRONG>,  or  <STRONG>wgetstr</STRONG>  to read a line that
+       overflows the array pointed to by <STRONG>str</STRONG> causes  undefined  results.   The
+       use  of  <STRONG>getnstr</STRONG>,  <STRONG>mvgetnstr</STRONG>, <STRONG>mvwgetnstr</STRONG>, or <STRONG>wgetnstr</STRONG>, respectively, is
+       recommended.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  functions are described in the XSI Curses standard,
-       Issue 4.  They  read  single-byte  characters  only.   The
-       standard  does  not define any error conditions.  This im-
-       plementation returns ERR if the window pointer is null, or
-       if the lower-level <STRONG>wgetch</STRONG> call returns an ERR.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These functions are described in The Single Unix Specification, Version
+       2.  No error conditions are defined.
 
-       SVr3  and early SVr4 curses implementations did not reject
-       function keys; the SVr4.0 documentation claimed that "spe-
-       cial  keys"  (such  as  function keys, "home" key, "clear"
-       key, <EM>etc</EM>.) are "interpreted", without giving details.   It
-       lied.   In  fact,  the  `character'  value appended to the
-       string by those implementations was  predictable  but  not
-       useful  (being,  in  fact, the low-order eight bits of the
-       key's KEY_ value).
+       This  implementation  returns  <STRONG>ERR</STRONG> if the window pointer is null, or if
+       the lower-level <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> call returns an <STRONG>ERR</STRONG>.
 
-       The functions  <STRONG>getnstr</STRONG>,  <STRONG>mvgetnstr</STRONG>,  and  <STRONG>mvwgetnstr</STRONG>  were
-       present but not documented in SVr4.
+       SVr3 and early SVr4 curses  implementations  did  not  reject  function
+       keys;  the  SVr4.0  documentation  claimed that "special keys" (such as
+       function keys,  "home"  key,  "clear"  key,  <EM>etc</EM>.)  are  "interpreted",
+       without  giving  details.   It  lied.   In  fact, the "character" value
+       appended to the string by those implementations was predictable but not
+       useful  (being,  in  fact,  the  low-order eight bits of the key's KEY_
+       value).
+
+       The functions <STRONG>getnstr</STRONG>, <STRONG>mvgetnstr</STRONG>, and <STRONG>mvwgetnstr</STRONG> were present  but  not
+       documented in SVr4.
+
+       X/Open Curses, Issue 5 (2007) stated that these functions "read at most
+       <EM>n</EM> bytes" but did not state whether the terminating NUL  is  counted  in
+       that  limit.   X/Open  Curses,  Issue 7 (2009) changed that to say they
+       "read at most <EM>n</EM>-1 bytes" to allow for the terminating NUL.  As of 2018,
+       some implementations count it, some do not:
+
+       <STRONG>o</STRONG>   <EM>ncurses</EM>  6.1  and PDCurses do not count the NUL in the given limit,
+           while
+
+       <STRONG>o</STRONG>   Solaris SVr4 and NetBSD curses count the NUL as part of the limit.
+
+       <STRONG>o</STRONG>   Solaris  xcurses  provides  both:  its   wide-character   <STRONG>wget_nstr</STRONG>
+           reserves   a   NUL,  but  its  <STRONG>wgetnstr</STRONG>  does  not  count  the  NUL
+           consistently.
+
+       In SVr4 curses, a negative value of <EM>n</EM> tells <STRONG>wgetnstr</STRONG> to assume that the
+       caller's  buffer  is large enough to hold the result, i.e., to act like
+       <STRONG>wgetstr</STRONG>.  X/Open Curses does not mention this (or anything  related  to
+       negative  or  zero  values  of <EM>n</EM>), however most implementations use the
+       feature, with different limits:
+
+       <STRONG>o</STRONG>   Solaris SVr4 curses and PDCurses limit the  result  to  255  bytes.
+           Other Unix systems than Solaris are likely to use the same limit.
+
+       <STRONG>o</STRONG>   Solaris xcurses limits the result to <STRONG>LINE_MAX</STRONG> bytes.
+
+       <STRONG>o</STRONG>   NetBSD  7  assumes no particular limit for the result from <STRONG>wgetstr</STRONG>.
+           However, it limits the <STRONG>wgetnstr</STRONG> parameter <EM>n</EM> to ensure  that  it  is
+           greater than zero.
+
+           A  comment in NetBSD's source code states that this is specified in
+           SUSv2.
+
+       <STRONG>o</STRONG>   <EM>ncurses</EM> (before 6.2) assumes no particular  limit  for  the  result
+           from  <STRONG>wgetstr</STRONG>,  and  treats  the  <EM>n</EM> parameter of <STRONG>wgetnstr</STRONG> like SVr4
+           curses.
+
+       <STRONG>o</STRONG>   <EM>ncurses</EM> 6.2 uses <STRONG>LINE_MAX</STRONG>, or  a  larger  (system-dependent)  value
+           which  the  <STRONG>sysconf</STRONG>  function  may provide.  If neither <STRONG>LINE_MAX</STRONG> or
+           <STRONG>sysconf</STRONG> is available, <EM>ncurses</EM> uses the POSIX value for <STRONG>LINE_MAX</STRONG>  (a
+           2048  byte  limit).   In  either  case,  it reserves a byte for the
+           terminating NUL.
+
+       Although <STRONG>getnstr</STRONG> is equivalent to a series of calls to <STRONG>getch</STRONG>,  it  also
+       makes  changes to the curses modes to allow simple editing of the input
+       buffer:
+
+       <STRONG>o</STRONG>   <STRONG>getnstr</STRONG> saves the current value of the <STRONG>nl</STRONG>,  <STRONG>echo</STRONG>,  <STRONG>raw</STRONG>  and  <STRONG>cbreak</STRONG>
+           modes, and sets <STRONG>nl</STRONG>, <STRONG>noecho</STRONG>, <STRONG>noraw</STRONG>, and <STRONG>cbreak</STRONG>.
+
+           <STRONG>getnstr</STRONG>  handles  the echoing of characters, rather than relying on
+           the caller to set an appropriate mode.
+
+       <STRONG>o</STRONG>   It also obtains the <EM>erase</EM> and <EM>kill</EM> characters  from  <STRONG>erasechar</STRONG>  and
+           <STRONG>killchar</STRONG>, respectively.
+
+       <STRONG>o</STRONG>   On return, <STRONG>getnstr</STRONG> restores the modes to their previous values.
+
+       Other implementations differ in their treatment of special characters:
+
+       <STRONG>o</STRONG>   While  they  may  set  the  <EM>echo</EM> mode, other implementations do not
+           modify the <EM>raw</EM> mode, They may take  the  <EM>cbreak</EM>  mode  set  by  the
+           caller  into account when deciding whether to handle echoing within
+           <STRONG>getnstr</STRONG> or as a side-effect of the <STRONG>getch</STRONG> calls.
+
+       <STRONG>o</STRONG>   The original <EM>ncurses</EM> (as <EM>pcurses</EM> in 1986) set <STRONG>noraw</STRONG> and <STRONG>cbreak</STRONG> when
+           accepting  input  for  <STRONG>getnstr</STRONG>.   That  may  have been done to make
+           function- and cursor-keys work; it is not necessary with <EM>ncurses</EM>.
+
+           Since 1995, <EM>ncurses</EM> has provided signal handlers for INTR and  QUIT
+           (e.g.,  <STRONG>^C</STRONG>  or  <STRONG>^\</STRONG>).  With the <STRONG>noraw</STRONG> and <STRONG>cbreak</STRONG> settings, those may
+           catch a signal and stop the program,  where  other  implementations
+           allow one to enter those characters in the buffer.
+
+       <STRONG>o</STRONG>   Starting in 2021 (<EM>ncurses</EM> 6.3), <STRONG>getnstr</STRONG> sets <STRONG>raw</STRONG>, rather than <STRONG>noraw</STRONG>
+           and  <STRONG>cbreak</STRONG>  for  better  compatibility  with  SVr4-curses,   e.g.,
+           allowing one to enter a <STRONG>^C</STRONG> into the buffer.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library
+       in its wide-character configuration (<EM>ncursesw</EM>).
+
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>, <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
 
 
 
-                                                        <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                   <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
diff --git a/doc/html/man/curs_getyx.3x.html b/doc/html/man/curs_getyx.3x.html
index 03d88a0..1857170 100644
--- a/doc/html/man/curs_getyx.3x.html
+++ b/doc/html/man/curs_getyx.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc.              *
+  * Copyright 2020-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2007,2010 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,101 +27,89 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_getyx.3x,v 1.18 2010/12/04 18:36:44 tom Exp @
+  * @Id: curs_getyx.3x,v 1.44 2024/04/20 21:20:07 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_getyx 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_getyx 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_getyx 3x</H1>
+<H1 class="no-header">curs_getyx 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>                                           <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
+<STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>                   Library calls                  <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>getyx</STRONG>,  <STRONG>getparyx</STRONG>,  <STRONG>getbegyx</STRONG>,  <STRONG>getmaxyx</STRONG> - get <STRONG>curses</STRONG> cursor
-       and window coordinates
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>getyx</STRONG>,  <STRONG>getparyx</STRONG>,  <STRONG>getbegyx</STRONG>,  <STRONG>getmaxyx</STRONG>  -  get <EM>curses</EM> cursor and window
+       coordinates
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
-       <STRONG>void</STRONG> <STRONG>getyx(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
-       <STRONG>void</STRONG> <STRONG>getparyx(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
-       <STRONG>void</STRONG> <STRONG>getbegyx(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
-       <STRONG>void</STRONG> <STRONG>getmaxyx(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
+       <STRONG>void</STRONG> <STRONG>getyx(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
+       <STRONG>void</STRONG> <STRONG>getparyx(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
+       <STRONG>void</STRONG> <STRONG>getbegyx(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
+       <STRONG>void</STRONG> <STRONG>getmaxyx(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The <STRONG>getyx</STRONG> macro places the current cursor position of  the
-       given window in the two integer variables <EM>y</EM> and <EM>x</EM>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The <STRONG>getyx</STRONG> macro places the current cursor position of the given  window
+       in the two integer variables <EM>y</EM> and <EM>x</EM>.
 
-       If  <EM>win</EM>  is  a  subwindow,  the  <STRONG>getparyx</STRONG> macro places the
-       beginning coordinates of the  subwindow  relative  to  the
-       parent  window into two integer variables <EM>y</EM> and <EM>x</EM>.  Other-
-       wise, <STRONG>-1</STRONG> is placed into <EM>y</EM> and <EM>x</EM>.
+       If  <EM>win</EM>  is  a  subwindow,  the  <STRONG>getparyx</STRONG>  macro  places  the beginning
+       coordinates of the subwindow relative to the  parent  window  into  two
+       integer variables <EM>y</EM> and <EM>x</EM>.  Otherwise, <STRONG>-1</STRONG> is placed into <EM>y</EM> and <EM>x</EM>.
 
-       Like <STRONG>getyx</STRONG>, the <STRONG>getbegyx</STRONG> and  <STRONG>getmaxyx</STRONG>  macros  store  the
-       current  beginning  coordinates  and size of the specified
-       window.
+       Like  <STRONG>getyx</STRONG>,  the  <STRONG>getbegyx</STRONG>  and  <STRONG>getmaxyx</STRONG>  macros  store  the  current
+       beginning coordinates and size of the specified window.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The return values of these  macros  are  undefined  (i.e.,
-       they  should not be used as the right-hand side of assign-
-       ment statements).
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       The return values of these macros are undefined (i.e., they should  not
+       be used as the right-hand side of assignment statements).
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       All of these interfaces are macros.  A "<STRONG>&amp;</STRONG>" is  not  neces-
-       sary before the variables <EM>y</EM> and <EM>x</EM>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       All  of these interfaces are macros.  A "&amp;" is not necessary before the
+       variables <EM>y</EM> and <EM>x</EM>.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       The  <STRONG>getyx</STRONG>,  <STRONG>getparyx</STRONG>,  <STRONG>getbegyx</STRONG>  and  <STRONG>getmaxyx</STRONG> macros are
-       described in the XSI Curses standard, Issue 4.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       The <STRONG>getyx</STRONG>, <STRONG>getparyx</STRONG>, <STRONG>getbegyx</STRONG> and  <STRONG>getmaxyx</STRONG>  macros  are  described  in
+       X/Open Curses, Issue 4.
 
-       This implementation also provides functions <STRONG>getbegx</STRONG>, <STRONG>getb-</STRONG>
-       <STRONG>egy</STRONG>,  <STRONG>getcurx</STRONG>, <STRONG>getcury</STRONG>, <STRONG>getmaxx</STRONG>, <STRONG>getmaxy</STRONG>, <STRONG>getparx</STRONG> and <STRONG>get-</STRONG>
-       <STRONG>pary</STRONG> for compatibility with older versions of curses.
+       This  implementation also provides functions <STRONG>getbegx</STRONG>, <STRONG>getbegy</STRONG>, <STRONG>getcurx</STRONG>,
+       <STRONG>getcury</STRONG>, <STRONG>getmaxx</STRONG>, <STRONG>getmaxy</STRONG>, <STRONG>getparx</STRONG> and <STRONG>getpary</STRONG> for  compatibility  with
+       older versions of <EM>curses</EM>; see <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>.
 
-       Although X/Open Curses does not address this, many  imple-
-       mentations  provide  members  of the WINDOW structure con-
-       taining values corresponding to these  macros.   For  best
-       portability,  do  not  rely  on  using the data in WINDOW,
-       since some implementations  make  WINDOW  opaque  (do  not
-       allow direct use of its members).
+       Although  X/Open  Curses  does  not  address this, many implementations
+       provide members of the <STRONG>WINDOW</STRONG> structure containing values corresponding
+       to  these  macros.  For best portability, do not rely on using the data
+       in <STRONG>WINDOW</STRONG>, since some implementations make <STRONG>WINDOW</STRONG> opaque (do not  allow
+       direct use of its members).
 
-       Besides  the problem of opaque structures, the data stored
-       in like-named members may not have like-values in  differ-
-       ent  implementations.   For  example, the WINDOW._maxx and
-       WINDOW._maxy  values  in  ncurses  have  (at  least  since
-       release 1.8.1) differed by one from some other implementa-
-       tions.  The difference is hidden by  means  of  the  macro
+       Besides the problem of opaque structures, the data stored in like-named
+       members may not have like-values  in  different  implementations.   For
+       example,  the  <STRONG>WINDOW._maxx</STRONG> and <STRONG>WINDOW._maxy</STRONG> values in <EM>ncurses</EM> have (at
+       least  since  release  1.8.1)  differed  by   one   from   some   other
+       implementations.   The  difference  is  hidden  by  means  of the macro
        <STRONG>getmaxyx</STRONG>.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>, <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>
 
 
 
-                                                         <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                    <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
diff --git a/doc/html/man/curs_in_wch.3x.html b/doc/html/man/curs_in_wch.3x.html
index 9629734..1ea5b63 100644
--- a/doc/html/man/curs_in_wch.3x.html
+++ b/doc/html/man/curs_in_wch.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 2002-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 2002-2010,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,79 +27,73 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_in_wch.3x,v 1.5 2010/12/04 18:36:44 tom Exp @
+  * @Id: curs_in_wch.3x,v 1.31 2024/04/20 21:20:07 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_in_wch 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_in_wch 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_in_wch 3x</H1>
+<H1 class="no-header">curs_in_wch 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>                                         <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
+<STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>                  Library calls                 <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>in_wch</STRONG>,  <STRONG>mvin_wch</STRONG>,  <STRONG>mvwin_wch</STRONG>, <STRONG>win_wch</STRONG> - extract a complex
-       character and rendition from a window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>in_wch</STRONG>,  <STRONG>mvin_wch</STRONG>,  <STRONG>mvwin_wch</STRONG>, <STRONG>win_wch</STRONG> - get a <EM>curses</EM> complex character
+       from a window
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
-       <STRONG>int</STRONG> <STRONG>in_wch(cchar_t</STRONG> <STRONG>*</STRONG><EM>wcval</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvin_wch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wcval</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvwin_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wcval</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>win_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wcval</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>in_wch(cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>win_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>mvin_wch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvwin_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These functions extract the complex character  and  rendi-
-       tion  from  the  current position in the named window into
-       the <STRONG>cchar_t</STRONG> object referenced by wcval.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       These functions extract the complex character and  rendition  from  the
+       current position in the named window into the <STRONG>cchar_t</STRONG> object referenced
+       by wch.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       No errors are defined in the XSI  Curses  standard.   This
-       implementation  checks  for  null pointers, returns ERR in
-       that case.  Also, the <EM>mv</EM> routines check for  error  moving
-       the  cursor,  returning  ERR in that case.  Otherwise they
-       return OK
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       No errors are defined in X/Open Curses.  This implementation checks for
+       null  pointers,  returns <STRONG>ERR</STRONG> in that case.  Also, the <EM>mv</EM> routines check
+       for error moving the cursor, returning <STRONG>ERR</STRONG>  in  that  case.   Otherwise
+       they return <STRONG>OK</STRONG>.
 
-       Functions with a "mv" prefix first perform a cursor  move-
-       ment  using  <STRONG>wmove</STRONG>, 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 (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
        Note that all of these routines may be macros.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These functions are described in the XSI Curses  standard,
-       Issue 4.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These functions are described in X/Open Curses, Issue 4.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library  in
+       its non-wide-character configuration.
+
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
 
 
 
-                                                        <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                   <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
diff --git a/doc/html/man/curs_in_wchstr.3x.html b/doc/html/man/curs_in_wchstr.3x.html
index cfb7ef6..d7af18d 100644
--- a/doc/html/man/curs_in_wchstr.3x.html
+++ b/doc/html/man/curs_in_wchstr.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 2002-2010,2012 Free Software Foundation, Inc.              *
+  * Copyright 2018-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  *
   * copy of this software and associated documentation files (the            *
@@ -26,102 +27,106 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_in_wchstr.3x,v 1.9 2012/11/03 23:03:59 tom Exp @
+  * @Id: curs_in_wchstr.3x,v 1.39 2024/04/20 21:24:19 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_in_wchstr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_in_wchstr 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_in_wchstr 3x</H1>
+<H1 class="no-header">curs_in_wchstr 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>                                   <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+<STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>               Library calls              <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>in_wchstr</STRONG>, <STRONG>in_wchnstr</STRONG>, <STRONG>win_wchstr</STRONG>, <STRONG>win_wchnstr</STRONG>,
-       <STRONG>mvin_wchstr</STRONG>, <STRONG>mvin_wchnstr</STRONG>, <STRONG>mvwin_wchstr</STRONG>, <STRONG>mvwin_wchnstr</STRONG> -
-       get an array of complex characters and renditions from a
-       curses window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>in_wchstr</STRONG>,    <STRONG>in_wchnstr</STRONG>,    <STRONG>win_wchstr</STRONG>,    <STRONG>win_wchnstr</STRONG>,   <STRONG>mvin_wchstr</STRONG>,
+       <STRONG>mvin_wchnstr</STRONG>,  <STRONG>mvwin_wchstr</STRONG>,  <STRONG>mvwin_wchnstr</STRONG>  -  get  a  <EM>curses</EM>  complex
+       character string from a window
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
        <STRONG>int</STRONG> <STRONG>in_wchstr(cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>in_wchnstr(cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>win_wchstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>win_wchnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>mvin_wchstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvin_wchnstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>mvwin_wchstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvwin_wchnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM>, int <EM>n</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>in_wchnstr(cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>win_wchnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvin_wchnstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvwin_wchnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These functions return an array of complex  characters  in
-       <EM>wchstr</EM>,  starting  at  the  current cursor position in the
-       named window.  Attributes (rendition) are stored with  the
-       characters.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       These  functions  return  an  array  of  complex  characters in <EM>wchstr</EM>,
+       starting  at  the  current  cursor  position  in  the   named   window.
+       Attributes (rendition) are stored with the characters.
 
-       The  <STRONG>in_wchnstr</STRONG>, <STRONG>mvin_wchnstr</STRONG>, <STRONG>mvwin_wchnstr</STRONG> and <STRONG>win_wchn-</STRONG>
-       <STRONG>str</STRONG> fill the array with at most <EM>n</EM> <STRONG>cchar_t</STRONG> elements.
+       The  four  functions  with  <EM>n</EM>  as  the  last  argument return a leading
+       substring at most <EM>n</EM> characters long (exclusive of the  trailing  zeroed
+       <STRONG>cchar_t</STRONG>.   Transfer  stops  at  the  end of the current line, or when <EM>n</EM>
+       characters have been stored at the location referenced by <EM>wchstr</EM>.
+
+       Constants defined in <STRONG>&lt;curses.h&gt;</STRONG> can be used with the  <STRONG>&amp;</STRONG>  (logical  AND)
+       operator  to  extract  the  character  or  the attribute alone from any
+       position in the <EM>wchstr</EM> [see <STRONG><A HREF="curs_getcchar.3x.html">getcchar(3x)</A></STRONG>].
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       Note that all routines except <STRONG>win_wchnstr</STRONG> may be macros.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       Upon successful completion, these functions return <STRONG>OK</STRONG>.  Otherwise, they
+       return <STRONG>ERR</STRONG>.
 
-       Reading a line that overflows the array pointed to by <EM>wch-</EM>
-       <EM>str</EM>  with <STRONG>in_wchstr</STRONG>, <STRONG>mvin_wchstr</STRONG>, <STRONG>mvwin_wchstr</STRONG> or <STRONG>win_wch-</STRONG>
-       <STRONG>str</STRONG>  causes  undefined  results.  Therefore,  the  use  of
-       <STRONG>in_wchnstr</STRONG>, <STRONG>mvin_wchnstr</STRONG>, <STRONG>mvwin_wchnstr</STRONG>, or <STRONG>win_wchnstr</STRONG> is
-       recommended.
+       X/Open Curses defines no error conditions.  This implementation returns
+       an error
+
+       <STRONG>o</STRONG>   if the <EM>win</EM> parameter is null or
+
+       <STRONG>o</STRONG>   if the <EM>wchstr</EM> parameter is null.
+
+       Functions prefixed with "mv" first perform cursor movement and fail  if
+       the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Upon successful completion,  these  functions  return  <STRONG>OK</STRONG>.
-       Otherwise, they return <STRONG>ERR</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       All routines except <STRONG>win_wchnstr</STRONG> may be macros.
 
-       Functions  with a "mv" prefix first perform a cursor move-
-       ment using <STRONG>wmove</STRONG>, and return an error if the  position  is
-       outside the window, or if the window pointer is null.
+       Reading  a  line  that  overflows  the  array pointed to by <EM>wchstr</EM> with
+       <STRONG>in_wchstr</STRONG>, <STRONG>mvin_wchstr</STRONG>, <STRONG>mvwin_wchstr</STRONG>  or  <STRONG>win_wchstr</STRONG>  causes  undefined
+       results.     Therefore,    the   use   of   <STRONG>in_wchnstr</STRONG>,   <STRONG>mvin_wchnstr</STRONG>,
+       <STRONG>mvwin_wchnstr</STRONG>, or <STRONG>win_wchnstr</STRONG> is recommended.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       The  XSI  Curses defines no error conditions.  This imple-
-       mentation checks for null pointers, returning ERR in  that
-       case.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       X/Open Curses defines no error conditions.  This implementation  checks
+       for null pointers, returning <STRONG>ERR</STRONG> in that case.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       Functions:  <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,  <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>,  <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>,
-       <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG> <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>  describes comparable functions of the <EM>ncurses</EM> library
+       in its non-wide-character configuration.
+
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>, <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
 
 
 
-                                                     <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
 <li><a href="#h2-NAME">NAME</a></li>
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
diff --git a/doc/html/man/curs_inch.3x.html b/doc/html/man/curs_inch.3x.html
index ec1e2c7..15bd134 100644
--- a/doc/html/man/curs_inch.3x.html
+++ b/doc/html/man/curs_inch.3x.html
@@ -1,7 +1,8 @@
-<!-- 
+<!--
   * t
   ****************************************************************************
-  * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-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  *
   * copy of this software and associated documentation files (the            *
@@ -27,89 +28,106 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_inch.3x,v 1.17 2010/12/04 18:36:44 tom Exp @
+  * @Id: curs_inch.3x,v 1.51 2024/04/20 21:20:07 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_inch 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_inch 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_inch 3x</H1>
+<H1 class="no-header">curs_inch 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>                                             <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
+<STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>                    Library calls                   <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>inch</STRONG>,  <STRONG>winch</STRONG>,  <STRONG>mvinch</STRONG>,  <STRONG>mvwinch</STRONG>  -  get  a  character  and
-       attributes from a <STRONG>curses</STRONG> window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>inch</STRONG>, <STRONG>winch</STRONG>, <STRONG>mvinch</STRONG>, <STRONG>mvwinch</STRONG> - get a <EM>curses</EM> character from a window
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
        <STRONG>chtype</STRONG> <STRONG>inch(void);</STRONG>
-       <STRONG>chtype</STRONG> <STRONG>winch(WINDOW</STRONG> <STRONG>*win);</STRONG>
-       <STRONG>chtype</STRONG> <STRONG>mvinch(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
-       <STRONG>chtype</STRONG> <STRONG>mvwinch(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
+       <STRONG>chtype</STRONG> <STRONG>winch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+
+       <STRONG>chtype</STRONG> <STRONG>mvinch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
+       <STRONG>chtype</STRONG> <STRONG>mvwinch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These routines return the character, of  type  <STRONG>chtype</STRONG>,  at
-       the   current  position  in  the  named  window.   If  any
-       attributes are set for that  position,  their  values  are
-       OR'ed  into  the  value  returned.   Constants  defined in
-       <STRONG>&lt;curses.h&gt;</STRONG> can be used with the <STRONG>&amp;</STRONG> (logical  AND)  operator
-       to extract the character or attributes alone.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       These  routines  return  the  character, of type <STRONG>chtype</STRONG>, at the current
+       position in the named window.  If  any  attributes  are  set  for  that
+       position,  their  values  are OR'ed into the value returned.  Constants
+       defined in <STRONG>&lt;curses.h&gt;</STRONG> can be used with the <STRONG>&amp;</STRONG> (logical AND) operator  to
+       extract the character or attributes alone.
 
 
-</PRE>
-<H3><a name="h3-Attributes">Attributes</a></H3><PRE>
-       The  following  bit-masks  may  be  AND-ed with characters
-       returned by <STRONG>winch</STRONG>.
+</PRE><H3><a name="h3-Attributes">Attributes</a></H3><PRE>
+       The  following  bit  masks  may  be  AND-ed with characters returned by
+       <STRONG>winch</STRONG>.
 
-       <STRONG>A_CHARTEXT</STRONG>     Bit-mask to extract character
-       <STRONG>A_ATTRIBUTES</STRONG>   Bit-mask to extract attributes
-       <STRONG>A_COLOR</STRONG>        Bit-mask to extract color-pair field information
+       <STRONG>Name</STRONG>           <STRONG>Description</STRONG>
+       ------------------------------------------------------------------------
+       <STRONG>A_CHARTEXT</STRONG>     Extract character
+       <STRONG>A_ATTRIBUTES</STRONG>   Extract attributes
+       <STRONG>A_COLOR</STRONG>        Extract color pair information
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Functions with a "mv" prefix first perform a cursor  move-
-       ment  using  <STRONG>wmove</STRONG>, and return an error if the position is
-       outside the window, or if the window pointer is null.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       Functions prefixed with "mv" first perform cursor movement and fail  if
+       the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
+
+       The  <STRONG>winch</STRONG>  function  does  not  return an error if the window contains
+       characters larger than 8-bits (255).  Only the low-order 8 bits of  the
+       character are used by <STRONG>winch</STRONG>.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
        Note that all of these routines may be macros.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These functions are described in the XSI Curses  standard,
-       Issue 4.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These functions are described in X/Open Curses, Issue 4.
+
+       Very  old systems (before standardization) provide a different function
+       with the same name:
+
+       <STRONG>o</STRONG>   The <STRONG>winch</STRONG> function was part of the  original  BSD  curses  library,
+           which   stored   a  7-bit  character  combined  with  the  <EM>standout</EM>
+           attribute.
+
+           In BSD curses, <STRONG>winch</STRONG> returned only the character  (as  an  integer)
+           with the <EM>standout</EM> attribute removed.
+
+       <STRONG>o</STRONG>   System  V  curses  added support for several video attributes which
+           could be combined with characters in the window.
+
+           Reflecting this improvement, the function was altered to return the
+           character combined with all video attributes in a <STRONG>chtype</STRONG> value.
+
+       X/Open Curses does not specify the size and layout of attributes, color
+       and character values in <STRONG>chtype</STRONG>; it is  implementation-dependent.   This
+       implementation  uses 8 bits for character values.  An application using
+       more bits,  e.g.,  a  Unicode  value,  should  use  the  wide-character
+       equivalents to these functions.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>  describes  comparable functions of the <EM>ncurses</EM> library
+       in its wide-character configuration (<EM>ncursesw</EM>).
 
-       Comparable  functions  in  the  wide-character  (ncursesw)
-       library are described in <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>.
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
 
 
 
-                                                          <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                     <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
diff --git a/doc/html/man/curs_inchstr.3x.html b/doc/html/man/curs_inchstr.3x.html
index b231595..1eeb1b3 100644
--- a/doc/html/man/curs_inchstr.3x.html
+++ b/doc/html/man/curs_inchstr.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-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  *
   * copy of this software and associated documentation files (the            *
@@ -26,103 +27,100 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_inchstr.3x,v 1.15 2010/12/04 18:36:44 tom Exp @
+  * @Id: curs_inchstr.3x,v 1.45 2024/04/20 21:20:07 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_inchstr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_inchstr 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_inchstr 3x</H1>
+<H1 class="no-header">curs_inchstr 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>                                       <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+<STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>                 Library calls                <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>inchstr</STRONG>, <STRONG>inchnstr</STRONG>, <STRONG>winchstr</STRONG>, <STRONG>winchnstr</STRONG>, <STRONG>mvinchstr</STRONG>,
-       <STRONG>mvinchnstr</STRONG>, <STRONG>mvwinchstr</STRONG>, <STRONG>mvwinchnstr</STRONG> - get a string of
-       characters (and attributes) from a <STRONG>curses</STRONG> window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>inchstr</STRONG>,   <STRONG>inchnstr</STRONG>,   <STRONG>winchstr</STRONG>,   <STRONG>winchnstr</STRONG>,   <STRONG>mvinchstr</STRONG>,  <STRONG>mvinchnstr</STRONG>,
+       <STRONG>mvwinchstr</STRONG>, <STRONG>mvwinchnstr</STRONG> - get a <EM>curses</EM> character string from a window
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
-       <STRONG>int</STRONG> <STRONG>inchstr(chtype</STRONG> <STRONG>*chstr);</STRONG>
-       <STRONG>int</STRONG> <STRONG>inchnstr(chtype</STRONG> <STRONG>*chstr,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
-       <STRONG>int</STRONG> <STRONG>winchstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr);</STRONG>
-       <STRONG>int</STRONG> <STRONG>winchnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvinchstr(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvinchnstr(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvwinchstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr);</STRONG>
-       <STRONG>int</STRONG>  <STRONG>mvwinchnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr,</STRONG>
-       <STRONG>int</STRONG> <STRONG>n);</STRONG>
+       <STRONG>int</STRONG> <STRONG>inchstr(chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>inchnstr(chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>winchstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>winchnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>mvinchstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvinchnstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvwinchstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvwinchnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These routines return a NULL-terminated  array  of  <STRONG>chtype</STRONG>
-       quantities, starting at the current cursor position in the
-       named window and ending at the right margin of the window.
-       The  four  functions with <EM>n</EM> as the last argument, return a
-       leading substring at most <EM>n</EM> characters long (exclusive  of
-       the  trailing (chtype)0).  Constants defined in <STRONG>&lt;curses.h&gt;</STRONG>
-       can be used with the <STRONG>&amp;</STRONG> (logical AND) operator  to  extract
-       the  character or the attribute alone from any position in
-       the <EM>chstr</EM> [see <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>].
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       These routines return a NULL-terminated  array  of  <STRONG>chtype</STRONG>  quantities,
+       starting  at the current cursor position in the named window and ending
+       at the right margin of the window.
+
+       The four functions with <EM>n</EM>  as  the  last  argument,  return  a  leading
+       substring  at  most  <EM>n</EM>  characters  long  (exclusive  of  the  trailing
+       (chtype)0).  Transfer stops at the end of the current line, or  when  <EM>n</EM>
+       characters have been stored at the location referenced by <EM>chstr</EM>.
+
+       Constants  defined  in  <STRONG>&lt;curses.h&gt;</STRONG> can be used with the <STRONG>&amp;</STRONG> (logical AND)
+       operator to extract the character  or  the  attribute  alone  from  any
+       position in the <EM>chstr</EM> [see <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>].
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All routines return the integer <STRONG>ERR</STRONG> upon  failure  and  an
-       integer  value  other  than <STRONG>ERR</STRONG> upon successful completion
-       (the number of  characters  retrieved,  exclusive  of  the
-       trailing 0).
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       All  routines  return the integer <STRONG>ERR</STRONG> upon failure and an integer value
+       other than <STRONG>ERR</STRONG> upon successful completion  (the  number  of  characters
+       retrieved, exclusive of the trailing 0).
 
-       No  error  conditions are defined.  If the <EM>chstr</EM> parameter
-       is null, no data is returned, and the return value is  ze-
-       ro.
+       X/Open Curses defines no error conditions.  This implementation returns
+       an error
 
-       Functions  with a "mv" prefix first perform a cursor move-
-       ment using <STRONG>wmove</STRONG>, and return an error if the  position  is
-       outside the window, or if the window pointer is null.
+       <STRONG>o</STRONG>   if the <EM>win</EM> parameter is null or
+
+       <STRONG>o</STRONG>   if the <EM>chstr</EM> parameter is null.
+
+       Functions prefixed with "mv" first perform cursor movement and fail  if
+       the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       Note  that  all  routines  except <STRONG>winchnstr</STRONG> may be macros.
-       SVr4 does not document whether the result string is  zero-
-       terminated;  it  does  not document whether a length limit
-       argument includes any trailing 0; and it does not document
-       the meaning of the return value.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       All routines except <STRONG>winchnstr</STRONG> may be macros.
+
+       SVr4 does not document whether the result string is zero-terminated; it
+       does not document whether a length limit argument includes any trailing
+       0; and it does not document the meaning of the return value.
+
+       Reading  a  line  that  overflows  the  array  pointed to by <EM>chstr</EM> with
+       <STRONG>inchstr</STRONG>, <STRONG>mvinchstr</STRONG>, <STRONG>mvwinchstr</STRONG> or <STRONG>winchstr</STRONG>  causes  undefined  results.
+       Therefore,  the  use of <STRONG>inchnstr</STRONG>, <STRONG>mvinchnstr</STRONG>, <STRONG>mvwinchnstr</STRONG>, or <STRONG>winchnstr</STRONG>
+       is recommended.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  functions are described in the XSI Curses standard,
-       Issue 4.  It is no more specific than the SVr4  documenta-
-       tion on the trailing 0.  It does specify that the success-
-       ful return of the functions is <STRONG>OK</STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These functions are described in X/Open Curses, Issue 4.  It is no more
+       specific  than  the  SVr4  documentation  on  the  trailing 0.  It does
+       specify that the successful return of the functions is <STRONG>OK</STRONG>.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>.
-
-       Comparable functions in the wide-character (ncursesw)  li-
-       brary are described in <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>, <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>, <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
 
 
 
-                                                       <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                  <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
diff --git a/doc/html/man/curs_initscr.3x.html b/doc/html/man/curs_initscr.3x.html
index 3c47ac6..778fc00 100644
--- a/doc/html/man/curs_initscr.3x.html
+++ b/doc/html/man/curs_initscr.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2014,2015 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2016,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,263 +27,279 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_initscr.3x,v 1.24 2015/07/21 23:01:38 tom Exp @
+  * @Id: curs_initscr.3x,v 1.69 2024/04/20 21:24:19 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_initscr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_initscr 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_initscr 3x</H1>
+<H1 class="no-header">curs_initscr 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>                                       <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+<STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>                 Library calls                <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>initscr</STRONG>, <STRONG>newterm</STRONG>, <STRONG>endwin</STRONG>, <STRONG>isendwin</STRONG>, <STRONG>set_term</STRONG>, <STRONG>delscreen</STRONG> -
-       <STRONG>curses</STRONG> screen initialization and manipulation routines
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>initscr</STRONG>,  <STRONG>newterm</STRONG>,  <STRONG>endwin</STRONG>, <STRONG>isendwin</STRONG>, <STRONG>set_term</STRONG>, <STRONG>delscreen</STRONG> - initialize,
+       manipulate, or tear down <EM>curses</EM> terminal interface
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
        <STRONG>WINDOW</STRONG> <STRONG>*initscr(void);</STRONG>
        <STRONG>int</STRONG> <STRONG>endwin(void);</STRONG>
+
        <STRONG>bool</STRONG> <STRONG>isendwin(void);</STRONG>
-       <STRONG>SCREEN</STRONG> <STRONG>*newterm(char</STRONG> <STRONG>*</STRONG><EM>type</EM><STRONG>,</STRONG> <STRONG>FILE</STRONG> <STRONG>*</STRONG><EM>outfd</EM><STRONG>,</STRONG> <STRONG>FILE</STRONG> <STRONG>*</STRONG><EM>infd</EM><STRONG>);</STRONG>
+
+       <STRONG>SCREEN</STRONG> <STRONG>*newterm(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>type</EM><STRONG>,</STRONG> <STRONG>FILE</STRONG> <STRONG>*</STRONG><EM>outf</EM><STRONG>,</STRONG> <STRONG>FILE</STRONG> <STRONG>*</STRONG><EM>inf</EM><STRONG>);</STRONG>
        <STRONG>SCREEN</STRONG> <STRONG>*set_term(SCREEN</STRONG> <STRONG>*</STRONG><EM>new</EM><STRONG>);</STRONG>
        <STRONG>void</STRONG> <STRONG>delscreen(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
 
-</PRE>
-<H3><a name="h3-initscr">initscr</a></H3><PRE>
-       <STRONG>initscr</STRONG> is normally the first <STRONG>curses</STRONG> routine to call  when
-       initializing  a program.  A few special routines sometimes
-       need to be called before it; these are  <STRONG>slk_init</STRONG>,  <STRONG>filter</STRONG>,
-       <STRONG>ripoffline</STRONG>,  <STRONG>use_env</STRONG>.  For multiple-terminal applications,
-       <STRONG>newterm</STRONG> may be called before <STRONG>initscr</STRONG>.
+</PRE><H3><a name="h3-initscr">initscr</a></H3><PRE>
+       <STRONG>initscr</STRONG> is normally the first <STRONG>curses</STRONG> routine to call when  initializing
+       a  program.   A few special routines sometimes need to be called before
+       it; these are <STRONG><A HREF="curs_slk.3x.html">slk_init(3x)</A></STRONG>, <STRONG>filter</STRONG>, <STRONG>ripoffline</STRONG>, <STRONG>use_env</STRONG>.  For multiple-
+       terminal applications, <STRONG>newterm</STRONG> may be called before <STRONG>initscr</STRONG>.
 
-       The initscr code determines the terminal type and initial-
-       izes  all <STRONG>curses</STRONG> data structures.  <STRONG>initscr</STRONG> also causes the
-       first call to <STRONG>refresh</STRONG> to clear the screen.  If errors  oc-
-       cur,  <STRONG>initscr</STRONG> writes an appropriate error message to stan-
-       dard error and exits; otherwise, a pointer is returned  to
-       <STRONG>stdscr</STRONG>.
+       The  initscr  code  determines  the  terminal  type and initializes all
+       <STRONG>curses</STRONG>  data  structures.   <STRONG>initscr</STRONG>  also  causes  the  first  call  to
+       <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>  to  clear  the screen.  If errors occur, <STRONG>initscr</STRONG> writes an
+       appropriate error message to standard error  and  exits;  otherwise,  a
+       pointer is returned to <STRONG>stdscr</STRONG>.
 
 
-</PRE>
-<H3><a name="h3-newterm">newterm</a></H3><PRE>
-       A  program  that  outputs to more than one terminal should
-       use the <STRONG>newterm</STRONG>  routine  for  each  terminal  instead  of
-       <STRONG>initscr</STRONG>.  A program that needs to inspect capabilities, so
-       it can continue to run in a line-oriented mode if the ter-
-       minal cannot support a screen-oriented program, would also
-       use <STRONG>newterm</STRONG>.  The routine <STRONG>newterm</STRONG> should  be  called  once
-       for each terminal.  It returns a variable of type <STRONG>SCREEN</STRONG> <STRONG>*</STRONG>
-       which should be saved as a  reference  to  that  terminal.
-       <STRONG>newterm</STRONG>'s arguments are
+</PRE><H3><a name="h3-newterm">newterm</a></H3><PRE>
+       A program that outputs to more than one terminal should use the <STRONG>newterm</STRONG>
+       routine for each terminal instead of <STRONG>initscr</STRONG>.  A program that needs  to
+       inspect capabilities, so it can continue to run in a line-oriented mode
+       if the terminal cannot support a screen-oriented  program,  would  also
+       use <STRONG>newterm</STRONG>.
+
+       The  routine  <STRONG>newterm</STRONG>  should  be  called  once  for each terminal.  It
+       returns a variable of  type  <EM>SCREEN</EM>  <EM>*</EM>  which  should  be  saved  as  a
+       reference to that terminal.  <STRONG>newterm</STRONG>'s arguments are
 
        <STRONG>o</STRONG>   the <EM>type</EM> of the terminal to be used in place of <STRONG>$TERM</STRONG>,
 
-       <STRONG>o</STRONG>   a file pointer for output to the terminal, and
+       <STRONG>o</STRONG>   an output stream connected to the terminal, and
 
-       <STRONG>o</STRONG>   another file pointer for input from the terminal
+       <STRONG>o</STRONG>   an input stream connected to the terminal
 
        If the <EM>type</EM> parameter is <STRONG>NULL</STRONG>, <STRONG>$TERM</STRONG> will be used.
 
-
-</PRE>
-<H3><a name="h3-endwin">endwin</a></H3><PRE>
-       The  program must also call <STRONG>endwin</STRONG> for each terminal being
-       used before exiting from <STRONG>curses</STRONG>.   If  <STRONG>newterm</STRONG>  is  called
-       more  than  once for the same terminal, the first terminal
-       referred to must be the  last  one  for  which  <STRONG>endwin</STRONG>  is
-       called.
-
-       A  program should always call <STRONG>endwin</STRONG> before exiting or es-
-       caping from <STRONG>curses</STRONG> mode temporarily.  This routine
-
-       <STRONG>o</STRONG>   restores tty modes,
-
-       <STRONG>o</STRONG>   moves the cursor to the lower left-hand corner of  the
-           screen and
-
-       <STRONG>o</STRONG>   resets the terminal into the proper non-visual mode.
-
-       Calling <STRONG>refresh</STRONG> or <STRONG>doupdate</STRONG> after a temporary escape caus-
-       es the program to resume visual mode.
+       The  file  descriptor  of the output stream is passed to <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>,
+       which returns a pointer to  a  <EM>TERMINAL</EM>  structure.   <STRONG>newterm</STRONG>'s  return
+       value holds a pointer to the <EM>TERMINAL</EM> structure.
 
 
-</PRE>
-<H3><a name="h3-isendwin">isendwin</a></H3><PRE>
-       The <STRONG>isendwin</STRONG> routine  returns  <STRONG>TRUE</STRONG>  if  <STRONG>endwin</STRONG>  has  been
-       called without any subsequent calls to <STRONG>wrefresh</STRONG>, and <STRONG>FALSE</STRONG>
-       otherwise.
+</PRE><H3><a name="h3-endwin">endwin</a></H3><PRE>
+       The  program  must also call <STRONG>endwin</STRONG> for each terminal being used before
+       exiting from <STRONG>curses</STRONG>.  If <STRONG>newterm</STRONG> is called more than once for the  same
+       terminal, the first terminal referred to must be the last one for which
+       <STRONG>endwin</STRONG> is called.
+
+       A program should always call <STRONG>endwin</STRONG> before  exiting  or  escaping  from
+       <STRONG>curses</STRONG> mode temporarily.  This routine
+
+       <STRONG>o</STRONG>   resets colors to correspond with the default color pair 0,
+
+       <STRONG>o</STRONG>   moves the cursor to the lower left-hand corner of the screen,
+
+       <STRONG>o</STRONG>   clears  the  remainder  of  the  line  so  that it uses the default
+           colors,
+
+       <STRONG>o</STRONG>   sets the cursor to normal visibility (see <STRONG><A HREF="curs_kernel.3x.html">curs_set(3x)</A></STRONG>),
+
+       <STRONG>o</STRONG>   stops  cursor-addressing  mode  using  the  <EM>exit</EM><STRONG>_</STRONG><EM>ca</EM><STRONG>_</STRONG><EM>mode</EM>   terminal
+           capability,
+
+       <STRONG>o</STRONG>   restores tty modes (see <STRONG><A HREF="curs_kernel.3x.html">reset_shell_mode(3x)</A></STRONG>).
+
+       Calling <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> or <STRONG><A HREF="curs_refresh.3x.html">doupdate(3x)</A></STRONG> after a temporary escape causes the
+       program to resume visual mode.
 
 
-</PRE>
-<H3><a name="h3-set_term">set_term</a></H3><PRE>
-       The <STRONG>set_term</STRONG> routine is used to switch  between  different
-       terminals.   The screen reference <STRONG>new</STRONG> becomes the new cur-
-       rent terminal.  The previous terminal is returned  by  the
-       routine.   This  is  the  only  routine  which manipulates
-       <STRONG>SCREEN</STRONG> pointers; all other routines affect only  the  cur-
-       rent terminal.
+</PRE><H3><a name="h3-isendwin">isendwin</a></H3><PRE>
+       The <STRONG>isendwin</STRONG> routine returns <STRONG>TRUE</STRONG> if <STRONG>endwin</STRONG> has been called without any
+       subsequent calls to <STRONG>wrefresh</STRONG>, and <STRONG>FALSE</STRONG> otherwise.
 
 
-</PRE>
-<H3><a name="h3-delscreen">delscreen</a></H3><PRE>
-       The  <STRONG>delscreen</STRONG>  routine  frees storage associated with the
-       <STRONG>SCREEN</STRONG> data structure.  The <STRONG>endwin</STRONG>  routine  does  not  do
-       this, so <STRONG>delscreen</STRONG> should be called after <STRONG>endwin</STRONG> if a par-
-       ticular <STRONG>SCREEN</STRONG> is no longer needed.
+</PRE><H3><a name="h3-set_term">set_term</a></H3><PRE>
+       The  <STRONG>set_term</STRONG>  routine  is  used to switch between different terminals.
+       The screen  reference  <EM>new</EM>  becomes  the  new  current  terminal.   The
+       previous terminal is returned by the routine.  This is the only routine
+       which manipulates <EM>SCREEN</EM> pointers; all other routines affect  only  the
+       current terminal.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       <STRONG>endwin</STRONG> returns the integer <STRONG>ERR</STRONG> upon failure  and  <STRONG>OK</STRONG>  upon
-       successful completion.
+</PRE><H3><a name="h3-delscreen">delscreen</a></H3><PRE>
+       The  <STRONG>delscreen</STRONG>  routine  frees  storage associated with the <EM>SCREEN</EM> data
+       structure.  The <STRONG>endwin</STRONG> routine does not do this, so <STRONG>delscreen</STRONG> should be
+       called after <STRONG>endwin</STRONG> if a particular <EM>SCREEN</EM> is no longer needed.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       <STRONG>endwin</STRONG>  returns  the  integer  <STRONG>ERR</STRONG>  upon failure and <STRONG>OK</STRONG> upon successful
+       completion.
 
        Routines that return pointers always return <STRONG>NULL</STRONG> on error.
 
-       X/Open  defines  no error conditions.  In this implementa-
-       tion
+       X/Open defines no error conditions.  In this implementation
 
-       <STRONG>o</STRONG>   <STRONG>endwin</STRONG> returns an error if the terminal was  not  ini-
-           tialized.
+       <STRONG>o</STRONG>   <STRONG>endwin</STRONG> returns an error if
 
-       <STRONG>o</STRONG>   <STRONG>newterm</STRONG> returns an error if it cannot allocate the da-
-           ta structures for the screen,  or  for  the  top-level
-           windows  within  the  screen, i.e., <STRONG>curscr</STRONG>, <STRONG>newscr</STRONG>, or
-           <STRONG>stdscr</STRONG>.
+           <STRONG>o</STRONG>   the terminal was not initialized, or
+
+           <STRONG>o</STRONG>   <STRONG>endwin</STRONG> is called more than once without updating the screen, or
+
+           <STRONG>o</STRONG>   <STRONG><A HREF="curs_kernel.3x.html">reset_shell_mode(3x)</A></STRONG> returns an error.
+
+       <STRONG>o</STRONG>   <STRONG>newterm</STRONG> returns an error if it cannot allocate the data  structures
+           for  the  screen,  or  for the top-level windows within the screen,
+           i.e., <STRONG>curscr</STRONG>, <STRONG>newscr</STRONG>, or <STRONG>stdscr</STRONG>.
 
        <STRONG>o</STRONG>   <STRONG>set_term</STRONG> returns no error.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       Note that <STRONG>initscr</STRONG> and <STRONG>newterm</STRONG> may be macros.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These functions were described in X/Open Curses, Issue 4.  As of  2015,
+       the current document is X/Open Curses, Issue 7.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These functions were described in the XSI Curses standard,
-       Issue 4.  As of 2015, the current document is X/Open Curs-
-       es, Issue 7.
-
-
-</PRE>
-<H3><a name="h3-Differences">Differences</a></H3><PRE>
-       X/Open specifies that portable applications must not  call
+</PRE><H3><a name="h3-Differences">Differences</a></H3><PRE>
+       X/Open  Curses  specifies  that  portable  applications  must  not call
        <STRONG>initscr</STRONG> more than once:
 
-       <STRONG>o</STRONG>   The  portable  way  to use <STRONG>initscr</STRONG> is once only, using
-           <STRONG>refresh</STRONG> (see <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>) to restore  the  screen
-           after <STRONG>endwin</STRONG>.
+       <STRONG>o</STRONG>   The portable way to use <STRONG>initscr</STRONG> is once only, using <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>  to
+           restore the screen after <STRONG>endwin</STRONG>.
 
        <STRONG>o</STRONG>   This implementation allows using <STRONG>initscr</STRONG> after <STRONG>endwin</STRONG>.
 
-       Old versions of curses, e.g., BSD 4.4, may have returned a
-       null pointer from  <STRONG>initscr</STRONG>  when  an  error  is  detected,
-       rather  than  exiting.   It is safe but redundant to check
-       the return value of <STRONG>initscr</STRONG> in XSI Curses.
+       Old versions of curses, e.g., BSD 4.4, would return a null pointer from
+       <STRONG>initscr</STRONG> when an error is detected, rather than exiting.  It is safe but
+       redundant to check the return value of <STRONG>initscr</STRONG> in X/Open Curses.
+
+       Calling  <STRONG>endwin</STRONG>  does not dispose of the memory allocated in <STRONG>initscr</STRONG> or
+       <STRONG>newterm</STRONG>.  Deleting a <EM>SCREEN</EM> provides a way to do this:
+
+       <STRONG>o</STRONG>   X/Open Curses does not say what happens to <EM>WINDOW</EM>s  when  <STRONG>delscreen</STRONG>
+           "frees  storage  associated  with  the  <EM>SCREEN</EM>"  nor  does the SVr4
+           documentation help, adding that it should be called after <STRONG>endwin</STRONG> if
+           a <EM>SCREEN</EM> is no longer needed.
+
+       <STRONG>o</STRONG>   However,  <EM>WINDOW</EM>s are implicitly associated with a <EM>SCREEN</EM>.  so that
+           it is reasonable to expect <STRONG>delscreen</STRONG> to deal with these.
+
+       <STRONG>o</STRONG>   SVr4 curses deletes  the  standard  <EM>WINDOW</EM>  structures  <STRONG>stdscr</STRONG>  and
+           <STRONG>curscr</STRONG>  as  well  as a work area <STRONG>newscr</STRONG>.  SVr4 curses ignores other
+           windows.
+
+       <STRONG>o</STRONG>   Since version 4.0 (1996), <EM>ncurses</EM> has  maintained  a  list  of  all
+           windows  for  each  screen,  using that information to delete those
+           windows when <STRONG>delscreen</STRONG> is called.
+
+       <STRONG>o</STRONG>   NetBSD copied this feature of <EM>ncurses</EM> in  2001.   PDCurses  follows
+           the SVr4 model, deleting only the standard <EM>WINDOW</EM> structures.
 
 
-</PRE>
-<H3><a name="h3-Unset-TERM-Variable">Unset TERM Variable</a></H3><PRE>
-       If the TERM variable is missing or empty, <STRONG>initscr</STRONG> uses the
-       value  "unknown", which normally corresponds to a terminal
-       entry with the <EM>generic</EM> (<EM>gn</EM>) capability.   Generic  entries
-       are detected by <STRONG>setupterm</STRONG> (see <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>) and can-
-       not be used for full-screen operation.  Other  implementa-
-       tions  may handle a missing/empty TERM variable different-
-       ly.
+</PRE><H3><a name="h3-High-level-versus-Low-level">High-level versus Low-level</a></H3><PRE>
+       Different  implementations  may  disagree  regarding  the level of some
+       functions.  For example, <EM>SCREEN</EM>  (returned  by  <STRONG>newterm</STRONG>)  and  <EM>TERMINAL</EM>
+       (returned  by  <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>)  hold  file  descriptors  for  the output
+       stream.  If an application switches screens using <STRONG>set_term</STRONG>, or switches
+       terminals using <STRONG><A HREF="curs_terminfo.3x.html">set_curterm(3x)</A></STRONG>, applications which use the output file
+       descriptor can have different behavior  depending  on  which  structure
+       holds the corresponding descriptor.
+
+       For example
+
+       <STRONG>o</STRONG>   NetBSD's  <STRONG><A HREF="curs_termattrs.3x.html">baudrate(3x)</A></STRONG>  function  uses  the descriptor in <EM>TERMINAL</EM>.
+           <EM>ncurses</EM> and SVr4 use the descriptor in <EM>SCREEN</EM>.
+
+       <STRONG>o</STRONG>   NetBSD and <EM>ncurses</EM> use the descriptor in <EM>TERMINAL</EM> for terminal  I/O
+           modes,  e.g.,  <STRONG><A HREF="curs_kernel.3x.html">def_shell_mode(3x)</A></STRONG>,  <STRONG><A HREF="curs_kernel.3x.html">def_prog_mode(3x)</A></STRONG>.  SVr4 curses
+           uses the descriptor in <EM>SCREEN</EM>.
+
+   <STRONG>Unset</STRONG> <EM>TERM</EM> <STRONG>Variable</STRONG>
+       If the <EM>TERM</EM> variable is  missing  or  empty,  <STRONG>initscr</STRONG>  uses  the  value
+       "unknown",  which  normally  corresponds  to  a terminal entry with the
+       <EM>generic</EM> (<EM>gn</EM>) capability.  Generic entries are detected by <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>
+       and  cannot  be  used for full-screen operation.  Other implementations
+       may handle a missing/empty <EM>TERM</EM> variable differently.
 
 
-</PRE>
-<H3><a name="h3-Signal-Handlers">Signal Handlers</a></H3><PRE>
-       Quoting from X/Open Curses, section 3.1.1:
+</PRE><H3><a name="h3-Signal-Handlers">Signal Handlers</a></H3><PRE>
+       Quoting from X/Open Curses Issue 7, section 3.1.1:
 
-            <EM>Curses</EM> <EM>implementations</EM> <EM>may</EM> <EM>provide</EM> <EM>for</EM>  <EM>special</EM>  <EM>han-</EM>
-            <EM>dling</EM>  <EM>of</EM>  <EM>the</EM> <EM>SIGINT,</EM> <EM>SIGQUIT</EM> <EM>and</EM> <EM>SIGTSTP</EM> <EM>signals</EM> <EM>if</EM>
-            <EM>their</EM> <EM>disposition</EM> <EM>is</EM> <EM>SIG</EM><STRONG>_</STRONG><EM>DFL</EM> <EM>at</EM> <EM>the</EM> <EM>time</EM> <STRONG>initscr()</STRONG> <EM>is</EM>
-            <EM>called</EM> <STRONG>...</STRONG>
+            Curses implementations may provide for  special  handling  of  the
+            SIGINT,  SIGQUIT,  and  SIGTSTP  signals  if  their disposition is
+            SIG_DFL at the time <EM>initscr</EM> is called...
 
-            <EM>Any</EM>  <EM>special</EM> <EM>handling</EM> <EM>for</EM> <EM>these</EM> <EM>signals</EM> <EM>may</EM> <EM>remain</EM> <EM>in</EM>
-            <EM>effect</EM> <EM>for</EM> <EM>the</EM> <EM>life</EM>  <EM>of</EM>  <EM>the</EM>  <EM>process</EM>  <EM>or</EM>  <EM>until</EM>  <EM>the</EM>
-            <EM>process</EM> <EM>changes</EM> <EM>the</EM> <EM>disposition</EM> <EM>of</EM> <EM>the</EM> <EM>signal.</EM>
+            Any special handling for these signals may remain  in  effect  for
+            the  life  of  the  process  or  until  the  process  changes  the
+            disposition of the signal.
 
-            <EM>None</EM>  <EM>of</EM> <EM>the</EM> <EM>Curses</EM> <EM>functions</EM> <EM>are</EM> <EM>required</EM> <EM>to</EM> <EM>be</EM> <EM>safe</EM>
-            <EM>with</EM> <EM>respect</EM> <EM>to</EM> <EM>signals</EM> ...
+            None of the Curses functions are required to be safe with  respect
+            to signals...
 
-       This implementation  establishes  signal  handlers  during
-       initialization,  e.g.,  <STRONG>initscr</STRONG>  or <STRONG>newterm</STRONG>.  Applications
-       which must handle these signals should set up  the  corre-
-       sponding handlers <EM>after</EM> initializing the library:
+       This  implementation establishes signal handlers during initialization,
+       e.g., <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>.  Applications which must handle these signals
+       should  set  up  the  corresponding  handlers  <EM>after</EM>  initializing  the
+       library:
 
        <STRONG>SIGINT</STRONG>
-            The  handler  <EM>attempts</EM> to cleanup the screen on exit.
-            Although it <EM>usually</EM> works as expected, there are lim-
-            itations:
+            The handler <EM>attempts</EM> to clean up the screen on exit.  Although  it
+            <EM>usually</EM> works as expected, there are limitations:
 
-            <STRONG>o</STRONG>   Walking the <STRONG>SCREEN</STRONG> list is unsafe, since all list
-                management is done without any signal blocking.
+            <STRONG>o</STRONG>   Walking  the  <EM>SCREEN</EM> list is unsafe, since all list management
+                is done without any signal blocking.
 
-            <STRONG>o</STRONG>   On  systems  which  have  <STRONG>REENTRANT</STRONG>  turned   on,
-                <STRONG>set_term</STRONG>  uses  functions which could deadlock or
-                misbehave in other ways.
+            <STRONG>o</STRONG>   On systems which  have  <STRONG>REENTRANT</STRONG>  turned  on,  <STRONG>set_term</STRONG>  uses
+                functions which could deadlock or misbehave in other ways.
 
-            <STRONG>o</STRONG>   <STRONG>endwin</STRONG> calls other functions, many of  which  use
-                stdio or other library functions which are clear-
-                ly unsafe.
+            <STRONG>o</STRONG>   <STRONG>endwin</STRONG>  calls  other  functions, many of which use <STRONG>stdio(3)</STRONG> or
+                other library functions which are clearly unsafe.
 
        <STRONG>SIGTERM</STRONG>
-            This uses the same handler as <STRONG>SIGINT</STRONG>, with  the  same
-            limitations.   It  is not mentioned in X/Open Curses,
-            but is more suitable for this  purpose  than  <STRONG>SIGQUIT</STRONG>
-            (which is used in debugging).
+            This uses the same handler as <STRONG>SIGINT</STRONG>, with the  same  limitations.
+            It  is  not  mentioned  in X/Open Curses, but is more suitable for
+            this purpose than <STRONG>SIGQUIT</STRONG> (which is used in debugging).
 
        <STRONG>SIGTSTP</STRONG>
-            This  handles  the  <EM>stop</EM> signal, used in job control.
-            When resuming the process, this  implementation  dis-
-            cards    pending    input    with   <STRONG>flushinput</STRONG>   (see
-            <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>), and repaints the screen assuming that
-            it  has been completely altered.  It also updates the
-            saved  terminal  modes   with   <STRONG>def_shell_mode</STRONG>   (see
-            <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>).
+            This handles the <EM>stop</EM> signal, used in job control.  When  resuming
+            the  process,  this  implementation  discards  pending  input with
+            <STRONG><A HREF="curs_util.3x.html">flushinp(3x)</A></STRONG>, and repaints the screen assuming that  it  has  been
+            completely altered.  It also updates the saved terminal modes with
+            <STRONG><A HREF="curs_kernel.3x.html">def_shell_mode(3x)</A></STRONG>.
 
        <STRONG>SIGWINCH</STRONG>
-            This  handles the window-size changes which were ini-
-            tially ignored in the standardization  efforts.   The
-            handler  sets a (signal-safe) variable which is later
-            tested in <STRONG>wgetch</STRONG> (see <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>).  If <STRONG>keypad</STRONG> has
-            been enabled for the corresponding window, <STRONG>wgetch</STRONG> re-
-            turns the key symbol <STRONG>KEY_RESIZE</STRONG>.  At the  same  time,
-            <STRONG>wgetch</STRONG> calls <STRONG>resizeterm</STRONG> to adjust the standard screen
-            <STRONG>stdscr</STRONG>, and update other data such as <STRONG>LINES</STRONG> and <STRONG>COLS</STRONG>.
+            This handles the window-size changes which  were  ignored  in  the
+            standardization   efforts.    The  handler  sets  a  (signal-safe)
+            variable which is later tested in <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>.  If <STRONG>keypad</STRONG> has  been
+            enabled  for  the  corresponding  window,  <STRONG>wgetch</STRONG>  returns the key
+            symbol <STRONG>KEY_RESIZE</STRONG>.  At the same time, <STRONG>wgetch</STRONG> calls  <STRONG>resizeterm</STRONG>  to
+            adjust  the  standard screen <STRONG>stdscr</STRONG>, and update other data such as
+            <STRONG>LINES</STRONG> and <STRONG>COLS</STRONG>.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,       <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>,       <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>,
-       <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <STRONG>curs_vari-</STRONG>
-       <STRONG><A HREF="curs_variables.3x.html">ables(3x)</A></STRONG>.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,    <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>,     <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>,     <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>,
+       <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
 
 
 
-                                                       <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                  <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -299,11 +316,10 @@
 </ul>
 </li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a>
 <ul>
 <li><a href="#h3-Differences">Differences</a></li>
-<li><a href="#h3-Unset-TERM-Variable">Unset TERM Variable</a></li>
+<li><a href="#h3-High-level-versus-Low-level">High-level versus Low-level</a></li>
 <li><a href="#h3-Signal-Handlers">Signal Handlers</a></li>
 </ul>
 </li>
diff --git a/doc/html/man/curs_inopts.3x.html b/doc/html/man/curs_inopts.3x.html
index b8d94dd..149b2b8 100644
--- a/doc/html/man/curs_inopts.3x.html
+++ b/doc/html/man/curs_inopts.3x.html
@@ -1,6 +1,8 @@
-<!-- 
+<!--
+  * t
   ****************************************************************************
-  * Copyright (c) 1998-2013,2015 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2016,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,306 +28,328 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_inopts.3x,v 1.19 2015/04/11 10:21:38 tom Exp @
+  * @Id: curs_inopts.3x,v 1.66 2024/04/13 22:20:29 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_inopts 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_inopts 3x 2024-04-13 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_inopts 3x</H1>
+<H1 class="no-header">curs_inopts 3x 2024-04-13 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>                                         <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+<STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>                  Library calls                 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>cbreak</STRONG>, <STRONG>nocbreak</STRONG>, <STRONG>echo</STRONG>, <STRONG>noecho</STRONG>, <STRONG>halfdelay</STRONG>, <STRONG>intrflush</STRONG>,
-       <STRONG>keypad</STRONG>, <STRONG>meta</STRONG>, <STRONG>nodelay</STRONG>, <STRONG>notimeout</STRONG>, <STRONG>raw</STRONG>, <STRONG>noraw</STRONG>, <STRONG>noqiflush</STRONG>,
-       <STRONG>qiflush</STRONG>, <STRONG>timeout</STRONG>, <STRONG>wtimeout</STRONG>, <STRONG>typeahead</STRONG> - <STRONG>curses</STRONG> input
-       options
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>cbreak</STRONG>,  <STRONG>echo</STRONG>, <STRONG>halfdelay</STRONG>, <STRONG>intrflush</STRONG>, <STRONG>is_cbreak</STRONG>, <STRONG>is_echo</STRONG>, <STRONG>is_nl</STRONG>, <STRONG>is_raw</STRONG>,
+       <STRONG>keypad</STRONG>, <STRONG>meta</STRONG>, <STRONG>nl</STRONG>, <STRONG>nocbreak</STRONG>, <STRONG>nodelay</STRONG>, <STRONG>noecho</STRONG>,  <STRONG>nonl</STRONG>,  <STRONG>noqiflush</STRONG>,  <STRONG>noraw</STRONG>,
+       <STRONG>notimeout</STRONG>,  <STRONG>qiflush</STRONG>,  <STRONG>raw</STRONG>,  <STRONG>timeout</STRONG>,  <STRONG>wtimeout</STRONG>, <STRONG>typeahead</STRONG> - get and set
+       <EM>curses</EM> terminal input options
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
        <STRONG>int</STRONG> <STRONG>cbreak(void);</STRONG>
        <STRONG>int</STRONG> <STRONG>nocbreak(void);</STRONG>
+
        <STRONG>int</STRONG> <STRONG>echo(void);</STRONG>
        <STRONG>int</STRONG> <STRONG>noecho(void);</STRONG>
-       <STRONG>int</STRONG> <STRONG>halfdelay(int</STRONG> <STRONG>tenths);</STRONG>
-       <STRONG>int</STRONG> <STRONG>intrflush(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
-       <STRONG>int</STRONG> <STRONG>keypad(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
-       <STRONG>int</STRONG> <STRONG>meta(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
-       <STRONG>int</STRONG> <STRONG>nodelay(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>intrflush(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>keypad(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>meta(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>nodelay(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>notimeout(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>nl(void);</STRONG>
+       <STRONG>int</STRONG> <STRONG>nonl(void);</STRONG>
+
        <STRONG>int</STRONG> <STRONG>raw(void);</STRONG>
        <STRONG>int</STRONG> <STRONG>noraw(void);</STRONG>
-       <STRONG>void</STRONG> <STRONG>noqiflush(void);</STRONG>
+
        <STRONG>void</STRONG> <STRONG>qiflush(void);</STRONG>
-       <STRONG>int</STRONG> <STRONG>notimeout(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
-       <STRONG>void</STRONG> <STRONG>timeout(int</STRONG> <STRONG>delay);</STRONG>
-       <STRONG>void</STRONG> <STRONG>wtimeout(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>delay);</STRONG>
-       <STRONG>int</STRONG> <STRONG>typeahead(int</STRONG> <STRONG>fd);</STRONG>
+       <STRONG>void</STRONG> <STRONG>noqiflush(void);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>halfdelay(int</STRONG> <EM>tenths</EM><STRONG>);</STRONG>
+       <STRONG>void</STRONG> <STRONG>timeout(int</STRONG> <EM>delay</EM><STRONG>);</STRONG>
+       <STRONG>void</STRONG> <STRONG>wtimeout(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>delay</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>typeahead(int</STRONG> <EM>fd</EM><STRONG>);</STRONG>
+
+       <EM>/*</EM> <EM>extensions</EM> <EM>*/</EM>
+       <STRONG>int</STRONG> <STRONG>is_cbreak(void);</STRONG>
+       <STRONG>int</STRONG> <STRONG>is_echo(void);</STRONG>
+       <STRONG>int</STRONG> <STRONG>is_nl(void);</STRONG>
+       <STRONG>int</STRONG> <STRONG>is_raw(void);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The <STRONG>ncurses</STRONG> library provides several functions  which  let
-       an  application change way input from the terminal is han-
-       dled.  Some are global, applying to all  windows.   Others
-       apply only to a specific window.  Window-specific settings
-       are not automatically applied to new or  derived  windows.
-       An  application  must  apply  these to each window, if the
-       same behavior is needed.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       <EM>ncurses</EM> provides several functions that let an application  change  the
+       way  input  from the terminal is handled.  Some are global, applying to
+       all windows.  Others apply only to a specific window.   Window-specific
+       settings  are  not automatically applied to new or derived windows.  An
+       application must apply these to each window if  the  same  behavior  is
+       desired.
 
 
-</PRE>
-<H3><a name="h3-cbreak">cbreak</a></H3><PRE>
-       Normally, the tty driver buffers typed characters until  a
-       newline  or  carriage return is typed.  The <STRONG>cbreak</STRONG> routine
-       disables line buffering and erase/kill  character-process-
-       ing  (interrupt  and flow control characters are unaffect-
-       ed), making  characters  typed  by  the  user  immediately
-       available  to  the  program.  The <STRONG>nocbreak</STRONG> routine returns
-       the terminal to normal (cooked) mode.
+</PRE><H3><a name="h3-cbreak_nocbreak">cbreak, nocbreak</a></H3><PRE>
+       Normally,  the terminal driver buffers typed characters until a newline
+       or  carriage  return  is  typed.   The  <STRONG>cbreak</STRONG>  routine  disables  line
+       buffering  and  erase/kill  character-processing  (interrupt  and  flow
+       control characters are unaffected), making characters typed by the user
+       immediately available to the program.  The <STRONG>nocbreak</STRONG> routine returns the
+       terminal to normal (cooked) mode.
 
-       Initially the terminal may or may not be in  <STRONG>cbreak</STRONG>  mode,
-       as the mode is inherited; therefore, a program should call
-       <STRONG>cbreak</STRONG> or <STRONG>nocbreak</STRONG> explicitly.  Most interactive  programs
-       using  <STRONG>curses</STRONG> set the <STRONG>cbreak</STRONG> mode.  Note that <STRONG>cbreak</STRONG> over-
-       rides <STRONG>raw</STRONG>.  [See <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> for a  discussion  of  how
-       these routines interact with <STRONG>echo</STRONG> and <STRONG>noecho</STRONG>.]
+       Initially the terminal may or may not be in <STRONG>cbreak</STRONG> mode, as the mode is
+       inherited;   therefore,  a  program  should  call  <STRONG>cbreak</STRONG>  or  <STRONG>nocbreak</STRONG>
+       explicitly.  Most interactive programs  using  <EM>curses</EM>  set  the  <STRONG>cbreak</STRONG>
+       mode.   Note  that  <STRONG>cbreak</STRONG>  overrides  <STRONG>raw</STRONG>.   [See <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> for a
+       discussion of how these routines interact with <STRONG>echo</STRONG> and <STRONG>noecho</STRONG>.]
 
 
-</PRE>
-<H3><a name="h3-echo_noecho">echo/noecho</a></H3><PRE>
-       The  <STRONG>echo</STRONG>  and  <STRONG>noecho</STRONG> routines control whether characters
-       typed by the user are echoed by <STRONG>getch</STRONG> as they  are  typed.
-       Echoing by the tty driver is always disabled, but initial-
-       ly <STRONG>getch</STRONG> is in echo mode, so characters typed are  echoed.
-       Authors  of  most  interactive programs prefer to do their
-       own echoing in a controlled area of the screen, or not  to
-       echo  at  all,  so they disable echoing by calling <STRONG>noecho</STRONG>.
-       [See <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> for a discussion of how these routines
+</PRE><H3><a name="h3-echo_noecho">echo, noecho</a></H3><PRE>
+       The <STRONG>echo</STRONG> and <STRONG>noecho</STRONG> routines control whether characters  typed  by  the
+       user  are  echoed  by  <STRONG><A HREF="curs_getch.3x.html">getch(3x)</A></STRONG>  as  they  are  typed.  Echoing by the
+       terminal driver is always disabled, but  initially  <STRONG>getch</STRONG>  is  in  echo
+       mode,  so  characters  typed  are  echoed.  Authors of most interactive
+       programs prefer to do their own echoing in a  controlled  area  of  the
+       screen,  or  not  to  echo  at  all, so they disable echoing by calling
+       <STRONG>noecho</STRONG>.  [See <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> for a discussion  of  how  these  routines
        interact with <STRONG>cbreak</STRONG> and <STRONG>nocbreak</STRONG>.]
 
 
-</PRE>
-<H3><a name="h3-halfdelay">halfdelay</a></H3><PRE>
-       The  <STRONG>halfdelay</STRONG>  routine is used for half-delay mode, which
-       is similar to <STRONG>cbreak</STRONG> mode in that characters typed by  the
-       user  are  immediately available to the program.  However,
-       after blocking for <EM>tenths</EM> tenths of seconds,  ERR  is  re-
-       turned  if  nothing  has  been typed.  The value of <STRONG>tenths</STRONG>
-       must be a number between 1 and 255.  Use <STRONG>nocbreak</STRONG> to leave
-       half-delay mode.
+</PRE><H3><a name="h3-halfdelay">halfdelay</a></H3><PRE>
+       The  <STRONG>halfdelay</STRONG> routine is used for half-delay mode, which is similar to
+       <STRONG>cbreak</STRONG> mode in that  characters  typed  by  the  user  are  immediately
+       available to the program.  However, after blocking for <EM>tenths</EM> tenths of
+       seconds, <STRONG>ERR</STRONG> is returned if nothing  has  been  typed.   The  value  of
+       <EM>tenths</EM> must be a number between 1 and 255.  Use <STRONG>nocbreak</STRONG> to leave half-
+       delay mode.
 
 
-</PRE>
-<H3><a name="h3-intrflush">intrflush</a></H3><PRE>
-       If  the <STRONG>intrflush</STRONG> option is enabled, (<EM>bf</EM> is <STRONG>TRUE</STRONG>), when an
-       interrupt key  is  pressed  on  the  keyboard  (interrupt,
-       break,  quit)  all  output in the tty driver queue will be
-       flushed, giving the effect of faster response to  the  in-
-       terrupt, but causing <STRONG>curses</STRONG> to have the wrong idea of what
-       is on the screen.  Disabling (<EM>bf</EM>  is  <STRONG>FALSE</STRONG>),  the  option
-       prevents  the flush.  The default for the option is inher-
-       ited from the tty driver settings.  The window argument is
-       ignored.
+</PRE><H3><a name="h3-intrflush">intrflush</a></H3><PRE>
+       If the <STRONG>intrflush</STRONG> option is enabled (<EM>bf</EM> is <STRONG>TRUE</STRONG>), and an  interrupt  key
+       is  pressed on the keyboard (interrupt, break, quit), all output in the
+       terminal driver queue is flushed, giving the effect of faster  response
+       to  the interrupt, but causing <EM>curses</EM> to have the wrong idea of what is
+       on the screen.  Disabling the option (<EM>bf</EM> is <STRONG>FALSE</STRONG>), prevents the flush.
+       The  default  for  the  option  is  inherited  from the terminal driver
+       settings.  The <EM>win</EM> argument is ignored.
 
 
-</PRE>
-<H3><a name="h3-keypad">keypad</a></H3><PRE>
-       The  <STRONG>keypad</STRONG> option enables the keypad of the user's termi-
-       nal.  If enabled (<EM>bf</EM> is <STRONG>TRUE</STRONG>), the user can press a  func-
-       tion  key (such as an arrow key) and <STRONG>wgetch</STRONG> returns a sin-
-       gle value representing the function key, as  in  <STRONG>KEY_LEFT</STRONG>.
-       If  disabled (<EM>bf</EM> is <STRONG>FALSE</STRONG>), <STRONG>curses</STRONG> does not treat function
-       keys specially and the program has to interpret the escape
-       sequences  itself.   If  the keypad in the terminal can be
-       turned on (made to transmit) and off (made to work  local-
-       ly),  turning on this option causes the terminal keypad to
-       be turned on when <STRONG>wgetch</STRONG> is called.  The default value for
-       keypad is <STRONG>FALSE</STRONG>.
+</PRE><H3><a name="h3-keypad">keypad</a></H3><PRE>
+       The <STRONG>keypad</STRONG> option enables  the  keypad  of  the  user's  terminal.   If
+       enabled  (<EM>bf</EM>  is  <STRONG>TRUE</STRONG>),  the user can press a function key (such as an
+       arrow key) and <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>  returns  a  single  value  representing  the
+       function  key,  as in <STRONG>KEY_LEFT</STRONG>.  If disabled (<EM>bf</EM> is <STRONG>FALSE</STRONG>), <EM>curses</EM> does
+       not treat function keys specially and the program has to interpret  the
+       escape  sequences  itself.  If the keypad in the terminal can be turned
+       on (made to transmit) and off (made to work locally), turning  on  this
+       option  causes  the  terminal keypad to be turned on when <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> is
+       called.  The default value for keypad is <STRONG>FALSE</STRONG>.
 
 
-</PRE>
-<H3><a name="h3-meta">meta</a></H3><PRE>
-       Initially, whether the terminal returns 7 or 8 significant
-       bits on input depends on the control mode of the tty driv-
-       er  [see  <STRONG>termio(7)</STRONG>].  To force 8 bits to be returned, in-
-       voke <STRONG>meta</STRONG>(<EM>win</EM>, <STRONG>TRUE</STRONG>); this is equivalent, under POSIX,  to
-       setting  the CS8 flag on the terminal.  To force 7 bits to
-       be returned, invoke <STRONG>meta</STRONG>(<EM>win</EM>, <STRONG>FALSE</STRONG>); this is  equivalent,
-       under POSIX, to setting the CS7 flag on the terminal.  The
-       window argument, <EM>win</EM>, is always ignored.  If the  terminfo
-       capabilities  <STRONG>smm</STRONG> (meta_on) and <STRONG>rmm</STRONG> (meta_off) are defined
-       for the  terminal,  <STRONG>smm</STRONG>  is  sent  to  the  terminal  when
-       <STRONG>meta</STRONG>(<EM>win</EM>,  <STRONG>TRUE</STRONG>)  is called and <STRONG>rmm</STRONG> is sent when <STRONG>meta</STRONG>(<EM>win</EM>,
-       <STRONG>FALSE</STRONG>) is called.
+</PRE><H3><a name="h3-meta">meta</a></H3><PRE>
+       Initially, whether the terminal returns 7  or  8  significant  bits  on
+       input  depends  on  the  control  mode  of  the  terminal  driver  [see
+       <STRONG>termios(3)</STRONG>].  To force 8 bits to be returned, invoke  <STRONG>meta</STRONG>(<EM>win</EM>,  <STRONG>TRUE</STRONG>);
+       this  is  equivalent,  under  POSIX,  to  setting  the  CS8 flag on the
+       terminal.  To force 7 bits to be  returned,  invoke  <STRONG>meta</STRONG>(<EM>win</EM>,  <STRONG>FALSE</STRONG>);
+       this  is  equivalent,  under  POSIX,  to  setting  the  CS7 flag on the
+       terminal.  The  window  argument,  <EM>win</EM>,  is  always  ignored.   If  the
+       terminfo  capabilities <STRONG>smm</STRONG> (meta_on) and <STRONG>rmm</STRONG> (meta_off) are defined for
+       the terminal, <STRONG>smm</STRONG> is sent to  the  terminal  when  <STRONG>meta</STRONG>(<EM>win</EM>,  <STRONG>TRUE</STRONG>)  is
+       called and <STRONG>rmm</STRONG> is sent when <STRONG>meta</STRONG>(<EM>win</EM>, <STRONG>FALSE</STRONG>) is called.
 
 
-</PRE>
-<H3><a name="h3-nodelay">nodelay</a></H3><PRE>
-       The <STRONG>nodelay</STRONG> option causes <STRONG>getch</STRONG> to be a non-blocking call.
-       If  no input is ready, <STRONG>getch</STRONG> returns <STRONG>ERR</STRONG>.  If disabled (<EM>bf</EM>
-       is <STRONG>FALSE</STRONG>), <STRONG>getch</STRONG> waits until a key is pressed.
-
-       While interpreting an input escape sequence, <STRONG>wgetch</STRONG> sets a
-       timer  while  waiting  for the next character.  If <STRONG>notime-</STRONG>
-       <STRONG>out(</STRONG><EM>win</EM>, <STRONG>TRUE</STRONG>) is called,  then  <STRONG>wgetch</STRONG>  does  not  set  a
-       timer.  The purpose of the timeout is to differentiate be-
-       tween sequences received from a  function  key  and  those
-       typed by a user.
+</PRE><H3><a name="h3-nl_nonl">nl, nonl</a></H3><PRE>
+       The  <STRONG>nl</STRONG> and <STRONG>nonl</STRONG> routines control whether the underlying display device
+       translates the return key into newline on input.
 
 
-</PRE>
-<H3><a name="h3-raw_noraw">raw/noraw</a></H3><PRE>
-       The  <STRONG>raw</STRONG> and <STRONG>noraw</STRONG> routines place the terminal into or out
-       of raw mode.  Raw mode is similar to <STRONG>cbreak</STRONG> mode, in  that
-       characters typed are immediately passed through to the us-
-       er program.  The differences are that in raw mode, the in-
-       terrupt,  quit,  suspend,  and flow control characters are
-       all passed through uninterpreted, instead of generating  a
-       signal.   The  behavior  of the BREAK key depends on other
-       bits in the tty driver that are not set by <STRONG>curses</STRONG>.
+</PRE><H3><a name="h3-nodelay">nodelay</a></H3><PRE>
+       The <STRONG>nodelay</STRONG> option causes <STRONG>getch</STRONG> to be a non-blocking call.  If no input
+       is  ready,  <STRONG>getch</STRONG>  returns <STRONG>ERR</STRONG>.  If disabled (<EM>bf</EM> is <STRONG>FALSE</STRONG>), <STRONG>getch</STRONG> waits
+       until a key is pressed.
 
 
-</PRE>
-<H3><a name="h3-noqiflush">noqiflush</a></H3><PRE>
-       When the <STRONG>noqiflush</STRONG> routine is used, normal flush of  input
-       and  output queues associated with the <STRONG>INTR</STRONG>, <STRONG>QUIT</STRONG> and <STRONG>SUSP</STRONG>
-       characters will not be done [see <STRONG>termio(7)</STRONG>].  When <STRONG>qiflush</STRONG>
-       is  called,  the queues will be flushed when these control
-       characters are read.  You may want to call <STRONG>noqiflush()</STRONG>  in
-       a  signal handler if you want output to continue as though
+</PRE><H3><a name="h3-notimeout">notimeout</a></H3><PRE>
+       When interpreting an escape sequence, <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>  sets  a  timer  while
+       waiting  for  the  next  character.  If <STRONG>notimeout(</STRONG><EM>win</EM>, <STRONG>TRUE</STRONG>) is called,
+       then <STRONG>wgetch</STRONG> does not set a timer.  The purpose of  the  timeout  is  to
+       distinguish  sequences produced by a function key from those typed by a
+       user.
+
+
+</PRE><H3><a name="h3-raw_noraw">raw, noraw</a></H3><PRE>
+       The <STRONG>raw</STRONG> and <STRONG>noraw</STRONG> routines place the terminal into or out of raw  mode.
+       Raw  mode  is  similar  to  <STRONG>cbreak</STRONG>  mode,  in that characters typed are
+       immediately passed through to the user program.   The  differences  are
+       that  in  raw  mode,  the  interrupt,  quit,  suspend, and flow control
+       characters are all passed through uninterpreted, instead of  generating
+       a  signal.   The behavior of the BREAK key depends on other bits in the
+       terminal driver that are not set by <EM>curses</EM>.
+
+
+</PRE><H3><a name="h3-qiflush_nqiflush">qiflush, nqiflush</a></H3><PRE>
+       When the <STRONG>noqiflush</STRONG> routine is used, normal flush of  input  and  output
+       queues  associated  with the <STRONG>INTR</STRONG>, <STRONG>QUIT</STRONG> and <STRONG>SUSP</STRONG> characters will not be
+       done [see <STRONG>termios(3)</STRONG>].  When <STRONG>qiflush</STRONG> is  called,  the  queues  will  be
+       flushed  when  these control characters are read.  You may want to call
+       <STRONG>noqiflush</STRONG> in a signal handler if you want output to continue as  though
        the interrupt had not occurred, after the handler exits.
 
 
-</PRE>
-<H3><a name="h3-timeout_wtimeout">timeout/wtimeout</a></H3><PRE>
-       The <STRONG>timeout</STRONG> and <STRONG>wtimeout</STRONG> routines  set  blocking  or  non-
-       blocking  read  for a given window.  If <EM>delay</EM> is negative,
-       blocking read is used (i.e., waits  indefinitely  for  in-
-       put).   If  <EM>delay</EM>  is zero, then non-blocking read is used
-       (i.e., read returns <STRONG>ERR</STRONG> if no input is waiting).  If <EM>delay</EM>
-       is  positive, then read blocks for <EM>delay</EM> milliseconds, and
-       returns <STRONG>ERR</STRONG> if there is still no input.  Hence, these rou-
-       tines  provide the same functionality as <STRONG>nodelay</STRONG>, plus the
-       additional capability of being able to block for only  <EM>de-</EM>
-       <EM>lay</EM> milliseconds (where <EM>delay</EM> is positive).
+</PRE><H3><a name="h3-timeout_wtimeout">timeout, wtimeout</a></H3><PRE>
+       The <STRONG>timeout</STRONG> and <STRONG>wtimeout</STRONG> routines set blocking or non-blocking read for
+       a given window.  If <EM>delay</EM> is negative, a blocking read is  used  (i.e.,
+       waits  indefinitely  for input).  If <EM>delay</EM> is zero, then a non-blocking
+       read is used (i.e., <EM>read</EM> returns <STRONG>ERR</STRONG> if no input is waiting).  If <EM>delay</EM>
+       is  positive,  then <EM>read</EM> blocks for <EM>delay</EM> milliseconds, and returns <STRONG>ERR</STRONG>
+       if there is still no input.  Hence, these  routines  provide  the  same
+       functionality  as <STRONG>nodelay</STRONG>, plus the additional capability of being able
+       to block for only <EM>delay</EM> milliseconds (where <EM>delay</EM> is positive).
 
 
-</PRE>
-<H3><a name="h3-typeahead">typeahead</a></H3><PRE>
-       The  <STRONG>curses</STRONG>  library  does "line-breakout optimization" by
-       looking for  typeahead  periodically  while  updating  the
-       screen.   If  input is found, and it is coming from a tty,
-       the current update is postponed until <STRONG>refresh</STRONG> or  <STRONG>doupdate</STRONG>
-       is  called again.  This allows faster response to commands
-       typed in advance.  Normally, the input FILE pointer passed
-       to  <STRONG>newterm</STRONG>,  or  <STRONG>stdin</STRONG> in the case that <STRONG>initscr</STRONG> was used,
-       will be used to do this typeahead checking.  The <STRONG>typeahead</STRONG>
-       routine  specifies  that  the  file descriptor <EM>fd</EM> is to be
-       used to check for typeahead instead.  If <EM>fd</EM> is -1, then no
-       typeahead checking is done.
+</PRE><H3><a name="h3-typeahead">typeahead</a></H3><PRE>
+       <EM>curses</EM> does  "line-breakout  optimization"  by  looking  for  typeahead
+       periodically  while  updating the screen.  If input is found, and it is
+       coming  from  a  terminal,  the  current  update  is  postponed   until
+       <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>  or  <STRONG>doupdate</STRONG> is called again.  This allows faster response
+       to commands typed in advance.  Normally, the input <EM>FILE</EM> pointer  passed
+       to <STRONG>newterm</STRONG>, or <STRONG>stdin</STRONG> in the case that <STRONG>initscr</STRONG> was used, will be used to
+       do this typeahead checking.  The <STRONG>typeahead</STRONG> routine specifies  that  the
+       file descriptor <EM>fd</EM> is to be used to check for typeahead instead.  If <EM>fd</EM>
+       is -1, then no typeahead checking is done.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All  routines that return an integer return <STRONG>ERR</STRONG> upon fail-
-       ure and OK (SVr4 specifies only "an  integer  value  other
-       than  <STRONG>ERR</STRONG>")  upon  successful completion, unless otherwise
-       noted in the preceding routine descriptions.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       All routines that return an integer return  <STRONG>ERR</STRONG>  upon  failure  and  <STRONG>OK</STRONG>
+       (SVr4 specifies only "an integer value other than <STRONG>ERR</STRONG>") upon successful
+       completion,  unless  otherwise   noted   in   the   preceding   routine
+       descriptions.
 
-       X/Open does not define any error conditions.  In this  im-
-       plementation,  functions  with a window parameter will re-
-       turn an error if it is null.  Any function will  also  re-
-       turn an error if the terminal was not initialized.  Also,
+       X/Open   Curses  does  not  specify  any  error  conditions.   In  this
+       implementation, functions with a window parameter will return an  error
+       if  it is null.  Any function will also return an error if the terminal
+       was not initialized.  Also,
 
-              <STRONG>halfdelay</STRONG>
-                   returns  an  error if its parameter is outside
-                   the range 1..255.
+          <STRONG>halfdelay</STRONG>
+               returns an error if its parameter is outside the range 1..255.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These functions are described in the XSI Curses  standard,
-       Issue 4.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       <STRONG>echo</STRONG>, <STRONG>noecho</STRONG>, <STRONG>halfdelay</STRONG>, <STRONG>intrflush</STRONG>, <STRONG>meta</STRONG>, <STRONG>nl</STRONG>, <STRONG>nonl</STRONG>, <STRONG>nodelay</STRONG>, <STRONG>notimeout</STRONG>,
+       <STRONG>noqiflush</STRONG>, <STRONG>qiflush</STRONG>, <STRONG>timeout</STRONG>, and <STRONG>wtimeout</STRONG> may be implemented as macros.
 
-       The  ncurses  library obeys the XPG4 standard and the his-
-       torical practice of the AT&amp;T  curses  implementations,  in
-       that  the  echo bit is cleared when curses initializes the
-       terminal state.  BSD curses differed from  this  slightly;
-       it left the echo bit on at initialization, but the BSD <STRONG>raw</STRONG>
-       call turned it off as a side-effect.  For best  portabili-
-       ty,  set  echo or noecho explicitly just after initializa-
-       tion, even if your program remains in cooked mode.
-
-       When <STRONG>keypad</STRONG> is first enabled, ncurses loads the  key-defi-
-       nitions for the current terminal description.  If the ter-
-       minal description includes extended  string  capabilities,
-       e.g.,  from  using the <STRONG>-x</STRONG> option of tic, then ncurses also
-       defines keys for the capabilities whose names  begin  with
-       "k".   The  corresponding  keycodes are generated and (de-
-       pending on previous loads of  terminal  descriptions)  may
-       differ  from  one execution of a program to the next.  The
-       generated keycodes are recognized by the <STRONG>keyname</STRONG>  function
-       (which will then return a name beginning with "k" denoting
-       the terminfo capability name rather  than  "K",  used  for
-       curses  key-names).  On the other hand, an application can
-       use <STRONG>define_key</STRONG> to establish a specific keycode for a given
-       string.   This  makes  it  possible  for an application to
-       check for an extended capability's presence with <EM>tigetstr</EM>,
-       and reassign the keycode to match its own needs.
-
-       Low-level applications can use <STRONG>tigetstr</STRONG> to obtain the def-
-       inition of any particular string capability.  Higher-level
-       applications which use the curses <STRONG>wgetch</STRONG> and similar func-
-       tions to return keycodes rely upon the order in which  the
-       strings  are  loaded.  If more than one key definition has
-       the same string value, then <STRONG>wgetch</STRONG>  can  return  only  one
-       keycode.   Most curses implementations (including ncurses)
-       load key definitions in the order defined by the array  of
-       string capability names.  The last key to be loaded deter-
-       mines the keycode which will be returned.  In ncurses, you
-       may  also  have  extended  capabilities interpreted as key
-       definitions.  These are loaded after the predefined  keys,
-       and  if  a capability's value is the same as a previously-
-       loaded key definition, the later  definition  is  the  one
-       used.
-
-
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       Note  that <STRONG>echo</STRONG>, <STRONG>noecho</STRONG>, <STRONG>halfdelay</STRONG>, <STRONG>intrflush</STRONG>, <STRONG>meta</STRONG>, <STRONG>node-</STRONG>
-       <STRONG>lay</STRONG>, <STRONG>notimeout</STRONG>, <STRONG>noqiflush</STRONG>, <STRONG>qiflush</STRONG>, <STRONG>timeout</STRONG>, and  <STRONG>wtimeout</STRONG>
-       may be macros.
-
-       The <STRONG>noraw</STRONG> and <STRONG>nocbreak</STRONG> calls follow historical practice in
-       that they attempt to restore  to  normal  (`cooked')  mode
-       from  raw and cbreak modes respectively.  Mixing raw/noraw
-       and cbreak/nocbreak calls  leads  to  tty  driver  control
-       states  that  are hard to predict or understand; it is not
+       <STRONG>noraw</STRONG>  and  <STRONG>nocbreak</STRONG> follow historical practice in that they attempt to
+       restore normal ("cooked") mode from raw and cbreak modes  respectively.
+       Mixing  <STRONG>raw</STRONG>/<STRONG>noraw</STRONG>  and  <STRONG>cbreak</STRONG>/<STRONG>nocbreak</STRONG>  calls leads to terminal driver
+       control states that are hard to predict or understand; doing so is  not
        recommended.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,       <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>,        <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,
-       <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>, <STRONG>termio(7)</STRONG>
+</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+       <EM>ncurses</EM> provides four "is_" functions that may be used to detect if the
+       corresponding flags were set or reset.
+
+                            <STRONG>Query</STRONG>       <STRONG>Set</STRONG>      <STRONG>Reset</STRONG>
+                            ------------------------------
+                            is_cbreak   cbreak   nocbreak
+                            is_echo     echo     noecho
+                            is_nl       nl       nonl
+                            is_raw      raw      noraw
+
+       In each case, the function returns
+
+       1   if the flag is set,
+
+       0   if the flag is reset, or
+
+       -1  if the library is not initialized.
+
+       They were designed for <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, and are not found in  SVr4  <EM>curses</EM>,
+       4.4BSD <EM>curses</EM>, or any other previous <EM>curses</EM> implementation.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       Applications employing <EM>ncurses</EM> extensions should condition their use on
+       the visibility of the <STRONG>NCURSES_VERSION</STRONG> preprocessor macro.
+
+       Except as noted in section "EXTENSIONS" above, X/Open Curses, Issue  4,
+       Version 2 describes these functions.
+
+       <EM>ncurses</EM>  follows  X/Open  Curses  and  the  historical practice of AT&amp;T
+       <EM>curses</EM> implementations, in that the echo bit  is  cleared  when  <EM>curses</EM>
+       initializes   the  terminal  state.   BSD  <EM>curses</EM>  differed  from  this
+       slightly; it left the echo bit on at initialization, but  the  BSD  <STRONG>raw</STRONG>
+       call turned it off as a side effect.  For best portability, set <STRONG>echo</STRONG> or
+       <STRONG>noecho</STRONG> explicitly just  after  initialization,  even  if  your  program
+       remains in cooked mode.
+
+       X/Open  Curses  is  ambiguous  regarding whether <STRONG>raw</STRONG> should disable the
+       CR/LF translations controlled by <STRONG>nl</STRONG> and <STRONG>nonl</STRONG>.  BSD <EM>curses</EM> did turn  off
+       these  translations;  AT&amp;T  <EM>curses</EM>  (at least as late as SVr1) did not.
+       <EM>ncurses</EM> does so, on the assumption that  a  programmer  requesting  raw
+       input  wants  a  clean  (ideally,  8-bit  clean)  connection  that  the
+       operating system will not alter.
+
+       When <STRONG>keypad</STRONG> is first enabled, <EM>ncurses</EM> loads the key definitions for the
+       current  terminal  description.   If  the terminal description includes
+       extended string capabilities, e.g., from using the <STRONG>-x</STRONG>  option  of  <STRONG>tic</STRONG>,
+       then  <EM>ncurses</EM>  also defines keys for the capabilities whose names begin
+       with "k".  The corresponding keycodes are generated and  (depending  on
+       previous  loads of terminal descriptions) may differ from one execution
+       of a program to the next.  The generated keycodes are recognized by the
+       <STRONG><A HREF="curs_util.3x.html">keyname(3x)</A></STRONG>  function (which will then return a name beginning with "k"
+       denoting the terminfo capability name rather than "K", used for  <EM>curses</EM>
+       key  names).   On the other hand, an application can use <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>
+       to establish a specific keycode for a  given  string.   This  makes  it
+       possible  for  an  application  to  check  for an extended capability's
+       presence with <STRONG>tigetstr</STRONG>, and reassign  the  keycode  to  match  its  own
+       needs.
+
+       Low-level applications can use <STRONG>tigetstr</STRONG> to obtain the definition of any
+       particular string capability.  Higher-level applications which use  the
+       <EM>curses</EM>  <STRONG>wgetch</STRONG>  and  similar functions to return keycodes rely upon the
+       order in which the strings are loaded.  If more than one key definition
+       has  the  same  string  value, then <STRONG>wgetch</STRONG> can return only one keycode.
+       Most <EM>curses</EM> implementations (including <EM>ncurses</EM>) load key definitions in
+       the  order  defined  by the array of string capability names.  The last
+       key to be loaded determines the keycode which  will  be  returned.   In
+       <EM>ncurses</EM>,  you  may  also  have extended capabilities interpreted as key
+       definitions.  These are loaded after the  predefined  keys,  and  if  a
+       capability's  value  is the same as a previously-loaded key definition,
+       the later definition is the one used.
+
+
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+       Formerly, <EM>ncurses</EM> used  <STRONG>nl</STRONG>  and  <STRONG>nonl</STRONG>  to  control  the  conversion  of
+       newlines  to  carriage  return/line  feed  on  output as well as input.
+       X/Open Curses documents the use of  these  functions  only  for  input.
+       This  difference arose from converting the <EM>pcurses</EM> source (1986), which
+       used <STRONG>ioctl(2)</STRONG> calls and the <EM>sgttyb</EM> structure,  to  <EM>termios</EM>  (the  POSIX
+       terminal  API).   In  the former, both input and output were controlled
+       via a single option <STRONG>CRMOD</STRONG>, while the latter separates  these  features.
+       Because  that  conversion  interferes with output optimization, <EM>ncurses</EM>
+       6.2 (2020) amended <STRONG>nl</STRONG> and <STRONG>nonl</STRONG> to eliminate their effect on output.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,    <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>,     <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,     <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>,
+       <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>, <STRONG>termios(3)</STRONG>
 
 
 
-                                                        <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ncurses 6.5                       2024-04-13                   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -333,22 +357,26 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
 <ul>
-<li><a href="#h3-cbreak">cbreak</a></li>
-<li><a href="#h3-echo_noecho">echo/noecho</a></li>
+<li><a href="#h3-cbreak_nocbreak">cbreak, nocbreak</a></li>
+<li><a href="#h3-echo_noecho">echo, noecho</a></li>
 <li><a href="#h3-halfdelay">halfdelay</a></li>
 <li><a href="#h3-intrflush">intrflush</a></li>
 <li><a href="#h3-keypad">keypad</a></li>
 <li><a href="#h3-meta">meta</a></li>
+<li><a href="#h3-nl_nonl">nl, nonl</a></li>
 <li><a href="#h3-nodelay">nodelay</a></li>
-<li><a href="#h3-raw_noraw">raw/noraw</a></li>
-<li><a href="#h3-noqiflush">noqiflush</a></li>
-<li><a href="#h3-timeout_wtimeout">timeout/wtimeout</a></li>
+<li><a href="#h3-notimeout">notimeout</a></li>
+<li><a href="#h3-raw_noraw">raw, noraw</a></li>
+<li><a href="#h3-qiflush_nqiflush">qiflush, nqiflush</a></li>
+<li><a href="#h3-timeout_wtimeout">timeout, wtimeout</a></li>
 <li><a href="#h3-typeahead">typeahead</a></li>
 </ul>
 </li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
diff --git a/doc/html/man/curs_ins_wch.3x.html b/doc/html/man/curs_ins_wch.3x.html
index 27f87ca..7c25b2e 100644
--- a/doc/html/man/curs_ins_wch.3x.html
+++ b/doc/html/man/curs_ins_wch.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 2002-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2019-2023,2024 Thomas E. Dickey                                *
+  * Copyright 2002-2010,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,74 +27,84 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_ins_wch.3x,v 1.5 2010/12/04 18:38:55 tom Exp @
+  * @Id: curs_ins_wch.3x,v 1.30 2024/04/20 19:18:18 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_ins_wch 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_ins_wch 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_ins_wch 3x</H1>
+<H1 class="no-header">curs_ins_wch 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>                                       <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
+<STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>                 Library calls                <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>ins_wch</STRONG>,  <STRONG>mvins_wch</STRONG>,  <STRONG>mvwins_wch</STRONG>, <STRONG>wins_wch</STRONG> - insert a com-
-       plex character and rendition into a window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>ins_wch</STRONG>,  <STRONG>mvins_wch</STRONG>,  <STRONG>mvwins_wch</STRONG>,  <STRONG>wins_wch</STRONG>  -  insert a <EM>curses</EM> complex
+       character in a window
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
-       #include &lt;curses.h&gt;
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+       <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
        <STRONG>int</STRONG> <STRONG>ins_wch(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>wins_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win,</EM> <EM>const</EM> <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> <EM>*wch</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvins_wch(int</STRONG> <EM>y,</EM> <EM>int</EM> <EM>x,</EM> <EM>const</EM> <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> <EM>*wch</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvwins_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win,</EM> <EM>int</EM> <EM>y,</EM> <EM>int</EM>  <EM>x,</EM>  <EM>const</EM>  <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>
-       <EM>*wch</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wins_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvins_wch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvwins_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These routines, insert the complex character <EM>wch</EM> with ren-
-       dition before the character under the cursor.  All charac-
-       ters to the right of the cursor are moved one space to the
-       right, with the possibility of the rightmost character  on
-       the  line  being  lost.   The insertion operation does not
-       change the cursor position.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       These functions insert the <EM>curses</EM> complex character <EM>wch</EM> at  the  cursor
+       in  the  specified window <EM>win</EM> (or <STRONG>stdscr</STRONG>).  The character previously at
+       the cursor and any to its  right  move  one  cell  to  the  right;  the
+       rightmost  character  on  the  line  is discarded.  The cursor does not
+       advance.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       If successful, these functions return OK.   If  not,  they
-       return ERR.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       These functions return <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure.
 
-       Functions  with a "mv" prefix first perform a cursor move-
-       ment using <STRONG>wmove</STRONG>, and return an error if the  position  is
-       outside the window, or if the window pointer is null.
+       Functions taking a <EM>WINDOW</EM> pointer argument fail if the pointer is <STRONG>NULL</STRONG>.
+
+       Functions prefixed with "mv" first perform cursor movement and fail  if
+       the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
 
 
-</PRE>
-<H2><a name="h2-ERRORS">ERRORS</a></H2><PRE>
-       No errors are defined.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       A  terminal's  <STRONG>insert_character</STRONG>  (<STRONG>ich1</STRONG>)  capability  is not necessarily
+       employed.
+
+       <STRONG>ins_wch</STRONG>, <STRONG>mvins_wch</STRONG>, and <STRONG>mvwins_wch</STRONG> may be implemented as macros.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       X/Open Curses, Issue 4 describes these functions.
+
+       SVr4 describes successful return values only as "an integer value other
+       than <STRONG>ERR</STRONG>".
+
+
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+       SVr4  (1989)  implemented  these  functions  under  the  names  <STRONG>inswch</STRONG>,
+       <STRONG>winswch</STRONG>, <STRONG>mvinswch</STRONG>, and <STRONG>mvwinswch</STRONG>.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG> describes comparable functions in the non-wide-character
+       <EM>curses</EM> configuration.
+
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
 
 
-                                                       <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                  <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -101,7 +112,9 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-ERRORS">ERRORS</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
diff --git a/doc/html/man/curs_ins_wstr.3x.html b/doc/html/man/curs_ins_wstr.3x.html
index 289df51..f2982ea 100644
--- a/doc/html/man/curs_ins_wstr.3x.html
+++ b/doc/html/man/curs_ins_wstr.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 2002-2010,2012 Free Software Foundation, Inc.              *
+  * 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  *
   * copy of this software and associated documentation files (the            *
@@ -26,107 +27,113 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_ins_wstr.3x,v 1.7 2012/11/03 23:03:59 tom Exp @
+  * @Id: curs_ins_wstr.3x,v 1.38 2024/04/20 21:23:08 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_ins_wstr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_ins_wstr 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_ins_wstr 3x</H1>
+<H1 class="no-header">curs_ins_wstr 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>                                     <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+<STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>                Library calls               <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>ins_wstr</STRONG>, <STRONG>ins_nwstr</STRONG>, <STRONG>wins_wstr</STRONG>, <STRONG>wins_nwstr</STRONG>, <STRONG>mvins_wstr</STRONG>,
-       <STRONG>mvins_nwstr</STRONG>, <STRONG>mvwins_wstr</STRONG>, <STRONG>mvwins_nwstr</STRONG> - insert a wide-
-       character string into a curses window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>ins_wstr</STRONG>,  <STRONG>ins_nwstr</STRONG>,  <STRONG>wins_wstr</STRONG>,  <STRONG>wins_nwstr</STRONG>, <STRONG>mvins_wstr</STRONG>, <STRONG>mvins_nwstr</STRONG>,
+       <STRONG>mvwins_wstr</STRONG>, <STRONG>mvwins_nwstr</STRONG> - insert a wide-character string in a  <EM>curses</EM>
+       window
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
-       <STRONG>int</STRONG> <STRONG>ins_wstr(const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr);</EM>
+       <STRONG>int</STRONG> <STRONG>ins_wstr(const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>ins_nwstr(const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>wins_wstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>wins_nwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+
        <STRONG>int</STRONG> <STRONG>mvins_wstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>mvins_nwstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>mvwins_wstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>mvwins_nwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These  routines insert a <STRONG>wchar_t</STRONG> character string (as many
-       characters as will fit on the line) before  the  character
-       under the cursor.  All characters to the right of the cur-
-       sor are shifted right, with the possibility of the  right-
-       most  characters  on  the line being lost.  No wrapping is
-       performed.  The cursor position  does  not  change  (after
-       moving  to  <EM>y</EM>, <EM>x</EM>, if specified).  The four routines with <EM>n</EM>
-       as the last argument insert a leading substring of at most
-       <EM>n</EM>  <STRONG>wchar_t</STRONG>  characters.   If  <EM>n</EM> is less than 1, the entire
-       string is inserted.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       These routines insert a <STRONG>wchar_t</STRONG> character string (as many characters as
+       will fit on the line) before the character  under  the  cursor,  as  if
+       calling  <STRONG><A HREF="curs_ins_wch.3x.html">wins_wch(3x)</A></STRONG>.   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.
 
-       If a character in <EM>wstr</EM> is a tab, newline, carriage  return
-       or backspace, the cursor is moved appropriately within the
-       window.  A newline also does  a  <STRONG>clrtoeol</STRONG>  before  moving.
-       Tabs  are  considered  to be at every eighth column.  If a
-       character in <EM>wstr</EM> is  another  control  character,  it  is
-       drawn  in the <STRONG>^</STRONG><EM>X</EM> notation.  Calling <STRONG>win_wch</STRONG> 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  charac-
-       ter.
+       The  cursor  position  does  not  change  (after  moving  to  <EM>y</EM>,  <EM>x</EM>, if
+       specified).
+
+       The functions with <EM>n</EM> as the last argument insert a leading substring of
+       at  most  <EM>n</EM>  <STRONG>wchar_t</STRONG>  characters.   If  <EM>n</EM> is less than zero, the entire
+       string is inserted (stopping on a L'\0' character).
+
+       Special characters are handled as in <STRONG><A HREF="curs_add_wch.3x.html">wadd_wch(3x)</A></STRONG>.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       Note that all but wins_nwstr may be macros.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
 
-       If the first character in the string is a nonspacing char-
-       acter, these functions will fail.   XSI  does  not  define
-       what  will happen if a nonspacing character follows a con-
-       trol character.
+       X/Open  Curses  does  not   specify   any   error   conditions.    This
+       implementation returns an error
+
+       <STRONG>o</STRONG>   if the <EM>win</EM> parameter is null or
+
+       <STRONG>o</STRONG>   if the <EM>wstr</EM> parameter is null or
+
+       <STRONG>o</STRONG>   if the <STRONG>wins_wch</STRONG> function returns an error.
+
+       Functions  prefixed with "mv" first perform cursor movement and fail if
+       the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Upon successful completion,  these  functions  return  OK.
-       Otherwise, they return ERR.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       All but <STRONG>wins_nwstr</STRONG> may be macros.
 
-       Functions  with a "mv" prefix first perform a cursor move-
-       ment using <STRONG>wmove</STRONG>, and return an error if the  position  is
-       outside the window, or if the window pointer is null.
+       If the first character in the string is a non-spacing character,  these
+       functions will fail.  X/Open Curses does not define what will happen if
+       a non-spacing character follows a control character.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,        <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>,       <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>,
-       <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These functions are described in X/Open Curses,  Issue  4,  which  adds
+       <EM>const</EM> qualifiers to the arguments.
+
+       X/Open  states  that the entire string is inserted if <EM>n</EM> is less than 1.
+       This is probably an  error,  because  it  is  inconsistent  with  other
+       functions, and differs from the X/Open implementation on Solaris.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>  describes  comparable functions of the <EM>ncurses</EM> library
+       in its non-wide-character configuration.
+
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
 
 
 
-                                                      <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                 <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
 <li><a href="#h2-NAME">NAME</a></li>
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
diff --git a/doc/html/man/curs_insch.3x.html b/doc/html/man/curs_insch.3x.html
index e337392..5f60c67 100644
--- a/doc/html/man/curs_insch.3x.html
+++ b/doc/html/man/curs_insch.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-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  *
   * copy of this software and associated documentation files (the            *
@@ -26,87 +27,78 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_insch.3x,v 1.13 2010/12/04 18:38:55 tom Exp @
+  * @Id: curs_insch.3x,v 1.40 2024/04/20 19:03:47 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_insch 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_insch 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_insch 3x</H1>
+<H1 class="no-header">curs_insch 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>                                           <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
+<STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>                   Library calls                  <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>insch</STRONG>,  <STRONG>winsch</STRONG>,  <STRONG>mvinsch</STRONG>,  <STRONG>mvwinsch</STRONG>  -  insert a character
-       before cursor in a <STRONG>curses</STRONG> window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>insch</STRONG>,  <STRONG>winsch</STRONG>,  <STRONG>mvinsch</STRONG>,  <STRONG>mvwinsch</STRONG>  -  insert  a <EM>curses</EM> character in a
+       window
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
-       <STRONG>int</STRONG> <STRONG>insch(chtype</STRONG> <STRONG>ch);</STRONG>
-       <STRONG>int</STRONG> <STRONG>winsch(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvinsch(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvwinsch(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
+       <STRONG>int</STRONG> <STRONG>insch(chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>winsch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvinsch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvwinsch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These routines insert the character <EM>ch</EM> before the  charac-
-       ter  under the cursor.  All characters to the right of the
-       cursor are moved one space to the right, with  the  possi-
-       bility  of the rightmost character on the line being lost.
-       The insertion operation does not change the  cursor  posi-
-       tion.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       These functions insert the <EM>curses</EM> character <EM>ch</EM> at  the  cursor  in  the
+       specified  window  <EM>win</EM>  (or  <STRONG>stdscr</STRONG>).   The character previously at the
+       cursor and any to its right move one cell to the right;  the  rightmost
+       character on the line is discarded.  The cursor does not advance.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All  routines that return an integer return <STRONG>ERR</STRONG> upon fail-
-       ure and OK (SVr4 specifies only "an  integer  value  other
-       than  <STRONG>ERR</STRONG>")  upon  successful completion, unless otherwise
-       noted in the preceding routine descriptions.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       These functions return <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure.
 
-       Functions with a "mv" prefix first perform a cursor  move-
-       ment  using  <STRONG>wmove</STRONG>, and return an error if the position is
-       outside the window, or if the window pointer is null.
+       Functions taking a <EM>WINDOW</EM> pointer argument fail if the pointer is <STRONG>NULL</STRONG>.
+
+       Functions  prefixed with "mv" first perform cursor movement and fail if
+       the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       These routines do not necessarily imply use of a  hardware
-       insert character feature.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       <STRONG>insch</STRONG>, <STRONG>mvinsch</STRONG>, and <STRONG>mvwinsch</STRONG> may be implemented as macros.
 
-       Note that <STRONG>insch</STRONG>, <STRONG>mvinsch</STRONG>, and <STRONG>mvwinsch</STRONG> may be macros.
+       A terminal's <STRONG>insert_character</STRONG>  (<STRONG>ich1</STRONG>)  capability  is  not  necessarily
+       employed.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  functions are described in the XSI Curses standard,
-       Issue 4.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       X/Open Curses, Issue 4 describes these functions.
+
+       SVr4  <EM>curses</EM>  describes  a  successful return value only as "an integer
+       value other than <STRONG>ERR</STRONG>".
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG> describes comparable functions in  the  wide-character
+       <EM>curses</EM> configuration.
 
-       Comparable  functions  in  the  wide-character  (ncursesw)
-       library are described in <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>.
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
 
 
-                                                         <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                    <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
diff --git a/doc/html/man/curs_insstr.3x.html b/doc/html/man/curs_insstr.3x.html
index fc2428f..04e0239 100644
--- a/doc/html/man/curs_insstr.3x.html
+++ b/doc/html/man/curs_insstr.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
+  * 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  *
   * copy of this software and associated documentation files (the            *
@@ -26,101 +27,101 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_insstr.3x,v 1.21 2010/12/04 18:38:55 tom Exp @
+  * @Id: curs_insstr.3x,v 1.51 2024/04/20 21:20:07 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_insstr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_insstr 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_insstr 3x</H1>
+<H1 class="no-header">curs_insstr 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>                                         <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+<STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>                  Library calls                 <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>insstr</STRONG>,  <STRONG>insnstr</STRONG>,  <STRONG>winsstr</STRONG>, <STRONG>winsnstr</STRONG>, <STRONG>mvinsstr</STRONG>, <STRONG>mvinsnstr</STRONG>,
-       <STRONG>mvwinsstr</STRONG>, <STRONG>mvwinsnstr</STRONG> - insert string before cursor  in  a
-       <STRONG>curses</STRONG> window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>insstr</STRONG>,  <STRONG>insnstr</STRONG>,  <STRONG>winsstr</STRONG>,  <STRONG>winsnstr</STRONG>,  <STRONG>mvinsstr</STRONG>, <STRONG>mvinsnstr</STRONG>, <STRONG>mvwinsstr</STRONG>,
+       <STRONG>mvwinsnstr</STRONG> - insert a string in a <EM>curses</EM> window
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
-       <STRONG>int</STRONG> <STRONG>insstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*str);</STRONG>
-       <STRONG>int</STRONG> <STRONG>insnstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
-       <STRONG>int</STRONG> <STRONG>winsstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*str);</STRONG>
-       <STRONG>int</STRONG> <STRONG>winsnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvinsstr(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*str);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvinsnstr(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvwinsstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*str);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvwinsnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG>
-       <STRONG>int</STRONG> <STRONG>n);</STRONG>
+       <STRONG>int</STRONG> <STRONG>insstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>insnstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>winsstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>winsnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>mvinsstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvinsnstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvwinsstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvwinsnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These routines insert a character string (as many  charac-
-       ters  as  will fit on the line) before the character under
-       the cursor.  All characters to the right of the cursor are
-       shifted  right with the possibility of the rightmost char-
-       acters on the line being lost.  The cursor  position  does
-       not  change  (after  moving  to  <EM>y</EM>, <EM>x</EM>, if specified).  The
-       functions with <EM>n</EM> as the last  argument  insert  a  leading
-       substring  of  at  most  <EM>n</EM>  characters.  If <EM>n</EM>&lt;=0, then the
-       entire string is inserted.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       These routines insert a character string (as many  characters  as  will
+       fit  on  the line) before the character under the cursor, as if calling
+       <STRONG><A HREF="curs_insch.3x.html">winsch(3x)</A></STRONG>.  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.
 
-       Special characters are handled as in <STRONG>addch</STRONG>.
+       The cursor  position  does  not  change  (after  moving  to  <EM>y</EM>,  <EM>x</EM>,  if
+       specified).
+
+       The functions with <EM>n</EM> as the last argument insert a leading substring of
+       at most <EM>n</EM> characters.  If <EM>n</EM> is less than zero,  the  entire  string  is
+       inserted (stopping on a NUL character).
+
+       Special characters are handled as in <STRONG><A HREF="curs_addch.3x.html">waddch(3x)</A></STRONG>.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All routines that return an integer return <STRONG>ERR</STRONG> upon  fail-
-       ure  and  OK  (SVr4 specifies only "an integer value other
-       than <STRONG>ERR</STRONG>") upon successful  completion,  unless  otherwise
-       noted in the preceding routine descriptions.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
 
-       X/Open  defines  no error conditions.  In this implementa-
-       tion, if the window parameter is null or the str parameter
-       is null, an error is returned.
+       X/Open   Curses   does   not   specify   any  error  conditions.   This
+       implementation returns an error
 
-       Functions  with a "mv" prefix first perform a cursor move-
-       ment using <STRONG>wmove</STRONG>, and return an error if the  position  is
-       outside the window, or if the window pointer is null.
+       <STRONG>o</STRONG>   if the <EM>win</EM> parameter is null or
+
+       <STRONG>o</STRONG>   if the <EM>str</EM> parameter is null or
+
+       <STRONG>o</STRONG>   the <STRONG><A HREF="curs_insch.3x.html">winsch(3x)</A></STRONG> function returns an error.
+
+       Functions prefixed with "mv" first perform cursor movement and fail  if
+       the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       Note that all but <STRONG>winsnstr</STRONG> may be macros.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       All but <STRONG>winsnstr</STRONG> may be macros.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  functions are described in the XSI Curses standard,
-       Issue 4, which adds const qualifiers to the arguments.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These  functions  are  described  in X/Open Curses, Issue 4, which adds
+       <EM>const</EM> qualifiers to the arguments.
 
-       The Single  Unix  Specification,  Version  2  states  that
-       <STRONG>insnstr</STRONG>  and  <STRONG>winsnstr</STRONG> perform wrapping.  This is probably
-       an error, since it makes this group of functions inconsis-
-       tent.   Also,  no  implementation of curses documents this
-       inconsistency.
+       The Single Unix  Specification,  Version  2  states  that  <STRONG>insnstr</STRONG>  and
+       <STRONG>winsnstr</STRONG>  perform  wrapping.  This is probably an error, since it makes
+       this group of  functions  inconsistent.   Also,  no  implementation  of
+       curses documents this inconsistency.
+
+       X/Open  states  that the entire string is inserted if <EM>n</EM> 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.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>, <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>, <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
 
 
 
-                                                        <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                   <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
diff --git a/doc/html/man/curs_instr.3x.html b/doc/html/man/curs_instr.3x.html
index 16c40de..50d0f20 100644
--- a/doc/html/man/curs_instr.3x.html
+++ b/doc/html/man/curs_instr.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-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  *
   * copy of this software and associated documentation files (the            *
@@ -26,93 +27,96 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_instr.3x,v 1.16 2010/12/04 18:38:55 tom Exp @
+  * @Id: curs_instr.3x,v 1.51 2024/04/20 21:24:19 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_instr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_instr 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_instr 3x</H1>
+<H1 class="no-header">curs_instr 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>                                           <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+<STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>                   Library calls                  <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>instr</STRONG>,  <STRONG>innstr</STRONG>, <STRONG>winstr</STRONG>, <STRONG>winnstr</STRONG>, <STRONG>mvinstr</STRONG>, <STRONG>mvinnstr</STRONG>, <STRONG>mvwin-</STRONG>
-       <STRONG>str</STRONG>, <STRONG>mvwinnstr</STRONG> - get a string of characters from a  <STRONG>curses</STRONG>
-       window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>instr</STRONG>,  <STRONG>innstr</STRONG>, <STRONG>winstr</STRONG>, <STRONG>winnstr</STRONG>, <STRONG>mvinstr</STRONG>, <STRONG>mvinnstr</STRONG>, <STRONG>mvwinstr</STRONG>, <STRONG>mvwinnstr</STRONG>
+       - get a string from a <EM>curses</EM> window
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
-       <STRONG>int</STRONG> <STRONG>instr(char</STRONG> <STRONG>*str);</STRONG>
-       <STRONG>int</STRONG> <STRONG>innstr(char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
-       <STRONG>int</STRONG> <STRONG>winstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>char</STRONG> <STRONG>*str);</STRONG>
-       <STRONG>int</STRONG> <STRONG>winnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvinstr(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>char</STRONG> <STRONG>*str);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvinnstr(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvwinstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>char</STRONG> <STRONG>*str);</STRONG>
-       <STRONG>int</STRONG>  <STRONG>mvwinnstr(WINDOW</STRONG>  <STRONG>*win,</STRONG>  <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG>
-       <STRONG>n);</STRONG>
+       <STRONG>int</STRONG> <STRONG>instr(char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>innstr(char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>winstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>winnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>mvinstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvinnstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvwinstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvwinnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These routines return  a  string  of  characters  in  <EM>str</EM>,
-       extracted  starting  at the current cursor position in the
-       named window.  Attributes are stripped  from  the  charac-
-       ters.   The  four  functions  with  <EM>n</EM> as the last argument
-       return a leading  substring  at  most  <EM>n</EM>  characters  long
-       (exclusive of the trailing NUL).
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       These routines return a string of characters in <EM>str</EM>,  starting  at  the
+       current  cursor  position in the named window.  Attributes are stripped
+       from the characters.
+
+       The four functions with  <EM>n</EM>  as  the  last  argument  return  a  leading
+       substring  at  most  <EM>n</EM> characters long (exclusive of the trailing NUL).
+       Transfer stops at the end of the current line,  or  when  <EM>n</EM>  characters
+       have been stored at the location referenced by <EM>str</EM>.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All  of the functions return <STRONG>ERR</STRONG> upon failure, or the num-
-       ber of characters actually read into the string.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       All  of  the  functions  return  <STRONG>ERR</STRONG>  upon  failure,  or  the number of
+       characters actually read into the string.
 
-       X/Open defines no error conditions.  In  this  implementa-
-       tion, if the window parameter is null or the str parameter
-       is null, a zero is returned.
+       X/Open Curses defines no error conditions.  This implementation returns
+       an error
 
-       Functions with a "mv" prefix first perform a cursor  move-
-       ment  using  <STRONG>wmove</STRONG>, and return an error if the position is
-       outside the window, or if the window pointer is null.
+       <STRONG>o</STRONG>   if the <EM>win</EM> parameter is null or
+
+       <STRONG>o</STRONG>   if the <EM>chstr</EM> parameter is null.
+
+       Functions  prefixed with "mv" first perform cursor movement and fail if
+       the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       Note that all routines except <STRONG>winnstr</STRONG> may be macros.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       All routines except <STRONG>winnstr</STRONG> may be macros.
+
+       Reading a line that overflows the array pointed to by <EM>str</EM>  with  <STRONG>instr</STRONG>,
+       <STRONG>mvinstr</STRONG>,  <STRONG>mvwinstr</STRONG>  or <STRONG>winstr</STRONG> causes undefined results.  Therefore, the
+       use of <STRONG>innstr</STRONG>, <STRONG>mvinnstr</STRONG>, <STRONG>mvwinnstr</STRONG>, or <STRONG>winnstr</STRONG> is recommended.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       SVr4 does not document whether a length limit includes  or
-       excludes the trailing NUL.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       SVr4 does not document whether a length limit includes or excludes  the
+       trailing NUL.
 
-       The  ncurses library extends the XSI description by allow-
-       ing a negative value for <EM>n</EM>.  In this case,  the  functions
-       return the string ending at the right margin.
+       The <EM>ncurses</EM> library extends the X/Open Curses description by allowing a
+       negative value for <EM>n</EM>.  In this case, the functions  return  the  string
+       ending at the right margin.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library
+       in its wide-character configuration (<EM>ncursesw</EM>).
+
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>, <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
 
 
 
-                                                         <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                    <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
diff --git a/doc/html/man/curs_inwstr.3x.html b/doc/html/man/curs_inwstr.3x.html
index 8f5c3ca..6c79b59 100644
--- a/doc/html/man/curs_inwstr.3x.html
+++ b/doc/html/man/curs_inwstr.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 2002-2010,2012 Free Software Foundation, Inc.              *
+  * Copyright 2018-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  *
   * copy of this software and associated documentation files (the            *
@@ -26,93 +27,109 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_inwstr.3x,v 1.8 2012/11/03 23:03:59 tom Exp @
+  * @Id: curs_inwstr.3x,v 1.41 2024/04/20 21:20:07 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_inwstr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_inwstr 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_inwstr 3x</H1>
+<H1 class="no-header">curs_inwstr 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>                                         <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+<STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>                  Library calls                 <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>inwstr</STRONG>,  <STRONG>innwstr</STRONG>,  <STRONG>winwstr</STRONG>, <STRONG>winnwstr</STRONG>, <STRONG>mvinwstr</STRONG>, <STRONG>mvinnwstr</STRONG>,
-       <STRONG>mvwinwstr</STRONG>, <STRONG>mvwinnwstr</STRONG> - get a string of <STRONG>wchar_t</STRONG> characters
-       from a curses window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>inwstr</STRONG>,  <STRONG>innwstr</STRONG>,  <STRONG>winwstr</STRONG>,  <STRONG>winnwstr</STRONG>,  <STRONG>mvinwstr</STRONG>, <STRONG>mvinnwstr</STRONG>, <STRONG>mvwinwstr</STRONG>,
+       <STRONG>mvwinnwstr</STRONG> - get a wide-character string from a <EM>curses</EM> window
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
-       <STRONG>int</STRONG> <STRONG>inwstr(wchar_t</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>innwstr(wchar_t</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>winwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>winnwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvinwstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvinnwstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvwinwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvwinnwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>inwstr(wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>innwstr(wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>winwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>winnwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>mvinwstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvinnwstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvwinwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvwinnwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These  routines  return  a string of <STRONG>wchar_t</STRONG> characters in
-       <EM>wstr</EM>, extracted starting at the current cursor position in
-       the  named window.  Attributes are stripped from the char-
-       acters.  The four functions with <EM>n</EM> as  the  last  argument
-       return a leading substring at most <EM>n</EM> bytes long (exclusive
-       of the trailing NUL).  Transfer stops at the  end  of  the
-       current  line,  or  when  <EM>n</EM>  bytes have been stored at the
-       location referenced by <EM>wstr</EM>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       These routines return a string of  <STRONG>wchar_t</STRONG>  wide  characters  in  <EM>wstr</EM>,
+       starting at the current cursor position in the named window.
 
-       If the size <EM>n</EM> is not large  enough  to  store  a  complete
+       The  four  functions  with  <EM>n</EM>  as  the  last  argument return a leading
+       substring at most <EM>n</EM> characters long (exclusive of  the  trailing  NUL).
+       Transfer  stops  at  the  end of the current line, or when <EM>n</EM> characters
+       have been stored at the location referenced by <EM>wstr</EM>.
+
+       If the size  <EM>n</EM>  is  not  large  enough  to  store  a  complete  complex
        character, an error is generated.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       Note that all routines except <STRONG>winnwstr</STRONG> may be macros.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       All  routines return <STRONG>ERR</STRONG> upon failure.  Upon successful completion, the
+       *<STRONG>inwstr</STRONG> routines return <STRONG>OK</STRONG>, and the *<STRONG>innwstr</STRONG> routines return the number
+       of characters read into the string.
+
+       X/Open  defines  no  error  conditions.  This implementation returns an
+       error
+
+       <STRONG>o</STRONG>   if the <EM>win</EM> parameter is null or
+
+       <STRONG>o</STRONG>   if the <EM>wstr</EM> parameter is null, or
+
+       <STRONG>o</STRONG>   if no characters could be read.
+
+       Functions prefixed with "mv" first perform cursor movement and fail  if
+       the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All routines return <STRONG>ERR</STRONG> upon failure. Upon successful com-
-       pletion, the *<STRONG>inwstr</STRONG> routines return <STRONG>OK</STRONG>, and the  *<STRONG>innwstr</STRONG>
-       routines  return  the  number  of characters read into the
-       string.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       All routines except <STRONG>winnwstr</STRONG> may be macros.
 
-       Functions with a "mv" prefix first perform a cursor  move-
-       ment  using  <STRONG>wmove</STRONG>, and return an error if the position is
-       outside the window, or if the window pointer is null.
+       Each  cell in the window holds a complex character (a spacing character
+       and zero or more non-spacing characters) together with  attributes  and
+       color.   These  functions  store  only  the  wide  characters, ignoring
+       attributes and color.  Use <STRONG>in_wchstr</STRONG> to return the  complex  characters
+       from a window.
+
+       Reading a line that overflows the array pointed to by <EM>wstr</EM> with <STRONG>inwstr</STRONG>,
+       <STRONG>mvinwstr</STRONG>, <STRONG>mvwinwstr</STRONG> or <STRONG>winwstr</STRONG> causes  undefined  results.   Therefore,
+       the use of <STRONG>innwstr</STRONG>, <STRONG>mvinnwstr</STRONG>, <STRONG>mvwinnwstr</STRONG>, or <STRONG>winnwstr</STRONG> is recommended.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>, <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These functions are described in X/Open Curses, Issue 4.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,     <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>,     <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>,    <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>,
+       <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
 
 
 
-                                                        <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                   <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
 <li><a href="#h2-NAME">NAME</a></li>
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
diff --git a/doc/html/man/curs_kernel.3x.html b/doc/html/man/curs_kernel.3x.html
index 57e6408..90042ca 100644
--- a/doc/html/man/curs_kernel.3x.html
+++ b/doc/html/man/curs_kernel.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2010,2015 Free Software Foundation, Inc.                        *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2016,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,211 +27,188 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_kernel.3x,v 1.20 2015/07/21 01:10:11 tom Exp @
+  * @Id: curs_kernel.3x,v 1.61 2024/04/20 21:24:19 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_kernel 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_kernel 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_kernel 3x</H1>
+<H1 class="no-header">curs_kernel 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>                                         <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+<STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>                  Library calls                 <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>def_prog_mode</STRONG>, <STRONG>def_shell_mode</STRONG>, <STRONG>reset_prog_mode</STRONG>,
-       <STRONG>reset_shell_mode</STRONG>, <STRONG>resetty</STRONG>, <STRONG>savetty</STRONG>, <STRONG>getsyx</STRONG>, <STRONG>setsyx</STRONG>,
-       <STRONG>ripoffline</STRONG>, <STRONG>curs_set</STRONG>, <STRONG>napms</STRONG> - low-level <STRONG>curses</STRONG> routines
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>def_prog_mode</STRONG>,   <STRONG>def_shell_mode</STRONG>,   <STRONG>reset_prog_mode</STRONG>,   <STRONG>reset_shell_mode</STRONG>,
+       <STRONG>resetty</STRONG>, <STRONG>savetty</STRONG>, <STRONG>getsyx</STRONG>, <STRONG>setsyx</STRONG>, <STRONG>ripoffline</STRONG>, <STRONG>curs_set</STRONG>,  <STRONG>napms</STRONG>  -  low-
+       level <EM>curses</EM> routines
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
        <STRONG>int</STRONG> <STRONG>def_prog_mode(void);</STRONG>
        <STRONG>int</STRONG> <STRONG>def_shell_mode(void);</STRONG>
+
        <STRONG>int</STRONG> <STRONG>reset_prog_mode(void);</STRONG>
        <STRONG>int</STRONG> <STRONG>reset_shell_mode(void);</STRONG>
+
        <STRONG>int</STRONG> <STRONG>resetty(void);</STRONG>
        <STRONG>int</STRONG> <STRONG>savetty(void);</STRONG>
+
        <STRONG>void</STRONG> <STRONG>getsyx(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
        <STRONG>void</STRONG> <STRONG>setsyx(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
+
        <STRONG>int</STRONG> <STRONG>ripoffline(int</STRONG> <EM>line</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>(*</STRONG><EM>init</EM><STRONG>)(WINDOW</STRONG> <STRONG>*,</STRONG> <STRONG>int));</STRONG>
        <STRONG>int</STRONG> <STRONG>curs_set(int</STRONG> <EM>visibility</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>napms(int</STRONG> <EM>ms</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  following  routines  give low-level access to various
-       <STRONG>curses</STRONG> capabilities.  These routines  typically  are  used
-       inside library routines.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The   following  routines  give  low-level  access  to  various  <STRONG>curses</STRONG>
+       capabilities.   These  routines  typically  are  used  inside   library
+       routines.
 
 
-</PRE>
-<H3><a name="h3-def_prog_mode_-def_shell_mode">def_prog_mode, def_shell_mode</a></H3><PRE>
-       The  <STRONG>def_prog_mode</STRONG>  and  <STRONG>def_shell_mode</STRONG>  routines save the
-       current terminal modes as the  "program"  (in  <STRONG>curses</STRONG>)  or
-       "shell"   (not  in  <STRONG>curses</STRONG>)  state  for  use  by  the  <STRONG>re-</STRONG>
-       <STRONG>set_prog_mode</STRONG> and <STRONG>reset_shell_mode</STRONG> routines.  This is done
-       automatically by <STRONG>initscr</STRONG>.  There is one such save area for
-       each screen context allocated by <STRONG>newterm()</STRONG>.
+</PRE><H3><a name="h3-def_prog_mode_def_shell_mode">def_prog_mode, def_shell_mode</a></H3><PRE>
+       The <STRONG>def_prog_mode</STRONG> and <STRONG>def_shell_mode</STRONG> routines save the current terminal
+       modes as the "program" (in <STRONG>curses</STRONG>) or "shell" (not in <STRONG>curses</STRONG>) state for
+       use by the <STRONG>reset_prog_mode</STRONG> and <STRONG>reset_shell_mode</STRONG> routines.  This is done
+       automatically by <STRONG>initscr</STRONG>.  There is one such save area for each  screen
+       context allocated by <STRONG>newterm</STRONG>.
 
 
-</PRE>
-<H3><a name="h3-reset_prog_mode_-reset_shell_mode">reset_prog_mode, reset_shell_mode</a></H3><PRE>
-       The <STRONG>reset_prog_mode</STRONG> and <STRONG>reset_shell_mode</STRONG> routines  restore
-       the  terminal  to "program" (in <STRONG>curses</STRONG>) or "shell" (out of
-       <STRONG>curses</STRONG>) state.  These are  done  automatically  by  <STRONG>endwin</STRONG>
-       and,  after  an  <STRONG>endwin</STRONG>, by <STRONG>doupdate</STRONG>, so they normally are
-       not called.
+</PRE><H3><a name="h3-reset_prog_mode_reset_shell_mode">reset_prog_mode, reset_shell_mode</a></H3><PRE>
+       The  <STRONG>reset_prog_mode</STRONG> and <STRONG>reset_shell_mode</STRONG> routines restore the terminal
+       to "program" (in <STRONG>curses</STRONG>) or "shell" (out of <STRONG>curses</STRONG>) state.   These  are
+       done  automatically by <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG> and, after an <STRONG>endwin</STRONG>, by <STRONG>doupdate</STRONG>, so
+       they normally are not called.
 
 
-</PRE>
-<H3><a name="h3-resetty_-savetty">resetty, savetty</a></H3><PRE>
-       The <STRONG>resetty</STRONG> and <STRONG>savetty</STRONG>  routines  save  and  restore  the
-       state  of  the  terminal modes.  <STRONG>savetty</STRONG> saves the current
-       state in a buffer and <STRONG>resetty</STRONG> restores the state  to  what
-       it was at the last call to <STRONG>savetty</STRONG>.
+</PRE><H3><a name="h3-resetty_savetty">resetty, savetty</a></H3><PRE>
+       The <STRONG>resetty</STRONG> and <STRONG>savetty</STRONG> routines save and  restore  the  state  of  the
+       terminal  modes.   <STRONG>savetty</STRONG>  saves  the  current  state  in a buffer and
+       <STRONG>resetty</STRONG> restores the state to what it was at the last call to <STRONG>savetty</STRONG>.
 
 
-</PRE>
-<H3><a name="h3-getsyx">getsyx</a></H3><PRE>
-       The  <STRONG>getsyx</STRONG> routine returns the current coordinates of the
-       virtual screen cursor in <EM>y</EM> and <EM>x</EM>.  If <STRONG>leaveok</STRONG> is currently
-       <STRONG>TRUE</STRONG>,  then <STRONG>-1</STRONG>,<STRONG>-1</STRONG> is returned.  If lines have been removed
-       from the top of the screen, using <STRONG>ripoffline</STRONG>, <EM>y</EM> and <EM>x</EM>  in-
-       clude  these lines; therefore, <EM>y</EM> and <EM>x</EM> should be used only
-       as arguments for <STRONG>setsyx</STRONG>.
+</PRE><H3><a name="h3-getsyx">getsyx</a></H3><PRE>
+       The <STRONG>getsyx</STRONG> routine returns  the  current  coordinates  of  the  <EM>virtual</EM>
+       <EM>screen</EM>  cursor in <EM>y</EM> and <EM>x</EM>.  If <STRONG>leaveok</STRONG> is currently <STRONG>TRUE</STRONG>, then <STRONG>-1</STRONG>,<STRONG>-1</STRONG> is
+       returned.  If lines have been removed from the top of the screen, using
+       <STRONG>ripoffline</STRONG>,  <EM>y</EM>  and <EM>x</EM> include these lines; therefore, <EM>y</EM> and <EM>x</EM> should be
+       used only as arguments for <STRONG>setsyx</STRONG>.
+
+       Few applications will use this feature, most use <STRONG>getyx</STRONG> instead.
 
 
-</PRE>
-<H3><a name="h3-setsyx">setsyx</a></H3><PRE>
-       The <STRONG>setsyx</STRONG> routine sets the virtual screen cursor to <EM>y</EM>, <EM>x</EM>.
-       If <EM>y</EM> and <EM>x</EM> are both <STRONG>-1</STRONG>, then <STRONG>leaveok</STRONG> is set.  The two rou-
-       tines <STRONG>getsyx</STRONG> and <STRONG>setsyx</STRONG> are designed to be used by  a  li-
-       brary  routine,  which manipulates <STRONG>curses</STRONG> windows but does
-       not want to change the current position of  the  program's
-       cursor.   The library routine would call <STRONG>getsyx</STRONG> at the be-
-       ginning, do its manipulation of  its  own  windows,  do  a
-       <STRONG>wnoutrefresh</STRONG>  on  its  windows, call <STRONG>setsyx</STRONG>, and then call
-       <STRONG>doupdate</STRONG>.
+</PRE><H3><a name="h3-setsyx">setsyx</a></H3><PRE>
+       The <STRONG>setsyx</STRONG> routine sets the <EM>virtual</EM> <EM>screen</EM> cursor to <EM>y</EM>, <EM>x</EM>.  If <EM>y</EM> and  <EM>x</EM>
+       are  both  <STRONG>-1</STRONG>, then <STRONG>leaveok</STRONG> is set.  The two routines <STRONG>getsyx</STRONG> and <STRONG>setsyx</STRONG>
+       are designed to be used by a library routine, which manipulates  <STRONG>curses</STRONG>
+       windows  but  does  not  want  to  change  the  current position of the
+       program's cursor.   The  library  routine  would  call  <STRONG>getsyx</STRONG>  at  the
+       beginning, do its manipulation of its own windows, do a <STRONG>wnoutrefresh</STRONG> on
+       its windows, call <STRONG>setsyx</STRONG>, and then call <STRONG>doupdate</STRONG>.
+
+       Few applications will use this feature, most use <STRONG>wmove</STRONG> instead.
 
 
-</PRE>
-<H3><a name="h3-ripoffline">ripoffline</a></H3><PRE>
-       The <STRONG>ripoffline</STRONG> routine provides access to the same facili-
-       ty  that  <STRONG>slk_init</STRONG>  [see  <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>] uses to reduce the
-       size of the screen.   <STRONG>ripoffline</STRONG>  must  be  called  before
-       <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> is called, to prepare these initial ac-
-       tions:
+</PRE><H3><a name="h3-ripoffline">ripoffline</a></H3><PRE>
+       <STRONG>ripoffline</STRONG> provides access to the same facility that <STRONG><A HREF="curs_slk.3x.html">slk_init(3x)</A></STRONG>  uses
+       to  reduce  the  size  of the screen.  <STRONG>ripoffline</STRONG> must be called before
+       <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> is called, to prepare these initial actions:
 
-       <STRONG>o</STRONG>   If <EM>line</EM> is positive, a line is removed from the top of
-           <STRONG>stdscr</STRONG>.
+       <STRONG>o</STRONG>   If <EM>line</EM> is positive, a line is removed from the top of <STRONG>stdscr</STRONG>.
 
-       <STRONG>o</STRONG>   if  <EM>line</EM>  is negative, a line is removed from the bot-
-           tom.
+       <STRONG>o</STRONG>   if <EM>line</EM> is negative, a line is removed from the bottom.
 
-       When the resulting initialization is done inside  <STRONG>initscr</STRONG>,
-       the routine <STRONG>init</STRONG> (supplied by the user) is called with two
-       arguments:
+       When the resulting initialization is done inside <STRONG>initscr</STRONG>,  the  routine
+       <STRONG>init</STRONG> (supplied by the user) is called with two arguments:
 
-       <STRONG>o</STRONG>   a window pointer to the one-line window that has  been
-           allocated and
+       <STRONG>o</STRONG>   a window pointer to the one-line window that has been allocated and
 
        <STRONG>o</STRONG>   an integer with the number of columns in the window.
 
-       Inside  this initialization routine, the integer variables
-       <STRONG>LINES</STRONG> and <STRONG>COLS</STRONG> (defined in <STRONG>&lt;curses.h&gt;</STRONG>) are not  guaranteed
-       to  be  accurate  and  <STRONG>wrefresh</STRONG>  or  <STRONG>doupdate</STRONG>  must not be
-       called.  It is allowable to call <STRONG>wnoutrefresh</STRONG>  during  the
-       initialization routine.
+       Inside  this  initialization  routine,  the integer variables <STRONG>LINES</STRONG> and
+       <STRONG>COLS</STRONG> (defined in <STRONG>&lt;curses.h&gt;</STRONG>) are not  guaranteed  to  be  accurate  and
+       <STRONG>wrefresh</STRONG>  or  <STRONG>doupdate</STRONG>  must  not  be  called.  It is allowable to call
+       <STRONG>wnoutrefresh</STRONG> during the initialization routine.
 
-       <STRONG>ripoffline</STRONG>  can  be called up to five times before calling
-       <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>.
+       <STRONG>ripoffline</STRONG> can be called up to five times  before  calling  <STRONG>initscr</STRONG>  or
+       <STRONG>newterm</STRONG>.
 
 
-</PRE>
-<H3><a name="h3-curs_set">curs_set</a></H3><PRE>
-       The <STRONG>curs_set</STRONG> routine sets the cursor state  to  invisible,
-       normal, or very visible for <STRONG>visibility</STRONG> equal to <STRONG>0</STRONG>, <STRONG>1</STRONG>, or <STRONG>2</STRONG>
-       respectively.  If the terminal supports the <EM>visibility</EM> re-
-       quested, the previous <EM>cursor</EM> state is returned; otherwise,
-       <STRONG>ERR</STRONG> is returned.
+</PRE><H3><a name="h3-curs_set">curs_set</a></H3><PRE>
+       The  <STRONG>curs_set</STRONG>  routine  sets  the cursor state to invisible, normal, or
+       very visible for <STRONG>visibility</STRONG> equal to <STRONG>0</STRONG>, <STRONG>1</STRONG>, or <STRONG>2</STRONG> respectively.   If  the
+       terminal  supports  the <EM>visibility</EM> requested, the previous <EM>cursor</EM> state
+       is returned; otherwise, <STRONG>ERR</STRONG> is returned.
 
 
-</PRE>
-<H3><a name="h3-napms">napms</a></H3><PRE>
-       The <STRONG>napms</STRONG> routine is used to sleep for <EM>ms</EM> milliseconds.
+</PRE><H3><a name="h3-napms">napms</a></H3><PRE>
+       <STRONG>napms</STRONG> sleeps  for  <EM>ms</EM>  milliseconds.   If  <EM>ms</EM>  exceeds  30,000  (thirty
+       seconds), it is capped at that value.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
        Except for <STRONG>curs_set</STRONG>, these routines always return <STRONG>OK</STRONG>.
 
-       <STRONG>curs_set</STRONG> returns the previous cursor state, or <STRONG>ERR</STRONG> if  the
-       requested <EM>visibility</EM> is not supported.
+       <STRONG>curs_set</STRONG>  returns  the  previous  cursor state, or <STRONG>ERR</STRONG> if the requested
+       <EM>visibility</EM> is not supported.
 
-       X/Open  defines  no error conditions.  In this implementa-
-       tion
+       X/Open defines no error conditions.  In this implementation
 
-       <STRONG>def_prog_mode</STRONG>, <STRONG>def_shell_mode</STRONG>, <STRONG>reset_prog_mode</STRONG>,
-       <STRONG>reset_shell_mode</STRONG>
-            return  an error if the terminal was not initialized,
-            or if the I/O call to obtain  the  terminal  settings
-            fails.
+       <STRONG>def_prog_mode</STRONG>, <STRONG>def_shell_mode</STRONG>, <STRONG>reset_prog_mode</STRONG>, <STRONG>reset_shell_mode</STRONG>
+            return an error if the terminal was not initialized, or if the I/O
+            call to obtain the terminal settings fails.
 
        <STRONG>ripoffline</STRONG>
-            returns  an error if the maximum number of ripped-off
-            lines exceeds the maximum (NRIPS = 5).
+            returns an error if the maximum number of ripped-off lines exceeds
+            the maximum (5).
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       Note that <STRONG>getsyx</STRONG> is a macro, so <STRONG>&amp;</STRONG> is not necessary  before
-       the variables <EM>y</EM> and <EM>x</EM>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       Note that <STRONG>getsyx</STRONG> is a macro, so <STRONG>&amp;</STRONG> is not necessary before the variables
+       <EM>y</EM> and <EM>x</EM>.
 
-       Older  SVr4  man  pages  warn  that  the  return  value of
-       <STRONG>curs_set</STRONG> "is currently  incorrect".   This  implementation
-       gets  it  right, but it may be unwise to count on the cor-
-       rectness of the return value anywhere else.
+       Older  SVr4  man  pages  warn  that  the  return  value of <STRONG>curs_set</STRONG> "is
+       currently incorrect".  This implementation gets it right, but it may be
+       unwise to count on the correctness of the return value anywhere else.
 
-       Both ncurses and SVr4 will  call  <STRONG>curs_set</STRONG>  in  <STRONG>endwin</STRONG>  if
-       <STRONG>curs_set</STRONG>  has  been  called  to make the cursor other than
-       normal, i.e., either invisible or very visible.  There  is
-       no  way  for ncurses to determine the initial cursor state
-       to restore that.
+       Both <EM>ncurses</EM> and SVr4 will call <STRONG>curs_set</STRONG> in <STRONG>endwin</STRONG> if <STRONG>curs_set</STRONG> has been
+       called to make the cursor other than normal, i.e., either invisible  or
+       very  visible.   There  is  no way for <EM>ncurses</EM> to determine the initial
+       cursor state to restore that.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       The functions <STRONG>setsyx</STRONG> and <STRONG>getsyx</STRONG> are not described  in  the
-       XSI  Curses standard, Issue 4.  All other functions are as
-       described in XSI Curses.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       The <EM>virtual</EM> <EM>screen</EM> functions <STRONG>setsyx</STRONG> and <STRONG>getsyx</STRONG>  are  not  described  in
+       X/Open Curses, Issue 4.  All other functions are as described in X/Open
+       Curses.
 
-       The SVr4 documentation describes <STRONG>setsyx</STRONG> and <STRONG>getsyx</STRONG> as hav-
-       ing  return  type  int.  This  is  misleading, as they are
-       macros with no documented semantics for the return value.
+       The SVr4 documentation describes <STRONG>setsyx</STRONG> and  <STRONG>getsyx</STRONG>  as  having  return
+       type  int.   This  is misleading, as they are macros with no documented
+       semantics for the return value.
+
+       If interrupted, <EM>ncurses</EM> restarts <STRONG>napms</STRONG>.  That, and the limitation to 30
+       seconds, are different from other implementations.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,  <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>,  <STRONG>curs_re-</STRONG>
-       <STRONG><A HREF="curs_refresh.3x.html">fresh(3x)</A></STRONG>,   <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>,  <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>,  <STRONG>curs_vari-</STRONG>
-       <STRONG><A HREF="curs_variables.3x.html">ables(3x)</A></STRONG>.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,   <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,   <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>,   <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>,
+       <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>, <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
 
 
 
-                                                        <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                   <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -238,9 +216,9 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
 <ul>
-<li><a href="#h3-def_prog_mode_-def_shell_mode">def_prog_mode, def_shell_mode</a></li>
-<li><a href="#h3-reset_prog_mode_-reset_shell_mode">reset_prog_mode, reset_shell_mode</a></li>
-<li><a href="#h3-resetty_-savetty">resetty, savetty</a></li>
+<li><a href="#h3-def_prog_mode_def_shell_mode">def_prog_mode, def_shell_mode</a></li>
+<li><a href="#h3-reset_prog_mode_reset_shell_mode">reset_prog_mode, reset_shell_mode</a></li>
+<li><a href="#h3-resetty_savetty">resetty, savetty</a></li>
 <li><a href="#h3-getsyx">getsyx</a></li>
 <li><a href="#h3-setsyx">setsyx</a></li>
 <li><a href="#h3-ripoffline">ripoffline</a></li>
diff --git a/doc/html/man/curs_legacy.3x.html b/doc/html/man/curs_legacy.3x.html
index 36db4bf..22f78dd 100644
--- a/doc/html/man/curs_legacy.3x.html
+++ b/doc/html/man/curs_legacy.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 2007,2010 Free Software Foundation, Inc.                   *
+  * Copyright 2019-2023,2024 Thomas E. Dickey                                *
+  * Copyright 2007-2015,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,91 +27,107 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_legacy.3x,v 1.5 2010/12/04 18:38:55 tom Exp @
+  * @Id: curs_legacy.3x,v 1.32 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_legacy 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_legacy 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_legacy 3x</H1>
+<H1 class="no-header">curs_legacy 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>                                         <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>
+<STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>                  Library calls                 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       getattrs  -  get  <STRONG>curses</STRONG>  cursor  and  window coordinates,
-       attributes
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>getattrs</STRONG>,   <STRONG>getbegx</STRONG>,   <STRONG>getbegy</STRONG>,  <STRONG>getcurx</STRONG>,  <STRONG>getcury</STRONG>,  <STRONG>getmaxx</STRONG>,  <STRONG>getmaxy</STRONG>,
+       <STRONG>getparx</STRONG>,  <STRONG>getpary</STRONG>  -  get  <EM>curses</EM>  cursor  and  window  coordinates  or
+       attributes (legacy)
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
-       <STRONG>int</STRONG> <STRONG>getattrs(WINDOW</STRONG> <STRONG>*win);</STRONG>
-       <STRONG>int</STRONG> <STRONG>getbegx(WINDOW</STRONG> <STRONG>*win);</STRONG>
-       <STRONG>int</STRONG> <STRONG>getbegy(WINDOW</STRONG> <STRONG>*win);</STRONG>
-       <STRONG>int</STRONG> <STRONG>getcurx(WINDOW</STRONG> <STRONG>*win);</STRONG>
-       <STRONG>int</STRONG> <STRONG>getcury(WINDOW</STRONG> <STRONG>*win);</STRONG>
-       <STRONG>int</STRONG> <STRONG>getmaxx(WINDOW</STRONG> <STRONG>*win);</STRONG>
-       <STRONG>int</STRONG> <STRONG>getmaxy(WINDOW</STRONG> <STRONG>*win);</STRONG>
-       <STRONG>int</STRONG> <STRONG>getparx(WINDOW</STRONG> <STRONG>*win);</STRONG>
-       <STRONG>int</STRONG> <STRONG>getpary(WINDOW</STRONG> <STRONG>*win);</STRONG>
+       <STRONG>int</STRONG> <STRONG>getattrs(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>getbegx(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>getbegy(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>getcurx(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>getcury(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>getmaxx(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>getmaxy(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>getparx(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>getpary(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The <STRONG>getbegy</STRONG> and <STRONG>getbegx</STRONG> functions return the same data  as
-       <STRONG>getbegyx</STRONG>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       These  legacy  functions  are  simpler  to  use  than the X/Open <EM>curses</EM>
+       functions:
 
-       The  <STRONG>getcury</STRONG> and <STRONG>getcurx</STRONG> functions return the same data as
-       <STRONG>getyx</STRONG>.
+       <STRONG>o</STRONG>   The <STRONG>getattrs</STRONG> function returns the same attribute data as <STRONG>wattr_get</STRONG>.
 
-       The <STRONG>getmaxy</STRONG> and <STRONG>getmaxx</STRONG> functions return the same data  as
-       <STRONG>getmaxyx</STRONG>.
+           However, <STRONG>getattrs</STRONG> returns an integer  (actually  a  <STRONG>chtype</STRONG>),  while
+           <STRONG>wattr_get</STRONG>  returns  the current color pair in a separate parameter.
+           In the wide-character library configuration, color  pairs  may  not
+           fit into a <STRONG>chtype</STRONG>, so <STRONG>wattr_get</STRONG> is the only way to obtain the color
+           information.
 
-       The  <STRONG>getpary</STRONG> and <STRONG>getparx</STRONG> functions return the same data as
-       <STRONG>getparyx</STRONG>.
+           Because <STRONG>getattrs</STRONG> returns the attributes in a single  parameter,  it
+           would  not  be possible for an application to distinguish that from
+           <STRONG>ERR</STRONG> (a <EM>-1</EM>).  If the window  parameter  is  null,  <STRONG>getattrs</STRONG>  returns
+           <STRONG>A_NORMAL</STRONG> (zero).
+
+       <STRONG>o</STRONG>   The <STRONG>getbegy</STRONG> and <STRONG>getbegx</STRONG> functions return the same data as <STRONG>getbegyx</STRONG>.
+
+       <STRONG>o</STRONG>   The <STRONG>getcury</STRONG> and <STRONG>getcurx</STRONG> functions return the same data as <STRONG>getyx</STRONG>.
+
+       <STRONG>o</STRONG>   The <STRONG>getmaxy</STRONG> and <STRONG>getmaxx</STRONG> functions return the same data as <STRONG>getmaxyx</STRONG>.
+
+       <STRONG>o</STRONG>   The <STRONG>getpary</STRONG> and <STRONG>getparx</STRONG> functions return the same data as <STRONG>getparyx</STRONG>.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       These functions return an integer, or ERR  if  the  window
-       parameter is null.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       Except  as  noted,  these  functions  return  an integer, or <STRONG>ERR</STRONG> if the
+       window parameter is null.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       All  of  these interfaces are provided as macros and func-
-       tions.  The macros are suppressed (and only the  functions
-       provided)  when  <STRONG>NCURSES_OPAQUE</STRONG>  is defined.  The standard
-       forms such as <STRONG>getyx</STRONG> must be implemented as macros, and (in
-       this implementation) are defined in terms of the functions
-       described here, to avoid reliance on internal  details  of
-       the WINDOW structure.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       All of these interfaces are implemented as macros and  functions.   The
+       macros  are suppressed (and only the functions provided) in an "opaque"
+       <EM>ncurses</EM> build, which defines the  preprocessor  symbol  <STRONG>NCURSES_OPAQUE</STRONG>.
+       See section "ALTERNATE CONFIGURATIONS" in <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.
+
+       The standard forms such as <STRONG>getyx</STRONG> <EM>must</EM> be implemented as macros, and (in
+       this implementation) are defined in terms of  the  functions  described
+       here, to avoid reliance on internal details of the <EM>WINDOW</EM> structure.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These functions were supported on Version 7, BSD or System
-       V implementations.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These   functions  were  supported  on  Version  7,  BSD  or  System  V
+       implementations.  None of  those  implementations  checked  the  window
+       parameter.
+
+       The  <STRONG>getattrs</STRONG>  function  and  macro  are  defined  to return a (signed)
+       integer  for  compatibility  with  those  implementations  although  an
+       unsigned type would have been more appropriate.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>, <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>
 
 
 
-                                                        <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                   <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
diff --git a/doc/html/man/curs_memleaks.3x.html b/doc/html/man/curs_memleaks.3x.html
index b36442c..085e3ab 100644
--- a/doc/html/man/curs_memleaks.3x.html
+++ b/doc/html/man/curs_memleaks.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 2008,2010 Free Software Foundation, Inc.                   *
+  * Copyright 2019-2023,2024 Thomas E. Dickey                                *
+  * Copyright 2008-2010,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,81 +27,112 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_memleaks.3x,v 1.3 2010/12/04 18:40:45 tom Exp @
+  * @Id: curs_memleaks.3x,v 1.35 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_memleaks 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_memleaks 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_memleaks 3x</H1>
+<H1 class="no-header">curs_memleaks 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>                                     <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>
+<STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>                Library calls               <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>_nc_freeall</STRONG> <STRONG>_nc_free_and_exit</STRONG> - <STRONG>curses</STRONG> memory-leak
-       checking
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>exit_curses</STRONG>, <STRONG>exit_terminfo</STRONG> - check for memory leaks in <EM>curses</EM>
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+       <STRONG>void</STRONG> <STRONG>exit_curses(int</STRONG> <EM>code</EM><STRONG>);</STRONG>
 
+       <STRONG>#include</STRONG> <STRONG>&lt;term.h&gt;</STRONG>
+       <STRONG>void</STRONG> <STRONG>exit_terminfo(int</STRONG> <EM>code</EM><STRONG>);</STRONG>
+
+       <EM>/*</EM> <EM>deprecated</EM> <EM>(intentionally</EM> <EM>not</EM> <EM>declared</EM> <EM>in</EM> <EM>curses.h</EM> <EM>or</EM> <EM>term.h)</EM> <EM>*/</EM>
        <STRONG>void</STRONG> <STRONG>_nc_freeall(void);</STRONG>
-       <STRONG>void</STRONG> <STRONG>_nc_free_and_exit(int);</STRONG>
+       <STRONG>void</STRONG> <STRONG>_nc_free_and_exit(int</STRONG> <EM>code</EM><STRONG>);</STRONG>
+       <STRONG>void</STRONG> <STRONG>_nc_free_tinfo(int</STRONG> <EM>code</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These functions are used to simplify  analysis  of  memory
-       leaks  in  the  ncurses  library.   They  are normally not
-       available; they must be configured  into  the  library  at
-       build  time  using  the <STRONG>--disable-leaks</STRONG> option.  That com-
-       piles-in code that frees memory that normally would not be
-       freed.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       These  functions  are  used to simplify analysis of memory leaks in the
+       <EM>ncurses</EM> library.
 
-       Any  implementation of curses must not free the memory as-
-       sociated with a screen, since (even after calling <STRONG>endwin</STRONG>),
-       it  must be available for use in the next call to <STRONG>refresh</STRONG>.
-       There are also chunks of memory held for performance  rea-
-       sons.   That  makes it hard to analyze curses applications
-       for memory leaks.  To work around this, one  can  build  a
-       debugging version of the ncurses library which frees those
-       chunks which it can, and provides these functions to  free
-       all of the memory allocated by the ncurses library.
+       Any implementation of curses must not free the memory associated with a
+       screen, since (even after calling <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG>), it must be available for
+       use in the next call to <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>.  There are also chunks  of  memory
+       held  for  performance  reasons.   That makes it hard to analyze curses
+       applications for memory leaks.  When  using  the  specially  configured
+       debugging  version  of  the  <EM>ncurses</EM>  library,  applications  can  call
+       functions which free those chunks of memory, simplifying the process of
+       memory-leak checking.
 
-       The  _nc_free_and_exit function is the preferred one since
-       some of the memory which is freed may be required for  the
-       application  to  continue  running.   Its parameter is the
-       code to pass to the exit routine.
+       Some  of  the functions are named with a "_nc_" prefix because they are
+       not intended for use in the non-debugging library:
+
+       <STRONG>_nc_freeall</STRONG>
+            This frees (almost) all of the memory allocated by <EM>ncurses</EM>.
+
+       <STRONG>_nc_free_and_exit</STRONG>
+            This frees the memory allocated by <EM>ncurses</EM> (like <STRONG>_nc_freeall</STRONG>), and
+            exits the program.  It is preferred over <STRONG>_nc_freeall</STRONG> since some of
+            that memory may be  required  to  keep  the  application  running.
+            Simply exiting (with the given exit-code) is safer.
+
+       <STRONG>_nc_free_tinfo</STRONG>
+            Use  this  function  if only the low-level terminfo functions (and
+            corresponding library) are used.  Like <STRONG>_nc_free_and_exit</STRONG>, it exits
+            the program after freeing memory.
+
+       The  functions  prefixed "_nc" are normally not available; they must be
+       configured into the library at build  time  using  the  <STRONG>--disable-leaks</STRONG>
+       option.   That  compiles-in  code that frees memory that normally would
+       not be freed.
+
+       The <STRONG>exit_curses</STRONG> and <STRONG>exit_terminfo</STRONG> functions call <STRONG>_nc_free_and_exit</STRONG>  and
+       <STRONG>_nc_free_tinfo</STRONG>  if  the  library  is  configured to support memory-leak
+       checking.  If the library is  not  configured  to  support  memory-leak
+       checking, they simply call <STRONG>exit</STRONG>.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
        These functions do not return a value.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These functions are not part of the XSI interface.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These   functions   are  not  part  of  X/Open  Curses;  nor  do  other
+       implementations of curses provide a similar feature.
+
+       In any implementation of X/Open Curses, an application can free part of
+       the memory allocated by curses:
+
+       <STRONG>o</STRONG>   The  portable  part  of  <STRONG>exit_curses</STRONG>  can be freed using <STRONG>delscreen</STRONG>,
+           passing the <EM>SCREEN</EM> pointer returned by <STRONG>newterm</STRONG>.
+
+           In some implementations, there is a global variable <STRONG>sp</STRONG> which  could
+           be used, e.g., if the screen were only initialized using <STRONG>initscr</STRONG>.
+
+       <STRONG>o</STRONG>   The portable part of <STRONG>exit_terminfo</STRONG> can be freed using <STRONG>del_curterm</STRONG>.
+
+           In this case, there is a global variable <STRONG>cur_term</STRONG> which can be used
+           as parameter.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
 
 
 
-                                                      <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                 <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
diff --git a/doc/html/man/curs_mouse.3x.html b/doc/html/man/curs_mouse.3x.html
index f4951c1..cdb42f2 100644
--- a/doc/html/man/curs_mouse.3x.html
+++ b/doc/html/man/curs_mouse.3x.html
@@ -1,7 +1,8 @@
-<!-- 
+<!--
   * t
   ****************************************************************************
-  * Copyright (c) 1998-2014,2015 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2015,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,34 +28,31 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_mouse.3x,v 1.42 2015/07/21 09:27:39 tom Exp @
+  * @Id: curs_mouse.3x,v 1.98 2024/04/20 19:02:07 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_mouse 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_mouse 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_mouse 3x</H1>
+<H1 class="no-header">curs_mouse 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>                                           <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>
+<STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>                   Library calls                  <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>has_mouse</STRONG>, <STRONG>getmouse</STRONG>, <STRONG>ungetmouse</STRONG>, <STRONG>mousemask</STRONG>, <STRONG>wenclose</STRONG>,
-       <STRONG>mouse_trafo</STRONG>, <STRONG>wmouse_trafo</STRONG>, <STRONG>mouseinterval</STRONG> - mouse interface
-       through curses
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>has_mouse</STRONG>,  <STRONG>getmouse</STRONG>,  <STRONG>ungetmouse</STRONG>,  <STRONG>mousemask</STRONG>,  <STRONG>wenclose</STRONG>,  <STRONG>mouse_trafo</STRONG>,
+       <STRONG>wmouse_trafo</STRONG>, <STRONG>mouseinterval</STRONG> - get mouse events in <EM>curses</EM>
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
        <STRONG>typedef</STRONG> <STRONG>unsigned</STRONG> <STRONG>long</STRONG> <STRONG>mmask_t;</STRONG>
@@ -66,232 +64,216 @@
        <STRONG>}</STRONG> <STRONG>MEVENT;</STRONG>
 
        <STRONG>bool</STRONG> <STRONG>has_mouse(void);</STRONG>
+
+       <STRONG>mmask_t</STRONG> <STRONG>mousemask(mmask_t</STRONG> <EM>newmask</EM><STRONG>,</STRONG> <STRONG>mmask_t</STRONG> <STRONG>*</STRONG><EM>oldmask</EM><STRONG>);</STRONG>
+
        <STRONG>int</STRONG> <STRONG>getmouse(MEVENT</STRONG> <STRONG>*</STRONG><EM>event</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>ungetmouse(MEVENT</STRONG> <STRONG>*</STRONG><EM>event</EM><STRONG>);</STRONG>
-       <STRONG>mmask_t</STRONG> <STRONG>mousemask(mmask_t</STRONG> <EM>newmask</EM><STRONG>,</STRONG> <STRONG>mmask_t</STRONG> <STRONG>*</STRONG><EM>oldmask</EM><STRONG>);</STRONG>
+
        <STRONG>bool</STRONG> <STRONG>wenclose(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
+
        <STRONG>bool</STRONG> <STRONG>mouse_trafo(int*</STRONG> <EM>pY</EM><STRONG>,</STRONG> <STRONG>int*</STRONG> <EM>pX</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>to</EM><STRONG>_</STRONG><EM>screen</EM><STRONG>);</STRONG>
-       <STRONG>bool</STRONG> <STRONG>wmouse_trafo(const</STRONG> <STRONG>WINDOW*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>int*</STRONG> <EM>pY</EM><STRONG>,</STRONG> <STRONG>int*</STRONG> <EM>pX</EM><STRONG>,</STRONG>
-            <STRONG>bool</STRONG> <EM>to</EM><STRONG>_</STRONG><EM>screen</EM><STRONG>);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>wmouse_trafo(const</STRONG> <STRONG>WINDOW*</STRONG> <EM>win</EM><STRONG>,</STRONG>
+                         <STRONG>int*</STRONG> <EM>pY</EM><STRONG>,</STRONG> <STRONG>int*</STRONG> <EM>pX</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>to</EM><STRONG>_</STRONG><EM>screen</EM><STRONG>);</STRONG>
+
        <STRONG>int</STRONG> <STRONG>mouseinterval(int</STRONG> <EM>erval</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These  functions provide an interface to mouse events from
-       <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.  Mouse events are  represented  by  <STRONG>KEY_MOUSE</STRONG>
-       pseudo-key values in the <STRONG>wgetch</STRONG> input stream.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       These functions provide an interface to mouse events from  <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.
+       Mouse  events  are  represented  by  <STRONG>KEY_MOUSE</STRONG> pseudo-key values in the
+       <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> input stream.
 
 
-</PRE>
-<H3><a name="h3-mousemask">mousemask</a></H3><PRE>
-       To  make mouse events visible, use the <STRONG>mousemask</STRONG> function.
-       This will set the mouse events to  be  reported.   By  de-
-       fault,  no  mouse  events are reported.  The function will
-       return a mask to indicate which  of  the  specified  mouse
-       events  can be reported; on complete failure it returns 0.
-       If oldmask is non-NULL, this function fills the  indicated
-       location  with  the  previous  value of the given window's
-       mouse event mask.
+</PRE><H3><a name="h3-has_mouse">has_mouse</a></H3><PRE>
+       The <STRONG>has_mouse</STRONG> function returns  <STRONG>TRUE</STRONG>  if  the  mouse  driver  has  been
+       successfully initialized, and <STRONG>FALSE</STRONG> otherwise.
 
-       As a side effect, setting a zero mousemask  may  turn  off
-       the  mouse pointer; setting a nonzero mask may turn it on.
-       Whether this happens is device-dependent.
+       Mouse  events  are  ignored  when input is in cooked mode, and cause an
+       error beep when cooked mode  is  being  simulated  in  a  window  by  a
+       function  such  as  <STRONG>getstr</STRONG>  that  expects  a  linefeed  for  input-loop
+       termination.
 
 
-</PRE>
-<H3><a name="h3-Mouse-events">Mouse events</a></H3><PRE>
+</PRE><H3><a name="h3-mousemask">mousemask</a></H3><PRE>
+       To make mouse events visible, use the <STRONG>mousemask</STRONG>  function.   This  sets
+       the  mouse  events  to  be  reported.   By default, no mouse events are
+       reported.
+
+       <STRONG>o</STRONG>   The function returns an updated copy of <EM>newmask</EM> to  indicate  which
+           of the specified mouse events can be reported.
+
+           If the screen has not been initialized, or if the terminal does not
+           support mouse-events, this function returns 0.
+
+       <STRONG>o</STRONG>   If <EM>oldmask</EM> is non-<STRONG>NULL</STRONG>, this function fills the indicated  location
+           with the previous value of the current screen's mouse event mask.
+
+       As  a  side  effect,  setting  a zero mouse mask may turn off the mouse
+       pointer; setting a nonzero mask may turn it on.  Whether  this  happens
+       is device-dependent.
+
+
+</PRE><H3><a name="h3-Mouse-Events">Mouse Events</a></H3><PRE>
        Here are the mouse event type masks which may be defined:
 
-       <EM>Name</EM>                     <EM>Description</EM>
-       ---------------------------------------------------------------------
-       BUTTON1_PRESSED          mouse button 1 down
-       BUTTON1_RELEASED         mouse button 1 up
-       BUTTON1_CLICKED          mouse button 1 clicked
-       BUTTON1_DOUBLE_CLICKED   mouse button 1 double clicked
-       BUTTON1_TRIPLE_CLICKED   mouse button 1 triple clicked
-       ---------------------------------------------------------------------
-       BUTTON2_PRESSED          mouse button 2 down
-       BUTTON2_RELEASED         mouse button 2 up
-       BUTTON2_CLICKED          mouse button 2 clicked
-       BUTTON2_DOUBLE_CLICKED   mouse button 2 double clicked
+       <STRONG>Name</STRONG>                     <STRONG>Description</STRONG>
+       ------------------------------------------------------------------------
+       <STRONG>BUTTON1_PRESSED</STRONG>          mouse button 1 down
+       <STRONG>BUTTON1_RELEASED</STRONG>         mouse button 1 up
+       <STRONG>BUTTON1_CLICKED</STRONG>          mouse button 1 clicked
+       <STRONG>BUTTON1_DOUBLE_CLICKED</STRONG>   mouse button 1 double clicked
+       <STRONG>BUTTON1_TRIPLE_CLICKED</STRONG>   mouse button 1 triple clicked
+       ------------------------------------------------------------------------
+       <STRONG>BUTTON2_PRESSED</STRONG>          mouse button 2 down
+       <STRONG>BUTTON2_RELEASED</STRONG>         mouse button 2 up
+       <STRONG>BUTTON2_CLICKED</STRONG>          mouse button 2 clicked
+       <STRONG>BUTTON2_DOUBLE_CLICKED</STRONG>   mouse button 2 double clicked
+       <STRONG>BUTTON2_TRIPLE_CLICKED</STRONG>   mouse button 2 triple clicked
+       ------------------------------------------------------------------------
+       <STRONG>BUTTON3_PRESSED</STRONG>          mouse button 3 down
+       <STRONG>BUTTON3_RELEASED</STRONG>         mouse button 3 up
+       <STRONG>BUTTON3_CLICKED</STRONG>          mouse button 3 clicked
+       <STRONG>BUTTON3_DOUBLE_CLICKED</STRONG>   mouse button 3 double clicked
+       <STRONG>BUTTON3_TRIPLE_CLICKED</STRONG>   mouse button 3 triple clicked
+       ------------------------------------------------------------------------
+       <STRONG>BUTTON4_PRESSED</STRONG>          mouse button 4 down
+       <STRONG>BUTTON4_RELEASED</STRONG>         mouse button 4 up
+       <STRONG>BUTTON4_CLICKED</STRONG>          mouse button 4 clicked
+       <STRONG>BUTTON4_DOUBLE_CLICKED</STRONG>   mouse button 4 double clicked
+       <STRONG>BUTTON4_TRIPLE_CLICKED</STRONG>   mouse button 4 triple clicked
+       ------------------------------------------------------------------------
+       <STRONG>BUTTON5_PRESSED</STRONG>          mouse button 5 down
+       <STRONG>BUTTON5_RELEASED</STRONG>         mouse button 5 up
+       <STRONG>BUTTON5_CLICKED</STRONG>          mouse button 5 clicked
+       <STRONG>BUTTON5_DOUBLE_CLICKED</STRONG>   mouse button 5 double clicked
+       <STRONG>BUTTON5_TRIPLE_CLICKED</STRONG>   mouse button 5 triple clicked
+       ------------------------------------------------------------------------
+       <STRONG>BUTTON_SHIFT</STRONG>             shift was down during button state change
+       <STRONG>BUTTON_CTRL</STRONG>              control was down during button state change
+       <STRONG>BUTTON_ALT</STRONG>               alt was down during button state change
+       <STRONG>ALL_MOUSE_EVENTS</STRONG>         report all button state changes
+       <STRONG>REPORT_MOUSE_POSITION</STRONG>    report mouse movement
+       ------------------------------------------------------------------------
 
 
-       BUTTON2_TRIPLE_CLICKED   mouse button 2 triple clicked
-       ---------------------------------------------------------------------
-       BUTTON3_PRESSED          mouse button 3 down
-       BUTTON3_RELEASED         mouse button 3 up
-       BUTTON3_CLICKED          mouse button 3 clicked
-       BUTTON3_DOUBLE_CLICKED   mouse button 3 double clicked
-       BUTTON3_TRIPLE_CLICKED   mouse button 3 triple clicked
-       ---------------------------------------------------------------------
-       BUTTON4_PRESSED          mouse button 4 down
-       BUTTON4_RELEASED         mouse button 4 up
-       BUTTON4_CLICKED          mouse button 4 clicked
-       BUTTON4_DOUBLE_CLICKED   mouse button 4 double clicked
-       BUTTON4_TRIPLE_CLICKED   mouse button 4 triple clicked
-       ---------------------------------------------------------------------
-       BUTTON5_PRESSED          mouse button 5 down
-       BUTTON5_RELEASED         mouse button 5 up
-       BUTTON5_CLICKED          mouse button 5 clicked
-       BUTTON5_DOUBLE_CLICKED   mouse button 5 double clicked
-       BUTTON5_TRIPLE_CLICKED   mouse button 5 triple clicked
-       ---------------------------------------------------------------------
-       BUTTON_SHIFT             shift was down during button state change
-       BUTTON_CTRL              control was down during button state change
-       BUTTON_ALT               alt was down during button state change
-       ALL_MOUSE_EVENTS         report all button state changes
-       REPORT_MOUSE_POSITION    report mouse movement
-       ---------------------------------------------------------------------
+</PRE><H3><a name="h3-getmouse">getmouse</a></H3><PRE>
+       Once a class of mouse events has been made visible in a window, calling
+       the <STRONG>wgetch</STRONG> function on that window may return <STRONG>KEY_MOUSE</STRONG> as an indicator
+       that a mouse event has been queued.  To read the event data and pop the
+       event off the queue, call <STRONG>getmouse</STRONG>.  This function will return <STRONG>OK</STRONG> if  a
+       mouse  event  is  actually  visible in the given window, <STRONG>ERR</STRONG> otherwise.
+       When <STRONG>getmouse</STRONG> returns <STRONG>OK</STRONG>, the data deposited as y and x  in  the  event
+       structure    coordinates   will   be   screen-relative   character-cell
+       coordinates.  The returned state mask will have exactly one bit set  to
+       indicate the event type.  The corresponding data in the queue is marked
+       invalid.  A subsequent call to <STRONG>getmouse</STRONG> will retrieve  the  next  older
+       item from the queue.
 
 
-</PRE>
-<H3><a name="h3-getmouse">getmouse</a></H3><PRE>
-       Once a class of mouse events has been made  visible  in  a
-       window, calling the <STRONG>wgetch</STRONG> function on that window may re-
-       turn <STRONG>KEY_MOUSE</STRONG> as an indicator that a mouse event has been
-       queued.   To read the event data and pop the event off the
-       queue, call <STRONG>getmouse</STRONG>.  This function will return <STRONG>OK</STRONG>  if  a
-       mouse  event  is actually visible in the given window, <STRONG>ERR</STRONG>
-       otherwise.  When <STRONG>getmouse</STRONG> returns <STRONG>OK</STRONG>, the  data  deposited
-       as  y  and  x  in  the event structure coordinates will be
-       screen-relative character-cell coordinates.  The  returned
-       state  mask  will have exactly one bit set to indicate the
-       event type.  The corresponding data in the queue is marked
-       invalid.   A subsequent call to <STRONG>getmouse</STRONG> will retrieve the
-       next older item from the queue.
+</PRE><H3><a name="h3-ungetmouse">ungetmouse</a></H3><PRE>
+       The  <STRONG>ungetmouse</STRONG>  function  behaves analogously to <STRONG>ungetch</STRONG>.  It pushes a
+       <STRONG>KEY_MOUSE</STRONG> event onto the input queue, and associates  with  that  event
+       the given state data and screen-relative character-cell coordinates.
 
 
-</PRE>
-<H3><a name="h3-ungetmouse">ungetmouse</a></H3><PRE>
-       The <STRONG>ungetmouse</STRONG> function behaves  analogously  to  <STRONG>ungetch</STRONG>.
-       It  pushes a <STRONG>KEY_MOUSE</STRONG> event onto the input queue, and as-
-       sociates with that event the given state data and  screen-
-       relative character-cell coordinates.
+</PRE><H3><a name="h3-wenclose">wenclose</a></H3><PRE>
+       The  <STRONG>wenclose</STRONG>  function  tests  whether a given pair of screen-relative
+       character-cell coordinates is enclosed by  a  given  window,  returning
+       <STRONG>TRUE</STRONG>  if  it is and <STRONG>FALSE</STRONG> otherwise.  It is useful for determining what
+       subset of the screen windows enclose the location of a mouse event.
+
+       If the parameter is  a  pad,  <STRONG>wenclose</STRONG>  uses  the  most  recent  screen
+       coordinates used for this pad in <STRONG><A HREF="curs_pad.3x.html">prefresh(3x)</A></STRONG> or <STRONG><A HREF="curs_pad.3x.html">pnoutrefresh(3x)</A></STRONG>.
 
 
-</PRE>
-<H3><a name="h3-wenclose">wenclose</a></H3><PRE>
-       The  <STRONG>wenclose</STRONG>  function  tests  whether  a  given  pair of
-       screen-relative character-cell coordinates is enclosed  by
-       a  given  window, returning <STRONG>TRUE</STRONG> if it is and <STRONG>FALSE</STRONG> other-
-       wise.  It is useful for determining  what  subset  of  the
-       screen windows enclose the location of a mouse event.
+</PRE><H3><a name="h3-wmouse_trafo">wmouse_trafo</a></H3><PRE>
+       The  <STRONG>wmouse_trafo</STRONG>  function transforms a given pair of coordinates from
+       <STRONG>stdscr</STRONG>-relative coordinates to coordinates relative to the given window
+       or  vice  versa.   The  resulting  <STRONG>stdscr</STRONG>-relative  coordinates are not
+       always identical to screen coordinates due to the mechanism to  reserve
+       lines  on  top  or  bottom  of  the  screen for other purposes (see the
+       <STRONG><A HREF="curs_kernel.3x.html">ripoffline(3x)</A></STRONG> and <STRONG><A HREF="curs_slk.3x.html">slk_init(3x)</A></STRONG> calls, for example).
+
+       <STRONG>o</STRONG>   If the parameter <EM>to</EM><STRONG>_</STRONG><EM>screen</EM>  is  <STRONG>TRUE</STRONG>,  the  pointers  <EM>pY,</EM>  <EM>pX</EM>  must
+           reference  the  coordinates  of  a  location inside the window <EM>win</EM>.
+           They are converted  to  <STRONG>stdscr</STRONG>-relative  coordinates  and  returned
+           through  the  pointers.   If  the  conversion  was  successful, the
+           function returns <STRONG>TRUE</STRONG>.
+
+           If one of the parameters was <STRONG>NULL</STRONG> or the location is not inside the
+           window, <STRONG>FALSE</STRONG> is returned.
+
+       <STRONG>o</STRONG>   If   <EM>to</EM><STRONG>_</STRONG><EM>screen</EM>  is  <STRONG>FALSE</STRONG>,  the  pointers  <EM>pY,</EM>  <EM>pX</EM>  must  reference
+           <STRONG>stdscr</STRONG>-relative coordinates.  They are converted to window-relative
+           coordinates  if  the  window <EM>win</EM> encloses this point.  In this case
+           the function returns <STRONG>TRUE</STRONG>.
+
+           If one of the parameters is <STRONG>NULL</STRONG> or the point  is  not  inside  the
+           window, <STRONG>FALSE</STRONG> is returned.
+
+       The   referenced   coordinates  are  only  replaced  by  the  converted
+       coordinates if the transformation was successful.
 
 
-</PRE>
-<H3><a name="h3-wmouse_trafo">wmouse_trafo</a></H3><PRE>
-       The <STRONG>wmouse_trafo</STRONG> function transforms a given pair of coor-
-       dinates from stdscr-relative  coordinates  to  coordinates
-       relative to the given window or vice versa.  The resulting
-       stdscr-relative coordinates are not  always  identical  to
-       window-relative  coordinates  due  to the mechanism to re-
-       serve lines on top or bottom of the screen for other  pur-
-       poses  (see  the  <STRONG>ripoffline</STRONG> and <STRONG>slk_init</STRONG> calls, for exam-
-       ple).
-
-       <STRONG>o</STRONG>   If the parameter <STRONG>to_screen</STRONG> is <STRONG>TRUE</STRONG>, the  pointers  <STRONG>pY,</STRONG>
-           <STRONG>pX</STRONG> must reference the coordinates of a location inside
-           the window <STRONG>win</STRONG>.  They are converted to window-relative
-           coordinates and returned through the pointers.  If the
-           conversion was successful, the function returns <STRONG>TRUE</STRONG>.
-
-       <STRONG>o</STRONG>   If one of the parameters was NULL or the  location  is
-           not inside the window, <STRONG>FALSE</STRONG> is returned.
-
-       <STRONG>o</STRONG>   If <STRONG>to_screen</STRONG> is <STRONG>FALSE</STRONG>, the pointers <STRONG>pY,</STRONG> <STRONG>pX</STRONG> must refer-
-           ence window-relative coordinates.  They are  converted
-           to  stdscr-relative  coordinates if the window <STRONG>win</STRONG> en-
-           closes this point.  In this case the function  returns
-           <STRONG>TRUE</STRONG>.
-
-       <STRONG>o</STRONG>   If  one  of the parameters is NULL or the point is not
-           inside the window, <STRONG>FALSE</STRONG> is returned.  The  referenced
-           coordinates are only replaced by the converted coordi-
-           nates if the transformation was successful.
+</PRE><H3><a name="h3-mouse_trafo">mouse_trafo</a></H3><PRE>
+       The <STRONG>mouse_trafo</STRONG> function performs the same translation as <STRONG>wmouse_trafo</STRONG>,
+       using <STRONG>stdscr</STRONG> for <EM>win</EM>.
 
 
-</PRE>
-<H3><a name="h3-mouse_trafo">mouse_trafo</a></H3><PRE>
-       The <STRONG>mouse_trafo</STRONG> function performs the same translation  as
-       <STRONG>wmouse_trafo</STRONG>, using stdscr for <STRONG>win</STRONG>.
+</PRE><H3><a name="h3-mouseinterval">mouseinterval</a></H3><PRE>
+       The  <STRONG>mouseinterval</STRONG>  function  sets  the maximum time (in thousands of a
+       second) that can elapse between press and release events for them to be
+       resolved  as  a <EM>click</EM>.  An application might interpret button press and
+       release events separated by more than the mouse  interval  as  a  "long
+       press", or, with motion, as a "drag".
+
+       Calling  <STRONG>mouseinterval(0)</STRONG>  disables  click  resolution.   When  <EM>ncurses</EM>
+       detects a mouse event, it awaits further  input  activity  up  to  this
+       interval,  and  then  checks  for a subsequent mouse event which can be
+       combined with the first event.  If the timeout  expires  without  input
+       activity  (which  would  happen  with  a  zero interval), then no click
+       resolution will occur.
+
+       This   function   returns   the   previous   interval    value.     Use
+       <STRONG>mouseinterval(-1)</STRONG> to obtain the interval without altering it.
+
+       The  mouse  interval  is  set  to  one  sixth  of  a  second  when  the
+       corresponding  screen  is  initialized,   e.g.,   in   <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG>   or
+       <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>.
 
 
-</PRE>
-<H3><a name="h3-mouseinterval">mouseinterval</a></H3><PRE>
-       The <STRONG>mouseinterval</STRONG> function sets the maximum time (in thou-
-       sands of a second) that can elapse between press  and  re-
-       lease  events  for  them to be recognized as a click.  Use
-       <STRONG>mouseinterval(0)</STRONG> to disable click resolution.  This  func-
-       tion returns the previous interval value.  Use <STRONG>mouseinter-</STRONG>
-       <STRONG>val(-1)</STRONG> to obtain the interval without altering  it.   The
-       default is one sixth of a second.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       <STRONG>has_mouse</STRONG>, <STRONG>wenclose</STRONG>, <STRONG>mouse_trafo</STRONG>, and <STRONG>wmouse_trafo</STRONG> return <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>
+       as noted above.
 
+       <STRONG>getmouse</STRONG> and <STRONG>ungetmouse</STRONG> return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> upon success.
 
-</PRE>
-<H3><a name="h3-has_mouse">has_mouse</a></H3><PRE>
-       The  <STRONG>has_mouse</STRONG>  function  returns <STRONG>TRUE</STRONG> if the mouse driver
-       has been successfully initialized.
+       <STRONG>getmouse</STRONG> fails if:
 
-       Note that mouse events will be ignored when  input  is  in
-       cooked mode, and will cause an error beep when cooked mode
-       is being simulated in a window by a function such as  <STRONG>get-</STRONG>
-       <STRONG>str</STRONG> that expects a linefeed for input-loop termination.
+       <STRONG>o</STRONG>   no mouse driver was initialized,
 
+       <STRONG>o</STRONG>   the mask of reportable events is zero,
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       <STRONG>getmouse</STRONG>  and <STRONG>ungetmouse</STRONG> return the integer <STRONG>ERR</STRONG> upon fail-
-       ure or <STRONG>OK</STRONG> upon successful completion:
+       <STRONG>o</STRONG>   a mouse event was detected that does not match the mask,
 
-          <STRONG>getmouse</STRONG>
-               returns an error.
+       <STRONG>o</STRONG>   or if no more events remain in the queue.
 
-          <STRONG>o</STRONG>   If no mouse driver was initialized, or if the  mask
-              parameter is zero,
-
-          <STRONG>o</STRONG>   It  also  returns an error if no more events remain
-              in the queue.
-
-          <STRONG>ungetmouse</STRONG>
-               returns an error if the FIFO is full.
+       <STRONG>ungetmouse</STRONG> returns an error if the event queue is full.
 
        <STRONG>mousemask</STRONG> returns the mask of reportable events.
 
-       <STRONG>mouseinterval</STRONG> returns the previous interval value,  unless
-       the  terminal  was  not initialized.  In that case, it re-
-       turns the maximum interval value (166).
-
-       <STRONG>wenclose</STRONG> and <STRONG>wmouse_trafo</STRONG> are boolean functions  returning
-       <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG> depending on their test result.
+       <STRONG>mouseinterval</STRONG> returns the previous interval value, unless the  terminal
+       was  not  initialized.   In  that case, it returns the maximum interval
+       value (166).
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  calls  were  designed  for <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, and are not
-       found in SVr4 curses, 4.4BSD curses, or any other previous
-       version of curses.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       The  order  of  the  <STRONG>MEVENT</STRONG>  structure  members  is   not   guaranteed.
+       Additional fields may be added to the structure in the future.
 
-       The feature macro <STRONG>NCURSES_MOUSE_VERSION</STRONG> is provided so the
-       preprocessor can be used to test  whether  these  features
-       are  present.   If  the interface is changed, the value of
-       <STRONG>NCURSES_MOUSE_VERSION</STRONG> will be incremented.   These  values
-       for  <STRONG>NCURSES_MOUSE_VERSION</STRONG> may be specified when configur-
-       ing ncurses:
-
-          1  has definitions for reserved events.  The mask  uses
-             28 bits.
-
-          2  adds  definitions  for button 5, removes the defini-
-             tions for reserved events.  The mask uses 29 bits.
-
-       The order of the <STRONG>MEVENT</STRONG> structure members is  not  guaran-
-       teed.   Additional fields may be added to the structure in
-       the future.
-
-       Under <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, these calls are implemented  using  ei-
-       ther  xterm's built-in mouse-tracking API or platform-spe-
-       cific drivers including
+       Under  <EM>ncurses</EM>, these calls are implemented using either <EM>xterm</EM>'s built-
+       in mouse-tracking API or platform-specific drivers including
 
           <STRONG>o</STRONG>   Alessandro Rubini's gpm server
 
@@ -299,60 +281,120 @@
 
           <STRONG>o</STRONG>   OS/2 EMX
 
-       If you  are  using  an  unsupported  configuration,  mouse
-       events  will not be visible to <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> (and the <STRONG>mouse-</STRONG>
-       <STRONG>mask</STRONG> function will always return <STRONG>0</STRONG>).
+       If you are using an unsupported configuration, mouse events will not be
+       visible to <EM>ncurses</EM> (and the <STRONG>mousemask</STRONG> function will always return <STRONG>0</STRONG>).
 
-       If the terminfo entry contains a <STRONG>XM</STRONG> string, this  is  used
-       in  the xterm mouse driver to control the way the terminal
-       is initialized for mouse operation.  The default, if <STRONG>XM</STRONG> is
-       not found, corresponds to private mode 1000 of xterm:
+       If  the  <EM>terminfo</EM> entry contains a <STRONG>XM</STRONG> string, this is used in the <EM>xterm</EM>
+       mouse driver to control the way the terminal is initialized  for  mouse
+       operation.   The  default,  if  <STRONG>XM</STRONG> is not found, corresponds to private
+       mode 1000 of <EM>xterm:</EM>
 
           \E[?1000%?%p1%{1}%=%th%el%;
 
-       The <EM>z</EM> member in the event structure is not presently used.
-       It is intended for use with touch screens  (which  may  be
-       pressure-sensitive)   or   with   3D-mice/trackballs/power
-       gloves.
+       The mouse driver also recognizes a newer <EM>xterm</EM> private mode 1006, e.g.,
 
-       The  <STRONG>ALL_MOUSE_EVENTS</STRONG>   class   does   not   include   <STRONG>RE-</STRONG>
-       <STRONG>PORT_MOUSE_POSITION</STRONG>.   They are distinct.  For example, in
-       xterm, wheel/scrolling mice send position reports as a se-
-       quence  of presses of buttons 4 or 5 without matching but-
-       ton-releases.
+          \E[?1006;1000%?%p1%{1}%=%th%el%;
+
+       The <EM>z</EM> member in the event structure  is  not  presently  used.   It  is
+       intended  for  use with touch screens (which may be pressure-sensitive)
+       or with 3D-mice/trackballs/power gloves.
+
+       The <STRONG>ALL_MOUSE_EVENTS</STRONG>  class  does  not  include  <STRONG>REPORT_MOUSE_POSITION</STRONG>.
+       They  are  distinct.   For example, in <EM>xterm</EM>, wheel/scrolling mice send
+       position reports as a sequence of presses of buttons  4  or  5  without
+       matching button-releases.
 
 
-</PRE>
-<H2><a name="h2-BUGS">BUGS</a></H2><PRE>
-       Mouse events under xterm will not in fact be ignored  dur-
-       ing  cooked  mode, if they have been enabled by <STRONG>mousemask</STRONG>.
-       Instead, the xterm mouse report sequence  will  appear  in
-       the string read.
-
-       Mouse events under xterm will not be detected correctly in
-       a window with its keypad bit off, since  they  are  inter-
-       preted  as  a  variety of function key.  Your terminfo de-
-       scription should have <STRONG>kmous</STRONG> set to "\E[M"  (the  beginning
-       of  the response from xterm for mouse clicks).  Other val-
-       ues for <STRONG>kmous</STRONG> are permitted, but under  the  same  assump-
-       tion, i.e., it is the beginning of the response.
-
-       Because  there  are  no  standard  terminal responses that
-       would serve to identify terminals which support the  xterm
-       mouse  protocol,  <STRONG>ncurses</STRONG> assumes that if your $TERM envi-
-       ronment variable contains "xterm", or <STRONG>kmous</STRONG> is defined  in
-       the terminal description, then the terminal may send mouse
-       events.
+</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+       These  functions  were  designed  for <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, and are not found in
+       SVr4  <EM>curses</EM>,   4.4BSD   <EM>curses</EM>,   or   any   other   previous   curses
+       implementation.   (SVr4 <EM>curses</EM> did have a <EM>getmouse</EM> function, which took
+       no argument and returned a different type.)
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,  <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>,   <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>,   <STRONG>curs_vari-</STRONG>
-       <STRONG><A HREF="curs_variables.3x.html">ables(3x)</A></STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       Applications employing the <EM>ncurses</EM> mouse extension should condition its
+       use  on the visibility of the <STRONG>NCURSES_MOUSE_VERSION</STRONG> preprocessor macro.
+       When the interface changes, the  macro's  value  increments.   Multiple
+       versions   are  available  when  <EM>ncurses</EM>  is  configured;  see  section
+       "ALTERNATE CONFIGURATIONS" of <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.  The following values may be
+       specified.
+
+          1  has definitions for reserved events.  The mask uses 28 bits.
+
+          2  adds  definitions  for  button  5,  removes  the  definitions for
+             reserved events.  The mask uses 29 bits.
+
+       SVr4 <EM>curses</EM> had support for the mouse in a variant of <STRONG>xterm(1)</STRONG>.  It  is
+       mentioned in a few places, with little supporting documentation.
+
+       <STRONG>o</STRONG>   Its  "libcurses"  manual  page  lists  functions  for  this feature
+           prototyped in <EM>curses.h</EM>.
+
+               extern int mouse_set(long int);
+               extern int mouse_on(long int);
+               extern int mouse_off(long int);
+               extern int request_mouse_pos(void);
+               extern int map_button(unsigned long);
+               extern void wmouse_position(WINDOW *, int *, int *);
+               extern unsigned long getmouse(void), getbmap(void);
+
+       <STRONG>o</STRONG>   Its "terminfo" manual page lists capabilities for the feature.
+
+               <STRONG>buttons</STRONG>         <STRONG>btns</STRONG>    <STRONG>BT</STRONG>   Number of buttons on the mouse
+               <STRONG>get_mouse</STRONG>       <STRONG>getm</STRONG>    <STRONG>Gm</STRONG>   Curses should get button events
+               <STRONG>key_mouse</STRONG>       <STRONG>kmous</STRONG>   <STRONG>Km</STRONG>   0631, Mouse event has occurred
+               <STRONG>mouse_info</STRONG>      <STRONG>minfo</STRONG>   <STRONG>Mi</STRONG>   Mouse status information
+               <STRONG>req_mouse_pos</STRONG>   <STRONG>reqmp</STRONG>   <STRONG>RQ</STRONG>   Request mouse position report
+
+       <STRONG>o</STRONG>   The interface made assumptions (as does <EM>ncurses</EM>) about  the  escape
+           sequences sent to and received from the terminal.
+
+           For instance, the SVr4 <EM>curses</EM> library used the <STRONG>get_mouse</STRONG> capability
+           to tell the terminal which mouse  button  events  it  should  send,
+           passing  the mouse-button bit mask to the terminal.  Also, it could
+           ask the terminal  where  the  mouse  was  using  the  <STRONG>req_mouse_pos</STRONG>
+           capability.
+
+           Those  features  required a terminal program that had been modified
+           to work with SVr4 <EM>curses</EM>.  They were not part of the X Consortium's
+           <EM>xterm</EM>.
+
+       When  developing the <EM>xterm</EM> mouse support for <EM>ncurses</EM> in September 1995,
+       Eric Raymond was uninterested in using the same interface  due  to  its
+       lack of documentation.  Later, in 1998, Mark Hesseling provided support
+       in <EM>PDCurses</EM> 2.3 using the SVr4 interface.  <EM>PDCurses</EM>, however, does  not
+       use  video  terminals,  making  it  unnecessary  to  be concerned about
+       compatibility with the escape sequences.
+
+
+</PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE>
+       Mouse events from <EM>xterm</EM> are <EM>not</EM> ignored in cooked  mode  if  they  have
+       been  enabled  by  <STRONG>mousemask</STRONG>.  Instead, the <EM>xterm</EM> mouse report sequence
+       appears in the string read.
+
+       Mouse event reports from <EM>xterm</EM> are not detected correctly in  a  window
+       with  keypad application mode disabled, since they are interpreted as a
+       variety of function key.  Set the terminal's <EM>terminfo</EM> capability  <STRONG>kmous</STRONG>
+       to  "\E[M" (the beginning of the response from <EM>xterm</EM> for mouse clicks).
+       Other values of <STRONG>kmous</STRONG> are permitted under the same assumption, that is,
+       the report begins with that sequence.
+
+       Because there are no standard response sequences that serve to identify
+       terminals supporting the <EM>xterm</EM> mouse protocol, <EM>ncurses</EM> assumes that  if
+       <STRONG>kmous</STRONG> is defined in the terminal description, or if the terminal type's
+       primary name or aliases contain the string "xterm", then  the  terminal
+       may send mouse events.  The <STRONG>kmous</STRONG> capability is checked first, allowing
+       use of newer <EM>xterm</EM> mouse protocols, such as its private mode 1006.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,     <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>,     <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>,     <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>,
+       <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
 
 
 
-                                                         <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                    <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -360,18 +402,20 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
 <ul>
+<li><a href="#h3-has_mouse">has_mouse</a></li>
 <li><a href="#h3-mousemask">mousemask</a></li>
-<li><a href="#h3-Mouse-events">Mouse events</a></li>
+<li><a href="#h3-Mouse-Events">Mouse Events</a></li>
 <li><a href="#h3-getmouse">getmouse</a></li>
 <li><a href="#h3-ungetmouse">ungetmouse</a></li>
 <li><a href="#h3-wenclose">wenclose</a></li>
 <li><a href="#h3-wmouse_trafo">wmouse_trafo</a></li>
 <li><a href="#h3-mouse_trafo">mouse_trafo</a></li>
 <li><a href="#h3-mouseinterval">mouseinterval</a></li>
-<li><a href="#h3-has_mouse">has_mouse</a></li>
 </ul>
 </li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-BUGS">BUGS</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
diff --git a/doc/html/man/curs_move.3x.html b/doc/html/man/curs_move.3x.html
index 3a49426..bbab2b8 100644
--- a/doc/html/man/curs_move.3x.html
+++ b/doc/html/man/curs_move.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-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  *
   * copy of this software and associated documentation files (the            *
@@ -26,75 +27,66 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_move.3x,v 1.14 2010/12/04 18:40:45 tom Exp @
+  * @Id: curs_move.3x,v 1.40 2024/04/27 17:56:05 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_move 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_move 3x 2024-04-27 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_move 3x</H1>
+<H1 class="no-header">curs_move 3x 2024-04-27 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>                                             <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
+<STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>                    Library calls                   <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>move</STRONG>, <STRONG>wmove</STRONG> - move <STRONG>curses</STRONG> window cursor
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>move</STRONG>, <STRONG>wmove</STRONG> - move cursor in a <EM>curses</EM> window
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
-       <STRONG>int</STRONG> <STRONG>move(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
-       <STRONG>int</STRONG> <STRONG>wmove(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
+       <STRONG>int</STRONG> <STRONG>move(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wmove(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These  routines move the cursor associated with the window
-       to line <EM>y</EM> and column <EM>x</EM>.  This routine does  not  move  the
-       physical  cursor  of the terminal until <STRONG>refresh</STRONG> is called.
-       The position specified is relative to the upper  left-hand
-       corner of the window, which is (0,0).
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       <STRONG>wmove</STRONG>  relocates  the  cursor  associated with the <EM>curses</EM> window <EM>win</EM> to
+       line <EM>y</EM> and column  <EM>x</EM>.   The  terminal's  cursor  does  not  move  until
+       <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>  is  called.   The position (<EM>y</EM>, <EM>x</EM>) is relative to the upper
+       left-hand  corner  of  the  window,  which  has   coordinates   (0, 0).
+       <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> describes the <STRONG>move</STRONG> variant of this function.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       These routines return <STRONG>ERR</STRONG> upon failure and OK (SVr4 speci-
-       fies only "an integer value other than <STRONG>ERR</STRONG>") upon success-
-       ful completion.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       These functions return <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure.
 
-       Specifically,  they  return an error if the window pointer
-       is null, or if the position is outside the window.
+       They fail if the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
+
+       <STRONG>wmove</STRONG> fails if its <EM>WINDOW</EM> pointer argument is <STRONG>NULL</STRONG>.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       Note that <STRONG>move</STRONG> may be a macro.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       <STRONG>move</STRONG> may be implemented as a macro.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These functions are described in the XSI Curses  standard,
-       Issue 4.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       X/Open Curses, Issue 4 describes these functions.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
 
 
 
-                                                          <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
+ncurses 6.5                       2024-04-27                     <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
diff --git a/doc/html/man/curs_opaque.3x.html b/doc/html/man/curs_opaque.3x.html
index 9caec6c..50bb9ee 100644
--- a/doc/html/man/curs_opaque.3x.html
+++ b/doc/html/man/curs_opaque.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 2007-2014,2015 Free Software Foundation, Inc.              *
+  * Copyright 2020-2023,2024 Thomas E. Dickey                                *
+  * Copyright 2007-2014,2015 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,135 +27,135 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_opaque.3x,v 1.12 2015/04/11 10:23:49 tom Exp @
+  * @Id: curs_opaque.3x,v 1.43 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_opaque 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_opaque 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_opaque 3x</H1>
+<H1 class="no-header">curs_opaque 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>                                         <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>
+<STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>                  Library calls                 <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>is_cleared</STRONG>, <STRONG>is_idlok</STRONG>, <STRONG>is_idcok</STRONG>, <STRONG>is_immedok</STRONG>, <STRONG>is_keypad</STRONG>,
-       <STRONG>is_leaveok</STRONG>, <STRONG>is_nodelay</STRONG>, <STRONG>is_notimeout</STRONG>, <STRONG>is_pad</STRONG>, <STRONG>is_scrollok</STRONG>,
-       <STRONG>is_subwin</STRONG>, <STRONG>is_syncok</STRONG> - <STRONG>curses</STRONG> window properties
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>is_cleared</STRONG>,  <STRONG>is_idlok</STRONG>,  <STRONG>is_idcok</STRONG>,  <STRONG>is_immedok</STRONG>,  <STRONG>is_keypad</STRONG>,  <STRONG>is_leaveok</STRONG>,
+       <STRONG>is_nodelay</STRONG>, <STRONG>is_notimeout</STRONG>, <STRONG>is_pad</STRONG>,  <STRONG>is_scrollok</STRONG>,  <STRONG>is_subwin</STRONG>,  <STRONG>is_syncok</STRONG>,
+       <STRONG>wgetdelay</STRONG>, <STRONG>wgetparent</STRONG>, <STRONG>wgetscrreg</STRONG> - obtain <EM>curses</EM> window properties
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
-       <STRONG>bool</STRONG> <STRONG>is_cleared(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
-       <STRONG>bool</STRONG> <STRONG>is_idcok(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
-       <STRONG>bool</STRONG> <STRONG>is_idlok(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
-       <STRONG>bool</STRONG> <STRONG>is_immedok(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
-       <STRONG>bool</STRONG> <STRONG>is_keypad(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
-       <STRONG>bool</STRONG> <STRONG>is_leaveok(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
-       <STRONG>bool</STRONG> <STRONG>is_nodelay(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
-       <STRONG>bool</STRONG> <STRONG>is_notimeout(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
-       <STRONG>bool</STRONG> <STRONG>is_pad(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
-       <STRONG>bool</STRONG> <STRONG>is_scrollok(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
-       <STRONG>bool</STRONG> <STRONG>is_subwin(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
-       <STRONG>bool</STRONG> <STRONG>is_syncok(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
-       <STRONG>WINDOW</STRONG> <STRONG>*</STRONG> <STRONG>wgetparent(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
-       <STRONG>int</STRONG> <STRONG>wgetdelay(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
-       <STRONG>int</STRONG> <STRONG>wgetscrreg(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>*top,</STRONG> <STRONG>int</STRONG> <STRONG>*bottom);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>is_cleared(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>is_idcok(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>is_idlok(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>is_immedok(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>is_keypad(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>is_leaveok(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>is_nodelay(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>is_notimeout(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>is_pad(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>is_scrollok(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>is_subwin(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>is_syncok(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+
+       <STRONG>WINDOW</STRONG> <STRONG>*</STRONG> <STRONG>wgetparent(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wgetdelay(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wgetscrreg(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>top</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>bottom</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       This  implementation provides functions which return prop-
-       erties set in the WINDOW  structure,  allowing  it  to  be
-       "opaque" if the symbol <STRONG>NCURSES_OPAQUE</STRONG> is defined:
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       <EM>ncurses</EM>  provides functions returning properties of a <EM>WINDOW</EM> structure,
+       allowing  it  to  be  "opaque"   if   the   application   defines   the
+       <STRONG>NCURSES_OPAQUE</STRONG>  preprocessor  symbol.  <EM>Opacity</EM> in this sense means that
+       the members of <EM>struct</EM> data  types  are  not  directly  accessible  (for
+       instance,  through  "." or "-&gt;" operators), but instead must be queried
+       and/or set  via  library  functions.   Advantages  of  opacity  include
+       greater  abstraction  and improved management of concurrent accesses to
+       data structures, keeping object states coherent.
 
        <STRONG>is_cleared</STRONG>
-            returns the value set in <STRONG>clearok</STRONG>
+              returns the value set by <STRONG><A HREF="curs_outopts.3x.html">clearok(3x)</A></STRONG>.
 
        <STRONG>is_idcok</STRONG>
-            returns the value set in <STRONG>idcok</STRONG>
+              returns the value set by <STRONG><A HREF="idcok.3x.html">idcok(3x)</A></STRONG>.
 
        <STRONG>is_idlok</STRONG>
-            returns the value set in <STRONG>idlok</STRONG>
+              returns the value set by <STRONG><A HREF="idlok.3x.html">idlok(3x)</A></STRONG>.
 
        <STRONG>is_immedok</STRONG>
-            returns the value set in <STRONG>immedok</STRONG>
+              returns the value set by <STRONG><A HREF="curs_outopts.3x.html">immedok(3x)</A></STRONG>.
 
        <STRONG>is_keypad</STRONG>
-            returns the value set in <STRONG>keypad</STRONG>
+              returns the value set by <STRONG><A HREF="curs_inopts.3x.html">keypad(3x)</A></STRONG>.
 
        <STRONG>is_leaveok</STRONG>
-            returns the value set in <STRONG>leaveok</STRONG>
+              returns the value set by <STRONG><A HREF="leaveok.3x.html">leaveok(3x)</A></STRONG>.
 
        <STRONG>is_nodelay</STRONG>
-            returns the value set in <STRONG>nodelay</STRONG>
+              returns the value set by <STRONG><A HREF="nodelay.3x.html">nodelay(3x)</A></STRONG>.
 
        <STRONG>is_notimeout</STRONG>
-            returns the value set in <STRONG>notimeout</STRONG>
+              returns the value set by <STRONG><A HREF="notimeout.3x.html">notimeout(3x)</A></STRONG>.
 
-       <STRONG>is_pad</STRONG>
-            returns  <STRONG>TRUE</STRONG> if the window is a pad i.e., created by
-            <STRONG>newpad</STRONG>
+       <STRONG>is_pad</STRONG> returns <STRONG>TRUE</STRONG> if the window is a pad; that is, it was created  by
+              <STRONG><A HREF="newpad.3x.html">newpad(3x)</A></STRONG>.
 
        <STRONG>is_scrollok</STRONG>
-            returns the value set in <STRONG>scrollok</STRONG>
+              returns the value set by <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG>.
 
        <STRONG>is_subwin</STRONG>
-            returns <STRONG>TRUE</STRONG> if the window is a subwindow, i.e., cre-
-            ated by <STRONG>subwin</STRONG> or <STRONG>derwin</STRONG>
+              returns  <STRONG>TRUE</STRONG>  if  the  window  is  a subwindow, that is, it was
+              created by <STRONG><A HREF="subwin.3x.html">subwin(3x)</A></STRONG> or <STRONG><A HREF="derwin.3x.html">derwin(3x)</A></STRONG>.
 
        <STRONG>is_syncok</STRONG>
-            returns the value set in <STRONG>syncok</STRONG>
+              returns the value set by <STRONG><A HREF="syncok.3x.html">syncok(3x)</A></STRONG>.
 
        <STRONG>wgetdelay</STRONG>
-            returns the delay timeout as set in <STRONG>wtimeout</STRONG>.
+              returns the delay timeout set by <STRONG><A HREF="wtimeout.3x.html">wtimeout(3x)</A></STRONG>.
 
        <STRONG>wgetparent</STRONG>
-            returns  the parent WINDOW pointer for subwindows, or
-            NULL for windows having no parent.
+              returns the parent <EM>WINDOW</EM> pointer for subwindows,  or  <STRONG>NULL</STRONG>  for
+              windows having no parent.
 
        <STRONG>wgetscrreg</STRONG>
-            returns the top and bottom  rows  for  the  scrolling
-            margin as set in <STRONG>wsetscrreg</STRONG>.
+              stores  the the top and bottom rows for the scrolling margin set
+              by <STRONG><A HREF="curs_outopts.3x.html">wsetscrreg(3x)</A></STRONG> in the corresponding arguments, returning  <STRONG>ERR</STRONG>
+              upon failure and <STRONG>OK</STRONG> upon successful completion.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       These functions all return <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>, except as noted.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       These functions return <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG> except as noted.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       Both a macro and a function are provided for each name.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       <EM>ncurses</EM>  provides  both  a C function and a preprocessor macro for each
+       function documented in this page.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  are  specific  to ncurses.  They were not
-       supported on Version 7, BSD or System  V  implementations.
-       It  is  recommended that any code depending on ncurses ex-
-       tensions be conditioned using NCURSES_VERSION.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These routines are specific to <EM>ncurses</EM>.  They  were  not  supported  on
+       Version 7, BSD or System V implementations.  It is recommended that any
+       code   depending   on   <EM>ncurses</EM>   extensions   be   conditioned   using
+       <STRONG>NCURSES_VERSION</STRONG>.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>,  <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>,  <STRONG>curs_win-</STRONG>
-       <STRONG><A HREF="curs_window.3x.html">dow(3x)</A></STRONG>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,    <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>,   <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>,   <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>,
+       <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
 
 
 
-                                                        <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                   <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
diff --git a/doc/html/man/curs_outopts.3x.html b/doc/html/man/curs_outopts.3x.html
index d6f6b7d..7f04d92 100644
--- a/doc/html/man/curs_outopts.3x.html
+++ b/doc/html/man/curs_outopts.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2010,2015 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2016,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,33 +27,31 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_outopts.3x,v 1.26 2015/07/21 00:23:43 tom Exp @
+  * @Id: curs_outopts.3x,v 1.64 2024/04/20 21:24:19 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_outopts 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_outopts 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_outopts 3x</H1>
+<H1 class="no-header">curs_outopts 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>                                       <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+<STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>                 Library calls                <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>clearok</STRONG>, <STRONG>idlok</STRONG>, <STRONG>idcok</STRONG>, <STRONG>immedok</STRONG>, <STRONG>leaveok</STRONG>, <STRONG>setscrreg</STRONG>,
-       <STRONG>wsetscrreg</STRONG>, <STRONG>scrollok</STRONG>, <STRONG>nl</STRONG>, <STRONG>nonl</STRONG> - <STRONG>curses</STRONG> output options
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>clearok</STRONG>,   <STRONG>idlok</STRONG>,   <STRONG>idcok</STRONG>,  <STRONG>immedok</STRONG>,  <STRONG>leaveok</STRONG>,  <STRONG>setscrreg</STRONG>,  <STRONG>wsetscrreg</STRONG>,
+       <STRONG>scrollok</STRONG> - set <EM>curses</EM> output options
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
        <STRONG>int</STRONG> <STRONG>clearok(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
@@ -60,194 +59,144 @@
        <STRONG>void</STRONG> <STRONG>idcok(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
        <STRONG>void</STRONG> <STRONG>immedok(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>leaveok(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>scrollok(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+
        <STRONG>int</STRONG> <STRONG>setscrreg(int</STRONG> <EM>top</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>bot</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>wsetscrreg(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>top</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>bot</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>scrollok(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>nl(void);</STRONG>
-       <STRONG>int</STRONG> <STRONG>nonl(void);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These routines set options that change the style of output
-       within  <STRONG>curses</STRONG>.   All  options are initially <STRONG>FALSE</STRONG>, unless
-       otherwise stated.  It is not necessary to turn  these  op-
-       tions off before calling <STRONG>endwin</STRONG>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       These routines set options that  change  the  style  of  output  within
+       <STRONG>curses</STRONG>.   All options are initially <STRONG>FALSE</STRONG>, unless otherwise stated.  It
+       is not necessary to turn these options off before calling <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG>.
 
 
-</PRE>
-<H3><a name="h3-clearok">clearok</a></H3><PRE>
-       If  <STRONG>clearok</STRONG> is called with <STRONG>TRUE</STRONG> as argument, the next call
-       to <STRONG>wrefresh</STRONG> with this window will clear  the  screen  com-
-       pletely  and  redraw the entire screen from scratch.  This
-       is useful when the contents of the screen  are  uncertain,
-       or  in  some  cases for a more pleasing visual effect.  If
-       the <EM>win</EM> argument to <STRONG>clearok</STRONG> is the global variable <STRONG>curscr</STRONG>,
-       the  next  call  to  <STRONG>wrefresh</STRONG>  with  any window causes the
-       screen to be cleared and repainted from scratch.
+</PRE><H3><a name="h3-clearok">clearok</a></H3><PRE>
+       If <STRONG>clearok</STRONG> is called with <STRONG>TRUE</STRONG> as argument, the next call  to  <STRONG>wrefresh</STRONG>
+       with this window will clear the screen completely and redraw the entire
+       screen from scratch.  This is useful when the contents  of  the  screen
+       are  uncertain, or in some cases for a more pleasing visual effect.  If
+       the <EM>win</EM> argument to <STRONG>clearok</STRONG> is the global  variable  <STRONG>curscr</STRONG>,  the  next
+       call  to  <STRONG>wrefresh</STRONG>  with any window causes the screen to be cleared and
+       repainted from scratch.
 
 
-</PRE>
-<H3><a name="h3-idlok">idlok</a></H3><PRE>
-       If <STRONG>idlok</STRONG> is called with <STRONG>TRUE</STRONG> as  second  argument,  <STRONG>curses</STRONG>
-       considers using the hardware insert/delete line feature of
-       terminals so equipped.  Calling <STRONG>idlok</STRONG> with <STRONG>FALSE</STRONG> as second
-       argument  disables  use  of  line  insertion and deletion.
-       This option should be  enabled  only  if  the  application
-       needs  insert/delete  line, for example, for a screen edi-
-       tor.  It is disabled by default because insert/delete line
-       tends  to  be  visually annoying when used in applications
-       where it is not really needed.  If insert/delete line can-
-       not  be  used,  <STRONG>curses</STRONG> redraws the changed portions of all
-       lines.
+</PRE><H3><a name="h3-idlok">idlok</a></H3><PRE>
+       If <STRONG>idlok</STRONG> is called with <STRONG>TRUE</STRONG> as second argument, <STRONG>curses</STRONG> considers using
+       the  hardware  insert/delete  line  feature  of  terminals so equipped.
+       Calling <STRONG>idlok</STRONG> with <STRONG>FALSE</STRONG>  as  second  argument  disables  use  of  line
+       insertion  and  deletion.   This  option  should be enabled only if the
+       application needs insert/delete line, for example, for a screen editor.
+       It  is  disabled  by  default  because  insert/delete  line tends to be
+       visually annoying when used in applications  where  it  is  not  really
+       needed.   If  insert/delete  line  cannot  be  used, <STRONG>curses</STRONG> redraws the
+       changed portions of all lines.
 
 
-</PRE>
-<H3><a name="h3-idcok">idcok</a></H3><PRE>
-       If <STRONG>idcok</STRONG> is called with <STRONG>FALSE</STRONG> as second  argument,  <STRONG>curses</STRONG>
-       no longer considers using the hardware insert/delete char-
-       acter feature of terminals so equipped.  Use of  character
-       insert/delete  is  enabled by default.  Calling <STRONG>idcok</STRONG> with
-       <STRONG>TRUE</STRONG> as second argument re-enables use of character inser-
-       tion and deletion.
+</PRE><H3><a name="h3-idcok">idcok</a></H3><PRE>
+       If <STRONG>idcok</STRONG> is called with <STRONG>FALSE</STRONG> as  second  argument,  <STRONG>curses</STRONG>  no  longer
+       considers   using  the  hardware  insert/delete  character  feature  of
+       terminals so equipped.  Use of character insert/delete  is  enabled  by
+       default.   Calling <STRONG>idcok</STRONG> with <STRONG>TRUE</STRONG> as second argument re-enables use of
+       character insertion and deletion.
 
 
-</PRE>
-<H3><a name="h3-immedok">immedok</a></H3><PRE>
-       If  <STRONG>immedok</STRONG> is called with <STRONG>TRUE</STRONG> <STRONG>as</STRONG> <STRONG>argument</STRONG>, any change in
-       the window image, such as the ones caused by <STRONG>waddch,</STRONG> <STRONG>wclr-</STRONG>
-       <STRONG>tobot,</STRONG>  <STRONG>wscrl</STRONG>,  etc.,  automatically  cause a call to <STRONG>wre-</STRONG>
-       <STRONG>fresh</STRONG>.  However, it may degrade performance  considerably,
-       due  to repeated calls to <STRONG>wrefresh</STRONG>.  It is disabled by de-
-       fault.
+</PRE><H3><a name="h3-immedok">immedok</a></H3><PRE>
+       If <STRONG>immedok</STRONG> is called with <STRONG>TRUE</STRONG> as second argument, any  change  in  the
+       window  image,  such  as  the  ones caused by <STRONG>waddch,</STRONG> <STRONG>wclrtobot,</STRONG> <STRONG>wscrl</STRONG>,
+       etc., automatically causes a call to <STRONG>wrefresh</STRONG>.  However, it may degrade
+       performance  considerably,  due to repeated calls to <STRONG>wrefresh</STRONG>.  Calling
+       <STRONG>immedok</STRONG> with <STRONG>FALSE</STRONG> as second argument restores  the  default  behavior,
+       i.e., deferring screen updates until a refresh is needed.
 
 
-</PRE>
-<H3><a name="h3-leaveok">leaveok</a></H3><PRE>
-       Normally, the hardware cursor is left at the  location  of
-       the window cursor being refreshed.  The <STRONG>leaveok</STRONG> option al-
-       lows the cursor to be left wherever the update happens  to
-       leave  it.  It is useful for applications where the cursor
-       is not used, since it reduces the need for cursor motions.
+</PRE><H3><a name="h3-leaveok">leaveok</a></H3><PRE>
+       Normally,  the  hardware  cursor  is left at the location of the window
+       cursor being refreshed.  The <STRONG>leaveok</STRONG> option allows  the  cursor  to  be
+       left  wherever  the  update  happens  to  leave  it.   It is useful for
+       applications where the cursor is not used, since it  reduces  the  need
+       for cursor motions.
 
 
-</PRE>
-<H3><a name="h3-setscrreg">setscrreg</a></H3><PRE>
-       The <STRONG>setscrreg</STRONG> and <STRONG>wsetscrreg</STRONG> routines allow  the  applica-
-       tion  programmer  to  set a software scrolling region in a
-       window.  The <EM>top</EM> and <EM>bot</EM> parameters are the  line  numbers
-       of  the  top  and  bottom  margin of the scrolling region.
-       (Line 0 is the top line of the window.)   If  this  option
-       and  <STRONG>scrollok</STRONG> are enabled, an attempt to move off the bot-
-       tom margin line causes all lines in the  scrolling  region
-       to  scroll  one  line  in the direction of the first line.
-       Only the text of the window is scrolled.  (Note that  this
-       has nothing to do with the use of a physical scrolling re-
-       gion capability in the terminal, like that in  the  VT100.
-       If  <STRONG>idlok</STRONG>  is  enabled  and  the  terminal  has  either  a
-       scrolling region or insert/delete  line  capability,  they
-       will probably be used by the output routines.)
+</PRE><H3><a name="h3-scrollok">scrollok</a></H3><PRE>
+       The  <STRONG>scrollok</STRONG>  option controls what happens when the cursor of a window
+       is moved off the edge of the window or scrolling region,  either  as  a
+       result  of  a  newline  action  on  the bottom line, or typing the last
+       character of the last line.  If disabled, (<EM>bf</EM> is <STRONG>FALSE</STRONG>), the cursor  is
+       left  on  the  bottom  line.   If  enabled, (<EM>bf</EM> is <STRONG>TRUE</STRONG>), the window is
+       scrolled up one line (Note that to get the physical scrolling effect on
+       the terminal, it is also necessary to call <STRONG>idlok</STRONG>).
 
 
-</PRE>
-<H3><a name="h3-scrollok">scrollok</a></H3><PRE>
-       The  <STRONG>scrollok</STRONG> option controls what happens when the cursor
-       of a window is  moved  off  the  edge  of  the  window  or
-       scrolling  region,  either as a result of a newline action
-       on the bottom line, or typing the last  character  of  the
-       last line.  If disabled, (<EM>bf</EM> is <STRONG>FALSE</STRONG>), the cursor is left
-       on the bottom line.  If enabled, (<EM>bf</EM> is <STRONG>TRUE</STRONG>), the  window
-       is  scrolled  up  one  line (Note that to get the physical
-       scrolling effect on the terminal, it is also necessary  to
-       call <STRONG>idlok</STRONG>).
+</PRE><H3><a name="h3-setscrreg_wsetscrreg">setscrreg, wsetscrreg</a></H3><PRE>
+       The  <STRONG>setscrreg</STRONG> and <STRONG>wsetscrreg</STRONG> routines allow the application programmer
+       to set a software scrolling region  in  a  window.   The  <EM>top</EM>  and  <EM>bot</EM>
+       parameters  are  the  line  numbers of the top and bottom margin of the
+       scrolling region.  (Line 0 is the top line of  the  window.)   If  this
+       option  and  <STRONG>scrollok</STRONG>  are  enabled,  an attempt to move off the bottom
+       margin line causes all lines in the scrolling region to scroll one line
+       in  the  direction  of  the first line.  Only the text of the window is
+       scrolled.  (Note that this has nothing to do with the use of a physical
+       scrolling  region  capability  in the terminal, like that in the VT100.
+       If <STRONG>idlok</STRONG> is enabled and the terminal has either a scrolling  region  or
+       insert/delete line capability, they will probably be used by the output
+       routines.)
 
 
-</PRE>
-<H3><a name="h3-nl_-nonl">nl, nonl</a></H3><PRE>
-       The  <STRONG>nl</STRONG>  and  <STRONG>nonl</STRONG> routines control whether the underlying
-       display device translates the return key into  newline  on
-       input,  and  whether it translates newline into return and
-       line-feed on output (in either case, the call  <STRONG>addch('\n')</STRONG>
-       does the equivalent of return and line feed on the virtual
-       screen).  Initially, these translations do occur.  If  you
-       disable  them using <STRONG>nonl</STRONG>, <STRONG>curses</STRONG> will be able to make bet-
-       ter use of the line-feed capability, resulting  in  faster
-       cursor  motion.   Also, <STRONG>curses</STRONG> will then be able to detect
-       the return key.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       The functions <STRONG>setscrreg</STRONG> and <STRONG>wsetscrreg</STRONG> return <STRONG>OK</STRONG> upon success  and  <STRONG>ERR</STRONG>
+       upon  failure.  All other routines that return an integer always return
+       <STRONG>OK</STRONG>.
+
+       X/Open Curses does not specify any error conditions.
+
+       In this implementation,
+
+       <STRONG>o</STRONG>   those functions that have a window pointer will return an error  if
+           the window pointer is null
+
+       <STRONG>o</STRONG>   <STRONG>wsetscrreg</STRONG>  returns  an error if the scrolling region limits extend
+           outside the window boundaries.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The functions <STRONG>setscrreg</STRONG> and <STRONG>wsetscrreg</STRONG> return <STRONG>OK</STRONG> upon suc-
-       cess and <STRONG>ERR</STRONG> upon failure.  All other routines that return
-       an integer always return <STRONG>OK</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       Note that <STRONG>clearok</STRONG>, <STRONG>leaveok</STRONG>,  <STRONG>scrollok</STRONG>,  <STRONG>idcok</STRONG>,  and  <STRONG>setscrreg</STRONG>  may  be
+       macros.
 
-       X/Open Curses does not define any error conditions.
-
-       In this implementation, those functions that have a window
-       pointer  will  return  an  error  if the window pointer is
-       null.
-
-              <STRONG>wclrtoeol</STRONG>
-                   returns an error if  the  cursor  position  is
-                   about to wrap.
-
-              <STRONG>wsetscrreg</STRONG>
-                   returns  an error if the scrolling region lim-
-                   its extend outside the window.
-
-       X/Open does not define any error conditions.  This  imple-
-       mentation returns an error if the window pointer is null.
+       The  <STRONG>immedok</STRONG>  routine  is  useful for windows that are used as terminal
+       emulators.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  functions are described in the XSI Curses standard,
-       Issue 4.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These functions are described in X/Open Curses, Issue 4.
 
-       The XSI Curses standard is ambiguous on  the  question  of
-       whether  <STRONG>raw</STRONG>()  should  disable the CRLF translations con-
-       trolled by <STRONG>nl</STRONG>() and <STRONG>nonl</STRONG>().  BSD curses did turn off these
-       translations;  AT&amp;T  curses (at least as late as SVr1) did
-       not.  We choose to do so, on the theory that a  programmer
-       requesting  raw  input wants a clean (ideally 8-bit clean)
-       connection that the operating system will not alter.
+       Some historic curses implementations had, as an  undocumented  feature,
+       the  ability  to  do  the  equivalent  of  <STRONG>clearok(...,</STRONG>  <STRONG>1)</STRONG>  by  saying
+       <STRONG>touchwin(stdscr)</STRONG> or <STRONG>clear(stdscr)</STRONG>.  This will not work under <EM>ncurses</EM>.
 
-       Some historic curses implementations had,  as  an  undocu-
-       mented  feature,  the  ability  to  do  the  equivalent of
-       <STRONG>clearok(...,</STRONG> <STRONG>1)</STRONG> by saying <STRONG>touchwin(stdscr)</STRONG>  or  <STRONG>clear(std-</STRONG>
-       <STRONG>scr)</STRONG>.  This will not work under ncurses.
+       Earlier System V curses implementations specified  that  with  <STRONG>scrollok</STRONG>
+       enabled,  any  window  modification  triggering  a scroll also forced a
+       physical refresh.  X/Open Curses does not  require  this,  and  <EM>ncurses</EM>
+       avoids  doing  it  to  perform  better  vertical-motion optimization at
+       <STRONG>wrefresh</STRONG> time.
 
-       Earlier  System  V  curses  implementations specified that
-       with <STRONG>scrollok</STRONG> enabled, any window modification  triggering
-       a  scroll also forced a physical refresh.  XSI Curses does
-       not require this, and <STRONG>ncurses</STRONG> avoids doing it  to  perform
-       better vertical-motion optimization at <STRONG>wrefresh</STRONG> time.
-
-       The  XSI  Curses standard does not mention that the cursor
-       should be made invisible  as  a  side-effect  of  <STRONG>leaveok</STRONG>.
-       SVr4  curses  documentation  does  this, but the code does
-       not.  Use <STRONG>curs_set</STRONG> to make the cursor invisible.
+       X/Open Curses does not mention that the cursor should be made invisible
+       as  a side-effect of <STRONG>leaveok</STRONG>.  SVr4 curses documentation does this, but
+       the code does not.  Use <STRONG>curs_set</STRONG> to make the cursor invisible.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       Note that <STRONG>clearok</STRONG>, <STRONG>leaveok</STRONG>, <STRONG>scrollok</STRONG>, <STRONG>idcok</STRONG>, <STRONG>nl</STRONG>, <STRONG>nonl</STRONG>  and
-       <STRONG>setscrreg</STRONG> may be macros.
-
-       The <STRONG>immedok</STRONG> routine is useful for windows that are used as
-       terminal emulators.
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+       <EM>ncurses</EM> formerly treated <STRONG><A HREF="curs_inopts.3x.html">nl(3x)</A></STRONG> and <STRONG><A HREF="curs_inopts.3x.html">nonl(3x)</A></STRONG> as both input  <EM>and</EM>  output
+       options, but no longer; see <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>,
-       <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>,
-       <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,     <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>,    <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>,    <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,
+       <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
 
 
 
-                                                       <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                  <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -260,14 +209,14 @@
 <li><a href="#h3-idcok">idcok</a></li>
 <li><a href="#h3-immedok">immedok</a></li>
 <li><a href="#h3-leaveok">leaveok</a></li>
-<li><a href="#h3-setscrreg">setscrreg</a></li>
 <li><a href="#h3-scrollok">scrollok</a></li>
-<li><a href="#h3-nl_-nonl">nl, nonl</a></li>
+<li><a href="#h3-setscrreg_wsetscrreg">setscrreg, wsetscrreg</a></li>
 </ul>
 </li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
diff --git a/doc/html/man/curs_overlay.3x.html b/doc/html/man/curs_overlay.3x.html
index c10da1a..61c4c19 100644
--- a/doc/html/man/curs_overlay.3x.html
+++ b/doc/html/man/curs_overlay.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2013,2015 Free Software Foundation, Inc.              *
+  * Copyright 2020-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2013,2015 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,98 +27,86 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_overlay.3x,v 1.18 2015/07/21 00:51:31 tom Exp @
+  * @Id: curs_overlay.3x,v 1.43 2024/04/20 21:20:07 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_overlay 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_overlay 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_overlay 3x</H1>
+<H1 class="no-header">curs_overlay 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>                                       <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
+<STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>                 Library calls                <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>overlay</STRONG>, <STRONG>overwrite</STRONG>, <STRONG>copywin</STRONG> - overlay and manipulate
-       overlapped <STRONG>curses</STRONG> windows
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>overlay</STRONG>,  <STRONG>overwrite</STRONG>,  <STRONG>copywin</STRONG>  -  overlay <EM>curses</EM> windows and manipulate
+       them
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
        <STRONG>int</STRONG> <STRONG>overlay(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>srcwin</EM><STRONG>,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>dstwin</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>overwrite(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>srcwin</EM><STRONG>,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>dstwin</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>copywin(const</STRONG>  <STRONG>WINDOW</STRONG>  <STRONG>*</STRONG><EM>srcwin</EM><STRONG>,</STRONG>  <STRONG>WINDOW</STRONG>  <STRONG>*</STRONG><EM>dstwin</EM><STRONG>,</STRONG>  <STRONG>int</STRONG>
-       <EM>sminrow</EM><STRONG>,</STRONG>
+       <STRONG>int</STRONG> <STRONG>copywin(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>srcwin</EM><STRONG>,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>dstwin</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>sminrow</EM><STRONG>,</STRONG>
              <STRONG>int</STRONG> <EM>smincol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>dminrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>dmincol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>dmaxrow</EM><STRONG>,</STRONG>
              <STRONG>int</STRONG> <EM>dmaxcol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>overlay</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
 
-</PRE>
-<H3><a name="h3-overlay_-overwrite">overlay, overwrite</a></H3><PRE>
-       The  <STRONG>overlay</STRONG>  and <STRONG>overwrite</STRONG> routines overlay <EM>srcwin</EM> on top
-       of <EM>dstwin</EM>.  <EM>scrwin</EM> and <EM>dstwin</EM> are not required to  be  the
-       same  size;  only  text  where  the two windows overlap is
-       copied.  The difference is that <STRONG>overlay</STRONG> is non-destructive
-       (blanks are not copied) whereas <STRONG>overwrite</STRONG> is destructive.
+</PRE><H3><a name="h3-overlay_overwrite">overlay, overwrite</a></H3><PRE>
+       The <STRONG>overlay</STRONG> and <STRONG>overwrite</STRONG> routines overlay <EM>srcwin</EM>  on  top  of  <EM>dstwin</EM>.
+       <EM>scrwin</EM> and <EM>dstwin</EM> are not required to be the same size; only text where
+       the two windows overlap is copied.  The difference is that  <STRONG>overlay</STRONG>  is
+       non-destructive   (blanks   are   not   copied)  whereas  <STRONG>overwrite</STRONG>  is
+       destructive.
 
 
-</PRE>
-<H3><a name="h3-copywin">copywin</a></H3><PRE>
-       The  <STRONG>copywin</STRONG>  routine provides a finer granularity of con-
-       trol over the <STRONG>overlay</STRONG> and <STRONG>overwrite</STRONG> routines.  As  in  the
-       <STRONG>prefresh</STRONG> routine, a rectangle is specified in the destina-
-       tion window, (<EM>dminrow</EM>, <EM>dmincol</EM>)  and  (<EM>dmaxrow</EM>,  <EM>dmaxcol</EM>),
-       and  the  upper-left-corner coordinates of the source win-
-       dow, (<EM>sminrow</EM>, <EM>smincol</EM>).  If the argument <EM>overlay</EM> is <STRONG>true</STRONG>,
+</PRE><H3><a name="h3-copywin">copywin</a></H3><PRE>
+       The <STRONG>copywin</STRONG> routine provides a finer granularity of  control  over  the
+       <STRONG>overlay</STRONG>  and  <STRONG>overwrite</STRONG>  routines.   As  in  the  <STRONG>prefresh</STRONG>  routine,  a
+       rectangle is specified in the destination  window,  (<EM>dminrow</EM>,  <EM>dmincol</EM>)
+       and  (<EM>dmaxrow</EM>,  <EM>dmaxcol</EM>),  and the upper-left-corner coordinates of the
+       source window, (<EM>sminrow</EM>, <EM>smincol</EM>).  If the argument  <EM>overlay</EM>  is  <STRONG>true</STRONG>,
        then copying is non-destructive, as in <STRONG>overlay</STRONG>.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Routines  that  return an integer return <STRONG>ERR</STRONG> upon failure,
-       and <STRONG>OK</STRONG> (SVr4 only specifies "an integer value  other  than
-       <STRONG>ERR</STRONG>") upon successful completion.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       These  routines  return  the  integer  <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG> (SVr4
+       specifies only "an integer  value  other  than  <STRONG>ERR</STRONG>")  upon  successful
+       completion.
 
-       X/Open  defines  no error conditions.  In this implementa-
-       tion, <STRONG>copywin</STRONG>, <STRONG>overlay</STRONG> and <STRONG>overwrite</STRONG> return  an  error  if
-       either of the window pointers are null, or if some part of
-       the window would be placed off-screen.
+       X/Open  defines  no error conditions.  In this implementation, <STRONG>copywin</STRONG>,
+       <STRONG>overlay</STRONG> and <STRONG>overwrite</STRONG> return an error if either of the window  pointers
+       are null, or if some part of the window would be placed off-screen.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
        Note that <STRONG>overlay</STRONG> and <STRONG>overwrite</STRONG> may be macros.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       The XSI Curses standard, Issue 4 describes these functions
-       (adding the const qualifiers).  It further specifies their
-       behavior in the presence of characters with multibyte ren-
-       ditions (not yet supported in this implementation).
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These  functions  are  described  in X/Open Curses, Issue 4, which adds
+       <EM>const</EM> qualifiers to the arguments.  It further specifies their behavior
+       in  the  presence  of  characters  with  multibyte  renditions (not yet
+       supported in this implementation).
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
 
 
 
-                                                       <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                  <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -125,7 +114,7 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
 <ul>
-<li><a href="#h3-overlay_-overwrite">overlay, overwrite</a></li>
+<li><a href="#h3-overlay_overwrite">overlay, overwrite</a></li>
 <li><a href="#h3-copywin">copywin</a></li>
 </ul>
 </li>
diff --git a/doc/html/man/curs_pad.3x.html b/doc/html/man/curs_pad.3x.html
index b5aee87..ae27590 100644
--- a/doc/html/man/curs_pad.3x.html
+++ b/doc/html/man/curs_pad.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2010,2015 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2015,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,168 +27,210 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_pad.3x,v 1.18 2015/07/21 08:58:44 tom Exp @
+  * @Id: curs_pad.3x,v 1.61 2024/04/27 17:55:43 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_pad 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_pad 3x 2024-04-27 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_pad 3x</H1>
+<H1 class="no-header">curs_pad 3x 2024-04-27 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>                                               <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+<STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>                     Library calls                    <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>newpad</STRONG>, <STRONG>subpad</STRONG>, <STRONG>prefresh</STRONG>, <STRONG>pnoutrefresh</STRONG>, <STRONG>pechochar</STRONG>,
-       <STRONG>pecho_wchar</STRONG> - create and display <STRONG>curses</STRONG> pads
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>newpad</STRONG>, <STRONG>subpad</STRONG>, <STRONG>prefresh</STRONG>, <STRONG>pnoutrefresh</STRONG>, <STRONG>pechochar</STRONG>, <STRONG>pecho_wchar</STRONG> - create
+       and display <EM>curses</EM> pads
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
        <STRONG>WINDOW</STRONG> <STRONG>*newpad(int</STRONG> <EM>nlines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ncols</EM><STRONG>);</STRONG>
-       <STRONG>WINDOW</STRONG> <STRONG>*subpad(WINDOW</STRONG> <STRONG>*</STRONG><EM>orig</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>nlines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ncols</EM><STRONG>,</STRONG>
+       <STRONG>WINDOW</STRONG> <STRONG>*subpad(WINDOW</STRONG> <STRONG>*</STRONG><EM>parent</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>nlines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ncols</EM><STRONG>,</STRONG>
              <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>x</EM><STRONG>);</STRONG>
+
        <STRONG>int</STRONG> <STRONG>prefresh(WINDOW</STRONG> <STRONG>*</STRONG><EM>pad</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pminrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pmincol</EM><STRONG>,</STRONG>
              <STRONG>int</STRONG> <EM>sminrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>smincol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>smaxrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>smaxcol</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>pnoutrefresh(WINDOW</STRONG> <STRONG>*</STRONG><EM>pad</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pminrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pmincol</EM><STRONG>,</STRONG>
              <STRONG>int</STRONG> <EM>sminrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>smincol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>smaxrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>smaxcol</EM><STRONG>);</STRONG>
+
        <STRONG>int</STRONG> <STRONG>pechochar(WINDOW</STRONG> <STRONG>*</STRONG><EM>pad</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>pecho_wchar(WINDOW</STRONG> <STRONG>*</STRONG><EM>pad</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       A <EM>curses</EM> <EM>pad</EM> is like a window, except that it is not restricted by  the
+       screen  size,  and is not necessarily associated with a particular part
+       of the screen.  Pads can be used when a large window  is  needed,  only
+       part  of  which  is  to  be  visible  on  the  screen.   Pads  are  not
+       automatically refreshed by scrolling or input-echoing operations.
 
-</PRE>
-<H3><a name="h3-newpad">newpad</a></H3><PRE>
-       The <STRONG>newpad</STRONG> routine creates and returns a pointer to a  new
-       pad data structure with the given number of lines, <EM>nlines</EM>,
-       and columns, <EM>ncols</EM>.  A pad is like a window,  except  that
-       it is not restricted by the screen size, and is not neces-
-       sarily associated with a particular part  of  the  screen.
-       Pads can be used when a large window is needed, and only a
-       part of the window will be on the screen at one time.  Au-
-       tomatic refreshes of pads (e.g., from scrolling or echoing
-       of input) do not occur.  It is not legal to call  <STRONG>wrefresh</STRONG>
-       with  a  <EM>pad</EM>  as  an  argument;  the  routines <STRONG>prefresh</STRONG> or
-       <STRONG>pnoutrefresh</STRONG> should be called instead.   Note  that  these
-       routines require additional parameters to specify the part
-       of the pad to be displayed and the location on the  screen
-       to be used for the display.
+       Pads  cannot  be  refreshed  with   <STRONG><A HREF="curs_refresh.3x.html">wrefresh(3x)</A></STRONG>;   use   <STRONG>prefresh</STRONG>   or
+       <STRONG>pnoutrefresh</STRONG> instead.
 
 
-</PRE>
-<H3><a name="h3-subpad">subpad</a></H3><PRE>
-       The <STRONG>subpad</STRONG> routine creates and returns a pointer to a sub-
-       window within a  pad  with  the  given  number  of  lines,
-       <EM>nlines</EM>,  and  columns,  <EM>ncols</EM>.   Unlike <STRONG>subwin</STRONG>, which uses
-       screen coordinates, the window is  at  position  (<EM>begin</EM>_<EM>x</EM><STRONG>,</STRONG>
-       <EM>begin</EM>_<EM>y</EM>)  on the pad.  The window is made in the middle of
-       the window <EM>orig</EM>, so that changes made to one window affect
-       both windows.  During the use of this routine, it will of-
-       ten be necessary to call <STRONG>touchwin</STRONG> or <STRONG>touchline</STRONG> on <EM>orig</EM> be-
-       fore calling <STRONG>prefresh</STRONG>.
+</PRE><H3><a name="h3-newpad">newpad</a></H3><PRE>
+       <STRONG>newpad</STRONG>  creates  and returns a pointer to a new pad data structure with
+       the given number of lines, <EM>nlines</EM>, and columns, <EM>ncols</EM>.
 
 
-</PRE>
-<H3><a name="h3-prefresh_-pnoutrefresh">prefresh, pnoutrefresh</a></H3><PRE>
-       The  <STRONG>prefresh</STRONG>  and  <STRONG>pnoutrefresh</STRONG> routines are analogous to
-       <STRONG>wrefresh</STRONG> and <STRONG>wnoutrefresh</STRONG> except that they relate to  pads
-       instead  of windows.  The additional parameters are needed
-       to indicate what part of the pad and screen are  involved.
-       The <EM>pminrow</EM> and <EM>pmincol</EM> parameters specify the upper left-
-       hand corner of the rectangle to be displayed in  the  pad.
-       The  <EM>sminrow</EM>,  <EM>smincol</EM>,  <EM>smaxrow</EM>,  and  <EM>smaxcol</EM> parameters
-       specify the edges of the rectangle to be displayed on  the
-       screen.   The  lower right-hand corner of the rectangle to
-       be displayed in the pad is calculated from the screen  co-
-       ordinates,  since  the  rectangles  must be the same size.
-       Both rectangles must be entirely  contained  within  their
-       respective  structures.  Negative values of <EM>pminrow</EM>, <EM>pmin-</EM>
-       <EM>col</EM>, <EM>sminrow</EM>, or <EM>smincol</EM> are treated as if they were zero.
+</PRE><H3><a name="h3-subpad">subpad</a></H3><PRE>
+       <STRONG>subpad</STRONG> creates and returns a pointer to a subwindow within a  pad  with
+       the  given  number  of  lines,  <EM>nlines</EM>,  and  columns,  <EM>ncols</EM>.   Unlike
+       <STRONG><A HREF="subwin.3x.html">subwin(3x)</A></STRONG>, which uses screen coordinates, the new  pad  is  placed  at
+       position (<EM>begin</EM><STRONG>_</STRONG><EM>y</EM>, <EM>begin</EM><STRONG>_</STRONG><EM>x</EM>) relative to its parent.  Thus, changes made
+       to one pad can affect both.  When operating on a subpad,  it  is  often
+       necessary  to  call  <STRONG><A HREF="curs_touch.3x.html">touchwin(3x)</A></STRONG>  or  <STRONG><A HREF="curs_touch.3x.html">touchline(3x)</A></STRONG>  on  <EM>parent</EM> before
+       calling <STRONG>prefresh</STRONG>.
 
 
-</PRE>
-<H3><a name="h3-pechochar">pechochar</a></H3><PRE>
-       The <STRONG>pechochar</STRONG> routine is functionally equivalent to a call
-       to  <STRONG>addch</STRONG>  followed by a call to <STRONG>refresh</STRONG>, a call to <STRONG>waddch</STRONG>
-       followed by a call to <STRONG>wrefresh</STRONG>, or a call to  <STRONG>waddch</STRONG>  fol-
-       lowed  by  a  call to <STRONG>prefresh</STRONG>.  The knowledge that only a
-       single character is being output is taken into  considera-
-       tion  and, for non-control characters, a considerable per-
-       formance gain might be seen by using  these  routines  in-
-       stead of their equivalents.  In the case of <STRONG>pechochar</STRONG>, the
-       last location of the pad on the screen is reused  for  the
-       arguments to <STRONG>prefresh</STRONG>.
+</PRE><H3><a name="h3-prefresh_pnoutrefresh">prefresh, pnoutrefresh</a></H3><PRE>
+       <STRONG>prefresh</STRONG>  and  <STRONG>pnoutrefresh</STRONG>   are   analogous   to   <STRONG><A HREF="curs_refresh.3x.html">wrefresh(3x)</A></STRONG>   and
+       <STRONG><A HREF="curs_refresh.3x.html">wnoutrefresh(3x)</A></STRONG>  except that they operate on pads rather than windows.
+       They require additional parameters are needed to indicate what portions
+       of the pad and screen are involved.
+
+       <STRONG>o</STRONG>   <EM>pminrow</EM>  and  <EM>pmincol</EM>  specify  the  upper  left-hand  corner  of a
+           rectangular view of the pad.
+
+       <STRONG>o</STRONG>   <EM>sminrow</EM>, <EM>smincol</EM>, <EM>smaxrow</EM>, and <EM>smaxcol</EM> specify the vertices of  the
+           rectangle to be displayed on the screen.
+
+       The lower right-hand corner of the rectangle to be displayed in the pad
+       is calculated from the screen coordinates, since the rectangles must be
+       the same size.  Both rectangles must be entirely contained within their
+       respective structures.  <EM>curses</EM> treats negative values of any  of  these
+       parameters as zero.
 
 
-</PRE>
-<H3><a name="h3-pecho_wchar">pecho_wchar</a></H3><PRE>
-       The  <STRONG>pecho_wchar</STRONG>  function is the analogous wide-character
-       form of <STRONG>pechochar</STRONG>.  It outputs one character to a pad  and
-       immediately  refreshes the pad.  It does this by a call to
-       <STRONG>wadd_wch</STRONG> followed by a call to <STRONG>prefresh</STRONG>.
+</PRE><H3><a name="h3-pechochar">pechochar</a></H3><PRE>
+       <STRONG>pechochar</STRONG>  is functionally equivalent to calling <STRONG><A HREF="curs_addch.3x.html">waddch(3x)</A></STRONG> followed by
+       <STRONG>prefresh</STRONG>.  It suggests to the  <EM>curses</EM>  optimizer  that  only  a  single
+       character  is  being  output; a considerable performance benefit may be
+       thus enjoyed.  The location of the character <EM>ch</EM> written to the  pad  is
+       used to populate the arguments to <STRONG>prefresh</STRONG>.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Routines that return an integer return  <STRONG>ERR</STRONG>  upon  failure
-       and  <STRONG>OK</STRONG>  (SVr4 only specifies "an integer value other than
-       <STRONG>ERR</STRONG>") upon successful completion.
+</PRE><H3><a name="h3-pecho_wchar">pecho_wchar</a></H3><PRE>
+       <STRONG>pecho_wchar</STRONG> is functionally equivalent to calling <STRONG><A HREF="curs_add_wch.3x.html">wadd_wch(3x)</A></STRONG> followed
+       by <STRONG>prefresh</STRONG>.  It suggests to the <EM>curses</EM> optimizer that  only  a  single
+       wide  character is being output; a considerable performance benefit may
+       be thus enjoyed.  The location of the character <EM>wch</EM> written to the  pad
+       is used to populate the arguments to <STRONG>prefresh</STRONG>.
 
-       Routines that return pointers return <STRONG>NULL</STRONG>  on  error,  and
-       set <STRONG>errno</STRONG> to <STRONG>ENOMEM</STRONG>.
 
-       X/Open  does not define any error conditions.  In this im-
-       plementation
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       Functions  that  return an integer return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4
+       specifies only "an integer  value  other  than  <STRONG>ERR</STRONG>")  upon  successful
+       completion.
+
+       Functions  that  return pointers return <STRONG>NULL</STRONG> on error, and set <STRONG>errno</STRONG> to
+       <STRONG>ENOMEM</STRONG>.
+
+       X/Open  Curses  does  not  specify  any  error  conditions.   In   this
+       implementation
 
           <STRONG>prefresh</STRONG> and <STRONG>pnoutrefresh</STRONG>
-               return an error if the window pointer is null,  or
-               if  the  window is not really a pad or if the area
-               to refresh extends off-screen or  if  the  minimum
-               coordinates are greater than the maximum.
+               return an error if the window pointer is null, or if the window
+               is not really a pad or if the  area  to  refresh  extends  off-
+               screen  or  if  the  minimum  coordinates  are greater than the
+               maximum.
 
           <STRONG>pechochar</STRONG>
-               returns  an  error  if  the window is not really a
-               pad, and the associated call to <STRONG>wechochar</STRONG>  returns
-               an error.
+               returns an error if the window is not really  a  pad,  and  the
+               associated call to <STRONG>wechochar</STRONG> returns an error.
 
           <STRONG>pecho_wchar</STRONG>
-               returns  an  error  if  the window is not really a
-               pad, and the associated call  to  <STRONG>wecho_wchar</STRONG>  re-
-               turns an error.
+               returns  an  error  if  the window is not really a pad, and the
+               associated call to <STRONG>wecho_wchar</STRONG> returns an error.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       Note that <STRONG>pechochar</STRONG> may be a macro.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       <STRONG>pechochar</STRONG> may be a macro.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       The  XSI  Curses  standard,  Issue 4 describes these func-
-       tions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       BSD <EM>curses</EM> has no <EM>pad</EM> feature.
+
+       SVr2  <EM>curses</EM>  (1986)  provided  the  <STRONG>newpad</STRONG>  and   related   functions,
+       documenting  them  in  a  single  line each.  SVr3 (1987) provided more
+       extensive documentation.
+
+       The documentation does not explain the term <EM>pad</EM>.  However,  the  Apollo
+       <EM>Aegis</EM> workstation operating system supported a graphical <EM>pad</EM> feature:
+
+       <STRONG>o</STRONG>   These  graphical  pads  could  be  much  larger than the computer's
+           display.
+
+       <STRONG>o</STRONG>   The read-only output from a  command  could  be  scrolled  back  to
+           inspect, and select text from the pad.
+
+       The two uses may be related.
+
+       X/Open  Curses,  Issue 4 describes these functions, without significant
+       change from the SVr3 documentation.  It describes no error  conditions.
+       The  behavior  of  <STRONG>subpad</STRONG>  if  the  parent  window  is  not  a  pad  is
+       undocumented, and is not checked by the vendor Unix implementations:
+
+       <STRONG>o</STRONG>   SVr4 <EM>curses</EM> sets a flag in the <EM>WINDOW</EM>  structure  in  <STRONG>newpad</STRONG>  which
+           tells if the window is a <EM>pad</EM>.
+
+           However,  it  uses this information only in <STRONG>waddch</STRONG> (to decide if it
+           should call <STRONG>wrefresh</STRONG>) and <STRONG>wscrl</STRONG> (to avoid  scrolling  a  pad),  and
+           does  not  check  in  <STRONG>wrefresh</STRONG>  to ensure that the pad is refreshed
+           properly.
+
+       <STRONG>o</STRONG>   Solaris <EM>xcurses</EM> checks whether a window is a pad  in  <STRONG>wnoutrefresh</STRONG>,
+           returning <STRONG>ERR</STRONG> in that case.
+
+           However,  it only sets the flag for subwindows if the parent window
+           is a pad.  Its <STRONG>newpad</STRONG>  function  does  not  set  this  information.
+           Consequently, the check will never fail.
+
+           It  makes no comparable check in <STRONG>pnoutrefresh</STRONG>, though interestingly
+           enough, a comment in the source code states  that  the  lack  of  a
+           check was an MKS extension.
+
+       <STRONG>o</STRONG>   NetBSD  7 <EM>curses</EM> sets a flag in the <EM>WINDOW</EM> structure for <STRONG>newpad</STRONG> and
+           <STRONG>subpad</STRONG>,  using  this  to  help   with   the   distinction   between
+           <STRONG>wnoutrefresh</STRONG> and <STRONG>pnoutrefresh</STRONG>.
+
+           It  does  not  check for the case where a subwindow is created in a
+           pad using <STRONG>subwin</STRONG> or <STRONG>derwin</STRONG>.
+
+           The <STRONG>dupwin</STRONG> function returns a regular  window  when  duplicating  a
+           pad.   Likewise,  <STRONG>getwin</STRONG> always returns a window, even if the saved
+           data was from a pad.
+
+       This implementation
+
+       <STRONG>o</STRONG>   sets a flag in the <EM>WINDOW</EM> structure for <STRONG>newpad</STRONG> and <STRONG>subpad</STRONG>,
+
+       <STRONG>o</STRONG>   allows a <STRONG>subwin</STRONG> or <STRONG>derwin</STRONG> call to succeed having a  pad  parent  by
+           forcing the subwindow to be a pad,
+
+       <STRONG>o</STRONG>   checks  in  both  <STRONG>wnoutrefresh</STRONG> and <STRONG>pnoutrefresh</STRONG> to ensure that pads
+           and windows are handled distinctly, and
+
+       <STRONG>o</STRONG>   ensures  that  <STRONG>dupwin</STRONG>  and  <STRONG>getwin</STRONG>  treat   pads   versus   windows
+           consistently.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,  <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>,  <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>,  <STRONG>curs_add-</STRONG>
-       <STRONG><A HREF="curs_addch.3x.html">ch(3x)</A></STRONG>.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
 
 
 
-                                                           <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+ncurses 6.5                       2024-04-27                      <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -197,7 +240,7 @@
 <ul>
 <li><a href="#h3-newpad">newpad</a></li>
 <li><a href="#h3-subpad">subpad</a></li>
-<li><a href="#h3-prefresh_-pnoutrefresh">prefresh, pnoutrefresh</a></li>
+<li><a href="#h3-prefresh_pnoutrefresh">prefresh, pnoutrefresh</a></li>
 <li><a href="#h3-pechochar">pechochar</a></li>
 <li><a href="#h3-pecho_wchar">pecho_wchar</a></li>
 </ul>
diff --git a/doc/html/man/curs_print.3x.html b/doc/html/man/curs_print.3x.html
index 508f964..92fb48d 100644
--- a/doc/html/man/curs_print.3x.html
+++ b/doc/html/man/curs_print.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-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  *
   * copy of this software and associated documentation files (the            *
@@ -26,91 +27,83 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_print.3x,v 1.10 2010/12/04 18:40:45 tom Exp @
+  * @Id: curs_print.3x,v 1.38 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_print 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_print 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_print 3x</H1>
+<H1 class="no-header">curs_print 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>                                           <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>
+<STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>                   Library calls                  <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>mcprint</STRONG> - ship binary data to printer
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>mcprint</STRONG> - write binary data to printer using <EM>terminfo</EM> capabilities
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
-       <STRONG>int</STRONG> <STRONG>mcprint(char</STRONG> <STRONG>*data,</STRONG> <STRONG>int</STRONG> <STRONG>len);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mcprint(char</STRONG> <STRONG>*</STRONG><EM>data</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>len</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       This  function  uses the <STRONG>mc5p</STRONG> or <STRONG>mc4</STRONG> and <STRONG>mc5</STRONG> capabilities,
-       if they are present, to  ship  given  data  to  a  printer
-       attached to the terminal.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       This  function  uses  the <STRONG>mc5p</STRONG> or <STRONG>mc4</STRONG> and <STRONG>mc5</STRONG> capabilities, if they are
+       present, to ship given data to a printer attached to the terminal.
 
-       Note  that  the <STRONG>mcprint</STRONG> code has no way to do flow control
-       with the printer or to know how  much  buffering  it  has.
-       Your  application  is  responsible for keeping the rate of
-       writes to the printer below its continuous throughput rate
-       (typically  about  half  of its nominal cps rating).  Dot-
-       matrix printers and 6-page-per-minute lasers can typically
-       handle  80cps,  so a good conservative rule of thumb is to
+       Note that the <STRONG>mcprint</STRONG> code has no way  to  do  flow  control  with  the
+       printer  or  to  know  how  much buffering it has.  Your application is
+       responsible for keeping the rate of writes to  the  printer  below  its
+       continuous  throughput  rate  (typically  about half of its nominal cps
+       rating).   Dot-matrix  printers  and   6-page-per-minute   lasers   can
+       typically  handle  80cps,  so  a  good conservative rule of thumb is to
        sleep for a second after shipping each 80-character line.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The <STRONG>mcprint</STRONG> function returns <STRONG>ERR</STRONG> if  the  write  operation
-       aborted for some reason.  In this case, errno will contain
-       either an error associated with <STRONG>write(2)</STRONG>  or  one  of  the
-       following:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       The <STRONG>mcprint</STRONG> function returns <STRONG>ERR</STRONG> if the  write  operation  aborted  for
+       some  reason.   In  this  case,  <STRONG>errno</STRONG>  will  contain  either  an error
+       associated with <STRONG>write(2)</STRONG> or one of the following:
 
-       ENODEV
+       <STRONG>ENODEV</STRONG>
             Capabilities for printer redirection do not exist.
 
-       ENOMEM
-            Couldn't  allocate  sufficient  memory  to buffer the
-            printer write.
+       <STRONG>ENOMEM</STRONG>
+            Couldn't allocate sufficient memory to buffer the printer write.
 
-       When <STRONG>mcprint</STRONG> succeeds, it returns the number of characters
-       actually sent to the printer.
+       When <STRONG>mcprint</STRONG> succeeds, it returns the  number  of  characters  actually
+       sent to the printer.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       The  <STRONG>mcprint</STRONG> call was designed for <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, and is not
-       found in SVr4 curses, 4.4BSD curses, or any other previous
-       version of curses.
+</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+       <STRONG>mcprint</STRONG> was designed for <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, and was not found in SVr4 <EM>curses</EM>,
+       4.4BSD <EM>curses</EM>, or any other previous curses implementation.
 
 
-</PRE>
-<H2><a name="h2-BUGS">BUGS</a></H2><PRE>
-       Padding  in the <STRONG>mc5p</STRONG>, <STRONG>mc4</STRONG> and <STRONG>mc5</STRONG> capabilities will not be
-       interpreted.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       Applications employing this <EM>ncurses</EM> extension should condition its  use
+       on the visibility of the <STRONG>NCURSES_VERSION</STRONG> preprocessor macro.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+</PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE>
+       Padding in the <STRONG>mc5p</STRONG>, <STRONG>mc4</STRONG>, and <STRONG>mc5</STRONG> capabilities is not interpreted.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
 
 
 
-                                                         <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                    <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -118,6 +111,7 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-BUGS">BUGS</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
diff --git a/doc/html/man/curs_printw.3x.html b/doc/html/man/curs_printw.3x.html
index ae9aead..259b561 100644
--- a/doc/html/man/curs_printw.3x.html
+++ b/doc/html/man/curs_printw.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-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  *
   * copy of this software and associated documentation files (the            *
@@ -26,96 +27,127 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_printw.3x,v 1.20 2010/12/04 18:40:45 tom Exp @
+  * @Id: curs_printw.3x,v 1.53 2024/04/20 19:18:18 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_printw 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_printw 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_printw 3x</H1>
+<H1 class="no-header">curs_printw 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>                                         <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+<STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>                  Library calls                 <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>printw</STRONG>, <STRONG>wprintw</STRONG>, <STRONG>mvprintw</STRONG>, <STRONG>mvwprintw</STRONG>, <STRONG>vwprintw</STRONG>, <STRONG>vw_printw</STRONG>
-       - print formatted output in <STRONG>curses</STRONG> windows
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>printw</STRONG>,  <STRONG>wprintw</STRONG>,  <STRONG>mvprintw</STRONG>,  <STRONG>mvwprintw</STRONG>,  <STRONG>vwprintw</STRONG>,  <STRONG>vw_printw</STRONG>  - write
+       formatted output to a <EM>curses</EM> window
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
-       <STRONG>int</STRONG> <STRONG>printw(const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
-       <STRONG>int</STRONG> <STRONG>wprintw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvprintw(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvwprintw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG>  <STRONG>*fmt,</STRONG>
-       <STRONG>...);</STRONG>
-       <STRONG>int</STRONG>  <STRONG>vwprintw(WINDOW</STRONG>  <STRONG>*win,</STRONG>  <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>va_list</STRONG> <STRONG>var-</STRONG>
-       <STRONG>glist);</STRONG>
-       <STRONG>int</STRONG> <STRONG>vw_printw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG>  <STRONG>va_list</STRONG>  <STRONG>var-</STRONG>
-       <STRONG>glist);</STRONG>
+       <STRONG>int</STRONG> <STRONG>printw(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>fmt</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wprintw(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>fmt</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvprintw(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>fmt</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvwprintw(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>fmt</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>vw_printw(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>fmt</EM><STRONG>,</STRONG> <STRONG>va_list</STRONG> <EM>varglist</EM><STRONG>);</STRONG>
+
+       <EM>/*</EM> <EM>obsolete</EM> <EM>*/</EM>
+       <STRONG>int</STRONG> <STRONG>vwprintw(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>fmt</EM><STRONG>,</STRONG> <STRONG>va_list</STRONG> <EM>varglist</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  <STRONG>printw</STRONG>,  <STRONG>wprintw</STRONG>, <STRONG>mvprintw</STRONG> and <STRONG>mvwprintw</STRONG> routines are
-       analogous to  <STRONG>printf</STRONG>  [see  <STRONG>printf(3)</STRONG>].   In  effect,  the
-       string that would be output by <STRONG>printf</STRONG> is output instead as
-       though <STRONG>waddstr</STRONG> were used on the given window.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       <STRONG>printw</STRONG>, <STRONG>wprintw</STRONG>, <STRONG>mvprintw</STRONG>, and <STRONG>mvwprintw</STRONG> are  analogous  to  <STRONG>printf(3)</STRONG>.
+       In  effect,  the  string  that  would be output by <STRONG>printf(3)</STRONG> is instead
+       output as though <STRONG><A HREF="curs_addstr.3x.html">waddstr(3x)</A></STRONG> were used with  <EM>win</EM>  (or  <STRONG>stdscr</STRONG>)  as  its
+       first argument.
 
-       The <STRONG>vwprintw</STRONG>  and  <STRONG>wv_printw</STRONG>  routines  are  analogous  to
-       <STRONG>vprintf</STRONG>  [see  <STRONG>printf(3)</STRONG>]  and  perform  a <STRONG>wprintw</STRONG> using a
-       variable argument list.  The third argument is a  <STRONG>va_list</STRONG>,
-       a   pointer   to  a  list  of  arguments,  as  defined  in
-       <STRONG>&lt;stdarg.h&gt;</STRONG>.
+       <STRONG>vwprintw</STRONG>  and  <STRONG>vw_printw</STRONG>  are  analogous  to  <STRONG>vprintf(3)</STRONG>, and perform a
+       <STRONG>wprintw</STRONG> using a variable  argument  list.   The  third  argument  is  a
+       <EM>va</EM><STRONG>_</STRONG><EM>list</EM>, a pointer to a list of arguments, as defined in <EM>stdarg.h</EM>.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Routines that return an integer return  <STRONG>ERR</STRONG>  upon  failure
-       and  <STRONG>OK</STRONG>  (SVr4 only specifies "an integer value other than
-       <STRONG>ERR</STRONG>") upon successful completion.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       These functions return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> upon success.
 
-       X/Open defines no error conditions.  In  this  implementa-
-       tion,  an  error  may  be  returned  if it cannot allocate
-       enough memory for the buffer used to format  the  results.
-       It will return an error if the window pointer is null.
+       In <EM>ncurses</EM>, failure occurs if the library cannot allocate enough memory
+       for the buffer into which the output is formatted,  or  if  the  window
+       pointer <EM>win</EM> is null.
 
-       Functions  with a "mv" prefix first perform a cursor move-
-       ment using <STRONG>wmove</STRONG>, 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 (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       The  XSI  Curses  standard,  Issue 4 describes these func-
-       tions.  The function <STRONG>vwprintw</STRONG> is marked TO  BE  WITHDRAWN,
-       and  is  to  be replaced by a function <STRONG>vw_printw</STRONG> using the
-       <STRONG>&lt;stdarg.h&gt;</STRONG> interface.  The Single Unix Specification, Ver-
-       sion  2  states  that  <STRONG>vw_printw</STRONG>  is preferred to <STRONG>vwprintw</STRONG>
-       since the latter  requires  including  <STRONG>&lt;varargs.h&gt;</STRONG>,  which
-       cannot  be  used in the same file as <STRONG>&lt;stdarg.h&gt;</STRONG>.  This im-
-       plementation uses <STRONG>&lt;stdarg.h&gt;</STRONG> for both, because that header
-       is included in <STRONG>&lt;curses.h</STRONG>&gt;.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       No wide character counterpart  functions  are  defined  by  the  "wide"
+       <EM>ncurses</EM> configuration nor by any standard.  To format and write a wide-
+       character string to a <EM>curses</EM> window,  consider  using  <STRONG>swprintf(3)</STRONG>  and
+       <STRONG><A HREF="curs_addwstr.3x.html">waddwstr(3x)</A></STRONG> or similar.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG>printf(3)</STRONG>, <STRONG>vprintf(3)</STRONG>
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       X/Open  Curses,  Issue  4  describes  these functions.  It specifies no
+       error conditions for them.
+
+       <EM>ncurses</EM> defines <STRONG>vw_printw</STRONG> and <STRONG>vwprintw</STRONG> identically  to  support  legacy
+       applications.  However, the latter is obsolete.
+
+       <STRONG>o</STRONG>   X/Open  Curses,  Issue  4  Version  2  (1996),  marked  <STRONG>vwprintw</STRONG> as
+           requiring <EM>varargs.h</EM> and "TO BE WITHDRAWN", and specified  <STRONG>vw_printw</STRONG>
+           using the <EM>stdarg.h</EM> interface.
+
+       <STRONG>o</STRONG>   X/Open  Curses,  Issue  5,  Draft 2 (December 2007) marked <STRONG>vwprintw</STRONG>
+           (along with <STRONG>vwscanw</STRONG> and the <EM>termcap</EM> interface) as withdrawn.  After
+           incorporating  review  comments, this became X/Open Curses, Issue 7
+           (2009).
+
+       <STRONG>o</STRONG>   <EM>ncurses</EM> provides <STRONG>vwprintw</STRONG>, but marks it as deprecated.
+
+
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+       While <STRONG>printw</STRONG> was implemented in 4BSD (November  1980),  it  was  unused
+       until  4.2BSD  (August  1983), which employed it for games.  That early
+       version of <EM>curses</EM> preceded the ANSI C standard of 1989.  It did not use
+       <EM>varargs.h</EM>,  though  that  had been available since Seventh Edition Unix
+       (1979).  In 1991 (a couple of years after SVr4 was generally available,
+       and  after  the C standard was published), other developers updated the
+       library, using <EM>stdarg.h</EM> internally in 4.4BSD <EM>curses</EM>.   Even  with  this
+       improvement,  BSD  <EM>curses</EM>  did  not  use  function prototypes (nor even
+       declare functions) in <EM>curses.h</EM> until 1992.
+
+       SVr2 (1984) documented <STRONG>printw</STRONG> and <STRONG>wprintw</STRONG> tersely as "printf on <STRONG>stdscr</STRONG>"
+       and "printf on <EM>win</EM>", respectively.
+
+       SVr3  (1987)  added  <STRONG>mvprintw</STRONG>  and <STRONG>mvwprintw</STRONG>, with a three-line summary
+       asserting that they were analogous to <STRONG>printf(3)</STRONG>,  explaining  that  the
+       string  that  <STRONG>printf(3)</STRONG> would write to the standard output stream would
+       instead be output  using  <STRONG>waddstr</STRONG>  to  the  given  window.   SVr3  also
+       implemented  <STRONG>vwprintw</STRONG>,  describing  its  third  parameter as a <EM>va</EM><STRONG>_</STRONG><EM>list</EM>,
+       defined in <EM>varargs.h</EM>, and referred the reader to the manual  pages  for
+       <EM>varargs</EM> and <EM>vprintf</EM> for detailed descriptions.
+
+       SVr4  (1989)  introduced  no new variations of <EM>printw</EM>, but provided for
+       using either <EM>varargs.h</EM> or <EM>stdarg.h</EM> to define the <EM>va</EM><STRONG>_</STRONG><EM>list</EM> type.
+
+       X/Open Curses, Issue 4 (1995), defined <STRONG>vw_printw</STRONG> to  replace  <STRONG>vwprintw</STRONG>,
+       stating that its <EM>va</EM><STRONG>_</STRONG><EM>list</EM> type is defined in <EM>stdarg.h</EM>.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>, <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>, <STRONG>printf(3)</STRONG>, <STRONG>vprintf(3)</STRONG>
 
 
 
-                                                        <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                   <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -123,7 +155,9 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
diff --git a/doc/html/man/curs_refresh.3x.html b/doc/html/man/curs_refresh.3x.html
index b739e07..4beec32 100644
--- a/doc/html/man/curs_refresh.3x.html
+++ b/doc/html/man/curs_refresh.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2005,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2010,2016 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,146 +27,152 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_refresh.3x,v 1.15 2010/12/04 18:38:55 tom Exp @
+  * @Id: curs_refresh.3x,v 1.46 2024/04/20 21:20:07 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_refresh 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_refresh 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_refresh 3x</H1>
+<H1 class="no-header">curs_refresh 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>                                       <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+<STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>                 Library calls                <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>doupdate</STRONG>, <STRONG>redrawwin</STRONG>, <STRONG>refresh</STRONG>, <STRONG>wnoutrefresh</STRONG>, <STRONG>wredrawln</STRONG>,
-       <STRONG>wrefresh</STRONG> - refresh <STRONG>curses</STRONG> windows and lines
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>doupdate</STRONG>,  <STRONG>redrawwin</STRONG>,  <STRONG>refresh</STRONG>,  <STRONG>wnoutrefresh</STRONG>,  <STRONG>wredrawln</STRONG>,  <STRONG>wrefresh</STRONG>  -
+       refresh <EM>curses</EM> windows or lines thereupon
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
        <STRONG>int</STRONG> <STRONG>refresh(void);</STRONG>
-       <STRONG>int</STRONG> <STRONG>wrefresh(WINDOW</STRONG> <STRONG>*win);</STRONG>
-       <STRONG>int</STRONG> <STRONG>wnoutrefresh(WINDOW</STRONG> <STRONG>*win);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wrefresh(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wnoutrefresh(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>doupdate(void);</STRONG>
-       <STRONG>int</STRONG> <STRONG>redrawwin(WINDOW</STRONG> <STRONG>*win);</STRONG>
-       <STRONG>int</STRONG> <STRONG>wredrawln(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>beg_line,</STRONG> <STRONG>int</STRONG> <STRONG>num_lines);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>redrawwin(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wredrawln(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>beg</EM><STRONG>_</STRONG><EM>line</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>num</EM><STRONG>_</STRONG><EM>lines</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The <STRONG>refresh</STRONG> and <STRONG>wrefresh</STRONG>  routines  (or  <STRONG>wnoutrefresh</STRONG>  and
-       <STRONG>doupdate</STRONG>)  must be called to get actual output to the ter-
-       minal, as other routines  merely  manipulate  data  struc-
-       tures.   The  routine  <STRONG>wrefresh</STRONG> copies the named window to
-       the physical terminal screen, taking into account what  is
-       already there to do optimizations.  The <STRONG>refresh</STRONG> routine is
-       the same, using <STRONG>stdscr</STRONG>  as  the  default  window.   Unless
-       <STRONG>leaveok</STRONG>  has been enabled, the physical cursor of the ter-
-       minal is left at the location of the cursor for that  win-
-       dow.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
 
-       The  <STRONG>wnoutrefresh</STRONG> and <STRONG>doupdate</STRONG> routines allow multiple up-
-       dates with more efficiency than <STRONG>wrefresh</STRONG> alone.  In  addi-
-       tion  to  all the window structures, <STRONG>curses</STRONG> keeps two data
-       structures representing the terminal  screen:  a  physical
-       screen,  describing  what is actually on the screen, and a
-       virtual screen, describing what the  programmer  wants  to
-       have on the screen.
-
-       The  routine <STRONG>wrefresh</STRONG> works by first calling <STRONG>wnoutrefresh</STRONG>,
-       which copies the named window to the virtual  screen,  and
-       then  calling  <STRONG>doupdate</STRONG>, which compares the virtual screen
-       to the physical screen and does the actual update.  If the
-       programmer wishes to output several windows at once, a se-
-       ries of calls to <STRONG>wrefresh</STRONG> results in alternating calls  to
-       <STRONG>wnoutrefresh</STRONG>  and <STRONG>doupdate</STRONG>, causing several bursts of out-
-       put to the screen.  By first calling <STRONG>wnoutrefresh</STRONG> for each
-       window, it is then possible to call <STRONG>doupdate</STRONG> once, result-
-       ing in only one burst of output, with fewer total  charac-
-       ters transmitted and less CPU time used.  If the <EM>win</EM> argu-
-       ment to <STRONG>wrefresh</STRONG> is the global variable <STRONG>curscr</STRONG>, the screen
-       is immediately cleared and repainted from scratch.
-
-       The phrase "copies the named window to the virtual screen"
-       above is ambiguous.  What actually  happens  is  that  all
-       <EM>touched</EM>  (changed)  lines  in the window are copied to the
-       virtual screen.  This affects programs that  use  overlap-
-       ping  windows;  it  means that if two windows overlap, you
-       can refresh them in either order and  the  overlap  region
-       will be modified only when it is explicitly changed.  (But
-       see the section on <STRONG>PORTABILITY</STRONG> below for a  warning  about
-       exploiting this behavior.)
-
-       The <STRONG>wredrawln</STRONG> routine indicates to <STRONG>curses</STRONG> that some screen
-       lines are corrupted and should be thrown away before  any-
-       thing  is  written  over  them.   It touches the indicated
-       lines (marking them  changed).   The  routine  <STRONG>redrawwin</STRONG>()
-       touches the entire window.
+</PRE><H3><a name="h3-refresh_wrefresh">refresh, wrefresh</a></H3><PRE>
+       The <STRONG>refresh</STRONG> and <STRONG>wrefresh</STRONG> routines (or <STRONG>wnoutrefresh</STRONG> and  <STRONG>doupdate</STRONG>)  must
+       be  called  to  get  actual  output  to the terminal, as other routines
+       merely manipulate data structures.  The  routine  <STRONG>wrefresh</STRONG>  copies  the
+       named  window  to  the  <EM>physical</EM>  <EM>screen</EM>,  taking  into account what is
+       already there to do optimizations.  The <STRONG>refresh</STRONG> routine  is  the  same,
+       using  <STRONG>stdscr</STRONG>  as  the  default  window.   Unless  <STRONG><A HREF="leaveok.3x.html">leaveok(3x)</A></STRONG> has been
+       enabled, the physical cursor of the terminal is left at the location of
+       the cursor for that window.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Routines  that  return an integer return <STRONG>ERR</STRONG> upon failure,
-       and <STRONG>OK</STRONG> (SVr4 only specifies "an integer value  other  than
-       <STRONG>ERR</STRONG>") upon successful completion.
+</PRE><H3><a name="h3-wnoutrefresh_doupdate">wnoutrefresh, doupdate</a></H3><PRE>
+       The <STRONG>wnoutrefresh</STRONG> and <STRONG>doupdate</STRONG> routines allow multiple updates with more
+       efficiency  than  <STRONG>wrefresh</STRONG>  alone.   In  addition  to  all  the  window
+       structures,  <STRONG>curses</STRONG> keeps two data structures representing the terminal
+       screen:
 
-       X/Open  does not define any error conditions.  In this im-
-       plementation
+       <STRONG>o</STRONG>   a <EM>physical</EM> <EM>screen</EM>, describing what is actually on the screen, and
 
-              <STRONG>wnoutrefresh</STRONG>
-                   returns an error  if  the  window  pointer  is
-                   null, or if the window is really a pad.
+       <STRONG>o</STRONG>   a <EM>virtual</EM> <EM>screen</EM>, describing what the programmer wants to  have  on
+           the screen.
 
-              <STRONG>wredrawln</STRONG>
-                   returns  an  error  if  the associated call to
-                   <STRONG>touchln</STRONG> returns an error.
+       The routine <STRONG>wrefresh</STRONG> works by
+
+       <STRONG>o</STRONG>   first  calling  <STRONG>wnoutrefresh</STRONG>,  which copies the named window to the
+           <EM>virtual</EM> <EM>screen</EM>, and
+
+       <STRONG>o</STRONG>   then calling <STRONG>doupdate</STRONG>, which compares the  <EM>virtual</EM>  <EM>screen</EM>  to  the
+           <EM>physical</EM> <EM>screen</EM> and does the actual update.
+
+       If the programmer wishes to output several windows at once, a series of
+       calls to <STRONG>wrefresh</STRONG> results in  alternating  calls  to  <STRONG>wnoutrefresh</STRONG>  and
+       <STRONG>doupdate</STRONG>,  causing  several  bursts  of output to the screen.  By first
+       calling <STRONG>wnoutrefresh</STRONG> for each window,  it  is  then  possible  to  call
+       <STRONG>doupdate</STRONG>  once, resulting in only one burst of output, with fewer total
+       characters transmitted and less CPU time used.
+
+       If the <EM>win</EM> argument to <STRONG>wrefresh</STRONG>  is  the  <EM>physical</EM>  <EM>screen</EM>  (i.e.,  the
+       global   variable  <STRONG>curscr</STRONG>),  the  screen  is  immediately  cleared  and
+       repainted from scratch.
+
+       The phrase "copies the named window to the  virtual  screen"  above  is
+       ambiguous.   What  actually happens is that all <EM>touched</EM> (changed) lines
+       in the window are copied to the virtual screen.  This affects  programs
+       that use overlapping windows; it means that if two windows overlap, you
+       can refresh them in  either  order  and  the  overlap  region  will  be
+       modified  only  when it is explicitly changed.  (But see the section on
+       <STRONG>PORTABILITY</STRONG> below for a warning about exploiting this behavior.)
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+</PRE><H3><a name="h3-wredrawln_redrawwin">wredrawln, redrawwin</a></H3><PRE>
+       The <STRONG>wredrawln</STRONG> routine indicates to <STRONG>curses</STRONG> that some  screen  lines  are
+       corrupted  and  should  be  thrown away before anything is written over
+       them.  It touches the indicated  lines  (marking  them  changed).   The
+       routine <STRONG>redrawwin</STRONG> touches the entire window.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       These  routines  return  the  integer  <STRONG>ERR</STRONG>  upon  failure  and <STRONG>OK</STRONG> (SVr4
+       specifies only "an integer  value  other  than  <STRONG>ERR</STRONG>")  upon  successful
+       completion.
+
+       X/Open   Curses  does  not  specify  any  error  conditions.   In  this
+       implementation
+
+          <STRONG>wnoutrefresh</STRONG>
+               returns an error if the window  pointer  is  null,  or  if  the
+               window is really a pad.
+
+          <STRONG>wredrawln</STRONG>
+               returns  an  error if the associated call to <STRONG>touchln</STRONG> returns an
+               error.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
        Note that <STRONG>refresh</STRONG> and <STRONG>redrawwin</STRONG> may be macros.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       The XSI Curses standard, Issue  4  describes  these  func-
-       tions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       X/Open Curses, Issue 4 describes these functions.
 
-       Whether  <STRONG>wnoutrefresh()</STRONG>  copies  to the virtual screen the
-       entire contents of a window or just its  changed  portions
-       has never been well-documented in historic curses versions
-       (including SVr4).  It might be unwise to  rely  on  either
-       behavior  in  programs  that  might have to be linked with
-       other curses implementations.  Instead, you can do an  ex-
-       plicit  <STRONG>touchwin()</STRONG> before the <STRONG>wnoutrefresh()</STRONG> call to guar-
-       antee an entire-contents copy anywhere.
+       Whether <STRONG>wnoutrefresh</STRONG> copies to the virtual screen the  entire  contents
+       of a window or just its changed portions has never been well-documented
+       in historic curses versions (including SVr4).  It might  be  unwise  to
+       rely  on  either behavior in programs that might have to be linked with
+       other curses implementations.  Instead, you can do an explicit <STRONG>touchwin</STRONG>
+       before  the  <STRONG>wnoutrefresh</STRONG>  call  to  guarantee  an entire-contents copy
+       anywhere.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
 
 
 
-                                                       <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                  <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
 <li><a href="#h2-NAME">NAME</a></li>
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
-<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-refresh_wrefresh">refresh, wrefresh</a></li>
+<li><a href="#h3-wnoutrefresh_doupdate">wnoutrefresh, doupdate</a></li>
+<li><a href="#h3-wredrawln_redrawwin">wredrawln, redrawwin</a></li>
+</ul>
+</li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
 <li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
diff --git a/doc/html/man/curs_scanw.3x.html b/doc/html/man/curs_scanw.3x.html
index ca8fe63..d0b9b79 100644
--- a/doc/html/man/curs_scanw.3x.html
+++ b/doc/html/man/curs_scanw.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-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  *
   * copy of this software and associated documentation files (the            *
@@ -26,103 +27,159 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_scanw.3x,v 1.17 2010/12/04 18:40:45 tom Exp @
+  * @Id: curs_scanw.3x,v 1.53 2024/04/20 19:18:18 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_scanw 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_scanw 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_scanw 3x</H1>
+<H1 class="no-header">curs_scanw 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>                                           <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+<STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>                   Library calls                  <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>scanw</STRONG>, <STRONG>wscanw</STRONG>, <STRONG>mvscanw</STRONG>, <STRONG>mvwscanw</STRONG>, <STRONG>vwscanw</STRONG>, <STRONG>vw_scanw</STRONG> - con-
-       vert formatted input from a <STRONG>curses</STRONG> window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>scanw</STRONG>,  <STRONG>wscanw</STRONG>,  <STRONG>mvscanw</STRONG>,  <STRONG>mvwscanw</STRONG>, <STRONG>vwscanw</STRONG>, <STRONG>vw_scanw</STRONG> - read formatted
+       input from a <EM>curses</EM> window
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
-       <STRONG>int</STRONG> <STRONG>scanw(char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
-       <STRONG>int</STRONG> <STRONG>wscanw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvscanw(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvwscanw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
-       <STRONG>int</STRONG> <STRONG>vw_scanw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>va_list</STRONG> <STRONG>varglist);</STRONG>
-       <STRONG>int</STRONG> <STRONG>vwscanw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>va_list</STRONG> <STRONG>varglist);</STRONG>
+       <STRONG>int</STRONG> <STRONG>scanw(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>fmt</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wscanw(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>fmt</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvscanw(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>fmt</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvwscanw(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>fmt</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>vw_scanw(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>fmt</EM><STRONG>,</STRONG> <STRONG>va_list</STRONG> <EM>varglist</EM><STRONG>);</STRONG>
+
+       <EM>/*</EM> <EM>obsolete</EM> <EM>*/</EM>
+       <STRONG>int</STRONG> <STRONG>vwscanw(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>fmt</EM><STRONG>,</STRONG> <STRONG>va_list</STRONG> <EM>varglist</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The <STRONG>scanw</STRONG>, <STRONG>wscanw</STRONG> and <STRONG>mvscanw</STRONG> routines  are  analogous  to
-       <STRONG>scanf</STRONG>  [see <STRONG>scanf(3)</STRONG>].  The effect of these routines is as
-       though <STRONG>wgetstr</STRONG> were called on the window, and the  result-
-       ing line used as input for <STRONG>sscanf(3)</STRONG>.  Fields which do not
-       map to a variable in the <EM>fmt</EM> field are lost.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       <STRONG>scanw</STRONG>, <STRONG>wscanw</STRONG>, <STRONG>mvscanw</STRONG>, and <STRONG>mvwscanw</STRONG> are  analogous  to  <STRONG>scanf(3)</STRONG>.   In
+       effect,  they  call  <STRONG><A HREF="curs_getstr.3x.html">wgetstr(3x)</A></STRONG>  with  <EM>win</EM>  (or  <STRONG>stdscr</STRONG>)  as its first
+       argument,  then  attempt  conversion  of  the  resulting  string   with
+       <STRONG>vsscanf(3)</STRONG>.   Fields in the string that do not map to a variable in the
+       <EM>fmt</EM> parameter are discarded.
 
-       The <STRONG>vwscanw</STRONG> and <STRONG>vw_scanw</STRONG> routines are analogous to <STRONG>vscanf</STRONG>.
-       They perform a <STRONG>wscanw</STRONG> using a variable argument list.  The
-       third argument is a <EM>va</EM><STRONG>_</STRONG><EM>list</EM>, a pointer to a list of  argu-
-       ments, as defined in <STRONG>&lt;stdarg.h&gt;</STRONG>.
+       <STRONG>vwscanw</STRONG> and <STRONG>vw_scanw</STRONG> are analogous to <STRONG>vscanf(3)</STRONG>, and perform  a  <STRONG>wscanw</STRONG>
+       using  a  variable  argument  list.  The third argument is a <EM>va</EM><STRONG>_</STRONG><EM>list</EM>, a
+       pointer to a list of arguments, as defined in <EM>stdarg.h</EM>.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       <STRONG>vwscanw</STRONG> returns <STRONG>ERR</STRONG> on failure and an integer equal to the
-       number of fields scanned on success.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       These functions return <STRONG>ERR</STRONG>  upon  failure  and  otherwise  a  count  of
+       successful conversions; this quantity may be zero.
 
-       Applications may use the  return  value  from  the  <STRONG>scanw</STRONG>,
-       <STRONG>wscanw</STRONG>,  <STRONG>mvscanw</STRONG>  and  <STRONG>mvwscanw</STRONG>  routines to determine the
-       number of fields which were mapped in the call.
+       In  <EM>ncurses</EM>, failure occurs if <STRONG>vsscanf(3)</STRONG> returns <STRONG>EOF</STRONG>, or if the window
+       pointer <EM>win</EM> is null.
 
-       Functions with a "mv" prefix first perform a cursor  move-
-       ment  using  <STRONG>wmove</STRONG>, 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 (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       The XSI Curses standard, Issue  4  describes  these  func-
-       tions.   The  function  <STRONG>vwscanw</STRONG> is marked TO BE WITHDRAWN,
-       and is to be replaced by a  function  <STRONG>vw_scanw</STRONG>  using  the
-       <STRONG>&lt;stdarg.h&gt;</STRONG> interface.  The Single Unix Specification, Ver-
-       sion 2 states that <STRONG>vw_scanw</STRONG>  is preferred to <STRONG>vwscanw</STRONG> since
-       the latter requires including <STRONG>&lt;varargs.h&gt;</STRONG>, which cannot be
-       used in the same file as <STRONG>&lt;stdarg.h&gt;</STRONG>.  This  implementation
-       uses  <STRONG>&lt;stdarg.h&gt;</STRONG> for both, because that header is included
-       in <STRONG>&lt;curses.h</STRONG>&gt;.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       No  wide  character  counterpart  functions  are  defined by the "wide"
+       <EM>ncurses</EM> configuration nor by any standard.  They  are  unnecessary:  to
+       retrieve  and  convert  a  wide-character string from a <EM>curses</EM> terminal
+       keyboard, use these functions with the <STRONG>scanf(3)</STRONG> conversions  "%lc"  and
+       "%ls" for wide characters and strings, respectively.
 
-       Both XSI and The  Single  Unix  Specification,  Version  2
-       state  that  these  functions return ERR or OK.  Since the
-       underlying <STRONG>scanf</STRONG> can return the number of  items  scanned,
-       and the SVr4 code was documented to use this feature, this
-       is probably an editing error which was introduced in  XSI,
-       rather  than  being done intentionally.  Portable applica-
-       tions should only test if the return value is  ERR,  since
-       the  OK value (zero) is likely to be misleading.  One pos-
-       sible way to get useful results would be  to  use  a  "%n"
-       conversion  at the end of the format string to ensure that
-       something was processed.
+       <EM>ncurses</EM>  implements <STRONG>vsscanf(3)</STRONG> internally if it is unavailable when the
+       library is configured.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>, <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>, <STRONG>scanf(3)</STRONG>
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       X/Open Curses, Issue 4 describes  these  functions.   It  specifies  no
+       error conditions for them.
+
+       <EM>ncurses</EM>  defines  <STRONG>vw_scanw</STRONG>  and  <STRONG>vwscanw</STRONG>  identically to support legacy
+       applications.  However, the latter is obsolete.
+
+       <STRONG>o</STRONG>   X/Open  Curses,  Issue  4  Version  2  (1996),  marked  <STRONG>vwscanw</STRONG>  as
+           requiring  <EM>varargs.h</EM>  and "TO BE WITHDRAWN", and specified <STRONG>vw_scanw</STRONG>
+           using the <EM>stdarg.h</EM> interface.
+
+       <STRONG>o</STRONG>   X/Open Curses, Issue 5, Draft  2  (December  2007)  marked  <STRONG>vwscanw</STRONG>
+           (along with <STRONG>vwscanw</STRONG> and the <EM>termcap</EM> interface) as withdrawn.  After
+           incorporating review comments, this became X/Open Curses,  Issue  7
+           (2009).
+
+       <STRONG>o</STRONG>   <EM>ncurses</EM> provides <STRONG>vwscanw</STRONG>, but marks it as deprecated.
+
+       X/Open Curses Issues 4 and 7 both state that these functions return <STRONG>ERR</STRONG>
+       or <STRONG>OK</STRONG>.  This is likely an erratum.
+
+       <STRONG>o</STRONG>   Since the underlying <STRONG>scanf(3)</STRONG>  returns  the  number  of  successful
+           conversions,  and  SVr4  <EM>curses</EM> was documented to use this feature,
+           this may have been an  editorial  solecism  introduced  by  X/Open,
+           rather than an intentional change.
+
+       <STRONG>o</STRONG>   This  implementation retains compatibility with SVr4 <EM>curses</EM>.  As of
+           2018,  NetBSD  <EM>curses</EM>  also  returns  the  number   of   successful
+           conversions.   Both  <EM>ncurses</EM>  and  NetBSD <EM>curses</EM> call <STRONG>vsscanf(3)</STRONG> to
+           scan the string, which returns <STRONG>EOF</STRONG> on error.
+
+       <STRONG>o</STRONG>   Portable applications should test only if the return value is  <STRONG>ERR</STRONG>,
+           and  not  compare  it  to  <STRONG>OK</STRONG>,  since  that  value  (zero) might be
+           misleading.
+
+           One portable way to get useful results  would  be  to  use  a  "%n"
+           conversion  at the end of the format string, and check the value of
+           the  corresponding  variable  to  determine  how  many  conversions
+           succeeded.
+
+
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+       <STRONG>scanw</STRONG>  was  implemented  in 4BSD (November 1980); that early version of
+       <EM>curses</EM> preceded the ANSI C standard of 1989.  The function  was  unused
+       in  Berkeley  distributions  for  over  ten  years, until 4.4BSD, which
+       employed it in a game.  The 4BSD <STRONG>scanw</STRONG> did not  use  <EM>varargs.h</EM>,  though
+       that  had been available since Seventh Edition Unix (1979).  In 1991 (a
+       couple of years after SVr4 was generally available,  and  after  the  C
+       standard  was  published),  other developers updated the library, using
+       <EM>stdarg.h</EM> internally in 4.4BSD <EM>curses</EM>.  Even with this improvement,  BSD
+       <EM>curses</EM>  did not use function prototypes (nor even declare functions) in
+       <EM>curses.h</EM> until 1992.
+
+       SVr2 (1984) documented <STRONG>scanw</STRONG>  and  <STRONG>wscanw</STRONG>  tersely  as  "scanf  through
+       <STRONG>stdscr</STRONG>" and "scanf through <EM>win</EM>", respectively.
+
+       SVr3 (1987) added <STRONG>mvscanw</STRONG>, and <STRONG>mvwscanw</STRONG>, stating
+
+              "[t]hese routines correspond to <STRONG>scanf(3S)</STRONG>, as do their arguments
+              and return values.  <STRONG>wgetstr</STRONG>() is called on the window,  and  the
+              resulting line is used as input for the scan."
+
+       SVr3  also  implemented  <STRONG>vwscanw</STRONG>,  describing  its third parameter as a
+       <EM>va</EM><STRONG>_</STRONG><EM>list</EM>, defined in <EM>varargs.h</EM>, and referred the reader  to  the  manual
+       pages  for <EM>varargs</EM> and <EM>vprintf</EM> for detailed descriptions.  (Because the
+       SVr3 documentation does not mention <EM>vscanf</EM>, the  reference  to  <EM>vprintf</EM>
+       might not be an error).
+
+       SVr4  (1989)  introduced  no  new variations of <EM>scanw</EM>, but provided for
+       using either <EM>varargs.h</EM> or <EM>stdarg.h</EM> to define the <EM>va</EM><STRONG>_</STRONG><EM>list</EM> type.
+
+       X/Open Curses, Issue 4 (1995), defined  <EM>vw</EM><STRONG>_</STRONG><EM>scanw</EM>  to  replace  <EM>vwscanw</EM>,
+       stating that its <EM>va</EM><STRONG>_</STRONG><EM>list</EM> type is defined in <EM>stdarg.h</EM>.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>, <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>, <STRONG>scanf(3)</STRONG>, <STRONG>vscanf(3)</STRONG>
 
 
 
-                                                         <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                    <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -130,7 +187,9 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
diff --git a/doc/html/man/curs_scr_dump.3x.html b/doc/html/man/curs_scr_dump.3x.html
index 799cba9..f1759cb 100644
--- a/doc/html/man/curs_scr_dump.3x.html
+++ b/doc/html/man/curs_scr_dump.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-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  *
   * copy of this software and associated documentation files (the            *
@@ -26,113 +27,124 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_scr_dump.3x,v 1.9 2010/12/04 18:40:45 tom Exp @
+  * @Id: curs_scr_dump.3x,v 1.43 2024/04/20 18:54:36 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_scr_dump 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_scr_dump 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_scr_dump 3x</H1>
+<H1 class="no-header">curs_scr_dump 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>                                     <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
+<STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>                Library calls               <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>scr_dump</STRONG>, <STRONG>scr_restore</STRONG>, <STRONG>scr_init</STRONG>, <STRONG>scr_set</STRONG> - read (write) a
-       <STRONG>curses</STRONG> screen from (to) a file
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>scr_dump</STRONG>,  <STRONG>scr_restore</STRONG>,  <STRONG>scr_init</STRONG>, <STRONG>scr_set</STRONG> - read/write a <EM>curses</EM> screen
+       from/to a file
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
-       <STRONG>int</STRONG> <STRONG>scr_dump(const</STRONG> <STRONG>char</STRONG> <STRONG>*filename);</STRONG>
-       <STRONG>int</STRONG> <STRONG>scr_restore(const</STRONG> <STRONG>char</STRONG> <STRONG>*filename);</STRONG>
-       <STRONG>int</STRONG> <STRONG>scr_init(const</STRONG> <STRONG>char</STRONG> <STRONG>*filename);</STRONG>
-       <STRONG>int</STRONG> <STRONG>scr_set(const</STRONG> <STRONG>char</STRONG> <STRONG>*filename);</STRONG>
+       <STRONG>int</STRONG> <STRONG>scr_dump(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>filename</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>scr_restore(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>filename</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>scr_init(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>filename</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>scr_set(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>filename</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The <STRONG>scr_dump</STRONG> routine dumps the  current  contents  of  the
-       virtual screen to the file <EM>filename</EM>.
-
-       The  <STRONG>scr_restore</STRONG>  routine  sets  the virtual screen to the
-       contents of <EM>filename</EM>, which must have been  written  using
-       <STRONG>scr_dump</STRONG>.   The  next call to <STRONG>doupdate</STRONG> restores the screen
-       to the way it looked in the dump file.
-
-       The <STRONG>scr_init</STRONG> routine reads in the contents of <EM>filename</EM> and
-       uses  them  to initialize the <STRONG>curses</STRONG> data structures about
-       what the terminal currently has on its screen.  If the da-
-       ta is determined to be valid, <STRONG>curses</STRONG> bases its next update
-       of the screen on this information rather than clearing the
-       screen  and starting from scratch.  <STRONG>scr_init</STRONG> is used after
-       <STRONG>initscr</STRONG> or a <STRONG>system</STRONG> call to share the screen with  another
-       process  which  has done a <STRONG>scr_dump</STRONG> after its <STRONG>endwin</STRONG> call.
-       The data is declared invalid if the terminfo  capabilities
-       <STRONG>rmcup</STRONG> and <STRONG>nrrmc</STRONG> exist; also if the terminal has been writ-
-       ten to since the preceding <STRONG>scr_dump</STRONG> call.
-
-       The <STRONG>scr_set</STRONG> routine is a combination  of  <STRONG>scr_restore</STRONG>  and
-       <STRONG>scr_init</STRONG>.   It  tells  the program that the information in
-       <EM>filename</EM> is what is currently on the screen, and also what
-       the  program  wants on the screen.  This can be thought of
-       as a screen inheritance function.
-
-       To read (write) a window from (to) a file, use the  <STRONG>getwin</STRONG>
-       and <STRONG>putwin</STRONG> routines [see <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>].
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       <EM>curses</EM> provides applications the ability to write the contents  of  the
+       screen  to  a  file and read them back.  To read/write a window (rather
+       than the whole screen) from/to a file, use <STRONG><A HREF="curs_util.3x.html">getwin(3x)</A></STRONG>  and  <STRONG><A HREF="curs_util.3x.html">putwin(3x)</A></STRONG>,
+       respectively.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All  routines  return  the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG>
-       upon success.
-
-       X/Open defines no error conditions.  In  this  implementa-
-       tion,  each  will  return  an  error if the file cannot be
-       opened.
+</PRE><H3><a name="h3-scr_dump">scr_dump</a></H3><PRE>
+       <STRONG>scr_dump</STRONG>  writes  to  <EM>filename</EM>  the contents of the virtual screen; see
+       <STRONG><A HREF="curs_variables.3x.html">curscr(3x)</A></STRONG>.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       Note  that  <STRONG>scr_init</STRONG>,  <STRONG>scr_set</STRONG>,  and  <STRONG>scr_restore</STRONG>  may  be
-       macros.
+</PRE><H3><a name="h3-scr_restore">scr_restore</a></H3><PRE>
+       <STRONG>scr_restore</STRONG> updates the virtual  screen  to  contain  the  contents  of
+       <EM>filename</EM>  (if  it  was  validly  written with <STRONG>scr_dump</STRONG>).  No refresh is
+       performed;  after  performing  any  further   desired   updates,   call
+       <STRONG><A HREF="curs_refresh.3x.html">doupdate(3x)</A></STRONG> or similar.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       The  XSI  Curses  standard, Issue 4, describes these func-
-       tions (adding the const qualifiers).
+</PRE><H3><a name="h3-scr_init">scr_init</a></H3><PRE>
+       <STRONG>scr_init</STRONG>  reads <EM>filename</EM>, using it to initialize <EM>curses</EM> data structures
+       describing the state of the terminal screen.  If these data are  valid,
+       <EM>curses</EM>  bases  its next update of the screen on this information rather
+       than clearing it and starting from scratch.
 
-       The SVr4 docs merely say under <STRONG>scr_init</STRONG> that the dump data
-       is  also  considered invalid "if the time-stamp of the tty
-       is old" but do not define "old".
+       The data fail the validity check
+
+       <STRONG>o</STRONG>   if the terminal employs <EM>terminfo</EM> capabilities <STRONG>exit_ca_mode</STRONG>  (<STRONG>rmcup</STRONG>)
+           or <STRONG>non_rev_rmcup</STRONG> (<STRONG>nrrmc</STRONG>) are defined, or
+
+       <STRONG>o</STRONG>   if  <EM>curses</EM>  knows  that  the terminal has been written to since the
+           preceding <STRONG>scr_dump</STRONG> call.
+
+       <STRONG>scr_init</STRONG> could be used after <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG>  or  <STRONG>system(3)</STRONG>  to  share  the
+       screen with another process that has done a <STRONG>scr_dump</STRONG> after <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG>.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,      <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,       <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>,
-       <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <STRONG>system(3)</STRONG>
+</PRE><H3><a name="h3-scr_set">scr_set</a></H3><PRE>
+       The  <STRONG>scr_set</STRONG>  routine is a combination of <STRONG>scr_restore</STRONG> and <STRONG>scr_init</STRONG>.  It
+       tells the program that the information in <EM>filename</EM> is what is currently
+       on the screen, and also what the program wants on the screen.  This can
+       be thought of as a screen inheritance function.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       These functions return <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure.
+
+       X/Open defines no failure conditions.   In  this  implementation,  each
+       function fails if it cannot open <EM>filename</EM>.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       <STRONG>scr_init</STRONG>, <STRONG>scr_set</STRONG>, and <STRONG>scr_restore</STRONG> may be macros.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       X/Open Curses, Issue 4 describes these functions.
+
+       SVr4 omitted the <EM>const</EM> qualifiers.
+
+       SVr4  documentation  describes <STRONG>scr_init</STRONG> such that the dump data is also
+       considered invalid "if the time-stamp of the tty is old" but  does  not
+       define "old".
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,    <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,    <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>,    <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>,
+       <STRONG>system(3)</STRONG>, <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG>
 
 
 
-                                                      <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                 <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
 <li><a href="#h2-NAME">NAME</a></li>
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
-<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-scr_dump">scr_dump</a></li>
+<li><a href="#h3-scr_restore">scr_restore</a></li>
+<li><a href="#h3-scr_init">scr_init</a></li>
+<li><a href="#h3-scr_set">scr_set</a></li>
+</ul>
+</li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
 <li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
diff --git a/doc/html/man/curs_scroll.3x.html b/doc/html/man/curs_scroll.3x.html
index bef6212..5b827fe 100644
--- a/doc/html/man/curs_scroll.3x.html
+++ b/doc/html/man/curs_scroll.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2006,2010 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,101 +27,95 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_scroll.3x,v 1.15 2010/12/04 18:40:45 tom Exp @
+  * @Id: curs_scroll.3x,v 1.43 2024/04/20 18:54:36 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_scroll 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_scroll 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_scroll 3x</H1>
+<H1 class="no-header">curs_scroll 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>                                         <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
+<STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>                  Library calls                 <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>scroll</STRONG>, <STRONG>scrl</STRONG>, <STRONG>wscrl</STRONG> - scroll a <STRONG>curses</STRONG> window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>scroll</STRONG>, <STRONG>scrl</STRONG>, <STRONG>wscrl</STRONG> - scroll a <EM>curses</EM> window
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
-       <STRONG>int</STRONG> <STRONG>scroll(WINDOW</STRONG> <STRONG>*win);</STRONG>
-       <STRONG>int</STRONG> <STRONG>scrl(int</STRONG> <STRONG>n);</STRONG>
-       <STRONG>int</STRONG> <STRONG>wscrl(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
+       <STRONG>int</STRONG> <STRONG>scroll(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>scrl(int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wscrl(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  <STRONG>scroll</STRONG>  routine scrolls the window up one line.  This
-       involves moving the lines in the  window  data  structure.
-       As  an optimization, if the scrolling region of the window
-       is the entire screen, the physical screen may be  scrolled
-       at the same time.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       <STRONG>scroll</STRONG>  scrolls  the  given window up one line.  That is, every visible
+       line we might number <EM>i</EM> becomes line <EM>i</EM>-1.  The text of the top  line  in
+       the  window  disappears  and  the  bottom  line is populated with blank
+       characters; see <STRONG><A HREF="curs_bkgd.3x.html">bkgd(3x)</A></STRONG> or <STRONG><A HREF="curs_bkgrnd.3x.html">bkgrnd(3x)</A></STRONG>.  As  an  optimization,  if  the
+       scrolling  region  of  the  window  is  the entire screen, the physical
+       screen may be scrolled at the same time; see <STRONG><A HREF="curs_variables.3x.html">curscr(3x)</A></STRONG>.
 
-       For  positive  <EM>n</EM>,  the  <STRONG>scrl</STRONG> and <STRONG>wscrl</STRONG> routines scroll the
-       window up <EM>n</EM> lines (line <EM>i</EM>+<EM>n</EM> becomes <EM>i</EM>);  otherwise  scroll
-       the  window  down <EM>n</EM> lines.  This involves moving the lines
-       in the window character image structure.  The current cur-
-       sor position is not changed.
+       <STRONG>scrl</STRONG> and <STRONG>wscrl</STRONG> scroll  <STRONG>stdscr</STRONG>  or  the  specified  window  up  or  down
+       depending on the sign of <EM>n</EM>.
 
-       For these functions to work, scrolling must be enabled via
-       <STRONG>scrollok</STRONG>.
+       <STRONG>o</STRONG>   For positive <EM>n</EM>, line <EM>i</EM>+<EM>n</EM> becomes <EM>i</EM> (scrolling up);
+
+       <STRONG>o</STRONG>   for negative <EM>n</EM>, line <EM>i</EM>-<EM>n</EM> becomes <EM>i</EM> (scrolling down).
+
+       The  cursor does not move.  These functions perform no operation unless
+       scrolling is enabled for the window via <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG>.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       These routines return <STRONG>ERR</STRONG> upon failure, and <STRONG>OK</STRONG> (SVr4  only
-       specifies "an integer value other than <STRONG>ERR</STRONG>") upon success-
-       ful completion.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       These functions return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> upon success.
 
-       X/Open defines no error conditions.
-
-       This implementation returns an error if the window pointer
-       is  null,  or  if  scrolling is not enabled in the window,
-       e.g., with <STRONG>scrollok</STRONG>.
+       <EM>ncurses</EM> returns <STRONG>ERR</STRONG> if scrolling is not  enabled  in  the  window,  for
+       example with <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG>, or if the <EM>WINDOW</EM> pointer is null.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       Note that <STRONG>scrl</STRONG> and <STRONG>scroll</STRONG> may be macros.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       Unusually,  there  is  no <STRONG>wscroll</STRONG> function; <STRONG>scroll</STRONG> behaves as one would
+       expect <STRONG>wscroll</STRONG> to, accepting a <EM>WINDOW</EM> pointer argument.
 
-       The SVr4 documentation says that the optimization of phys-
-       ically  scrolling  immediately if the scroll region is the
-       entire screen "is"  performed,  not  "may  be"  performed.
-       This  implementation  deliberately does not guarantee that
-       this will occur, to leave open the possibility of  smarter
-       optimization  of  multiple  scroll actions on the next up-
-       date.
-
-       Neither the SVr4 nor the XSI documentation specify whether
-       the current attribute or current color-pair of blanks gen-
-       erated by the scroll function is zeroed.  Under  this  im-
-       plementation it is.
+       <STRONG>scrl</STRONG> and <STRONG>scroll</STRONG> may be implemented as macros.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       The  XSI  Curses  standard,  Issue 4 describes these func-
-       tions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       X/Open Curses, Issue 4 describes these functions.  It defines no  error
+       conditions.
+
+       SVr4  specifies  only "an integer value other than <STRONG>ERR</STRONG>" as a successful
+       return value.
+
+       SVr4  indicates  that  the   optimization   of   physically   scrolling
+       immediately  if  the scroll region is the entire screen "is" performed,
+       not "may be" performed.  <EM>ncurses</EM> deliberately does not  guarantee  that
+       this  will occur, to leave open the possibility of smarter optimization
+       of multiple scroll actions on the next update.
+
+       Neither SVr4 <EM>curses</EM> nor  X/Open  Curses  specify  whether  the  current
+       attribute  or  current  color  pair  of  blanks generated by the scroll
+       function are zeroed.  <EM>ncurses</EM> does so.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
 
 
 
-                                                        <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                   <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
diff --git a/doc/html/man/curs_slk.3x.html b/doc/html/man/curs_slk.3x.html
index cb77f43..52f8c29 100644
--- a/doc/html/man/curs_slk.3x.html
+++ b/doc/html/man/curs_slk.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2016,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,214 +27,312 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_slk.3x,v 1.22 2010/12/04 18:38:55 tom Exp @
+  * @Id: curs_slk.3x,v 1.71 2024/04/20 18:54:36 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_slk 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_slk 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_slk 3x</H1>
+<H1 class="no-header">curs_slk 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>                                               <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+<STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>                     Library calls                    <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>slk_init</STRONG>, <STRONG>slk_set</STRONG>, <STRONG>slk_wset</STRONG>, <STRONG>slk_refresh</STRONG>, <STRONG>slk_noutrefresh</STRONG>,
-       <STRONG>slk_label</STRONG>, <STRONG>slk_clear</STRONG>, <STRONG>slk_restore</STRONG>, <STRONG>slk_touch</STRONG>, <STRONG>slk_attron</STRONG>,
-       <STRONG>slk_attrset</STRONG>, <STRONG>slk_attroff</STRONG>, <STRONG>slk_attr_on</STRONG>, <STRONG>slk_attr_set</STRONG>,
-       <STRONG>slk_attr_off</STRONG>, <STRONG>slk_attr</STRONG>, <STRONG>slk_color</STRONG> - <STRONG>curses</STRONG> soft label
-       routines
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>slk_init</STRONG>,  <STRONG>slk_set</STRONG>,  <STRONG>slk_wset</STRONG>, <STRONG>slk_refresh</STRONG>, <STRONG>slk_noutrefresh</STRONG>, <STRONG>slk_label</STRONG>,
+       <STRONG>slk_clear</STRONG>,    <STRONG>slk_restore</STRONG>,    <STRONG>slk_touch</STRONG>,    <STRONG>slk_attron</STRONG>,    <STRONG>slk_attrset</STRONG>,
+       <STRONG>slk_attroff</STRONG>,   <STRONG>slk_attr_on</STRONG>,   <STRONG>slk_attr_set</STRONG>,   <STRONG>slk_attr_off</STRONG>,   <STRONG>slk_attr</STRONG>,
+       <STRONG>slk_color</STRONG>, <STRONG>extended_slk_color</STRONG> - <EM>curses</EM> soft label key routines
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
-       <STRONG>int</STRONG> <STRONG>slk_init(int</STRONG> <STRONG>fmt);</STRONG>
-       <STRONG>int</STRONG> <STRONG>slk_set(int</STRONG> <STRONG>labnum,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*label,</STRONG> <STRONG>int</STRONG> <STRONG>fmt);</STRONG>
+       <STRONG>int</STRONG> <STRONG>slk_init(int</STRONG> <EM>fmt</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>slk_set(int</STRONG> <EM>labnum</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>label</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>align</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>slk_wset(int</STRONG> <EM>labnum</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>label</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>align</EM><STRONG>);</STRONG>
+
+       <STRONG>char</STRONG> <STRONG>*slk_label(int</STRONG> <EM>labnum</EM><STRONG>);</STRONG>
+
        <STRONG>int</STRONG> <STRONG>slk_refresh(void);</STRONG>
        <STRONG>int</STRONG> <STRONG>slk_noutrefresh(void);</STRONG>
-       <STRONG>char</STRONG> <STRONG>*slk_label(int</STRONG> <STRONG>labnum);</STRONG>
        <STRONG>int</STRONG> <STRONG>slk_clear(void);</STRONG>
        <STRONG>int</STRONG> <STRONG>slk_restore(void);</STRONG>
        <STRONG>int</STRONG> <STRONG>slk_touch(void);</STRONG>
-       <STRONG>int</STRONG> <STRONG>slk_attron(const</STRONG> <STRONG>chtype</STRONG> <STRONG>attrs);</STRONG>
-       <STRONG>int</STRONG> <STRONG>slk_attroff(const</STRONG> <STRONG>chtype</STRONG> <STRONG>attrs);</STRONG>
-       <STRONG>int</STRONG> <STRONG>slk_attrset(const</STRONG> <STRONG>chtype</STRONG> <STRONG>attrs);</STRONG>
-       <STRONG>int</STRONG> <STRONG>slk_attr_on(attr_t</STRONG> <STRONG>attrs,</STRONG> <STRONG>void*</STRONG> <STRONG>opts);</STRONG>
-       <STRONG>int</STRONG> <STRONG>slk_attr_off(const</STRONG> <STRONG>attr_t</STRONG> <STRONG>attrs,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG> <STRONG>opts);</STRONG>
-       <STRONG>int</STRONG>  <STRONG>slk_attr_set(const</STRONG>  <STRONG>attr_t</STRONG>  <STRONG>attrs,</STRONG>  <STRONG>short</STRONG> <STRONG>color_pair,</STRONG>
-       <STRONG>void*</STRONG> <STRONG>opts);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>slk_attron(const</STRONG> <STRONG>chtype</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>slk_attroff(const</STRONG> <STRONG>chtype</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>slk_attrset(const</STRONG> <STRONG>chtype</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>slk_attr_on(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>slk_attr_off(const</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>slk_attr_set(const</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+       <EM>/*</EM> <EM>extension</EM> <EM>*/</EM>
        <STRONG>attr_t</STRONG> <STRONG>slk_attr(void);</STRONG>
-       <STRONG>int</STRONG> <STRONG>slk_color(short</STRONG> <STRONG>color_pair);</STRONG>
-       <STRONG>int</STRONG> <STRONG>slk_wset(int</STRONG> <STRONG>labnum,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*label,</STRONG> <STRONG>int</STRONG> <STRONG>fmt);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>slk_color(short</STRONG> <EM>pair</EM><STRONG>);</STRONG>
+       <EM>/*</EM> <EM>extension</EM> <EM>*/</EM>
+       <STRONG>int</STRONG> <STRONG>extended_slk_color(int</STRONG> <EM>pair</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The slk* functions manipulate the set of soft function-key
-       labels  that exist on many terminals.  For those terminals
-       that do not have soft labels, <STRONG>curses</STRONG> takes over the bottom
-       line  of <STRONG>stdscr</STRONG>, reducing the size of <STRONG>stdscr</STRONG> and the vari-
-       able <STRONG>LINES</STRONG>.  <STRONG>curses</STRONG> standardizes on eight labels of up  to
-       eight  characters  each.  In addition to this, the ncurses
-       implementation supports a mode where it simulates  12  la-
-       bels  of  up  to five characters each.  This is useful for
-       today's PC-like enduser devices.  ncurses  simulates  this
-       mode  by  taking over up to two lines at the bottom of the
-       screen; it does not try to use any  hardware  support  for
-       this mode.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       These functions manipulate the  soft  function  key  labels  that  some
+       hardware  terminals support.  For those terminals that do not have soft
+       labels, <EM>curses</EM> takes over the  bottom  line  of  <STRONG>stdscr</STRONG>,  reducing  its
+       vertical  size  and the value of <STRONG>LINES</STRONG> by one.  By default, <EM>curses</EM> uses
+       eight labels of up to eight characters each.
 
-       The  <STRONG>slk_init</STRONG>  routine  must  be  called before <STRONG>initscr</STRONG> or
-       <STRONG>newterm</STRONG> is called.  If <STRONG>initscr</STRONG> eventually uses a line from
-       <STRONG>stdscr</STRONG> to emulate the soft labels, then <EM>fmt</EM> determines how
-       the labels are arranged on the screen:
-
-              <STRONG>0</STRONG>  indicates a 3-2-3 arrangement of the labels.
-
-              <STRONG>1</STRONG>  indicates a 4-4 arrangement
-
-              <STRONG>2</STRONG>  indicates the PC-like 4-4-4 mode.
-
-              <STRONG>3</STRONG>  is again the PC-like 4-4-4 mode, but in addition
-                 an  index line is generated, helping the user to
-                 identify the key numbers easily.
-
-       The <STRONG>slk_set</STRONG> routine (and  the  <STRONG>slk_wset</STRONG>  routine  for  the
-       wide-character library) has three parameters:
-
-              <EM>labnum</EM>
-                   is  the  label number, from <STRONG>1</STRONG> to <STRONG>8</STRONG> (12 for <EM>fmt</EM>
-                   in <STRONG>slk_init</STRONG> is <STRONG>2</STRONG> or <STRONG>3</STRONG>);
-
-              <EM>label</EM>
-                   is be the string to put on the  label,  up  to
-                   eight  (five  for  <EM>fmt</EM>  in <STRONG>slk_init</STRONG> is <STRONG>2</STRONG> or <STRONG>3</STRONG>)
-                   characters in length.  A null string or a null
-                   pointer sets up a blank label.
-
-              <EM>fmt</EM>  is  either  <STRONG>0</STRONG>, <STRONG>1</STRONG>, or <STRONG>2</STRONG>, indicating whether the
-                   label is to be  left-justified,  centered,  or
-                   right-justified,  respectively, within the la-
-                   bel.
-
-       The <STRONG>slk_refresh</STRONG> and <STRONG>slk_noutrefresh</STRONG> routines correspond to
-       the <STRONG>wrefresh</STRONG> and <STRONG>wnoutrefresh</STRONG> routines.
-
-       The  <STRONG>slk_label</STRONG> routine returns the current label for label
-       number <EM>labnum</EM>, with leading and trailing blanks stripped.
-
-       The <STRONG>slk_clear</STRONG> routine clears  the  soft  labels  from  the
-       screen.
-
-       The  <STRONG>slk_restore</STRONG>  routine  restores the soft labels to the
-       screen after a <STRONG>slk_clear</STRONG> has been performed.
-
-       The <STRONG>slk_touch</STRONG> routine forces all the  soft  labels  to  be
-       output the next time a <STRONG>slk_noutrefresh</STRONG> is performed.
-
-       The <STRONG>slk_attron</STRONG>, <STRONG>slk_attrset</STRONG>, <STRONG>slk_attroff</STRONG> and <STRONG>slk_attr</STRONG> rou-
-       tines correspond to <STRONG>attron</STRONG>, <STRONG>attrset</STRONG>, <STRONG>attroff</STRONG> and <STRONG>attr_get</STRONG>.
-       They  have  an effect only if soft labels are simulated on
-       the bottom line of the screen.  The default highlight  for
-       soft keys is A_STANDOUT (as in System V curses, which does
-       not document this fact).
-
-       The <STRONG>slk_color</STRONG> routine corresponds to <STRONG>color_set</STRONG>.  It has an
-       effect  only  if  soft  labels are simulated on the bottom
-       line of the screen.
+       <EM>ncurses</EM> furthermore supports a mode comprising twelve labels of  up  to
+       five  characters  each,  following a convention associated with the IBM
+       PC/AT keyboard.  <EM>ncurses</EM> simulates this mode by taking over up  to  two
+       lines  at the bottom of the screen; it does not try to use any hardware
+       support for this mode.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       These routines return <STRONG>ERR</STRONG> upon failure and OK (SVr4 speci-
-       fies only "an integer value other than <STRONG>ERR</STRONG>") upon success-
-       ful completion.
+</PRE><H3><a name="h3-Initialization">Initialization</a></H3><PRE>
+       <STRONG>slk_init</STRONG>  must  be  called  before  <STRONG>initscr</STRONG>  or  <STRONG>newterm</STRONG>.   If  <STRONG>initscr</STRONG>
+       eventually uses a line from <STRONG>stdscr</STRONG> to emulate the soft labels, then <EM>fmt</EM>
+       determines how the labels are arranged on the screen.
 
-       X/Open defines no error conditions.  In  this  implementa-
-       tion
+       <STRONG>0</STRONG>  indicates a 3-2-3 arrangement of the labels.
 
-              <STRONG>slk_attr</STRONG>
-                   returns the attribute used for the soft keys.
+       <STRONG>1</STRONG>  indicates a 4-4 arrangement
 
-              <STRONG>slk_attroff</STRONG>, <STRONG>slk_attron</STRONG>, <STRONG>slk_clear</STRONG>,
-              <STRONG>slk_noutrefresh</STRONG>, <STRONG>slk_refresh</STRONG>, <STRONG>slk_touch</STRONG>
-                   return an error if the terminal or  the  soft-
-                   keys were not initialized.
+       <STRONG>2</STRONG>  indicates the PC-like 4-4-4 mode.
 
-              <STRONG>slk_attrset</STRONG>
-                   returns  an error if the terminal or the soft-
-                   keys were not initialized.
-
-              <STRONG>slk_attr_set</STRONG>
-                   returns an error if the terminal or the  soft-
-                   keys  were  not initialized, or the color pair
-                   is outside the range 0..COLOR_PAIRS-1, or opts
-                   is not null.
-
-              <STRONG>slk_color</STRONG>
-                   returns  an error if the terminal or the soft-
-                   keys were not initialized, or the  color  pair
-                   is outside the range 0..COLOR_PAIRS-1.
-
-              <STRONG>slk_init</STRONG>
-                   returns  an  error  if the format parameter is
-                   outside the range 0..3.
-
-              <STRONG>slk_label</STRONG>
-                   returns <STRONG>NULL</STRONG> on error.
-
-              <STRONG>slk_set</STRONG>
-                   returns an error if the terminal or the  soft-
-                   keys  were  not initialized, or the <EM>labnum</EM> pa-
-                   rameter is outside the range of label  counts,
-                   or  if  the  format  parameter  is outside the
-                   range 0..2, or if memory for the labels cannot
-                   be allocated.
+       <STRONG>3</STRONG>  is again the PC-like 4-4-4 mode, but in addition an  index  line  is
+          generated,  helping  the  user  to  associate  each  label  with its
+          numbered function key.  <STRONG>LINES</STRONG> and the vertical size  of  <STRONG>stdscr</STRONG>  are
+          further reduced.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       Most applications would use <STRONG>slk_noutrefresh</STRONG> because a <STRONG>wre-</STRONG>
-       <STRONG>fresh</STRONG> is likely to follow soon.
+</PRE><H3><a name="h3-Labels">Labels</a></H3><PRE>
+       Populate  the  labels  with  normal strings (<STRONG>slk_set</STRONG>) or wide-character
+       strings (<STRONG>slk_wset</STRONG>).  Each function takes three parameters.
+
+       <EM>labnum</EM>  is the label number, from <STRONG>1</STRONG> to <STRONG>8</STRONG> (12 if <EM>fmt</EM> in <STRONG>slk_init</STRONG> is <STRONG>2</STRONG> or
+               <STRONG>3</STRONG>);
+
+       <EM>label</EM>   is  be the string to put on the label, up to eight (five if <EM>fmt</EM>
+               in <STRONG>slk_init</STRONG> is <STRONG>2</STRONG> or <STRONG>3</STRONG>) characters in length.  A empty string or
+               a null pointer sets up a blank label.
+
+       <EM>align</EM>   is  <STRONG>0</STRONG>,  <STRONG>1</STRONG>,  or <STRONG>2</STRONG>, aligning <EM>label</EM> to the left, center, or right,
+               respectively, within the 8 (5) character cells housing it.
+
+       <STRONG>slk_label</STRONG> obtains the string assigned to label number <EM>labnum</EM>, with  any
+       leading and trailing blanks stripped.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       The XSI Curses standard, Issue 4,  describes  these  func-
-       tions.   It changes the argument type of the attribute-ma-
-       nipulation functions <STRONG>slk_attron</STRONG>, <STRONG>slk_attroff</STRONG>,  <STRONG>slk_attrset</STRONG>
-       to be <STRONG>attr_t</STRONG>, and adds <STRONG>const</STRONG> qualifiers.  The format codes
-       <STRONG>2</STRONG> and <STRONG>3</STRONG> for <STRONG>slk_init()</STRONG> and the function <STRONG>slk_attr</STRONG> are  spe-
-       cific to ncurses.
+</PRE><H3><a name="h3-Screen-Updates">Screen Updates</a></H3><PRE>
+       <STRONG>slk_refresh</STRONG>  and  <STRONG>slk_noutrefresh</STRONG>  affect  the  soft key label lines as
+       <STRONG>wrefresh</STRONG> and <STRONG>wnoutrefresh</STRONG> do the <EM>curses</EM> window.
+
+       The <STRONG>slk_clear</STRONG> routine clears the soft labels from the screen.
+
+       The <STRONG>slk_restore</STRONG> routine restores the soft labels to the screen after  a
+       <STRONG>slk_clear</STRONG> has been performed.
+
+       The  <STRONG>slk_touch</STRONG> routine forces all the soft labels to be output the next
+       time a <STRONG>slk_noutrefresh</STRONG> is performed.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,   <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>,   <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,  <STRONG>curs_re-</STRONG>
-       <STRONG><A HREF="curs_refresh.3x.html">fresh(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
+</PRE><H3><a name="h3-Video-Attributes">Video Attributes</a></H3><PRE>
+       The  <STRONG>slk_attron</STRONG>,  <STRONG>slk_attrset</STRONG>,  <STRONG>slk_attroff</STRONG>,  and   <STRONG>slk_attr</STRONG>   routines
+       correspond  to  <STRONG>attron</STRONG>,  <STRONG>attrset</STRONG>,  <STRONG>attroff</STRONG>, and <STRONG>attr_get</STRONG>, respectively.
+       They have an effect only if soft labels are  simulated  on  the  bottom
+       line  of  the  screen.   The  default  highlight for soft key labels is
+       <STRONG>A_STANDOUT</STRONG> (as in System V <EM>curses</EM>, which does not document this fact).
+
+
+</PRE><H3><a name="h3-Colors">Colors</a></H3><PRE>
+       The <STRONG>slk_color</STRONG> routine corresponds to <STRONG>color_set</STRONG>.  It has an effect  only
+       if soft labels are simulated on the bottom line of the screen.
+
+       Because  <STRONG>slk_color</STRONG>  accepts  only <EM>short</EM> (signed 16-bit integer) values,
+       this implementation provides <STRONG>extended_slk_color</STRONG>, which accepts  an  <EM>int</EM>
+       value of at least 32 bits.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       Routines  that  return  an integer return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4
+       specifies only "an integer  value  other  than  <STRONG>ERR</STRONG>")  upon  successful
+       completion.
+
+       X/Open Curses defines no error conditions.
+
+       In this implementation
+
+          <STRONG>slk_attr</STRONG>
+               returns the attribute used for the soft keys.
+
+          <STRONG>slk_attroff</STRONG>,  <STRONG>slk_attron</STRONG>,  <STRONG>slk_clear</STRONG>,  <STRONG>slk_noutrefresh</STRONG>, <STRONG>slk_refresh</STRONG>,
+          <STRONG>slk_touch</STRONG>
+               return an error if  the  terminal  or  the  softkeys  were  not
+               initialized.
+
+          <STRONG>slk_attrset</STRONG>
+               returns  an  error  if  the  terminal  or the softkeys were not
+               initialized.
+
+          <STRONG>slk_attr_set</STRONG>
+               returns an error if the  terminal  or  the  softkeys  were  not
+               initialized,   or   the   color   pair  is  outside  the  range
+               0..<STRONG>COLOR_PAIRS</STRONG>-1.
+
+          <STRONG>slk_color</STRONG>
+               returns an error if the  terminal  or  the  softkeys  were  not
+               initialized,   or   the   color   pair  is  outside  the  range
+               0..<STRONG>COLOR_PAIRS</STRONG>-1.
+
+          <STRONG>slk_init</STRONG>
+               returns an error if the format parameter is outside  the  range
+               0..3.
+
+          <STRONG>slk_label</STRONG>
+               returns <STRONG>NULL</STRONG> on error.
+
+          <STRONG>slk_set</STRONG>
+               returns  an  error  if  the  terminal  or the softkeys were not
+               initialized, or the <EM>labnum</EM> parameter is outside  the  range  of
+               label  counts,  or if the format parameter is outside the range
+               0..2, or if memory for the labels cannot be allocated.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       Most applications would  use  <STRONG>slk_noutrefresh</STRONG>  because  a  <STRONG>wrefresh</STRONG>  is
+       likely to follow soon.
+
+
+</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+       X/Open  Curses  documents the <EM>opts</EM> argument as reserved for future use,
+       saying that it must be null.  This implementation uses  that  parameter
+       in ABI 6 for the functions which have a color pair parameter to support
+       extended color pairs.
+
+       For functions which modify the color, e.g., <STRONG>slk_attr_set</STRONG>,  if  <EM>opts</EM>  is
+       set  it  is treated as a pointer to <EM>int</EM>, and used to set the color pair
+       instead of the <EM>short</EM> pair parameter.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       X/Open Curses, Issue 4 describes these functions, with some differences
+       from SVr4 <EM>curses</EM>:
+
+       <STRONG>o</STRONG>   X/Open   added   functions  like  the  SVr4  attribute-manipulation
+           functions <STRONG>slk_attron</STRONG>, <STRONG>slk_attroff</STRONG>, and <STRONG>slk_attrset</STRONG>, but  which  use
+           <EM>attr</EM><STRONG>_</STRONG><EM>t</EM>  parameters (rather than <EM>chtype</EM>), along with a reserved <EM>opts</EM>
+           parameter.
+
+           Two of these new functions (unlike  the  SVr4  functions)  have  no
+           provision for color: <STRONG>slk_attr_on</STRONG> and <STRONG>slk_attr_off</STRONG>.
+
+           The third function (<STRONG>slk_attr_set</STRONG>) has a color pair parameter.
+
+       <STRONG>o</STRONG>   It added <EM>const</EM> qualifiers to parameters (unnecessarily), and
+
+       <STRONG>o</STRONG>   It added <STRONG>slk_color</STRONG>.
+
+       Although  <STRONG>slk_start</STRONG>  is  declared in the <EM>curses</EM> header file, it was not
+       documented by SVr4 other than its presence in a list of libtermlib.so.1
+       symbols.  Reading the source code (i.e., Illumos):
+
+       <STRONG>o</STRONG>   <STRONG>slk_start</STRONG> has two parameters:
+
+           <STRONG>o</STRONG>   <EM>ng</EM> (number of groups) and
+
+           <STRONG>o</STRONG>   <EM>gp</EM> (group pointer).
+
+       <STRONG>o</STRONG>   Soft-key groups are an array of <EM>ng</EM> integers.
+
+       <STRONG>o</STRONG>   In  SVr4, <STRONG>slk_init</STRONG> calls <STRONG>slk_start</STRONG> passing a null for <EM>gp</EM>.  For this
+           case, <STRONG>slk_start</STRONG> uses the number of  groups  <EM>ng</EM>  (3  for  the  3-2-3
+           layout, 2 for the 4-4 layout) which <STRONG>slk_init</STRONG> provided.
+
+           If  <EM>ng</EM>  is  neither  2  or  3,  <STRONG>slk_start</STRONG>  checks  the terminfo <STRONG>fln</STRONG>
+           (label_format) capability, interpreting that as  a  comma-separated
+           list of numbers, e.g., "3,2,3" for the 3-2-3 layout.
+
+           Finally, if there is no <STRONG>fln</STRONG> capability, <STRONG>slk_start</STRONG> returns <STRONG>ERR</STRONG>.
+
+       <STRONG>o</STRONG>   If  <STRONG>slk_start</STRONG>  is given a non-null <EM>gp</EM>, it copies the <EM>ng</EM> elements of
+           the group of soft-keys, up to 16.
+
+           If there are more than 16 elements, <STRONG>slk_start</STRONG> returns an error.
+
+       <STRONG>o</STRONG>   The format codes <STRONG>2</STRONG> and <STRONG>3</STRONG> for <STRONG>slk_init</STRONG>  were  added  by  <EM>ncurses</EM>  in
+           1996.  PDCurses 2.4 added this feature in 2001.
+
+       The function <STRONG>slk_attr</STRONG> was added by <EM>ncurses</EM> in 1996.
+
+       X/Open  Curses  does  not  specify a limit for the number of colors and
+       color pairs which a terminal can support.  However, in its use of <EM>short</EM>
+       for  the  parameters,  it carries over SVr4's implementation detail for
+       the compiled terminfo database, which uses signed 16-bit numbers.  This
+       implementation  provides extended versions of those functions which use
+       <EM>int</EM> parameters, allowing applications to use larger  color-  and  pair-
+       numbers.
+
+
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+       SVr3 introduced these functions:
+         <STRONG>slk_clear</STRONG>
+         <STRONG>slk_init</STRONG>
+         <STRONG>slk_label</STRONG>
+         <STRONG>slk_noutrefresh</STRONG>
+         <STRONG>slk_refresh</STRONG>
+         <STRONG>slk_restore</STRONG>
+         <STRONG>slk_set</STRONG>
+         <STRONG>slk_touch</STRONG>
+
+       SVr4 added these functions:
+         <STRONG>slk_attroff</STRONG>
+         <STRONG>slk_attron</STRONG>
+         <STRONG>slk_attrset</STRONG>
+         <STRONG>slk_start</STRONG>
+
+       X/Open Curses added these:
+         <STRONG>slk_attr_off</STRONG>
+         <STRONG>slk_attr_on</STRONG>
+         <STRONG>slk_attr_set</STRONG>
+         <STRONG>slk_color</STRONG>
+         <STRONG>slk_wset</STRONG>
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,    <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>,    <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,    <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>,
+       <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
 
 
 
-                                                           <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                      <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
 <li><a href="#h2-NAME">NAME</a></li>
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
-<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-Initialization">Initialization</a></li>
+<li><a href="#h3-Labels">Labels</a></li>
+<li><a href="#h3-Screen-Updates">Screen Updates</a></li>
+<li><a href="#h3-Video-Attributes">Video Attributes</a></li>
+<li><a href="#h3-Colors">Colors</a></li>
+</ul>
+</li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
 <li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
diff --git a/doc/html/man/curs_sp_funcs.3x.html b/doc/html/man/curs_sp_funcs.3x.html
index 6fc3240..7695f68 100644
--- a/doc/html/man/curs_sp_funcs.3x.html
+++ b/doc/html/man/curs_sp_funcs.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 2010,2013 Free Software Foundation, Inc.                   *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 2010-2015,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,257 +27,274 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_sp_funcs.3x,v 1.6 2013/06/22 17:53:59 tom Exp @
-  * ***************************************************************************
-  * ***************************************************************************
-  * ***************************************************************************
+  * @Id: curs_sp_funcs.3x,v 1.50 2024/04/20 18:56:31 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_sp_funcs 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_sp_funcs 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_sp_funcs 3x</H1>
+<H1 class="no-header">curs_sp_funcs 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>                                     <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>
+<STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>                Library calls               <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       new_prescr - <STRONG>curses</STRONG> screen-pointer extension
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>curs_sp_funcs</STRONG> - <EM>curses</EM> screen-pointer extension
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
-       <STRONG>int</STRONG> <STRONG>assume_default_colors_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
-       <STRONG>int</STRONG> <STRONG>baudrate_sp(SCREEN*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>beep_sp(SCREEN*);</STRONG>
-       <STRONG>bool</STRONG> <STRONG>can_change_color_sp(SCREEN*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>cbreak_sp(SCREEN*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>color_content_sp(SCREEN*,</STRONG> <STRONG>short,</STRONG> <STRONG>short*,</STRONG> <STRONG>short*,</STRONG> <STRONG>short*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>curs_set_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
-       <STRONG>int</STRONG> <STRONG>define_key_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>int);</STRONG>
-       <STRONG>int</STRONG> <STRONG>def_prog_mode_sp(SCREEN*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>def_shell_mode_sp(SCREEN*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>delay_output_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
-       <STRONG>int</STRONG> <STRONG>doupdate_sp(SCREEN*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>echo_sp(SCREEN*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>endwin_sp(SCREEN*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>erasechar_sp(SCREEN*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>filter_sp(SCREEN*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>flash_sp(SCREEN*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>flushinp_sp(SCREEN*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>get_escdelay_sp(SCREEN*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>getmouse_sp(SCREEN*,</STRONG> <STRONG>MEVENT*);</STRONG>
-       <STRONG>WINDOW*</STRONG> <STRONG>getwin_sp(SCREEN*,</STRONG> <STRONG>FILE*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>halfdelay_sp(SCREEN*);</STRONG>
-       <STRONG>bool</STRONG> <STRONG>has_colors_sp(SCREEN*);</STRONG>
-       <STRONG>bool</STRONG> <STRONG>has_ic_sp(SCREEN*);</STRONG>
-       <STRONG>bool</STRONG> <STRONG>has_il_sp(SCREEN*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>has_key_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
-       <STRONG>bool</STRONG> <STRONG>has_mouse_sp(SCREEN*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>init_color_sp(SCREEN*,</STRONG> <STRONG>short,</STRONG> <STRONG>short,</STRONG> <STRONG>short,</STRONG> <STRONG>short);</STRONG>
-       <STRONG>int</STRONG> <STRONG>init_pair_sp(SCREEN*,</STRONG> <STRONG>short,</STRONG> <STRONG>short,</STRONG> <STRONG>short);</STRONG>
-       <STRONG>int</STRONG> <STRONG>intrflush_sp(SCREEN*,</STRONG> <STRONG>WINDOW*,</STRONG> <STRONG>bool);</STRONG>
-       <STRONG>bool</STRONG> <STRONG>isendwin_sp(SCREEN*);</STRONG>
-       <STRONG>bool</STRONG> <STRONG>is_term_resized_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
-       <STRONG>char*</STRONG> <STRONG>keybound_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
-       <STRONG>int</STRONG> <STRONG>key_defined_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
-       <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>keyname_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
-       <STRONG>int</STRONG> <STRONG>keyok_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>bool);</STRONG>
-       <STRONG>char</STRONG> <STRONG>killchar_sp(SCREEN*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mcprint_sp(SCREEN*,</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>int);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mouseinterval_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
-       <STRONG>mmask_t</STRONG> <STRONG>mousemask_sp(SCREEN*,</STRONG> <STRONG>mmask_t,</STRONG> <STRONG>mmask_t</STRONG> <STRONG>*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvcur_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
-       <STRONG>int</STRONG> <STRONG>napms_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
-       <STRONG>WINDOW*</STRONG> <STRONG>newpad_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
+       <STRONG>int</STRONG> <STRONG>alloc_pair_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>bg</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>assume_default_colors_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>bg</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>baudrate_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>beep_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>can_change_color_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>cbreak_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>color_content_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>short*</STRONG> <EM>r</EM><STRONG>,</STRONG> <STRONG>short*</STRONG> <EM>g</EM><STRONG>,</STRONG> <STRONG>short*</STRONG> <EM>b</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>curs_set_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>visibility</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>def_prog_mode_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>def_shell_mode_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>define_key_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <EM>definition</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>keycode</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>delay_output_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ms</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>doupdate_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>echo_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>endwin_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>char</STRONG> <STRONG>erasechar_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>erasewchar_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wc</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>extended_color_content_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG> <EM>r</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG> <EM>g</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG> <EM>b</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>extended_pair_content_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG> <EM>bg</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>extended_slk_color_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pair</EM><STRONG>);</STRONG>
+
+       <STRONG>void</STRONG> <STRONG>filter_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>find_pair_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>bg</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>flash_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>flushinp_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>free_pair_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pair</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>get_escdelay_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>getmouse_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>MEVENT*</STRONG> <EM>event</EM><STRONG>);</STRONG>
+       <STRONG>WINDOW*</STRONG> <STRONG>getwin_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>FILE*</STRONG> <EM>filep</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>halfdelay_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>tenths</EM><STRONG>);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>has_colors_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+
+       <STRONG>bool</STRONG> <STRONG>has_ic_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>has_il_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>has_key_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>has_mouse_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>init_color_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>r</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>g</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>b</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>init_extended_color_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>r</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>g</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>b</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>init_extended_pair_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>bg</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>init_pair_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>bg</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>intrflush_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>WINDOW*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>is_cbreak_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>is_echo_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>is_nl_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>is_raw_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>is_term_resized_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>lines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>columns</EM><STRONG>);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>isendwin_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>key_defined_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>definition</EM><STRONG>);</STRONG>
+       <STRONG>char*</STRONG> <STRONG>keybound_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>keycode</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>count</EM><STRONG>);</STRONG>
+       <STRONG>NCURSES_CONST</STRONG> <STRONG>char*</STRONG> <STRONG>keyname_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>keyok_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>keycode</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>enable</EM><STRONG>);</STRONG>
+       <STRONG>char</STRONG> <STRONG>killchar_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>killwchar_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wc</EM><STRONG>);</STRONG>
+       <STRONG>char*</STRONG> <STRONG>longname_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mcprint_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>data</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>len</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mouseinterval_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>erval</EM><STRONG>);</STRONG>
+       <STRONG>mmask_t</STRONG> <STRONG>mousemask_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>mmask_t</STRONG> <EM>newmask</EM><STRONG>,</STRONG> <STRONG>mmask_t</STRONG> <STRONG>*</STRONG><EM>oldmask</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvcur_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>oldrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>oldcol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>newrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>newcol</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>napms_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ms</EM><STRONG>);</STRONG>
+       <STRONG>WINDOW*</STRONG> <STRONG>newpad_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>nrows</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ncols</EM><STRONG>);</STRONG>
        <STRONG>SCREEN*</STRONG> <STRONG>new_prescr(void);</STRONG>
-       <STRONG>SCREEN*</STRONG> <STRONG>newterm_sp(SCREEN*,</STRONG> <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>FILE</STRONG> <STRONG>*,</STRONG> <STRONG>FILE</STRONG> <STRONG>*);</STRONG>
-       <STRONG>WINDOW*</STRONG> <STRONG>newwin_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
-       <STRONG>int</STRONG> <STRONG>nl_sp(SCREEN*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>nocbreak_sp(SCREEN*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>noecho_sp(SCREEN*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>nofilter_sp(SCREEN*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>nonl_sp(SCREEN*);</STRONG>
-       <STRONG>void</STRONG> <STRONG>noqiflush_sp(SCREEN*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>noraw_sp(SCREEN*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>pair_content_sp(SCREEN*,</STRONG> <STRONG>short,</STRONG> <STRONG>short*,</STRONG> <STRONG>short*);</STRONG>
-       <STRONG>void</STRONG> <STRONG>qiflush_sp(SCREEN*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>raw_sp(SCREEN*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>reset_prog_mode_sp(SCREEN*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>reset_shell_mode_sp(SCREEN*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>resetty_sp(SCREEN*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>resize_term_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
-       <STRONG>int</STRONG> <STRONG>resizeterm_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
-       <STRONG>int</STRONG> <STRONG>restartterm_sp(SCREEN*,</STRONG> <STRONG>NCURSES_CONST</STRONG> <STRONG>char*,</STRONG> <STRONG>int,</STRONG> <STRONG>int</STRONG> <STRONG>*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>ripoffline_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int</STRONG> <STRONG>(*)(WINDOW*,</STRONG> <STRONG>int));</STRONG>
-       <STRONG>int</STRONG> <STRONG>savetty_sp(SCREEN*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>scr_init_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>scr_restore_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>scr_set_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
-       <STRONG>TERMINAL*</STRONG> <STRONG>set_curterm_sp(SCREEN*,</STRONG> <STRONG>TERMINAL*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>set_escdelay_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
-       <STRONG>int</STRONG> <STRONG>set_tabsize_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
-       <STRONG>int</STRONG> <STRONG>slk_attroff_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>chtype);</STRONG>
-       <STRONG>int</STRONG> <STRONG>slk_attron_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>chtype);</STRONG>
-       <STRONG>int</STRONG> <STRONG>slk_attr_set_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>attr_t,</STRONG> <STRONG>short,</STRONG> <STRONG>void*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>slk_attrset_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>chtype);</STRONG>
-       <STRONG>int</STRONG> <STRONG>slk_attr_sp(SCREEN*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>slk_clear_sp(SCREEN*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>slk_color_sp(SCREEN*,</STRONG> <STRONG>short);</STRONG>
-       <STRONG>int</STRONG> <STRONG>slk_init_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
-       <STRONG>int</STRONG> <STRONG>slk_label_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
-       <STRONG>int</STRONG> <STRONG>slk_noutrefresh_sp(SCREEN*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>slk_refresh_sp(SCREEN*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>slk_restore_sp(SCREEN*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>slk_set_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>int);</STRONG>
-       <STRONG>int</STRONG> <STRONG>slk_touch_sp(SCREEN*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>start_color_sp(SCREEN*);</STRONG>
-       <STRONG>attr_t</STRONG> <STRONG>term_attrs_sp(SCREEN*);</STRONG>
-       <STRONG>chtype</STRONG> <STRONG>termattrs_sp(SCREEN*);</STRONG>
-       <STRONG>char*</STRONG> <STRONG>termname_sp(SCREEN*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>typeahead_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
-       <STRONG>NCURSES_CONST</STRONG> <STRONG>char*</STRONG> <STRONG>unctrl_sp(SCREEN*,</STRONG> <STRONG>chtype);</STRONG>
-       <STRONG>int</STRONG> <STRONG>ungetch_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
-       <STRONG>int</STRONG> <STRONG>ungetmouse_sp(SCREEN*,MEVENT</STRONG> <STRONG>*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>unget_wch_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t);</STRONG>
-       <STRONG>int</STRONG> <STRONG>use_default_colors_sp(SCREEN*);</STRONG>
-       <STRONG>void</STRONG> <STRONG>use_env_sp(SCREEN*,</STRONG> <STRONG>bool);</STRONG>
-       <STRONG>int</STRONG> <STRONG>use_legacy_coding_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
-       <STRONG>int</STRONG> <STRONG>vid_attr_sp(SCREEN*,</STRONG> <STRONG>attr_t,</STRONG> <STRONG>short,</STRONG> <STRONG>void</STRONG> <STRONG>*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>vidattr_sp(SCREEN*,</STRONG> <STRONG>chtype);</STRONG>
-       <STRONG>int</STRONG> <STRONG>vid_puts_sp(SCREEN*,</STRONG> <STRONG>attr_t,</STRONG> <STRONG>short,</STRONG> <STRONG>void</STRONG> <STRONG>*,</STRONG> <STRONG>NCURSES_SP_OUTC);</STRONG>
-       <STRONG>int</STRONG> <STRONG>vidputs_sp(SCREEN*,</STRONG> <STRONG>chtype,</STRONG> <STRONG>NCURSES_SP_OUTC);</STRONG>
-       <STRONG>wchar_t*</STRONG> <STRONG>wunctrl_sp(SCREEN*,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*);</STRONG>
+       <STRONG>SCREEN*</STRONG> <STRONG>newterm_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>type</EM><STRONG>,</STRONG> <STRONG>FILE</STRONG> <STRONG>*</STRONG><EM>outfd</EM><STRONG>,</STRONG> <STRONG>FILE</STRONG> <STRONG>*</STRONG><EM>infd</EM><STRONG>);</STRONG>
+
+       <STRONG>WINDOW*</STRONG> <STRONG>newwin_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>nlines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ncols</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>x</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>nl_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>nocbreak_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>noecho_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>void</STRONG> <STRONG>nofilter_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>nonl_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>void</STRONG> <STRONG>noqiflush_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>noraw_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>pair_content_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>short*</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>short*</STRONG> <EM>bg</EM><STRONG>);</STRONG>
+       <STRONG>void</STRONG> <STRONG>qiflush_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>raw_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>void</STRONG> <STRONG>reset_color_pairs_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>reset_prog_mode_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>reset_shell_mode_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>resetty_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>resize_term_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>lines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>columns</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>resizeterm_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>lines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>columns</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>ripoffline_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>line</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>(*</STRONG><EM>init</EM><STRONG>)(WINDOW*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fmt</EM><STRONG>));</STRONG>
+       <STRONG>int</STRONG> <STRONG>savetty_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>scr_init_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>filename</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>scr_restore_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>filename</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>scr_set_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>filename</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>set_escdelay_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ms</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>set_tabsize_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>cols</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>slk_attrset_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <EM>a</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>slk_attr_set_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>slk_attroff_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <EM>a</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>slk_attron_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <EM>a</EM><STRONG>);</STRONG>
+       <STRONG>attr_t</STRONG> <STRONG>slk_attr_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>slk_clear_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>slk_color_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>slk_init_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fmt</EM><STRONG>);</STRONG>
+       <STRONG>char*</STRONG> <STRONG>slk_label_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>labnum</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>slk_noutrefresh_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>slk_refresh_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>slk_restore_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>slk_set_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>labnum</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <EM>label</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fmt</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>slk_touch_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>start_color_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>attr_t</STRONG> <STRONG>term_attrs_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+
+       <STRONG>chtype</STRONG> <STRONG>termattrs_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>char*</STRONG> <STRONG>termname_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>typeahead_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fd</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>unget_wch_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <EM>wc</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>ungetch_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>ungetmouse_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>MEVENT*</STRONG> <EM>event</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>use_default_colors_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>void</STRONG> <STRONG>use_env_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>use_legacy_coding_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>level</EM><STRONG>);</STRONG>
+       <STRONG>void</STRONG> <STRONG>use_tioctl_sp(SCREEN</STRONG> <STRONG>*</STRONG><EM>sp</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>vid_attr_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG> <EM>opts</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>vid_puts_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG> <EM>opts</EM><STRONG>,</STRONG> <STRONG>NCURSES_SP_OUTC</STRONG> <EM>putc</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>vidattr_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>vidputs_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>NCURSES_SP_OUTC</STRONG> <EM>putc</EM><STRONG>);</STRONG>
+       <STRONG>wchar_t*</STRONG> <STRONG>wunctrl_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
 
        <STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
 
-       <STRONG>int</STRONG> <STRONG>new_form_sp(SCREEN*,</STRONG> <STRONG>FIELD</STRONG> <STRONG>**);</STRONG>
+       <STRONG>FORM*</STRONG> <STRONG>new_form_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>FIELD</STRONG> <STRONG>**</STRONG><EM>fields</EM><STRONG>);</STRONG>
 
        <STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
 
-       <STRONG>int</STRONG> <STRONG>new_menu_sp(SCREEN*,</STRONG> <STRONG>ITEM</STRONG> <STRONG>**);</STRONG>
+       <STRONG>MENU*</STRONG> <STRONG>new_menu_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>ITEM</STRONG> <STRONG>**</STRONG><EM>items</EM><STRONG>);</STRONG>
 
        <STRONG>#include</STRONG> <STRONG>&lt;panel.h&gt;</STRONG>
 
-       <STRONG>int</STRONG> <STRONG>ceiling_panel(SCREEN*);</STRONG>
-       <STRONG>PANEL*</STRONG> <STRONG>ground_panel(SCREEN*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>update_panels_sp(SCREEN*);</STRONG>
+       <STRONG>PANEL*</STRONG> <STRONG>ceiling_panel(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>PANEL*</STRONG> <STRONG>ground_panel(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>void</STRONG> <STRONG>update_panels_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
 
        <STRONG>#include</STRONG> <STRONG>&lt;term.h&gt;</STRONG>
 
-       <STRONG>int</STRONG> <STRONG>del_curterm_sp(SCREEN*,</STRONG> <STRONG>TERMINAL</STRONG> <STRONG>*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>putp_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>tgetflag_sp(SCREEN*,</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>tgetent_sp(SCREEN*,</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>tgetnum_sp(SCREEN*,</STRONG> <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
-       <STRONG>char*</STRONG> <STRONG>tgetstr_sp(SCREEN*,</STRONG> <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>char</STRONG> <STRONG>**);</STRONG>
-       <STRONG>int</STRONG> <STRONG>tigetflag_sp(SCREEN*,</STRONG> <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>tigetnum_sp(SCREEN*,</STRONG> <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
-       <STRONG>char*</STRONG> <STRONG>tigetstr_sp(SCREEN*,</STRONG> <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
-       <STRONG>int</STRONG> <STRONG>tputs_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>int,</STRONG> <STRONG>NCURSES_SP_OUTC);</STRONG>
+       <STRONG>int</STRONG> <STRONG>del_curterm_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>TERMINAL</STRONG> <STRONG>*</STRONG><EM>oterm</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>putp_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>restartterm_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>NCURSES_CONST</STRONG> <STRONG>char*</STRONG><EM>term</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>filedes</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>errret</EM><STRONG>);</STRONG>
+       <STRONG>TERMINAL*</STRONG> <STRONG>set_curterm_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>TERMINAL*</STRONG><EM>nterm</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>tgetent_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>bp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>name</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>tgetflag_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>tgetnum_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
+       <STRONG>char*</STRONG> <STRONG>tgetstr_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>**</STRONG><EM>area</EM><STRONG>);</STRONG>
+       <STRONG>char*</STRONG> <STRONG>tgoto_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>col</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>row</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>tigetflag_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>tigetnum_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
+       <STRONG>char*</STRONG> <STRONG>tigetstr_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
+       <EM>/*</EM> <EM>tparm</EM><STRONG>_</STRONG><EM>sp</EM> <EM>may</EM> <EM>use</EM> <EM>9</EM> <EM>long</EM> <EM>parameters</EM> <EM>rather</EM> <EM>than</EM> <EM>being</EM> <EM>variadic</EM> <EM>*/</EM>
+       <STRONG>char*</STRONG> <STRONG>tparm_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
+       <STRONG>int</STRONG> <STRONG>tputs_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>affcnt</EM><STRONG>,</STRONG> <STRONG>NCURSES_SP_OUTC</STRONG> <EM>putc</EM><STRONG>);</STRONG>
+
+       <STRONG>#include</STRONG> <STRONG>&lt;unctrl.h&gt;</STRONG>
+
+       <STRONG>NCURSES_CONST</STRONG> <STRONG>char*</STRONG> <STRONG>unctrl_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       This  implementation can be configured to provide a set of
-       functions which improve the  ability  to  manage  multiple
-       screens.  This feature can be added to any of the configu-
-       rations supported by  ncurses;  it  adds  new  entrypoints
-       without changing the meaning of any of the existing ones.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       This  implementation  can  be  configured to provide a set of functions
+       which improve the ability to manage multiple screens.  This feature can
+       be added to any of the configurations supported by <EM>ncurses</EM>; it adds new
+       symbols without changing the meaning of any of the existing ones.
 
 
-</PRE>
-<H3><a name="h3-IMPROVED-FUNCTIONS">IMPROVED FUNCTIONS</a></H3><PRE>
-       Most  of  the functions are new versions of existing func-
-       tions.  A parameter is added at the front of the parameter
-       list.  It is a SCREEN pointer.
+</PRE><H3><a name="h3-Improved-Functions">Improved Functions</a></H3><PRE>
+       Most of the functions  are  new  versions  of  existing  functions.   A
+       parameter  is added at the front of the parameter list.  It is a <EM>SCREEN</EM>
+       pointer.
 
-       The  existing  functions all use the current screen, which
-       is a static variable.   The  extended  functions  use  the
-       specified screen, thereby reducing the number of variables
-       which must be modified to update multiple screens.
+       The existing functions all use the current screen, which  is  a  static
+       variable.   The  extended  functions  use the specified screen, thereby
+       reducing the number of variables  which  must  be  modified  to  update
+       multiple screens.
 
 
-</PRE>
-<H3><a name="h3-NEW-FUNCTIONS">NEW FUNCTIONS</a></H3><PRE>
+</PRE><H3><a name="h3-New-Functions">New Functions</a></H3><PRE>
        Here are the new functions:
 
        ceiling_panel
-            this returns a pointer to the topmost  panel  in  the
-            given screen.
+            this returns a pointer to the topmost panel in the given screen.
 
        ground_panel
-            this  returns  a  pointer  to the lowest panel in the
-            given screen.
+            this returns a pointer to the lowest panel in the given screen.
 
        new_prescr
-            when creating a new screen, the library  uses  static
-            variables   which   have   been   preset,   e.g.,  by
-            <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, etc.  With the screen-point-
-            er extension, there are situations where it must cre-
-            ate a current screen before  the  unextended  library
-            does.   The <STRONG>new_prescr</STRONG> function is used internally to
-            handle these cases.  It is also provided as an entry-
-            point  to allow applications to customize the library
+            when  creating  a  new  screen,  the library uses static variables
+            which have been preset, e.g.,  by  <STRONG><A HREF="curs_util.3x.html">use_env(3x)</A></STRONG>,  <STRONG><A HREF="curs_util.3x.html">filter(3x)</A></STRONG>,  etc.
+            With  the  screen-pointer extension, there are situations where it
+            must create a current screen before the unextended  library  does.
+            The  <STRONG>new_prescr</STRONG> function is used internally to handle these cases.
+            It is also provided to allow  applications  to  customize  library
             initialization.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
        This extension introduces some new names:
 
        NCURSES_SP_FUNCS
-            This is set to the library  patch-level  number.   In
-            the  unextended library, this is zero (0), to make it
-            useful for checking if the extension is provided.
+            This  is set to the library patch-level number.  In the unextended
+            library, this is zero (0), to make it useful for checking  if  the
+            extension is provided.
 
        NCURSES_SP_NAME
-            The new functions are named using  the  macro  <EM>NCURS-</EM>
-            <EM>ES</EM><STRONG>_</STRONG><EM>SP</EM><STRONG>_</STRONG><EM>NAME</EM>,  which  hides  the actual implementation.
-            Currently this adds a "_sp" suffix to the name of the
-            unextended  function.   This  manual page indexes the
-            extensions showing the full name.  However the proper
-            usage  of  these functions uses the macro, to provide
-            for the possibility of changing the naming convention
-            for specific library configurations.
+            The new functions are named using the macro <EM>NCURSES</EM><STRONG>_</STRONG><EM>SP</EM><STRONG>_</STRONG><EM>NAME</EM>, which
+            hides the actual implementation.   Currently  this  adds  a  "_sp"
+            suffix  to  the name of the unextended function.  This manual page
+            indexes the extensions showing the full name.  However the  proper
+            usage  of  these  functions  uses  the  macro,  to provide for the
+            possibility of changing the naming convention for specific library
+            configurations.
 
        NCURSES_SP_OUTC
-            This  is  a  new  function-pointer type to use in the
-            screen-pointer functions  where  an  <EM>NCURSES</EM><STRONG>_</STRONG><EM>OUTC</EM>  is
-            used in the unextended library.
+            This  is  a new function-pointer type to use in the screen-pointer
+            functions where an <EM>NCURSES</EM><STRONG>_</STRONG><EM>OUTC</EM> is used in the unextended library.
 
        NCURSES_OUTC
-            This  is  a  function-pointer type used for the cases
-            where a function  passes  characters  to  the  output
-            stream, e.g., <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>.
+            This is a  function-pointer  type  used  for  the  cases  where  a
+            function   passes   characters   to   the   output  stream,  e.g.,
+            <STRONG><A HREF="curs_terminfo.3x.html">vidputs(3x)</A></STRONG>.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  are  specific  to ncurses.  They were not
-       supported on Version 7, BSD or System  V  implementations.
-       It  is  recommended that any code depending on ncurses ex-
-       tensions be conditioned using <EM>NCURSES</EM><STRONG>_</STRONG><EM>SP</EM><STRONG>_</STRONG><EM>FUNCS</EM>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These routines are specific to <EM>ncurses</EM>.  They  were  not  supported  on
+       Version 7, BSD or System V implementations.  It is recommended that any
+       code   depending   on   <EM>ncurses</EM>   extensions   be   conditioned   using
+       <EM>NCURSES</EM><STRONG>_</STRONG><EM>SP</EM><STRONG>_</STRONG><EM>FUNCS</EM>.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>, <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>, <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>
 
 
 
-                                                      <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                 <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -284,8 +302,8 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
 <ul>
-<li><a href="#h3-IMPROVED-FUNCTIONS">IMPROVED FUNCTIONS</a></li>
-<li><a href="#h3-NEW-FUNCTIONS">NEW FUNCTIONS</a></li>
+<li><a href="#h3-Improved-Functions">Improved Functions</a></li>
+<li><a href="#h3-New-Functions">New Functions</a></li>
 </ul>
 </li>
 <li><a href="#h2-NOTES">NOTES</a></li>
diff --git a/doc/html/man/curs_termattrs.3x.html b/doc/html/man/curs_termattrs.3x.html
index 37d2c98..386b4b4 100644
--- a/doc/html/man/curs_termattrs.3x.html
+++ b/doc/html/man/curs_termattrs.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2010,2015 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2010,2015 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,152 +27,129 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_termattrs.3x,v 1.13 2015/07/21 00:03:34 tom Exp @
+  * @Id: curs_termattrs.3x,v 1.41 2024/04/20 21:20:07 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_termattrs 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_termattrs 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_termattrs 3x</H1>
+<H1 class="no-header">curs_termattrs 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>                                   <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+<STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>               Library calls              <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>baudrate</STRONG>, <STRONG>erasechar</STRONG>, <STRONG>erasewchar</STRONG>, <STRONG>has_ic</STRONG>, <STRONG>has_il</STRONG>, <STRONG>killchar</STRONG>,
-       <STRONG>killwchar</STRONG>, <STRONG>longname</STRONG>,  <STRONG>term_attrs</STRONG>,  <STRONG>termattrs</STRONG>,  <STRONG>termname</STRONG>  -
-       <STRONG>curses</STRONG> environment query routines
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>baudrate</STRONG>,  <STRONG>erasechar</STRONG>,  <STRONG>erasewchar</STRONG>, <STRONG>has_ic</STRONG>, <STRONG>has_il</STRONG>, <STRONG>killchar</STRONG>, <STRONG>killwchar</STRONG>,
+       <STRONG>longname</STRONG>, <STRONG>term_attrs</STRONG>, <STRONG>termattrs</STRONG>, <STRONG>termname</STRONG> -  <EM>curses</EM>  environment  query
+       routines
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
        <STRONG>int</STRONG> <STRONG>baudrate(void);</STRONG>
        <STRONG>char</STRONG> <STRONG>erasechar(void);</STRONG>
-       <STRONG>int</STRONG> <STRONG>erasewchar(wchar_t</STRONG> <STRONG>*</STRONG><EM>ch</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>erasewchar(wchar_t</STRONG> <STRONG>*</STRONG><EM>wc</EM><STRONG>);</STRONG>
        <STRONG>bool</STRONG> <STRONG>has_ic(void);</STRONG>
        <STRONG>bool</STRONG> <STRONG>has_il(void);</STRONG>
        <STRONG>char</STRONG> <STRONG>killchar(void);</STRONG>
-       <STRONG>int</STRONG> <STRONG>killwchar(wchar_t</STRONG> <STRONG>*</STRONG><EM>ch</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>killwchar(wchar_t</STRONG> <STRONG>*</STRONG><EM>wc</EM><STRONG>);</STRONG>
        <STRONG>char</STRONG> <STRONG>*longname(void);</STRONG>
        <STRONG>attr_t</STRONG> <STRONG>term_attrs(void);</STRONG>
        <STRONG>chtype</STRONG> <STRONG>termattrs(void);</STRONG>
        <STRONG>char</STRONG> <STRONG>*termname(void);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
 
-</PRE>
-<H3><a name="h3-baudrate">baudrate</a></H3><PRE>
-       The  <STRONG>baudrate</STRONG> routine returns the output speed of the ter-
-       minal.  The number returned is in  bits  per  second,  for
-       example <STRONG>9600</STRONG>, and is an integer.
+</PRE><H3><a name="h3-baudrate">baudrate</a></H3><PRE>
+       The  <STRONG>baudrate</STRONG>  routine  returns  the output speed of the terminal.  The
+       number returned is in bits per second, for  example  <STRONG>9600</STRONG>,  and  is  an
+       integer.
 
 
-</PRE>
-<H3><a name="h3-erasechar_-erasewchar">erasechar, erasewchar</a></H3><PRE>
-       The  <STRONG>erasechar</STRONG>  routine  returns  the user's current erase
-       character.
+</PRE><H3><a name="h3-erasechar_erasewchar">erasechar, erasewchar</a></H3><PRE>
+       The <STRONG>erasechar</STRONG> routine returns the user's current erase character.
 
-       The <STRONG>erasewchar</STRONG> routine stores the current erase  character
-       in  the  location referenced by <EM>ch</EM>.  If no erase character
-       has been defined, the routine fails and the location  ref-
-       erenced by <EM>ch</EM> is not changed.
+       The  <STRONG>erasewchar</STRONG>  routine  stores  the  current  erase  character in the
+       location referenced by <EM>wc</EM>.  If no erase character has been defined, the
+       routine fails and the location referenced by <EM>wc</EM> is not changed.
 
 
-</PRE>
-<H3><a name="h3-has_is_-has_il">has_is, has_il</a></H3><PRE>
-       The <STRONG>has_ic</STRONG> routine is true if the terminal has insert- and
-       delete- character capabilities.
+</PRE><H3><a name="h3-has_ic_has_il">has_ic, has_il</a></H3><PRE>
+       The  <STRONG>has_ic</STRONG>  routine  is  true  if the terminal has insert- and delete-
+       character capabilities.
 
-       The <STRONG>has_il</STRONG> routine is true if the terminal has insert- and
-       delete-line  capabilities,  or  can  simulate  them  using
-       scrolling regions.  This might be used to determine if  it
-       would  be  appropriate to turn on physical scrolling using
-       <STRONG>scrollok</STRONG>.
+       The <STRONG>has_il</STRONG> routine is true if the terminal has insert- and  delete-line
+       capabilities, or can simulate them using scrolling regions.  This might
+       be used to determine if it would be appropriate  to  turn  on  physical
+       scrolling using <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG>.
 
 
-</PRE>
-<H3><a name="h3-killchar_-killwchar">killchar, killwchar</a></H3><PRE>
-       The <STRONG>killchar</STRONG> routine returns the user's current line  kill
-       character.
+</PRE><H3><a name="h3-killchar_killwchar">killchar, killwchar</a></H3><PRE>
+       The <STRONG>killchar</STRONG> routine returns the user's current line kill character.
 
-       The <STRONG>killwchar</STRONG> routine stores the current line-kill charac-
-       ter in the location referenced by  <EM>ch</EM>.   If  no  line-kill
-       character  has  been  defined,  the  routine fails and the
-       location referenced by <EM>ch</EM> is not changed.
+       The  <STRONG>killwchar</STRONG>  routine  stores  the current line-kill character in the
+       location referenced by <EM>wc</EM>.  If no line-kill character has been defined,
+       the routine fails and the location referenced by <EM>wc</EM> is not changed.
 
 
-</PRE>
-<H3><a name="h3-longname">longname</a></H3><PRE>
-       The <STRONG>longname</STRONG> routine returns a pointer to  a  static  area
-       containing  a verbose description of the current terminal.
-       The maximum length of a verbose description is 128 charac-
-       ters.   It  is  defined  only after the call to <STRONG>initscr</STRONG> or
-       <STRONG>newterm</STRONG>.  The area is overwritten by each call to  <STRONG>newterm</STRONG>
-       and  is  not  restored by <STRONG>set_term</STRONG>, so the value should be
-       saved between calls to <STRONG>newterm</STRONG> if <STRONG>longname</STRONG> is going to  be
-       used with multiple terminals.
+</PRE><H3><a name="h3-longname">longname</a></H3><PRE>
+       The  <STRONG>longname</STRONG>  routine  returns a pointer to a static area containing a
+       verbose description of the current terminal.  The maximum length  of  a
+       verbose  description  is  128 characters.  It is defined only after the
+       call to <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>.  The area is overwritten by  each  call  to
+       <STRONG>newterm</STRONG>  and  is not restored by <STRONG>set_term</STRONG>, so the value should be saved
+       between calls to <STRONG>newterm</STRONG> if <STRONG>longname</STRONG> is going to be used with  multiple
+       terminals.
 
 
-</PRE>
-<H3><a name="h3-termattrs_-term_attrs">termattrs, term_attrs</a></H3><PRE>
-       If  a  given  terminal  does not support a video attribute
-       that an application program is trying to use,  <STRONG>curses</STRONG>  may
-       substitute  a  different video attribute for it.  The <STRONG>ter-</STRONG>
-       <STRONG>mattrs</STRONG> and <STRONG>term_attrs</STRONG> functions return a logical <STRONG>OR</STRONG> of all
-       video  attributes  supported  by the terminal using <EM>A</EM><STRONG>_</STRONG> and
-       <EM>WA</EM><STRONG>_</STRONG> constants respectively.  This  information  is  useful
-       when  a  <STRONG>curses</STRONG>  program  needs  complete control over the
-       appearance of the screen.
+</PRE><H3><a name="h3-termattrs_term_attrs">termattrs, term_attrs</a></H3><PRE>
+       If  a  given  terminal  does  not  support  a  video  attribute that an
+       application program is trying to use, <STRONG>curses</STRONG> may substitute a different
+       video  attribute for it.  The <STRONG>termattrs</STRONG> and <STRONG>term_attrs</STRONG> functions return
+       a logical <STRONG>OR</STRONG> of all video attributes supported by the terminal using <STRONG>A_</STRONG>
+       and  <STRONG>WA_</STRONG>  constants  respectively.   This  information is useful when a
+       <STRONG>curses</STRONG> program needs  complete  control  over  the  appearance  of  the
+       screen.
 
 
-</PRE>
-<H3><a name="h3-termname">termname</a></H3><PRE>
-       The <STRONG>termname</STRONG> routine returns the  terminal  name  used  by
-       <STRONG>setupterm</STRONG>.
+</PRE><H3><a name="h3-termname">termname</a></H3><PRE>
+       The <STRONG>termname</STRONG> routine returns the terminal name used by <STRONG>setupterm</STRONG>.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
        <STRONG>longname</STRONG> and <STRONG>termname</STRONG> return <STRONG>NULL</STRONG> on error.
 
-       Routines  that  return  an integer return <STRONG>ERR</STRONG> upon failure
-       and <STRONG>OK</STRONG> (SVr4 only specifies "an integer value  other  than
-       <STRONG>ERR</STRONG>") upon successful completion.
+       Routines  that  return  an integer return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4
+       only specifies "an integer  value  other  than  <STRONG>ERR</STRONG>")  upon  successful
+       completion.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
        Note that <STRONG>termattrs</STRONG> may be a macro.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       The  XSI  Curses  standard,  Issue 4 describes these func-
-       tions.  It changes the return type of <STRONG>termattrs</STRONG> to the new
-       type  <STRONG>attr_t</STRONG>.  Most versions of curses truncate the result
-       returned by <STRONG>termname</STRONG> to 14 characters.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       X/Open  Curses,  Issue  4  describes  these  functions.  It changes the
+       return type of <STRONG>termattrs</STRONG> to the new  type  <STRONG>attr_t</STRONG>.   Most  versions  of
+       curses truncate the result returned by <STRONG>termname</STRONG> to 14 characters.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
 
 
 
-                                                     <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -180,11 +158,11 @@
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
 <ul>
 <li><a href="#h3-baudrate">baudrate</a></li>
-<li><a href="#h3-erasechar_-erasewchar">erasechar, erasewchar</a></li>
-<li><a href="#h3-has_is_-has_il">has_is, has_il</a></li>
-<li><a href="#h3-killchar_-killwchar">killchar, killwchar</a></li>
+<li><a href="#h3-erasechar_erasewchar">erasechar, erasewchar</a></li>
+<li><a href="#h3-has_ic_has_il">has_ic, has_il</a></li>
+<li><a href="#h3-killchar_killwchar">killchar, killwchar</a></li>
 <li><a href="#h3-longname">longname</a></li>
-<li><a href="#h3-termattrs_-term_attrs">termattrs, term_attrs</a></li>
+<li><a href="#h3-termattrs_term_attrs">termattrs, term_attrs</a></li>
 <li><a href="#h3-termname">termname</a></li>
 </ul>
 </li>
diff --git a/doc/html/man/curs_termcap.3x.html b/doc/html/man/curs_termcap.3x.html
index 36c4e7a..c2763af 100644
--- a/doc/html/man/curs_termcap.3x.html
+++ b/doc/html/man/curs_termcap.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2013,2015 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2017,2018 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,228 +27,349 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_termcap.3x,v 1.31 2015/04/26 00:49:10 tom Exp @
+  * @Id: curs_termcap.3x,v 1.85 2024/04/20 19:13:12 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_termcap 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_termcap 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_termcap 3x</H1>
+<H1 class="no-header">curs_termcap 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>                                       <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+<STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>                 Library calls                <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>PC</STRONG>, <STRONG>UP</STRONG>, <STRONG>BC</STRONG>, <STRONG>ospeed</STRONG>, <STRONG>tgetent</STRONG>, <STRONG>tgetflag</STRONG>, <STRONG>tgetnum</STRONG>, <STRONG>tgetstr</STRONG>,
-       <STRONG>tgoto</STRONG>, <STRONG>tputs</STRONG> - direct <STRONG>curses</STRONG> interface to the terminfo
-       capability database
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>PC</STRONG>, <STRONG>UP</STRONG>, <STRONG>BC</STRONG>, <STRONG>ospeed</STRONG>, <STRONG>tgetent</STRONG>, <STRONG>tgetflag</STRONG>, <STRONG>tgetnum</STRONG>, <STRONG>tgetstr</STRONG>, <STRONG>tgoto</STRONG>, <STRONG>tputs</STRONG> -
+       <EM>curses</EM> emulation of <EM>termcap</EM>
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
        <STRONG>#include</STRONG> <STRONG>&lt;term.h&gt;</STRONG>
 
-       <STRONG>extern</STRONG> <STRONG>char</STRONG> <STRONG>PC;</STRONG>
-       <STRONG>extern</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>UP;</STRONG>
-       <STRONG>extern</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>BC;</STRONG>
-       <STRONG>extern</STRONG> <STRONG>short</STRONG> <STRONG>ospeed;</STRONG>
+       <STRONG>char</STRONG> <STRONG>PC;</STRONG>
+       <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>UP;</STRONG>
+       <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>BC;</STRONG>
+       <STRONG>short</STRONG> <STRONG>ospeed;</STRONG>
 
-       <STRONG>int</STRONG> <STRONG>tgetent(char</STRONG> <STRONG>*bp,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*name);</STRONG>
-       <STRONG>int</STRONG> <STRONG>tgetflag(char</STRONG> <STRONG>*id);</STRONG>
-       <STRONG>int</STRONG> <STRONG>tgetnum(char</STRONG> <STRONG>*id);</STRONG>
-       <STRONG>char</STRONG> <STRONG>*tgetstr(char</STRONG> <STRONG>*id,</STRONG> <STRONG>char</STRONG> <STRONG>**area);</STRONG>
-       <STRONG>char</STRONG> <STRONG>*tgoto(const</STRONG> <STRONG>char</STRONG> <STRONG>*cap,</STRONG> <STRONG>int</STRONG> <STRONG>col,</STRONG> <STRONG>int</STRONG> <STRONG>row);</STRONG>
-       <STRONG>int</STRONG> <STRONG>tputs(const</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>affcnt,</STRONG> <STRONG>int</STRONG> <STRONG>(*putc)(int));</STRONG>
+       <STRONG>int</STRONG> <STRONG>tgetent(char</STRONG> <STRONG>*</STRONG><EM>bp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>name</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>tgetflag(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>id</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>tgetnum(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>id</EM><STRONG>);</STRONG>
+       <STRONG>char</STRONG> <STRONG>*tgetstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>id</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>**</STRONG><EM>area</EM><STRONG>);</STRONG>
+       <STRONG>char</STRONG> <STRONG>*tgoto(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>cap</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>col</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>row</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>tputs(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>affcnt</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>(*</STRONG><EM>putc</EM><STRONG>)(int));</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These  routines  are included as a conversion aid for pro-
-       grams that use the <EM>termcap</EM> library.  Their parameters  are
-       the  same and the routines are emulated using the <EM>terminfo</EM>
-       database.  Thus, they can only be used to query the  capa-
-       bilities  of  entries  for which a terminfo entry has been
-       compiled.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       <EM>ncurses</EM>  provides  the  foregoing  variables   and   functions   as   a
+       compatibility layer for programs that use the <EM>termcap</EM> library.  The API
+       is the same, but behavior is  emulated  using  the  <EM>terminfo</EM>  database.
+       Thus,  it  can  be  used  only  to  query  the capabilities of terminal
+       database entries for which a <EM>terminfo</EM> entry has been compiled.
 
 
-</PRE>
-<H3><a name="h3-INITIALIZATION">INITIALIZATION</a></H3><PRE>
-       The <STRONG>tgetent</STRONG> routine loads the entry for <EM>name</EM>.  It returns:
+</PRE><H3><a name="h3-Initialization">Initialization</a></H3><PRE>
+       <STRONG>tgetent</STRONG> loads the terminal database entry for <EM>name</EM>; see <STRONG><A HREF="term.7.html">term(7)</A></STRONG>.   This
+       must be done before calling any of the other functions.  It returns
 
-          1  on success,
+          1    on success,
 
-          0  if there is no such entry (or that it is  a  generic
-             type,  having  too little information for curses ap-
-             plications to run), and
+          0    if there is no such entry (or if the matching entry describes a
+               generic terminal, having  too  little  information  for  <EM>curses</EM>
+               applications to run), and
 
-          -1 if the terminfo database could not be found.
+          -1   if the <EM>terminfo</EM> database could not be found.
 
-       This differs from the <EM>termcap</EM> library in two ways:
+       This implementation differs from those of historical <EM>termcap</EM> libraries.
 
-          <STRONG>o</STRONG>   The emulation ignores the buffer pointer  <EM>bp</EM>.   The
-              <EM>termcap</EM>  library would store a copy of the terminal
-              description in the area referenced by this pointer.
-              However,  ncurses  stores its terminal descriptions
-              in compiled binary form,  which  is  not  the  same
-              thing.
+          <STRONG>o</STRONG>   <EM>ncurses</EM>  ignores  the  buffer  pointer  <EM>bp</EM>,  as do other <EM>termcap</EM>
+              implementations conforming to  portions  of  X/Open  Curses  now
+              withdrawn.   The  BSD  <EM>termcap</EM> library would store a copy of the
+              terminal  type  description  in  the  area  referenced  by  this
+              pointer.  <EM>terminfo</EM> stores terminal type descriptions in compiled
+              form, which is not the same thing.
 
-          <STRONG>o</STRONG>   There is a difference in return codes.  The <EM>termcap</EM>
-              library does not check if the terminal  description
-              is  marked  with  the <EM>generic</EM> capability, or if the
-              terminal description has cursor-addressing.
+          <STRONG>o</STRONG>   The meanings of the  return  values  differ.   The  BSD  <EM>termcap</EM>
+              library  does  not  check  whether the terminal type description
+              includes the <STRONG>generic</STRONG> (<STRONG>gn</STRONG>) capability, nor whether  the  terminal
+              type  description  supports  an  addressable  cursor, a property
+              essential for any <EM>curses</EM> implementation to operate.
 
 
-</PRE>
-<H3><a name="h3-CAPABILITY-VALUES">CAPABILITY VALUES</a></H3><PRE>
-       The <STRONG>tgetflag</STRONG> routine gets the boolean entry for <EM>id</EM>, or ze-
-       ro if it is not available.
+</PRE><H3><a name="h3-Retrieving-Capability-Values">Retrieving Capability Values</a></H3><PRE>
+       <STRONG>tgetflag</STRONG> reports the Boolean entry  for  <EM>id</EM>,  or  zero  if  it  is  not
+       available.
 
-       The  <STRONG>tgetnum</STRONG>  routine gets the numeric entry for <EM>id</EM>, or -1
-       if it is not available.
+       <STRONG>tgetnum</STRONG> obtains the numeric entry for <EM>id</EM>, or -1 if it is not available.
 
-       The <STRONG>tgetstr</STRONG> routine returns the string entry  for  <EM>id</EM>,  or
-       zero  if it is not available.  Use <STRONG>tputs</STRONG> to output the re-
-       turned string.  The <EM>area</EM> parameter is used as follows:
+       <STRONG>tgetstr</STRONG>  returns  the  string  entry  for  <EM>id</EM>,  or  <STRONG>NULL</STRONG>  if  it is not
+       available.   Use  <STRONG>tputs</STRONG>  to  output  the  string  returned.   The  <EM>area</EM>
+       parameter is used as follows.
 
-          <STRONG>o</STRONG>   It is assumed to be the address of a pointer  to  a
-              buffer managed by the calling application.
+          <STRONG>o</STRONG>   It is assumed to be the address of a pointer to a buffer managed
+              by the calling application.
 
-          <STRONG>o</STRONG>   However,  ncurses checks to ensure that <STRONG>area</STRONG> is not
-              NULL, and also that the resulting buffer pointer is
-              not  NULL.  If either check fails, the <EM>area</EM> parame-
-              ter is ignored.
+          <STRONG>o</STRONG>   However, <EM>ncurses</EM> checks to ensure that <EM>area</EM>  is  not  <STRONG>NULL</STRONG>,  and
+              also  that  the resulting buffer pointer is not <STRONG>NULL</STRONG>.  If either
+              check fails, <EM>area</EM> is ignored.
 
-          <STRONG>o</STRONG>   If the checks succeed, ncurses also copies the  re-
-              turn  value  to  the buffer pointed to by <EM>area</EM>, and
-              the <EM>area</EM> value will be updated to  point  past  the
-              null ending this value.
+          <STRONG>o</STRONG>   If the checks succeed, <EM>ncurses</EM> also copies the return  value  to
+              the  buffer  pointed to by <EM>area</EM>, and the library updates <EM>area</EM> to
+              point past the null character terminating this value.
 
-          <STRONG>o</STRONG>   The return value itself is an address in the termi-
-              nal description which is loaded into memory.
-
-       Only the first two characters of the <STRONG>id</STRONG> parameter of <STRONG>tget-</STRONG>
-       <STRONG>flag</STRONG>, <STRONG>tgetnum</STRONG> and <STRONG>tgetstr</STRONG> are compared in lookups.
+          <STRONG>o</STRONG>   The return value itself is  an  address  in  the  terminal  type
+              description loaded into memory.
 
 
-</PRE>
-<H3><a name="h3-FORMATTING-CAPABILITIES">FORMATTING CAPABILITIES</a></H3><PRE>
-       The  <STRONG>tgoto</STRONG>  routine  instantiates  the parameters into the
-       given capability.  The output from this routine is  to  be
-       passed to <STRONG>tputs</STRONG>.
+</PRE><H3><a name="h3-Applying-String-Capabilities">Applying String Capabilities</a></H3><PRE>
+       String capabilities can be parameterized; see subsection "Parameterized
+       Strings" in  <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.  <STRONG>tgoto</STRONG> applies its second and third arguments
+       to  the  parametric  placeholders in the capability stored in the first
+       argument.
 
-       The  <STRONG>tputs</STRONG>  routine  is described on the <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
-       manual page.  It can retrieve capabilities by either term-
-       cap or terminfo name.
+       <STRONG>o</STRONG>   The capability may contain padding specifications;  see  subsection
+           "Delays  and  Padding"  of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.  The output of <STRONG>tgoto</STRONG> should
+           thus be passed to <STRONG>tputs</STRONG> rather than some other output function such
+           as <STRONG>printf(3)</STRONG>.
+
+       <STRONG>o</STRONG>   While  <STRONG>tgoto</STRONG>  is  assumed  to  be used for the two-parameter cursor
+           positioning  capability,  <EM>termcap</EM>  applications  also  use  it  for
+           single-parameter capabilities.
+
+           Doing  so  reveals  a  quirk  in <STRONG>tgoto</STRONG>: most hardware terminals use
+           cursor addressing with <EM>row</EM> first, but the  original  developers  of
+           the  <EM>termcap</EM>  interface  chose  to  put  the <EM>col</EM> (column) parameter
+           first.  The <STRONG>tgoto</STRONG> function swaps the order of its  parameters.   It
+           does  this  even  for  calls requiring only a single parameter.  In
+           that case, the first parameter is merely a placeholder.
+
+       <STRONG>o</STRONG>   Normally the <EM>ncurses</EM>  library  is  compiled  without  full  <EM>termcap</EM>
+           support.  In that case, <STRONG>tgoto</STRONG> uses an internal version of <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG>
+           (a more capable function).
+
+           Because it uses <STRONG>tparm</STRONG> internally, <STRONG>tgoto</STRONG> is able to use  some  <EM>term-</EM>
+           <EM>info</EM>  features, but not all.  In particular, it allows only numeric
+           parameters; <STRONG>tparm</STRONG> supports string parameters.
+
+           However, <STRONG>tparm</STRONG> is not  a  <EM>termcap</EM>  feature,  and  portable  <EM>termcap</EM>
+           applications should not rely upon its availability.
+
+       <STRONG>tputs</STRONG>  is described in <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>.  It can retrieve capabilities
+       by either <EM>termcap</EM> or <EM>terminfo</EM> code.
 
 
-</PRE>
-<H3><a name="h3-GLOBAL-VARIABLES">GLOBAL VARIABLES</a></H3><PRE>
-       The variables <STRONG>PC</STRONG>, <STRONG>UP</STRONG> and <STRONG>BC</STRONG> are set by <STRONG>tgetent</STRONG> to the ter-
-       minfo   entry's   data   for   <STRONG>pad_char</STRONG>,   <STRONG>cursor_up</STRONG>   and
-       <STRONG>backspace_if_not_bs</STRONG>,  respectively.   <STRONG>UP</STRONG>  is  not  used by
-       ncurses.  <STRONG>PC</STRONG> is used in the <STRONG>tdelay_output</STRONG> function.  <STRONG>BC</STRONG> is
-       used  in  the <STRONG>tgoto</STRONG> emulation.  The variable <STRONG>ospeed</STRONG> is set
-       by ncurses in a system-specific coding to reflect the ter-
-       minal speed.
+</PRE><H3><a name="h3-Global-Variables">Global Variables</a></H3><PRE>
+       The variables <STRONG>PC</STRONG>, <STRONG>UP</STRONG> and <STRONG>BC</STRONG> are set by <STRONG>tgetent</STRONG> to the <EM>terminfo</EM>  entry's
+       data for <STRONG>pad_char</STRONG>, <STRONG>cursor_up</STRONG> and <STRONG>backspace_if_not_bs</STRONG>, respectively.  <STRONG>UP</STRONG>
+       is not used by <EM>ncurses</EM>.  <STRONG>PC</STRONG> is used by <STRONG><A HREF="curs_util.3x.html">delay_output(3x)</A></STRONG>.  <STRONG>BC</STRONG> is used by
+       <STRONG>tgoto</STRONG> emulation.  The variable <STRONG>ospeed</STRONG> is set by <EM>ncurses</EM> using a system-
+       specific encoding to indicate the terminal's data rate.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Except where explicitly noted, routines that return an in-
-       teger return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4 only  specifies
-       "an integer value other than <STRONG>ERR</STRONG>") upon successful comple-
-       tion.
+</PRE><H3><a name="h3-Releasing-Memory">Releasing Memory</a></H3><PRE>
+       The <EM>termcap</EM> functions provide  no  means  of  freeing  memory,  because
+       legacy  <EM>termcap</EM>  implementations used only the buffer areas provided by
+       the caller via <STRONG>tgetent</STRONG> and <STRONG>tgetstr</STRONG>.  Those buffers are unused in  <EM>term-</EM>
+       <EM>info</EM>.
 
-       Routines that return pointers return <STRONG>NULL</STRONG> on error.
+       By  contrast,  <EM>terminfo</EM>  allocates  memory.   It  uses <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG> to
+       obtain the data  used  by  <STRONG>tgetent</STRONG>  and  the  functions  that  retrieve
+       capability values.  One could use
+              del_curterm(cur_term);
+       to  free  this  memory,  but  there  is an additional complication with
+       <EM>ncurses</EM>.  It uses a fixed-size pool of storage locations, one per value
+       of the terminal name parameter given to <STRONG>tgetent</STRONG>.  The <STRONG>screen(1)</STRONG> program
+       relies upon this arrangement to improve its performance.
+
+       An application that uses only the <EM>termcap</EM>  functions,  not  the  higher
+       level  <EM>curses</EM>  API,  could  release  the  memory using <STRONG><A HREF="curs_terminfo.3x.html">del_curterm(3x)</A></STRONG>,
+       because the pool is freed using other functions; see <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>.
 
 
-</PRE>
-<H2><a name="h2-BUGS">BUGS</a></H2><PRE>
-       If you call <STRONG>tgetstr</STRONG> to fetch <STRONG>ca</STRONG> or any other parameterized
-       string,  be aware that it will be returned in terminfo no-
-       tation, not the older and not-quite-compatible termcap no-
-       tation.   This  will not cause problems if all you do with
-       it is call <STRONG>tgoto</STRONG> or <STRONG>tparm</STRONG>,  which  both  expand  terminfo-
-       style  strings  as terminfo.  (The <STRONG>tgoto</STRONG> function, if con-
-       figured to support termcap, will check if  the  string  is
-       indeed  terminfo-style  by  looking for "%p" parameters or
-       "$&lt;..&gt;" delays, and invoke a termcap-style parser  if  the
-       string does not appear to be terminfo).
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       The return values of  <STRONG>tgetent</STRONG>,  <STRONG>tgetflag</STRONG>,  <STRONG>tgetname</STRONG>,  and  <STRONG>tgetstr</STRONG>  are
+       documented above.
 
-       Because  terminfo  conventions for representing padding in
-       string capabilities differ  from  termcap's,  <STRONG>tputs("50");</STRONG>
-       will  put  out a literal "50" rather than busy-waiting for
-       50 milliseconds.  Cope with it.
+       <STRONG>tgoto</STRONG> returns <STRONG>NULL</STRONG> on error.  Error conditions include:
 
-       Note that termcap has nothing analogous to terminfo's  <STRONG>sgr</STRONG>
-       string.   One consequence of this is that termcap applica-
-       tions assume me (terminfo <STRONG>sgr0</STRONG>) does not reset the  alter-
-       nate  character  set.  This implementation checks for, and
-       modifies the data shown to the termcap interface to accom-
-       modate termcap's limitation in this respect.
+       <STRONG>o</STRONG>   uninitialized state (<STRONG>tgetent</STRONG> was not called successfully),
+
+       <STRONG>o</STRONG>   <EM>cap</EM> being a null pointer,
+
+       <STRONG>o</STRONG>   <EM>cap</EM> referring to a canceled capability,
+
+       <STRONG>o</STRONG>   <EM>cap</EM>  being  a  capability  with  string-valued  parameters (a <EM>term-</EM>
+           <EM>info</EM>-only feature), and
+
+       <STRONG>o</STRONG>   <EM>cap</EM> being a capability with more than two parameters.
+
+       See <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> regarding <STRONG>tputs</STRONG>.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       The  XSI  Curses  standard,  Issue 4 describes these func-
-       tions.  However, they are marked TO BE WITHDRAWN  and  may
-       be removed in future versions.
-
-       Neither  the  XSI  Curses  standard nor the SVr4 man pages
-       documented the return values of <STRONG>tgetent</STRONG> correctly,  though
-       all  three were in fact returned ever since SVr1.  In par-
-       ticular, an omission in the XSI Curses  documentation  has
-       been  misinterpreted  to  mean  that <STRONG>tgetent</STRONG> returns <STRONG>OK</STRONG> or
-       <STRONG>ERR</STRONG>.  Because the purpose of these functions is to provide
-       compatibility  with  the <EM>termcap</EM> library, that is a defect
-       in XCurses, Issue 4, Version 2 rather than in ncurses.
-
-       External variables are provided  for  support  of  certain
-       termcap  applications.  However, termcap applications' use
-       of those variables is poorly documented, e.g., not distin-
-       guishing  between  input  and output.  In particular, some
-       applications are reported to declare and/or modify <STRONG>ospeed</STRONG>.
-
-       The comment that only the first two characters of  the  <STRONG>id</STRONG>
-       parameter  are  used  escapes many application developers.
-       The original  BSD  4.2  termcap  library  (and  historical
-       relics thereof) did not require a trailing null NUL on the
-       parameter name passed to <STRONG>tgetstr</STRONG>,  <STRONG>tgetnum</STRONG>  and  <STRONG>tgetflag</STRONG>.
-       Some  applications  assume that the termcap interface does
-       not require the trailing NUL for the parameter name.  Tak-
-       ing into account these issues:
-
-       <STRONG>o</STRONG>   As  a special case, <STRONG>tgetflag</STRONG> matched against a single-
-           character identifier provided that was at the  end  of
-           the  terminal  description.   You should not rely upon
-           this behavior in portable programs.  This  implementa-
-           tion  disallows matches against single-character capa-
-           bility names.
-
-       <STRONG>o</STRONG>   This implementation disallows matches by  the  termcap
-           interface  against extended capability names which are
-           longer than two characters.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       <EM>ncurses</EM> compares only the first two characters of the <EM>id</EM>  parameter  of
+       <STRONG>tgetflag</STRONG>, <STRONG>tgetnum</STRONG>, and <STRONG>tgetstr</STRONG> to the capability names in the database.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>, <STRONG>putc(3)</STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These  functions  are  no  longer standardized (and the variables never
+       were); <EM>ncurses</EM> provides them  to  support  legacy  applications.   They
+       should not be used in new programs.
 
-       http://invisible-island.net/ncurses/tctest.html
+
+</PRE><H3><a name="h3-Standards">Standards</a></H3><PRE>
+       <STRONG>o</STRONG>   X/Open   Curses,   Issue  4,  Version  2  (1996),  describes  these
+           functions, marking them as "TO BE WITHDRAWN".
+
+       <STRONG>o</STRONG>   X/Open Curses, Issue 7 (2009) marks the  <EM>termcap</EM>  interface  (along
+           with <STRONG>vwprintw</STRONG> and <STRONG>vwscanw</STRONG>) as withdrawn.
+
+       Neither  X/Open  Curses  nor  the  SVr4 man pages documented the return
+       values of <STRONG>tgetent</STRONG> correctly, though all three shown here were  in  fact
+       returned  ever  since  SVr1.   In particular, an omission in the X/Open
+       Curses specification has  been  misinterpreted  to  mean  that  <STRONG>tgetent</STRONG>
+       returns  <STRONG>OK</STRONG>  or  <STRONG>ERR</STRONG>.   Because  the  purpose  of these functions is to
+       provide compatibility with the <EM>termcap</EM> library, that  is  a  defect  in
+       X/Open Curses, Issue 4, Version 2 rather than in <EM>ncurses</EM>.
+
+   <STRONG>Compatibility</STRONG> <STRONG>with</STRONG> <STRONG>BSD</STRONG> <EM>termcap</EM>
+       Externally  visible  variables  are  provided  for  support  of certain
+       <EM>termcap</EM>  applications.   However,  their  correct   usage   is   poorly
+       documented; for example, it is unclear when reading and writing them is
+       meaningful.  In particular, some applications are reported  to  declare
+       and/or modify <STRONG>ospeed</STRONG>.
+
+       The  constraint  that only the first two characters of the <EM>id</EM> parameter
+       are used escapes many application developers.  The BSD <EM>termcap</EM>  library
+       did  not require a trailing null character on the capability identifier
+       passed to <STRONG>tgetstr</STRONG>,  <STRONG>tgetnum</STRONG>,  and  <STRONG>tgetflag</STRONG>.   Some  applications  thus
+       assume  that  the  <EM>termcap</EM> interface does not require the trailing null
+       character for the capability identifier.
+
+       <STRONG>o</STRONG>   <EM>ncurses</EM> disallows matches by the <EM>termcap</EM> interface against extended
+           capability   names   that  are  longer  than  two  characters;  see
+           <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>.
+
+       The BSD <EM>termcap</EM> function <STRONG>tgetent</STRONG> returns the text of a <EM>termcap</EM> entry in
+       the  buffer  passed  as an argument.  This library, like other <EM>terminfo</EM>
+       implementations, does not store terminal type descriptions as text.  It
+       sets the buffer contents to a null-terminated string.
+
+
+</PRE><H3><a name="h3-Header-File">Header File</a></H3><PRE>
+       This  library  includes a <EM>termcap.h</EM> header for compatibility with other
+       implementations, but the  header  is  rarely  used  because  the  other
+       implementations are not strictly compatible.
+
+
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+       Bill  Joy  originated  a  forerunner  of <EM>termcap</EM> called "ttycap", dated
+       September 1977, and released in 1BSD (March 1978).  It used many of the
+       same  function  names  as the later <EM>termcap</EM>, such as <STRONG>tgetent</STRONG>, <STRONG>tgetflag</STRONG>,
+       <STRONG>tgetnum</STRONG>, and <STRONG>tgetstr</STRONG>.
+
+       A clear descendant, the <EM>termlib</EM> library, followed in 2BSD  (May  1979),
+       adding <STRONG>tgoto</STRONG> and <STRONG>tputs</STRONG>.  The former applied at that time only to cursor
+       positioning  capabilities,  thus  the  overly  specific  name.   Little
+       changed  in 3BSD (late 1979) except the addition of test programs and a
+       <EM>termlib</EM> man page, which documented the API shown in section  "SYNOPSIS"
+       above.
+
+       4BSD  (November 1980) renamed <EM>termlib</EM> to <EM>termcap</EM> and added another test
+       program.  The library remained much the same though 4.3BSD (June 1986).
+       4.4BSD-Lite (June 1994) refactored it, leaving the API unchanged.
+
+       Function  prototypes were a feature of ANSI C (1989).  The library long
+       antedated the standard and thus provided no header file declaring them.
+       Nevertheless,  the  BSD sources included two different <EM>termcap.h</EM> header
+       files over time.
+
+       <STRONG>o</STRONG>   One was used internally by <STRONG>jove(1)</STRONG> from 4.3BSD onward.  It declared
+           global symbols for the <EM>termcap</EM> variables that it used.
+
+       <STRONG>o</STRONG>   The  other appeared in 4.4BSD-Lite Release 2 (June 1995) as part of
+           <EM>libedit</EM> (also known as the <EM>editline</EM> library).  CSRG source  history
+           shows that this was added in mid-1992.  The <EM>libedit</EM> header file was
+           used  internally  as  a  convenience  for  compiling  the  <EM>editline</EM>
+           library.  It declared function prototypes, but no global variables.
+           This header file was added to NetBSD's <EM>termcap</EM> library in mid-1994.
+
+       Meanwhile, GNU <EM>termcap</EM> began development in 1990.   Its  first  release
+       (1.0)  in  1991  included  a  <EM>termcap.h</EM>  header.   Its  second (1.1) in
+       September 1992 modified the  header  to  use  <EM>const</EM>  for  the  function
+       prototypes  in  the  header where one would expect the parameters to be
+       read-only.   BSD  <EM>termcap</EM>  did  not.   The  prototype  for  <STRONG>tputs</STRONG>  also
+       differed,  but  in that instance, it was <EM>libedit</EM> that differed from BSD
+       <EM>termcap</EM>.
+
+       GNU <EM>termcap</EM> 1.3 was bundled with <STRONG>bash(1)</STRONG> in  mid-1993  to  support  the
+       <STRONG>readline(3)</STRONG> library.
+
+       <EM>ncurses</EM>  1.8.1 (November 1993) provided a <EM>termcap.h</EM> file.  It reflected
+       influence  from  GNU  <EM>termcap</EM>  and  <STRONG>emacs(1)</STRONG>  (rather  than   <STRONG>jove(1)</STRONG>),
+       providing the following interface:
+
+       <STRONG>o</STRONG>   global symbols used by <EM>emacs</EM>,
+
+       <STRONG>o</STRONG>   <EM>const</EM>-qualified function prototypes, and
+
+       <STRONG>o</STRONG>   a prototype for <STRONG>tparam</STRONG>, a GNU <EM>termcap</EM> feature.
+
+       Later  (in mid-1996) the <STRONG>tparam</STRONG> function was removed from <EM>ncurses</EM>.  Any
+       two of the four implementations thus differ, and programs  that  intend
+       to work with all <EM>termcap</EM> library interfaces must account for that fact.
+
+
+</PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE>
+       If  you  call  <STRONG>tgetstr</STRONG>  to  fetch  <STRONG>column_address</STRONG>  (<STRONG>ch</STRONG>)  or  any  other
+       parameterized string capability, be aware that it is returned in  <EM>term-</EM>
+       <EM>info</EM> notation, not the older and not-quite-compatible <EM>termcap</EM> notation.
+       This does not cause problems if all you do with it  is  call  <STRONG>tgoto</STRONG>  or
+       <STRONG>tparm</STRONG>,   which   both   parametrically   expand  <EM>terminfo</EM>-style  string
+       capabilities as <EM>terminfo</EM> does.  (If <EM>ncurses</EM> is  configured  to  support
+       <EM>termcap,</EM>  <STRONG>tgoto</STRONG>  checks whether the string is <EM>terminfo</EM>-style by looking
+       for "<STRONG>%p</STRONG>" parameters or "<STRONG>&lt;</STRONG>...<STRONG>&gt;</STRONG>"  delays,  and  invokes  a  <EM>termcap</EM>-style
+       parser if the string appears not to use <EM>terminfo</EM> syntax.)
+
+       Because  <EM>terminfo</EM>'s  syntax  for padding in string capabilities differs
+       from <EM>termcap</EM>'s, users can be surprised.
+
+       <STRONG>o</STRONG>   <STRONG>tputs("50")</STRONG> in a <EM>terminfo</EM> system transmits "50" rather  than  busy-
+           waiting for 50 milliseconds.
+
+       <STRONG>o</STRONG>   However,  if  <EM>ncurses</EM> is configured to support <EM>termcap</EM>, it may also
+           have been configured to support BSD-style padding.
+
+           In that case, <STRONG>tputs</STRONG> inspects strings  passed  to  it,  looking  for
+           digits at the beginning of the string.
+
+           <STRONG>tputs("50")</STRONG>  in  a <EM>termcap</EM> system may busy-wait for 50 milliseconds
+           rather than transmitting "50".
+
+       <EM>termcap</EM>  has  nothing  analogous  to  <EM>terminfo</EM>'s  <STRONG>set_attributes</STRONG>  (<STRONG>sgr</STRONG>)
+       capability.   One  consequence is that <EM>termcap</EM> applications assume that
+       "<STRONG>me</STRONG>" (equivalent to <EM>terminfo</EM>'s <STRONG>exit_attribute_mode</STRONG>  (<STRONG>sgr0</STRONG>)  capability)
+       does  not  reset  the alternate character set.  <EM>ncurses</EM> checks for, and
+       modifies the data shared with, the <EM>termcap</EM> interface to accommodate the
+       latter's limitation in this respect.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG>putc(3)</STRONG>, <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+
+       https://invisible-island.net/ncurses/tctest.html
 
 
 
-                                                       <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                  <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -255,15 +377,23 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
 <ul>
-<li><a href="#h3-INITIALIZATION">INITIALIZATION</a></li>
-<li><a href="#h3-CAPABILITY-VALUES">CAPABILITY VALUES</a></li>
-<li><a href="#h3-FORMATTING-CAPABILITIES">FORMATTING CAPABILITIES</a></li>
-<li><a href="#h3-GLOBAL-VARIABLES">GLOBAL VARIABLES</a></li>
+<li><a href="#h3-Initialization">Initialization</a></li>
+<li><a href="#h3-Retrieving-Capability-Values">Retrieving Capability Values</a></li>
+<li><a href="#h3-Applying-String-Capabilities">Applying String Capabilities</a></li>
+<li><a href="#h3-Global-Variables">Global Variables</a></li>
+<li><a href="#h3-Releasing-Memory">Releasing Memory</a></li>
 </ul>
 </li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a>
+<ul>
+<li><a href="#h3-Standards">Standards</a></li>
+<li><a href="#h3-Header-File">Header File</a></li>
+</ul>
+</li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
 <li><a href="#h2-BUGS">BUGS</a></li>
-<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
diff --git a/doc/html/man/curs_terminfo.3x.html b/doc/html/man/curs_terminfo.3x.html
index 784b59d..2bba9d9 100644
--- a/doc/html/man/curs_terminfo.3x.html
+++ b/doc/html/man/curs_terminfo.3x.html
@@ -1,6 +1,8 @@
-<!-- 
+<!--
+  * t
   ****************************************************************************
-  * Copyright (c) 1999-2011,2013 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2016,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,414 +28,667 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_terminfo.3x,v 1.43 2013/07/20 19:29:59 tom Exp @
-  * ***************************************************************************
-  * ***************************************************************************
-  * ***************************************************************************
-  * ***************************************************************************
-  * ***************************************************************************
+  * @Id: curs_terminfo.3x,v 1.136 2024/04/14 00:14:40 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_terminfo 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_terminfo 3x 2024-04-13 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_terminfo 3x</H1>
+<H1 class="no-header">curs_terminfo 3x 2024-04-13 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>                                     <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+<STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>                Library calls               <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>del_curterm</STRONG>, <STRONG>mvcur</STRONG>, <STRONG>putp</STRONG>, <STRONG>restartterm</STRONG>, <STRONG>set_curterm</STRONG>,
-       <STRONG>setterm</STRONG>, <STRONG>setupterm</STRONG>, <STRONG>tigetflag</STRONG>, <STRONG>tigetnum</STRONG>, <STRONG>tigetstr</STRONG>, <STRONG>tiparm</STRONG>,
-       <STRONG>tparm</STRONG>, <STRONG>tputs</STRONG>, <STRONG>vid_attr</STRONG>, <STRONG>vid_puts</STRONG>, <STRONG>vidattr</STRONG>, <STRONG>vidputs</STRONG> -
-       <STRONG>curses</STRONG> interfaces to terminfo database
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>del_curterm</STRONG>,   <STRONG>mvcur</STRONG>,   <STRONG>putp</STRONG>,   <STRONG>restartterm</STRONG>,   <STRONG>set_curterm</STRONG>,  <STRONG>setupterm</STRONG>,
+       <STRONG>tigetflag</STRONG>,  <STRONG>tigetnum</STRONG>,  <STRONG>tigetstr</STRONG>,  <STRONG>tiparm</STRONG>,  <STRONG>tiparm_s</STRONG>,  <STRONG>tiscan_s</STRONG>,  <STRONG>tparm</STRONG>,
+       <STRONG>tputs</STRONG>,  <STRONG>vid_attr</STRONG>,  <STRONG>vid_puts</STRONG>,  <STRONG>vidattr</STRONG>,  <STRONG>vidputs</STRONG>  - <EM>curses</EM> interfaces to
+       <EM>terminfo</EM> database
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
        <STRONG>#include</STRONG> <STRONG>&lt;term.h&gt;</STRONG>
 
-       <STRONG>int</STRONG> <STRONG>setupterm(char</STRONG> <STRONG>*</STRONG><EM>term</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fildes</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>errret</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>setterm(char</STRONG> <STRONG>*</STRONG><EM>term</EM><STRONG>);</STRONG>
+       <STRONG>TERMINAL</STRONG> <STRONG>*cur_term;</STRONG>
+
+       <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>boolnames[];</STRONG>
+       <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>boolcodes[];</STRONG>
+       <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>boolfnames[];</STRONG>
+       <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>numnames[];</STRONG>
+       <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>numcodes[];</STRONG>
+       <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>numfnames[];</STRONG>
+       <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>strnames[];</STRONG>
+       <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>strcodes[];</STRONG>
+       <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>strfnames[];</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>setupterm(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>term</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>filedes</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>errret</EM><STRONG>);</STRONG>
        <STRONG>TERMINAL</STRONG> <STRONG>*set_curterm(TERMINAL</STRONG> <STRONG>*</STRONG><EM>nterm</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>del_curterm(TERMINAL</STRONG> <STRONG>*</STRONG><EM>oterm</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>restartterm(char</STRONG> <STRONG>*</STRONG><EM>term</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fildes</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>errret</EM><STRONG>);</STRONG>
-       <STRONG>char</STRONG> <STRONG>*tparm(char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
+       <STRONG>int</STRONG> <STRONG>restartterm(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>term</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>filedes</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>errret</EM><STRONG>);</STRONG>
+
+       <STRONG>char</STRONG> <STRONG>*tparm(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> ...<STRONG>);</STRONG>
+            <EM>/*</EM> <EM>or</EM> <EM>*/</EM>
+       <STRONG>char</STRONG> <STRONG>*tparm(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>long</STRONG> <EM>p1</EM> ... <STRONG>long</STRONG> <EM>p9</EM><STRONG>);</STRONG>
+
        <STRONG>int</STRONG> <STRONG>tputs(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>affcnt</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>(*</STRONG><EM>putc</EM><STRONG>)(int));</STRONG>
        <STRONG>int</STRONG> <STRONG>putp(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
+
        <STRONG>int</STRONG> <STRONG>vidputs(chtype</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>(*</STRONG><EM>putc</EM><STRONG>)(int));</STRONG>
        <STRONG>int</STRONG> <STRONG>vidattr(chtype</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>vid_puts(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>(*</STRONG><EM>putc</EM><STRONG>)(int));</STRONG>
        <STRONG>int</STRONG> <STRONG>vid_attr(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>mvcur(int</STRONG> <EM>oldrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>oldcol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>newrow</EM>, int <EM>newcol</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>tigetflag(char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>tigetnum(char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
-       <STRONG>char</STRONG> <STRONG>*tigetstr(char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
-       <STRONG>char</STRONG> <STRONG>*tiparm(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>mvcur(int</STRONG> <EM>oldrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>oldcol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>newrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>newcol</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>tigetflag(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>cap-code</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>tigetnum(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>cap-code</EM><STRONG>);</STRONG>
+       <STRONG>char</STRONG> <STRONG>*tigetstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>cap-code</EM><STRONG>);</STRONG>
+
+       <STRONG>char</STRONG> <STRONG>*tiparm(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> ...<STRONG>);</STRONG>
+
+       <EM>/*</EM> <EM>extensions</EM> <EM>*/</EM>
+       <STRONG>char</STRONG> <STRONG>*tiparm_s(int</STRONG> <EM>expected</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>mask</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
+       <STRONG>int</STRONG> <STRONG>tiscan_s(int</STRONG> <STRONG>*</STRONG><EM>expected</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>mask</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
+
+       <EM>/*</EM> <EM>deprecated</EM> <EM>*/</EM>
+       <STRONG>int</STRONG> <STRONG>setterm(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>term</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These low-level routines must be called by  programs  that
-       have to deal directly with the <STRONG>terminfo</STRONG> database to handle
-       certain terminal capabilities, such as  programming  func-
-       tion  keys.   For all other functionality, <STRONG>curses</STRONG> routines
-       are more suitable and their use is recommended.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       These low-level functions must be called by programs that deal directly
+       with  the  <EM>terminfo</EM>  database  to handle certain terminal capabilities,
+       such as programming function keys.  For all other functionality, <EM>curses</EM>
+       functions are more suitable and their use is recommended.
+
+       None  of  these  functions  use  (or  are aware of) multibyte character
+       strings such as UTF-8.
+
+       <STRONG>o</STRONG>   Capability names and codes use the POSIX portable character set.
+
+       <STRONG>o</STRONG>   Capability string values have  no  associated  encoding;  they  are
+           strings of 8-bit characters.
 
 
-</PRE>
-<H3><a name="h3-Initialization">Initialization</a></H3><PRE>
-       Initially, <STRONG>setupterm</STRONG> should  be  called.   Note  that  <STRONG>se-</STRONG>
-       <STRONG>tupterm</STRONG>  is  automatically  called by <STRONG>initscr</STRONG> and <STRONG>newterm</STRONG>.
-       This  defines  the  set  of  terminal-dependent  variables
-       [listed in <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>].
+</PRE><H3><a name="h3-Initialization">Initialization</a></H3><PRE>
+       Initially, <STRONG>setupterm</STRONG> should be called.  The high-level <EM>curses</EM> functions
+       <STRONG>initscr</STRONG> and <STRONG>newterm</STRONG> call <STRONG>setupterm</STRONG> to initialize the low-level  set  of
+       terminal-dependent variables listed in <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>.
 
-       Each initialization routine provides applications with the
-       terminal capabilities either directly (via header  defini-
-       tions),  or  by special functions.  The header files <STRONG>curs-</STRONG>
-       <STRONG>es.h</STRONG> and <STRONG>term.h</STRONG> should be included (in this order) to  get
-       the definitions for these strings, numbers, and flags.
+       Applications  can  use  the  terminal capabilities either directly (via
+       header  definitions),  or  by  special  functions.   The  header  files
+       <EM>curses.h</EM>  and  <EM>term.h</EM>  should  be  included  (in that order) to get the
+       definitions for these strings, numbers, and flags.
 
-       The  <STRONG>terminfo</STRONG>  variables <STRONG>lines</STRONG> and <STRONG>columns</STRONG> are initialized
-       by <STRONG>setupterm</STRONG> as follows:
+       The <EM>terminfo</EM> variables <STRONG>lines</STRONG> and <STRONG>columns</STRONG> are initialized  by  <STRONG>setupterm</STRONG>
+       as follows.
 
-       <STRONG>o</STRONG>   If <STRONG>use_env(FALSE)</STRONG> has been called,  values  for  <STRONG>lines</STRONG>
-           and <STRONG>columns</STRONG> specified in <STRONG>terminfo</STRONG> are used.
+       <STRONG>o</STRONG>   If  <STRONG>use_env(FALSE)</STRONG>  has  been  called, values for <STRONG>lines</STRONG> and <STRONG>columns</STRONG>
+           specified in <EM>terminfo</EM> are used.
 
-       <STRONG>o</STRONG>   Otherwise, if the environment variables <STRONG>LINES</STRONG> and <STRONG>COL-</STRONG>
-           <STRONG>UMNS</STRONG> exist, their values are used.  If these  environ-
-           ment variables do not exist and the program is running
-           in a window, the current window size is used.   Other-
-           wise,  if  the environment variables do not exist, the
-           values for <STRONG>lines</STRONG> and <STRONG>columns</STRONG> specified in the <STRONG>terminfo</STRONG>
-           database are used.
+       <STRONG>o</STRONG>   Otherwise, if the environment variables <EM>LINES</EM>  and  <EM>COLUMNS</EM>  exist,
+           their values are used.  If these environment variables do not exist
+           and the program is running in a window, the current window size  is
+           used.   Otherwise,  if  the environment variables do not exist, the
+           values for <STRONG>lines</STRONG> and <STRONG>columns</STRONG> specified in the <EM>terminfo</EM> database are
+           used.
 
-       Parameterized  strings  should  be passed through <STRONG>tparm</STRONG> to
-       instantiate them.  All  <STRONG>terminfo</STRONG>  strings  [including  the
-       output  of  <STRONG>tparm</STRONG>]  should  be printed with <STRONG>tputs</STRONG> or <STRONG>putp</STRONG>.
-       Call <STRONG>reset_shell_mode</STRONG> to restore the tty modes before  ex-
-       iting [see <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>].
+       Parameterized  strings  should  be  passed through <STRONG>tparm</STRONG> to instantiate
+       them.  All <EM>terminfo</EM> strings (including the output of <STRONG>tparm</STRONG>)  should  be
+       sent  to the terminal device with <STRONG>tputs</STRONG> or <STRONG>putp</STRONG>.  Call <STRONG>reset_shell_mode</STRONG>
+       to restore the terminal modes before exiting; see <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>.
 
-       Programs which use cursor addressing should
+       Programs that use cursor addressing should
 
        <STRONG>o</STRONG>   output <STRONG>enter_ca_mode</STRONG> upon startup and
 
        <STRONG>o</STRONG>   output <STRONG>exit_ca_mode</STRONG> before exiting.
 
-       Programs which execute shell subprocesses should
+       Programs that execute shell subprocesses should
 
-       <STRONG>o</STRONG>   call  <STRONG>reset_shell_mode</STRONG>  and output <STRONG>exit_ca_mode</STRONG> before
-           the shell is called and
+       <STRONG>o</STRONG>   call <STRONG>reset_shell_mode</STRONG> and output <STRONG>exit_ca_mode</STRONG> before the  shell  is
+           called and
 
-       <STRONG>o</STRONG>   output <STRONG>enter_ca_mode</STRONG> and  call  <STRONG>reset_prog_mode</STRONG>  after
-           returning from the shell.
+       <STRONG>o</STRONG>   output  <STRONG>enter_ca_mode</STRONG> and call <STRONG>reset_prog_mode</STRONG> after returning from
+           the shell.
 
-       The <STRONG>setupterm</STRONG> routine reads in the <STRONG>terminfo</STRONG> database, ini-
-       tializing the <STRONG>terminfo</STRONG> structures, but does not set up the
-       output virtualization structures used by <STRONG>curses</STRONG>.  The ter-
-       minal type is the character string <EM>term</EM>; if <EM>term</EM> is  null,
-       the  environment  variable <STRONG>TERM</STRONG> is used.  All output is to
-       file descriptor <STRONG>fildes</STRONG> which is  initialized  for  output.
-       If  <EM>errret</EM>  is  not null, then <STRONG>setupterm</STRONG> returns <STRONG>OK</STRONG> or <STRONG>ERR</STRONG>
-       and stores a status value in the integer pointed to by <EM>er-</EM>
-       <EM>rret</EM>.   A  return value of <STRONG>OK</STRONG> combined with status of <STRONG>1</STRONG> in
-       <EM>errret</EM> is normal.  If <STRONG>ERR</STRONG> is returned, examine <EM>errret</EM>:
+       <STRONG>setupterm</STRONG> reads in the <EM>terminfo</EM>  database,  initializing  the  <EM>terminfo</EM>
+       structures,  but  does  not set up the output virtualization structures
+       used by <EM>curses</EM>.  Its parameters follow.
 
-       <STRONG>1</STRONG>    means that the terminal is hardcopy, cannot  be  used
-            for curses applications.
+          <EM>term</EM> is the terminal type, a character string.  If <EM>term</EM> is null, the
+               environment variable <EM>TERM</EM> is read.
 
-            <STRONG>setupterm</STRONG>  determines if the entry is a hardcopy type
-            by checking the <EM>hc</EM> (<EM>hardcopy</EM>) capability.
+          <EM>filedes</EM>
+               is  the  file  descriptor used for getting and setting terminal
+               I/O modes.
 
-       <STRONG>0</STRONG>    means that the terminal could not be found,  or  that
-            it  is  a generic type, having too little information
-            for curses applications to run.
+               Higher-level applications use  <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG>  to  initialize  the
+               terminal,  passing  an  output <EM>stream</EM> rather than a <EM>descriptor</EM>.
+               In  <EM>curses</EM>,  the  two  are  the  same  because  <STRONG>newterm</STRONG>   calls
+               <STRONG>setupterm</STRONG>,  passing the file descriptor derived from its output
+               stream parameter.
 
-            <STRONG>setupterm</STRONG> determines if the entry is a  generic  type
-            by checking the <EM>gn</EM> (<EM>generic</EM>) capability.
+          <EM>errret</EM>
+               points to an optional location where an  error  status  can  be
+               returned  to the caller.  If <EM>errret</EM> is not null, then <STRONG>setupterm</STRONG>
+               returns <STRONG>OK</STRONG> or <STRONG>ERR</STRONG> and stores a  status  value  in  the  integer
+               pointed  to  by  <EM>errret</EM>.   A  return  value of <STRONG>OK</STRONG> combined with
+               status of <STRONG>1</STRONG> in <EM>errret</EM> is normal.
 
-       <STRONG>-1</STRONG>   means that the <STRONG>terminfo</STRONG> database could not be found.
+               If <STRONG>ERR</STRONG> is returned, examine <EM>errret:</EM>
 
-       If  <EM>errret</EM> is null, <STRONG>setupterm</STRONG> prints an error message upon
-       finding an error and exits.  Thus, the simplest call is:
+               <STRONG>1</STRONG>    means that the terminal is hardcopy, and  cannot  be  used
+                    for <EM>curses</EM> applications.
 
-             <STRONG>setupterm((char</STRONG> <STRONG>*)0,</STRONG> <STRONG>1,</STRONG> <STRONG>(int</STRONG> <STRONG>*)0);</STRONG>,
+                    <STRONG>setupterm</STRONG>  determines  if  the entry is a hardcopy type by
+                    checking the <STRONG>hardcopy</STRONG> (<STRONG>hc</STRONG>) capability.
 
-       which uses all the defaults and sends the output  to  <STRONG>std-</STRONG>
-       <STRONG>out</STRONG>.
+               <STRONG>0</STRONG>    means that the terminal could not be found, or that it  is
+                    a  generic  type, having too little information for <EM>curses</EM>
+                    applications to run.
 
-       The <STRONG>setterm</STRONG> routine was replaced by <STRONG>setupterm</STRONG>.  The call:
+                    <STRONG>setupterm</STRONG> determines if the entry is  a  generic  type  by
+                    checking the <STRONG>generic_type</STRONG> (<STRONG>gn</STRONG>) capability.
 
-             <STRONG>setupterm(</STRONG><EM>term</EM><STRONG>,</STRONG> <STRONG>1,</STRONG> <STRONG>(int</STRONG> <STRONG>*)0)</STRONG>
+               <STRONG>-1</STRONG>   means that the <EM>terminfo</EM> database could not be found.
 
-       provides  the  same  functionality  as <STRONG>setterm(</STRONG><EM>term</EM><STRONG>)</STRONG>.  The
-       <STRONG>setterm</STRONG> routine is provided for BSD compatibility, and  is
-       not recommended for new programs.
+               If  <EM>errret</EM>  is  null,  <STRONG>setupterm</STRONG>  reports an error message upon
+               finding an error and exits.  Thus, the simplest call is:
+
+                      setupterm((char *)0, 1, (int *)0);
+
+               which uses all the defaults and sends the output to <STRONG>stdout</STRONG>.
 
 
-</PRE>
-<H3><a name="h3-The-Terminal-State">The Terminal State</a></H3><PRE>
-       The  <STRONG>setupterm</STRONG>  routine  stores  its information about the
-       terminal in a <STRONG>TERMINAL</STRONG> structure pointed to by the  global
-       variable  <STRONG>cur_term</STRONG>.   If  it  detects an error, or decides
-       that the terminal is unsuitable (hardcopy or generic),  it
-       discards  this information, making it not available to ap-
-       plications.
-
-       If <STRONG>setupterm</STRONG> is called repeatedly for  the  same  terminal
-       type,  it  will  reuse the information.  It maintains only
-       one copy of a given terminal's capabilities in memory.  If
-       it is called for different terminal types, <STRONG>setupterm</STRONG> allo-
-       cates new storage for each set of terminal capabilities.
-
-       The <STRONG>set_curterm</STRONG> routine sets <STRONG>cur_term</STRONG> to <EM>nterm</EM>, and  makes
-       all of the <STRONG>terminfo</STRONG> boolean, numeric, and string variables
-       use the values from <EM>nterm</EM>.  It returns the  old  value  of
-       <STRONG>cur_term</STRONG>.
-
-       The  <STRONG>del_curterm</STRONG>  routine  frees  the  space pointed to by
-       <EM>oterm</EM> and makes it available for further use.  If <EM>oterm</EM> is
-       the  same  as  <STRONG>cur_term</STRONG>, references to any of the <STRONG>terminfo</STRONG>
-       boolean, numeric, and string variables thereafter may  re-
-       fer  to  invalid  memory locations until another <STRONG>setupterm</STRONG>
-       has been called.
-
-       The  <STRONG>restartterm</STRONG>  routine  is  similar  to  <STRONG>setupterm</STRONG>  and
-       <STRONG>initscr</STRONG>,  except  that it is called after restoring memory
-       to a previous state (for example, when  reloading  a  game
-       saved as a core image dump).  <STRONG>restartterm</STRONG> assumes that the
-       windows and the input and output options are the  same  as
-       when memory was saved, but the terminal type and baud rate
-       may be different.  Accordingly, <STRONG>restartterm</STRONG> saves  various
-       tty  state  bits,  calls  <STRONG>setupterm</STRONG>, and then restores the
-       bits.
-
-
-</PRE>
-<H3><a name="h3-Formatting-Output">Formatting Output</a></H3><PRE>
-       The <STRONG>tparm</STRONG> routine instantiates the string <EM>str</EM> with parame-
-       ters  <EM>pi</EM>.  A pointer is returned to the result of <EM>str</EM> with
-       the parameters applied.
-
-       <STRONG>tiparm</STRONG> is a newer form  of  <STRONG>tparm</STRONG>  which  uses  <EM>&lt;stdarg.h&gt;</EM>
-       rather  than  a fixed-parameter list.  Its numeric parame-
-       ters are integers (int) rather than longs.
-
-
-</PRE>
-<H3><a name="h3-Output-Functions">Output Functions</a></H3><PRE>
-       The <STRONG>tputs</STRONG>  routine  applies  padding  information  to  the
-       string  <EM>str</EM>  and  outputs  it.  The <EM>str</EM> must be a terminfo
-       string variable or the return value from  <STRONG>tparm</STRONG>,  <STRONG>tgetstr</STRONG>,
-       or <STRONG>tgoto</STRONG>.  <EM>affcnt</EM> is the number of lines affected, or 1 if
-       not applicable.  <EM>putc</EM> is a <STRONG>putchar</STRONG>-like routine  to  which
-       the characters are passed, one at a time.
-
-       The  <STRONG>putp</STRONG> routine calls <STRONG>tputs(</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>1,</STRONG> <STRONG>putchar)</STRONG>.  Note that
-       the output of <STRONG>putp</STRONG> always  goes  to  <STRONG>stdout</STRONG>,  not  to  the
-       <EM>fildes</EM> specified in <STRONG>setupterm</STRONG>.
-
-       The <STRONG>vidputs</STRONG> routine displays the string on the terminal in
-       the video attribute mode <EM>attrs</EM>, which is  any  combination
-       of  the  attributes  listed in <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.  The characters
-       are passed to the <STRONG>putchar</STRONG>-like routine <EM>putc</EM>.
-
-       The <STRONG>vidattr</STRONG> routine is like the  <STRONG>vidputs</STRONG>  routine,  except
-       that it outputs through <STRONG>putchar</STRONG>.
-
-       The  <STRONG>vid_attr</STRONG>  and <STRONG>vid_puts</STRONG> routines correspond to vidattr
-       and vidputs, respectively.  They use a  set  of  arguments
-       for  representing  the  video attributes plus color, i.e.,
-       one of type attr_t for the attributes and one of short for
-       the color_pair number.  The <STRONG>vid_attr</STRONG> and <STRONG>vid_puts</STRONG> routines
-       are designed to use the attribute constants with  the  <EM>WA</EM><STRONG>_</STRONG>
-       prefix.   The  opts  argument  is reserved for future use.
-       Currently, applications must provide a  null  pointer  for
-       that argument.
-
-       The  <STRONG>mvcur</STRONG>  routine  provides low-level cursor motion.  It
-       takes effect immediately (rather  than  at  the  next  re-
-       fresh).
-
-
-</PRE>
-<H3><a name="h3-Terminal-Capability-Functions">Terminal Capability Functions</a></H3><PRE>
-       The  <STRONG>tigetflag</STRONG>,  <STRONG>tigetnum</STRONG> and <STRONG>tigetstr</STRONG> routines return the
-       value of the capability corresponding to the <STRONG>terminfo</STRONG> <EM>cap-</EM>
-       <EM>name</EM>  passed  to them, such as <STRONG>xenl</STRONG>.  The <EM>capname</EM> for each
-       capability is given in the table column  entitled  <EM>capname</EM>
-       code in the capabilities section of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
-
-       These routines return special values to denote errors.
-
-       The <STRONG>tigetflag</STRONG> routine returns
-
-       <STRONG>-1</STRONG>     if <EM>capname</EM> is not a boolean capability, or
-
-       <STRONG>0</STRONG>      if  it  is canceled or absent from the terminal de-
-              scription.
-
-       The <STRONG>tigetnum</STRONG> routine returns
-
-       <STRONG>-2</STRONG>     if <EM>capname</EM> is not a numeric capability, or
-
-       <STRONG>-1</STRONG>     if it is canceled or absent from the  terminal  de-
-              scription.
-
-       The <STRONG>tigetstr</STRONG> routine returns
-
-       <STRONG>(char</STRONG> <STRONG>*)-1</STRONG>
-              if <EM>capname</EM> is not a string capability, or
-
-       <STRONG>0</STRONG>      if  it  is canceled or absent from the terminal de-
-              scription.
-
-
-</PRE>
-<H3><a name="h3-Terminal-Capability-Names">Terminal Capability Names</a></H3><PRE>
-       These null-terminated arrays contain  the  short  terminfo
-       names  ("codes"), the <STRONG>termcap</STRONG> names, and the long terminfo
-       names ("fnames") for each of the predefined <STRONG>terminfo</STRONG> vari-
-       ables:
-              <STRONG>char</STRONG> <STRONG>*boolnames[]</STRONG>, <STRONG>*boolcodes[]</STRONG>, <STRONG>*boolfnames[]</STRONG>
-
-              <STRONG>char</STRONG> <STRONG>*numnames[]</STRONG>, <STRONG>*numcodes[]</STRONG>, <STRONG>*numfnames[]</STRONG>
-
-              <STRONG>char</STRONG> <STRONG>*strnames[]</STRONG>, <STRONG>*strcodes[]</STRONG>, <STRONG>*strfnames[]</STRONG>
-
-
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Routines  that  return  an integer return <STRONG>ERR</STRONG> upon failure
-       and <STRONG>OK</STRONG> (SVr4 only specifies "an integer value  other  than
-       <STRONG>ERR</STRONG>")  upon  successful completion, unless otherwise noted
-       in the preceding routine descriptions.
-
-       Routines that return pointers always return <STRONG>NULL</STRONG> on error.
-
-       X/Open defines no error conditions.  In  this  implementa-
-       tion
-
-            <STRONG>del_curterm</STRONG>
-                 returns  an  error  if its terminal parameter is
-                 null.
-
-            <STRONG>putp</STRONG> calls <STRONG>tputs</STRONG>, returning the same error-codes.
-
-            <STRONG>restartterm</STRONG>
-                 returns an error if the associated call  to  <STRONG>se-</STRONG>
-                 <STRONG>tupterm</STRONG> returns an error.
-
-            <STRONG>setupterm</STRONG>
-                 returns  an  error  if it cannot allocate enough
-                 memory, or create the initial  windows  (stdscr,
-                 curscr,  newscr).   Other  error  conditions are
-                 documented above.
-
-            <STRONG>tputs</STRONG>
-                 returns an error  if  the  string  parameter  is
-                 null.   It  does  not  detect I/O errors: X/Open
-                 states that <STRONG>tputs</STRONG> ignores the  return  value  of
-                 the output function <EM>putc</EM>.
-
-
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       X/Open notes that <STRONG>vidattr</STRONG> and <STRONG>vidputs</STRONG> may be macros.
-
-       The  function  <STRONG>setterm</STRONG> is not described by X/Open and must
-       be considered non-portable.  All other  functions  are  as
-       described by X/Open.
-
-       <STRONG>setupterm</STRONG>  copies  the terminal name to the array <STRONG>ttytype</STRONG>.
-       This is not part of X/Open Curses, but is assumed by  some
+</PRE><H3><a name="h3-The-Terminal-State">The Terminal State</a></H3><PRE>
+       <STRONG>setupterm</STRONG> stores its information  about  the  terminal  in  a  <EM>TERMINAL</EM>
+       structure pointed to by the global variable <STRONG>cur_term</STRONG>.  If it detects an
+       error,  or  decides  that  the  terminal  is  unsuitable  (hardcopy  or
+       generic),  it  discards  this  information,  making it not available to
        applications.
 
-       If  configured  to  use the terminal-driver, e.g., for the
-       MinGW port,
+       If <STRONG>setupterm</STRONG> is called repeatedly for the same terminal type,  it  will
+       reuse  the  information.   It  maintains  only  one  copy  of  a  given
+       terminal's capabilities in memory.   If  it  is  called  for  different
+       terminal  types,  <STRONG>setupterm</STRONG>  allocates  new  storage  for  each  set of
+       terminal capabilities.
 
-       <STRONG>o</STRONG>   <STRONG>setupterm</STRONG> interprets a missing/empty TERM variable  as
-           the special value "unknown".
+       <STRONG>set_curterm</STRONG> sets <STRONG>cur_term</STRONG> to <EM>nterm</EM>,  and  makes  all  of  the  <EM>terminfo</EM>
+       Boolean,  numeric,  and string variables use the values from <EM>nterm</EM>.  It
+       returns the old value of <STRONG>cur_term</STRONG>.
 
-       <STRONG>o</STRONG>   <STRONG>setupterm</STRONG>  allows explicit use of the the windows con-
-           sole driver by checking if $TERM is set to "#win32con"
-           or an abbreviation of that string.
+       <STRONG>del_curterm</STRONG> frees the space pointed to by <EM>oterm</EM> and makes it  available
+       for  further  use.  If <EM>oterm</EM> is the same as <STRONG>cur_term</STRONG>, references to any
+       of the <EM>terminfo</EM> Boolean, numeric, and string variables  thereafter  may
+       refer  to  invalid  memory  locations  until another <STRONG>setupterm</STRONG> has been
+       called.
 
-       Older versions of <STRONG>ncurses</STRONG> assumed that the file descriptor
-       passed to <STRONG>setupterm</STRONG> from <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> uses  buffered
-       I/O,  and would write to the corresponding stream.  In ad-
-       dition to the limitation that the  terminal  was  left  in
-       block-buffered  mode on exit (like SystemV curses), it was
-       problematic because <STRONG>ncurses</STRONG> did not allow a  reliable  way
-       to cleanup on receiving SIGTSTP.  The current version uses
-       output buffers managed directly by <STRONG>ncurses</STRONG>.  Some  of  the
-       low-level functions described in this manual page write to
-       the standard output.  They are not signal-safe.  The high-
-       level functions in <STRONG>ncurses</STRONG> use alternate versions of these
-       functions using the more reliable buffering scheme.
-
-       In System V Release 4, <STRONG>set_curterm</STRONG> has an <STRONG>int</STRONG> return  type
-       and  returns  <STRONG>OK</STRONG>  or <STRONG>ERR</STRONG>.  We have chosen to implement the
-       X/Open Curses semantics.
-
-       In System V Release 4, the third argument of <STRONG>tputs</STRONG> has the
-       type <STRONG>int</STRONG> <STRONG>(*putc)(char)</STRONG>.
-
-       At least one implementation of X/Open Curses (Solaris) re-
-       turns a value other than OK/ERR from <STRONG>tputs</STRONG>.  That  returns
-       the length of the string, and does no error-checking.
-
-       X/Open  Curses prototypes <STRONG>tparm</STRONG> with a fixed number of pa-
-       rameters, rather than a variable argument list.  This  im-
-       plementation  uses  a  variable  argument list, but can be
-       configured to use the fixed-parameter list.  Portable  ap-
-       plications  should  provide 9 parameters after the format;
-       zeroes are fine for this purpose.
-
-       In response to comments by Thomas E. Dickey, X/Open Curses
-       Issue 7 proposed the <STRONG>tiparm</STRONG> function in mid-2009.
-
-       X/Open  notes  that  after calling <STRONG>mvcur</STRONG>, the curses state
-       may not match the actual terminal state, and that  an  ap-
-       plication  should  touch and refresh the window before re-
-       suming normal curses calls.  Both <STRONG>ncurses</STRONG> and System V Re-
-       lease 4 curses implement <STRONG>mvcur</STRONG> using the SCREEN data allo-
-       cated in either <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>.  So though it is docu-
-       mented  as  a  terminfo function, <STRONG>mvcur</STRONG> is really a curses
-       function which is not well specified.
-
-       X/Open states that the old  location  must  be  given  for
-       <STRONG>mvcur</STRONG>.   This implementation allows the caller to use -1's
-       for the old ordinates.  In that case, the old location  is
-       unknown.
-
-       Other  implementions  may  not declare the capability name
-       arrays.  Some provide them without declaring them.  X/Open
-       does not specify them.
-
-       Extended  terminal  capability  names, e.g., as defined by
-       <STRONG>tic</STRONG> <STRONG>-x</STRONG>, are not stored in the arrays described here.
+       <STRONG>restartterm</STRONG> is similar to <STRONG>setupterm</STRONG> and  <STRONG>initscr</STRONG>,  except  that  it  is
+       called  after  restoring  memory to a previous state (for example, when
+       reloading a game saved as a core image dump).  <STRONG>restartterm</STRONG> assumes that
+       the  windows  and  the  input  and  output options are the same as when
+       memory was saved, but the terminal type and baud rate may be different.
+       Accordingly,  <STRONG>restartterm</STRONG>  saves  various  terminal  state  bits, calls
+       <STRONG>setupterm</STRONG>, and then restores the bits.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>,  <STRONG>curs_term-</STRONG>
-       <STRONG><A HREF="curs_termcap.3x.html">cap(3x)</A></STRONG>,  <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>, <STRONG>putc(3)</STRONG>,
+</PRE><H3><a name="h3-Formatting-Output">Formatting Output</a></H3><PRE>
+       <STRONG>tparm</STRONG> instantiates the string <EM>str</EM> with parameters  <EM>pi</EM>.   A  pointer  is
+       returned to the result of <EM>str</EM> with the parameters applied.  Application
+       developers should keep in mind these quirks of the interface:
+
+       <STRONG>o</STRONG>   Although <STRONG>tparm</STRONG>'s actual parameters may be integers or strings,  the
+           prototype expects <EM>long</EM> (integer) values.
+
+       <STRONG>o</STRONG>   Aside  from  the  <STRONG>set_attributes</STRONG>  (<STRONG>sgr</STRONG>)  capability,  most terminal
+           capabilities require no more than one or two parameters.
+
+       <STRONG>o</STRONG>   Padding information is ignored  by  <STRONG>tparm</STRONG>;  it  is  interpreted  by
+           <STRONG>tputs</STRONG>.
+
+       <STRONG>o</STRONG>   The  capability  string  is  null-terminated.   Use "\200" where an
+           ASCII NUL is needed in the output.
+
+       <STRONG>tiparm</STRONG> is a newer form of <STRONG>tparm</STRONG>  which  uses  <EM>stdarg.h</EM>  rather  than  a
+       fixed-parameter  list.   Its  numeric  parameters  are <EM>int</EM>s rather than
+       <EM>long</EM>s.
+
+       Both <STRONG>tparm</STRONG> and <STRONG>tiparm</STRONG> assume that  the  application  passes  parameters
+       consistent  with the terminal description.  Two extensions are provided
+       as alternatives to deal with untrusted data.
+
+       <STRONG>o</STRONG>   <STRONG>tiparm_s</STRONG> is an extension which is a safer formatting function  than
+           <STRONG>tparm</STRONG> or <STRONG>tiparm</STRONG>, because it allows the developer to tell the <EM>curses</EM>
+           library how many parameters to expect in the  parameter  list,  and
+           which may be string parameters.
+
+           The  <EM>mask</EM>  parameter has one bit set for each of the parameters (up
+           to 9) passed as <EM>char</EM> pointers rather than numbers.
+
+       <STRONG>o</STRONG>   The  extension  <STRONG>tiscan_s</STRONG>  allows  the  application  to  inspect   a
+           formatting capability to see what the <EM>curses</EM> library would assume.
+
+
+</PRE><H3><a name="h3-Output-Functions">Output Functions</a></H3><PRE>
+       String  capabilities  can  contain  padding  information,  a time delay
+       (accommodating performance limitations of hardware terminals) expressed
+       as <STRONG>$&lt;</STRONG><EM>n</EM><STRONG>&gt;</STRONG>, where <EM>n</EM> is a nonnegative integral count of milliseconds.  If <EM>n</EM>
+       exceeds 30,000 (thirty seconds), it is capped at that value.
+
+       <STRONG>tputs</STRONG> interprets time-delay information in the string <EM>str</EM>  and  outputs
+       it, executing the delays:
+
+       <STRONG>o</STRONG>   The  <EM>str</EM> parameter must be a <EM>terminfo</EM> string variable or the return
+           value of <STRONG>tparm</STRONG>, <STRONG>tiparm</STRONG>, <STRONG>tgetstr</STRONG>, or <STRONG>tgoto</STRONG>.
+
+           The <STRONG>tgetstr</STRONG> and <STRONG>tgoto</STRONG> functions are part of the <EM>termcap</EM>  interface,
+           which happens to share these function names with the <EM>terminfo</EM> API.
+
+       <STRONG>o</STRONG>   <EM>affcnt</EM> is the number of lines affected, or <STRONG>1</STRONG> if not applicable.
+
+       <STRONG>o</STRONG>   <EM>putc</EM> is a <EM>putchar</EM>-like function to which the characters are passed,
+           one at a time.
+
+           If <STRONG>tputs</STRONG> processes  a  time-delay,  it  uses  the  <STRONG><A HREF="curs_util.3x.html">delay_output(3x)</A></STRONG>
+           function,  routing  any  resulting  padding characters through this
+           function.
+
+       <STRONG>putp</STRONG> calls "<STRONG>tputs(</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>1,</STRONG> <STRONG>putchar)</STRONG>".  The output of <STRONG>putp</STRONG> always goes to
+       <STRONG>stdout</STRONG>, rather than the <EM>filedes</EM> specified in <STRONG>setupterm</STRONG>.
+
+       <STRONG>vidputs</STRONG> displays the string on the terminal in the video attribute mode
+       <EM>attrs</EM>, which is any combination of the attributes listed in <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.
+       The characters are passed to the <EM>putchar</EM>-like function <EM>putc</EM>.
+
+       <STRONG>vidattr</STRONG> is like <STRONG>vidputs</STRONG>, except that it outputs through <STRONG>putchar(3)</STRONG>.
+
+       <STRONG>vid_attr</STRONG>  and <STRONG>vid_puts</STRONG> correspond to <STRONG>vidattr</STRONG> and <STRONG>vidputs</STRONG>, respectively.
+       They use multiple parameters to represent the character attributes  and
+       color; namely,
+
+       <STRONG>o</STRONG>   <EM>attrs</EM>, of type <EM>attr</EM><STRONG>_</STRONG><EM>t</EM>, for the attributes and
+
+       <STRONG>o</STRONG>   <EM>pair</EM>, of type <EM>short</EM>, for the color pair number.
+
+       Use  the  attribute  constants  prefixed  with  "<STRONG>WA_</STRONG>" with <STRONG>vid_attr</STRONG> and
+       <STRONG>vid_puts</STRONG>.
+
+       X/Open Curses reserves the <EM>opts</EM> argument for future  use,  saying  that
+       applications  must  provide  a  null pointer for that argument; but see
+       section "EXTENSIONS" below.
+
+       <STRONG>mvcur</STRONG> provides low-level cursor motion.  It  takes  effect  immediately
+       (rather  than  at the next refresh).  Unlike the other low-level output
+       functions, which either write to the standard output or pass an  output
+       function  parameter,  <STRONG>mvcur</STRONG> uses an output file descriptor derived from
+       the output stream parameter of <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG>.
+
+       While <STRONG>putp</STRONG> and <STRONG>mvcur</STRONG> are low-level functions that do not use high-level
+       <EM>curses</EM>  state,  <EM>ncurses</EM>  declares them in <EM>curses.h</EM> because System V did
+       this (see section "HISTORY" below).
+
+
+</PRE><H3><a name="h3-Terminal-Capability-Functions">Terminal Capability Functions</a></H3><PRE>
+       <STRONG>tigetflag</STRONG>, <STRONG>tigetnum</STRONG>, and <STRONG>tigetstr</STRONG> return the value  of  the  capability
+       corresponding  to  the <EM>terminfo</EM> <EM>cap-code</EM>, such as <STRONG>xenl</STRONG>, passed to them.
+       The <EM>cap-code</EM> for each capability is given in the table column  entitled
+       <EM>cap-code</EM> code in the capabilities section of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+
+       These functions return special values to denote errors.
+
+       <STRONG>tigetflag</STRONG> returns
+
+       <STRONG>-1</STRONG>     if <EM>cap-code</EM> is not a Boolean capability, or
+
+       <STRONG>0</STRONG>      if it is canceled or absent from the terminal description.
+
+       <STRONG>tigetnum</STRONG> returns
+
+       <STRONG>-2</STRONG>     if <EM>cap-code</EM> is not a numeric capability, or
+
+       <STRONG>-1</STRONG>     if it is canceled or absent from the terminal description.
+
+       <STRONG>tigetstr</STRONG> returns
+
+       <STRONG>(char</STRONG> <STRONG>*)-1</STRONG>
+              if <EM>cap-code</EM> is not a string capability, or
+
+       <STRONG>0</STRONG>      if it is canceled or absent from the terminal description.
+
+
+</PRE><H3><a name="h3-Terminal-Capability-Names">Terminal Capability Names</a></H3><PRE>
+       These null-terminated arrays contain
+
+       <STRONG>o</STRONG>   the short <EM>terminfo</EM> names ("codes"),
+
+       <STRONG>o</STRONG>   the <EM>termcap</EM> names ("names"), and
+
+       <STRONG>o</STRONG>   the long <EM>terminfo</EM> names ("fnames")
+
+       for each of the predefined <EM>terminfo</EM> variables:
+
+              <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*boolnames[]</STRONG>, <STRONG>*boolcodes[]</STRONG>, <STRONG>*boolfnames[]</STRONG>
+              <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*numnames[]</STRONG>, <STRONG>*numcodes[]</STRONG>, <STRONG>*numfnames[]</STRONG>
+              <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*strnames[]</STRONG>, <STRONG>*strcodes[]</STRONG>, <STRONG>*strfnames[]</STRONG>
+
+
+</PRE><H3><a name="h3-Releasing-Memory">Releasing Memory</a></H3><PRE>
+       Each successful call to <STRONG>setupterm</STRONG> allocates memory to hold the terminal
+       description.  As a side effect, it  sets  <STRONG>cur_term</STRONG>  to  point  to  this
+       memory.  If an application calls
+
+              del_curterm(cur_term);
+
+       the memory will be freed.
+
+       The  formatting functions <STRONG>tparm</STRONG> and <STRONG>tiparm</STRONG> extend the storage allocated
+       by <STRONG>setupterm</STRONG> as follows.
+
+       <STRONG>o</STRONG>   They add the "static" <EM>terminfo</EM>  variables  [a-z].   Before  <EM>ncurses</EM>
+           6.3, those were shared by all screens.  With <EM>ncurses</EM> 6.3, those are
+           allocated per screen.  See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+
+       <STRONG>o</STRONG>   To improve performance, <EM>ncurses</EM> 6.3 caches the result of  analyzing
+           <EM>terminfo</EM>  strings  for  their parameter types.  That is stored as a
+           binary tree referenced from the <EM>TERMINAL</EM> structure.
+
+       The higher-level <STRONG>initscr</STRONG> and <STRONG>newterm</STRONG> functions use <STRONG>setupterm</STRONG>.  Normally
+       they  do  not free this memory, but it is possible to do that using the
+       <STRONG><A HREF="curs_initscr.3x.html">delscreen(3x)</A></STRONG> function.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       X/Open Curses defines no failure conditions.  In <EM>ncurses</EM>,
+
+       <STRONG>del_curtem</STRONG>
+            fails if its terminal parameter is null.
+
+       <STRONG>putp</STRONG> calls <STRONG>tputs</STRONG>, returning the same error codes.
+
+       <STRONG>restartterm</STRONG>
+            fails if the associated call to <STRONG>setupterm</STRONG> returns an error.
+
+       <STRONG>setupterm</STRONG>
+            fails if it cannot allocate enough memory, or create  the  initial
+            windows  (<STRONG>stdscr</STRONG>,  <STRONG>curscr</STRONG>,  and <STRONG>newscr</STRONG>) Other error conditions are
+            documented above.
+
+       <STRONG>tparm</STRONG>
+            returns a null pointer if the capability would require  unexpected
+            parameters;  that  is,  too  many,  too  few,  or  incorrect types
+            (strings where integers are expected, or vice versa).
+
+       <STRONG>tputs</STRONG>
+            fails if the string parameter is null.  It  does  not  detect  I/O
+            errors:  X/Open  Curses states that <STRONG>tputs</STRONG> ignores the return value
+            of the output function <EM>putc</EM>.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       The <STRONG>vid_attr</STRONG> function in <EM>ncurses</EM> is a special case.  It was  originally
+       implemented based on a draft of X/Open Curses, as a macro, before other
+       parts of the <EM>ncurses</EM> wide-character API were developed, and unlike  the
+       other  wide-character  functions,  is  also  provided  in the non-wide-
+       character configuration.
+
+
+</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+       The functions marked as extensions were designed for <EM>ncurses</EM>,  and  are
+       not  found  in SVr4 <EM>curses</EM>, 4.4BSD <EM>curses</EM>, or any other previous <EM>curses</EM>
+       implementation.
+
+       <EM>ncurses</EM> allows <EM>opts</EM> to be a pointer to <EM>int</EM>, which  overrides  the  <EM>pair</EM>
+       (<EM>short</EM>) argument.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       <STRONG>setterm</STRONG> is not described by X/Open and must be considered non-portable.
+       All other functions are as described by X/Open.
+
+
+</PRE><H3><a name="h3-Compatibility-Macros">Compatibility Macros</a></H3><PRE>
+       This implementation  provides  a  few  macros  for  compatibility  with
+       systems  before  SVr4  (see  section  "HISTORY"  below).   They include
+       <STRONG>Bcrmode</STRONG>, <STRONG>Bfixterm</STRONG>, <STRONG>Bgettmode</STRONG>,  <STRONG>Bnocrmode</STRONG>,  <STRONG>Bresetterm</STRONG>,  <STRONG>Bsaveterm</STRONG>,  and
+       <STRONG>Bsetterm</STRONG>.
+
+       In  SVr4,  these  are  found  in  <EM>curses.h</EM>, but except for <STRONG>setterm</STRONG>, are
+       likewise macros.  The one function, <STRONG>setterm</STRONG>, is mentioned in the manual
+       page.  It further notes that <STRONG>setterm</STRONG> was replaced by <STRONG>setupterm</STRONG>, stating
+       that the call
+              setupterm(<EM>term</EM>, 1, (int *)0)
+       provides the same  functionality  as  <STRONG>setterm(</STRONG><EM>term</EM><STRONG>)</STRONG>,  discouraging  the
+       latter  for  new programs.  <EM>ncurses</EM> implements each of these symbols as
+       macros for BSD <EM>curses</EM> compatibility.
+
+
+</PRE><H3><a name="h3-Legacy-Data">Legacy Data</a></H3><PRE>
+       <STRONG>setupterm</STRONG> copies the terminal name to the array <STRONG>ttytype</STRONG>.  This  is  not
+       part of X/Open Curses, but is assumed by some applications.
+
+       Other  implementions  may not declare the capability name arrays.  Some
+       provide them without declaring them.  X/Open Curses  does  not  specify
+       them.
+
+       Extended  terminal  capability  names,  as defined by "<STRONG>tic</STRONG> <STRONG>-x</STRONG>", are not
+       stored in the arrays described here.
+
+
+</PRE><H3><a name="h3-Output-Buffering">Output Buffering</a></H3><PRE>
+       Older versions of <EM>ncurses</EM> assumed that the file  descriptor  passed  to
+       <STRONG>setupterm</STRONG> from <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> uses buffered I/O, and would write to
+       the corresponding stream.  In  addition  to  the  limitation  that  the
+       terminal  was  left  in  block-buffered  mode  on  exit  (like System V
+       <EM>curses</EM>), it was problematic because <EM>ncurses</EM> did not  allow  a  reliable
+       way to clean up on receiving <STRONG>SIGTSTP</STRONG>.
+
+       The  current version (ncurses6) uses output buffers managed directly by
+       <EM>ncurses</EM>.  Some of the low-level functions described in this manual page
+       write  to  the  standard  output.  They are not signal-safe.  The high-
+       level functions in <EM>ncurses</EM> employ alternate versions of these functions
+       using the more reliable buffering scheme.
+
+
+</PRE><H3><a name="h3-Function-Prototypes">Function Prototypes</a></H3><PRE>
+       The  X/Open  Curses  prototypes  are  based  on  the SVr4 <EM>curses</EM> header
+       declarations, which were defined at the same time the  C  language  was
+       first standardized in the late 1980s.
+
+       <STRONG>o</STRONG>   X/Open  Curses  uses  <EM>const</EM>  less  effectively  than a later design
+           might, sometimes applying it needlessly to values that are  already
+           constant,  and  in  most cases overlooking parameters that normally
+           would use <EM>const</EM>.  Passing <EM>const</EM>-qualified parameters  to  functions
+           that  do  not  declare  them  <EM>const</EM>  may  prevent  the program from
+           compiling.   On  the  other  hand,  "writable   strings"   are   an
+           obsolescent feature.
+
+           As  an  extension,  this implementation can be configured to change
+           the function prototypes to use the <EM>const</EM> keyword.  The <EM>ncurses</EM>  ABI
+           6 enables this feature by default.
+
+       <STRONG>o</STRONG>   X/Open  Curses  prototypes <STRONG>tparm</STRONG> with a fixed number of parameters,
+           rather than a variable argument list.
+
+           This implementation uses a  variable  argument  list,  but  can  be
+           configured  to use the fixed-parameter list.  Portable applications
+           should provide nine parameters after the format;  zeroes  are  fine
+           for this purpose.
+
+           In  response  to review comments by Thomas E. Dickey, X/Open Curses
+           Issue 7 proposed the <STRONG>tiparm</STRONG> function in mid-2009.
+
+           While <STRONG>tiparm</STRONG> is always provided in <EM>ncurses</EM>, the older form is  only
+           available  as  a build-time configuration option.  If not specially
+           configured, <STRONG>tparm</STRONG> is the same as <STRONG>tiparm</STRONG>.
+
+       Both forms of <STRONG>tparm</STRONG> have drawbacks:
+
+       <STRONG>o</STRONG>   Most of the calls to <STRONG>tparm</STRONG> use only one or two parameters.  Passing
+           nine on each call is awkward.
+
+           Using  <EM>long</EM>  for the numeric parameter type is a workaround to make
+           the parameter use the same amount of  stack  as  a  pointer.   That
+           approach  dates  back  to the mid-1980s, before C was standardized.
+           Since then, there is a standard (and pointers are not  required  to
+           fit in a <EM>long</EM>).
+
+       <STRONG>o</STRONG>   Providing  the  right  number of parameters for a variadic function
+           such  as  <STRONG>tiparm</STRONG>  can  be  a  problem,  in  particular  for  string
+           parameters.   However,  only a few <EM>terminfo</EM> capabilities use string
+           parameters (for instance, the ones used for  programmable  function
+           keys).
+
+           The <EM>ncurses</EM> library checks usage of these capabilities, and returns
+           an error if the capability mishandles string  parameters.   But  it
+           cannot  check  if  a  calling program provides strings in the right
+           places for the <STRONG>tparm</STRONG> calls.
+
+           The <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG> program checks its use of  these  capabilities  with  a
+           table, so that it calls <STRONG>tparm</STRONG> correctly.
+
+   <STRONG>Special</STRONG> <EM>TERM</EM> <STRONG>treatment</STRONG>
+       If configured to use the terminal driver, as with the MinGW port,
+
+       <STRONG>o</STRONG>   <STRONG>setupterm</STRONG>  interprets  a missing/empty <EM>TERM</EM> variable as the special
+           value "unknown".
+
+           SVr4 <EM>curses</EM> uses the special value "dumb".
+
+           The difference  between  the  two  is  that  the  former  uses  the
+           <STRONG>generic_type</STRONG>  (<STRONG>gn</STRONG>)  <EM>terminfo</EM> capability, while the latter does not.
+           A generic terminal is unsuitable for full-screen applications.
+
+       <STRONG>o</STRONG>   <STRONG>setupterm</STRONG> allows explicit use of the the windows console driver  by
+           checking  if <STRONG>$TERM</STRONG> is set to "#win32con" or an abbreviation of that
+           string.
+
+
+</PRE><H3><a name="h3-Other-Portability-Issues">Other Portability Issues</a></H3><PRE>
+       In SVr4, <STRONG>set_curterm</STRONG> returns an <EM>int</EM>, <STRONG>OK</STRONG> or  <STRONG>ERR</STRONG>.   We  have  chosen  to
+       implement the X/Open Curses semantics.
+
+       In SVr4, the third argument of <STRONG>tputs</STRONG> has the type "<STRONG>int</STRONG> <STRONG>(*putc)(char)</STRONG>".
+
+       At  least one implementation of X/Open Curses (Solaris) returns a value
+       other than <STRONG>OK</STRONG> or <STRONG>ERR</STRONG> from <STRONG>tputs</STRONG>.  It instead returns the length of  the
+       string, and does no error checking.
+
+       X/Open  Curses notes that after calling <STRONG>mvcur</STRONG>, the <EM>curses</EM> state may not
+       match the actual terminal state, and that an application  should  touch
+       and  refresh  the  window  before  resuming  normal <EM>curses</EM> calls.  Both
+       <EM>ncurses</EM> and SVr4 <EM>curses</EM> implement <STRONG>mvcur</STRONG> using the <EM>SCREEN</EM> data allocated
+       in either <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>.  So though it is documented as a <EM>terminfo</EM>
+       function, <STRONG>mvcur</STRONG> is really a <EM>curses</EM> function that is not well specified.
+
+       X/Open Curses states that the old location must be given for  <STRONG>mvcur</STRONG>  to
+       accommodate  terminals  that lack absolute cursor positioning.  <EM>ncurses</EM>
+       allows the caller to use -1 for either or both old coordinates.  The -1
+       tells  <EM>ncurses</EM>  that  the old location is unknown, and that it must use
+       only absolute motion, as  with  the  <STRONG>cursor_address</STRONG>  (<STRONG>cup</STRONG>)  capability,
+       rather  than  the  least  costly  combination  of absolute and relative
+       motion.
+
+
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+       SVr2 (1984) introduced the <EM>terminfo</EM> feature.   Its  programming  manual
+       mentioned the following low-level functions.
+
+       <STRONG>Function</STRONG>    <STRONG>Description</STRONG>
+       ------------------------------------------------------------------------
+       <STRONG>fixterm</STRONG>     restore terminal to "in <EM>curses</EM>" state
+       <STRONG>gettmode</STRONG>    establish current terminal modes
+       <STRONG>mvcur</STRONG>       low level cursor motion
+       <STRONG>putp</STRONG>        use <STRONG>tputs</STRONG> to send characters via <EM>putchar</EM>
+       <STRONG>resetterm</STRONG>   set terminal modes to "out of <EM>curses</EM>" state
+
+       <STRONG>resetty</STRONG>     reset terminal flags to stored value
+       <STRONG>saveterm</STRONG>    save current modes as "in <EM>curses</EM>" state
+       <STRONG>savetty</STRONG>     store current terminal flags
+       <STRONG>setterm</STRONG>     establish terminal with given type
+       <STRONG>setupterm</STRONG>   establish terminal with given type
+       <STRONG>tparm</STRONG>       interpolate parameters into string capability
+       <STRONG>tputs</STRONG>       apply padding information to a string
+       <STRONG>vidattr</STRONG>     like <STRONG>vidputs</STRONG>, but output through <EM>putchar</EM>
+       <STRONG>vidputs</STRONG>     write string to terminal, applying specified attributes
+
+       The  programming  manual  also mentioned functions provided for <EM>termcap</EM>
+       compatibility (commenting that they "may go away at a later date").
+
+       <STRONG>Function</STRONG>   <STRONG>Description</STRONG>
+       ------------------------------------------------------------------------
+       <STRONG>tgetent</STRONG>    look up <EM>termcap</EM> entry for given <EM>name</EM>
+       <STRONG>tgetflag</STRONG>   get Boolean entry for given <EM>id</EM>
+       <STRONG>tgetnum</STRONG>    get numeric entry for given <EM>id</EM>
+       <STRONG>tgetstr</STRONG>    get string entry for given <EM>id</EM>
+       <STRONG>tgoto</STRONG>      apply parameters to given capability
+       <STRONG>tputs</STRONG>      write characters via a function parameter, applying padding
+
+       Early <EM>terminfo</EM> programs obtained capability values  from  the  <EM>TERMINAL</EM>
+       structure initialized by <STRONG>setupterm</STRONG>.
+
+       SVr3   (1987)   extended  <EM>terminfo</EM>  by  adding  functions  to  retrieve
+       capability values (like the <EM>termcap</EM> interface), and reusing  <STRONG>tgoto</STRONG>  and
+       <STRONG>tputs</STRONG>.
+
+       <STRONG>Function</STRONG>    <STRONG>Description</STRONG>
+       ------------------------------------------------------------------------
+       <STRONG>tigetflag</STRONG>   get Boolean entry for given <EM>id</EM>
+       <STRONG>tigetnum</STRONG>    get numeric entry for given <EM>id</EM>
+       <STRONG>tigetstr</STRONG>    get string entry for given <EM>id</EM>
+
+       SVr3  also  replaced several of the SVr2 <EM>terminfo</EM> functions that had no
+       counterpart in the <EM>termcap</EM> interface, documenting them as obsolete.
+
+       <STRONG>Function</STRONG>    <STRONG>Replaced</STRONG> <STRONG>by</STRONG>
+       ------------------------------------------------------------------------
+       crmode      cbreak
+       fixterm     reset_prog_mode
+       gettmode    <EM>n/a</EM>
+       nocrmode    nocbreak
+       resetterm   reset_shell_mode
+       saveterm    def_prog_mode
+       setterm     setupterm
+
+       SVr3 kept the <STRONG>mvcur</STRONG>, <STRONG>vidattr</STRONG>, and <STRONG>vidputs</STRONG> functions, along  with  <STRONG>putp</STRONG>,
+       <STRONG>tparm</STRONG>,  and  <STRONG>tputs</STRONG>.   The latter were needed to support padding, and to
+       handle capabilities accessed by functions such as <STRONG>vidattr</STRONG>  (which  used
+       more than the two parameters supported by <STRONG>tgoto</STRONG>).
+
+       SVr3   introduced   the   functions   for  switching  between  terminal
+       descriptions;  for  example,  <STRONG>set_curterm</STRONG>.   Some   changes   reflected
+       incremental improvements to the SVr2 library.
+
+       <STRONG>o</STRONG>   The  <EM>TERMINAL</EM>  type  definition  was introduced in SVr3.01, for the
+           <EM>term</EM> structure provided in SVr2.
+
+       <STRONG>o</STRONG>   Various global variables such as <STRONG>boolnames</STRONG> were  mentioned  in  the
+           programming  manual  at  this  point, though the variables had been
+           provided in SVr2.
+
+       SVr4 (1989) added the <STRONG>vid_attr</STRONG> and <STRONG>vid_puts</STRONG> functions.
+
+       Other low-level functions are declared in the <EM>curses</EM>  header  files  of
+       Unix  systems,  but  none are documented.  Those noted as "obsolete" by
+       SVr3 remained in use by System V's <STRONG>vi(1)</STRONG> editor.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,   <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,   <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>,   <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>,
+       <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>,   <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,   <STRONG>putc(3)</STRONG>,  <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>,
        <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
 
 
-                                                      <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ncurses 6.5                       2024-04-13                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -447,10 +702,22 @@
 <li><a href="#h3-Output-Functions">Output Functions</a></li>
 <li><a href="#h3-Terminal-Capability-Functions">Terminal Capability Functions</a></li>
 <li><a href="#h3-Terminal-Capability-Names">Terminal Capability Names</a></li>
+<li><a href="#h3-Releasing-Memory">Releasing Memory</a></li>
 </ul>
 </li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a>
+<ul>
+<li><a href="#h3-Compatibility-Macros">Compatibility Macros</a></li>
+<li><a href="#h3-Legacy-Data">Legacy Data</a></li>
+<li><a href="#h3-Output-Buffering">Output Buffering</a></li>
+<li><a href="#h3-Function-Prototypes">Function Prototypes</a></li>
+<li><a href="#h3-Other-Portability-Issues">Other Portability Issues</a></li>
+</ul>
+</li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
diff --git a/doc/html/man/curs_threads.3x.html b/doc/html/man/curs_threads.3x.html
index e37da32..8681a8f 100644
--- a/doc/html/man/curs_threads.3x.html
+++ b/doc/html/man/curs_threads.3x.html
@@ -1,6 +1,8 @@
-<!-- 
+<!--
+  * t
   ****************************************************************************
-  * Copyright (c) 2008-2014,2015 Free Software Foundation, Inc.              *
+  * Copyright 2021-2023,2024 Thomas E. Dickey                                *
+  * Copyright 2008-2015,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,607 +28,596 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_threads.3x,v 1.21 2015/04/11 10:23:49 tom Exp @
-  * ***************************************************************************
-  * ***************************************************************************
+  * @Id: curs_threads.3x,v 1.56 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_threads 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_threads 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_threads 3x</H1>
+<H1 class="no-header">curs_threads 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>                                       <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>
+<STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>                 Library calls                <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>use_screen</STRONG>, <STRONG>use_window</STRONG> - <STRONG>curses</STRONG> thread support
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <EM>NCURSES</EM><STRONG>_</STRONG><EM>WINDOW</EM><STRONG>_</STRONG><EM>CB</EM>,   <EM>NCURSES</EM><STRONG>_</STRONG><EM>SCREEN</EM><STRONG>_</STRONG><EM>CB</EM>,   <STRONG>get_escdelay</STRONG>,   <STRONG>set_escdelay</STRONG>,
+       <STRONG>set_tabsize</STRONG>, <STRONG>use_screen</STRONG>, <STRONG>use_window</STRONG> - <EM>curses</EM> support for multi-threaded
+       applications
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
+       <EM>/*</EM> <EM>data</EM> <EM>types</EM> <EM>*/</EM>
        <STRONG>typedef</STRONG> <STRONG>int</STRONG> <STRONG>(*NCURSES_WINDOW_CB)(WINDOW</STRONG> <STRONG>*,</STRONG> <STRONG>void</STRONG> <STRONG>*);</STRONG>
        <STRONG>typedef</STRONG> <STRONG>int</STRONG> <STRONG>(*NCURSES_SCREEN_CB)(SCREEN</STRONG> <STRONG>*,</STRONG> <STRONG>void</STRONG> <STRONG>*);</STRONG>
+
        <STRONG>int</STRONG> <STRONG>get_escdelay(void);</STRONG>
-       <STRONG>int</STRONG> <STRONG>set_escdelay(int</STRONG> <STRONG>size);</STRONG>
-       <STRONG>int</STRONG> <STRONG>set_tabsize(int</STRONG> <STRONG>size);</STRONG>
-       <STRONG>int</STRONG>  <STRONG>use_screen(SCREEN</STRONG>  <STRONG>*scr,</STRONG> <STRONG>NCURSES_SCREEN_CB</STRONG> <STRONG>func,</STRONG> <STRONG>void</STRONG>
-       <STRONG>*data);</STRONG>
-       <STRONG>int</STRONG> <STRONG>use_window(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>NCURSES_WINDOW_CB</STRONG>  <STRONG>func,</STRONG>  <STRONG>void</STRONG>
-       <STRONG>*data);</STRONG>
+       <STRONG>int</STRONG> <STRONG>set_escdelay(int</STRONG> <EM>ms</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>set_tabsize(int</STRONG> <EM>cols</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>use_screen(SCREEN</STRONG> <STRONG>*</STRONG><EM>scr</EM><STRONG>,</STRONG> <STRONG>NCURSES_SCREEN_CB</STRONG> <EM>func</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>data</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>use_window(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>NCURSES_WINDOW_CB</STRONG> <EM>func</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>data</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       This  implementation can be configured to provide rudimen-
-       tary support for multi-threaded applications.  This  makes
-       a  different set of libraries, e.g., <EM>libncursest</EM> since the
-       binary interfaces are different.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The  <EM>ncurses</EM>  library  can  be  configured  to  support  multi-threaded
+       applications in a  rudimentary  way.   Such  configuration  produces  a
+       different set of libraries, named <EM>libncursest</EM>, for example, since doing
+       so alters <EM>ncurses</EM>'s application binary interface (ABI).
 
-       Rather than modify the interfaces to pass a thread  speci-
-       fier  to  each function, it adds a few functions which can
-       be used in any configuration which hide the mutex's needed
-       to  prevent  concurrent  use  of the global variables when
-       configured for threading.
+       Instead of modifying the programming interface (API)  to  make  <EM>ncurses</EM>
+       functions  expect  an  additional  argument  specifying  a  thread, the
+       library adds functions, usable in  any  configuration,  that  hide  the
+       <EM>mutexes</EM> (mutual exclusion locks) needed to prevent concurrent access to
+       variables shared by multiple threads of execution.
 
-       In addition to forcing access to  members  of  the  <STRONG>WINDOW</STRONG>
-       structure  to  be  via functions (see <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>), it
-       makes functions of the common global variables, e.g., COL-
-       ORS,  COLOR_PAIRS,  COLS, ESCDELAY, LINES, TABSIZE curscr,
-       newscr and ttytype.  Those  variables  are  maintained  as
-       read-only values, stored in the <STRONG>SCREEN</STRONG> structure.
+       <EM>ncurses</EM> threading support requires  the  use  of  functions  to  access
+       members  of  the  <EM>WINDOW</EM>  structure  (see <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>).  It further
+       makes functions of the common  global  variables  <STRONG>COLORS</STRONG>,  <STRONG>COLOR_PAIRS</STRONG>,
+       <STRONG>COLS</STRONG>,   <STRONG>ESCDELAY</STRONG>,   <STRONG>LINES</STRONG>,   <STRONG>TABSIZE</STRONG>,   <STRONG>curscr</STRONG>,  <STRONG>newscr</STRONG>,  and  <STRONG>ttytype</STRONG>,
+       maintaining them as as read-only values in the <EM>SCREEN</EM> structure.
 
-       Even  this is not enough to make a thread-safe application
-       using curses.  A multi-threaded application would  be  ex-
-       pected  to  have threads updating separate windows (within
-       the same device), or updating on separate screens (on dif-
-       ferent  devices).  Also, a few of the global variables are
-       considered writable by some applications.   The  functions
-       described here address these special situations.
+       Even this is not enough to make an  application  using  <EM>curses</EM>  thread-
+       safe.   We  would  expect  a multi-threaded application to have threads
+       updating separate windows (on the same device),  and  separate  screens
+       (on  different  devices).   Further,  applications  expect a few of the
+       global variables to be writable.  The functions described here  address
+       these special situations.
 
-       The  ESCDELAY and TABSIZE global variables are modified by
-       some applications.  To modify them in  any  configuration,
-       use  the  <STRONG>set_escdelay</STRONG>  or  <STRONG>set_tabsize</STRONG>  functions.  Other
-       global variables are not modifiable.
+       The  <STRONG>ESCDELAY</STRONG>  and  <STRONG>TABSIZE</STRONG>  global  variables  are  modified  by  some
+       applications.   To  modify  them  in   any   configuration,   use   the
+       <STRONG>set_escdelay</STRONG>  or <STRONG>set_tabsize</STRONG> functions.  Other global variables are not
+       modifiable.  <STRONG>get_escdelay</STRONG> retrieves <STRONG>ESCDELAY</STRONG>'s value.
 
-       The <STRONG>get_escdelay</STRONG> function returns the value for ESCDELAY.
-
-       The <STRONG>use_window</STRONG> and  <STRONG>use_screen</STRONG>  functions  provide  coarse
-       granularity mutexes for their respective <STRONG>WINDOW</STRONG> and <STRONG>SCREEN</STRONG>
-       parameters, and call a user-supplied function, passing  it
-       a  <EM>data</EM>  parameter, and returning the value from the user-
-       supplied function to the application.
+       The <STRONG>use_window</STRONG> and <STRONG>use_screen</STRONG> functions provide coarse-grained  mutexes
+       for  their  respective  <EM>WINDOW</EM> and <EM>SCREEN</EM> parameters; they call a user-
+       supplied function, pass it a <EM>data</EM> parameter, and return the value  from
+       the user-supplied function to the application.
 
 
-</PRE>
-<H3><a name="h3-USAGE">USAGE</a></H3><PRE>
-       All of the ncurses library functions assume that  the  lo-
-       cale  is  not altered during operation.  In addition, they
-       use data which is maintained within a hierarchy of scopes.
+</PRE><H3><a name="h3-Usage">Usage</a></H3><PRE>
+       All  <EM>ncurses</EM>  library  functions  assume that the locale is not altered
+       during operation.  In addition, they use data that is maintained within
+       a hierarchy of scopes.
 
-          <STRONG>o</STRONG>   global data, e.g., used in the  low-level  terminfo
-              or termcap interfaces.
+       <STRONG>o</STRONG>   global data used in the low-level <EM>terminfo</EM> or <EM>termcap</EM> interfaces
 
-          <STRONG>o</STRONG>   terminal  data,  e.g.,  associated  with  a call to
-              <EM>set</EM><STRONG>_</STRONG><EM>curterm</EM>.  The  terminal  data  are  initialized
-              when screens are created.
+       <STRONG>o</STRONG>   terminal data associated with a call to <STRONG><A HREF="curs_terminfo.3x.html">set_curterm(3x)</A></STRONG>
 
-          <STRONG>o</STRONG>   screen  data,  e.g.,  associated  with  a  call  to
-              <EM>newterm</EM> or <EM>initscr</EM>.
+           Terminal data are initialized when screens are created.
 
-          <STRONG>o</STRONG>   window data, e.g., associated with a call to <EM>newwin</EM>
-              or  <EM>subwin</EM>.   Windows  are associated with screens.
-              Pads are not necessarily associated with a particu-
-              lar screen.
+       <STRONG>o</STRONG>   screen data associated with a call to <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG> or <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG>
 
-              Most  curses  applications  operate  on one or more
-              windows within a single screen.
+       <STRONG>o</STRONG>   window data associated with a call to <STRONG><A HREF="curs_window.3x.html">newwin(3x)</A></STRONG> or <STRONG><A HREF="subwin.3x.html">subwin(3x)</A></STRONG>
 
-          <STRONG>o</STRONG>   reentrant, i.e., it uses only the  data  passed  as
-              parameters.
+           Windows  are  associated  with  screens.   Pads are not necessarily
+           associated with any particular screen.
 
-       This table lists the scope of data used for each symbol in
-       the ncurses library  when  it  is  configured  to  support
-       threading:
+           Most <EM>curses</EM> applications operate on one or more  windows  within  a
+           single screen.
 
-      Symbol                  Scope
-      -------------------------------------------------------------
-      BC                      global
-      COLORS                  screen (readonly)
-      COLOR_PAIR              reentrant
-      COLOR_PAIRS             screen (readonly)
-      COLS                    screen (readonly)
-      ESCDELAY                screen (readonly, see <EM>set</EM><STRONG>_</STRONG><EM>escdelay</EM>)
-      LINES                   screen (readonly)
-      PAIR_NUMBER             reentrant
-      PC                      global
-      SP                      global
-      TABSIZE                 screen (readonly)
-      UP                      global
-      acs_map                 screen (readonly)
-      add_wch                 window (stdscr)
-      add_wchnstr             window (stdscr)
-      add_wchstr              window (stdscr)
-      addch                   window (stdscr)
-      addchnstr               window (stdscr)
-      addchstr                window (stdscr)
-      addnstr                 window (stdscr)
-      addnwstr                window (stdscr)
-      addstr                  window (stdscr)
-      addwstr                 window (stdscr)
-      assume_default_colors   screen
-      attr_get                window (stdscr)
-      attr_off                window (stdscr)
-      attr_on                 window (stdscr)
-      attr_set                window (stdscr)
-      attroff                 window (stdscr)
-      attron                  window (stdscr)
-      attrset                 window (stdscr)
-      baudrate                screen
-      beep                    screen
-      bkgd                    window (stdscr)
-      bkgdset                 window (stdscr)
-      bkgrnd                  window (stdscr)
-      bkgrndset               window (stdscr)
-      boolcodes               global (readonly)
-      boolfnames              global (readonly)
-      boolnames               global (readonly)
-      border                  window (stdscr)
+       <STRONG>o</STRONG>   reentrant  data  associated  with  "pure"  functions  that alter no
+           shared variables
 
-      border_set              window (stdscr)
-      box                     window (stdscr)
-      box_set                 window (stdscr)
-      can_change_color        terminal
-      cbreak                  screen
-      chgat                   window (stdscr)
-      clear                   window (stdscr)
-      clearok                 window
-      clrtobot                window (stdscr)
-      clrtoeol                window (stdscr)
-      color_content           screen
-      color_set               window (stdscr)
-      copywin                 window locks(source, target)
-      cur_term                terminal
-      curs_set                screen
-      curscr                  screen (readonly)
-      curses_version          global (readonly)
-      def_prog_mode           terminal
-      def_shell_mode          terminal
-      define_key              screen
-      del_curterm             screen
-      delay_output            screen
-      delch                   window (stdscr)
-      deleteln                window (stdscr)
-      delscreen               global locks(screenlist, screen)
-      delwin                  global locks(windowlist)
-      derwin                  screen
-      doupdate                screen
-      dupwin                  screen locks(window)
-      echo                    screen
-      echo_wchar              window (stdscr)
-      echochar                window (stdscr)
-      endwin                  screen
-      erase                   window (stdscr)
-      erasechar               window (stdscr)
-      erasewchar              window (stdscr)
-      filter                  global
-      flash                   terminal
-      flushinp                screen
-      get_wch                 screen (input-operation)
-      get_wstr                screen (input-operation)
-      getattrs                window
-      getbegx                 window
-      getbegy                 window
-      getbkgd                 window
-      getbkgrnd               window
-      getcchar                reentrant
-      getch                   screen (input-operation)
-      getcurx                 window
-      getcury                 window
-      getmaxx                 window
-      getmaxy                 window
-      getmouse                screen (input-operation)
-      getn_wstr               screen (input-operation)
-      getnstr                 screen (input-operation)
-      getparx                 window
-      getpary                 window
-      getstr                  screen (input-operation)
-      getwin                  screen (input-operation)
-      halfdelay               screen
-      has_colors              terminal
-      has_ic                  terminal
-      has_il                  terminal
-      has_key                 screen
-      hline                   window (stdscr)
-      hline_set               window (stdscr)
+       The following table lists the scope  of  each  symbol  in  the  <EM>ncurses</EM>
+       library when configured to support multi-threaded applications.
 
-      idcok                   window
-      idlok                   window
-      immedok                 window
-      in_wch                  window (stdscr)
-      in_wchnstr              window (stdscr)
-      in_wchstr               window (stdscr)
-      inch                    window (stdscr)
-      inchnstr                window (stdscr)
-      inchstr                 window (stdscr)
-      init_color              screen
-      init_pair               screen
-      initscr                 global locks(screenlist)
-      innstr                  window (stdscr)
-      innwstr                 window (stdscr)
-      ins_nwstr               window (stdscr)
-      ins_wch                 window (stdscr)
-      ins_wstr                window (stdscr)
-      insch                   window (stdscr)
-      insdelln                window (stdscr)
-      insertln                window (stdscr)
-      insnstr                 window (stdscr)
-      insstr                  window (stdscr)
-      instr                   window (stdscr)
-      intrflush               terminal
-      inwstr                  window (stdscr)
-      is_cleared              window
-      is_idcok                window
-      is_idlok                window
-      is_immedok              window
-      is_keypad               window
-      is_leaveok              window
-      is_linetouched          window
-      is_nodelay              window
-      is_notimeout            window
-      is_scrollok             window
-      is_syncok               window
-      is_term_resized         terminal
-      is_wintouched           window
-      isendwin                screen
-      key_defined             screen
-      key_name                global (static data)
-      keybound                screen
-      keyname                 global (static data)
-      keyok                   screen
-      keypad                  window
-      killchar                terminal
-      killwchar               terminal
-      leaveok                 window
-      longname                screen
-      mcprint                 terminal
-      meta                    screen
-      mouse_trafo             window (stdscr)
-      mouseinterval           screen
-      mousemask               screen
-      move                    window (stdscr)
-      mvadd_wch               window (stdscr)
-      mvadd_wchnstr           window (stdscr)
-      mvadd_wchstr            window (stdscr)
-      mvaddch                 window (stdscr)
-      mvaddchnstr             window (stdscr)
-      mvaddchstr              window (stdscr)
-      mvaddnstr               window (stdscr)
-      mvaddnwstr              window (stdscr)
-      mvaddstr                window (stdscr)
-      mvaddwstr               window (stdscr)
-      mvchgat                 window (stdscr)
+       <STRONG>Symbol</STRONG>                 <STRONG>Scope</STRONG>
+       ------------------------------------------------------------------------
+       <STRONG>BC</STRONG>                     global
+       <STRONG>COLORS</STRONG>                 screen (read-only)
+       <STRONG>COLOR_PAIR</STRONG>             reentrant
+       <STRONG>COLOR_PAIRS</STRONG>            screen (read-only)
+       <STRONG>COLS</STRONG>                   screen (read-only)
+       <STRONG>ESCDELAY</STRONG>               screen (read-only; see <STRONG>set_escdelay</STRONG>)
+       <STRONG>LINES</STRONG>                  screen (read-only)
+       <STRONG>PAIR_NUMBER</STRONG>            reentrant
+       <STRONG>PC</STRONG>                     global
+       <STRONG>SP</STRONG>                     global
+       <STRONG>TABSIZE</STRONG>                screen (read-only; see <STRONG>set_tabsize</STRONG>)
+       <STRONG>UP</STRONG>                     global
+       <STRONG>acs_map</STRONG>                screen (read-only)
+       <STRONG>add_wch</STRONG>                window (<STRONG>stdscr</STRONG>)
+       <STRONG>add_wchnstr</STRONG>            window (<STRONG>stdscr</STRONG>)
+       <STRONG>add_wchstr</STRONG>             window (<STRONG>stdscr</STRONG>)
+       <STRONG>addch</STRONG>                  window (<STRONG>stdscr</STRONG>)
+       <STRONG>addchnstr</STRONG>              window (<STRONG>stdscr</STRONG>)
+       <STRONG>addchstr</STRONG>               window (<STRONG>stdscr</STRONG>)
+       <STRONG>addnstr</STRONG>                window (<STRONG>stdscr</STRONG>)
+       <STRONG>addnwstr</STRONG>               window (<STRONG>stdscr</STRONG>)
+       <STRONG>addstr</STRONG>                 window (<STRONG>stdscr</STRONG>)
+       <STRONG>addwstr</STRONG>                window (<STRONG>stdscr</STRONG>)
+       <STRONG>assume_default_colors</STRONG>  screen
+       <STRONG>attr_get</STRONG>               window (<STRONG>stdscr</STRONG>)
+       <STRONG>attr_off</STRONG>               window (<STRONG>stdscr</STRONG>)
+       <STRONG>attr_on</STRONG>                window (<STRONG>stdscr</STRONG>)
+       <STRONG>attr_set</STRONG>               window (<STRONG>stdscr</STRONG>)
+       <STRONG>attroff</STRONG>                window (<STRONG>stdscr</STRONG>)
+       <STRONG>attron</STRONG>                 window (<STRONG>stdscr</STRONG>)
+       <STRONG>attrset</STRONG>                window (<STRONG>stdscr</STRONG>)
+       <STRONG>baudrate</STRONG>               screen
+       <STRONG>beep</STRONG>                   screen
+       <STRONG>bkgd</STRONG>                   window (<STRONG>stdscr</STRONG>)
+       <STRONG>bkgdset</STRONG>                window (<STRONG>stdscr</STRONG>)
+       <STRONG>bkgrnd</STRONG>                 window (<STRONG>stdscr</STRONG>)
+       <STRONG>bkgrndset</STRONG>              window (<STRONG>stdscr</STRONG>)
+       <STRONG>boolcodes</STRONG>              global (read-only)
+       <STRONG>boolfnames</STRONG>             global (read-only)
+       <STRONG>boolnames</STRONG>              global (read-only)
+       <STRONG>border</STRONG>                 window (<STRONG>stdscr</STRONG>)
+       <STRONG>border_set</STRONG>             window (<STRONG>stdscr</STRONG>)
+       <STRONG>box</STRONG>                    window (<STRONG>stdscr</STRONG>)
+       <STRONG>box_set</STRONG>                window (<STRONG>stdscr</STRONG>)
+       <STRONG>can_change_color</STRONG>       terminal
+       <STRONG>cbreak</STRONG>                 screen
 
-      mvcur                   screen
-      mvdelch                 window (stdscr)
-      mvderwin                window (stdscr)
-      mvget_wch               screen (input-operation)
-      mvget_wstr              screen (input-operation)
-      mvgetch                 screen (input-operation)
-      mvgetn_wstr             screen (input-operation)
-      mvgetnstr               screen (input-operation)
-      mvgetstr                screen (input-operation)
-      mvhline                 window (stdscr)
-      mvhline_set             window (stdscr)
-      mvin_wch                window (stdscr)
-      mvin_wchnstr            window (stdscr)
-      mvin_wchstr             window (stdscr)
-      mvinch                  window (stdscr)
-      mvinchnstr              window (stdscr)
-      mvinchstr               window (stdscr)
-      mvinnstr                window (stdscr)
-      mvinnwstr               window (stdscr)
-      mvins_nwstr             window (stdscr)
-      mvins_wch               window (stdscr)
-      mvins_wstr              window (stdscr)
-      mvinsch                 window (stdscr)
-      mvinsnstr               window (stdscr)
-      mvinsstr                window (stdscr)
-      mvinstr                 window (stdscr)
-      mvinwstr                window (stdscr)
-      mvprintw                window (stdscr)
-      mvscanw                 screen
-      mvvline                 window (stdscr)
-      mvvline_set             window (stdscr)
-      mvwadd_wch              window
-      mvwadd_wchnstr          window
-      mvwadd_wchstr           window
-      mvwaddch                window
-      mvwaddchnstr            window
-      mvwaddchstr             window
-      mvwaddnstr              window
-      mvwaddnwstr             window
-      mvwaddstr               window
-      mvwaddwstr              window
-      mvwchgat                window
-      mvwdelch                window
-      mvwget_wch              screen (input-operation)
-      mvwget_wstr             screen (input-operation)
-      mvwgetch                screen (input-operation)
-      mvwgetn_wstr            screen (input-operation)
-      mvwgetnstr              screen (input-operation)
-      mvwgetstr               screen (input-operation)
-      mvwhline                window
-      mvwhline_set            window
-      mvwin                   window
-      mvwin_wch               window
-      mvwin_wchnstr           window
-      mvwin_wchstr            window
-      mvwinch                 window
-      mvwinchnstr             window
-      mvwinchstr              window
-      mvwinnstr               window
-      mvwinnwstr              window
-      mvwins_nwstr            window
-      mvwins_wch              window
-      mvwins_wstr             window
-      mvwinsch                window
-      mvwinsnstr              window
-      mvwinsstr               window
+       <STRONG>chgat</STRONG>                  window (<STRONG>stdscr</STRONG>)
+       <STRONG>clear</STRONG>                  window (<STRONG>stdscr</STRONG>)
+       <STRONG>clearok</STRONG>                window
+       <STRONG>clrtobot</STRONG>               window (<STRONG>stdscr</STRONG>)
+       <STRONG>clrtoeol</STRONG>               window (<STRONG>stdscr</STRONG>)
+       <STRONG>color_content</STRONG>          screen
+       <STRONG>color_set</STRONG>              window (<STRONG>stdscr</STRONG>)
+       <STRONG>copywin</STRONG>                window (locks source, target)
+       <STRONG>cur_term</STRONG>               terminal
+       <STRONG>curs_set</STRONG>               screen
+       <STRONG>curscr</STRONG>                 screen (read-only)
+       <STRONG>curses_version</STRONG>         global (read-only)
+       <STRONG>def_prog_mode</STRONG>          terminal
+       <STRONG>def_shell_mode</STRONG>         terminal
+       <STRONG>define_key</STRONG>             screen
+       <STRONG>del_curterm</STRONG>            screen
+       <STRONG>delay_output</STRONG>           screen
+       <STRONG>delch</STRONG>                  window (<STRONG>stdscr</STRONG>)
+       <STRONG>deleteln</STRONG>               window (<STRONG>stdscr</STRONG>)
+       <STRONG>delscreen</STRONG>              global (locks screen list, screen)
+       <STRONG>delwin</STRONG>                 global (locks window list)
+       <STRONG>derwin</STRONG>                 screen
+       <STRONG>doupdate</STRONG>               screen
+       <STRONG>dupwin</STRONG>                 screen (locks window)
+       <STRONG>echo</STRONG>                   screen
+       <STRONG>echo_wchar</STRONG>             window (<STRONG>stdscr</STRONG>)
+       <STRONG>echochar</STRONG>               window (<STRONG>stdscr</STRONG>)
+       <STRONG>endwin</STRONG>                 screen
+       <STRONG>erase</STRONG>                  window (<STRONG>stdscr</STRONG>)
+       <STRONG>erasechar</STRONG>              window (<STRONG>stdscr</STRONG>)
+       <STRONG>erasewchar</STRONG>             window (<STRONG>stdscr</STRONG>)
+       <STRONG>filter</STRONG>                 global
+       <STRONG>flash</STRONG>                  terminal
+       <STRONG>flushinp</STRONG>               screen
+       <STRONG>get_wch</STRONG>                screen (input operation)
+       <STRONG>get_wstr</STRONG>               screen (input operation)
+       <STRONG>getattrs</STRONG>               window
+       <STRONG>getbegx</STRONG>                window
+       <STRONG>getbegy</STRONG>                window
+       <STRONG>getbkgd</STRONG>                window
+       <STRONG>getbkgrnd</STRONG>              window
+       <STRONG>getcchar</STRONG>               reentrant
+       <STRONG>getch</STRONG>                  screen (input operation)
+       <STRONG>getcurx</STRONG>                window
+       <STRONG>getcury</STRONG>                window
+       <STRONG>getmaxx</STRONG>                window
+       <STRONG>getmaxy</STRONG>                window
+       <STRONG>getmouse</STRONG>               screen (input operation)
+       <STRONG>getn_wstr</STRONG>              screen (input operation)
+       <STRONG>getnstr</STRONG>                screen (input operation)
+       <STRONG>getparx</STRONG>                window
+       <STRONG>getpary</STRONG>                window
+       <STRONG>getstr</STRONG>                 screen (input operation)
+       <STRONG>getwin</STRONG>                 screen (input operation)
+       <STRONG>halfdelay</STRONG>              screen
+       <STRONG>has_colors</STRONG>             terminal
+       <STRONG>has_ic</STRONG>                 terminal
+       <STRONG>has_il</STRONG>                 terminal
+       <STRONG>has_key</STRONG>                screen
+       <STRONG>hline</STRONG>                  window (<STRONG>stdscr</STRONG>)
+       <STRONG>hline_set</STRONG>              window (<STRONG>stdscr</STRONG>)
+       <STRONG>idcok</STRONG>                  window
+       <STRONG>idlok</STRONG>                  window
+       <STRONG>immedok</STRONG>                window
+       <STRONG>in_wch</STRONG>                 window (<STRONG>stdscr</STRONG>)
+       <STRONG>in_wchnstr</STRONG>             window (<STRONG>stdscr</STRONG>)
 
-      mvwinstr                window
-      mvwinwstr               window
-      mvwprintw               window
-      mvwscanw                screen
-      mvwvline                window
-      mvwvline_set            window
-      napms                   reentrant
-      newpad                  global locks(windowlist)
-      newscr                  screen (readonly)
-      newterm                 global locks(screenlist)
-      newwin                  global locks(windowlist)
-      nl                      screen
-      nocbreak                screen
-      nodelay                 window
-      noecho                  screen
-      nofilter                global
-      nonl                    screen
-      noqiflush               terminal
-      noraw                   screen
-      notimeout               window
-      numcodes                global (readonly)
-      numfnames               global (readonly)
-      numnames                global (readonly)
-      ospeed                  global
-      overlay                 window locks(source, target)
-      overwrite               window locks(source, target)
-      pair_content            screen
-      pecho_wchar             screen
-      pechochar               screen
-      pnoutrefresh            screen
-      prefresh                screen
-      printw                  window
-      putp                    global
-      putwin                  window
-      qiflush                 terminal
-      raw                     screen
-      redrawwin               window
-      refresh                 screen
-      reset_prog_mode         screen
-      reset_shell_mode        screen
-      resetty                 terminal
-      resize_term             screen locks(windowlist)
-      resizeterm              screen
-      restartterm             screen
-      ripoffline              global (static data)
-      savetty                 terminal
-      scanw                   screen
-      scr_dump                screen
-      scr_init                screen
-      scr_restore             screen
-      scr_set                 screen
-      scrl                    window (stdscr)
-      scroll                  window
-      scrollok                window
-      set_curterm             screen
-      set_escdelay            screen
-      set_tabsize             screen
-      set_term                global locks(screenlist, screen)
-      setcchar                reentrant
-      setscrreg               window (stdscr)
-      setupterm               global
-      slk_attr                screen
-      slk_attr_off            screen
-      slk_attr_on             screen
-      slk_attr_set            screen
-      slk_attroff             screen
+       <STRONG>in_wchstr</STRONG>              window (<STRONG>stdscr</STRONG>)
+       <STRONG>inch</STRONG>                   window (<STRONG>stdscr</STRONG>)
+       <STRONG>inchnstr</STRONG>               window (<STRONG>stdscr</STRONG>)
+       <STRONG>inchstr</STRONG>                window (<STRONG>stdscr</STRONG>)
+       <STRONG>init_color</STRONG>             screen
+       <STRONG>init_pair</STRONG>              screen
+       <STRONG>initscr</STRONG>                global (locks screen list)
+       <STRONG>innstr</STRONG>                 window (<STRONG>stdscr</STRONG>)
+       <STRONG>innwstr</STRONG>                window (<STRONG>stdscr</STRONG>)
+       <STRONG>ins_nwstr</STRONG>              window (<STRONG>stdscr</STRONG>)
+       <STRONG>ins_wch</STRONG>                window (<STRONG>stdscr</STRONG>)
+       <STRONG>ins_wstr</STRONG>               window (<STRONG>stdscr</STRONG>)
+       <STRONG>insch</STRONG>                  window (<STRONG>stdscr</STRONG>)
+       <STRONG>insdelln</STRONG>               window (<STRONG>stdscr</STRONG>)
+       <STRONG>insertln</STRONG>               window (<STRONG>stdscr</STRONG>)
+       <STRONG>insnstr</STRONG>                window (<STRONG>stdscr</STRONG>)
+       <STRONG>insstr</STRONG>                 window (<STRONG>stdscr</STRONG>)
+       <STRONG>instr</STRONG>                  window (<STRONG>stdscr</STRONG>)
+       <STRONG>intrflush</STRONG>              terminal
+       <STRONG>inwstr</STRONG>                 window (<STRONG>stdscr</STRONG>)
+       <STRONG>is_cleared</STRONG>             window
+       <STRONG>is_idcok</STRONG>               window
+       <STRONG>is_idlok</STRONG>               window
+       <STRONG>is_immedok</STRONG>             window
+       <STRONG>is_keypad</STRONG>              window
+       <STRONG>is_leaveok</STRONG>             window
+       <STRONG>is_linetouched</STRONG>         window
+       <STRONG>is_nodelay</STRONG>             window
+       <STRONG>is_notimeout</STRONG>           window
+       <STRONG>is_scrollok</STRONG>            window
+       <STRONG>is_syncok</STRONG>              window
+       <STRONG>is_term_resized</STRONG>        terminal
+       <STRONG>is_wintouched</STRONG>          window
+       <STRONG>isendwin</STRONG>               screen
+       <STRONG>key_defined</STRONG>            screen
+       <STRONG>key_name</STRONG>               global (static data)
+       <STRONG>keybound</STRONG>               screen
+       <STRONG>keyname</STRONG>                global (static data)
+       <STRONG>keyok</STRONG>                  screen
+       <STRONG>keypad</STRONG>                 window
+       <STRONG>killchar</STRONG>               terminal
+       <STRONG>killwchar</STRONG>              terminal
+       <STRONG>leaveok</STRONG>                window
+       <STRONG>longname</STRONG>               screen
+       <STRONG>mcprint</STRONG>                terminal
+       <STRONG>meta</STRONG>                   screen
+       <STRONG>mouse_trafo</STRONG>            window (<STRONG>stdscr</STRONG>)
+       <STRONG>mouseinterval</STRONG>          screen
+       <STRONG>mousemask</STRONG>              screen
+       <STRONG>move</STRONG>                   window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvadd_wch</STRONG>              window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvadd_wchnstr</STRONG>          window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvadd_wchstr</STRONG>           window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvaddch</STRONG>                window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvaddchnstr</STRONG>            window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvaddchstr</STRONG>             window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvaddnstr</STRONG>              window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvaddnwstr</STRONG>             window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvaddstr</STRONG>               window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvaddwstr</STRONG>              window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvchgat</STRONG>                window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvcur</STRONG>                  screen
+       <STRONG>mvdelch</STRONG>                window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvderwin</STRONG>               window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvget_wch</STRONG>              screen (input operation)
+       <STRONG>mvget_wstr</STRONG>             screen (input operation)
 
-      slk_attron              screen
-      slk_attrset             screen
-      slk_clear               screen
-      slk_color               screen
-      slk_init                screen
-      slk_label               screen
-      slk_noutrefresh         screen
-      slk_refresh             screen
-      slk_restore             screen
-      slk_set                 screen
-      slk_touch               screen
-      slk_wset                screen
-      standend                window
-      standout                window
-      start_color             screen
-      stdscr                  screen (readonly)
-      strcodes                global (readonly)
-      strfnames               global (readonly)
-      strnames                global (readonly)
-      subpad                  window
-      subwin                  window
-      syncok                  window
-      term_attrs              screen
-      termattrs               screen
-      termname                terminal
-      tgetent                 global
-      tgetflag                global
-      tgetnum                 global
-      tgetstr                 global
-      tgoto                   global
-      tigetflag               terminal
-      tigetnum                terminal
-      tigetstr                terminal
-      timeout                 window (stdscr)
-      touchline               window
-      touchwin                window
-      tparm                   global (static data)
-      tputs                   screen
-      trace                   global (static data)
-      ttytype                 screen (readonly)
-      typeahead               screen
-      unctrl                  screen
-      unget_wch               screen (input-operation)
-      ungetch                 screen (input-operation)
-      ungetmouse              screen (input-operation)
-      untouchwin              window
-      use_default_colors      screen
-      use_env                 global (static data)
-      use_extended_names      global (static data)
-      use_legacy_coding       screen
-      use_screen              global locks(screenlist, screen)
-      use_window              global locks(windowlist, window)
-      vid_attr                screen
-      vid_puts                screen
-      vidattr                 screen
-      vidputs                 screen
-      vline                   window (stdscr)
-      vline_set               window (stdscr)
-      vw_printw               window
-      vw_scanw                screen
-      vwprintw                window
-      vwscanw                 screen
-      wadd_wch                window
-      wadd_wchnstr            window
-      wadd_wchstr             window
-      waddch                  window
+       <STRONG>mvgetch</STRONG>                screen (input operation)
+       <STRONG>mvgetn_wstr</STRONG>            screen (input operation)
+       <STRONG>mvgetnstr</STRONG>              screen (input operation)
+       <STRONG>mvgetstr</STRONG>               screen (input operation)
+       <STRONG>mvhline</STRONG>                window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvhline_set</STRONG>            window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvin_wch</STRONG>               window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvin_wchnstr</STRONG>           window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvin_wchstr</STRONG>            window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvinch</STRONG>                 window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvinchnstr</STRONG>             window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvinchstr</STRONG>              window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvinnstr</STRONG>               window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvinnwstr</STRONG>              window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvins_nwstr</STRONG>            window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvins_wch</STRONG>              window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvins_wstr</STRONG>             window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvinsch</STRONG>                window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvinsnstr</STRONG>              window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvinsstr</STRONG>               window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvinstr</STRONG>                window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvinwstr</STRONG>               window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvprintw</STRONG>               window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvscanw</STRONG>                screen
+       <STRONG>mvvline</STRONG>                window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvvline_set</STRONG>            window (<STRONG>stdscr</STRONG>)
+       <STRONG>mvwadd_wch</STRONG>             window
+       <STRONG>mvwadd_wchnstr</STRONG>         window
+       <STRONG>mvwadd_wchstr</STRONG>          window
+       <STRONG>mvwaddch</STRONG>               window
+       <STRONG>mvwaddchnstr</STRONG>           window
+       <STRONG>mvwaddchstr</STRONG>            window
+       <STRONG>mvwaddnstr</STRONG>             window
+       <STRONG>mvwaddnwstr</STRONG>            window
+       <STRONG>mvwaddstr</STRONG>              window
+       <STRONG>mvwaddwstr</STRONG>             window
+       <STRONG>mvwchgat</STRONG>               window
+       <STRONG>mvwdelch</STRONG>               window
+       <STRONG>mvwget_wch</STRONG>             screen (input operation)
+       <STRONG>mvwget_wstr</STRONG>            screen (input operation)
+       <STRONG>mvwgetch</STRONG>               screen (input operation)
+       <STRONG>mvwgetn_wstr</STRONG>           screen (input operation)
+       <STRONG>mvwgetnstr</STRONG>             screen (input operation)
+       <STRONG>mvwgetstr</STRONG>              screen (input operation)
+       <STRONG>mvwhline</STRONG>               window
+       <STRONG>mvwhline_set</STRONG>           window
+       <STRONG>mvwin</STRONG>                  window
+       <STRONG>mvwin_wch</STRONG>              window
+       <STRONG>mvwin_wchnstr</STRONG>          window
+       <STRONG>mvwin_wchstr</STRONG>           window
+       <STRONG>mvwinch</STRONG>                window
+       <STRONG>mvwinchnstr</STRONG>            window
+       <STRONG>mvwinchstr</STRONG>             window
+       <STRONG>mvwinnstr</STRONG>              window
+       <STRONG>mvwinnwstr</STRONG>             window
+       <STRONG>mvwins_nwstr</STRONG>           window
+       <STRONG>mvwins_wch</STRONG>             window
+       <STRONG>mvwins_wstr</STRONG>            window
+       <STRONG>mvwinsch</STRONG>               window
+       <STRONG>mvwinsnstr</STRONG>             window
+       <STRONG>mvwinsstr</STRONG>              window
+       <STRONG>mvwinstr</STRONG>               window
+       <STRONG>mvwinwstr</STRONG>              window
+       <STRONG>mvwprintw</STRONG>              window
+       <STRONG>mvwscanw</STRONG>               screen
+       <STRONG>mvwvline</STRONG>               window
 
-      waddchnstr              window
-      waddchstr               window
-      waddnstr                window
-      waddnwstr               window
-      waddstr                 window
-      waddwstr                window
-      wattr_get               window
-      wattr_off               window
-      wattr_on                window
-      wattr_set               window
-      wattroff                window
-      wattron                 window
-      wattrset                window
-      wbkgd                   window
-      wbkgdset                window
-      wbkgrnd                 window
-      wbkgrndset              window
-      wborder                 window
-      wborder_set             window
-      wchgat                  window
-      wclear                  window
-      wclrtobot               window
-      wclrtoeol               window
-      wcolor_set              window
-      wcursyncup              screen (affects window plus parents)
-      wdelch                  window
-      wdeleteln               window
-      wecho_wchar             window
-      wechochar               window
-      wenclose                window
-      werase                  window
-      wget_wch                screen (input-operation)
-      wget_wstr               screen (input-operation)
-      wgetbkgrnd              window
-      wgetch                  screen (input-operation)
-      wgetdelay               window
-      wgetn_wstr              screen (input-operation)
-      wgetnstr                screen (input-operation)
-      wgetparent              window
-      wgetscrreg              window
-      wgetstr                 screen (input-operation)
-      whline                  window
-      whline_set              window
-      win_wch                 window
-      win_wchnstr             window
-      win_wchstr              window
-      winch                   window
-      winchnstr               window
-      winchstr                window
-      winnstr                 window
-      winnwstr                window
-      wins_nwstr              window
-      wins_wch                window
-      wins_wstr               window
-      winsch                  window
-      winsdelln               window
-      winsertln               window
-      winsnstr                window
-      winsstr                 window
-      winstr                  window
-      winwstr                 window
-      wmouse_trafo            window
-      wmove                   window
-      wnoutrefresh            screen
-      wprintw                 window
-      wredrawln               window
+       <STRONG>mvwvline_set</STRONG>           window
+       <STRONG>napms</STRONG>                  reentrant
+       <STRONG>newpad</STRONG>                 global (locks window list)
+       <STRONG>newscr</STRONG>                 screen (read-only)
+       <STRONG>newterm</STRONG>                global (locks screen list)
+       <STRONG>newwin</STRONG>                 global (locks window list)
+       <STRONG>nl</STRONG>                     screen
+       <STRONG>nocbreak</STRONG>               screen
+       <STRONG>nodelay</STRONG>                window
+       <STRONG>noecho</STRONG>                 screen
+       <STRONG>nofilter</STRONG>               global
+       <STRONG>nonl</STRONG>                   screen
+       <STRONG>noqiflush</STRONG>              terminal
+       <STRONG>noraw</STRONG>                  screen
+       <STRONG>notimeout</STRONG>              window
+       <STRONG>numcodes</STRONG>               global (read-only)
+       <STRONG>numfnames</STRONG>              global (read-only)
+       <STRONG>numnames</STRONG>               global (read-only)
+       <STRONG>ospeed</STRONG>                 global
+       <STRONG>overlay</STRONG>                window (locks source, target)
+       <STRONG>overwrite</STRONG>              window (locks source, target)
+       <STRONG>pair_content</STRONG>           screen
+       <STRONG>pecho_wchar</STRONG>            screen
+       <STRONG>pechochar</STRONG>              screen
+       <STRONG>pnoutrefresh</STRONG>           screen
+       <STRONG>prefresh</STRONG>               screen
+       <STRONG>printw</STRONG>                 window
+       <STRONG>putp</STRONG>                   global
+       <STRONG>putwin</STRONG>                 window
+       <STRONG>qiflush</STRONG>                terminal
+       <STRONG>raw</STRONG>                    screen
+       <STRONG>redrawwin</STRONG>              window
+       <STRONG>refresh</STRONG>                screen
+       <STRONG>reset_prog_mode</STRONG>        screen
+       <STRONG>reset_shell_mode</STRONG>       screen
+       <STRONG>resetty</STRONG>                terminal
+       <STRONG>resize_term</STRONG>            screen (locks window list)
+       <STRONG>resizeterm</STRONG>             screen
+       <STRONG>restartterm</STRONG>            screen
+       <STRONG>ripoffline</STRONG>             global (static data)
+       <STRONG>savetty</STRONG>                terminal
+       <STRONG>scanw</STRONG>                  screen
+       <STRONG>scr_dump</STRONG>               screen
+       <STRONG>scr_init</STRONG>               screen
+       <STRONG>scr_restore</STRONG>            screen
+       <STRONG>scr_set</STRONG>                screen
+       <STRONG>scrl</STRONG>                   window (<STRONG>stdscr</STRONG>)
+       <STRONG>scroll</STRONG>                 window
+       <STRONG>scrollok</STRONG>               window
+       <STRONG>set_curterm</STRONG>            screen
+       <STRONG>set_escdelay</STRONG>           screen
+       <STRONG>set_tabsize</STRONG>            screen
+       <STRONG>set_term</STRONG>               global (locks screen list, screen)
+       <STRONG>setcchar</STRONG>               reentrant
+       <STRONG>setscrreg</STRONG>              window (<STRONG>stdscr</STRONG>)
+       <STRONG>setupterm</STRONG>              global
+       <STRONG>slk_attr</STRONG>               screen
+       <STRONG>slk_attr_off</STRONG>           screen
+       <STRONG>slk_attr_on</STRONG>            screen
+       <STRONG>slk_attr_set</STRONG>           screen
+       <STRONG>slk_attroff</STRONG>            screen
+       <STRONG>slk_attron</STRONG>             screen
+       <STRONG>slk_attrset</STRONG>            screen
+       <STRONG>slk_clear</STRONG>              screen
+       <STRONG>slk_color</STRONG>              screen
+       <STRONG>slk_init</STRONG>               screen
 
-      wrefresh                screen
-      wresize                 window locks(windowlist)
-      wscanw                  screen
-      wscrl                   window
-      wsetscrreg              window
-      wstandend               window
-      wstandout               window
-      wsyncdown               screen (affects window plus parents)
-      wsyncup                 screen (affects window plus parents)
-      wtimeout                window
-      wtouchln                window
-      wunctrl                 global (static data)
-      wvline                  window
-      wvline_set              window
+       <STRONG>slk_label</STRONG>              screen
+       <STRONG>slk_noutrefresh</STRONG>        screen
+       <STRONG>slk_refresh</STRONG>            screen
+       <STRONG>slk_restore</STRONG>            screen
+       <STRONG>slk_set</STRONG>                screen
+       <STRONG>slk_touch</STRONG>              screen
+       <STRONG>slk_wset</STRONG>               screen
+       <STRONG>standend</STRONG>               window
+       <STRONG>standout</STRONG>               window
+       <STRONG>start_color</STRONG>            screen
+       <STRONG>stdscr</STRONG>                 screen (read-only)
+       <STRONG>strcodes</STRONG>               global (read-only)
+       <STRONG>strfnames</STRONG>              global (read-only)
+       <STRONG>strnames</STRONG>               global (read-only)
+       <STRONG>subpad</STRONG>                 window
+       <STRONG>subwin</STRONG>                 window
+       <STRONG>syncok</STRONG>                 window
+       <STRONG>term_attrs</STRONG>             screen
+       <STRONG>termattrs</STRONG>              screen
+       <STRONG>termname</STRONG>               terminal
+       <STRONG>tgetent</STRONG>                global
+       <STRONG>tgetflag</STRONG>               global
+       <STRONG>tgetnum</STRONG>                global
+       <STRONG>tgetstr</STRONG>                global
+       <STRONG>tgoto</STRONG>                  global
+       <STRONG>tigetflag</STRONG>              terminal
+       <STRONG>tigetnum</STRONG>               terminal
+       <STRONG>tigetstr</STRONG>               terminal
+       <STRONG>timeout</STRONG>                window (<STRONG>stdscr</STRONG>)
+       <STRONG>touchline</STRONG>              window
+       <STRONG>touchwin</STRONG>               window
+       <STRONG>tparm</STRONG>                  global (static data)
+       <STRONG>tputs</STRONG>                  screen
+       <STRONG>trace</STRONG>                  global (static data)
+       <STRONG>ttytype</STRONG>                screen (read-only)
+       <STRONG>typeahead</STRONG>              screen
+       <STRONG>unctrl</STRONG>                 screen
+       <STRONG>unget_wch</STRONG>              screen (input operation)
+       <STRONG>ungetch</STRONG>                screen (input operation)
+       <STRONG>ungetmouse</STRONG>             screen (input operation)
+       <STRONG>untouchwin</STRONG>             window
+       <STRONG>use_default_colors</STRONG>     screen
+       <STRONG>use_env</STRONG>                global (static data)
+       <STRONG>use_extended_names</STRONG>     global (static data)
+       <STRONG>use_legacy_coding</STRONG>      screen
+       <STRONG>use_screen</STRONG>             global (locks screen list, screen)
+       <STRONG>use_window</STRONG>             global (locks window list, window)
+       <STRONG>vid_attr</STRONG>               screen
+       <STRONG>vid_puts</STRONG>               screen
+       <STRONG>vidattr</STRONG>                screen
+       <STRONG>vidputs</STRONG>                screen
+       <STRONG>vline</STRONG>                  window (<STRONG>stdscr</STRONG>)
+       <STRONG>vline_set</STRONG>              window (<STRONG>stdscr</STRONG>)
+       <STRONG>vw_printw</STRONG>              window
+       <STRONG>vw_scanw</STRONG>               screen
+       <STRONG>vwprintw</STRONG>               window
+       <STRONG>vwscanw</STRONG>                screen
+       <STRONG>wadd_wch</STRONG>               window
+       <STRONG>wadd_wchnstr</STRONG>           window
+       <STRONG>wadd_wchstr</STRONG>            window
+       <STRONG>waddch</STRONG>                 window
+       <STRONG>waddchnstr</STRONG>             window
+       <STRONG>waddchstr</STRONG>              window
+       <STRONG>waddnstr</STRONG>               window
+       <STRONG>waddnwstr</STRONG>              window
+       <STRONG>waddstr</STRONG>                window
+
+       <STRONG>waddwstr</STRONG>               window
+       <STRONG>wattr_get</STRONG>              window
+       <STRONG>wattr_off</STRONG>              window
+       <STRONG>wattr_on</STRONG>               window
+       <STRONG>wattr_set</STRONG>              window
+       <STRONG>wattroff</STRONG>               window
+       <STRONG>wattron</STRONG>                window
+       <STRONG>wattrset</STRONG>               window
+       <STRONG>wbkgd</STRONG>                  window
+       <STRONG>wbkgdset</STRONG>               window
+       <STRONG>wbkgrnd</STRONG>                window
+       <STRONG>wbkgrndset</STRONG>             window
+       <STRONG>wborder</STRONG>                window
+       <STRONG>wborder_set</STRONG>            window
+       <STRONG>wchgat</STRONG>                 window
+       <STRONG>wclear</STRONG>                 window
+       <STRONG>wclrtobot</STRONG>              window
+       <STRONG>wclrtoeol</STRONG>              window
+       <STRONG>wcolor_set</STRONG>             window
+       <STRONG>wcursyncup</STRONG>             screen (affects window plus parents)
+       <STRONG>wdelch</STRONG>                 window
+       <STRONG>wdeleteln</STRONG>              window
+       <STRONG>wecho_wchar</STRONG>            window
+       <STRONG>wechochar</STRONG>              window
+       <STRONG>wenclose</STRONG>               window
+       <STRONG>werase</STRONG>                 window
+       <STRONG>wget_wch</STRONG>               screen (input operation)
+       <STRONG>wget_wstr</STRONG>              screen (input operation)
+       <STRONG>wgetbkgrnd</STRONG>             window
+       <STRONG>wgetch</STRONG>                 screen (input operation)
+       <STRONG>wgetdelay</STRONG>              window
+       <STRONG>wgetn_wstr</STRONG>             screen (input operation)
+       <STRONG>wgetnstr</STRONG>               screen (input operation)
+       <STRONG>wgetparent</STRONG>             window
+       <STRONG>wgetscrreg</STRONG>             window
+       <STRONG>wgetstr</STRONG>                screen (input operation)
+       <STRONG>whline</STRONG>                 window
+       <STRONG>whline_set</STRONG>             window
+       <STRONG>win_wch</STRONG>                window
+       <STRONG>win_wchnstr</STRONG>            window
+       <STRONG>win_wchstr</STRONG>             window
+       <STRONG>winch</STRONG>                  window
+       <STRONG>winchnstr</STRONG>              window
+       <STRONG>winchstr</STRONG>               window
+       <STRONG>winnstr</STRONG>                window
+       <STRONG>winnwstr</STRONG>               window
+       <STRONG>wins_nwstr</STRONG>             window
+       <STRONG>wins_wch</STRONG>               window
+       <STRONG>wins_wstr</STRONG>              window
+       <STRONG>winsch</STRONG>                 window
+       <STRONG>winsdelln</STRONG>              window
+       <STRONG>winsertln</STRONG>              window
+       <STRONG>winsnstr</STRONG>               window
+       <STRONG>winsstr</STRONG>                window
+       <STRONG>winstr</STRONG>                 window
+       <STRONG>winwstr</STRONG>                window
+       <STRONG>wmouse_trafo</STRONG>           window
+       <STRONG>wmove</STRONG>                  window
+       <STRONG>wnoutrefresh</STRONG>           screen
+       <STRONG>wprintw</STRONG>                window
+       <STRONG>wredrawln</STRONG>              window
+       <STRONG>wrefresh</STRONG>               screen
+       <STRONG>wresize</STRONG>                window (locks window list)
+       <STRONG>wscanw</STRONG>                 screen
+       <STRONG>wscrl</STRONG>                  window
+       <STRONG>wsetscrreg</STRONG>             window
+
+       <STRONG>wstandend</STRONG>              window
+       <STRONG>wstandout</STRONG>              window
+       <STRONG>wsyncdown</STRONG>              screen (affects window plus parents)
+       <STRONG>wsyncup</STRONG>                screen (affects window plus parents)
+       <STRONG>wtimeout</STRONG>               window
+       <STRONG>wtouchln</STRONG>               window
+       <STRONG>wunctrl</STRONG>                global (static data)
+       <STRONG>wvline</STRONG>                 window
+       <STRONG>wvline_set</STRONG>             window
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       These functions all return <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>, except as noted.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       <STRONG>get_escdelay</STRONG>   returns   the   value  of  <STRONG>ESCDELAY</STRONG>.   <STRONG>set_escdelay</STRONG>  and
+       <STRONG>set_tabsize</STRONG> return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> upon successful  completion.
+       <STRONG>use_screen</STRONG>  and <STRONG>use_window</STRONG> return the <EM>int</EM> returned by the user-supplied
+       function they are called with.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       Both a macro and a function are provided for each name.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       <EM>ncurses</EM> provides both a C function and a preprocessor  macro  for  each
+       function documented in this page.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  are  specific  to ncurses.  They were not
-       supported on Version 7, BSD or System  V  implementations.
-       It  is  recommended that any code depending on ncurses ex-
-       tensions be conditioned using NCURSES_VERSION.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These  routines  are  specific  to <EM>ncurses</EM>.  They were not supported on
+       Version 7, BSD or System V implementations.  It is recommended that any
+       code   depending   on   <EM>ncurses</EM>   extensions   be   conditioned   using
+       <STRONG>NCURSES_VERSION</STRONG>.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
 
 
 
-                                                       <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                  <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -634,7 +625,7 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
 <ul>
-<li><a href="#h3-USAGE">USAGE</a></li>
+<li><a href="#h3-Usage">Usage</a></li>
 </ul>
 </li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
diff --git a/doc/html/man/curs_touch.3x.html b/doc/html/man/curs_touch.3x.html
index 0b4642a..5071766 100644
--- a/doc/html/man/curs_touch.3x.html
+++ b/doc/html/man/curs_touch.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2020,2015 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2015,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,114 +27,114 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_touch.3x,v 1.15 2015/04/11 10:23:49 tom Exp @
+  * @Id: curs_touch.3x,v 1.47 2024/04/20 21:20:07 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_touch 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_touch 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_touch 3x</H1>
+<H1 class="no-header">curs_touch 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>                                           <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+<STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>                   Library calls                  <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>touchwin</STRONG>, <STRONG>touchline</STRONG>, <STRONG>untouchwin</STRONG>, <STRONG>wtouchln</STRONG>, <STRONG>is_linetouched</STRONG>,
-       <STRONG>is_wintouched</STRONG> - <STRONG>curses</STRONG> refresh control routines
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>touchwin</STRONG>,     <STRONG>touchline</STRONG>,    <STRONG>untouchwin</STRONG>,    <STRONG>wtouchln</STRONG>,    <STRONG>is_linetouched</STRONG>,
+       <STRONG>is_wintouched</STRONG> - control terminal output refresh in a <EM>curses</EM> window
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
-       <STRONG>int</STRONG> <STRONG>touchwin(WINDOW</STRONG> <STRONG>*win);</STRONG>
-       <STRONG>int</STRONG> <STRONG>touchline(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>start,</STRONG> <STRONG>int</STRONG> <STRONG>count);</STRONG>
-       <STRONG>int</STRONG> <STRONG>untouchwin(WINDOW</STRONG> <STRONG>*win);</STRONG>
-       <STRONG>int</STRONG> <STRONG>wtouchln(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>n,</STRONG> <STRONG>int</STRONG> <STRONG>changed);</STRONG>
-       <STRONG>bool</STRONG> <STRONG>is_linetouched(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>line);</STRONG>
-       <STRONG>bool</STRONG> <STRONG>is_wintouched(WINDOW</STRONG> <STRONG>*win);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>touchline(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>start</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>count</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>touchwin(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wtouchln(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>changed</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>untouchwin(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+
+       <STRONG>bool</STRONG> <STRONG>is_linetouched(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>line</EM><STRONG>);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>is_wintouched(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The <STRONG>touchwin</STRONG> and <STRONG>touchline</STRONG> routines throw away  all  opti-
-       mization  information about which parts of the window have
-       been touched, by pretending that  the  entire  window  has
-       been  drawn  on.   This  is sometimes necessary when using
-       overlapping windows, since a change to one window  affects
-       the other window, but the records of which lines have been
-       changed in the other window do  not  reflect  the  change.
-       The  routine <STRONG>touchline</STRONG> only pretends that <EM>count</EM> lines have
-       been changed, beginning with line <EM>start</EM>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The  <STRONG>touchwin</STRONG>  and  <STRONG>touchline</STRONG>  routines  throw  away  all  optimization
+       information  about  which  parts  of  the  window have been touched, by
+       pretending that the entire window has been drawn on.  This is sometimes
+       necessary  when using overlapping windows, since a change to one window
+       affects the other window, but the records  of  which  lines  have  been
+       changed  in  the  other  window do not reflect the change.  The routine
+       <STRONG>touchline</STRONG> only pretends that <EM>count</EM> lines have been  changed,  beginning
+       with line <EM>start</EM>.
 
-       The <STRONG>untouchwin</STRONG> routine marks all lines in  the  window  as
-       unchanged since the last call to <STRONG>wrefresh</STRONG>.
+       The <STRONG>untouchwin</STRONG> routine marks all lines in the window as unchanged since
+       the last call to <STRONG>wrefresh</STRONG>.
 
-       The <STRONG>wtouchln</STRONG> routine makes <EM>n</EM> lines in the window, starting
-       at line <EM>y</EM>, look as if they have (<EM>changed</EM><STRONG>=1</STRONG>)  or  have  not
-       (<EM>changed</EM><STRONG>=0</STRONG>) been changed since the last call to <STRONG>wrefresh</STRONG>.
+       The <STRONG>wtouchln</STRONG> routine makes <EM>n</EM> lines in the window, starting at  line  <EM>y</EM>,
+       look  as  if they have (<EM>changed</EM><STRONG>=1</STRONG>) or have not (<EM>changed</EM><STRONG>=0</STRONG>) been changed
+       since the last call to <STRONG>wrefresh</STRONG>.
 
-       The  <STRONG>is_linetouched</STRONG> and <STRONG>is_wintouched</STRONG> routines return <STRONG>TRUE</STRONG>
-       if the specified line/window was modified since  the  last
-       call  to  <STRONG>wrefresh</STRONG>; otherwise they return <STRONG>FALSE</STRONG>.  In addi-
-       tion, <STRONG>is_linetouched</STRONG> returns <STRONG>ERR</STRONG> if <EM>line</EM> is not valid  for
-       the given window.
+       The <STRONG>is_linetouched</STRONG>  and  <STRONG>is_wintouched</STRONG>  routines  return  <STRONG>TRUE</STRONG>  if  the
+       specified  line/window  was  modified  since the last call to <STRONG>wrefresh</STRONG>;
+       otherwise they return <STRONG>FALSE</STRONG>.  In addition, <STRONG>is_linetouched</STRONG>  returns  <STRONG>ERR</STRONG>
+       if <EM>line</EM> is not valid for the given window.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All  routines  return  the integer <STRONG>ERR</STRONG> upon failure and an
-       integer value other than <STRONG>ERR</STRONG> upon  successful  completion,
-       unless  otherwise  noted in the preceding routine descrip-
-       tions.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       All  routines  return the integer <STRONG>ERR</STRONG> upon failure and an integer value
+       other than <STRONG>ERR</STRONG> upon successful completion, unless  otherwise  noted  in
+       the preceding routine descriptions.
 
-       X/Open does not define any error conditions.  In this  im-
-       plementation
+       X/Open   Curses  does  not  specify  any  error  conditions.   In  this
+       implementation
 
-              <STRONG>is_linetouched</STRONG>
-                   returns  an  error  if  the  window pointer is
-                   null, or if the line  number  is  outside  the
-                   window.   Note  that ERR is distinct from <STRONG>TRUE</STRONG>
-                   and <STRONG>FALSE</STRONG>, which are the normal return  values
-                   of this function.
+          <STRONG>is_linetouched</STRONG>
+               returns an error if the window pointer is null, or if the  line
+               number is outside the window boundaries.
 
-              <STRONG>wtouchln</STRONG>
-                   returns  an  error  if  the  window pointer is
-                   null, or if the line  number  is  outside  the
-                   window.
+               The constant <STRONG>ERR</STRONG> is distinct from <STRONG>TRUE</STRONG> and <STRONG>FALSE</STRONG>, which are the
+               normal return values of this function.   Because  the  function
+               returns a <STRONG>bool</STRONG>, returning <STRONG>ERR</STRONG> (which is neither <STRONG>TRUE</STRONG> nor <STRONG>FALSE</STRONG>)
+               may not be supported by the compiler.
+
+               To provide error-checking and also match  the  X/Open  function
+               prototype, the <STRONG>ERR</STRONG> is provided by a macro named <STRONG>is_linetouched</STRONG>.
+               The actual function returns <STRONG>FALSE</STRONG> when it detects an error.
+
+          <STRONG>wtouchln</STRONG>
+               returns an error if the window pointer is null, or if the  line
+               number is outside the window boundaries.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       The  XSI  Curses  standard,  Issue 4 describes these func-
-       tions.
-
-       Some historic curses implementations had,  as  an  undocu-
-       mented  feature,  the  ability  to  do  the  equivalent of
-       <STRONG>clearok(...,</STRONG> <STRONG>1)</STRONG> by saying <STRONG>touchwin(stdscr)</STRONG>  or  <STRONG>clear(std-</STRONG>
-       <STRONG>scr)</STRONG>.  This will not work under ncurses.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       All of these routines except <STRONG>wtouchln</STRONG> may be macros.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       Note that all routines except <STRONG>wtouchln</STRONG> may be macros.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These  functions  were  introduced  by SVr4.  The Solaris <EM>curses</EM> header
+       file, for instance, defines both an actual function and macro for each.
+       The  macros  give the same result as the actual functions.  SVr4 <EM>curses</EM>
+       does not check the window parameter <EM>win</EM> to ensure that it is not  <STRONG>NULL</STRONG>;
+       otherwise this implementation behaves the same as SVr4.
+
+       X/Open  Curses, Issue 4 describes these functions, but defines no error
+       conditions.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
 
 
 
-                                                         <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                    <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -141,8 +142,8 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
diff --git a/doc/html/man/curs_trace.3x.html b/doc/html/man/curs_trace.3x.html
index e4d1129..c1ea937 100644
--- a/doc/html/man/curs_trace.3x.html
+++ b/doc/html/man/curs_trace.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 2000-2010,2015 Free Software Foundation, Inc.              *
+  * Copyright 2019-2023,2024 Thomas E. Dickey                                *
+  * Copyright 2000-2016,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,83 +27,115 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_trace.3x,v 1.13 2015/07/20 22:54:44 tom Exp @
+  * @Id: curs_trace.3x,v 1.50 2024/04/20 21:24:19 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_trace 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_trace 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_trace 3x</H1>
+<H1 class="no-header">curs_trace 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>                                           <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>
+<STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>                   Library calls                  <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>_tracef</STRONG>, <STRONG>_tracedump</STRONG>, <STRONG>_traceattr</STRONG>, <STRONG>_traceattr2</STRONG>,
-       <STRONG>_nc_tracebits</STRONG>, <STRONG>_tracecchar_t</STRONG>, <STRONG>_tracecchar_t2</STRONG>, <STRONG>_tracechar</STRONG>,
-       <STRONG>_tracechtype</STRONG>, <STRONG>_tracechtype2</STRONG>, <STRONG>_tracemouse</STRONG>, <STRONG>trace</STRONG> - <STRONG>curses</STRONG>
-       debugging routines
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>curses_trace</STRONG>,  <STRONG>trace</STRONG>,  <STRONG>_tracef</STRONG>, <STRONG>_traceattr</STRONG>, <STRONG>_traceattr2</STRONG>, <STRONG>_tracecchar_t</STRONG>,
+       <STRONG>_tracecchar_t2</STRONG>, <STRONG>_tracechar</STRONG>, <STRONG>_tracechtype</STRONG>, <STRONG>_tracechtype2</STRONG>, <STRONG>_nc_tracebits</STRONG>,
+       <STRONG>_tracedump</STRONG>, <STRONG>_tracemouse</STRONG> - <EM>curses</EM> debugging routines
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
+       <STRONG>unsigned</STRONG> <STRONG>curses_trace(const</STRONG> <STRONG>unsigned</STRONG> <EM>trace-mask</EM><STRONG>);</STRONG>
+
        <STRONG>void</STRONG> <STRONG>_tracef(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>format</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
-       <STRONG>void</STRONG> <STRONG>_tracedump(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>label</EM><STRONG>,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+
        <STRONG>char</STRONG> <STRONG>*_traceattr(attr_t</STRONG> <EM>attr</EM><STRONG>);</STRONG>
        <STRONG>char</STRONG> <STRONG>*_traceattr2(int</STRONG> <EM>buffer</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
-       <STRONG>char</STRONG> <STRONG>*_nc_tracebits(void);</STRONG>
-       <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>_tracecchar_t(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>string</EM><STRONG>);</STRONG>
-       <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>_tracecchar_t2(int</STRONG> <EM>buffer</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>string</EM><STRONG>);</STRONG>
-       <STRONG>char</STRONG> <STRONG>*_tracechar(int</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+       <STRONG>char</STRONG> <STRONG>*_tracecchar_t(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>string</EM><STRONG>);</STRONG>
+       <STRONG>char</STRONG> <STRONG>*_tracecchar_t2(int</STRONG> <EM>buffer</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>string</EM><STRONG>);</STRONG>
+       <STRONG>char</STRONG> <STRONG>*_tracechar(int</STRONG> <EM>c</EM><STRONG>);</STRONG>
        <STRONG>char</STRONG> <STRONG>*_tracechtype(chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
        <STRONG>char</STRONG> <STRONG>*_tracechtype2(int</STRONG> <EM>buffer</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+
+       <STRONG>void</STRONG> <STRONG>_tracedump(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>label</EM><STRONG>,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+       <STRONG>char</STRONG> <STRONG>*_nc_tracebits(void);</STRONG>
        <STRONG>char</STRONG> <STRONG>*_tracemouse(const</STRONG> <STRONG>MEVENT</STRONG> <STRONG>*</STRONG><EM>event</EM><STRONG>);</STRONG>
-       <STRONG>void</STRONG> <STRONG>trace(const</STRONG> <STRONG>unsigned</STRONG> <STRONG>int</STRONG> <EM>param</EM><STRONG>);</STRONG>
+
+       <EM>/*</EM> <EM>deprecated</EM> <EM>*/</EM>
+       <STRONG>void</STRONG> <STRONG>trace(const</STRONG> <STRONG>unsigned</STRONG> <STRONG>int</STRONG> <EM>trace-mask</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The <STRONG>trace</STRONG> routines are used for debugging the ncurses  li-
-       braries, as well as applications which use the ncurses li-
-       braries.  These functions are normally available only with
-       the  debugging  library  e.g.,  <EM>libncurses</EM><STRONG>_</STRONG><EM>g.a</EM>, but may be
-       compiled into  any  model  (shared,  static,  profile)  by
-       defining  the  symbol <STRONG>TRACE</STRONG>.  Additionally, some functions
-       are only available with the  wide-character  configuration
-       of the libraries.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The <EM>curses</EM> <EM>trace</EM> routines are used for debugging the <EM>ncurses</EM> libraries,
+       as  well  as  applications  which  use  the  <EM>ncurses</EM>  libraries.   Some
+       limitations apply:
 
+       <STRONG>o</STRONG>   Aside from <STRONG>curses_trace</STRONG>, the other functions are normally available
+           only with the debugging library e.g., <STRONG>libncurses_g.a</STRONG>.
+
+           All of the trace functions may be compiled into any model  (shared,
+           static, profile) by defining the symbol <STRONG>TRACE</STRONG>.
+
+       <STRONG>o</STRONG>   Additionally,  the  functions  which use <STRONG>cchar_t</STRONG> are only available
+           with the wide-character configuration of the libraries.
+
+
+</PRE><H3><a name="h3-Functions">Functions</a></H3><PRE>
        The principal parts of this interface are
 
-       <STRONG>o</STRONG>   <STRONG>trace</STRONG>,  which  selectively  enables  different tracing
-           features, and
+       <STRONG>o</STRONG>   <STRONG>curses_trace</STRONG>, which selectively enables different tracing features,
+           and
 
-       <STRONG>o</STRONG>   <STRONG>_tracef</STRONG>, which writes  formatted  data  to  the  <EM>trace</EM>
-           file.
+       <STRONG>o</STRONG>   <STRONG>_tracef</STRONG>, which writes formatted data to the <EM>trace</EM> file.
 
-       Calling  <STRONG>trace</STRONG>  with  a  nonzero  parameter opens the file
-       <STRONG>trace</STRONG> in the current directory for output.  The  parameter
-       is formed by OR'ing values from the list of <STRONG>TRACE_</STRONG><EM>xxx</EM> def-
-       initions in <STRONG>&lt;curses.h&gt;</STRONG>.  These include:
+           The  other  functions  either  return  a  pointer  to a string-area
+           (allocated by the corresponding function), or return no value (such
+           as  <STRONG>_tracedump</STRONG>, which implements the screen dump for <STRONG>TRACE_UPDATE</STRONG>).
+           The caller should not free these strings, since the  allocation  is
+           reused on successive calls.  To work around the problem of a single
+           string-area per  function,  some  use  a  buffer-number  parameter,
+           telling the library to allocate additional string-areas.
+
+       The <STRONG>curses_trace</STRONG> function is always available, whether or not the other
+       trace functions are available:
+
+       <STRONG>o</STRONG>   If tracing  is  available,  calling  <STRONG>curses_trace</STRONG>  with  a  nonzero
+           parameter  updates  the  trace mask, and returns the previous trace
+           mask.
+
+           When the trace mask is nonzero, <EM>ncurses</EM> creates the file "trace" in
+           the  current  directory for output.  If the file already exists, no
+           tracing is done.
+
+       <STRONG>o</STRONG>   If tracing is not available, <STRONG>curses_trace</STRONG> returns zero (0).
+
+
+</PRE><H3><a name="h3-Trace-Parameter">Trace Parameter</a></H3><PRE>
+       The trace parameter is  formed  by  OR'ing  values  from  the  list  of
+       <STRONG>TRACE_</STRONG><EM>xxx</EM> definitions in <STRONG>&lt;curses.h&gt;</STRONG>.  These include:
 
        <STRONG>TRACE_DISABLE</STRONG>
-            turn off tracing.
+            turn off tracing by passing a zero parameter.
+
+            The  library  flushes  the  output file, but retains an open file-
+            descriptor to the trace file so that it can resume  tracing  later
+            if a nonzero parameter is passed to the <STRONG>curses_trace</STRONG> function.
 
        <STRONG>TRACE_TIMES</STRONG>
             trace user and system times of updates.
 
        <STRONG>TRACE_TPUTS</STRONG>
-            trace tputs calls.
+            trace <STRONG><A HREF="curs_terminfo.3x.html">tputs(3x)</A></STRONG> calls.
 
        <STRONG>TRACE_UPDATE</STRONG>
             trace update actions, old &amp; new screens.
@@ -114,13 +147,12 @@
             trace all character outputs.
 
        <STRONG>TRACE_ORDINARY</STRONG>
-            trace all update actions.  The  old  and  new  screen
-            contents  are  written to the trace file for each re-
-            fresh.
+            trace  all  update  actions.   The old and new screen contents are
+            written to the trace file for each refresh.
 
        <STRONG>TRACE_CALLS</STRONG>
-            trace all curses calls.  The parameters for each call
-            are traced, as well as return values.
+            trace all curses calls.  The parameters for each call are  traced,
+            as well as return values.
 
        <STRONG>TRACE_VIRTPUT</STRONG>
             trace virtual character puts, i.e., calls to <STRONG>addch</STRONG>.
@@ -144,58 +176,110 @@
             trace changes to video attributes and colors.
 
        <STRONG>TRACE_MAXIMUM</STRONG>
-            maximum  trace  level,  enables  all  of the separate
-            trace features.
+            maximum trace level, enables all of the separate trace features.
 
-       Some tracing features are enabled whenever the  <STRONG>trace</STRONG>  pa-
-       rameter  is nonzero.  Some features overlap.  The specific
-       names are used as a guideline.
-
-       The other functions either return a pointer to  a  string-
-       area  (allocated by the corresponding function), or return
-       no value (such as <STRONG>_tracedump</STRONG>, which implements the  screen
-       dump  for <STRONG>TRACE_UPDATE</STRONG>).  The caller should not free these
-       strings, since the  allocation  is  reused  on  successive
-       calls.  To work around the problem of a single string-area
-       per function, some use a buffer-number parameter,  telling
-       the library to allocate additional string-areas.
-
-       These  functions check the <STRONG>NCURSES_TRACE</STRONG> environment vari-
-       able, to set the tracing feature as if <STRONG>trace</STRONG> was called:
-
-              filter, initscr, new_prescr, newterm, nofilter,
-              restartterm, ripoffline, setupterm, slk_init, tge-
-              tent, use_env, use_extended_names, use_tioctl
+       Some  tracing  features are enabled whenever the <STRONG>curses_trace</STRONG> parameter
+       is nonzero.  Some features overlap.  The specific names are used  as  a
+       guideline.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Routines which return a value are designed to be  used  as
-       parameters to the <STRONG>_tracef</STRONG> routine.
+</PRE><H3><a name="h3-Command-line-Utilities">Command-line Utilities</a></H3><PRE>
+       The  command-line  utilities  such  as  <STRONG><A HREF="tic.1m.html">tic(1)</A></STRONG> provide a verbose option
+       which extends the  set  of  messages  written  using  the  <STRONG>curses_trace</STRONG>
+       function.   Both  of  these (<STRONG>-v</STRONG> and <STRONG>curses_trace</STRONG>) use the same variable
+       (<STRONG>_nc_tracing</STRONG>), which determines the messages which are written.
+
+       Because the command-line utilities may  call  initialization  functions
+       such  as  <STRONG>setupterm</STRONG>,  <STRONG>tgetent</STRONG>  or  <STRONG>use_extended_names</STRONG>,  some  of  their
+       debugging output may be directed to the <EM>trace</EM> file if the <EM>NCURSES</EM><STRONG>_</STRONG><EM>TRACE</EM>
+       environment variable is set:
+
+       <STRONG>o</STRONG>   messages produced in the utility are written to the standard error.
+
+       <STRONG>o</STRONG>   messages produced by the underlying library are written to <EM>trace</EM>.
+
+       If  <EM>ncurses</EM>  is built without tracing, none of the latter are produced,
+       and fewer diagnostics are provided by the command-line utilities.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  functions  are not part of the XSI interface.  Some
-       other curses implementations are known  to  have  similar,
-       undocumented  features,  but  they are not compatible with
-       ncurses.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       Routines which return a value are designed to be used as parameters  to
+       the <STRONG>_tracef</STRONG> routine.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.
+</PRE><H2><a name="h2-ENVIRONMENT">ENVIRONMENT</a></H2><PRE>
+
+</PRE><H3><a name="h3-NCURSES_TRACE">NCURSES_TRACE</a></H3><PRE>
+       A  positive integral value stored in this variable causes the following
+       functions to enable the tracing feature as if <STRONG>curses_trace</STRONG> were called.
+
+           <STRONG>filter</STRONG>, <STRONG>initscr</STRONG>, <STRONG>new_prescr</STRONG>, <STRONG>newterm</STRONG>, <STRONG>nofilter</STRONG>, <STRONG>restartterm</STRONG>,
+           <STRONG>ripoffline</STRONG>, <STRONG>setupterm</STRONG>, <STRONG>slk_init</STRONG>, <STRONG>tgetent</STRONG>, <STRONG>use_env</STRONG>,
+           <STRONG>use_extended_names</STRONG>, <STRONG>use_tioctl</STRONG>
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These functions are not part of  the  X/Open  Curses  interface.   Some
+       other  curses  implementations  are known to have similar features, but
+       they are not compatible with <EM>ncurses</EM>:
+
+       <STRONG>o</STRONG>   SVr4 provided <STRONG>traceon</STRONG> and <STRONG>traceoff</STRONG>, to  control  whether  debugging
+           information  was  written to the "trace" file.  While the functions
+           were always available, this feature was only enabled if  <STRONG>DEBUG</STRONG>  was
+           defined when building the library.
+
+           The SVr4 tracing feature is undocumented.
+
+       <STRONG>o</STRONG>   PDCurses  provides  <STRONG>traceon</STRONG>  and  <STRONG>traceoff</STRONG>,  which  (like SVr4) are
+           always available, and enable tracing to the "trace" file only  when
+           a debug-library is built.
+
+           PDCurses  has  a  short description of these functions, with a note
+           that they are not present in X/Open Curses, <EM>ncurses</EM> or NetBSD.   It
+           does  not  mention  SVr4,  but the functions' inclusion in a header
+           file section labeled "Quasi-standard" hints at the origin.
+
+       <STRONG>o</STRONG>   NetBSD does not provide functions  for  enabling/disabling  traces.
+           It     uses    environment    variables    <EM>CURSES</EM><STRONG>_</STRONG><EM>TRACE</EM><STRONG>_</STRONG><EM>MASK</EM>    and
+           <EM>CURSES</EM><STRONG>_</STRONG><EM>TRACE</EM><STRONG>_</STRONG><EM>FILE</EM> to  determine  what  is  traced,  and  where  the
+           results  are  written.  This is available only when a debug-library
+           is built.
+
+           The NetBSD tracing feature is undocumented.
+
+       A few <EM>ncurses</EM> functions are not  provided  when  symbol  versioning  is
+       used:
+
+           _nc_tracebits, _tracedump, _tracemouse
+
+       The  original  <STRONG>trace</STRONG> routine was deprecated because it often conflicted
+       with application names.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
 
 
 
-                                                         <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                    <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
 <li><a href="#h2-NAME">NAME</a></li>
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
-<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-Functions">Functions</a></li>
+<li><a href="#h3-Trace-Parameter">Trace Parameter</a></li>
+<li><a href="#h3-Command-line-Utilities">Command-line Utilities</a></li>
+</ul>
+</li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-ENVIRONMENT">ENVIRONMENT</a>
+<ul>
+<li><a href="#h3-NCURSES_TRACE">NCURSES_TRACE</a></li>
+</ul>
+</li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
diff --git a/doc/html/man/curs_util.3x.html b/doc/html/man/curs_util.3x.html
index 00b13c2..6160a2c 100644
--- a/doc/html/man/curs_util.3x.html
+++ b/doc/html/man/curs_util.3x.html
@@ -1,7 +1,8 @@
-<!-- 
+<!--
   * t
   ****************************************************************************
-  * Copyright (c) 1998-2013,2015 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2015,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,375 +28,371 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_util.3x,v 1.43 2015/06/06 23:36:27 tom Exp @
+  * @Id: curs_util.3x,v 1.101 2024/04/20 21:20:07 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_util 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_util 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_util 3x</H1>
+<H1 class="no-header">curs_util 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>                                             <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+<STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>                    Library calls                   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>delay_output</STRONG>, <STRONG>filter</STRONG>, <STRONG>flushinp</STRONG>, <STRONG>getwin</STRONG>, <STRONG>key_name</STRONG>, <STRONG>keyname</STRONG>,
-       <STRONG>nofilter</STRONG>, <STRONG>putwin</STRONG>, <STRONG>unctrl</STRONG>, <STRONG>use_env</STRONG>, <STRONG>use_tioctl</STRONG>, <STRONG>wunctrl</STRONG> -
-       miscellaneous <STRONG>curses</STRONG> utility routines
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>delay_output</STRONG>,  <STRONG>filter</STRONG>,  <STRONG>flushinp</STRONG>,  <STRONG>getwin</STRONG>, <STRONG>key_name</STRONG>, <STRONG>keyname</STRONG>, <STRONG>nofilter</STRONG>,
+       <STRONG>putwin</STRONG>, <STRONG>unctrl</STRONG>, <STRONG>use_env</STRONG>, <STRONG>use_tioctl</STRONG>,  <STRONG>wunctrl</STRONG>  -  miscellaneous  <EM>curses</EM>
+       utility routines
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
-       <STRONG>char</STRONG> <STRONG>*unctrl(chtype</STRONG> <STRONG>c);</STRONG>
-       <STRONG>wchar_t</STRONG> <STRONG>*wunctrl(cchar_t</STRONG> <STRONG>*c);</STRONG>
-       <STRONG>char</STRONG> <STRONG>*keyname(int</STRONG> <STRONG>c);</STRONG>
-       <STRONG>char</STRONG> <STRONG>*key_name(wchar_t</STRONG> <STRONG>w);</STRONG>
+       <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*unctrl(chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+       <STRONG>wchar_t</STRONG> <STRONG>*wunctrl(cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
+
+       <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*keyname(int</STRONG> <EM>c</EM><STRONG>);</STRONG>
+       <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*key_name(wchar_t</STRONG> <EM>wc</EM><STRONG>);</STRONG>
+
        <STRONG>void</STRONG> <STRONG>filter(void);</STRONG>
-       <STRONG>void</STRONG> <STRONG>nofilter(void);</STRONG>
-       <STRONG>void</STRONG> <STRONG>use_env(bool</STRONG> <STRONG>f);</STRONG>
-       <STRONG>void</STRONG> <STRONG>use_tioctl(bool</STRONG> <STRONG>f);</STRONG>
-       <STRONG>int</STRONG> <STRONG>putwin(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>FILE</STRONG> <STRONG>*filep);</STRONG>
-       <STRONG>WINDOW</STRONG> <STRONG>*getwin(FILE</STRONG> <STRONG>*filep);</STRONG>
-       <STRONG>int</STRONG> <STRONG>delay_output(int</STRONG> <STRONG>ms);</STRONG>
+
+       <STRONG>void</STRONG> <STRONG>use_env(bool</STRONG> <EM>f</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>putwin(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>FILE</STRONG> <STRONG>*</STRONG><EM>filep</EM><STRONG>);</STRONG>
+       <STRONG>WINDOW</STRONG> <STRONG>*getwin(FILE</STRONG> <STRONG>*</STRONG><EM>filep</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>delay_output(int</STRONG> <EM>ms</EM><STRONG>);</STRONG>
        <STRONG>int</STRONG> <STRONG>flushinp(void);</STRONG>
 
-
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-
-</PRE>
-<H3><a name="h3-unctrl">unctrl</a></H3><PRE>
-       The  <STRONG>unctrl</STRONG>  routine returns a character string which is a
-       printable representation of the character <EM>c</EM>, ignoring  at-
-       tributes.   Control characters are displayed in the <STRONG>^</STRONG><EM>X</EM> no-
-       tation.  Printing characters are  displayed  as  is.   The
-       corresponding  <STRONG>wunctrl</STRONG>  returns a printable representation
-       of a wide character.
+       <EM>/*</EM> <EM>extensions</EM> <EM>*/</EM>
+       <STRONG>void</STRONG> <STRONG>nofilter(void);</STRONG>
+       <STRONG>void</STRONG> <STRONG>use_tioctl(bool</STRONG> <EM>f</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H3><a name="h3-keyname_key_name">keyname/key_name</a></H3><PRE>
-       The <STRONG>keyname</STRONG> routine returns a character string correspond-
-       ing to the key <EM>c</EM>:
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
 
-       <STRONG>o</STRONG>   Printable  characters  are  displayed  as  themselves,
-           e.g., a one-character string containing the key.
+</PRE><H3><a name="h3-unctrl">unctrl</a></H3><PRE>
+       The  <STRONG>unctrl</STRONG>  routine  returns  a  character string which is a printable
+       representation of the character <EM>ch</EM>:
+
+       <STRONG>o</STRONG>   Printable characters are displayed  as  themselves,  e.g.,  a  one-
+           character string containing the key.
 
        <STRONG>o</STRONG>   Control characters are displayed in the <STRONG>^</STRONG><EM>X</EM> notation.
 
+       <STRONG>o</STRONG>   Printing characters are displayed as is.
+
        <STRONG>o</STRONG>   DEL (character 127) is displayed as <STRONG>^?</STRONG>.
 
-       <STRONG>o</STRONG>   Values above 128 are either meta  characters  (if  the
-           screen  has  not been initialized, or if <STRONG>meta</STRONG> has been
-           called with a <STRONG>TRUE</STRONG> parameter), shown in the <STRONG>M-</STRONG><EM>X</EM>  nota-
-           tion,  or  are displayed as themselves.  In the latter
-           case, the values may not be  printable;  this  follows
-           the X/Open specification.
+       <STRONG>o</STRONG>   Values  above 128 are either meta characters (if the screen has not
+           been initialized, or if  <STRONG><A HREF="curs_inopts.3x.html">meta(3x)</A></STRONG>  has  been  called  with  a  <STRONG>TRUE</STRONG>
+           parameter),  shown  in  the  <STRONG>M-</STRONG><EM>X</EM>  notation,  or  are  displayed  as
+           themselves.  In the latter case, the values may not  be  printable;
+           this follows the X/Open specification.
 
-       <STRONG>o</STRONG>   Values  above  256  may  be  the names of the names of
-           function keys.
+       The  corresponding  <STRONG>wunctrl</STRONG>  returns  a  printable  representation of a
+       complex character <EM>wch</EM>.
 
-       <STRONG>o</STRONG>   Otherwise (if there  is  no  corresponding  name)  the
-           function returns null, to denote an error.  X/Open al-
-           so lists an "UNKNOWN KEY" return value, which some im-
-           plementations return rather than null.
-
-       The corresponding <STRONG>key_name</STRONG> returns a character string cor-
-       responding to the wide-character value <EM>w</EM>.  The  two  func-
-       tions  do  not  return the same set of strings; the latter
-       returns null where the former would display a meta charac-
-       ter.
+       In both <STRONG>unctrl</STRONG> and <STRONG>wunctrl</STRONG> the attributes and color associated with the
+       character parameter are ignored.
 
 
-</PRE>
-<H3><a name="h3-filter_nofilter">filter/nofilter</a></H3><PRE>
-       The <STRONG>filter</STRONG> routine, if used, must be called before <STRONG>initscr</STRONG>
-       or <STRONG>newterm</STRONG> are called.  The effect is that,  during  those
-       calls,  <STRONG>LINES</STRONG>  is  set  to 1; the capabilities <STRONG>clear</STRONG>, <STRONG>cup</STRONG>,
-       <STRONG>cud</STRONG>, <STRONG>cud1</STRONG>, <STRONG>cuu1</STRONG>, <STRONG>cuu</STRONG>,  <STRONG>vpa</STRONG>  are  disabled;  and  the  <STRONG>home</STRONG>
-       string is set to the value of <STRONG>cr</STRONG>.
+</PRE><H3><a name="h3-keyname_key_name">keyname, key_name</a></H3><PRE>
+       The <STRONG>keyname</STRONG> routine returns a character string corresponding to the key
+       <EM>c</EM>.  Key codes are different from character codes.
 
-       The  <STRONG>nofilter</STRONG>  routine  cancels  the effect of a preceding
-       <STRONG>filter</STRONG> call.  That  allows  the  caller  to  initialize  a
-       screen  on  a different device, using a different value of
-       <STRONG>$TERM</STRONG>.  The limitation arises because the  <STRONG>filter</STRONG>  routine
-       modifies the in-memory copy of the terminal information.
+       <STRONG>o</STRONG>   Key codes below 256  are  characters.   They  are  displayed  using
+           <STRONG>unctrl</STRONG>.
+
+       <STRONG>o</STRONG>   Values  above 256 may be the codes for function keys.  The function
+           key name is displayed.
+
+       <STRONG>o</STRONG>   Otherwise (if there is no corresponding name and the key is  not  a
+           character)  the  function returns null, to denote an error.  X/Open
+           also  lists   an   "UNKNOWN   KEY"   return   value,   which   some
+           implementations return rather than null.
+
+       The   corresponding  <STRONG>key_name</STRONG>  returns  a  multibyte  character  string
+       corresponding  to  the  wide-character  value  <EM>w</EM>.   The  two  functions
+       (<STRONG>keyname</STRONG> and <STRONG>key_name</STRONG>) do not return the same set of strings:
+
+       <STRONG>o</STRONG>   <STRONG>keyname</STRONG> returns null where <STRONG>key_name</STRONG> would display a meta character.
+
+       <STRONG>o</STRONG>   <STRONG>key_name</STRONG> does not return the name of a function key.
 
 
-</PRE>
-<H3><a name="h3-use_env">use_env</a></H3><PRE>
-       The  <STRONG>use_env</STRONG>  routine,  if  used,  should be called before
-       <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> are called (because those  compute  the
-       screen size).  It modifies the way <STRONG>ncurses</STRONG> treats environ-
-       ment variables when determining the screen size.
+</PRE><H3><a name="h3-filter_nofilter">filter, nofilter</a></H3><PRE>
+       The  <STRONG>filter</STRONG>  routine, if used, must be called before <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>
+       are called.  Calling <STRONG>filter</STRONG> causes these changes in initialization:
 
-       <STRONG>o</STRONG>   Normally ncurses looks first at the terminal  database
-           for the screen size.
+       <STRONG>o</STRONG>   <STRONG>LINES</STRONG> is set to 1;
 
-           If  <STRONG>use_env</STRONG>  was  called  with <STRONG>FALSE</STRONG> for parameter, it
-           stops here unless If <STRONG>use_tioctl</STRONG> was also  called  with
-           <STRONG>TRUE</STRONG> for parameter.
+       <STRONG>o</STRONG>   the  capabilities  <STRONG>clear</STRONG>,  <STRONG>cud1</STRONG>,  <STRONG>cud</STRONG>,  <STRONG>cup</STRONG>,  <STRONG>cuu1</STRONG>,  <STRONG>cuu</STRONG>,  <STRONG>vpa</STRONG>  are
+           disabled;
 
-       <STRONG>o</STRONG>   Then  it asks for the screen size via operating system
-           calls.  If successful, it overrides  the  values  from
-           the terminal database.
+       <STRONG>o</STRONG>   the capability <STRONG>ed</STRONG> is disabled if <STRONG>bce</STRONG> is set;
 
-       <STRONG>o</STRONG>   Finally  (unless <STRONG>use_env</STRONG> was called with <STRONG>FALSE</STRONG> parame-
-           ter), ncurses examines the <STRONG>LINES</STRONG> or  <STRONG>COLUMNS</STRONG>  environ-
-           ment variables, using a value in those to override the
-           results from the operating system  or  terminal  data-
-           base.
+       <STRONG>o</STRONG>   and the <STRONG>home</STRONG> string is set to the value of <STRONG>cr</STRONG>.
 
-           Ncurses  also  updates  the screen size in response to
-           SIGWINCH, unless overridden by the  <STRONG>LINES</STRONG>  or  <STRONG>COLUMNS</STRONG>
-           environment variables,
+       The  <STRONG>nofilter</STRONG>  routine  cancels  the effect of a preceding <STRONG>filter</STRONG> call.
+       That allows the caller to initialize a screen on  a  different  device,
+       using  a  different  value of <STRONG>$TERM</STRONG>.  The limitation arises because the
+       <STRONG>filter</STRONG> routine modifies the in-memory copy of the terminal information.
 
 
-</PRE>
-<H3><a name="h3-use_tioctl">use_tioctl</a></H3><PRE>
-       The  <STRONG>use_tioctl</STRONG>  routine, if used, should be called before
-       <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> are called (because those  compute  the
-       screen  size).  After <STRONG>use_tioctl</STRONG> is called with <STRONG>TRUE</STRONG> as an
-       argument, ncurses modifies the last step in  its  computa-
-       tion of screen size as follows:
+</PRE><H3><a name="h3-use_env">use_env</a></H3><PRE>
+       The <STRONG>use_env</STRONG> routine, if  used,  should  be  called  before  <STRONG>initscr</STRONG>  or
+       <STRONG>newterm</STRONG>  are  called  (because  those  compute  the  screen  size).  It
+       modifies the way <EM>ncurses</EM> treats environment variables when  determining
+       the screen size.
 
-       <STRONG>o</STRONG>   checks  if the <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> environment variables
-           are set to a number greater than zero.
+       <STRONG>o</STRONG>   Normally  <EM>ncurses</EM>  looks  first  at  the  terminal database for the
+           screen size.
 
-       <STRONG>o</STRONG>   for each, ncurses updates the  corresponding  environ-
-           ment  variable with the value that it has obtained via
-           operating system call or from the terminal database.
+           If <STRONG>use_env</STRONG> was called with  <STRONG>FALSE</STRONG>  for  parameter,  it  stops  here
+           unless <STRONG>use_tioctl</STRONG> was also called with <STRONG>TRUE</STRONG> for parameter.
 
-       <STRONG>o</STRONG>   ncurses re-fetches the value of the environment  vari-
-           ables  so  that  it is still the environment variables
-           which set the screen size.
+       <STRONG>o</STRONG>   Then  it  asks  for the screen size via operating system calls.  If
+           successful, it overrides the values from the terminal database.
 
-       The <STRONG>use_env</STRONG> and <STRONG>use_tioctl</STRONG> routines combine as  summarized
-       here:
+       <STRONG>o</STRONG>   Finally (unless <STRONG>use_env</STRONG> was called with <STRONG>FALSE</STRONG>  parameter),  <EM>ncurses</EM>
+           examines  the <EM>LINES</EM> or <EM>COLUMNS</EM> environment variables, using a value
+           in those to override the  results  from  the  operating  system  or
+           terminal database.
 
-     <EM>use</EM><STRONG>_</STRONG><EM>env</EM>   <EM>use</EM><STRONG>_</STRONG><EM>tioctl</EM>   <EM>Summary</EM>
-     ----------------------------------------------------------------
+           <EM>curses</EM> also updates the screen size in response to <STRONG>SIGWINCH</STRONG>, unless
+           overridden by the <EM>LINES</EM> or <EM>COLUMNS</EM> environment variables,
 
 
+</PRE><H3><a name="h3-use_tioctl">use_tioctl</a></H3><PRE>
+       The <STRONG>use_tioctl</STRONG> routine, if used, should be  called  before  <STRONG>initscr</STRONG>  or
+       <STRONG>newterm</STRONG>  are  called  (because  those  compute the screen size).  After
+       <STRONG>use_tioctl</STRONG> is called with <STRONG>TRUE</STRONG> as an  argument,  <EM>ncurses</EM>  modifies  the
+       last step in its computation of screen size as follows:
 
-     TRUE      FALSE        This  is  the default behavior.  ncurses
-                            uses operating system calls unless over-
-                            ridden by $LINES or $COLUMNS environment
-                            variables.
-     TRUE      TRUE         ncurses  updates  $LINES  and   $COLUMNS
-                            based on operating system calls.
-     FALSE     TRUE         ncurses ignores $LINES and $COLUMNS, us-
-                            es  operating  system  calls  to  obtain
-                            size.
-     FALSE     FALSE        ncurses  relies on the terminal database
-                            to determine size.
+       <STRONG>o</STRONG>   checks  if the <EM>LINES</EM> and <EM>COLUMNS</EM> environment variables are set to a
+           number greater than zero.
+
+       <STRONG>o</STRONG>   for each, <EM>ncurses</EM> updates the  corresponding  environment  variable
+           with  the  value  that it has obtained via operating system call or
+           from the terminal database.
+
+       <STRONG>o</STRONG>   <EM>ncurses</EM> re-fetches the value of the environment variables  so  that
+           it is still the environment variables which set the screen size.
+
+       The <STRONG>use_env</STRONG> and <STRONG>use_tioctl</STRONG> routines combine as follows.
+
+              <STRONG>use_env</STRONG>   <STRONG>use_tioctl</STRONG>   <STRONG>Summary</STRONG>
+              -----------------------------------------------------------------
+              <STRONG>TRUE</STRONG>      <STRONG>FALSE</STRONG>        This  is  the  default behavior.  <EM>ncurses</EM>
+                                     uses  operating   system   calls   unless
+                                     overridden    by    <EM>LINES</EM>    or   <EM>COLUMNS</EM>
+                                     environment variables; default.
+              <STRONG>TRUE</STRONG>      <STRONG>TRUE</STRONG>         <EM>ncurses</EM> updates <EM>LINES</EM> and  <EM>COLUMNS</EM>  based
+                                     on operating system calls.
+              <STRONG>FALSE</STRONG>     <STRONG>TRUE</STRONG>         <EM>ncurses</EM>  ignores <EM>LINES</EM> and <EM>COLUMNS</EM>, using
+                                     operating system calls to obtain size.
 
 
-</PRE>
-<H3><a name="h3-putwin_getwin">putwin/getwin</a></H3><PRE>
-       The <STRONG>putwin</STRONG> routine writes all data associated with  window
-       (or  pad)  <EM>win</EM>  into the file to which <EM>filep</EM> points.  This
-       information can be later retrieved using the <STRONG>getwin</STRONG>  func-
-       tion.
+</PRE><H3><a name="h3-putwin_getwin">putwin, getwin</a></H3><PRE>
+       The <STRONG>putwin</STRONG> routine writes all data associated with window (or pad)  <EM>win</EM>
+       into  the  file  to  which <EM>filep</EM> points.  This information can be later
+       retrieved using the <STRONG>getwin</STRONG> function.
 
-       The <STRONG>getwin</STRONG> routine reads window related data stored in the
-       file by <STRONG>putwin</STRONG>.  The routine then creates and  initializes
-       a new window using that data.  It returns a pointer to the
-       new window.  There are a few caveats:
+       The <STRONG>getwin</STRONG> routine reads window related data  stored  in  the  file  by
+       <STRONG>putwin</STRONG>.   The  routine  then creates and initializes a new window using
+       that data.  It returns a pointer to the new window.  There  are  a  few
+       caveats:
 
-       <STRONG>o</STRONG>   the data written is a copy of  the  <STRONG>WINDOW</STRONG>  structure,
-           and  its  associated character cells.  The format dif-
-           fers between the wide-character  (ncursesw)  and  non-
-           wide  (ncurses)  libraries.  You can transfer data be-
-           tween the two, however.
+       <STRONG>o</STRONG>   the  data  written  is  a  copy  of  the  <EM>WINDOW</EM> structure, and its
+           associated character cells.  The format differs between  the  wide-
+           character  (<EM>ncursesw</EM>)  and  non-wide  (<EM>ncurses</EM>) libraries.  You can
+           transfer data between the two, however.
 
-       <STRONG>o</STRONG>   the retrieved window is always created as a  top-level
-           window (or pad), rather than a subwindow.
+       <STRONG>o</STRONG>   the retrieved window is always created as a  top-level  window  (or
+           pad), rather than a subwindow.
 
-       <STRONG>o</STRONG>   the  window's  character  cells contain the color pair
-           <EM>value</EM>, but not the actual color <EM>numbers</EM>.  If cells  in
-           the  retrieved  window  use color pairs which have not
-           been created in the application using <STRONG>init_pair</STRONG>,  they
-           will not be colored when the window is refreshed.
+       <STRONG>o</STRONG>   the  window's character cells contain the color pair <EM>value</EM>, but not
+           the actual color <EM>numbers</EM>.  If cells in  the  retrieved  window  use
+           color  pairs  which  have not been created in the application using
+           <STRONG>init_pair</STRONG>, they will not be colored when the window is refreshed.
 
 
-</PRE>
-<H3><a name="h3-delay_output">delay_output</a></H3><PRE>
-       The  <STRONG>delay_output</STRONG>  routine inserts an <EM>ms</EM> millisecond pause
-       in output.  This routine should not  be  used  extensively
-       because  padding  characters  are  used  rather than a CPU
-       pause.  If no padding character is  specified,  this  uses
-       <STRONG>napms</STRONG> to perform the delay.
+</PRE><H3><a name="h3-delay_output">delay_output</a></H3><PRE>
+       The <STRONG>delay_output</STRONG> routine inserts an <EM>ms</EM>  millisecond  pause  in  output.
+       Employ  this  function  judiciously  when terminal output uses padding,
+       because <EM>ncurses</EM>  transmits  null  characters  (consuming  CPU  and  I/O
+       resources)  instead  of  sleeping  and  requesting  resumption from the
+       operating system.  Padding is used unless:
+
+       <STRONG>o</STRONG>   the terminal description has <STRONG>npc</STRONG> (<STRONG>no_pad_char</STRONG>) capability, or
+
+       <STRONG>o</STRONG>   the environment variable <STRONG>NCURSES_NO_PADDING</STRONG> is set.
+
+       If padding is not in use, <EM>ncurses</EM> uses <STRONG>napms</STRONG> to perform the delay.   If
+       the  value  of <EM>ms</EM> exceeds 30,000 (thirty seconds), it is capped at that
+       value.
 
 
-</PRE>
-<H3><a name="h3-flushinp">flushinp</a></H3><PRE>
-       The  <STRONG>flushinp</STRONG>  routine  throws away any typeahead that has
-       been typed by the user and has not yet been  read  by  the
-       program.
+</PRE><H3><a name="h3-flushinp">flushinp</a></H3><PRE>
+       The <STRONG>flushinp</STRONG> routine throws away any typeahead that has been  typed  by
+       the user and has not yet been read by the program.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Except  for  <STRONG>flushinp</STRONG>, routines that return an integer re-
-       turn <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4 specifies only "an  in-
-       teger value other than <STRONG>ERR</STRONG>") upon successful completion.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       Except  for  <STRONG>flushinp</STRONG>,  routines that return an integer return <STRONG>ERR</STRONG> upon
+       failure and <STRONG>OK</STRONG> (SVr4 specifies only "an integer value other than  <STRONG>ERR</STRONG>")
+       upon successful completion.
 
        Routines that return pointers return <STRONG>NULL</STRONG> on error.
 
-       X/Open  does not define any error conditions.  In this im-
-       plementation
+       X/Open   Curses  does  not  specify  any  error  conditions.   In  this
+       implementation
 
           <STRONG>flushinp</STRONG>
-               returns an error if the terminal was not  initial-
-               ized.
-
-          <STRONG>meta</STRONG> returns  an error if the terminal was not initial-
-               ized.
+               returns an error if the terminal was not initialized.
 
           <STRONG>putwin</STRONG>
-               returns an error if the  associated  <STRONG>fwrite</STRONG>  calls
-               return an error.
+               returns an error if  the  associated  <STRONG>fwrite</STRONG>  calls  return  an
+               error.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
 
-</PRE>
-<H3><a name="h3-filter">filter</a></H3><PRE>
-       The SVr4 documentation describes the action of <STRONG>filter</STRONG> only
-       in the vaguest terms.  The  description  here  is  adapted
-       from  the  XSI Curses standard (which erroneously fails to
-       describe the disabling of <STRONG>cuu</STRONG>).
+</PRE><H3><a name="h3-filter">filter</a></H3><PRE>
+       The  SVr4  documentation  describes  the  action  of <STRONG>filter</STRONG> only in the
+       vaguest terms.  The description here  is  adapted  from  X/Open  Curses
+       (which erroneously fails to describe the disabling of <STRONG>cuu</STRONG>).
 
 
-</PRE>
-<H3><a name="h3-keyname">keyname</a></H3><PRE>
-       The <STRONG>keyname</STRONG> function may return the names of  user-defined
-       string  capabilities which are defined in the terminfo en-
-       try via the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG>.  This  implementation  auto-
-       matically  assigns  at  run-time  keycodes to user-defined
-       strings which begin  with  "k".   The  keycodes  start  at
-       KEY_MAX,  but  are not guaranteed to be the same value for
-       different runs because user-defined codes are merged  from
-       all  terminal  descriptions  which  have been loaded.  The
-       <STRONG>use_extended_names</STRONG> function controls whether this data  is
-       loaded  when  the  terminal description is read by the li-
-       brary.
+</PRE><H3><a name="h3-delay_output-padding">delay_output padding</a></H3><PRE>
+       The  limitation  to  30  seconds and the use of <STRONG>napms</STRONG> differ from other
+       implementations.
+
+       <STRONG>o</STRONG>   SVr4 curses does not delay if no padding character is available.
+
+       <STRONG>o</STRONG>   NetBSD curses uses <STRONG>napms</STRONG> when no padding  character  is  available,
+           but  does  not  take  timing  into  account  when using the padding
+           character.
+
+       Neither limits the delay.
 
 
-</PRE>
-<H3><a name="h3-nofilter_use_tioctl">nofilter/use_tioctl</a></H3><PRE>
-       The <STRONG>nofilter</STRONG>  and  <STRONG>use_tioctl</STRONG>  routines  are  specific  to
-       ncurses.   They  were  not  supported on Version 7, BSD or
-       System V implementations.  It is recommended that any code
-       depending  on  ncurses  extensions  be  conditioned  using
-       NCURSES_VERSION.
+</PRE><H3><a name="h3-keyname">keyname</a></H3><PRE>
+       The <STRONG>keyname</STRONG> function  may  return  the  names  of  user-defined  string
+       capabilities  which are defined in the terminfo entry via the <STRONG>-x</STRONG> option
+       of <STRONG>tic</STRONG>.  This implementation automatically assigns at run-time keycodes
+       to  user-defined  strings  which begin with "k".  The keycodes start at
+       KEY_MAX, but are not guaranteed to be the same value for different runs
+       because  user-defined  codes  are merged from all terminal descriptions
+       which have been loaded.  The <STRONG><A HREF="curs_extend.3x.html">use_extended_names(3x)</A></STRONG>  function  controls
+       whether  this  data  is loaded when the terminal description is read by
+       the library.
 
 
-</PRE>
-<H3><a name="h3-putwin_getwin">putwin/getwin</a></H3><PRE>
-       The <STRONG>putwin</STRONG> and <STRONG>getwin</STRONG> functions have several  issues  with
-       portability:
+</PRE><H3><a name="h3-nofilter_use_tioctl">nofilter, use_tioctl</a></H3><PRE>
+       The <STRONG>nofilter</STRONG> and <STRONG>use_tioctl</STRONG> routines are  specific  to  <EM>ncurses</EM>.   They
+       were  not  supported on Version 7, BSD or System V implementations.  It
+       is recommended  that  any  code  depending  on  <EM>ncurses</EM>  extensions  be
+       conditioned using <STRONG>NCURSES_VERSION</STRONG>.
 
-       <STRONG>o</STRONG>   The  files  written and read by these functions use an
-           implementation-specific format.  Although  the  format
-           is  an obvious target for standardization, it has been
-           overlooked.
 
-           Interestingly enough, according to the copyright dates
-           in Solaris source, the functions (along with <STRONG>scr_init</STRONG>,
-           etc.) originated with the  University  of  California,
-           Berkeley  (in  1982) and were later (in 1988) incorpo-
-           rated into SVr4.  Oddly, there are no  such  functions
+</PRE><H3><a name="h3-putwin_getwin-file-format">putwin/getwin file-format</a></H3><PRE>
+       The <STRONG>putwin</STRONG> and <STRONG>getwin</STRONG> functions have several issues with portability:
+
+       <STRONG>o</STRONG>   The   files   written   and   read   by   these  functions  use  an
+           implementation-specific format.  Although the format is an  obvious
+           target for standardization, it has been overlooked.
+
+           Interestingly  enough,  according to the copyright dates in Solaris
+           source, the functions (along with <STRONG>scr_init</STRONG>, etc.)  originated  with
+           the University of California, Berkeley (in 1982) and were later (in
+           1988) incorporated into SVr4.  Oddly, there are no  such  functions
            in the 4.3BSD curses sources.
 
-       <STRONG>o</STRONG>   Most  implementations  simply  dump  the binary <STRONG>WINDOW</STRONG>
-           structure to the file.   These  include  SVr4  curses,
-           NetBSD  and  PDCurses,  as  well as older ncurses ver-
-           sions.  This implementation (as  well  as  the  X/Open
-           variant  of  Solaris  curses, dated 1995) uses textual
-           dumps.
+       <STRONG>o</STRONG>   Most implementations simply dump the binary <EM>WINDOW</EM> structure to the
+           file.  These include SVr4 curses, NetBSD and PDCurses, as  well  as
+           older <EM>ncurses</EM> versions.  This implementation (as well as the X/Open
+           variant of Solaris curses, dated 1995) uses textual dumps.
 
-           The implementations which use binary dumps use  block-
-           I/O  (the <STRONG>fwrite</STRONG> and <STRONG>fread</STRONG> functions).  Those that use
-           textual dumps use buffered-I/O.   A  few  applications
-           may happen to write extra data in the file using these
-           functions.  Doing that can run  into  problems  mixing
-           block-  and buffered-I/O.  This implementation reduces
-           the problem on writes by flushing the output.   Howev-
-           er,  reading  from  a file written using mixed schemes
-           may not be successful.
+           The implementations which  use  binary  dumps  use  block-I/O  (the
+           <STRONG>fwrite</STRONG>  and  <STRONG>fread</STRONG>  functions).   Those  that use textual dumps use
+           buffered-I/O.  A few applications may happen to write extra data in
+           the  file  using these functions.  Doing that can run into problems
+           mixing block- and buffered-I/O.  This  implementation  reduces  the
+           problem  on writes by flushing the output.  However, reading from a
+           file written using mixed schemes may not be successful.
 
 
-</PRE>
-<H3><a name="h3-unctrl_wunctrl">unctrl/wunctrl</a></H3><PRE>
-       The XSI Curses standard, Issue  4  describes  these  func-
-       tions.   It  states  that <STRONG>unctrl</STRONG> and <STRONG>wunctrl</STRONG> will return a
-       null pointer if unsuccessful, but does not define any  er-
-       ror conditions.  This implementation checks for three cas-
-       es:
+</PRE><H3><a name="h3-unctrl_wunctrl">unctrl, wunctrl</a></H3><PRE>
+       X/Open Curses, Issue 4  describes  these  functions.   It  states  that
+       <STRONG>unctrl</STRONG> and <STRONG>wunctrl</STRONG> will return a null pointer if unsuccessful, but does
+       not define any error conditions.  This implementation checks for  three
+       cases:
 
-       <STRONG>o</STRONG>   the parameter is a 7-bit US-ASCII code.  This  is  the
-           case that X/Open Curses documented.
+       <STRONG>o</STRONG>   the  parameter  is  a  7-bit  US-ASCII code.  This is the case that
+           X/Open Curses documented.
 
-       <STRONG>o</STRONG>   the parameter is in the range 128-159, i.e., a C1 con-
-           trol code.  If <STRONG>use_legacy_coding</STRONG> has been called  with
-           a  <STRONG>2</STRONG>  parameter, <STRONG>unctrl</STRONG> returns the parameter, i.e., a
-           one-character string with the parameter as  the  first
-           character.   Otherwise,  it  returns "~@", "~A", etc.,
-           analogous to "^@", "^A", C0 controls.
+       <STRONG>o</STRONG>   the parameter is in the range 128-159, i.e., a C1 control code.  If
+           <STRONG><A HREF="legacy_coding.3x.html">use_legacy_coding(3x)</A></STRONG>  has  been  called with a <STRONG>2</STRONG> parameter, <STRONG>unctrl</STRONG>
+           returns the  parameter,  i.e.,  a  one-character  string  with  the
+           parameter  as  the  first  character.   Otherwise, it returns "~@",
+           "~A", etc., analogous to "^@", "^A", C0 controls.
 
-           X/Open Curses does not document whether <STRONG>unctrl</STRONG> can  be
-           called  before  initializing curses.  This implementa-
-           tion permits that, and returns the "~@", etc.,  values
-           in that case.
+           X/Open Curses does not document whether <STRONG>unctrl</STRONG> can be called before
+           initializing curses.  This implementation permits that, and returns
+           the "~@", etc., values in that case.
 
-       <STRONG>o</STRONG>   parameter  values  outside the 0 to 255 range.  <STRONG>unctrl</STRONG>
-           returns a null pointer.
+       <STRONG>o</STRONG>   parameter values outside the 0 to 255 range.  <STRONG>unctrl</STRONG> returns a null
+           pointer.
 
-       The strings returned by <STRONG>unctrl</STRONG> in this implementation  are
-       determined  at  compile time, showing C1 controls from the
-       upper-128 codes with a `~' prefix rather than `^'.   Other
-       implementations  have different conventions.  For example,
-       they may show both sets of control  characters  with  `^',
-       and  strip the parameter to 7 bits.  Or they may ignore C1
-       controls and treat all of the upper-128  codes  as  print-
-       able.  This implementation uses 8 bits but does not modify
-       the string to reflect locale.  The <STRONG>use_legacy_coding</STRONG> func-
-       tion allows the caller to change the output of <STRONG>unctrl</STRONG>.
+       The strings returned by <STRONG>unctrl</STRONG> in this implementation are determined at
+       compile time, showing C1 controls from the upper-128 codes with  a  "~"
+       prefix   rather   than   "^".   Other  implementations  have  different
+       conventions.   For  example,  they  may  show  both  sets  of   control
+       characters  with  "^",  and strip the parameter to 7 bits.  Or they may
+       ignore C1 controls and treat all of the upper-128 codes  as  printable.
+       This  implementation  uses  8  bits  but  does not modify the string to
+       reflect locale.  The <STRONG><A HREF="legacy_coding.3x.html">use_legacy_coding(3x)</A></STRONG> function allows  the  caller
+       to change the output of <STRONG>unctrl</STRONG>.
 
-       Likewise,  the  <STRONG>meta</STRONG>  function allows the caller to change
-       the output of <STRONG>keyname</STRONG>, i.e., it determines whether to  use
-       the `M-' prefix for "meta" keys (codes in the range 128 to
-       255).  Both <STRONG>use_legacy_coding</STRONG> and <STRONG>meta</STRONG> succeed only  after
-       curses  is  initialized.   X/Open Curses does not document
-       the treatment of codes 128 to 159.  When treating them  as
-       "meta"  keys  (or if <STRONG>keyname</STRONG> is called before initializing
-       curses),  this  implementation  returns  strings   "M-^@",
-       "M-^A", etc.
+       Likewise,  the <STRONG><A HREF="curs_inopts.3x.html">meta(3x)</A></STRONG> function allows the caller to change the output
+       of <STRONG>keyname</STRONG>, i.e., it determines whether to  use  the  "M-"  prefix  for
+       "meta"    keys    (codes    in   the   range   128   to   255).    Both
+       <STRONG><A HREF="legacy_coding.3x.html">use_legacy_coding(3x)</A></STRONG>  and  <STRONG><A HREF="curs_inopts.3x.html">meta(3x)</A></STRONG>  succeed  only  after  curses   is
+       initialized.   X/Open  Curses  does not document the treatment of codes
+       128 to 159.  When treating them as "meta" keys (or if <STRONG>keyname</STRONG> is called
+       before   initializing  curses),  this  implementation  returns  strings
+       "M-^@", "M-^A", etc.
+
+       X/Open Curses documents <STRONG>unctrl</STRONG> as declared in <STRONG>&lt;unctrl.h&gt;</STRONG>, which <EM>ncurses</EM>
+       does.   However,  <EM>ncurses</EM>' <STRONG>&lt;curses.h&gt;</STRONG> includes <STRONG>&lt;unctrl.h&gt;</STRONG>, matching the
+       behavior of SVr4 curses.  Other implementations may not do that.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG>curs_ker-</STRONG>
-       <STRONG><A HREF="curs_kernel.3x.html">nel(3x)</A></STRONG>,  <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>,   <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,   <STRONG>lega-</STRONG>
-       <STRONG><A HREF="legacy_coding.3x.html">cy_coding(3x)</A></STRONG>.
+</PRE><H3><a name="h3-use_env_use_tioctl">use_env, use_tioctl</a></H3><PRE>
+       If <EM>ncurses</EM> is configured to provide  the  sp-functions  extension,  the
+       state  of  <STRONG>use_env</STRONG>  and  <STRONG>use_tioctl</STRONG> may be updated before creating each
+       <EM>screen</EM> rather than once  only  (<STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>).   This  feature  of
+       <STRONG>use_env</STRONG> is not provided by other implementations of curses.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,    <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,    <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>,   <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>,
+       <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>,        <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>,        <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,
+       <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>
 
 
 
-                                                          <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                     <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -404,11 +401,11 @@
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
 <ul>
 <li><a href="#h3-unctrl">unctrl</a></li>
-<li><a href="#h3-keyname_key_name">keyname/key_name</a></li>
-<li><a href="#h3-filter_nofilter">filter/nofilter</a></li>
+<li><a href="#h3-keyname_key_name">keyname, key_name</a></li>
+<li><a href="#h3-filter_nofilter">filter, nofilter</a></li>
 <li><a href="#h3-use_env">use_env</a></li>
 <li><a href="#h3-use_tioctl">use_tioctl</a></li>
-<li><a href="#h3-putwin_getwin">putwin/getwin</a></li>
+<li><a href="#h3-putwin_getwin">putwin, getwin</a></li>
 <li><a href="#h3-delay_output">delay_output</a></li>
 <li><a href="#h3-flushinp">flushinp</a></li>
 </ul>
@@ -417,10 +414,12 @@
 <li><a href="#h2-PORTABILITY">PORTABILITY</a>
 <ul>
 <li><a href="#h3-filter">filter</a></li>
+<li><a href="#h3-delay_output-padding">delay_output padding</a></li>
 <li><a href="#h3-keyname">keyname</a></li>
-<li><a href="#h3-nofilter_use_tioctl">nofilter/use_tioctl</a></li>
-<li><a href="#h3-putwin_getwin">putwin/getwin</a></li>
-<li><a href="#h3-unctrl_wunctrl">unctrl/wunctrl</a></li>
+<li><a href="#h3-nofilter_use_tioctl">nofilter, use_tioctl</a></li>
+<li><a href="#h3-putwin_getwin-file-format">putwin/getwin file-format</a></li>
+<li><a href="#h3-unctrl_wunctrl">unctrl, wunctrl</a></li>
+<li><a href="#h3-use_env_use_tioctl">use_env, use_tioctl</a></li>
 </ul>
 </li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
diff --git a/doc/html/man/curs_variables.3x.html b/doc/html/man/curs_variables.3x.html
index 019c3e5..92ae985 100644
--- a/doc/html/man/curs_variables.3x.html
+++ b/doc/html/man/curs_variables.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 2010,2013 Free Software Foundation, Inc.                   *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 2010-2015,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,168 +27,275 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_variables.3x,v 1.6 2013/12/21 18:41:32 tom Exp @
+  * @Id: curs_variables.3x,v 1.47 2024/04/13 22:37:35 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_variables 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_variables 3x 2024-04-13 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_variables 3x</H1>
+<H1 class="no-header">curs_variables 3x 2024-04-13 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>                                   <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
+<STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>               Library calls              <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>COLORS</STRONG>, <STRONG>COLOR_PAIRS</STRONG>, <STRONG>COLS</STRONG>, <STRONG>ESCDELAY</STRONG>, <STRONG>LINES</STRONG>, <STRONG>TABSIZE</STRONG>,
-       <STRONG>curscr</STRONG>, <STRONG>newscr</STRONG>, <STRONG>stdscr</STRONG> - <STRONG>curses</STRONG> global variables
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <EM>bool</EM>,  <EM>chtype</EM>,  <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>,  <EM>attr</EM><STRONG>_</STRONG><EM>t</EM>, <EM>SCREEN</EM>, <EM>WINDOW</EM>, <STRONG>TRUE</STRONG>, <STRONG>FALSE</STRONG>, <STRONG>ERR</STRONG>, <STRONG>OK</STRONG>,
+       <STRONG>curscr</STRONG>, <STRONG>newscr</STRONG>, <STRONG>stdscr</STRONG>, <STRONG>COLORS</STRONG>,  <STRONG>COLOR_PAIRS</STRONG>,  <STRONG>COLS</STRONG>,  <STRONG>LINES</STRONG>,  <STRONG>ESCDELAY</STRONG>,
+       <STRONG>TABSIZE</STRONG> - <EM>curses</EM> data types, constants, and global variables
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
-       <STRONG>int</STRONG> <STRONG>COLOR_PAIRS;</STRONG>
+       <EM>/*</EM> <EM>data</EM> <EM>types</EM> <EM>*/</EM>
+       <STRONG>typedef</STRONG> <EM>/*</EM> <STRONG>...</STRONG> <EM>*/</EM> <STRONG>bool;</STRONG>
+       <STRONG>typedef</STRONG> <EM>/*</EM> <STRONG>...</STRONG> <EM>*/</EM> <STRONG>chtype;</STRONG>
+       <STRONG>typedef</STRONG> <EM>/*</EM> <STRONG>...</STRONG> <EM>*/</EM> <STRONG>cchar_t;</STRONG>
+       <STRONG>typedef</STRONG> <EM>/*</EM> <STRONG>...</STRONG> <EM>*/</EM> <STRONG>attr_t;</STRONG>
+       <STRONG>typedef</STRONG> <EM>/*</EM> <STRONG>...</STRONG> <EM>*/</EM> <STRONG>SCREEN;</STRONG>
+       <STRONG>typedef</STRONG> <EM>/*</EM> <STRONG>...</STRONG> <EM>*/</EM> <STRONG>WINDOW;</STRONG>
+
+       <EM>/*</EM> <EM>constants</EM> <EM>*/</EM>
+       <STRONG>const</STRONG> <STRONG>bool</STRONG> <STRONG>TRUE;</STRONG>
+       <STRONG>const</STRONG> <STRONG>bool</STRONG> <STRONG>FALSE;</STRONG>
+
+       <STRONG>const</STRONG> <EM>/*</EM> <STRONG>...</STRONG> <EM>*/</EM> <STRONG>ERR;</STRONG>
+       <STRONG>const</STRONG> <EM>/*</EM> <STRONG>...</STRONG> <EM>*/</EM> <STRONG>OK;</STRONG>
+
+       <EM>/*</EM> <EM>variables</EM> <EM>*/</EM>
        <STRONG>int</STRONG> <STRONG>COLORS;</STRONG>
+       <STRONG>int</STRONG> <STRONG>COLOR_PAIRS;</STRONG>
        <STRONG>int</STRONG> <STRONG>COLS;</STRONG>
-       <STRONG>int</STRONG> <STRONG>ESCDELAY;</STRONG>
        <STRONG>int</STRONG> <STRONG>LINES;</STRONG>
-       <STRONG>int</STRONG> <STRONG>TABSIZE;</STRONG>
        <STRONG>WINDOW</STRONG> <STRONG>*</STRONG> <STRONG>curscr;</STRONG>
-       <STRONG>WINDOW</STRONG> <STRONG>*</STRONG> <STRONG>newscr;</STRONG>
        <STRONG>WINDOW</STRONG> <STRONG>*</STRONG> <STRONG>stdscr;</STRONG>
 
-
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       This page summarizes variables provided by the <STRONG>curses</STRONG>  li-
-       brary.   A more complete description is given in the <STRONG>curs-</STRONG>
-       <STRONG><A HREF="ncurses.3x.html">es(3x)</A></STRONG> manual page.
-
-       Depending on the configuration, these may be actual  vari-
-       ables,     or    macros    (see    <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>    and
-       <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>) which provide read-only access  to  <EM>curs-</EM>
-       <EM>es</EM>'s  state.   In  either  case, applications should treat
-       them as read-only to avoid confusing the library.
+       <EM>/*</EM> <EM>extensions</EM> <EM>*/</EM>
+       <STRONG>int</STRONG> <STRONG>ESCDELAY;</STRONG>
+       <STRONG>int</STRONG> <STRONG>TABSIZE;</STRONG>
+       <STRONG>WINDOW</STRONG> <STRONG>*</STRONG> <STRONG>newscr;</STRONG>
 
 
-</PRE>
-<H3><a name="h3-COLOR_PAIRS">COLOR_PAIRS</a></H3><PRE>
-       After initializing curses, this variable contains the num-
-       ber of color pairs which the terminal can support.  Usual-
-       ly the number of color pairs  will  be  the  product  <STRONG>COL-</STRONG>
-       <STRONG>ORS</STRONG>*<STRONG>COLORS</STRONG>, however this is not always true:
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       This  page  summarizes data types, constants, and variables provided by
+       the <EM>curses</EM> library.  Locate further discussion in <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.
 
-       <STRONG>o</STRONG>   a  few  terminals  use HLS colors, which do not follow
-           this rule
-
-       <STRONG>o</STRONG>   terminals supporting a large number of colors are lim-
-           ited  by  the number of color pairs that can be repre-
-           sented in a <EM>signed</EM> <EM>short</EM> value.
-
-
-</PRE>
-<H3><a name="h3-COLORS">COLORS</a></H3><PRE>
-       After initializing curses, this variable contains the num-
-       ber of colors which the terminal can support.
-
-
-</PRE>
-<H3><a name="h3-COLS">COLS</a></H3><PRE>
-       After  initializing  curses,  this  variable  contains the
-       width of the screen, i.e., the number of columns.
-
-
-</PRE>
-<H3><a name="h3-ESCDELAY">ESCDELAY</a></H3><PRE>
-       This variable holds the number of milliseconds to wait af-
-       ter reading an escape character, to distinguish between an
-       individual escape character entered on the  keyboard  from
-       escape  sequences  sent  by cursor- and function-keys (see
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.
-
-
-</PRE>
-<H3><a name="h3-LINES">LINES</a></H3><PRE>
-       After initializing  curses,  this  variable  contains  the
-       height of the screen, i.e., the number of lines.
-
-
-</PRE>
-<H3><a name="h3-TABSIZE">TABSIZE</a></H3><PRE>
-       This  variable  holds  the  number  of columns used by the
-       <EM>curses</EM> library when converting a tab character  to  spaces
-       as it adds the tab to a window (see <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>.
-
-
-</PRE>
-<H3><a name="h3-The-Current-Screen">The Current Screen</a></H3><PRE>
-       This implementation of curses uses a special window <STRONG>curscr</STRONG>
-       to record its updates to the terminal screen.
-
-
-</PRE>
-<H3><a name="h3-The-New-Screen">The New Screen</a></H3><PRE>
-       This implementation of curses uses a special window <STRONG>newscr</STRONG>
-       to  hold  updates  to  the terminal screen before applying
-       them to <STRONG>curscr</STRONG>.
-
-
-</PRE>
-<H3><a name="h3-The-Standard-Screen">The Standard Screen</a></H3><PRE>
-       Upon initializing curses, a default window called  <STRONG>stdscr</STRONG>,
-       which  is  the  size  of  the terminal screen, is created.
-       Many curses functions use this window.
-
-
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The   curses   library   is   initialized   using   either
-       <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, or <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>.
-
-       If  <STRONG>curses</STRONG>  is  configured to use separate curses/terminfo
-       libraries, most of these variables reside  in  the  curses
+       Depending on <EM>ncurses</EM>'s  build-time  configuration,  the  variables  may
+       instead  be  macros  (see  <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>  and  <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>) that
+       provide read-only access to  the  library's  state.   In  either  case,
+       applications  should  treat  them  as  read-only to avoid confusing the
        library.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       ESCDELAY  and TABSIZE are extensions, not provided in most
-       other implementations of curses.
+</PRE><H2><a name="h2-CONSTANTS">CONSTANTS</a></H2><PRE>
+
+</PRE><H3><a name="h3-TRUE_FALSE">TRUE, FALSE</a></H3><PRE>
+       The <EM>curses</EM> library defines <STRONG>TRUE</STRONG> and <STRONG>FALSE</STRONG> to represent  the  values  of
+       the Boolean data type.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,      <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>,       <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>,
-       <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>, <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+</PRE><H3><a name="h3-ERR_OK">ERR, OK</a></H3><PRE>
+       <EM>curses</EM>  and <EM>terminfo</EM> routines frequently return these constant integral
+       values indicating failure and success, respectively.
+
+
+</PRE><H2><a name="h2-PREDEFINED-TYPES">PREDEFINED TYPES</a></H2><PRE>
+
+</PRE><H3><a name="h3-bool"><EM>bool</EM></a></H3><PRE>
+       X/Open Issue 4 <EM>curses</EM>  (1996)  preceded  the  ISO  C99  and  ISO  C++98
+       standards,  each of which also defined a Boolean data type.  The <EM>curses</EM>
+       library requires an integral type <EM>bool</EM>.
+
+       <STRONG>ncurses</STRONG>' configure script attempts to discover the data  type  used  by
+       the system's C and C++ compilers, to reuse for the <EM>curses</EM> <EM>bool</EM>.
+
+
+</PRE><H3><a name="h3-chtype"><EM>chtype</EM></a></H3><PRE>
+       The  <EM>chtype</EM>  integral  type combines a ("narrow", 8-bit) character with
+       attributes encoding the character's <EM>rendition</EM>, such as the  styling  of
+       its  typeface  and/or  foreground  and  background  colors.   See,  for
+       example, <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">attron(3x)</A></STRONG>, and <STRONG><A HREF="curs_inch.3x.html">inch(3x)</A></STRONG>.
+
+
+</PRE><H3><a name="h3-cchar_t_attr_t"><EM>cchar_t,</EM> attr_t</a></H3><PRE>
+       <EM>chtype</EM> is too small for the standard C library's  wide-character  type,
+       <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM>.   <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>  is a type that can accommodate an <EM>attr</EM><STRONG>_</STRONG><EM>t</EM> and enough
+       wide characters to store what  Unicode  terms  a  <EM>grapheme</EM>  <EM>cluster</EM>  (a
+       "user-perceived  character"  [UAX  #29], which may nevertheless require
+       several character encoding units to represent).  <EM>attr</EM><STRONG>_</STRONG><EM>t</EM> is an  integral
+       type  storing  "wide"  attributes  that  apply  to  <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>s.  See, for
+       example, <STRONG><A HREF="curs_add_wch.3x.html">add_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">attr_on(3x)</A></STRONG>, and <STRONG><A HREF="curs_in_wch.3x.html">in_wch(3x)</A></STRONG>.
+
+
+</PRE><H3><a name="h3-SCREEN"><EM>SCREEN</EM></a></H3><PRE>
+       <EM>curses</EM>  manages  a  terminal  device  with  this  structure  type;  see
+       <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG>.
+
+
+</PRE><H3><a name="h3-WINDOW"><EM>WINDOW</EM></a></H3><PRE>
+       <EM>curses</EM>  represents rectangular portions of the terminal screen with the
+       <EM>WINDOW</EM> structure type; see subsection "Overview" of <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.
+
+
+</PRE><H2><a name="h2-VARIABLES">VARIABLES</a></H2><PRE>
+
+</PRE><H3><a name="h3-curscr_stdscr_newscr">curscr, stdscr, newscr</a></H3><PRE>
+       The library records updates to the terminal screen in  a  window  named
+       <STRONG>curscr</STRONG>.   This  object  is  referred  to  as  the  "physical screen" in
+       <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG> and <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>.
+
+       <EM>ncurses</EM> collects pending updates to the terminal  screen  in  a  window
+       named  <STRONG>newscr</STRONG>.   This  object is referred to as the "virtual screen" in
+       the <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, and <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>.  When  the
+       screen  is  refreshed, <EM>curses</EM> determines a minimal set of updates using
+       the terminal's capabilities to make <STRONG>curscr</STRONG> look like <STRONG>newscr</STRONG>.
+
+       Once <EM>curses</EM> is initialized, it creates a window named  <STRONG>stdscr</STRONG>.   It  is
+       the  same size as the terminal screen and is the default window used by
+       routines that do not take a parameter  identifying  one.   Many  <EM>curses</EM>
+       functions use this window.
+
+
+</PRE><H3><a name="h3-COLORS">COLORS</a></H3><PRE>
+       Once  <EM>curses</EM>  is  initialized,  <STRONG>COLORS</STRONG>  contains  the  number of colors
+       supported by the terminal; see <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>.
+
+
+</PRE><H3><a name="h3-COLOR_PAIRS">COLOR_PAIRS</a></H3><PRE>
+       Once <EM>curses</EM> is initialized, <STRONG>COLOR_PAIRS</STRONG> contains the  number  of  color
+       pairs supported by the terminal; see <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>.
+
+
+</PRE><H3><a name="h3-COLS_LINES">COLS, LINES</a></H3><PRE>
+       Once  <EM>curses</EM>  is initialized, <STRONG>COLS</STRONG> and <STRONG>LINES</STRONG> contain the screen's width
+       and height in character cells, respectively; that  is,  the  number  of
+       columns and lines.
+
+
+</PRE><H3><a name="h3-ESCDELAY">ESCDELAY</a></H3><PRE>
+       For  <EM>curses</EM>  to  distinguish  the ESC character resulting from a user's
+       press of the "Escape" key on the input device  from  one  beginning  an
+       <EM>escape</EM> <EM>sequence</EM> (as commonly produced by function keys), it waits after
+       the escape character to see if further characters are available on  the
+       input stream within a short interval.  <STRONG>ESCDELAY</STRONG> stores this interval in
+       milliseconds.
+
+       If <STRONG><A HREF="curs_inopts.3x.html">keypad(3x)</A></STRONG> is disabled for the  <EM>curses</EM>  window  receiving  input,  a
+       program must disambiguate escape sequences itself.
+
+
+</PRE><H3><a name="h3-TABSIZE">TABSIZE</a></H3><PRE>
+       The <EM>curses</EM> library converts a tab character to this number of spaces as
+       it adds a tab to a window; see <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       Either <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG> or <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG> initializes <EM>curses</EM>.
+
+       If  <EM>ncurses</EM>  is  configured  to  provide  separate  <EM>curses</EM>  and   <EM>tinfo</EM>
+       libraries, most of these variables reside in the former.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       The  X/Open  Curses  standard  documents all of the foregoing types and
+       symbols except for <STRONG>newscr</STRONG>, <STRONG>TABSIZE</STRONG>, and <STRONG>ESCDELAY</STRONG>.
+
+       X/Open Curses describes <STRONG>curscr</STRONG> only as "an  internal  data  structure";
+       SVr4   gave  more  details,  noting  its  use  "for  certain  low-level
+       operations like clearing and redrawing a  screen  containing  garbage".
+       Neither specified its interaction with the rest of the interface beyond
+       use as an argument to <STRONG><A HREF="curs_outopts.3x.html">clearok(3x)</A></STRONG> and <STRONG><A HREF="curs_refresh.3x.html">wrefresh(3x)</A></STRONG>.
+
+       <STRONG>newscr</STRONG> is a feature of SVr4 <EM>curses</EM>.  When refreshing the screen, it  is
+       used  as  a  working area for combining the standard window <STRONG>stdscr</STRONG> with
+       any others the application may have created with <STRONG><A HREF="curs_window.3x.html">newwin(3x)</A></STRONG>.  When  the
+       update of <STRONG>newscr</STRONG> is complete, <EM>curses</EM> modifies <STRONG>curscr</STRONG> to match <STRONG>newscr</STRONG>.
+
+       <STRONG>TABSIZE</STRONG> is a feature of SVr4 <EM>curses</EM>.
+
+       <STRONG>o</STRONG>   SVr4   initially  sets  <STRONG>TABSIZE</STRONG>  from  the  terminal  description's
+           <STRONG>init_tabs</STRONG>  capability.   After  that,  it   can   be   altered   by
+           applications using SVr4 <EM>curses</EM>.
+
+       <STRONG>o</STRONG>   SVr4  <EM>curses</EM>  uses  the value of <STRONG>TABSIZE</STRONG> to compute the position of
+           tab stops when updating both the virtual screen with <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>  and
+           the physical screen with <STRONG><A HREF="curs_terminfo.3x.html">mvcur(3x)</A></STRONG>.
+
+       <STRONG>o</STRONG>   <EM>ncurses</EM>  uses  the  value  of  <STRONG>TABSIZE</STRONG>  only  to update the virtual
+           screen.   It  uses  the  terminal  description's  "<STRONG>it</STRONG>"  (<STRONG>init_tabs</STRONG>)
+           capability  for  computing hardware tabs (that is, tab stops on the
+           physical screen).
+
+       <STRONG>o</STRONG>   Other implementations differ.  For instance, NetBSD  <EM>curses</EM>  allows
+           <STRONG>TABSIZE</STRONG>  to  be  set through an environment variable.  <EM>ncurses</EM> does
+           not.
+
+           NetBSD <EM>curses</EM> does not support hardware tabs; it uses the <STRONG>init_tabs</STRONG>
+           capability  and  the <STRONG>TABSIZE</STRONG> variable only for updating the virtual
+           screen.
+
+       <STRONG>ESCDELAY</STRONG> is a feature of AIX <EM>curses</EM>.
+
+       <STRONG>o</STRONG>   In AIX, the units for <STRONG>ESCDELAY</STRONG> are <EM>fifths</EM> of milliseconds.
+
+       <STRONG>o</STRONG>   The default value for AIX's <STRONG>ESCDELAY</STRONG> equals 0.1 seconds.
+
+       <STRONG>o</STRONG>   AIX also enforces a limit of 10,000 seconds for  <STRONG>ESCDELAY</STRONG>;  <EM>ncurses</EM>
+           does not enforce any upper limit.
+
+       <EM>ncurses</EM>  has  long  used <STRONG>ESCDELAY</STRONG> with units of milliseconds, making it
+       impossible to be completely compatible with  AIX.   Consequently,  most
+       users  have  decided  either to override the value, or to rely upon its
+       default.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,   <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>,    <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>,    <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>,
+       <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>, <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+
+       [UAX  #29]  "Unicode  Standard  Annex  #29: Unicode Text Segmentation";
+       &lt;https://unicode.org/reports/tr29/&gt;
 
 
 
-                                                     <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
+ncurses 6.5                       2024-04-13                <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
 <li><a href="#h2-NAME">NAME</a></li>
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
-<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-CONSTANTS">CONSTANTS</a>
 <ul>
-<li><a href="#h3-COLOR_PAIRS">COLOR_PAIRS</a></li>
+<li><a href="#h3-TRUE_FALSE">TRUE, FALSE</a></li>
+<li><a href="#h3-ERR_OK">ERR, OK</a></li>
+</ul>
+</li>
+<li><a href="#h2-PREDEFINED-TYPES">PREDEFINED TYPES</a>
+<ul>
+<li><a href="#h3-bool">bool</a></li>
+<li><a href="#h3-chtype">chtype</a></li>
+<li><a href="#h3-cchar_t_attr_t">cchar_t, attr_t</a></li>
+<li><a href="#h3-SCREEN">SCREEN</a></li>
+<li><a href="#h3-WINDOW">WINDOW</a></li>
+</ul>
+</li>
+<li><a href="#h2-VARIABLES">VARIABLES</a>
+<ul>
+<li><a href="#h3-curscr_stdscr_newscr">curscr, stdscr, newscr</a></li>
 <li><a href="#h3-COLORS">COLORS</a></li>
-<li><a href="#h3-COLS">COLS</a></li>
+<li><a href="#h3-COLOR_PAIRS">COLOR_PAIRS</a></li>
+<li><a href="#h3-COLS_LINES">COLS, LINES</a></li>
 <li><a href="#h3-ESCDELAY">ESCDELAY</a></li>
-<li><a href="#h3-LINES">LINES</a></li>
 <li><a href="#h3-TABSIZE">TABSIZE</a></li>
-<li><a href="#h3-The-Current-Screen">The Current Screen</a></li>
-<li><a href="#h3-The-New-Screen">The New Screen</a></li>
-<li><a href="#h3-The-Standard-Screen">The Standard Screen</a></li>
 </ul>
 </li>
 <li><a href="#h2-NOTES">NOTES</a></li>
diff --git a/doc/html/man/curs_window.3x.html b/doc/html/man/curs_window.3x.html
index c474f1c..ea99659 100644
--- a/doc/html/man/curs_window.3x.html
+++ b/doc/html/man/curs_window.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2014,2015 Free Software Foundation, Inc.              *
+  * Copyright 2020-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2015,2016 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,34 +27,31 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_window.3x,v 1.19 2015/07/21 08:25:23 tom Exp @
+  * @Id: curs_window.3x,v 1.48 2024/04/20 21:20:07 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_window 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_window 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_window 3x</H1>
+<H1 class="no-header">curs_window 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>                                         <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+<STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>                  Library calls                 <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>newwin</STRONG>, <STRONG>delwin</STRONG>, <STRONG>mvwin</STRONG>, <STRONG>subwin</STRONG>, <STRONG>derwin</STRONG>, <STRONG>mvderwin</STRONG>, <STRONG>dupwin</STRONG>,
-       <STRONG>wsyncup</STRONG>, <STRONG>syncok</STRONG>, <STRONG>wcursyncup</STRONG>, <STRONG>wsyncdown</STRONG> - create <STRONG>curses</STRONG>
-       windows
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>newwin</STRONG>,  <STRONG>delwin</STRONG>,  <STRONG>mvwin</STRONG>,  <STRONG>subwin</STRONG>,  <STRONG>derwin</STRONG>,  <STRONG>mvderwin</STRONG>,  <STRONG>dupwin</STRONG>, <STRONG>wsyncup</STRONG>,
+       <STRONG>syncok</STRONG>, <STRONG>wcursyncup</STRONG>, <STRONG>wsyncdown</STRONG> - create and manipulate <EM>curses</EM> windows
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
        <STRONG>WINDOW</STRONG> <STRONG>*newwin(</STRONG>
@@ -75,14 +73,12 @@
        <STRONG>void</STRONG> <STRONG>wsyncdown(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
 
-</PRE>
-<H3><a name="h3-newwin">newwin</a></H3><PRE>
-       Calling <STRONG>newwin</STRONG> creates and returns a pointer to a new win-
-       dow with the given number of lines and columns.  The upper
-       left-hand corner of the window is at
+</PRE><H3><a name="h3-newwin">newwin</a></H3><PRE>
+       Calling <STRONG>newwin</STRONG> creates and returns a pointer to a new window  with  the
+       given  number  of lines and columns.  The upper left-hand corner of the
+       window is at
               line <EM>begin</EM>_<EM>y</EM>,
               column <EM>begin</EM>_<EM>x</EM>
 
@@ -90,176 +86,177 @@
               <STRONG>LINES</STRONG> <STRONG>-</STRONG> <EM>begin</EM>_<EM>y</EM> and
               <STRONG>COLS</STRONG> <STRONG>-</STRONG> <EM>begin</EM>_<EM>x</EM>.
 
-       A   new   full-screen   window   is   created  by  calling
-       <STRONG>newwin(0,0,0,0)</STRONG>.
+       A new full-screen window is created by calling <STRONG>newwin(0,0,0,0)</STRONG>.
+
+       Regardless of the function  used  for  creating  a  new  window  (e.g.,
+       <STRONG>newwin</STRONG>, <STRONG>subwin</STRONG>, <STRONG>derwin</STRONG>, <STRONG>newpad</STRONG>), rather than a duplicate (with <STRONG>dupwin</STRONG>),
+       all of the window modes are initialized to the default  values.   These
+       functions set window modes after a window is created:
+
+              <STRONG>idcok</STRONG>  <STRONG>idlok</STRONG>  <STRONG>immedok</STRONG>  <STRONG>keypad</STRONG> <STRONG>leaveok</STRONG> <STRONG>nodelay</STRONG> <STRONG>scrollok</STRONG> <STRONG>setscrreg</STRONG>
+              <STRONG>syncok</STRONG> <STRONG>wbkgdset</STRONG> <STRONG>wbkgrndset</STRONG> and <STRONG>wtimeout</STRONG>.
 
 
-</PRE>
-<H3><a name="h3-delwin">delwin</a></H3><PRE>
-       Calling <STRONG>delwin</STRONG> deletes the named window, freeing all memo-
-       ry associated with it (it does not actually erase the win-
-       dow's screen image).  Subwindows must  be  deleted  before
-       the main window can be deleted.
+</PRE><H3><a name="h3-delwin">delwin</a></H3><PRE>
+       Calling <STRONG>delwin</STRONG> deletes the named window, freeing all memory  associated
+       with  it  (it  does  not  actually  erase  the  window's screen image).
+       Subwindows must be deleted before the main window can be deleted.
 
 
-</PRE>
-<H3><a name="h3-mvwin">mvwin</a></H3><PRE>
-       Calling <STRONG>mvwin</STRONG> moves the window so that the upper left-hand
-       corner is at position (<EM>x</EM>, <EM>y</EM>).  If the move would cause the
-       window to be off the screen, it is an error and the window
-       is not moved.  Moving subwindows is allowed, but should be
-       avoided.
+</PRE><H3><a name="h3-mvwin">mvwin</a></H3><PRE>
+       Calling <STRONG>mvwin</STRONG> moves the window so that the upper left-hand corner is at
+       position  (<EM>x</EM>,  <EM>y</EM>).   If  the  move would cause the window to be off the
+       screen, it is an error and the window is not moved.  Moving  subwindows
+       is allowed, but should be avoided.
 
 
-</PRE>
-<H3><a name="h3-subwin">subwin</a></H3><PRE>
-       Calling <STRONG>subwin</STRONG> creates and returns a pointer to a new win-
-       dow with the given number of lines, <EM>nlines</EM>,  and  columns,
-       <EM>ncols</EM>.   The  window  is at position (<EM>begin</EM>_<EM>y</EM>, <EM>begin</EM>_<EM>x</EM>) on
-       the screen.  The subwindow shares memory with  the  window
-       <EM>orig</EM>,  so that changes made to one window will affect both
-       windows.  When using this routine, it is necessary to call
-       <STRONG>touchwin</STRONG>  or  <STRONG>touchline</STRONG> on <EM>orig</EM> before calling <STRONG>wrefresh</STRONG> on
-       the subwindow.
+</PRE><H3><a name="h3-subwin">subwin</a></H3><PRE>
+       Calling  <STRONG>subwin</STRONG>  creates and returns a pointer to a new window with the
+       given number of lines, <EM>nlines</EM>, and columns, <EM>ncols</EM>.  The  window  is  at
+       position (<EM>begin</EM>_<EM>y</EM>, <EM>begin</EM>_<EM>x</EM>) on the screen.  The subwindow shares memory
+       with the window <EM>orig</EM>, its <EM>ancestor</EM>, so that changes made to one  window
+       will  affect both windows.  When using this routine, it is necessary to
+       call <STRONG>touchwin</STRONG> or <STRONG>touchline</STRONG> on  <EM>orig</EM>  before  calling  <STRONG>wrefresh</STRONG>  on  the
+       subwindow.
 
 
-</PRE>
-<H3><a name="h3-derwin">derwin</a></H3><PRE>
-       Calling <STRONG>derwin</STRONG> is the same as calling <STRONG>subwin,</STRONG> except  that
-       <EM>begin</EM>_<EM>y</EM> and <EM>begin</EM>_<EM>x</EM> are relative to the origin of the win-
-       dow <EM>orig</EM> rather than the screen.  There is  no  difference
-       between the subwindows and the derived windows.
-
-       Calling <STRONG>mvderwin</STRONG> moves a derived window (or subwindow) in-
-       side its parent window.  The screen-relative parameters of
-       the  window are not changed.  This routine is used to dis-
-       play different parts of the  parent  window  at  the  same
-       physical position on the screen.
+</PRE><H3><a name="h3-derwin">derwin</a></H3><PRE>
+       Calling  <STRONG>derwin</STRONG>  is the same as calling <STRONG>subwin,</STRONG> except that <EM>begin</EM>_<EM>y</EM> and
+       <EM>begin</EM>_<EM>x</EM> are relative to the origin of the window <EM>orig</EM> rather  than  the
+       screen.   There is no difference between the subwindows and the derived
+       windows.
 
 
-</PRE>
-<H3><a name="h3-dupwin">dupwin</a></H3><PRE>
-       Calling  <STRONG>dupwin</STRONG>  creates  an exact duplicate of the window
-       <EM>win</EM>.
+</PRE><H3><a name="h3-mvderwin">mvderwin</a></H3><PRE>
+       Calling <STRONG>mvderwin</STRONG> moves a  derived  window  (or  subwindow)  inside  its
+       parent  window.   The  screen-relative parameters of the window are not
+       changed.  This routine is used to display different parts of the parent
+       window at the same physical position on the screen.
 
 
-</PRE>
-<H3><a name="h3-wsyncup">wsyncup</a></H3><PRE>
-       Calling <STRONG>wsyncup</STRONG> touches all locations in ancestors of  <EM>win</EM>
-       that  are changed in <EM>win</EM>.  If <STRONG>syncok</STRONG> is called with second
-       argument <STRONG>TRUE</STRONG> then <STRONG>wsyncup</STRONG> is called automatically whenev-
-       er there is a change in the window.
+</PRE><H3><a name="h3-dupwin">dupwin</a></H3><PRE>
+       Calling <STRONG>dupwin</STRONG> creates an exact duplicate of the window <EM>win</EM>.
 
 
-</PRE>
-<H3><a name="h3-wsyncdown">wsyncdown</a></H3><PRE>
-       The  <STRONG>wsyncdown</STRONG>  routine  touches each location in <EM>win</EM> that
-       has been touched in any of  its  ancestor  windows.   This
-       routine  is  called by <STRONG>wrefresh</STRONG>, so it should almost never
-       be necessary to call it manually.
+</PRE><H3><a name="h3-wsyncup">wsyncup</a></H3><PRE>
+       Calling  <STRONG>wsyncup</STRONG>  touches  all  locations  in ancestors of <EM>win</EM> that are
+       changed in <EM>win</EM>.  If <STRONG>syncok</STRONG> is called with  second  argument  <STRONG>TRUE</STRONG>  then
+       <STRONG>wsyncup</STRONG>  is  called  automatically  whenever  there  is a change in the
+       window.
 
 
-</PRE>
-<H3><a name="h3-wcursyncup">wcursyncup</a></H3><PRE>
-       The routine <STRONG>wcursyncup</STRONG> updates the current cursor position
-       of  all the ancestors of the window to reflect the current
-       cursor position of the window.
+</PRE><H3><a name="h3-wsyncdown">wsyncdown</a></H3><PRE>
+       The <STRONG>wsyncdown</STRONG> routine touches  each  location  in  <EM>win</EM>  that  has  been
+       touched  in  any  of  its  ancestor windows.  This routine is called by
+       <STRONG>wrefresh</STRONG>, so it should almost never be necessary to call it manually.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Routines that return an integer return the integer <STRONG>ERR</STRONG> up-
-       on  failure  and <STRONG>OK</STRONG> (SVr4 only specifies "an integer value
-       other than <STRONG>ERR</STRONG>") upon successful completion.
+</PRE><H3><a name="h3-wcursyncup">wcursyncup</a></H3><PRE>
+       The routine <STRONG>wcursyncup</STRONG> updates the current cursor position of  all  the
+       ancestors  of  the window to reflect the current cursor position of the
+       window.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       Routines that return an integer return the integer <STRONG>ERR</STRONG> upon failure and
+       <STRONG>OK</STRONG>  (SVr4  only  specifies  "an  integer  value  other  than <STRONG>ERR</STRONG>") upon
+       successful completion.
 
        Routines that return pointers return <STRONG>NULL</STRONG> on error.
 
-       X/Open defines no error conditions.  In  this  implementa-
-       tion
+       X/Open defines no error conditions.  In this implementation
 
        <STRONG>delwin</STRONG>
-            returns an error if the window pointer is null, or if
-            the window is the parent of another window.
+            returns an error if the window pointer is null, or if  the  window
+            is the parent of another window.
 
        <STRONG>derwin</STRONG>
-            returns an error if  the  parent  window  pointer  is
-            null,  or  if  any  of its ordinates or dimensions is
-            negative, or if the resulting window does not fit in-
-            side the parent window.
+            returns  an  error if the parent window pointer is null, or if any
+            of its ordinates or dimensions is negative, or  if  the  resulting
+            window does not fit inside the parent window.
 
        <STRONG>dupwin</STRONG>
             returns an error if the window pointer is null.
 
-            This implementation also maintains a list of windows,
-            and checks that the pointer passed to <STRONG>delwin</STRONG>  is  one
-            that it created, returning an error if it was not..
+            This  implementation  also maintains a list of windows, and checks
+            that the  pointer  passed  to  <STRONG>delwin</STRONG>  is  one  that  it  created,
+            returning an error if it was not..
 
        <STRONG>mvderwin</STRONG>
-            returns an error if the window pointer is null, or if
-            some part of the window would be placed off-screen.
+            returns an error if the window pointer is null, or if some part of
+            the window would be placed off-screen.
 
        <STRONG>mvwin</STRONG>
-            returns an error if the window pointer is null, or if
-            the  window  is  really a pad, or if some part of the
-            window would be placed off-screen.
+            returns an error if the window pointer is null, or if  the  window
+            is  really  a  pad,  or if some part of the window would be placed
+            off-screen.
 
        <STRONG>newwin</STRONG>
-            will fail if either of  its  beginning  ordinates  is
-            negative, or if either the number of lines or columns
-            is negative.
+            will fail if either of its beginning ordinates is negative, or  if
+            either the number of lines or columns is negative.
 
        <STRONG>syncok</STRONG>
             returns an error if the window pointer is null.
 
        <STRONG>subwin</STRONG>
-            returns an error if  the  parent  window  pointer  is
-            null,  or  if  any  of its ordinates or dimensions is
-            negative, or if the resulting window does not fit in-
-            side the parent window.
+            returns  an  error if the parent window pointer is null, or if any
+            of its ordinates or dimensions is negative, or  if  the  resulting
+            window does not fit inside the parent window.
 
-       The  functions which return a window pointer may also fail
-       if there is insufficient memory for its  data  structures.
-       Any  of  these  functions  will fail if the screen has not
-       been initialized, i.e., with <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>.
+       The  functions  which return a window pointer may also fail if there is
+       insufficient memory for its data structures.  Any  of  these  functions
+       will fail if the screen has not been initialized, i.e., with <STRONG>initscr</STRONG> or
+       <STRONG>newterm</STRONG>.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       If many small changes are made to the window, the  <STRONG>wsyncup</STRONG>
-       option could degrade performance.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       If many small changes are made to the window, the <STRONG>wsyncup</STRONG> option  could
+       degrade performance.
 
        Note that <STRONG>syncok</STRONG> may be a macro.
 
 
-</PRE>
-<H2><a name="h2-BUGS">BUGS</a></H2><PRE>
-       The  subwindow  functions (<EM>subwin</EM>, <EM>derwin</EM>, <EM>mvderwin</EM>, <STRONG>wsyn-</STRONG>
-       <STRONG>cup</STRONG>, <STRONG>wsyncdown</STRONG>, <STRONG>wcursyncup</STRONG>, <STRONG>syncok</STRONG>) are flaky, incomplete-
-       ly implemented, and not well tested.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       X/Open Curses, Issue 4 describes these functions.
 
-       The  System  V  curses documentation is very unclear about
-       what <STRONG>wsyncup</STRONG> and <STRONG>wsyncdown</STRONG> actually do.  It seems to imply
-       that  they  are only supposed to touch exactly those lines
-       that are affected by ancestor changes.  The language here,
-       and  the  behavior  of  the <STRONG>curses</STRONG> implementation, is pat-
-       terned on the XPG4 curses standard.  The weaker XPG4  spec
-       may result in slower updates.
+       X/Open Curses states regarding <STRONG>delwin</STRONG>:
+
+       <STRONG>o</STRONG>   It must delete subwindows before deleting their parent.
+
+       <STRONG>o</STRONG>   If  <STRONG>delwin</STRONG>  is asked to delete a parent window, it can only succeed
+           if the curses library keeps a list of the subwindows.  SVr4  curses
+           kept  a  count  of the number of subwindows rather than a list.  It
+           simply returned <STRONG>ERR</STRONG> when asked  to  delete  a  subwindow.   Solaris
+           X/Open  curses  does  not  even  make that check, and will delete a
+           parent window which still has subwindows.
+
+       <STRONG>o</STRONG>   Since release 4.0 (1996), <EM>ncurses</EM> maintains a list of  windows  for
+           each  screen,  to  ensure  that  a  window has no subwindows before
+           allowing deletion.
+
+       <STRONG>o</STRONG>   NetBSD copied this feature of <EM>ncurses</EM> in 2003.
+           PDCurses follows the scheme used in Solaris X/Open curses.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       The  XSI  Curses  standard,  Issue 4 describes these func-
-       tions.
+</PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE>
+       The subwindow functions <STRONG>subwin</STRONG>, <STRONG>derwin</STRONG>, <STRONG>mvderwin</STRONG>,  <STRONG>wsyncup</STRONG>,  <STRONG>wsyncdown</STRONG>,
+       <STRONG>wcursyncup</STRONG>,  and  <STRONG>syncok</STRONG>  are  flaky, incompletely implemented, and not
+       well tested.
+
+       System V's <EM>curses</EM> documentation  is  unclear  about  what  <STRONG>wsyncup</STRONG>  and
+       <STRONG>wsyncdown</STRONG>  actually  do.   It  seems to imply that they are supposed to
+       touch only those lines that are  affected  by  changes  to  a  window's
+       ancestors.  The language here, and behavior of <EM>ncurses</EM>, is patterned on
+       the X/Open Curses standard; this approach may result in slower updates.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>,  <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>,  <STRONG>curs_vari-</STRONG>
-       <STRONG><A HREF="curs_variables.3x.html">ables(3x)</A></STRONG>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,   <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,    <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>,    <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>,
+       <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
 
 
 
-                                                        <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -272,6 +269,7 @@
 <li><a href="#h3-mvwin">mvwin</a></li>
 <li><a href="#h3-subwin">subwin</a></li>
 <li><a href="#h3-derwin">derwin</a></li>
+<li><a href="#h3-mvderwin">mvderwin</a></li>
 <li><a href="#h3-dupwin">dupwin</a></li>
 <li><a href="#h3-wsyncup">wsyncup</a></li>
 <li><a href="#h3-wsyncdown">wsyncdown</a></li>
@@ -280,8 +278,8 @@
 </li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
 <li><a href="#h2-NOTES">NOTES</a></li>
-<li><a href="#h2-BUGS">BUGS</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-BUGS">BUGS</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
diff --git a/doc/html/man/default_colors.3x.html b/doc/html/man/default_colors.3x.html
index 46e1fdf..14a0f8e 100644
--- a/doc/html/man/default_colors.3x.html
+++ b/doc/html/man/default_colors.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 2000-2011,2016 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,149 +28,128 @@
   * authorization.                                                           *
   ****************************************************************************
   * Author: Thomas E. Dickey 1997,1999,2000,2005
-  * @Id: default_colors.3x,v 1.23 2011/01/03 21:52:27 Tim.van.der.Molen Exp @
+  * @Id: default_colors.3x,v 1.52 2024/04/13 22:17:22 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>default_colors 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>default_colors 3x 2024-04-13 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">default_colors 3x</H1>
+<H1 class="no-header">default_colors 3x 2024-04-13 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>                                   <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>
+<STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>               Library calls              <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>use_default_colors</STRONG>, <STRONG>assume_default_colors</STRONG> - use terminal's
-       default colors
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>use_default_colors</STRONG>,  <STRONG>assume_default_colors</STRONG>  -  use  terminal's  default
+       colors in <EM>curses</EM>
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
        <STRONG>int</STRONG> <STRONG>use_default_colors(void);</STRONG>
-       <STRONG>int</STRONG> <STRONG>assume_default_colors(int</STRONG> <STRONG>fg,</STRONG> <STRONG>int</STRONG> <STRONG>bg);</STRONG>
+       <STRONG>int</STRONG> <STRONG>assume_default_colors(int</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>bg</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The <EM>use</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors()</EM> and <EM>assume</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors()</EM> func-
-       tions are extensions to the curses library.  They are used
-       with terminals that support ISO 6429 color, or equivalent.
-       These terminals allow the application to reset color to an
-       unspecified default value (e.g., with SGR 39 or SGR 49).
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The  <STRONG>use_default_colors</STRONG>   and   <STRONG>assume_default_colors</STRONG>   functions   are
+       extensions  to  the  curses library.  They are used with terminals that
+       support ISO 6429 color,  or  equivalent.   These  terminals  allow  the
+       application  to reset color to an unspecified default value (e.g., with
+       SGR 39 or SGR 49).
 
-       Applications that paint  a  colored  background  over  the
-       whole  screen  do not take advantage of SGR 39 and SGR 49.
-       Some applications are designed to work  with  the  default
-       background,  using  colors  only  for  text.  For example,
-       there are several implementations of the <STRONG>ls</STRONG> program  which
-       use  colors to denote different file types or permissions.
-       These "color ls" programs do not  necessarily  modify  the
-       background  color, typically using only the <EM>setaf</EM> terminfo
-       capability  to  set  the  foreground  color.   Full-screen
-       applications  that  use default colors can achieve similar
-       visual effects.
+       Applications that paint a colored background over the whole  screen  do
+       not  take  advantage  of  SGR  39  and  SGR  49.  Some applications are
+       designed to work with the default background,  using  colors  only  for
+       text.  For example, there are several implementations of the <STRONG>ls</STRONG> program
+       which use colors to denote different file types or permissions.   These
+       "color  ls"  programs  do  not necessarily modify the background color,
+       typically  using  only  the  <STRONG>setaf</STRONG>  terminfo  capability  to  set   the
+       foreground color.  Full-screen applications that use default colors can
+       achieve similar visual effects.
 
-       The first function, <EM>use</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors()</EM> tells the  curses
-       library  to  assign terminal default foreground/background
-       colors to color number  -1.  So  init_pair(x,COLOR_RED,-1)
-       will  initialize  pair  x as red on default background and
-       init_pair(x,-1,COLOR_BLUE)  will  initialize  pair  x   as
-       default foreground on blue.
+       The first function, <STRONG>use_default_colors</STRONG>  tells  the  curses  library  to
+       assign  terminal  default  foreground/background colors to color number
+       -1.  So init_pair(x,COLOR_RED,-1) will initialize  pair  x  as  red  on
+       default  background and init_pair(x,-1,COLOR_BLUE) will initialize pair
+       x as default foreground on blue.
 
-       The  other,  <EM>assume</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors()</EM> is a refinement which
-       tells which colors to paint for color pair 0.  This  func-
-       tion  recognizes  a special color number -1, which denotes
-       the default terminal color.
+       The other, <STRONG>assume_default_colors</STRONG> is  a  refinement  which  tells  which
+       colors  to  paint for color pair 0.  This function recognizes a special
+       color number -1, which denotes the default terminal color.
 
        The following are equivalent:
               <EM>use</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors();</EM>
               <EM>assume</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors(-1,-1);</EM>
 
-       These are ncurses extensions.  For other curses  implemen-
-       tations,  color  number -1 does not mean anything, just as
-       for ncurses before a successful call  of  <EM>use</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>col-</EM>
-       <EM>ors()</EM> or <EM>assume</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors()</EM>.
+       These are <EM>ncurses</EM> extensions.  For other curses implementations,  color
+       number  -1  does  not  mean  anything,  just  as  for  <EM>ncurses</EM> before a
+       successful call of <STRONG>use_default_colors</STRONG> or <STRONG>assume_default_colors</STRONG>.
 
-       Other  curses  implementations do not allow an application
-       to modify color pair 0.  They assume that  the  background
-       is COLOR_BLACK, but do not ensure that the color pair 0 is
-       painted to match the assumption.  If your application does
-       not use either <EM>use</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors()</EM> or <EM>assume</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>col-</EM>
-       <EM>ors()</EM> ncurses will paint a white  foreground  (text)  with
+       Other curses implementations do not  allow  an  application  to  modify
+       color  pair  0.  They assume that the background is COLOR_BLACK, but do
+       not ensure that the color pair 0 is painted to  match  the  assumption.
+       If   your   application  does  not  use  either  <STRONG>use_default_colors</STRONG>  or
+       <STRONG>assume_default_colors</STRONG> <EM>ncurses</EM> will paint a white foreground (text) with
        black background for color pair 0.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       These functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG>
-       on success.  They will fail if either  the  terminal  does
-       not  support  the <EM>orig</EM><STRONG>_</STRONG><EM>pair</EM> or <EM>orig</EM><STRONG>_</STRONG><EM>colors</EM> capability.  If
-       the <EM>initialize</EM><STRONG>_</STRONG><EM>pair</EM> capability is not found,  this  causes
-       an error as well.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       These  functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
+       They will fail if either the terminal does not support the <STRONG>orig_pair</STRONG> or
+       <STRONG>orig_colors</STRONG>  capability.   If  the  <STRONG>initialize_pair</STRONG>  capability  is not
+       found, this causes an error as well.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       Associated  with  this  extension,  the <STRONG>init_pair</STRONG> function
-       accepts negative arguments to specify  default  foreground
-       or background colors.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       Associated with this extension, the <STRONG>init_pair</STRONG> function accepts negative
+       arguments to specify default foreground or background colors.
 
-       The  <EM>use</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors()</EM>  function  was  added to support
-       <EM>ded</EM>.  This is a full-screen application which uses  curses
-       to  manage only part of the screen.  The bottom portion of
-       the screen, which is of adjustable size, is left uncolored
-       to  display the results from shell commands.  The top por-
-       tion of the screen colors filenames using  a  scheme  like
-       the  "color  ls" programs.  Attempting to manage the back-
-       ground color of the screen for this application would give
-       unsatisfactory  results  for  a  variety of reasons.  This
-       extension was devised after noting that color  xterm  (and
-       similar  programs)  provides a background color which does
-       not necessarily correspond to  any  of  the  ANSI  colors.
-       While  a special terminfo entry could be constructed using
-       nine colors, there was no mechanism provided within curses
-       to  account for the related <EM>orig</EM><STRONG>_</STRONG><EM>pair</EM> and <EM>back</EM><STRONG>_</STRONG><EM>color</EM><STRONG>_</STRONG><EM>erase</EM>
-       capabilities.
+       The  <STRONG>use_default_colors</STRONG>  function  was added to support <STRONG>ded</STRONG>.  This is a
+       full-screen application which uses curses to manage only  part  of  the
+       screen.  The bottom portion of the screen, which is of adjustable size,
+       is left uncolored to display the results from shell commands.  The  top
+       portion  of  the screen colors filenames using a scheme like the "color
+       ls" programs.  Attempting to manage the background color of the  screen
+       for this application would give unsatisfactory results for a variety of
+       reasons.  This extension was devised after noting that color xterm (and
+       similar   programs)   provides   a  background  color  which  does  not
+       necessarily correspond to any of the  ANSI  colors.   While  a  special
+       terminfo  entry  could  be  constructed using nine colors, there was no
+       mechanism provided within curses to account for the  related  <STRONG>orig_pair</STRONG>
+       and <STRONG>back_color_erase</STRONG> capabilities.
 
-       The <EM>assume</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors()</EM> function was added to solve  a
-       different  problem:  support  for applications which would
-       use  environment  variables  and  other  configuration  to
-       bypass  curses'  notion  of the terminal's default colors,
-       setting specific values.
+       The  <STRONG>assume_default_colors</STRONG>  function  was  added  to  solve a different
+       problem: support for applications which would use environment variables
+       and  other  configuration  to  bypass  curses' notion of the terminal's
+       default colors, setting specific values.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines are specific to  ncurses.   They  were  not
-       supported  on  Version 7, BSD or System V implementations.
-       It is recommended that any code depending on them be  con-
-       ditioned using NCURSES_VERSION.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These routines are specific to <EM>ncurses</EM>.  They  were  not  supported  on
+       Version 7, BSD or System V implementations.  It is recommended that any
+       code depending on them be conditioned using NCURSES_VERSION.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>, <STRONG>ded(1)</STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Thomas Dickey (from an analysis of the requirements for color xterm for
+       XFree86 3.1.2C, February 1996).
 
 
-</PRE>
-<H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
-       Thomas  Dickey  (from  an analysis of the requirements for
-       color xterm for XFree86 3.1.2C, February 1996).
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG>ded(1)</STRONG>, <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
 
 
 
-                                                     <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>
+ncurses 6.5                       2024-04-13                <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -179,8 +159,8 @@
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
 <li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-AUTHOR">AUTHOR</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/define_key.3x.html b/doc/html/man/define_key.3x.html
index e12d989..d135e31 100644
--- a/doc/html/man/define_key.3x.html
+++ b/doc/html/man/define_key.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-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  *
   * copy of this software and associated documentation files (the            *
@@ -27,80 +28,69 @@
   * authorization.                                                           *
   ****************************************************************************
   * Author: Thomas E. Dickey 1997
-  * @Id: define_key.3x,v 1.14 2010/12/04 18:49:20 tom Exp @
+  * @Id: define_key.3x,v 1.42 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>define_key 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>define_key 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">define_key 3x</H1>
+<H1 class="no-header">define_key 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>                                           <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>
+<STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>                   Library calls                  <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>define_key</STRONG> - define a keycode
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>define_key</STRONG> - define a <EM>curses</EM> keycode
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
-       <STRONG>int</STRONG> <STRONG>define_key(const</STRONG> <STRONG>char</STRONG> <STRONG>*definition,</STRONG> <STRONG>int</STRONG> <STRONG>keycode);</STRONG>
+       <STRONG>int</STRONG> <STRONG>define_key(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>definition</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>keycode</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       This is an extension to the curses library.  It permits an
-       application to define keycodes  with  their  corresponding
-       control  strings,  so that the ncurses library will inter-
-       pret them just as it would the  predefined  codes  in  the
-       terminfo database.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       This  is an extension to the <EM>curses</EM> library.  It permits an application
+       to define keycodes with their corresponding control  strings,  so  that
+       the <EM>ncurses</EM> library will interpret them just as it would the predefined
+       codes in the terminfo database.
 
-       If  the  given string is null, any existing definition for
-       the keycode is removed.  Similarly, if the  given  keycode
-       is  negative  or  zero,  any existing string for the given
-       definition is removed.
+       If <EM>definition</EM> is <STRONG>NULL</STRONG>, any existing one for  the  keycode  is  removed.
+       Similarly,  if  the  given  keycode  is  negative or zero, any existing
+       string for the given definition is removed.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The keycode must be greater than zero, and the string non-
-       null, otherwise ERR is returned.  ERR may also be returned
-       if there is insufficient memory to allocate  the  data  to
-       store  the  definition.   If  no  error is detected, OK is
-       returned.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       Either <EM>keycode</EM> must be greater than zero, or <EM>definition</EM>  must  be  non-
+       <STRONG>NULL</STRONG>,  otherwise <STRONG>ERR</STRONG> is returned.  <STRONG>ERR</STRONG> may also be returned if there is
+       insufficient memory to allocate the data to store the  definition.   If
+       no error is detected, <STRONG>OK</STRONG> is returned.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines are specific to  ncurses.   They  were  not
-       supported  on  Version 7, BSD or System V implementations.
-       It is recommended that any code depending on them be  con-
-       ditioned using NCURSES_VERSION.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These  routines  are  specific  to <EM>ncurses</EM>.  They were not supported on
+       Version 7, BSD or System V implementations.  It is recommended that any
+       code depending on them be conditioned using <STRONG>NCURSES_VERSION</STRONG>.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>, <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Thomas Dickey
 
 
-</PRE>
-<H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
-       Thomas Dickey.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>, <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>
 
 
 
-                                                         <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                    <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -109,8 +99,8 @@
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-AUTHOR">AUTHOR</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/form.3x.html b/doc/html/man/form.3x.html
index 827d97a..fcdb7af 100644
--- a/doc/html/man/form.3x.html
+++ b/doc/html/man/form.3x.html
@@ -1,7 +1,8 @@
-<!-- 
+<!--
   * t
   ****************************************************************************
-  * Copyright (c) 1998-2014,2015 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2016,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,46 +28,42 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: form.3x,v 1.26 2015/08/02 18:14:50 tom Exp @
+  * @Id: form.3x,v 1.54 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>form 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">form 3x</H1>
+<H1 class="no-header">form 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>                                                       <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>
+<STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>                         Library calls                        <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
        <STRONG>form</STRONG> - curses extension for programming forms
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  <STRONG>form</STRONG> library provides terminal-independent facilities
-       for composing form screens  on  character-cell  terminals.
-       The  library  includes:  field  routines, which create and
-       modify form fields; and form routines, which group  fields
-       into forms, display forms on the screen, and handle inter-
-       action with the user.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The <STRONG>form</STRONG> library provides terminal-independent facilities for composing
+       form screens on character-cell terminals.  The library includes:  field
+       routines, which create and modify form fields; and form routines, which
+       group fields into forms,  display  forms  on  the  screen,  and  handle
+       interaction with the user.
 
-       The <STRONG>form</STRONG> library uses the <STRONG>curses</STRONG> libraries.   To  use  the
-       <STRONG>form</STRONG> library, link with the options <STRONG>-lform</STRONG> <STRONG>-lcurses</STRONG>.
+       The  <STRONG>form</STRONG>  library uses the <STRONG>curses</STRONG> libraries.  To use the <STRONG>form</STRONG> library,
+       link with the options <STRONG>-lform</STRONG> <STRONG>-lcurses</STRONG>.
 
        Your program should set up the locale, e.g.,
 
@@ -74,120 +71,116 @@
 
        so that input/output processing will work.
 
-       A  curses  initialization  routine such as <STRONG>initscr</STRONG> must be
-       called before using any of these functions.
+       A curses initialization routine such as <STRONG>initscr</STRONG> must be  called  before
+       using any of these functions.
 
 
-</PRE>
-<H3><a name="h3-Current-Default-Values-for-Field-Attributes">Current Default Values for Field Attributes</a></H3><PRE>
-       The <STRONG>form</STRONG> library  maintains  a  default  value  for  field
-       attributes.   You  can  get or set this default by calling
-       the appropriate <STRONG>set_</STRONG> or  retrieval  routine  with  a  <STRONG>NULL</STRONG>
-       field pointer.  Changing this default with a <STRONG>set_</STRONG> function
-       affects future field creations, but does  not  change  the
-       rendering of fields already created.
+</PRE><H3><a name="h3-Current-Default-Values-for-Field-Attributes">Current Default Values for Field Attributes</a></H3><PRE>
+       The  <STRONG>form</STRONG>  library maintains a default value for field attributes.  You
+       can get or  set  this  default  by  calling  the  appropriate  <STRONG>set_</STRONG>  or
+       retrieval  routine  with  a  <STRONG>NULL</STRONG> field pointer.  Changing this default
+       with a <STRONG>set_</STRONG> function affects  future  field  creations,  but  does  not
+       change the rendering of fields already created.
 
 
-</PRE>
-<H3><a name="h3-Routine-Name-Index">Routine Name Index</a></H3><PRE>
-       The  following  table lists each <STRONG>form</STRONG> routine and the name
-       of the manual page on which it is described.
+</PRE><H3><a name="h3-Routine-Name-Index">Routine Name Index</a></H3><PRE>
+       The  following table lists each <STRONG>form</STRONG> routine and the name of the manual
+       page  on  which  it  is  described.   Routines  flagged  with  "*"  are
+       <EM>ncurses</EM>-specific, not present in SVr4.
 
-       <STRONG>curses</STRONG> Routine Name    Manual Page Name
-       -------------------------------------------------
-       current_field          <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
-       data_ahead             <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
-       data_behind            <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
-       dup_field              <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
-       dynamic_field_info     <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
-       field_arg              <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
-       field_back             <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
-       field_buffer           <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
-       field_count            <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
-       field_fore             <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
-       field_index            <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
-       field_info             <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
-       field_init             <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
-       field_just             <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
-       field_opts             <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
-       field_opts_off         <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
-       field_opts_on          <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
-       field_pad              <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
-       field_status           <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
-       field_term             <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
-       field_type             <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
+       <STRONG>curses</STRONG> Routine Name     Manual Page Name
+       --------------------------------------------------
+       current_field           <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
+       data_ahead              <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
+       data_behind             <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
+       dup_field               <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
+       dynamic_field_info      <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
+       field_arg               <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
+       field_back              <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
+       field_buffer            <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
+       field_count             <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
+       field_fore              <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
+       field_index             <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
+       field_info              <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
+       field_init              <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
+       field_just              <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
+       field_opts              <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
+       field_opts_off          <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
+       field_opts_on           <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
+       field_pad               <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
+       field_status            <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
+       field_term              <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
+       field_type              <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
+       field_userptr           <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
 
-       field_userptr          <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
-       form_driver            <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
-       form_driver_w          <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>*
-       form_fields            <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
-       form_init              <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
-       form_opts              <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
-       form_opts_off          <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
-       form_opts_on           <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
-       form_page              <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
-       form_request_by_name   <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>
-       form_request_name      <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>
-       form_sub               <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
-       form_term              <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
-       form_userptr           <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>
-       form_win               <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
-       free_field             <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
-       free_fieldtype         <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
-       free_form              <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>
-       link_field             <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
-       link_fieldtype         <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
-       move_field             <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
-       new_field              <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
-       new_fieldtype          <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
-       new_form               <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>
-       new_page               <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>
-       pos_form_cursor        <STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG>
-       post_form              <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>
-       scale_form             <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
-       set_current_field      <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
-       set_field_back         <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
-       set_field_buffer       <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
-       set_field_fore         <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
-       set_field_init         <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
-       set_field_just         <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
-       set_field_opts         <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
-       set_field_pad          <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
-       set_field_status       <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
-       set_field_term         <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
-       set_field_type         <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
-       set_field_userptr      <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
-       set_fieldtype_arg      <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
-       set_fieldtype_choice   <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
-       set_form_fields        <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
-       set_form_init          <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
-       set_form_opts          <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
-       set_form_page          <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
-       set_form_sub           <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
-       set_form_term          <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
-       set_form_userptr       <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>
-       set_form_win           <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
-       set_max_field          <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
-       set_new_page           <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>
-       unpost_form            <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>
+       form_driver             <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
+       form_driver_w           <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>*
+       form_fields             <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
+       form_init               <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
+       form_opts               <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
+       form_opts_off           <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
+       form_opts_on            <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
+       form_page               <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
+       form_request_by_name    <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>*
+       form_request_name       <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>*
+       form_sub                <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
+       form_term               <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
+       form_userptr            <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>
+       form_win                <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
+       free_field              <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
+       free_fieldtype          <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
+       free_form               <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>
+       link_field              <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
+       link_fieldtype          <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
+       move_field              <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
+       new_field               <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
+       new_fieldtype           <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
+       new_form                <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>
+       new_page                <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>
+       pos_form_cursor         <STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG>
+       post_form               <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>
+       scale_form              <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
+       set_current_field       <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
+       set_field_back          <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
+       set_field_buffer        <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
+       set_field_fore          <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
+       set_field_init          <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
+       set_field_just          <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
+       set_field_opts          <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
+       set_field_pad           <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
+       set_field_status        <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
+       set_field_term          <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
+       set_field_type          <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
+       set_field_userptr       <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
+       set_fieldtype_arg       <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
+       set_fieldtype_choice    <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
+       set_form_fields         <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
+       set_form_init           <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
+       set_form_opts           <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
+       set_form_page           <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
+       set_form_sub            <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
+       set_form_term           <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
+       set_form_userptr        <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>
+       set_form_win            <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
+       set_max_field           <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
+       set_new_page            <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>
+       unfocus_current_field   <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>*
+       unpost_form             <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Routines that return pointers return <STRONG>NULL</STRONG>  on  error,  and
-       set  errno  to  the  corresponding  error-code returned by
-       functions returning an integer.  Routines that  return  an
-       integer return one of the following error codes:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       Routines  that  return  pointers return <STRONG>NULL</STRONG> on error, and set <STRONG>errno</STRONG> to
+       the  corresponding  error-code  returned  by  functions  returning   an
+       integer.   Routines  that return an integer return one of the following
+       error codes:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_BAD_STATE</STRONG>
-            Routine was called from an initialization or termina-
-            tion function.
+            Routine was called from an initialization or termination function.
 
        <STRONG>E_CONNECTED</STRONG>
             The field is already connected to a form.
@@ -211,45 +204,48 @@
             The form driver could not process the request.
 
        <STRONG>E_SYSTEM_ERROR</STRONG>
-            System error occurred (see <STRONG>errno</STRONG>).
+            System error occurred (see <STRONG>errno(3)</STRONG>).
 
        <STRONG>E_UNKNOWN_COMMAND</STRONG>
             The form driver code saw an unknown request code.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       files <STRONG>&lt;curses.h&gt;</STRONG> and <STRONG>&lt;eti.h&gt;</STRONG>.
-
-       In your library list, libform.a  should  be  before  libn-
-       curses.a; that is, you want to say `-lform -lncurses', not
-       the other way around (which would give you  a  link  error
-       using most linkers).
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       The header file <EM>form.h</EM> itself includes <EM>curses.h</EM>.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  emulate the System V forms library.  They
-       were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These routines emulate the System  V  forms  library.   They  were  not
+       supported on Version 7 or BSD versions.
+
+       A  form  facility  was  documented in SVr4.2's <EM>Character</EM> <EM>User</EM> <EM>Interface</EM>
+       <EM>Programming</EM> document.
+
+       It is not part of X/Open Curses.
+
+       Aside from <EM>ncurses</EM>, there are few implementations:
+
+       <STRONG>o</STRONG>   systems based on SVr4 source code, e.g., Solaris.
+
+       <STRONG>o</STRONG>   NetBSD curses.
+
+       A few  functions  in  this  implementation  are  extensions  added  for
+       <EM>ncurses</EM>,   but   not   provided   by   other   implementations,   e.g.,
+       <STRONG>form_driver_w</STRONG>, <STRONG>unfocus_current_field</STRONG>.
 
 
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual pages and adaptation for  ncurses
-       by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for <EM>ncurses</EM>  by  Eric  S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for
-       detailed descriptions of the entry points.
-
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20150808).
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>  and  related  pages  whose names begin "form_" for detailed
+       descriptions of the entry points.
 
 
 
-                                                               <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                          <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
diff --git a/doc/html/man/form_cursor.3x.html b/doc/html/man/form_cursor.3x.html
index c377fc0..5844dd5 100644
--- a/doc/html/man/form_cursor.3x.html
+++ b/doc/html/man/form_cursor.3x.html
@@ -1,7 +1,8 @@
-<!-- 
+<!--
   * t
   ****************************************************************************
-  * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2010,2015 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,87 +28,73 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: form_cursor.3x,v 1.8 2010/12/04 18:40:45 tom Exp @
+  * @Id: form_cursor.3x,v 1.31 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_cursor 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>form_cursor 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">form_cursor 3x</H1>
+<H1 class="no-header">form_cursor 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG>                                         <STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG>
+<STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG>                  Library calls                 <STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>form_cursor</STRONG> - position a form window cursor
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>pos_form_cursor</STRONG> - position a form window cursor
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
-       int pos_form_cursor(FORM *form);
+
+       <STRONG>int</STRONG> <STRONG>pos_form_cursor(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  function  <STRONG>pos_form_cursor</STRONG>  restores the cursor to the
-       position required for the forms driver  to  continue  pro-
-       cessing  requests.   This  is useful after <STRONG>curses</STRONG> routines
-       have been called to do screen-painting in  response  to  a
-       form operation.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The  function  <STRONG>pos_form_cursor</STRONG>  restores  the  cursor  to  the position
+       required for the forms driver to continue processing requests.  This is
+       useful  after <STRONG>curses</STRONG> routines have been called to do screen-painting in
+       response to a form operation.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
        This routine returns one of the following:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_NOT_POSTED</STRONG>
             The form has not been posted.
 
        <STRONG>E_SYSTEM_ERROR</STRONG>
-            System error occurred (see <STRONG>errno</STRONG>).
+            System error occurred (see <STRONG>errno(3)</STRONG>).
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These routines emulate the System  V  forms  library.   They  were  not
+       supported on Version 7 or BSD versions.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  emulate the System V forms library.  They
-       were not supported on Version 7 or BSD versions.
-
-
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>
 
 
 
-                                                        <STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                   <STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -115,10 +102,9 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/form_data.3x.html b/doc/html/man/form_data.3x.html
index 7691a29..2f1dc3b 100644
--- a/doc/html/man/form_data.3x.html
+++ b/doc/html/man/form_data.3x.html
@@ -1,7 +1,8 @@
-<!-- 
+<!--
   * t
   ****************************************************************************
-  * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2010,2015 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,83 +28,69 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: form_data.3x,v 1.10 2010/12/04 18:40:45 tom Exp @
+  * @Id: form_data.3x,v 1.32 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_data 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>form_data 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">form_data 3x</H1>
+<H1 class="no-header">form_data 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>                                             <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
+<STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>                    Library calls                   <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>form_data</STRONG> - test for off-screen data in given forms
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>data_ahead</STRONG>, <STRONG>data_behind</STRONG> - test for off-screen data in given forms
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
-       bool data_ahead(const FORM *form);
-       bool data_behind(const FORM *form);
+
+       <STRONG>bool</STRONG> <STRONG>data_ahead(const</STRONG> <STRONG>FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>data_behind(const</STRONG> <STRONG>FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  function <STRONG>data_ahead</STRONG> tests whether there is off-screen
-       data ahead in the given form.   It  returns  TRUE  (1)  or
-       FALSE (0).
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The function <STRONG>data_ahead</STRONG> tests whether there is off-screen data ahead in
+       the given form.  It returns TRUE (1) or FALSE (0).
 
-       The function <STRONG>data_behind</STRONG> tests whether there is off-screen
-       data behind in the given form.  It  returns  TRUE  (1)  or
-       FALSE (0).
+       The function <STRONG>data_behind</STRONG> tests whether there is off-screen data  behind
+       in the given form.  It returns TRUE (1) or FALSE (0).
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These  routines  emulate  the  System  V  forms library.  They were not
+       supported on Version 7 or BSD versions.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines emulate the System V forms  library.   They
-       were not supported on Version 7 or BSD versions.
-
-
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>
 
 
 
-                                                          <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                     <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
 <li><a href="#h2-NAME">NAME</a></li>
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/form_driver.3x.html b/doc/html/man/form_driver.3x.html
index 72b2d94..859c291 100644
--- a/doc/html/man/form_driver.3x.html
+++ b/doc/html/man/form_driver.3x.html
@@ -1,6 +1,8 @@
-<!-- 
+<!--
+  * t
   ****************************************************************************
-  * Copyright (c) 1998-2010,2015 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2016,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,148 +28,164 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: form_driver.3x,v 1.24 2015/08/02 18:21:11 tom Exp @
+  * @Id: form_driver.3x,v 1.61 2024/04/20 18:55:09 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_driver 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>form_driver 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">form_driver 3x</H1>
+<H1 class="no-header">form_driver 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>                                         <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
+<STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>                  Library calls                 <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>form_driver</STRONG> - command-processing loop of the form system
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>form_driver</STRONG>, <STRONG>form_driver_w</STRONG> - command-processing loop of the form system
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
+
        <STRONG>int</STRONG> <STRONG>form_driver(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>);</STRONG>
-       <STRONG>int</STRONG> <STRONG>form_driver_w(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <EM>wch</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>form_driver_w(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <EM>wc</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
 
-</PRE>
-<H3><a name="h3-form_driver">form_driver</a></H3><PRE>
-       Once a form has been posted (displayed), you should funnel
-       input events to it through <STRONG>form_driver</STRONG>.  This routine  has
-       three major input cases:
+</PRE><H3><a name="h3-form_driver">form_driver</a></H3><PRE>
+       Once a form has been posted (displayed), you should funnel input events
+       to it through <STRONG>form_driver</STRONG>.  This routine has three major input cases:
 
-       <STRONG>o</STRONG>   The  input  is  a form navigation request.  Navigation
-           request codes are constants defined in <STRONG>&lt;form.h&gt;</STRONG>, which
-           are   distinct  from  the  key-  and  character  codes
-           returned by <STRONG><A HREF="wgetch.3x.html">wgetch(3x)</A></STRONG>.
+       <STRONG>o</STRONG>   The input is a form navigation request.  Navigation  request  codes
+           are constants defined in <STRONG>&lt;form.h&gt;</STRONG>, which are distinct from the key-
+           and character codes returned by <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>.
 
-       <STRONG>o</STRONG>   The input is a printable character.  Printable charac-
-           ters  (which  must  be  positive,  less  than 256) are
-           checked according to the program's locale settings.
+       <STRONG>o</STRONG>   The input is a printable character.   Printable  characters  (which
+           must  be  positive,  less  than  256)  are checked according to the
+           program's locale settings.
 
-       <STRONG>o</STRONG>   The input is the KEY_MOUSE special key associated with
-           an mouse event.
+       <STRONG>o</STRONG>   The input is the KEY_MOUSE special key  associated  with  an  mouse
+           event.
 
 
-</PRE>
-<H3><a name="h3-form_driver_w">form_driver_w</a></H3><PRE>
-       This  extension  simplifies  the  use of the forms library
-       using wide characters.  The input is either a key code  (a
-       request) or a wide character returned by <STRONG><A HREF="get_wch.3x.html">get_wch(3x)</A></STRONG>.  The
-       type must be passed as well,  to  enable  the  library  to
-       determine  whether  the parameter is a wide character or a
-       request.
+</PRE><H3><a name="h3-form_driver_w">form_driver_w</a></H3><PRE>
+       This  extension  simplifies  the  use  of  the forms library using wide
+       characters.  The input is either a key  code  (a  request)  or  a  wide
+       character returned by <STRONG><A HREF="curs_get_wch.3x.html">get_wch(3x)</A></STRONG>.  The type must be passed as well, to
+       enable the library  to  determine  whether  the  parameter  is  a  wide
+       character or a request.
 
 
-</PRE>
-<H3><a name="h3-Form-driver-requests">Form-driver requests</a></H3><PRE>
+</PRE><H3><a name="h3-Form-Driver-Requests">Form Driver Requests</a></H3><PRE>
        The form driver requests are as follows:
 
-       <EM>Name</EM>               <EM>Description</EM>
-       -------------------------------------------------------------------------
-       REQ_BEG_FIELD      Move to the beginning of the field.
-       REQ_BEG_LINE       Move to the beginning of the line.
-       REQ_CLR_EOF        Clear to end of field from cursor.
-       REQ_CLR_EOL        Clear to end of line from cursor.
-       REQ_CLR_FIELD      Clear the entire field.
-       REQ_DEL_CHAR       Delete character at the cursor.
-       REQ_DEL_LINE       Delete line at the cursor.
-       REQ_DEL_PREV       Delete character before the cursor.
-       REQ_DEL_WORD       Delete blank-delimited word at the cursor.
-       REQ_DOWN_CHAR      Move down in the field.
-       REQ_DOWN_FIELD     Move down to a field.
-       REQ_END_FIELD      Move to the end of the field.
-       REQ_END_LINE       Move to the end of the line.
-       REQ_FIRST_FIELD    Move to the first field.
-       REQ_FIRST_PAGE     Move to the first page.
-       REQ_INS_CHAR       Insert a blank at the cursor.
-       REQ_INS_LINE       Insert a blank line at the cursor.
-       REQ_INS_MODE       Enter insert mode.
-       REQ_LAST_FIELD     Move to the last field.
-       REQ_LAST_PAGE      Move to the last field.
-       REQ_LEFT_CHAR      Move left in the field.
-       REQ_LEFT_FIELD     Move left to a field.
+       <STRONG>Name</STRONG>               <STRONG>Description</STRONG>
+       ------------------------------------------------------------------------
+       <STRONG>REQ_BEG_FIELD</STRONG>      Move to beginning of field.
+       <STRONG>REQ_BEG_LINE</STRONG>       Move to beginning of the line.
+       <STRONG>REQ_CLR_EOF</STRONG>        Clear to end of field from cursor.
+       <STRONG>REQ_CLR_EOL</STRONG>        Clear to end of line from cursor.
+       <STRONG>REQ_CLR_FIELD</STRONG>      Clear the entire field.
+       <STRONG>REQ_DEL_CHAR</STRONG>       Delete character at the cursor.
+       <STRONG>REQ_DEL_LINE</STRONG>       Delete line at the cursor.
+       <STRONG>REQ_DEL_PREV</STRONG>       Delete character before the cursor.
+       <STRONG>REQ_DEL_WORD</STRONG>       Delete blank-delimited word at cursor.
+       <STRONG>REQ_DOWN_CHAR</STRONG>      Move down in field.
+       <STRONG>REQ_DOWN_FIELD</STRONG>     Move down to a field.
+       <STRONG>REQ_END_FIELD</STRONG>      Move to the end of field.
+       <STRONG>REQ_END_LINE</STRONG>       Move to the end of the line.
+       <STRONG>REQ_FIRST_FIELD</STRONG>    Move to the first field.
+       <STRONG>REQ_FIRST_PAGE</STRONG>     Move to the first page.
+       <STRONG>REQ_INS_CHAR</STRONG>       Insert a blank at the cursor.
+       <STRONG>REQ_INS_LINE</STRONG>       Insert a blank line at the cursor.
+       <STRONG>REQ_INS_MODE</STRONG>       Enter insert mode.
+       <STRONG>REQ_LAST_FIELD</STRONG>     Move to the last field.
+       <STRONG>REQ_LAST_PAGE</STRONG>      Move to the last field.
+       <STRONG>REQ_LEFT_CHAR</STRONG>      Move left in field.
+       <STRONG>REQ_LEFT_FIELD</STRONG>     Move left to a field.
+       <STRONG>REQ_NEW_LINE</STRONG>       Insert or overlay a new line.
+       <STRONG>REQ_NEXT_CHAR</STRONG>      Move to the next char.
 
-       REQ_NEW_LINE       Insert or overlay a new line.
-       REQ_NEXT_CHAR      Move to the next char.
-       REQ_NEXT_CHOICE    Display next field choice.
-       REQ_NEXT_FIELD     Move to the next field.
-       REQ_NEXT_LINE      Move to the next line.
-       REQ_NEXT_PAGE      Move to the next page.
-       REQ_NEXT_PAGE      Move to the next page.
-       REQ_NEXT_WORD      Move to the next word.
-       REQ_OVL_MODE       Enter overlay mode.
-       REQ_PREV_CHAR      Move to the previous char.
-       REQ_PREV_CHOICE    Display previous field choice.
-       REQ_PREV_FIELD     Move to the previous field.
-       REQ_PREV_LINE      Move to the previous line.
-       REQ_PREV_PAGE      Move to the previous page.
-       REQ_PREV_WORD      Move to the previous word.
-       REQ_RIGHT_CHAR     Move right in the field.
-       REQ_RIGHT_FIELD    Move right to a field.
-       REQ_SCR_BCHAR      Scroll the field backward a character.
-       REQ_SCR_BHPAGE     Scroll the field backward half a page.
-       REQ_SCR_BLINE      Scroll the field backward a line.
-       REQ_SCR_BPAGE      Scroll the field backward a page.
-       REQ_SCR_FCHAR      Scroll the field forward a character.
-       REQ_SCR_FHPAGE     Scroll the field forward half a page.
-       REQ_SCR_FLINE      Scroll the field forward a line.
-       REQ_SCR_FPAGE      Scroll the field forward a page.
-       REQ_SCR_HBHALF     Horizontal scroll the field backward half a line.
-       REQ_SCR_HBLINE     Horizontal scroll the field backward a line.
-       REQ_SCR_HFHALF     Horizontal scroll the field forward half a line.
-       REQ_SCR_HFLINE     Horizontal scroll the field forward a line.
-       REQ_SFIRST_FIELD   Move to the sorted first field.
-       REQ_SLAST_FIELD    Move to the sorted last field.
-       REQ_SNEXT_FIELD    Move to the sorted next field.
-       REQ_SPREV_FIELD    Move to the sorted previous field.
-       REQ_UP_CHAR        Move up in the field.
-       REQ_UP_FIELD       Move up to a field.
-       REQ_VALIDATION     Validate field.
+       <STRONG>REQ_NEXT_CHOICE</STRONG>    Display next field choice.
+       <STRONG>REQ_NEXT_FIELD</STRONG>     Move to the next field.
+       <STRONG>REQ_NEXT_LINE</STRONG>      Move to the next line.
+       <STRONG>REQ_NEXT_PAGE</STRONG>      Move to the next page.
+       <STRONG>REQ_NEXT_PAGE</STRONG>      Move to the next page.
+       <STRONG>REQ_NEXT_WORD</STRONG>      Move to the next word.
+       <STRONG>REQ_OVL_MODE</STRONG>       Enter overlay mode.
+       <STRONG>REQ_PREV_CHAR</STRONG>      Move to the previous char.
+       <STRONG>REQ_PREV_CHOICE</STRONG>    Display previous field choice.
+       <STRONG>REQ_PREV_FIELD</STRONG>     Move to the previous field.
+       <STRONG>REQ_PREV_LINE</STRONG>      Move to the previous line.
+       <STRONG>REQ_PREV_PAGE</STRONG>      Move to the previous page.
+       <STRONG>REQ_PREV_WORD</STRONG>      Move to the previous word.
+       <STRONG>REQ_RIGHT_CHAR</STRONG>     Move right in field.
+       <STRONG>REQ_RIGHT_FIELD</STRONG>    Move right to a field.
+       <STRONG>REQ_SCR_BCHAR</STRONG>      Scroll field backward 1 character.
+       <STRONG>REQ_SCR_BHPAGE</STRONG>     Scroll field backward 1/2 page.
+       <STRONG>REQ_SCR_BLINE</STRONG>      Scroll field backward 1 line.
+       <STRONG>REQ_SCR_BPAGE</STRONG>      Scroll field backward 1 page.
+       <STRONG>REQ_SCR_FCHAR</STRONG>      Scroll field forward 1 character.
+       <STRONG>REQ_SCR_FHPAGE</STRONG>     Scroll field forward 1/2 page.
+       <STRONG>REQ_SCR_FLINE</STRONG>      Scroll field forward 1 line.
+       <STRONG>REQ_SCR_FPAGE</STRONG>      Scroll field forward 1 page.
+       <STRONG>REQ_SCR_HBHALF</STRONG>     Horizontal scroll field backward 1/2 line.
+       <STRONG>REQ_SCR_HBLINE</STRONG>     Horizontal scroll field backward 1 line.
+       <STRONG>REQ_SCR_HFHALF</STRONG>     Horizontal scroll field forward 1/2 line.
+       <STRONG>REQ_SCR_HFLINE</STRONG>     Horizontal scroll field forward 1 line.
+       <STRONG>REQ_SFIRST_FIELD</STRONG>   Move to the sorted first field.
+       <STRONG>REQ_SLAST_FIELD</STRONG>    Move to the sorted last field.
+       <STRONG>REQ_SNEXT_FIELD</STRONG>    Move to the sorted next field.
+       <STRONG>REQ_SPREV_FIELD</STRONG>    Move to the sorted previous field.
+       <STRONG>REQ_UP_CHAR</STRONG>        Move up in field.
+       <STRONG>REQ_UP_FIELD</STRONG>       Move up to a field.
+       <STRONG>REQ_VALIDATION</STRONG>     Validate field.
 
-       If the second  argument  is  a  printable  character,  the
-       driver  places  it  in the current position in the current
-       field.  If it is one of the forms requests  listed  above,
-       that request is executed.
+       If  the  second argument is a printable character, the driver places it
+       in the current position in the current field.  If  it  is  one  of  the
+       forms requests listed above, that request is executed.
 
 
-</PRE>
-<H3><a name="h3-Mouse-handling">Mouse handling</a></H3><PRE>
-       If  the  second argument is the KEY_MOUSE special key, the
-       associated mouse event is translated into one of the above
-       pre-defined  requests.   Currently only clicks in the user
-       window (e.g., inside the form display area or the  decora-
-       tion window) are handled.
+</PRE><H3><a name="h3-Field-Validation">Field Validation</a></H3><PRE>
+       The  form  library  makes  updates  to  the window associated with form
+       fields rather than directly to the field buffers.
+
+       The form driver provides low-level control over  updates  to  the  form
+       fields.   The  form driver also provides for validating modified fields
+       to ensure that the contents meet whatever  constraints  an  application
+       may attach using <STRONG>set_field_type</STRONG>.
+
+       You  can  validate  a  field  without  making  any  changes to it using
+       <STRONG>REQ_VALIDATION</STRONG>.  The form driver also validates a field in these cases:
+
+       <STRONG>o</STRONG>   a call to <STRONG>set_current_field</STRONG> attempts to move to a different field.
+
+       <STRONG>o</STRONG>   a call to <STRONG>set_current_page</STRONG> attempts to move to a different page  of
+           the form.
+
+       <STRONG>o</STRONG>   a request attempts to move to a different field.
+
+       <STRONG>o</STRONG>   a request attempts to move to a different page of the form.
+
+       In each case, the move fails if the field is invalid.
+
+       If  the  modified  field  is valid, the form driver copies the modified
+       data from the window associated with the field to the field buffer.
+
+
+</PRE><H3><a name="h3-Mouse-Handling">Mouse Handling</a></H3><PRE>
+       If the second argument is the KEY_MOUSE  special  key,  the  associated
+       mouse  event  is translated into one of the above pre-defined requests.
+       Currently only clicks in the user window (e.g., inside the form display
+       area or the decoration window) are handled.
 
        If you click above the display region of the form:
 
@@ -185,50 +203,42 @@
 
           a REQ_LAST_FIELD is generated for a triple-click.
 
-       If  you  click  at an field inside the display area of the
-       form:
+       If you click at an field inside the display area of the form:
 
           <STRONG>o</STRONG>   the form cursor is positioned to that field.
 
-          <STRONG>o</STRONG>   If you double-click a field,  the  form  cursor  is
-              positioned  to  that field and <STRONG>E_UNKNOWN_COMMAND</STRONG> is
-              returned.  This return value makes sense, because a
-              double  click  usually means that an field-specific
-              action should be returned.  It is exactly the  pur-
-              pose  of this return value to signal that an appli-
-              cation specific command should be executed.
+          <STRONG>o</STRONG>   If  you  double-click  a field, the form cursor is positioned to
+              that field and <STRONG>E_UNKNOWN_COMMAND</STRONG> is returned.  This return value
+              makes sense, because a double click usually means that an field-
+              specific action should be returned.  It is exactly  the  purpose
+              of  this  return  value  to  signal that an application specific
+              command should be executed.
 
-          <STRONG>o</STRONG>   If  a  translation  into  a   request   was   done,
-              <STRONG>form_driver</STRONG> returns the result of this request.
+          <STRONG>o</STRONG>   If a translation into a request was  done,  <STRONG>form_driver</STRONG>  returns
+              the result of this request.
 
-       If  you clicked outside the user window or the mouse event
-       could  not  be  translated  into   a   form   request   an
-       <STRONG>E_REQUEST_DENIED</STRONG> is returned.
+       If  you clicked outside the user window or the mouse event could not be
+       translated into a form request an <STRONG>E_REQUEST_DENIED</STRONG> is returned.
 
 
-</PRE>
-<H3><a name="h3-Application-defined-commands">Application-defined commands</a></H3><PRE>
-       If the second argument is neither printable nor one of the
-       above pre-defined form requests, the driver assumes it  is
-       an application-specific command and returns <STRONG>E_UNKNOWN_COM-</STRONG>
-       <STRONG>MAND</STRONG>.  Application-defined commands should be defined rel-
-       ative  to  <STRONG>MAX_COMMAND</STRONG>,  the  maximum  value of these pre-
-       defined requests.
+</PRE><H3><a name="h3-Application-defined-Commands">Application-defined Commands</a></H3><PRE>
+       If the second argument is neither printable nor one of the  above  pre-
+       defined form requests, the driver assumes it is an application-specific
+       command and returns  <STRONG>E_UNKNOWN_COMMAND</STRONG>.   Application-defined  commands
+       should  be  defined relative to <STRONG>MAX_COMMAND</STRONG>, the maximum value of these
+       pre-defined requests.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
        <STRONG>form_driver</STRONG> returns one of the following error codes:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_BAD_STATE</STRONG>
-            Routine was called from an initialization or termina-
-            tion function.
+            Routine was called from an initialization or termination function.
 
        <STRONG>E_NOT_POSTED</STRONG>
             The form has not been posted.
@@ -236,41 +246,36 @@
        <STRONG>E_INVALID_FIELD</STRONG>
             Contents of field is invalid.
 
+       <STRONG>E_NOT_CONNECTED</STRONG>
+            No fields are connected to the form.
+
        <STRONG>E_REQUEST_DENIED</STRONG>
             The form driver could not process the request.
 
        <STRONG>E_SYSTEM_ERROR</STRONG>
-            System error occurred (see <STRONG>errno</STRONG>).
+            System error occurred (see <STRONG>errno(3)</STRONG>).
 
        <STRONG>E_UNKNOWN_COMMAND</STRONG>
             The form driver code saw an unknown request code.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>, <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These routines emulate the System  V  forms  library.   They  were  not
+       supported on Version 7 or BSD versions.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       files <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  emulate the System V forms library.  They
-       were not supported on Version 7 or BSD versions.
-
-
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,   <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>,   <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>,    <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>,
+       <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>, <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">getch(3x)</A></STRONG>
 
 
 
-                                                        <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                   <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -280,16 +285,16 @@
 <ul>
 <li><a href="#h3-form_driver">form_driver</a></li>
 <li><a href="#h3-form_driver_w">form_driver_w</a></li>
-<li><a href="#h3-Form-driver-requests">Form-driver requests</a></li>
-<li><a href="#h3-Mouse-handling">Mouse handling</a></li>
-<li><a href="#h3-Application-defined-commands">Application-defined commands</a></li>
+<li><a href="#h3-Form-Driver-Requests">Form Driver Requests</a></li>
+<li><a href="#h3-Field-Validation">Field Validation</a></li>
+<li><a href="#h3-Mouse-Handling">Mouse Handling</a></li>
+<li><a href="#h3-Application-defined-Commands">Application-defined Commands</a></li>
 </ul>
 </li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/form_field.3x.html b/doc/html/man/form_field.3x.html
index f40cf74..8eb58d4 100644
--- a/doc/html/man/form_field.3x.html
+++ b/doc/html/man/form_field.3x.html
@@ -1,7 +1,8 @@
-<!-- 
+<!--
   * t
   ****************************************************************************
-  * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2010,2012 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,72 +28,63 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: form_field.3x,v 1.11 2012/11/03 23:03:59 tom Exp @
+  * @Id: form_field.3x,v 1.34 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_field 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>form_field 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">form_field 3x</H1>
+<H1 class="no-header">form_field 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>                                           <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
+<STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>                   Library calls                  <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>form_field</STRONG> - make and break connections between fields and
-       forms
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>form_field</STRONG> - make and break connections between fields and forms
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
-       int set_form_fields(FORM *form, FIELD **fields);
-       FIELD **form_fields(const FORM *form);
-       int field_count(const FORM *form);
-       int move_field(FIELD *field, int frow, int fcol);
+
+       <STRONG>int</STRONG> <STRONG>set_form_fields(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>FIELD</STRONG> <STRONG>**</STRONG><EM>fields</EM><STRONG>);</STRONG>
+       <STRONG>FIELD</STRONG> <STRONG>**form_fields(const</STRONG> <STRONG>FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>field_count(const</STRONG> <STRONG>FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>move_field(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>frow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fcol</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The function <STRONG>set_form_fields</STRONG>  changes  the  field  pointer
-       array  of the given <EM>form</EM>.  The array must be terminated by
-       a <STRONG>NULL</STRONG>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The  function  <STRONG>set_form_fields</STRONG>  changes  the field pointer array of the
+       given <EM>form</EM>.  The array must be terminated by a <STRONG>NULL</STRONG>.
 
-       The function <STRONG>form_fields</STRONG> returns the field  array  of  the
-       given form.
+       The function <STRONG>form_fields</STRONG> returns the field array of the given form.
 
-       The  function  <STRONG>field_count</STRONG>  returns the count of fields in
-       <EM>form</EM>.
+       The function <STRONG>field_count</STRONG> returns the count of fields in <EM>form</EM>.
 
-       The function <STRONG>move_field</STRONG> moves the given field (which  must
-       be disconnected) to a specified location on the screen.
+       The  function  <STRONG>move_field</STRONG>  moves  the  given  field  (which   must   be
+       disconnected) to a specified location on the screen.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The  function  <STRONG>form_fields</STRONG> returns a pointer (which may be
-       <STRONG>NULL</STRONG>).  It does not set errno.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       The  function  <STRONG>form_fields</STRONG>  returns  a pointer (which may be <STRONG>NULL</STRONG>).  It
+       does not set <STRONG>errno</STRONG>.
 
-       The function <STRONG>field_count</STRONG> returns <STRONG>ERR</STRONG> if the <EM>form</EM> parameter
-       is <STRONG>NULL</STRONG>.
+       The function <STRONG>field_count</STRONG> returns <STRONG>ERR</STRONG> if the <EM>form</EM> parameter is <STRONG>NULL</STRONG>.
 
-       The functions <STRONG>set_form_fields</STRONG> and <STRONG>move_field</STRONG> return one of
-       the following codes on error:
+       The  functions  <STRONG>set_form_fields</STRONG>  and  <STRONG>move_field</STRONG>  return  one  of   the
+       following codes on error:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_CONNECTED</STRONG>
             The field is already connected to a form.
@@ -101,37 +93,28 @@
             The form is already posted.
 
        <STRONG>E_SYSTEM_ERROR</STRONG>
-            System error occurred (see <STRONG>errno</STRONG>).
+            System error occurred (see <STRONG>errno(3)</STRONG>).
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These  routines  emulate  the  System  V  forms library.  They were not
+       supported on Version 7 or BSD versions.
+
+       The SVr4 forms library documentation specifies  the  <STRONG>field_count</STRONG>  error
+       value as -1 (which is the value of <STRONG>ERR</STRONG>).
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines emulate the System V forms  library.   They
-       were not supported on Version 7 or BSD versions.
-
-       The   SVr4   forms  library  documentation  specifies  the
-       <STRONG>field_count</STRONG> error value as -1 (which is the value of <STRONG>ERR</STRONG>).
-
-
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>
 
 
 
-                                                         <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                    <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -139,10 +122,9 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/form_field_attributes.3x.html b/doc/html/man/form_field_attributes.3x.html
index d7789f7..22afdc6 100644
--- a/doc/html/man/form_field_attributes.3x.html
+++ b/doc/html/man/form_field_attributes.3x.html
@@ -1,7 +1,8 @@
-<!-- 
+<!--
   * t
   ****************************************************************************
-  * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2006,2010 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,99 +28,87 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: form_field_attributes.3x,v 1.12 2010/12/04 18:40:45 tom Exp @
+  * @Id: form_field_attributes.3x,v 1.35 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_field_attributes 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>form_field_attributes 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">form_field_attributes 3x</H1>
+<H1 class="no-header">form_field_attributes 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>                     <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
+<STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>        Library calls       <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>form_field_attributes</STRONG>  -  color  and attribute control for
-       form fields
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>form_field_attributes</STRONG> - color and attribute control for form fields
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
-       int set_field_fore(FIELD *field, chtype attr);
-       chtype field_fore(const FIELD *field);
-       int set_field_back(FIELD *field, chtype attr);
-       chtype field_back(const FIELD *field);
-       int set_field_pad(FIELD *field, int pad);
-       int field_pad(const FIELD *field);
+
+       <STRONG>int</STRONG> <STRONG>set_field_fore(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>attr</EM><STRONG>);</STRONG>
+       <STRONG>chtype</STRONG> <STRONG>field_fore(const</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>set_field_back(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>attr</EM><STRONG>);</STRONG>
+       <STRONG>chtype</STRONG> <STRONG>field_back(const</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>set_field_pad(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pad</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>field_pad(const</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The function <STRONG>set_field_fore</STRONG> sets the foreground  attribute
-       of  <EM>field</EM>. This is the highlight used to display the field
-       contents.  The function <STRONG>field_fore</STRONG> returns the  foreground
-       attribute.  The default is <STRONG>A_STANDOUT</STRONG>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The  function  <STRONG>set_field_fore</STRONG>  sets  the foreground attribute of <EM>field</EM>.
+       This is the highlight used to display the field contents.  The function
+       <STRONG>field_fore</STRONG>   returns   the   foreground   attribute.   The  default  is
+       <STRONG>A_STANDOUT</STRONG>.
 
-       The  function <STRONG>set_field_back</STRONG> sets the background attribute
-       of <EM>form</EM>. This is the highlight used to display the  extent
-       fields  in  the form.  The function <STRONG>field_back</STRONG> returns the
-       background attribute.  The default is <STRONG>A_NORMAL</STRONG>.
+       The function <STRONG>set_field_back</STRONG> sets the background attribute of <EM>form</EM>. This
+       is  the  highlight  used to display the extent fields in the form.  The
+       function <STRONG>field_back</STRONG> returns the background attribute.  The  default  is
+       <STRONG>A_NORMAL</STRONG>.
 
-       The function <STRONG>set_field_pad</STRONG> sets the character used to fill
-       the  field.   The  function  <STRONG>field_pad</STRONG>  returns  the given
-       form's pad character.  The default is a blank.
+       The  function  <STRONG>set_field_pad</STRONG> sets the character used to fill the field.
+       The function <STRONG>field_pad</STRONG> returns the given  form's  pad  character.   The
+       default is a blank.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
        These routines return one of the following:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_SYSTEM_ERROR</STRONG>
-            System error occurred (see <STRONG>errno</STRONG>).
+            System error occurred (see <STRONG>errno(3)</STRONG>).
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for
-       detailed descriptions of the entry points.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These  routines  emulate  the  System  V  forms library.  They were not
+       supported on Version 7 or BSD versions.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  emulate the System V forms library.  They
-       were not supported on Version 7 or BSD versions.
-
-
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>  and  related  pages  whose names begin "form_" for detailed
+       descriptions of the entry points.
 
 
 
-                                              <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16         <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -127,10 +116,9 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/form_field_buffer.3x.html b/doc/html/man/form_field_buffer.3x.html
index c58fd21..47d6c8b 100644
--- a/doc/html/man/form_field_buffer.3x.html
+++ b/doc/html/man/form_field_buffer.3x.html
@@ -1,7 +1,7 @@
-<!-- 
-  * t
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-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  *
   * copy of this software and associated documentation files (the            *
@@ -27,101 +27,90 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: form_field_buffer.3x,v 1.19 2010/12/04 18:38:55 tom Exp @
+  * @Id: form_field_buffer.3x,v 1.45 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_field_buffer 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>form_field_buffer 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">form_field_buffer 3x</H1>
+<H1 class="no-header">form_field_buffer 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>                             <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
+<STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>            Library calls           <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
        <STRONG>form_field_buffer</STRONG> - field buffer control
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
 
-       int  set_field_buffer(FIELD  *field,  int  buf, const char
-       *value);
-       char *field_buffer(const FIELD *field, int buffer);
-       int set_field_status(FIELD *field, bool status);
-       bool field_status(const FIELD *field);
-       int set_max_field(FIELD *field, int max);
+       <STRONG>int</STRONG> <STRONG>set_field_buffer(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>buf</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>value</EM><STRONG>);</STRONG>
+       <STRONG>char</STRONG> <STRONG>*field_buffer(const</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>buffer</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>set_field_status(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>status</EM><STRONG>);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>field_status(const</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>set_max_field(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>max</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The function <STRONG>set_field_buffer</STRONG> sets the numbered buffer  of
-       the given field to contain a given string:
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The  function  <STRONG>set_field_buffer</STRONG>  sets  the numbered buffer of the given
+       field to contain a given string:
 
           <STRONG>o</STRONG>   Buffer 0 is the displayed value of the field.
 
-          <STRONG>o</STRONG>   Other numbered buffers may be allocated by applica-
-              tions   through   the   <STRONG>nbuf</STRONG>   argument   of   (see
-              <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>)  but are not manipulated by the
-              forms library.
+          <STRONG>o</STRONG>   Other numbered buffers may be allocated by applications  through
+              the  <STRONG>nbuf</STRONG>  argument  of  (see  <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>)  but  are not
+              manipulated by the forms library.
 
-       The function <STRONG>field_buffer</STRONG> returns a pointer  to  the  con-
-       tents of the given numbered buffer:
+       The function <STRONG>field_buffer</STRONG> returns a pointer  to  the  contents  of  the
+       given numbered buffer:
 
-          <STRONG>o</STRONG>   The  buffer  contents  always have the same length,
-              and are padded with trailing spaces  as  needed  to
-              ensure this length is the same.
+          <STRONG>o</STRONG>   The  buffer contents always have the same length, and are padded
+              with trailing spaces as needed to  ensure  this  length  is  the
+              same.
 
-          <STRONG>o</STRONG>   The buffer may contain leading spaces, depending on
-              how it was set.
+          <STRONG>o</STRONG>   The  buffer  may contain leading spaces, depending on how it was
+              set.
 
-          <STRONG>o</STRONG>   The buffer contents are set with  <STRONG>set_field_buffer</STRONG>,
-              or  as  a  side effect of any editing operations on
-              the corresponding field.
+          <STRONG>o</STRONG>   The buffer contents are set with <STRONG>set_field_buffer</STRONG>, or as a  side
+              effect of any editing operations on the corresponding field.
 
-          <STRONG>o</STRONG>   Editing operations are based on  the  <EM>window</EM>  which
-              displays the field, rather than a <EM>string</EM>.  The win-
-              dow contains  only  printable  characters,  and  is
-              filled  with blanks.  If you want the raw data, you
-              must write your own routine that copies  the  value
-              out  of  the  buffer  and  removes  the leading and
-              trailing spaces.
+          <STRONG>o</STRONG>   Editing  operations  are  based on the <EM>window</EM> which displays the
+              field, rather than a <EM>string</EM>.  The window contains only printable
+              characters,  and  is  filled  with  blanks.  If you want the raw
+              data, you must write your own routine that copies the value  out
+              of the buffer and removes the leading and trailing spaces.
 
-          <STRONG>o</STRONG>   Because editing operations change  the  content  of
-              the  buffer to correspond to the window, you should
-              not rely on using buffers for long-term storage  of
-              form data.
+          <STRONG>o</STRONG>   Because  editing  operations change the content of the buffer to
+              correspond to the window, you should not rely on  using  buffers
+              for long-term storage of form data.
 
-       The  function  <STRONG>set_field_status</STRONG> sets the associated status
-       flag of <EM>field</EM>; <STRONG>field_status</STRONG> gets the current  value.   The
-       status  flag  is set to a nonzero value whenever the field
-       changes.
+       The function <STRONG>set_field_status</STRONG> sets the associated status flag of <EM>field</EM>;
+       <STRONG>field_status</STRONG> gets the current value.  The  status  flag  is  set  to  a
+       nonzero value whenever the field changes.
 
-       The function <STRONG>set_max_field</STRONG> sets the  maximum  size  for  a
-       dynamic  field.   An  argument  of 0 turns off any maximum
-       size threshold for that field.
+       The  function  <STRONG>set_max_field</STRONG> sets the maximum size for a dynamic field.
+       An argument of 0 turns off any maximum size threshold for that field.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The <STRONG>field_buffer</STRONG> function returns NULL on error.  It  sets
-       errno according to their success:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       The <STRONG>field_buffer</STRONG>  function  returns  NULL  on  error.   It  sets  <STRONG>errno</STRONG>
+       according to their success:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        The <STRONG>field_status</STRONG> function returns <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>.
 
@@ -130,45 +119,40 @@
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_SYSTEM_ERROR</STRONG>
-            System error occurred (see <STRONG>errno</STRONG>).
+            System error occurred (see <STRONG>errno(3)</STRONG>).
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for
-       detailed descriptions of the entry points.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       When  configured for wide characters, <STRONG>field_buffer</STRONG> returns a pointer to
+       temporary  storage  (allocated  and  freed  by   the   library).    The
+       application should not attempt to modify the data.  It will be freed on
+       the next call to <STRONG>field_buffer</STRONG> to return the same buffer.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       file
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These routines emulate the System  V  forms  library.   They  were  not
+       supported on Version 7 or BSD versions.
 
-       When  configured for wide characters, <STRONG>field_buffer</STRONG> returns
-       a pointer to temporary storage (allocated and freed by the
-       library).   The  application  should not attempt to modify
-       the data.  It will be freed on the next call to <STRONG>field_buf-</STRONG>
-       <STRONG>fer</STRONG> to return the same buffer.  <STRONG>&lt;curses.h&gt;</STRONG>.
+       The   <STRONG>set_max_field</STRONG>   function   checks   for   an   <EM>ncurses</EM>  extension
+       <STRONG>O_INPUT_FIELD</STRONG> which allows a dynamic field to shrink if the  new  limit
+       is smaller than the current field size.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  emulate the System V forms library.  They
-       were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names  begin  "form_"  for  detailed
+       descriptions of the entry points.
 
 
 
-                                                  <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16             <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -176,10 +160,10 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 <li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/form_field_info.3x.html b/doc/html/man/form_field_info.3x.html
index b218e54..2090ab6 100644
--- a/doc/html/man/form_field_info.3x.html
+++ b/doc/html/man/form_field_info.3x.html
@@ -1,7 +1,7 @@
-<!-- 
-  * t
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2010,2015 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,98 +27,86 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: form_field_info.3x,v 1.12 2010/12/04 18:40:45 tom Exp @
+  * @Id: form_field_info.3x,v 1.32 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_field_info 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>form_field_info 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">form_field_info 3x</H1>
+<H1 class="no-header">form_field_info 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>                                 <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
+<STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>              Library calls             <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>form_field_info</STRONG> - retrieve field characteristics
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>dynamic_field_info</STRONG>, <STRONG>field_info</STRONG> - retrieve field characteristics
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
-       int field_info(const FIELD *field, int *rows, int *cols,
-                     int *frow, int *fcol, int *nrow, int *nbuf);
-       int  dynamic_field_info(const FIELD *field, int *rows, int
-       *cols, int *max);
+
+       <STRONG>int</STRONG> <STRONG>field_info(const</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG>
+                      <STRONG>int</STRONG> <STRONG>*</STRONG><EM>rows</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>cols</EM><STRONG>,</STRONG>
+                      <STRONG>int</STRONG> <STRONG>*</STRONG><EM>frow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>fcol</EM><STRONG>,</STRONG>
+                      <STRONG>int</STRONG> <STRONG>*</STRONG><EM>nrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>nbuf</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>dynamic_field_info(const</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG>
+                              <STRONG>int</STRONG> <STRONG>*</STRONG><EM>rows</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>cols</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>max</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  function  <STRONG>field_info</STRONG>  returns  the  sizes  and  other
-       attributes  passed  in  to the field at its creation time.
-       The attributes are: height, width, row of upper-left  cor-
-       ner,  column of upper-left corner, number off-screen rows,
-       and number of working buffers.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The  function  <STRONG>field_info</STRONG> returns the sizes and other attributes passed
+       in to the field at its creation  time.   The  attributes  are:  height,
+       width,  row  of  upper-left corner, column of upper-left corner, number
+       off-screen rows, and number of working buffers.
 
-       The function <STRONG>dynamic_field_info</STRONG> returns the actual size of
-       the  field,  and  its maximum possible size.  If the field
-       has no size limit, the location  addressed  by  the  third
-       argument will be set to 0.  A field can be made dynamic by
-       turning off the <STRONG>O_STATIC</STRONG> option with <STRONG>field_opts_off</STRONG>.
+       The function <STRONG>dynamic_field_info</STRONG> returns the actual size of  the  field,
+       and  its  maximum  possible  size.  If the field has no size limit, the
+       location addressed by the third argument will be set to 0.  A field can
+       be made dynamic by turning off the <STRONG>O_STATIC</STRONG> option with <STRONG>field_opts_off</STRONG>.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
        These routines return one of the following:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_SYSTEM_ERROR</STRONG>
-            System error occurred (see <STRONG>errno</STRONG>).
+            System error occurred (see <STRONG>errno(3)</STRONG>).
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for
-       detailed descriptions of the entry points.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These  routines  emulate  the  System  V  forms library.  They were not
+       supported on Version 7 or BSD versions.
+
+       A null (zero pointer) is accepted for any  of  the  return  values,  to
+       ignore  that  value.  Not all implementations allow this, e.g., Solaris
+       2.7 does not.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  emulate the System V forms library.  They
-       were not supported on Version 7 or BSD versions.
-
-       A null (zero pointer) is accepted for any  of  the  return
-       values,  to  ignore  that  value.  Not all implementations
-       allow this, e.g., Solaris 2.7 does not.
-
-
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>  and  related  pages  whose names begin "form_" for detailed
+       descriptions of the entry points.
 
 
 
-                                                    <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16               <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -126,10 +114,9 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/form_field_just.3x.html b/doc/html/man/form_field_just.3x.html
index 34a3bea..f0bc457 100644
--- a/doc/html/man/form_field_just.3x.html
+++ b/doc/html/man/form_field_just.3x.html
@@ -1,7 +1,7 @@
-<!-- 
-  * t
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2010,2015 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,48 +27,45 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: form_field_just.3x,v 1.11 2010/12/04 18:40:45 tom Exp @
+  * @Id: form_field_just.3x,v 1.35 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_field_just 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>form_field_just 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">form_field_just 3x</H1>
+<H1 class="no-header">form_field_just 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>                                 <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
+<STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>              Library calls             <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>form_field_just</STRONG> - retrieve field characteristics
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>set_field_just</STRONG>, <STRONG>field_just</STRONG> - retrieve field characteristics
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
-       int set_field_just(FIELD *field, int justification);
-       int field_just(const FIELD *field);
+
+       <STRONG>int</STRONG> <STRONG>set_field_just(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>justification</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>field_just(const</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The   function   <STRONG>set_field_just</STRONG>   sets  the  justification
-       attribute of a field; <STRONG>field_just</STRONG> returns a field's  justi-
-       fication attribute.  The attribute may be one of NO_JUSTI-
-       FICATION, JUSTIFY_RIGHT, JUSTIFY_LEFT, or JUSTIFY_CENTER.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The  function  <STRONG>set_field_just</STRONG>  sets  the  justification  attribute of a
+       field; <STRONG>field_just</STRONG>  returns  a  field's  justification  attribute.   The
+       attribute  may be one of NO_JUSTIFICATION, JUSTIFY_RIGHT, JUSTIFY_LEFT,
+       or JUSTIFY_CENTER.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The function <STRONG>field_just</STRONG> returns one of:  NO_JUSTIFICATION,
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       The   function   <STRONG>field_just</STRONG>   returns   one    of:    NO_JUSTIFICATION,
        JUSTIFY_RIGHT, JUSTIFY_LEFT, or JUSTIFY_CENTER.
 
        The function <STRONG>set_field_just</STRONG> returns one of the following:
@@ -76,39 +73,29 @@
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_SYSTEM_ERROR</STRONG>
-            System error occurred (see <STRONG>errno</STRONG>).
+            System error occurred (see <STRONG>errno(3)</STRONG>).
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for
-       detailed descriptions of the entry points.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These  routines  emulate  the  System  V  forms library.  They were not
+       supported on Version 7 or BSD versions.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines emulate the System V forms  library.   They
-       were not supported on Version 7 or BSD versions.
-
-
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>  and  related  pages  whose names begin "form_" for detailed
+       descriptions of the entry points.
 
 
 
-                                                    <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16               <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -116,10 +103,9 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/form_field_new.3x.html b/doc/html/man/form_field_new.3x.html
index 88a5c74..c7bedd9 100644
--- a/doc/html/man/form_field_new.3x.html
+++ b/doc/html/man/form_field_new.3x.html
@@ -1,7 +1,7 @@
-<!-- 
-  * t
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2010,2015 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,73 +27,67 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: form_field_new.3x,v 1.18 2010/12/04 18:40:45 tom Exp @
+  * @Id: form_field_new.3x,v 1.41 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_field_new 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>form_field_new 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">form_field_new 3x</H1>
+<H1 class="no-header">form_field_new 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>                                   <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
+<STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>               Library calls              <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>form_field_new</STRONG> - create and destroy form fields
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>new_field</STRONG>,  <STRONG>dup_field</STRONG>, <STRONG>link_field</STRONG>, <STRONG>free_field</STRONG> - create and destroy form
+       fields
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
-       FIELD *new_field(int height, int width,
-                        int toprow, int leftcol,
-                        int offscreen, int nbuffers);
-       FIELD *dup_field(FIELD *field, int toprow, int leftcol);
-       FIELD *link_field(FIELD *field, int toprow, int leftcol);
-       int free_field(FIELD *field);
+
+       <STRONG>FIELD</STRONG> <STRONG>*new_field(int</STRONG> <EM>height</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>width</EM><STRONG>,</STRONG>
+                        <STRONG>int</STRONG> <EM>toprow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>leftcol</EM><STRONG>,</STRONG>
+                        <STRONG>int</STRONG> <EM>offscreen</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>nbuffers</EM><STRONG>);</STRONG>
+       <STRONG>FIELD</STRONG> <STRONG>*dup_field(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>toprow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>leftcol</EM><STRONG>);</STRONG>
+       <STRONG>FIELD</STRONG> <STRONG>*link_field(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>toprow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>leftcol</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>free_field(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  function <STRONG>new_field</STRONG> allocates a new field and initial-
-       izes it from the parameters given: height, width,  row  of
-       upper-left  corner,  column  of  upper-left corner, number
-       off-screen rows, and number of additional working buffers.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The function <STRONG>new_field</STRONG> allocates a new field and  initializes  it  from
+       the  parameters  given: height, width, row of upper-left corner, column
+       of upper-left corner, number off-screen rows, and number of  additional
+       working buffers.
 
-       The function <STRONG>dup_field</STRONG> duplicates a field at a  new  loca-
-       tion.   Most attributes (including current contents, size,
-       validation type, buffer count, growth threshold,  justifi-
-       cation,  foreground,  background,  pad character, options,
-       and user pointer) are copied.  Field status and the  field
-       page bit are not copied.
+       The  function  <STRONG>dup_field</STRONG>  duplicates  a  field at a new location.  Most
+       attributes (including current contents, size, validation  type,  buffer
+       count,  growth  threshold,  justification,  foreground, background, pad
+       character, options, and user pointer) are copied.  Field status and the
+       field page bit are not copied.
 
-       The  function  <STRONG>link_field</STRONG> acts like <STRONG>dup_field</STRONG>, but the new
-       field shares buffers with its parent.  Attribute  data  is
-       separate.
+       The  function  <STRONG>link_field</STRONG> acts like <STRONG>dup_field</STRONG>, but the new field shares
+       buffers with its parent.  Attribute data is separate.
 
-       The  function  <STRONG>free_field</STRONG>  de-allocates storage associated
-       with a field.
+       The function <STRONG>free_field</STRONG> de-allocates storage associated with a field.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The function, <STRONG>new_field</STRONG>, <STRONG>dup_field</STRONG>, <STRONG>link_field</STRONG> return <STRONG>NULL</STRONG>
-       on error.  They set errno according to their success:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       The functions <STRONG>new_field</STRONG>, <STRONG>dup_field</STRONG>, <STRONG>link_field</STRONG> return  <STRONG>NULL</STRONG>  on  error.
+       They set <STRONG>errno</STRONG> according to their success:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_SYSTEM_ERROR</STRONG>
             System error occurred, e.g., malloc failure.
@@ -103,43 +97,32 @@
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_CONNECTED</STRONG>
             field is connected.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These  routines  emulate  the  System  V  forms library.  They were not
+       supported on Version 7 or BSD versions.
+
+       It may be unwise to count on the set of attributes copied by  <STRONG>dup_field</STRONG>
+       being  portable;  the  System  V  forms  library documents are not very
+       explicit about what gets copied and what does not.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines emulate the System V forms  library.   They
-       were not supported on Version 7 or BSD versions.
-
-       It  may be unwise to count on the set of attributes copied
-       by <STRONG>dup_field</STRONG> being portable; the System  V  forms  library
-       documents are not very explicit about what gets copied and
-       what does not.
-
-
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>
 
 
 
-                                                     <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -147,10 +130,9 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/form_field_opts.3x.html b/doc/html/man/form_field_opts.3x.html
index 93b62a1..52fca0a 100644
--- a/doc/html/man/form_field_opts.3x.html
+++ b/doc/html/man/form_field_opts.3x.html
@@ -1,7 +1,7 @@
-<!-- 
-  * t
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2010,2014 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2014,2015 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,69 +27,65 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: form_field_opts.3x,v 1.17 2014/07/26 21:21:57 tom Exp @
+  * @Id: form_field_opts.3x,v 1.44 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_field_opts 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>form_field_opts 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">form_field_opts 3x</H1>
+<H1 class="no-header">form_field_opts 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>                                 <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
+<STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>              Library calls             <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>form_field_opts</STRONG> - set and get field options
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>set_field_opts</STRONG>, <STRONG>field_opts_on</STRONG>, <STRONG>field_opts_off</STRONG>, <STRONG>field_opts</STRONG> - set and get
+       field options
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
-       int set_field_opts(FIELD *field, Field_Options opts);
-       int field_opts_on(FIELD *field, Field_Options opts);
-       int field_opts_off(FIELD *field, Field_Options opts);
-       Field_Options field_opts(const FIELD *field);
+
+       <STRONG>int</STRONG> <STRONG>set_field_opts(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>Field_Options</STRONG> <EM>opts</EM><STRONG>);</STRONG>
+       <STRONG>Field_Options</STRONG> <STRONG>field_opts(const</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>field_opts_on(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>Field_Options</STRONG> <EM>opts</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>field_opts_off(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>Field_Options</STRONG> <EM>opts</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  function  <STRONG>set_field_opts</STRONG>  sets  all the given field's
-       option bits (field  option  bits  may  be  logically-OR'ed
-       together).
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The function <STRONG>set_field_opts</STRONG> sets all  the  given  field's  option  bits
+       (field option bits may be logically-OR'ed together).
 
-       The function <STRONG>field_opts_on</STRONG> turns on the given option bits,
-       and leaves others alone.
+       The  function  <STRONG>field_opts_on</STRONG> turns on the given option bits, and leaves
+       others alone.
 
-       The function <STRONG>field_opts_off</STRONG> turns  off  the  given  option
-       bits, and leaves others alone.
+       The function <STRONG>field_opts_off</STRONG> turns off the given option bits, and leaves
+       others alone.
 
-       The function <STRONG>field_opts</STRONG> returns the field's current option
-       bits.
+       The function <STRONG>field_opts</STRONG> returns the field's current option bits.
 
-       The following standard options are defined (all are on  by
-       default):
+       The following standard options are defined (all are on by default):
 
        O_ACTIVE
-            The  field  is  visited  during  processing.  If this
-            option is off, the field will  not  be  reachable  by
-            navigation  keys.  Please  notice  that  an invisible
-            field appears to be inactive also.
+            The  field  is  visited during processing.  If this option is off,
+            the field will not be reachable by navigation keys.  Please notice
+            that an invisible field appears to be inactive also.
 
        O_AUTOSKIP
             Skip to the next field when this one fills.
 
        O_BLANK
-            The field is cleared whenever a character is  entered
-            at the first position.
+            The  field is cleared whenever a character is entered at the first
+            position.
 
        O_EDIT
             The field can be edited.
@@ -104,68 +100,71 @@
             The field contents are displayed as data is entered.
 
        O_STATIC
-            Field  buffers  are  fixed  to field's original size.
-            Turn this option off to create a dynamic field.
+            Field buffers are fixed  to  field's  original  size.   Turn  this
+            option off to create a dynamic field.
 
        O_VISIBLE
-            The field is displayed.  If this option is off,  dis-
-            play of the field is suppressed.
+            The  field  is  displayed.   If this option is off, display of the
+            field is suppressed.
 
        O_WRAP
-            Words  that  do  not fit on a line are wrapped to the
-            next line.  Words are blank-separated.
+            Words that do not fit on a line are  wrapped  to  the  next  line.
+            Words are blank-separated.
 
-       One extension option is defined  (extensions  are  off  by
-       default):
+       These extension options are defined (extensions are off by default):
 
        O_DYNAMIC_JUSTIFY
-            Permit  dynamic  fields  to be justified, like static
-            fields.
+            Permit dynamic fields to be justified, like static fields.
+
+       O_NO_LEFT_STRIP
+            Preserve leading whitespace in the field buffer, which is normally
+            discarded.
+
+       O_EDGE_INSERT_STAY
+            When  inserting  into  a  field  up  to  the  boundary   position,
+            optionally   delay  the  scrolling,  so  that  the  last  inserted
+            character remains visible, but advance the cursor to  reflect  the
+            insertion.   This  allows the form library to display the inserted
+            character in one-character fields as well as allowing the  library
+            to maintain consistent state.
+
+       O_INPUT_FIELD
+            The <STRONG>set_max_field</STRONG> function checks for this extension, which allows
+            a dynamic field to shrink if the new limit  is  smaller  than  the
+            current field size.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Except for <STRONG>field_opts</STRONG>, each routine  returns  one  of  the
-       following:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       Except for <STRONG>field_opts</STRONG>, each routine returns one of the following:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_CURRENT</STRONG>
             The field is the current field.
 
        <STRONG>E_SYSTEM_ERROR</STRONG>
-            System error occurred (see <STRONG>errno</STRONG>).
+            System error occurred (see <STRONG>errno(3)</STRONG>).
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.  <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These  routines  emulate  the  System  V  forms library.  They were not
+       supported on Version 7 or BSD versions.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  emulate the System V forms library.  They
-       were not supported on Version 7 or BSD versions.
-
-
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>, <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
 
 
 
-                                                    <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16               <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -173,10 +172,9 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/form_field_userptr.3x.html b/doc/html/man/form_field_userptr.3x.html
index bce4e11..128698e 100644
--- a/doc/html/man/form_field_userptr.3x.html
+++ b/doc/html/man/form_field_userptr.3x.html
@@ -1,7 +1,7 @@
-<!-- 
-  * t
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2010,2015 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,81 +27,69 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: form_field_userptr.3x,v 1.10 2010/12/04 18:40:45 tom Exp @
+  * @Id: form_field_userptr.3x,v 1.30 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_field_userptr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>form_field_userptr 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">form_field_userptr 3x</H1>
+<H1 class="no-header">form_field_userptr 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>                           <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
+<STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>           Library calls          <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>form_field_userptr</STRONG>  -  associate  application  data with a
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>set_field_userptr</STRONG>,  <STRONG>field_userptr</STRONG>  -  associate application data with a
        form field
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
-       int set_field_userptr(FIELD *field, void*userptr);
-       void *field_userptr(const FIELD *field);
+
+       <STRONG>int</STRONG> <STRONG>set_field_userptr(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>userptr</EM><STRONG>);</STRONG>
+       <STRONG>void</STRONG> <STRONG>*field_userptr(const</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       Every form field has a field that  can  be  used  to  hold
-       application-specific  data  (that is, the form-driver code
-       leaves it alone).  These functions get and set that field.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       Every form field has a field that can  be  used  to  hold  application-
+       specific  data  (that is, the form-driver code leaves it alone).  These
+       functions get and set that field.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The function <STRONG>field_userptr</STRONG> returns a pointer (which may be
-       <STRONG>NULL</STRONG>).  It does not set errno.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       The function <STRONG>field_userptr</STRONG> returns a pointer (which may be  <STRONG>NULL</STRONG>).   It
+       does not set <STRONG>errno</STRONG>.
 
        The function <STRONG>set_field_userptr</STRONG> returns <STRONG>E_OK</STRONG> (success).
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These  routines  emulate  the  System  V  forms library.  They were not
+       supported on Version 7 or BSD versions.
+
+       The user pointer is a void pointer.  We chose not to leave it as a char
+       pointer for SVr4 compatibility.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines emulate the System V forms  library.   They
-       were not supported on Version 7 or BSD versions.
-
-       The user pointer is a void pointer.  We chose not to leave
-       it as a char pointer for SVr4 compatibility.
-
-
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>
 
 
 
-                                                 <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16            <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -109,10 +97,9 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/form_field_validation.3x.html b/doc/html/man/form_field_validation.3x.html
index 677790e..e66d71c 100644
--- a/doc/html/man/form_field_validation.3x.html
+++ b/doc/html/man/form_field_validation.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-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  *
   * copy of this software and associated documentation files (the            *
@@ -26,176 +27,228 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: form_field_validation.3x,v 1.20 2010/12/04 18:38:55 tom Exp @
+  * @Id: form_field_validation.3x,v 1.53 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_field_validation 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>form_field_validation 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">form_field_validation 3x</H1>
+<H1 class="no-header">form_field_validation 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>                     <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
+<STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>        Library calls       <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
        <STRONG>form_field_validation</STRONG> - data type validation for fields
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
-       int set_field_type(FIELD *field, FIELDTYPE *type, ...);
-       FIELDTYPE *field_type(const FIELD *field);
-       void *field_arg(const FIELD *field);
 
-       FIELDTYPE *TYPE_ALNUM;
-       FIELDTYPE *TYPE_ALPHA;
-       FIELDTYPE *TYPE_ENUM;
-       FIELDTYPE *TYPE_INTEGER;
-       FIELDTYPE *TYPE_NUMERIC;
-       FIELDTYPE *TYPE_REGEXP;
-       FIELDTYPE *TYPE_IPV4;
+       <STRONG>void</STRONG> <STRONG>*field_arg(const</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>);</STRONG>
+       <STRONG>FIELDTYPE</STRONG> <STRONG>*field_type(const</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>set_field_type(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>FIELDTYPE</STRONG> <STRONG>*</STRONG><EM>type</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
+
+       <EM>/*</EM> <EM>predefined</EM> <EM>field</EM> <EM>types</EM> <EM>*/</EM>
+       <STRONG>FIELDTYPE</STRONG> <STRONG>*TYPE_ALNUM;</STRONG>
+       <STRONG>FIELDTYPE</STRONG> <STRONG>*TYPE_ALPHA;</STRONG>
+       <STRONG>FIELDTYPE</STRONG> <STRONG>*TYPE_ENUM;</STRONG>
+       <STRONG>FIELDTYPE</STRONG> <STRONG>*TYPE_INTEGER;</STRONG>
+       <STRONG>FIELDTYPE</STRONG> <STRONG>*TYPE_NUMERIC;</STRONG>
+       <STRONG>FIELDTYPE</STRONG> <STRONG>*TYPE_REGEXP;</STRONG>
+       <STRONG>FIELDTYPE</STRONG> <STRONG>*TYPE_IPV4;</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  function  <STRONG>set_field_type</STRONG>  declares  a data type for a
-       given form field.  This is the type checked by  validation
-       functions.  The predefined types are as follows:
-
-       TYPE_ALNUM
-            Alphanumeric  data.  Requires a third <STRONG>int</STRONG> argument, a
-            minimum field width.
-
-       TYPE_ALPHA
-            Character data.  Requires a  third  <STRONG>int</STRONG>  argument,  a
-            minimum field width.
-
-       TYPE_ENUM
-            Accept one of a specified set of strings.  Requires a
-            third <STRONG>(char</STRONG> <STRONG>**)</STRONG> argument pointing to a string list; a
-            fourth  <STRONG>int</STRONG> flag argument to enable case-sensitivity;
-            and a fifth <STRONG>int</STRONG> flag argument  specifying  whether  a
-            partial  match  must be a unique one (if this flag is
-            off, a prefix matches the first of any  set  of  more
-            than  one  list  elements  with  that prefix). Please
-            notice that the string list is copied. So you may use
-            a  list  that  lives  in  automatic  variables on the
-            stack.
-
-       TYPE_INTEGER
-            Integer data, parsable  to  an  integer  by  <STRONG>atoi(3)</STRONG>.
-            Requires  a third <STRONG>int</STRONG> argument controlling the preci-
-            sion, a fourth  <STRONG>long</STRONG>  argument  constraining  minimum
-            value,  and  a fifth <STRONG>long</STRONG> constraining maximum value.
-            If the maximum value is less than  or  equal  to  the
-            minimum value, the range is simply ignored. On return
-            the field buffer is formatted according to the <STRONG>printf</STRONG>
-            format   specification   ".*ld",  where  the  '*'  is
-            replaced by the precision argument.  For  details  of
-            the precision handling see <STRONG>printf's</STRONG> man-page.
-
-       TYPE_NUMERIC
-            Numeric   data   (may  have  a  decimal-point  part).
-            Requires a third <STRONG>int</STRONG> argument controlling the  preci-
-            sion,  a  fourth <STRONG>double</STRONG> argument constraining minimum
-            value, and a fifth <STRONG>double</STRONG> constraining maximum value.
-            If  your  system  supports locales, the decimal point
-            character to be used must be  the  one  specified  by
-            your  locale.   If  the maximum value is less than or
-            equal to the  minimum  value,  the  range  is  simply
-            ignored.  On  return  the  field  buffer is formatted
-            according to the <STRONG>printf</STRONG> format  specification  ".*f",
-            where  the '*' is replaced by the precision argument.
-            For details of the precision  handling  see  <STRONG>printf's</STRONG>
-            man-page.
-
-       TYPE_REGEXP
-            Regular  expression data.  Requires a regular expres-
-            sion <STRONG>(char</STRONG> <STRONG>*)</STRONG> third argument; the data  is  valid  if
-            the  regular  expression matches it.  Regular expres-
-            sions are in  the  format  of  <STRONG>regcomp</STRONG>  and  <STRONG>regexec</STRONG>.
-            Please  notice that the regular expression must match
-            the whole field. If you have  for  example  an  eight
-            character wide field, a regular expression "^[0-9]*$"
-            always means that you have to fill  all  eight  posi-
-            tions with digits. If you want to allow fewer digits,
-            you may use for example "^[0-9]* *$"  which  is  good
-            for  trailing  spaces  (up  to an empty field), or "^
-            *[0-9]* *$" which is good for  leading  and  trailing
-            spaces around the digits.
-
-       TYPE_IPV4
-            An Internet Protocol Version 4 address. This requires
-            no additional argument. It is checked whether or  not
-            the  buffer  has  the form a.b.c.d, where a,b,c and d
-            are numbers between 0 and 255. Trailing blanks in the
-            buffer  are  ignored. The address itself is not vali-
-            dated. Please note that this is an ncurses extension.
-            This  field type may not be available in other curses
-            implementations.
-
-       It is possible to  set  up  new  programmer-defined  field
-       types.  See the <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG> manual page.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       By  default, no validation is done on form fields.  You can associate a
+       form with with a <EM>field</EM> <EM>type</EM>, making the form library validate input.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The  functions  <STRONG>field_type</STRONG>  and  <STRONG>field_arg</STRONG>  return <STRONG>NULL</STRONG> on
-       error. The function <STRONG>set_field_type</STRONG> returns one of the fol-
-       lowing:
+</PRE><H3><a name="h3-field_arg">field_arg</a></H3><PRE>
+       Returns a pointer to the field's argument block.  The <EM>argument</EM> <EM>block</EM> is
+       an  opaque  structure  containing a copy of the arguments provided in a
+       <STRONG>set_field_type</STRONG> call.
+
+
+</PRE><H3><a name="h3-field_type">field_type</a></H3><PRE>
+       Returns a pointer to the <EM>field</EM> <EM>type</EM> associated  with  the  form  field,
+       i.e., by calling <STRONG>set_field_type</STRONG>.
+
+
+</PRE><H3><a name="h3-set_field_type">set_field_type</a></H3><PRE>
+       The  function  <STRONG>set_field_type</STRONG> associates a field type with a given form
+       field.  This is the type checked by validation functions.   Most  field
+       types  are  configurable,  via arguments which the caller provides when
+       calling <STRONG>set_field_type</STRONG>.
+
+       Several field types are predefined by the form library.
+
+
+</PRE><H2><a name="h2-PREDEFINED-TYPES">PREDEFINED TYPES</a></H2><PRE>
+       It is possible to set up new  programmer-defined  field  types.   Field
+       types  are implemented via the <STRONG>FIELDTYPE</STRONG> data structure, which contains
+       several pointers to functions.
+
+       See the <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG> manual page, which describes functions which
+       can be used to construct a field-type dynamically.
+
+       The predefined types are as follows:
+
+
+</PRE><H3><a name="h3-TYPE_ALNUM">TYPE_ALNUM</a></H3><PRE>
+       Alphanumeric data.  Required parameter:
+
+       <STRONG>o</STRONG>   a third <STRONG>int</STRONG> argument, a minimum field width.
+
+
+</PRE><H3><a name="h3-TYPE_ALPHA">TYPE_ALPHA</a></H3><PRE>
+       Character data.  Required parameter:
+
+       <STRONG>o</STRONG>   a third <STRONG>int</STRONG> argument, a minimum field width.
+
+
+</PRE><H3><a name="h3-TYPE_ENUM">TYPE_ENUM</a></H3><PRE>
+       Accept one of a specified set of strings.  Required parameters:
+
+       <STRONG>o</STRONG>   a third <STRONG>(char</STRONG> <STRONG>**)</STRONG> argument pointing to a string list;
+
+       <STRONG>o</STRONG>   a fourth <STRONG>int</STRONG> flag argument to enable case-sensitivity;
+
+       <STRONG>o</STRONG>   a  fifth  <STRONG>int</STRONG> flag argument specifying whether a partial match must
+           be a unique one.  If this flag is off, a prefix matches  the  first
+           of any set of more than one list elements with that prefix.
+
+       The library copies the string list, so you may use a list that lives in
+       automatic variables on the stack.
+
+
+</PRE><H3><a name="h3-TYPE_INTEGER">TYPE_INTEGER</a></H3><PRE>
+       Integer data, parsable to an integer by <STRONG>atoi(3)</STRONG>.  Required parameters:
+
+       <STRONG>o</STRONG>   a third <STRONG>int</STRONG> argument controlling the precision,
+
+       <STRONG>o</STRONG>   a fourth <STRONG>long</STRONG> argument constraining minimum value,
+
+       <STRONG>o</STRONG>   a fifth <STRONG>long</STRONG> constraining maximum value.  If the maximum  value  is
+           less  than  or  equal  to  the  minimum  value, the range is simply
+           ignored.
+
+       On return, the field buffer is formatted according to the <STRONG>printf</STRONG> format
+       specification  ".*ld",  where  the  "*"  is  replaced  by the precision
+       argument.
+
+       For details of the precision handling see <STRONG>printf(3)</STRONG>.
+
+
+</PRE><H3><a name="h3-TYPE_NUMERIC">TYPE_NUMERIC</a></H3><PRE>
+       Numeric data (may have a decimal-point part).  Required parameters:
+
+       <STRONG>o</STRONG>   a third <STRONG>int</STRONG> argument controlling the precision,
+
+       <STRONG>o</STRONG>   a fourth <STRONG>double</STRONG> argument constraining minimum value,
+
+       <STRONG>o</STRONG>   and a fifth <STRONG>double</STRONG> constraining  maximum  value.   If  your  system
+           supports  locales,  the  decimal  point  character  must be the one
+           specified by your locale.  If the maximum value  is  less  than  or
+           equal to the minimum value, the range is simply ignored.
+
+       On return, the field buffer is formatted according to the <STRONG>printf</STRONG> format
+       specification ".*f",  where  the  "*"  is  replaced  by  the  precision
+       argument.
+
+       For details of the precision handling see <STRONG>printf(3)</STRONG>.
+
+
+</PRE><H3><a name="h3-TYPE_REGEXP">TYPE_REGEXP</a></H3><PRE>
+       Regular expression data.  Required parameter:
+
+       <STRONG>o</STRONG>   a  third  argument, a regular expression <STRONG>(char</STRONG> <STRONG>*)</STRONG> string.  The data
+           is valid if the regular expression matches it.
+
+       Regular expressions are in the format of <STRONG>regcomp</STRONG> and <STRONG>regexec</STRONG>.
+
+       The regular expression must match the whole field.   If  you  have  for
+       example, an eight character wide field, a regular expression "^[0-9]*$"
+       always means that you have to fill all eight positions with digits.  If
+       you  want  to  allow fewer digits, you may use for example "^[0-9]* *$"
+       which is good for trailing spaces (up to an empty field), or "^ *[0-9]*
+       *$" which is good for leading and trailing spaces around the digits.
+
+
+</PRE><H3><a name="h3-TYPE_IPV4">TYPE_IPV4</a></H3><PRE>
+       An Internet Protocol Version 4 address.  Required parameter:
+
+       <STRONG>o</STRONG>   none
+
+       The form library checks whether or not the buffer has the form <EM>a.b.c.d</EM>,
+       where <EM>a</EM>, <EM>b</EM>, <EM>c</EM>, and <EM>d</EM> are numbers in  the  range  0  to  255.   Trailing
+       blanks in the buffer are ignored.  The address itself is not validated.
+
+       This  is  an <EM>ncurses</EM> extension; this field type may not be available in
+       other curses implementations.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       The functions <STRONG>field_type</STRONG> and  <STRONG>field_arg</STRONG>  return  <STRONG>NULL</STRONG>  on  error.   The
+       function <STRONG>set_field_type</STRONG> returns one of the following:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_SYSTEM_ERROR</STRONG>
-            System error occurred (see <STRONG>errno</STRONG>).
+            System error occurred (see <STRONG>errno(3)</STRONG>).
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>, <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These  routines  emulate  the  System  V  forms library.  They were not
+       supported on Version 7 or BSD versions.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines emulate the System V forms  library.   They
-       were not supported on Version 7 or BSD versions.
-
-
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>, <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>, <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>
 
 
 
-                                              <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16         <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
 <li><a href="#h2-NAME">NAME</a></li>
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
-<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-field_arg">field_arg</a></li>
+<li><a href="#h3-field_type">field_type</a></li>
+<li><a href="#h3-set_field_type">set_field_type</a></li>
+</ul>
+</li>
+<li><a href="#h2-PREDEFINED-TYPES">PREDEFINED TYPES</a>
+<ul>
+<li><a href="#h3-TYPE_ALNUM">TYPE_ALNUM</a></li>
+<li><a href="#h3-TYPE_ALPHA">TYPE_ALPHA</a></li>
+<li><a href="#h3-TYPE_ENUM">TYPE_ENUM</a></li>
+<li><a href="#h3-TYPE_INTEGER">TYPE_INTEGER</a></li>
+<li><a href="#h3-TYPE_NUMERIC">TYPE_NUMERIC</a></li>
+<li><a href="#h3-TYPE_REGEXP">TYPE_REGEXP</a></li>
+<li><a href="#h3-TYPE_IPV4">TYPE_IPV4</a></li>
+</ul>
+</li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/form_fieldtype.3x.html b/doc/html/man/form_fieldtype.3x.html
index b1e27a6..369f25c 100644
--- a/doc/html/man/form_fieldtype.3x.html
+++ b/doc/html/man/form_fieldtype.3x.html
@@ -1,7 +1,7 @@
-<!-- 
-  * t
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2006,2010 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,119 +27,136 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: form_fieldtype.3x,v 1.16 2010/12/04 18:40:45 tom Exp @
+  * @Id: form_fieldtype.3x,v 1.46 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_fieldtype 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>form_fieldtype 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">form_fieldtype 3x</H1>
+<H1 class="no-header">form_fieldtype 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>                                   <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
+<STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>               Library calls              <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
        <STRONG>form_fieldtype</STRONG> - define validation-field types
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
-       FIELDTYPE *new_fieldtype(
-           bool (* const field_check)(FIELD *, const void *),
-           bool (* const char_check)(int, const void *));
-       int free_fieldtype(FIELDTYPE *fieldtype);
-       int set_fieldtype_arg(
-           FIELDTYPE *fieldtype,
-           void *(* const make_arg)(va_list *),
-           void *(* const copy_arg)(const void *),
-           void  (* const free_arg)(void *));
-       int set_fieldtype_choice(
-           FIELDTYPE *fieldtype,
-           bool (* const next_choice)(FIELD *, const void *),
-           bool (* const prev_choice)(FIELD *, const void *));
-       FIELDTYPE *link_fieldtype(FIELDTYPE *type1,
-                                 FIELDTYPE *type2);
+
+       <STRONG>FIELDTYPE</STRONG> <STRONG>*new_fieldtype(</STRONG>
+           <STRONG>bool</STRONG> <STRONG>(*</STRONG> <STRONG>const</STRONG> <EM>field</EM><STRONG>_</STRONG><EM>check</EM><STRONG>)(FIELD</STRONG> <STRONG>*,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*),</STRONG>
+           <STRONG>bool</STRONG> <STRONG>(*</STRONG> <STRONG>const</STRONG> <EM>char</EM><STRONG>_</STRONG><EM>check</EM><STRONG>)(int,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*));</STRONG>
+       <STRONG>int</STRONG> <STRONG>free_fieldtype(FIELDTYPE</STRONG> <STRONG>*</STRONG><EM>fieldtype</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>set_fieldtype_arg(</STRONG>
+           <STRONG>FIELDTYPE</STRONG> <STRONG>*</STRONG><EM>fieldtype</EM><STRONG>,</STRONG>
+           <STRONG>void</STRONG> <STRONG>*(*</STRONG> <STRONG>const</STRONG> <EM>make</EM><STRONG>_</STRONG><EM>arg</EM><STRONG>)(va_list</STRONG> <STRONG>*),</STRONG>
+           <STRONG>void</STRONG> <STRONG>*(*</STRONG> <STRONG>const</STRONG> <EM>copy</EM><STRONG>_</STRONG><EM>arg</EM><STRONG>)(const</STRONG> <STRONG>void</STRONG> <STRONG>*),</STRONG>
+           <STRONG>void</STRONG>  <STRONG>(*</STRONG> <STRONG>const</STRONG> <EM>free</EM><STRONG>_</STRONG><EM>arg</EM><STRONG>)(void</STRONG> <STRONG>*));</STRONG>
+       <STRONG>int</STRONG> <STRONG>set_fieldtype_choice(</STRONG>
+           <STRONG>FIELDTYPE</STRONG> <STRONG>*</STRONG><EM>fieldtype</EM><STRONG>,</STRONG>
+           <STRONG>bool</STRONG> <STRONG>(*</STRONG> <STRONG>const</STRONG> <EM>next</EM><STRONG>_</STRONG><EM>choice</EM><STRONG>)(FIELD</STRONG> <STRONG>*,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*),</STRONG>
+           <STRONG>bool</STRONG> <STRONG>(*</STRONG> <STRONG>const</STRONG> <EM>prev</EM><STRONG>_</STRONG><EM>choice</EM><STRONG>)(FIELD</STRONG> <STRONG>*,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*));</STRONG>
+
+       <STRONG>FIELDTYPE</STRONG> <STRONG>*link_fieldtype(FIELDTYPE</STRONG> <STRONG>*</STRONG><EM>type1</EM><STRONG>,</STRONG>
+                                 <STRONG>FIELDTYPE</STRONG> <STRONG>*</STRONG><EM>type2</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The function <STRONG>new_fieldtype</STRONG> creates a new field type usable
-       for data validation.  You supply it  with  <EM>field</EM><STRONG>_</STRONG><EM>check</EM>,  a
-       predicate  to check the validity of an entered data string
-       whenever the user attempts to leave a field.   The  (FIELD
-       *)  argument  is passed in so the validation predicate can
-       see the field's buffer, sizes and  other  attributes;  the
-       second  argument  is  an  argument-block  structure, about
-       which more below.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
 
-       You also supply <STRONG>new_fieldtype</STRONG> with <EM>char</EM><STRONG>_</STRONG><EM>check</EM>, a  function
-       to  validate input characters as they are entered; it will
-       be passed the character to be checked and a pointer to  an
-       argument-block structure.
+</PRE><H3><a name="h3-new_fieldtype">new_fieldtype</a></H3><PRE>
+       The  function  <STRONG>new_fieldtype</STRONG>  creates  a new field type usable for data
+       validation.  Its parameters are function pointers:
 
-       The  function <STRONG>free_fieldtype</STRONG> frees the space allocated for
-       a given validation type.
+       <EM>field</EM><STRONG>_</STRONG><EM>check</EM>
+            This function checks  the  validity  of  an  entered  data  string
+            whenever  the  user  attempts  to  leave  a  field.   It  has  two
+            arguments:
 
-       The function <STRONG>set_fieldtype_arg</STRONG> associates  three  storage-
-       management  functions  with  a  field  type.  The <EM>make</EM><STRONG>_</STRONG><EM>arg</EM>
-       function is automatically applied to the list of arguments
-       you  give  <STRONG>set_field_type</STRONG>  when  attaching validation to a
-       field; its job is to bundle these into an allocated  argu-
-       ment-block  object which can later be passed to validation
-       predicated.  The other two hook arguments should copy  and
-       free  argument-block structures.  They will be used by the
-       forms-driver code.  You must supply the <EM>make</EM><STRONG>_</STRONG><EM>arg</EM> function,
-       the  other two are optional, you may supply NULL for them.
-       In this case it is assumed that <EM>make</EM><STRONG>_</STRONG><EM>arg</EM> does not allocate
-       memory  but simply loads the argument into a single scalar
-       value.
+            <STRONG>o</STRONG>   The  (FIELD  *)  argument  is  passed  in  so  the  validation
+                predicate   can  see  the  field's  buffer,  sizes  and  other
+                attributes.
 
-       The function <STRONG>link_fieldtype</STRONG> creates a new field type  from
-       the  two  given  types.   They are connected by an logical
-       'OR'.
+            <STRONG>o</STRONG>   The second argument  is  an  argument-block  structure,  about
+                which more below.
 
-       The   form    driver    requests    <STRONG>REQ_NEXT_CHOICE</STRONG>    and
-       <STRONG>REQ_PREV_CHOICE</STRONG> assume that the possible values of a field
-       form an ordered set, and provide the forms user with a way
-       to  move  through the set.  The <STRONG>set_fieldtype_choice</STRONG> func-
-       tion allows forms programmers to define successor and pre-
-       decessor  functions  for  the field type.  These functions
-       take the field pointer and an argument-block structure  as
+       <EM>char</EM><STRONG>_</STRONG><EM>check</EM>
+            This function validates input characters as they are entered.  The
+            form library passes it the character to be checked and  a  pointer
+            to an argument-block structure.
+
+
+</PRE><H3><a name="h3-free_fieldtype">free_fieldtype</a></H3><PRE>
+       The  <STRONG>free_fieldtype</STRONG>  function  frees  the  space  allocated for a given
+       validation type by <STRONG>new_fieldtype</STRONG>.
+
+
+</PRE><H3><a name="h3-set_fieldtype_arg">set_fieldtype_arg</a></H3><PRE>
+       The  function  <STRONG>set_fieldtype_arg</STRONG>  associates  three  storage-management
+       functions with a field type:
+
+       <EM>make</EM><STRONG>_</STRONG><EM>arg</EM>
+            This  function  is  automatically applied to the list of arguments
+            you give <STRONG>set_field_type</STRONG> when attaching validation to a field.   It
+            stores  the  arguments in an allocated argument-block object which
+            is used when validating input.
+
+       <EM>copy</EM><STRONG>_</STRONG><EM>arg</EM>
+            This function may be used by applications to copy argument-blocks.
+
+       <EM>free</EM><STRONG>_</STRONG><EM>arg</EM>
+            Frees an argument-block structure.
+
+       You must supply the <EM>make</EM><STRONG>_</STRONG><EM>arg</EM> function.  The other two are optional: you
+       may  supply NULL for them.  In this case, the form library assumes that
+       <EM>make</EM><STRONG>_</STRONG><EM>arg</EM> does not allocate memory but simply loads the argument into  a
+       single scalar value.
+
+
+</PRE><H3><a name="h3-set_fieldtype_choice">set_fieldtype_choice</a></H3><PRE>
+       The  form  driver  requests  <STRONG>REQ_NEXT_CHOICE</STRONG> and <STRONG>REQ_PREV_CHOICE</STRONG> assume
+       that the possible values of a field form an ordered  set,  and  provide
+       the forms user with a way to move through the set.
+
+       The  <STRONG>set_fieldtype_choice</STRONG>  function  allows forms programmers to define
+       successor  and  predecessor  functions  for  the  field  type.    These
+       functions  take  the  field  pointer and an argument-block structure as
        arguments.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The  pointer-valued  routines  return NULL on error.  They
-       set errno according to their success:
+</PRE><H3><a name="h3-link_fieldtype">link_fieldtype</a></H3><PRE>
+       The function <STRONG>link_fieldtype</STRONG> creates a new field type from the two given
+       types.  They are connected by an logical 'OR'.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       The  pointer-valued  routines  return  NULL  on  error.  They set <STRONG>errno</STRONG>
+       according to their success:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_SYSTEM_ERROR</STRONG>
             System error occurred, e.g., malloc failure.
 
-       The  integer-valued  routines  return one of the following
-       codes on error:
+       The integer-valued routines return one of the following codes on error:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_CONNECTED</STRONG>
             The field is already connected to a form.
@@ -148,49 +165,43 @@
             The field is the current field.
 
        <STRONG>E_SYSTEM_ERROR</STRONG>
-            System error occurred (see <STRONG>errno</STRONG>).
+            System error occurred (see <STRONG>errno(3)</STRONG>).
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These routines emulate the System  V  forms  library.   They  were  not
+       supported on Version 7 or BSD versions.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
-
-       All of the <STRONG>(char</STRONG> <STRONG>*)</STRONG> arguments of  these  functions  should
-       actually  be <STRONG>(void</STRONG> <STRONG>*)</STRONG>.  The type has been left uncorrected
-       for strict compatibility with System V.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines emulate the System V forms  library.   They
-       were not supported on Version 7 or BSD versions.
-
-
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>, <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
 
 
 
-                                                     <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
 <li><a href="#h2-NAME">NAME</a></li>
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
-<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-new_fieldtype">new_fieldtype</a></li>
+<li><a href="#h3-free_fieldtype">free_fieldtype</a></li>
+<li><a href="#h3-set_fieldtype_arg">set_fieldtype_arg</a></li>
+<li><a href="#h3-set_fieldtype_choice">set_fieldtype_choice</a></li>
+<li><a href="#h3-link_fieldtype">link_fieldtype</a></li>
+</ul>
+</li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/form_hook.3x.html b/doc/html/man/form_hook.3x.html
index 4f3c54f..4845771 100644
--- a/doc/html/man/form_hook.3x.html
+++ b/doc/html/man/form_hook.3x.html
@@ -1,7 +1,7 @@
-<!-- 
-  * t
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2007,2010 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,118 +27,138 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: form_hook.3x,v 1.11 2010/12/04 18:40:45 tom Exp @
+  * @Id: form_hook.3x,v 1.37 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_hook 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>form_hook 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">form_hook 3x</H1>
+<H1 class="no-header">form_hook 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>                                             <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
+<STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>                    Library calls                   <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>form_hook</STRONG> - set hooks for automatic invocation by applica-
-       tions
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>form_hook</STRONG> - set hooks for automatic invocation by applications
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
-       int set_field_init(FORM *form, Form_Hook func);
-       Form_Hook field_init(const FORM *form);
-       int set_field_term(FORM *form, Form_Hook func);
-       Form_Hook field_term(const FORM *form);
-       int set_form_init(FORM *form, Form_Hook func);
-       Form_Hook form_init(const FORM *form);
-       int set_form_term(FORM *form, Form_Hook func);
-       Form_Hook form_term(const FORM *form);
+
+       <STRONG>int</STRONG> <STRONG>set_field_init(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>Form_Hook</STRONG> <EM>func</EM><STRONG>);</STRONG>
+       <STRONG>Form_Hook</STRONG> <STRONG>field_init(const</STRONG> <STRONG>FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>set_field_term(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>Form_Hook</STRONG> <EM>func</EM><STRONG>);</STRONG>
+       <STRONG>Form_Hook</STRONG> <STRONG>field_term(const</STRONG> <STRONG>FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>set_form_init(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>Form_Hook</STRONG> <EM>func</EM><STRONG>);</STRONG>
+       <STRONG>Form_Hook</STRONG> <STRONG>form_init(const</STRONG> <STRONG>FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>set_form_term(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>Form_Hook</STRONG> <EM>func</EM><STRONG>);</STRONG>
+       <STRONG>Form_Hook</STRONG> <STRONG>form_term(const</STRONG> <STRONG>FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These functions make it possible to set hook functions  to
-       be called at various points in the automatic processing of
-       input event codes by <STRONG>form_driver</STRONG>.
-
-       The function <STRONG>set_field_init</STRONG> sets a hook to  be  called  at
-       form-post  time  and  each time the selected field changes
-       (after the change).  <STRONG>field_init</STRONG> returns the current  field
-       init hook, if any (<STRONG>NULL</STRONG> if there is no such hook).
-
-       The  function  <STRONG>set_field_term</STRONG>  sets a hook to be called at
-       form-unpost time and each time the selected field  changes
-       (before the change).  <STRONG>field_term</STRONG> returns the current field
-       term hook, if any (<STRONG>NULL</STRONG> if there is no such hook).
-
-       The function <STRONG>set_form_init</STRONG> sets a hook  to  be  called  at
-       form-post  time  and  just  after a page change once it is
-       posted.  <STRONG>form_init</STRONG> returns the current form init hook,  if
-       any (<STRONG>NULL</STRONG> if there is no such hook).
-
-       The  function  <STRONG>set_form_term</STRONG>  sets  a hook to be called at
-       form-unpost time and just before a page change once it  is
-       posted.   <STRONG>form_init</STRONG> returns the current form term hook, if
-       any (<STRONG>NULL</STRONG> if there is no such hook).
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       These  functions make it possible to set hook functions to be called at
+       various points in the automatic processing  of  input  event  codes  by
+       <STRONG>form_driver</STRONG>.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Routines that return pointers return <STRONG>NULL</STRONG> on error.  Other
-       routines return one of the following:
+</PRE><H3><a name="h3-set_field_init">set_field_init</a></H3><PRE>
+       sets  a  hook to be called at form-post time and each time the selected
+       field changes (after the change).
+
+
+</PRE><H3><a name="h3-field_init">field_init</a></H3><PRE>
+       returns the current field init hook, if any (<STRONG>NULL</STRONG> if there is  no  such
+       hook).
+
+
+</PRE><H3><a name="h3-set_field_term">set_field_term</a></H3><PRE>
+       sets a hook to be called at form-unpost time and each time the selected
+       field changes (before the change).
+
+
+</PRE><H3><a name="h3-field_term">field_term</a></H3><PRE>
+       returns the current field term hook, if any (<STRONG>NULL</STRONG> if there is  no  such
+       hook).
+
+
+</PRE><H3><a name="h3-set_form_init">set_form_init</a></H3><PRE>
+       sets a hook to be called at form-post time and just after a page change
+       once it is posted.
+
+
+</PRE><H3><a name="h3-form_init">form_init</a></H3><PRE>
+       returns the current form init hook, if any (<STRONG>NULL</STRONG> if there  is  no  such
+       hook).
+
+
+</PRE><H3><a name="h3-set_form_term">set_form_term</a></H3><PRE>
+       sets  a  hook  to  be called at form-unpost time and just before a page
+       change once it is posted.
+
+
+</PRE><H3><a name="h3-form_term">form_term</a></H3><PRE>
+       returns the current form term hook, if any (<STRONG>NULL</STRONG> if there  is  no  such
+       hook).
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       Routines  that  return  pointers  return <STRONG>NULL</STRONG> on error.  Other routines
+       return one of the following:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_SYSTEM_ERROR</STRONG>
-            System error occurred (see <STRONG>errno</STRONG>).
+            System error occurred (see <STRONG>errno(3)</STRONG>).
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These routines emulate the System  V  forms  library.   They  were  not
+       supported on Version 7 or BSD versions.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines emulate the System V forms  library.   They
-       were not supported on Version 7 or BSD versions.
-
-
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>
 
 
 
-                                                          <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                     <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
 <li><a href="#h2-NAME">NAME</a></li>
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
-<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-set_field_init">set_field_init</a></li>
+<li><a href="#h3-field_init">field_init</a></li>
+<li><a href="#h3-set_field_term">set_field_term</a></li>
+<li><a href="#h3-field_term">field_term</a></li>
+<li><a href="#h3-set_form_init">set_form_init</a></li>
+<li><a href="#h3-form_init">form_init</a></li>
+<li><a href="#h3-set_form_term">set_form_term</a></li>
+<li><a href="#h3-form_term">form_term</a></li>
+</ul>
+</li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/form_new.3x.html b/doc/html/man/form_new.3x.html
index 2bc8631..7a1877c 100644
--- a/doc/html/man/form_new.3x.html
+++ b/doc/html/man/form_new.3x.html
@@ -1,7 +1,7 @@
-<!-- 
-  * t
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2010,2015 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,57 +27,52 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: form_new.3x,v 1.9 2010/12/04 18:40:45 tom Exp @
+  * @Id: form_new.3x,v 1.32 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_new 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>form_new 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">form_new 3x</H1>
+<H1 class="no-header">form_new 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>                                               <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>
+<STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>                     Library calls                    <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>form_new</STRONG> - create and destroy forms
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>new_form</STRONG>, <STRONG>free_form</STRONG> - create and destroy forms
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
-       FORM *new_form(FIELD **fields);
-       int free_form(FORM *form);
+
+       <STRONG>FORM</STRONG> <STRONG>*new_form(FIELD</STRONG> <STRONG>**</STRONG><EM>fields</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>free_form(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  function  <STRONG>new_form</STRONG>  creates a new form connected to a
-       specified field pointer array (which must  be  <STRONG>NULL</STRONG>-termi-
-       nated).
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The function <STRONG>new_form</STRONG> creates a new form connected to a specified field
+       pointer array (which must be <STRONG>NULL</STRONG>-terminated).
 
-       The  function  <STRONG>free_form</STRONG>  disconnects  <EM>form</EM> from its field
-       array and frees the storage allocated for the form.
+       The function <STRONG>free_form</STRONG> disconnects <EM>form</EM> from its field array and  frees
+       the storage allocated for the form.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The function <STRONG>new_form</STRONG> returns  <STRONG>NULL</STRONG>  on  error.   It  sets
-       errno according to the function's success:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       The  function  <STRONG>new_form</STRONG> returns <STRONG>NULL</STRONG> on error.  It sets <STRONG>errno</STRONG> according
+       to the function's success:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_CONNECTED</STRONG>
             The field is already connected to a form.
@@ -90,38 +85,28 @@
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_POSTED</STRONG>
             The form has already been posted.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These routines emulate the System  V  forms  library.   They  were  not
+       supported on Version 7 or BSD versions.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines emulate the System V forms  library.   They
-       were not supported on Version 7 or BSD versions.
-
-
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>
 
 
 
-                                                           <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                      <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -129,10 +114,9 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/form_new_page.3x.html b/doc/html/man/form_new_page.3x.html
index 9ee5a69..e8a18df 100644
--- a/doc/html/man/form_new_page.3x.html
+++ b/doc/html/man/form_new_page.3x.html
@@ -1,7 +1,7 @@
-<!-- 
-  * t
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2010,2015 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,88 +27,72 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: form_new_page.3x,v 1.10 2010/12/04 18:40:45 tom Exp @
+  * @Id: form_new_page.3x,v 1.34 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_new_page 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>form_new_page 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">form_new_page 3x</H1>
+<H1 class="no-header">form_new_page 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>                                     <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>
+<STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>                Library calls               <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>form_new_page</STRONG> - form pagination functions
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>set_new_page</STRONG>, <STRONG>new_page</STRONG> - form pagination functions
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
-       int set_new_page(FIELD *field, bool new_page_flag);
-       bool new_page(const FIELD *field);
+
+       <STRONG>int</STRONG> <STRONG>set_new_page(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>new</EM><STRONG>_</STRONG><EM>page</EM><STRONG>_</STRONG><EM>flag</EM><STRONG>);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>new_page(const</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  function  <STRONG>set_new_page</STRONG>  sets or resets a flag marking
-       the given field as the beginning of  a  new  page  on  its
-       form.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The function <STRONG>set_new_page</STRONG> sets or resets a flag marking the given field
+       as the beginning of a new page on its form.
 
-       The  function  <STRONG>new_page</STRONG>  is  a  predicate which tests if a
-       given field marks a page beginning on its form.
+       The function <STRONG>new_page</STRONG> is a predicate which tests if a given field marks
+       a page beginning on its form.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
        The function <STRONG>new_page</STRONG> returns <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>.
 
-       The function <STRONG>set_new_page</STRONG> return one of the following:
+       The function <STRONG>set_new_page</STRONG> returns one of the following:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
-       <STRONG>E_SYSTEM_ERROR</STRONG>
-            System error occurred (see <STRONG>errno</STRONG>).
-
        <STRONG>E_CONNECTED</STRONG>
             The given field is already connected to a form.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for
-       detailed descriptions of the entry points.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These  routines  emulate  the  System  V  forms library.  They were not
+       supported on Version 7 or BSD versions.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines emulate the System V forms  library.   They
-       were not supported on Version 7 or BSD versions.
-
-
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>  and  related  pages  whose names begin "form_" for detailed
+       descriptions of the entry points.
 
 
 
-                                                      <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                 <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -116,10 +100,9 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/form_opts.3x.html b/doc/html/man/form_opts.3x.html
index 5bcb665..63a9437 100644
--- a/doc/html/man/form_opts.3x.html
+++ b/doc/html/man/form_opts.3x.html
@@ -1,7 +1,7 @@
-<!-- 
-  * t
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2010,2015 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,103 +27,88 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: form_opts.3x,v 1.11 2010/12/04 18:40:45 tom Exp @
+  * @Id: form_opts.3x,v 1.34 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_opts 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>form_opts 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">form_opts 3x</H1>
+<H1 class="no-header">form_opts 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>                                             <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
+<STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>                    Library calls                   <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>form_opts</STRONG> - set and get form options
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>set_form_opts</STRONG>,  <STRONG>form_opts_on</STRONG>,  <STRONG>form_opts_off</STRONG>,  <STRONG>form_opts</STRONG>  - set and get
+       form options
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
-       int set_form_opts(FORM *form, Field_Options opts);
-       int form_opts_on(FORM *form, Field_Options opts);
-       int form_opts_off(FORM *form, Field_Options opts);
-       Field_Options form_opts(const FORM *form);
+
+       <STRONG>int</STRONG> <STRONG>set_form_opts(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>Field_Options</STRONG> <EM>opts</EM><STRONG>);</STRONG>
+       <STRONG>Field_Options</STRONG> <STRONG>form_opts(const</STRONG> <STRONG>FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>form_opts_on(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>Field_Options</STRONG> <EM>opts</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>form_opts_off(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>Field_Options</STRONG> <EM>opts</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  function  <STRONG>set_form_opts</STRONG>  sets  all  the  given form's
-       option bits  (form  option  bits  may  be  logically-OR'ed
-       together).
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The function <STRONG>set_form_opts</STRONG> sets all the given form's option bits  (form
+       option bits may be logically-OR'ed together).
 
-       The  function <STRONG>form_opts_on</STRONG> turns on the given option bits,
-       and leaves others alone.
+       The  function  <STRONG>form_opts_on</STRONG>  turns on the given option bits, and leaves
+       others alone.
 
-       The function <STRONG>form_opts_off</STRONG>  turns  off  the  given  option
-       bits, and leaves others alone.
+       The function <STRONG>form_opts_off</STRONG> turns off the given option bits, and  leaves
+       others alone.
 
-       The  function  <STRONG>form_opts</STRONG> returns the form's current option
-       bits.
+       The function <STRONG>form_opts</STRONG> returns the form's current option bits.
 
        The following options are defined (all are on by default):
 
        O_NL_OVERLOAD
-            Overload the <STRONG>REQ_NEW_LINE</STRONG>  forms  driver  request  so
-            that  calling  it  at  the end of a field goes to the
-            next field.
+            Overload  the <STRONG>REQ_NEW_LINE</STRONG> forms driver request so that calling it
+            at the end of a field goes to the next field.
 
        O_BS_OVERLOAD
-            Overload the <STRONG>REQ_DEL_PREV</STRONG>  forms  driver  request  so
-            that  calling  it at the beginning of a field goes to
-            the previous field.
+            Overload the <STRONG>REQ_DEL_PREV</STRONG> forms driver request so that calling  it
+            at the beginning of a field goes to the previous field.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Except for <STRONG>form_opts</STRONG>, each routine returns one of the fol-
-       lowing:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       Except for <STRONG>form_opts</STRONG>, each routine returns one of the following:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_SYSTEM_ERROR</STRONG>
-            System error occurred (see <STRONG>errno</STRONG>).
+            System error occurred (see <STRONG>errno(3)</STRONG>).
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These  routines  emulate  the  System  V  forms library.  They were not
+       supported on Version 7 or BSD versions.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines emulate the System V forms  library.   They
-       were not supported on Version 7 or BSD versions.
-
-
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>
 
 
 
-                                                          <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                     <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -131,10 +116,9 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/form_page.3x.html b/doc/html/man/form_page.3x.html
index 8b12bb4..b882db2 100644
--- a/doc/html/man/form_page.3x.html
+++ b/doc/html/man/form_page.3x.html
@@ -1,7 +1,7 @@
-<!-- 
-  * t
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2010,2016 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,72 +27,71 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: form_page.3x,v 1.12 2010/12/04 18:40:45 tom Exp @
+  * @Id: form_page.3x,v 1.37 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_page 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>form_page 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">form_page 3x</H1>
+<H1 class="no-header">form_page 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>                                             <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
+<STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>                    Library calls                   <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
        <STRONG>form_page</STRONG> - set and get form page number
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
-       int set_current_field(FORM *form, FIELD *field);
-       FIELD *current_field(const FORM *);
-       int set_form_page(FORM *form, int n);
-       int form_page(const FORM *form);
-       int field_index(const FIELD *field);
+
+       <STRONG>int</STRONG> <STRONG>set_current_field(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>);</STRONG>
+       <STRONG>FIELD</STRONG> <STRONG>*current_field(const</STRONG> <STRONG>FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>unfocus_current_field(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>set_form_page(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>form_page(const</STRONG> <STRONG>FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>field_index(const</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  function  <STRONG>set_current</STRONG> <STRONG>field</STRONG> sets the current field of
-       the given form; <STRONG>current_field</STRONG> returns the current field of
-       the given form.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The  function  <STRONG>set_current_field</STRONG>  sets  the  current field of the given
+       form; <STRONG>current_field</STRONG> returns the current field of the given form.
 
-       The  function  <STRONG>set_form_page</STRONG>  sets  the form's page number
-       (goes to page <EM>n</EM> of the form).
+       The function <STRONG>unfocus_current_field</STRONG> removes the focus from  the  current
+       field  of  the  form.  In such state, inquiries via <STRONG>current_field</STRONG> shall
+       return a NULL pointer.
 
-       The function <STRONG>form_page</STRONG> returns  the  form's  current  page
-       number.
+       The function <STRONG>set_form_page</STRONG> sets the form's page number (goes to page  <EM>n</EM>
+       of the form).
 
-       The function <STRONG>field_index</STRONG> returns the index of the field in
-       the field array of the form it is connected to. It returns
-       <STRONG>ERR</STRONG>  if  the  argument is the null pointer or the field is
-       not connected.
+       The function <STRONG>form_page</STRONG> returns the form's current page number.
+
+       The  function  <STRONG>field_index</STRONG>  returns the index of the field in the field
+       array of the form it is connected to.  It returns <STRONG>ERR</STRONG> if  the  argument
+       is the null pointer or the field is not connected.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Except for <STRONG>form_page</STRONG>, each routine returns one of the fol-
-       lowing:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       Except for <STRONG>form_page</STRONG>, each routine returns one of the following:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_BAD_STATE</STRONG>
-            Routine was called from an initialization or termina-
-            tion function.
+            Routine was called from an initialization or termination function.
 
        <STRONG>E_INVALID_FIELD</STRONG>
             Contents of a field are not valid.
@@ -101,34 +100,27 @@
             The form driver could not process the request.
 
        <STRONG>E_SYSTEM_ERROR</STRONG>
-            System error occurred (see <STRONG>errno</STRONG>).
+            System error occurred (see <STRONG>errno(3)</STRONG>).
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These  routines  emulate  the  System  V  forms library.  They were not
+       supported on Version 7 or BSD versions.
+
+       The <STRONG>unfocus_current_field</STRONG> function is an <EM>ncurses</EM> extension.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines emulate the System V forms  library.   They
-       were not supported on Version 7 or BSD versions.
-
-
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>
 
 
 
-                                                          <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                     <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -136,10 +128,9 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/form_post.3x.html b/doc/html/man/form_post.3x.html
index b950d09..9f97d3e 100644
--- a/doc/html/man/form_post.3x.html
+++ b/doc/html/man/form_post.3x.html
@@ -1,7 +1,7 @@
-<!-- 
-  * t
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2015,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,63 +27,56 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: form_post.3x,v 1.9 2010/12/04 18:40:45 tom Exp @
+  * @Id: form_post.3x,v 1.33 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_post 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>form_post 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">form_post 3x</H1>
+<H1 class="no-header">form_post 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>                                             <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>
+<STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>                    Library calls                   <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>form_post</STRONG>  -  write or erase forms from associated subwin-
-       dows
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>post_form</STRONG>,   <STRONG>unpost_form</STRONG>   -  write  or  erase  forms  from  associated
+       subwindows
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
-       int post_form(FORM *form);
-       int unpost_form(FORM *form);
+
+       <STRONG>int</STRONG> <STRONG>post_form(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>unpost_form(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The function <STRONG>post_form</STRONG> displays a form to  its  associated
-       subwindow.   To trigger physical display of the subwindow,
-       use  <STRONG>refresh</STRONG>  or  some  equivalent  <STRONG>curses</STRONG>  routine   (the
-       implicit  <STRONG>doupdate</STRONG>  triggered  by  an <STRONG>curses</STRONG> input request
-       will do).
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The function <STRONG>post_form</STRONG> displays a form to its associated subwindow.  To
+       trigger  physical  display  of  the  subwindow, use <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> or some
+       equivalent <STRONG>curses</STRONG> routine (the implicit <STRONG>doupdate</STRONG> triggered by an <STRONG>curses</STRONG>
+       input request will do).
 
-       The function <STRONG>unpost_form</STRONG> erases form from  its  associated
-       subwindow.
+       The function <STRONG>unpost_form</STRONG> erases form from its associated subwindow.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
        These routines return one of the following:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_BAD_STATE</STRONG>
-            Routine was called from an initialization or termina-
-            tion function.
+            Routine was called from an initialization or termination function.
 
        <STRONG>E_NOT_POSTED</STRONG>
             The form has not been posted.
@@ -98,34 +91,25 @@
             The form has already been posted.
 
        <STRONG>E_SYSTEM_ERROR</STRONG>
-            System error occurred (see <STRONG>errno</STRONG>).
+            System error occurred (see <STRONG>errno(3)</STRONG>).
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These  routines  emulate  the  System  V  forms library.  They were not
+       supported on Version 7 or BSD versions.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines emulate the System V forms  library.   They
-       were not supported on Version 7 or BSD versions.
-
-
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>
 
 
 
-                                                          <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                     <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -133,10 +117,9 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/form_requestname.3x.html b/doc/html/man/form_requestname.3x.html
index 2d2dcdf..ecb5992 100644
--- a/doc/html/man/form_requestname.3x.html
+++ b/doc/html/man/form_requestname.3x.html
@@ -1,7 +1,7 @@
-<!-- 
-  * t
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2010,2015 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,81 +27,69 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: form_requestname.3x,v 1.9 2010/12/04 18:40:45 tom Exp @
+  * @Id: form_requestname.3x,v 1.35 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_requestname 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>form_requestname 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">form_requestname 3x</H1>
+<H1 class="no-header">form_requestname 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>                               <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>
+<STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>             Library calls            <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>form_requestname</STRONG> - handle printable form request names
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>form_request_by_name</STRONG>, <STRONG>form_request_name</STRONG> - handle printable form request
+       names
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
-       const char *form_request_name(int request);
-       int form_request_by_name(const char *name);
+
+       <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*form_request_name(int</STRONG> <EM>request</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>form_request_by_name(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>name</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  function <STRONG>form_request_name</STRONG> returns the printable name
-       of a form request code.
-       The function <STRONG>form_request_by_name</STRONG> searches in the name-ta-
-       ble  for  a  request  with  the given name and returns its
-       request code. Otherwise E_NO_MATCH is returned.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The function <STRONG>form_request_name</STRONG> returns the printable  name  of  a  form
+       request  code.  The function <STRONG>form_request_by_name</STRONG> searches in the name-
+       table for a request with the given name and returns its  request  code.
+       Otherwise E_NO_MATCH is returned.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       <STRONG>form_request_name</STRONG> returns <STRONG>NULL</STRONG> on error and sets errno  to
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       <STRONG>form_request_name</STRONG>   returns   <STRONG>NULL</STRONG>   on   error   and   sets  <STRONG>errno</STRONG>  to
        <STRONG>E_BAD_ARGUMENT</STRONG>.
-       <STRONG>form_request_by_name</STRONG> returns <STRONG>E_NO_MATCH</STRONG> on error.  It does
-       not set errno.
+
+       <STRONG>form_request_by_name</STRONG> returns <STRONG>E_NO_MATCH</STRONG> on  error.   It  does  not  set
+       <STRONG>errno</STRONG>.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These  routines  are  specific  to <EM>ncurses</EM>.  They were not supported on
+       Version 7, BSD or System V implementations.  It is recommended that any
+       code depending on them be conditioned using NCURSES_VERSION.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  are  specific  to ncurses.  They were not
-       supported on Version 7, BSD or System  V  implementations.
-       It  is recommended that any code depending on them be con-
-       ditioned using NCURSES_VERSION.
-
-
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>
 
 
 
-                                                   <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16              <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -109,10 +97,9 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/form_userptr.3x.html b/doc/html/man/form_userptr.3x.html
index feae531..db79de2 100644
--- a/doc/html/man/form_userptr.3x.html
+++ b/doc/html/man/form_userptr.3x.html
@@ -1,7 +1,7 @@
-<!-- 
-  * t
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2010,2015 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,81 +27,69 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: form_userptr.3x,v 1.13 2010/12/04 18:40:45 tom Exp @
+  * @Id: form_userptr.3x,v 1.36 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_userptr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>form_userptr 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">form_userptr 3x</H1>
+<H1 class="no-header">form_userptr 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>                                       <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>
+<STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>                 Library calls                <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>form_userptr</STRONG> - associate application data with a form item
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>set_form_userptr</STRONG>, <STRONG>form_userptr</STRONG> - associate application data with a form
+       item
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
-       int set_form_userptr(FORM *form, void *userptr);
-       void* form_userptr(const FORM *form);
+
+       <STRONG>int</STRONG> <STRONG>set_form_userptr(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>userptr</EM><STRONG>);</STRONG>
+       <STRONG>void*</STRONG> <STRONG>form_userptr(const</STRONG> <STRONG>FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       Every  form  and  every  form item has a field that can be
-       used to hold application-specific data (that is, the form-
-       driver code leaves it alone).  These functions get and set
-       the form user pointer field.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       Every form and every form item has a field that can  be  used  to  hold
+       application-specific  data  (that  is,  the  form-driver code leaves it
+       alone).  These functions get and set the form user pointer field.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The function <STRONG>form_userptr</STRONG> returns a pointer (which may  be
-       <STRONG>NULL</STRONG>).  It does not set errno.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       The function <STRONG>form_userptr</STRONG> returns a pointer (which may  be  <STRONG>NULL</STRONG>).   It
+       does not set <STRONG>errno</STRONG>.
 
        The function <STRONG>set_form_userptr</STRONG> returns <STRONG>E_OK</STRONG> (success).
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These  routines  emulate  the  System  V  forms library.  They were not
+       supported on Version 7 or BSD versions.
+
+       The user pointer is a void pointer.  We chose not to leave it as a char
+       pointer for SVr4 compatibility.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines emulate the System V forms  library.   They
-       were not supported on Version 7 or BSD versions.
-
-       The user pointer is a void pointer.  We chose not to leave
-       it as a char pointer for SVr4 compatibility.
-
-
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>
 
 
 
-                                                       <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                  <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -109,10 +97,9 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/form_variables.3x.html b/doc/html/man/form_variables.3x.html
index 0d41616..68c8e56 100644
--- a/doc/html/man/form_variables.3x.html
+++ b/doc/html/man/form_variables.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 2010,2013 Free Software Foundation, Inc.                   *
+  * Copyright 2020-2023,2024 Thomas E. Dickey                                *
+  * Copyright 2010-2013,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,34 +27,31 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: form_variables.3x,v 1.4 2013/06/22 17:58:32 tom Exp @
+  * @Id: form_variables.3x,v 1.18 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_variables 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>form_variables 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">form_variables 3x</H1>
+<H1 class="no-header">form_variables 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>                                   <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>
+<STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>               Library calls              <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>TYPE_ALNUM</STRONG>, <STRONG>TYPE_ALPHA</STRONG>, <STRONG>TYPE_ENUM</STRONG>, <STRONG>TYPE_INTEGER</STRONG>,
-       <STRONG>TYPE_IPV4</STRONG>, <STRONG>TYPE_NUMERIC</STRONG>, <STRONG>TYPE_REGEXP</STRONG> - form system global
-       variables
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>TYPE_ALNUM</STRONG>,    <STRONG>TYPE_ALPHA</STRONG>,    <STRONG>TYPE_ENUM</STRONG>,    <STRONG>TYPE_INTEGER</STRONG>,    <STRONG>TYPE_IPV4</STRONG>,
+       <STRONG>TYPE_NUMERIC</STRONG>, <STRONG>TYPE_REGEXP</STRONG> - form system global variables
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
 
        <STRONG>FIELDTYPE</STRONG> <STRONG>*</STRONG> <STRONG>TYPE_ALNUM;</STRONG>
@@ -65,63 +63,52 @@
        <STRONG>FIELDTYPE</STRONG> <STRONG>*</STRONG> <STRONG>TYPE_REGEXP;</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These  are  building blocks for the form library, defining
-       fields that can be created using <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>.   Each
-       provides  functions  for  field- and character-validation,
-       according to the given datatype.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       These are building blocks for the form library,  defining  fields  that
+       can  be  created using the <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG> functions.  Each provides
+       functions for field- and character-validation, according to  the  given
+       datatype.
 
 
-</PRE>
-<H3><a name="h3-TYPE_ALNUM">TYPE_ALNUM</a></H3><PRE>
+</PRE><H3><a name="h3-TYPE_ALNUM">TYPE_ALNUM</a></H3><PRE>
        This holds alphanumeric data.
 
 
-</PRE>
-<H3><a name="h3-TYPE_ALPHA">TYPE_ALPHA</a></H3><PRE>
+</PRE><H3><a name="h3-TYPE_ALPHA">TYPE_ALPHA</a></H3><PRE>
        This holds alphabetic data.
 
 
-</PRE>
-<H3><a name="h3-TYPE_ENUM">TYPE_ENUM</a></H3><PRE>
+</PRE><H3><a name="h3-TYPE_ENUM">TYPE_ENUM</a></H3><PRE>
        This holds an enumerated type.
 
 
-</PRE>
-<H3><a name="h3-TYPE_INTEGER">TYPE_INTEGER</a></H3><PRE>
+</PRE><H3><a name="h3-TYPE_INTEGER">TYPE_INTEGER</a></H3><PRE>
        This holds a decimal integer.
 
 
-</PRE>
-<H3><a name="h3-TYPE_IPV4">TYPE_IPV4</a></H3><PRE>
+</PRE><H3><a name="h3-TYPE_IPV4">TYPE_IPV4</a></H3><PRE>
        This holds an IPv4 internet address, e.g., "127.0.0.1".
 
 
-</PRE>
-<H3><a name="h3-TYPE_NUMERIC">TYPE_NUMERIC</a></H3><PRE>
-       This holds a decimal number, with optional sign and  deci-
-       mal point.
+</PRE><H3><a name="h3-TYPE_NUMERIC">TYPE_NUMERIC</a></H3><PRE>
+       This holds a decimal number, with optional sign and decimal point.
 
 
-</PRE>
-<H3><a name="h3-TYPE_REGEXP">TYPE_REGEXP</a></H3><PRE>
+</PRE><H3><a name="h3-TYPE_REGEXP">TYPE_REGEXP</a></H3><PRE>
        This holds a regular expression.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       The  <STRONG>TYPE_IPV4</STRONG>  variable  is  an extension not provided by
-       older implementations of the form library.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       The   <STRONG>TYPE_IPV4</STRONG>   variable  is  an  extension  not  provided  by  older
+       implementations of the form library.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>
 
 
 
-                                                     <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
diff --git a/doc/html/man/form_win.3x.html b/doc/html/man/form_win.3x.html
index b164c26..976ef27 100644
--- a/doc/html/man/form_win.3x.html
+++ b/doc/html/man/form_win.3x.html
@@ -1,7 +1,7 @@
-<!-- 
-  * t
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2006,2010 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,75 +27,70 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: form_win.3x,v 1.13 2010/12/04 18:38:55 tom Exp @
+  * @Id: form_win.3x,v 1.35 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_win 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>form_win 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">form_win 3x</H1>
+<H1 class="no-header">form_win 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>                                               <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
+<STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>                     Library calls                    <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>form_win</STRONG>  - make and break form window and subwindow asso-
-       ciations
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>form_win</STRONG> - make and break form window and subwindow associations
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
-       int set_form_win(FORM *form, WINDOW *win);
-       WINDOW *form_win(const FORM *form);
-       int set_form_sub(FORM *form, WINDOW *sub);
-       WINDOW *form_sub(const FORM *form);
-       int scale_form(const FORM *form, int *rows, int *columns);
+
+       <STRONG>int</STRONG> <STRONG>set_form_win(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+       <STRONG>WINDOW</STRONG> <STRONG>*form_win(const</STRONG> <STRONG>FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>set_form_sub(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>sub</EM><STRONG>);</STRONG>
+       <STRONG>WINDOW</STRONG> <STRONG>*form_sub(const</STRONG> <STRONG>FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>scale_form(const</STRONG> <STRONG>FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>rows</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>columns</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       Every form has an associated pair of <STRONG>curses</STRONG> windows.   The
-       form  window displays any title and border associated with
-       the window; the form subwindow displays the items  of  the
-       form that are currently available for selection.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       Every  form  has an associated pair of <STRONG>curses</STRONG> windows.  The form window
+       displays any title and border associated  with  the  window;  the  form
+       subwindow  displays  the items of the form that are currently available
+       for selection.
 
-       The first four functions get and set those windows.  It is
-       not necessary to set either window; by default, the driver
-       code uses <STRONG>stdscr</STRONG> for both.
+       The first four  functions  get  and  set  those  windows.   It  is  not
+       necessary to set either window; by default, the driver code uses <STRONG>stdscr</STRONG>
+       for both.
 
-       In  the <STRONG>set_</STRONG> functions, window argument of <STRONG>NULL</STRONG> is treated
-       as though it were <STRONG>stsdcr</STRONG>.  A  form  argument  of  <STRONG>NULL</STRONG>  is
-       treated  as  a  request  to change the system default form
-       window or subwindow.
+       In the <STRONG>set_</STRONG> functions, window argument of <STRONG>NULL</STRONG> is treated as though  it
+       were <STRONG>stsdcr</STRONG>.  A form argument of <STRONG>NULL</STRONG> is treated as a request to change
+       the system default form window or subwindow.
 
-       The function <STRONG>scale_form</STRONG> returns the minimum size  required
-       for the subwindow of <EM>form</EM>.
+       The function <STRONG>scale_form</STRONG> returns  the  minimum  size  required  for  the
+       subwindow of <EM>form</EM>.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Routines  that return pointers return <STRONG>NULL</STRONG> on error.  Rou-
-       tines that return an integer return one of  the  following
-       error codes:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       Routines  that  return  pointers  return  <STRONG>NULL</STRONG> on error.  Routines that
+       return an integer return one of the following error codes:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_SYSTEM_ERROR</STRONG>
-            System error occurred (see <STRONG>errno</STRONG>).
+            System error occurred (see <STRONG>errno(3)</STRONG>).
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_POSTED</STRONG>
             The form has already been posted.
@@ -104,31 +99,22 @@
             No items are connected to the form.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These routines emulate the System  V  forms  library.   They  were  not
+       supported on Version 7 or BSD versions.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  emulate the System V forms library.  They
-       were not supported on Version 7 or BSD versions.
-
-
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>
 
 
 
-                                                           <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                      <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -136,10 +122,9 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/index.html b/doc/html/man/index.html
index c93d1f8..07d986b 100644
--- a/doc/html/man/index.html
+++ b/doc/html/man/index.html
@@ -1,7 +1,8 @@
 <!--
-  $Id: index.html,v 1.7 2013/06/07 20:12:36 tom Exp $
+  $Id: index.html,v 1.12 2020/02/02 23:34:34 tom Exp $
   ****************************************************************************
-  * Copyright (c) 1998-2010,2013 Free Software Foundation, Inc.              *
+  * Copyright 2019,2020 Thomas E. Dickey                                     *
+  * Copyright 2001-2013,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -36,7 +37,7 @@
   "HTML Tidy for Linux (vers 25 March 2009), see www.w3.org">
 
   <title>NCURSES &ndash; Manual Pages</title>
-  <link rev="MADE" href="mailto:dickey@invisible-island.net">
+  <link rel="author" href="mailto:dickey@invisible-island.net">
   <meta http-equiv="Content-Type" content=
   "text/html; charset=us-ascii">
 </head>
@@ -75,14 +76,26 @@
       </ul>
     </li>
 
+    <li>Scripts:
+
+      <ul>
+        <li><a href=
+        "adacurses6-config.1.html">adacurses*-config</a> &ndash;
+        helper script for AdaCurses libraries</li>
+
+        <li><a href="ncurses6-config.1.html">ncurses*-config</a>
+        &ndash; helper script for ncurses libraries</li>
+      </ul>
+    </li>
+
     <li>Libraries:
 
       <ul>
         <li><a href="ncurses.3x.html">ncurses &ndash; CRT screen
         handling and optimization package</a></li>
 
-        <li><a href="panel.3x.html">panel- panel stack extension
-        for curses</a></li>
+        <li><a href="panel.3x.html">panel &ndash; panel stack
+        extension for curses</a></li>
 
         <li><a href="form.3x.html">form &ndash; curses extension
         for programming forms</a></li>
@@ -101,6 +114,9 @@
         <li><a href="term.5.html">term &ndash; format of compiled
         term file.</a></li>
 
+        <li><a href="scr_dump.5.html">scr_dump &ndash; format of
+        curses screen dumps.</a></li>
+
         <li><a href="term.7.html">term &ndash; conventions for
         naming terminal types</a></li>
       </ul>
diff --git a/doc/html/man/infocmp.1m.html b/doc/html/man/infocmp.1m.html
index 9d18c97..44cb12f 100644
--- a/doc/html/man/infocmp.1m.html
+++ b/doc/html/man/infocmp.1m.html
@@ -1,7 +1,8 @@
-<!-- 
+<!--
   * t
   ****************************************************************************
-  * Copyright (c) 1998-2014,2015 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2017,2018 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,377 +28,392 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: infocmp.1m,v 1.56 2015/05/23 20:50:00 tom Exp @
+  * @Id: infocmp.1m,v 1.109 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>infocmp 1m</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>infocmp 1m 2024-03-16 ncurses 6.5 User commands</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">infocmp 1m</H1>
+<H1 class="no-header">infocmp 1m 2024-03-16 ncurses 6.5 User commands</H1>
 <PRE>
-<STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>                                                 <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
+<STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>                      User commands                     <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
        <STRONG>infocmp</STRONG> - compare or print out <EM>terminfo</EM> descriptions
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
-       <STRONG>infocmp</STRONG> [<STRONG>-1CDEFGIKLTUVcdegilnpqrtux</STRONG>]
-             [<STRONG>-v</STRONG> <EM>n</EM>] [<STRONG>-s</STRONG> <STRONG>d</STRONG>| <STRONG>i</STRONG>| <STRONG>l</STRONG>| <STRONG>c</STRONG>] [<STRONG>-R</STRONG> <STRONG>subset</STRONG>]
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+       <STRONG>infocmp</STRONG> [<STRONG>-1cCdDeEFgGiIKlLnpqrtTuUVWx</STRONG>]
+             [<STRONG>-v</STRONG> <EM>n</EM>] [<STRONG>-s</STRONG> <STRONG>d</STRONG>| <STRONG>i</STRONG>| <STRONG>l</STRONG>| <STRONG>c</STRONG>] [<STRONG>-Q</STRONG> <EM>n</EM>] [<STRONG>-R</STRONG> <STRONG>subset</STRONG>]
              [<STRONG>-w</STRONG> <EM>width</EM>] [<STRONG>-A</STRONG> <EM>directory</EM>] [<STRONG>-B</STRONG> <EM>directory</EM>]
-             [<EM>termname</EM>...]
+             [<EM>terminal-type</EM> ...]
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       <STRONG>infocmp</STRONG>  can  be  used  to compare a binary <STRONG>terminfo</STRONG> entry
-       with other terminfo entries, rewrite a  <STRONG>terminfo</STRONG>  descrip-
-       tion  to  take  advantage  of  the <STRONG>use=</STRONG> terminfo field, or
-       print out a <STRONG>terminfo</STRONG>  description  from  the  binary  file
-       (<STRONG>term</STRONG>) in a variety of formats.  In all cases, the boolean
-       fields will be printed  first,  followed  by  the  numeric
-       fields, followed by the string fields.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       <STRONG>infocmp</STRONG>  can  be  used  to  compare  a binary <STRONG>terminfo</STRONG> entry with other
+       terminfo entries, rewrite a <STRONG>terminfo</STRONG> description to take  advantage  of
+       the  <STRONG>use=</STRONG>  terminfo field, or print out a <STRONG>terminfo</STRONG> description from the
+       binary file (<STRONG>term</STRONG>) in a variety of formats.  In all cases, the  Boolean
+       fields  will be printed first, followed by the numeric fields, followed
+       by the string fields.
 
 
-</PRE>
-<H3><a name="h3-Default-Options">Default Options</a></H3><PRE>
-       If  no options are specified and zero or one <EM>termnames</EM> are
-       specified, the <STRONG>-I</STRONG> option will be assumed.   If  more  than
-       one <EM>termname</EM> is specified, the <STRONG>-d</STRONG> option will be assumed.
+</PRE><H3><a name="h3-Default-Options">Default Options</a></H3><PRE>
+       If no  options  are  specified  and  zero  or  one  <EM>terminal-types</EM>  are
+       specified,  the  <STRONG>-I</STRONG> option will be assumed.  If more than one <EM>terminal-</EM>
+       <EM>type</EM> is specified, the <STRONG>-d</STRONG> option will be assumed.
 
 
-</PRE>
-<H3><a name="h3-Comparison-Options-_-d_-_-c_-_-n_">Comparison Options [-d] [-c] [-n]</a></H3><PRE>
-       <STRONG>infocmp</STRONG>  compares  the  <STRONG>terminfo</STRONG>  description of the first
-       terminal <EM>termname</EM> with each of the descriptions  given  by
-       the  entries  for  the  other  terminal's <EM>termnames</EM>.  If a
-       capability is defined for only one of the  terminals,  the
-       value  returned will depend on the type of the capability:
-       <STRONG>F</STRONG> for boolean variables, <STRONG>-1</STRONG>  for  integer  variables,  and
-       <STRONG>NULL</STRONG> for string variables.
+</PRE><H3><a name="h3-Comparison-Options_d_c_n_">Comparison Options [-d] [-c] [-n]</a></H3><PRE>
+       <STRONG>infocmp</STRONG>  compares  the  <STRONG>terminfo</STRONG>  description  of  the  first  terminal
+       <EM>terminal-type</EM>  with  each  of the descriptions given by the entries for
+       the other terminal's <EM>terminal-types</EM>.  If a capability  is  defined  for
+       only  one  of  the terminals, the value returned depends on the type of
+       the capability:
 
-       The  <STRONG>-d</STRONG>  option produces a list of each capability that is
-       different between two entries.  This option is  useful  to
-       show  the  difference between two entries, created by dif-
-       ferent people, for the same or similar terminals.
+       <STRONG>o</STRONG>   <STRONG>F</STRONG> for missing Boolean variables
 
-       The <STRONG>-c</STRONG> option produces a list of each capability  that  is
-       common between two or more entries.  Capabilities that are
-       not set are ignored.  This option can be used as  a  quick
-       check to see if the <STRONG>-u</STRONG> option is worth using.
+       <STRONG>o</STRONG>   <STRONG>NULL</STRONG> for missing integer or string variables
 
-       The  <STRONG>-n</STRONG>  option produces a list of each capability that is
-       in none of the given entries.  If no <EM>termnames</EM> are  given,
-       the environment variable <STRONG>TERM</STRONG> will be used for both of the
-       <EM>termnames</EM>.  This can be used as a quick check  to  see  if
-       anything was left out of a description.
+       Use the <STRONG>-q</STRONG> option to show the distinction between <EM>absent</EM> and  <EM>cancelled</EM>
+       capabilities.
+
+       These  options  produce a list which you can use to compare two or more
+       terminal descriptions:
+
+       <STRONG>-d</STRONG>   produces a list of each capability that is <EM>different</EM>  between  two
+            entries.   Each  item  in  the list shows ":" after the capability
+            name, followed by the capability values, separated by a comma.
+
+       <STRONG>-c</STRONG>   produces a list of each capability that is <EM>common</EM> between  two  or
+            more entries.  Missing capabilities are ignored.  Each item in the
+            list  shows  "="  after  the  capability  name,  followed  by  the
+            capability value.
+
+            The  <STRONG>-u</STRONG>  option  provides  a  related  output,  showing  the first
+            terminal description rewritten to use the  second  as  a  building
+            block via the "use=" clause.
+
+       <STRONG>-n</STRONG>   produces  a  list  of each capability that is in <EM>none</EM> of the given
+            entries.  Each item in the list shows "!"  before  the  capability
+            name.
+
+            Normally only the conventional capabilities are shown.  Use the <STRONG>-x</STRONG>
+            option to add the BSD-compatibility capabilities  (names  prefixed
+            with "OT").
+
+            If  no  <EM>terminal-types</EM>  are  given,  <STRONG>infocmp</STRONG>  uses the environment
+            variable <EM>TERM</EM> for each of the <EM>terminal-types</EM>.
 
 
-</PRE>
-<H3><a name="h3-Source-Listing-Options-_-I_-_-L_-_-C_-_-r_">Source Listing Options [-I] [-L] [-C] [-r]</a></H3><PRE>
-       The  <STRONG>-I</STRONG>,  <STRONG>-L</STRONG>, and <STRONG>-C</STRONG> options will produce a source listing
-       for each terminal named.
+</PRE><H3><a name="h3-Source-Listing-Options_I_L_C_r_">Source Listing Options [-I] [-L] [-C] [-r]</a></H3><PRE>
+       The <STRONG>-I</STRONG>, <STRONG>-L</STRONG>, and <STRONG>-C</STRONG> options will  produce  a  source  listing  for  each
+       terminal named.
 
-      <STRONG>-I</STRONG>   use the <STRONG>terminfo</STRONG> names
-      <STRONG>-L</STRONG>   use the long C variable name listed in &lt;<STRONG>term.h</STRONG>&gt;
-      <STRONG>-C</STRONG>   use the <STRONG>termcap</STRONG> names
-      <STRONG>-r</STRONG>   when using <STRONG>-C</STRONG>, put out all capabilities in <STRONG>termcap</STRONG> form
-      <STRONG>-K</STRONG>   modifies the <STRONG>-C</STRONG> option, improving BSD-compatibility.
+                   <STRONG>-I</STRONG>   use <EM>terminfo</EM> capability codes
+                   <STRONG>-L</STRONG>   use "long" capability names
+                   <STRONG>-C</STRONG>   use <EM>termcap</EM> capability codes
+                   <STRONG>-r</STRONG>   with <STRONG>-C</STRONG>, include nonstandard capabilities
+                   <STRONG>-K</STRONG>   with <STRONG>-C</STRONG>, improve BSD compatibility
 
-       If no <EM>termnames</EM> are given, the environment  variable  <STRONG>TERM</STRONG>
-       will be used for the terminal name.
+       If  no  <EM>terminal-types</EM> are given, the environment variable <EM>TERM</EM> will be
+       used for the terminal name.
 
-       The  source produced by the <STRONG>-C</STRONG> option may be used directly
-       as a <STRONG>termcap</STRONG> entry, but not all parameterized strings  can
-       be changed to the <STRONG>termcap</STRONG> format.  <STRONG>infocmp</STRONG> will attempt to
-       convert most of the parameterized  information,  and  any-
-       thing  not  converted will be plainly marked in the output
-       and commented out.  These should be edited by hand.
+       The source produced by the <STRONG>-C</STRONG> option may be used directly as a  <STRONG>termcap</STRONG>
+       entry,  but not all parameterized strings can be changed to the <STRONG>termcap</STRONG>
+       format.  <STRONG>infocmp</STRONG> will attempt to  convert  most  of  the  parameterized
+       information,  and  anything not converted will be plainly marked in the
+       output and commented out.  These should be edited by hand.
 
-       For best results when converting to  <STRONG>termcap</STRONG>  format,  you
-       should use both <STRONG>-C</STRONG> and <STRONG>-r</STRONG>.  Normally a termcap description
-       is limited to 1023 bytes.  infocmp trims away less  essen-
-       tial  parts  to make it fit.  If you are converting to one
-       of the (rare)  termcap  implementations  which  accept  an
-       unlimited  size  of  termcap,  you  may want to add the <STRONG>-T</STRONG>
-       option.  More often however, you  must  help  the  termcap
-       implementation,  and  trim  excess  whitespace (use the <STRONG>-0</STRONG>
-       option for that).
+       For best results when converting to <STRONG>termcap</STRONG> format, you should use both
+       <STRONG>-C</STRONG>  and  <STRONG>-r</STRONG>.   Normally a termcap description is limited to 1023 bytes.
+       <STRONG>infocmp</STRONG> trims away less essential parts to make it  fit.   If  you  are
+       converting to one of the (rare) termcap implementations which accept an
+       unlimited size of termcap, you may want to add  the  <STRONG>-T</STRONG>  option.   More
+       often  however,  you  must  help  the  termcap implementation, and trim
+       excess whitespace (use the <STRONG>-0</STRONG> option for that).
 
-       All padding information  for  strings  will  be  collected
-       together  and  placed at the beginning of the string where
-       <STRONG>termcap</STRONG> expects it.  Mandatory padding  (padding  informa-
-       tion with a trailing '/') will become optional.
+       All padding information for strings  will  be  collected  together  and
+       placed  at  the  beginning  of  the  string  where  <STRONG>termcap</STRONG> expects it.
+       Mandatory padding (padding information with a trailing "/") will become
+       optional.
 
-       All <STRONG>termcap</STRONG> variables no longer supported by <STRONG>terminfo</STRONG>, but
-       which are derivable from other <STRONG>terminfo</STRONG> variables, will be
-       output.  Not all <STRONG>terminfo</STRONG> capabilities will be translated;
-       only those variables which were part of <STRONG>termcap</STRONG> will  nor-
-       mally  be  output.  Specifying the <STRONG>-r</STRONG> option will take off
-       this restriction, allowing all capabilities to  be  output
-       in  <EM>termcap</EM>  form.  Normally you would use both the <STRONG>-C</STRONG> and
-       <STRONG>-r</STRONG> options.  The  actual  format  used  incorporates  some
-       improvements  for escaped characters from terminfo format.
-       For a stricter  BSD-compatible  translation,  use  the  <STRONG>-K</STRONG>
-       option rather than <STRONG>-C</STRONG>.
+       All  <STRONG>termcap</STRONG>  variables  no longer supported by <STRONG>terminfo</STRONG>, but which are
+       derivable from other <STRONG>terminfo</STRONG>  variables,  will  be  output.   Not  all
+       <STRONG>terminfo</STRONG>  capabilities  will  be translated; only those variables which
+       were part of <STRONG>termcap</STRONG> will normally be output.  Specifying the <STRONG>-r</STRONG> option
+       will  take off this restriction, allowing all capabilities to be output
+       in <EM>termcap</EM> form.  Normally you would use both the <STRONG>-C</STRONG>  and  <STRONG>-r</STRONG>  options.
+       The  actual  format  used  incorporates  some  improvements for escaped
+       characters  from  terminfo  format.   For  a  stricter   BSD-compatible
+       translation, use the <STRONG>-K</STRONG> option rather than <STRONG>-C</STRONG>.
 
-       Note that because padding is collected to the beginning of
-       the capability, not all capabilities are  output.   Manda-
-       tory  padding  is  not supported.  Because <STRONG>termcap</STRONG> strings
-       are not as flexible, it is not always possible to  convert
-       a  <STRONG>terminfo</STRONG>  string  capability into an equivalent <STRONG>termcap</STRONG>
-       format.  A subsequent conversion of the <STRONG>termcap</STRONG> file  back
-       into  <STRONG>terminfo</STRONG>  format  will not necessarily reproduce the
-       original <STRONG>terminfo</STRONG> source.
+       Note  that  because  padding  is  collected  to  the  beginning  of the
+       capability, not all capabilities are output.  Mandatory padding is  not
+       supported.   Because  <STRONG>termcap</STRONG>  strings  are  not as flexible, it is not
+       always possible  to  convert  a  <STRONG>terminfo</STRONG>  string  capability  into  an
+       equivalent <STRONG>termcap</STRONG> format.  A subsequent conversion of the <STRONG>termcap</STRONG> file
+       back into <STRONG>terminfo</STRONG> format will not necessarily reproduce  the  original
+       <STRONG>terminfo</STRONG> source.
 
-       Some common <STRONG>terminfo</STRONG> parameter  sequences,  their  <STRONG>termcap</STRONG>
-       equivalents,  and  some terminal types which commonly have
-       such sequences, are:
+       Some  common  <STRONG>terminfo</STRONG>  parameter sequences, their <STRONG>termcap</STRONG> equivalents,
+       and some terminal types which commonly have such sequences, are:
 
-     <STRONG>terminfo</STRONG>                    <STRONG>termcap</STRONG>   Representative Terminals
-     ---------------------------------------------------------------
-     <STRONG>%p1%c</STRONG>                       <STRONG>%.</STRONG>        adm
-     <STRONG>%p1%d</STRONG>                       <STRONG>%d</STRONG>        hp, ANSI standard, vt100
-     <STRONG>%p1%'x'%+%c</STRONG>                 <STRONG>%+x</STRONG>       concept
-     <STRONG>%i</STRONG>                          <STRONG>%i</STRONG>q       ANSI standard, vt100
-     <STRONG>%p1%?%'x'%&gt;%t%p1%'y'%+%;</STRONG>    <STRONG>%&gt;xy</STRONG>      concept
-     <STRONG>%p2</STRONG> is printed before <STRONG>%p1</STRONG>   <STRONG>%r</STRONG>        hp
+                 <STRONG><EM>terminfo</EM></STRONG>                   <STRONG><EM>termcap</EM></STRONG>   Terminal Types
+                 ----------------------------------------------------
+                 <STRONG>%p1%c</STRONG>                      <STRONG>%.</STRONG>        ansi-m
+                 <STRONG>%p1%d</STRONG>                      <STRONG>%d</STRONG>        ansi, vt100
+                 <STRONG>%p1%'</STRONG> <STRONG>'%+%c</STRONG>                <STRONG>%+x</STRONG>       vt52
+                 <STRONG>%i</STRONG>                         <STRONG>%iq</STRONG>       ansi, vt100
+                 <STRONG>%p1%?%'x'%&gt;%t%p1%'y'%+%;</STRONG>   <STRONG>%&gt;xy</STRONG>      annarbor4080
+                 <STRONG>%p2</STRONG>...<STRONG>%p1</STRONG>                  <STRONG>%r</STRONG>        hpgeneric
 
 
-</PRE>
-<H3><a name="h3-Use_-Option-_-u_">Use= Option [-u]</a></H3><PRE>
-       The <STRONG>-u</STRONG> option produces a <STRONG>terminfo</STRONG>  source  description  of
-       the  first  terminal <EM>termname</EM> which is relative to the sum
-       of the descriptions given by the  entries  for  the  other
-       terminals  <EM>termnames</EM>.   It does this by analyzing the dif-
-       ferences  between  the  first  <EM>termname</EM>  and   the   other
-       <EM>termnames</EM> and producing a description with <STRONG>use=</STRONG> fields for
-       the other terminals.  In this manner, it  is  possible  to
-       retrofit   generic  terminfo  entries  into  a  terminal's
-       description.  Or, if two similar terminals exist, but were
-       coded  at  different  times or by different people so that
-       each description is a full description, using <STRONG>infocmp</STRONG> will
-       show what can be done to change one description to be rel-
-       ative to the other.
+</PRE><H3><a name="h3-Use_Option_u_">Use= Option [-u]</a></H3><PRE>
+       The <STRONG>-u</STRONG> option produces a  <STRONG>terminfo</STRONG>  source  description  of  the  first
+       terminal <EM>terminal-type</EM> which is relative to the sum of the descriptions
+       given by the entries for the other <EM>terminal-types</EM>.   It  does  this  by
+       analyzing  the  differences  between  the  first <EM>terminal-types</EM> and the
+       other <EM>terminal-types</EM> and producing a description with <STRONG>use=</STRONG>  fields  for
+       the  other  terminals.   In  this  manner,  it  is possible to retrofit
+       generic terminfo entries into a terminal's  description.   Or,  if  two
+       similar  terminals  exist,  but  were  coded  at  different times or by
+       different people so that each description is a full description,  using
+       <STRONG>infocmp</STRONG>  will  show  what  can  be done to change one description to be
+       relative to the other.
 
-       A capability will get printed with an at-sign (@) if it no
-       longer  exists in the first <EM>termname</EM>, but one of the other
-       <EM>termname</EM> entries contains a value for it.  A  capability's
-       value  gets  printed if the value in the first <EM>termname</EM> is
-       not found in any of the other <EM>termname</EM> entries, or if  the
-       first of the other <EM>termname</EM> entries that has this capabil-
-       ity gives a different value for the capability  than  that
-       in the first <EM>termname</EM>.
+       A capability will be printed with an at-sign (@) if it no longer exists
+       in  the first <EM>terminal-type</EM>, but one of the other <EM>terminal-type</EM> entries
+       contains a value for it.  A capability's value will be printed  if  the
+       value  in  the  first  <EM>terminal-type</EM>  is  not found in any of the other
+       <EM>terminal-type</EM> entries, or if  the  first  of  the  other  <EM>terminal-type</EM>
+       entries  that  has  this  capability  gives  a  different value for the
+       capability than that in the first <EM>terminal-type</EM>.
 
-       The  order  of  the other <EM>termname</EM> entries is significant.
-       Since the terminfo compiler <STRONG>tic</STRONG> does a left-to-right  scan
-       of the capabilities, specifying two <STRONG>use=</STRONG> entries that con-
-       tain differing entries for the same capabilities will pro-
-       duce  different  results  depending  on the order that the
-       entries are given in.  <STRONG>infocmp</STRONG> will flag any  such  incon-
-       sistencies  between the other <EM>termname</EM> entries as they are
-       found.
+       The order of the other <EM>terminal-type</EM> entries is significant.  Since the
+       terminfo  compiler  <STRONG>tic</STRONG>  does a left-to-right scan of the capabilities,
+       specifying two <STRONG>use=</STRONG> entries that contain differing entries for the same
+       capabilities will produce different results depending on the order that
+       the entries are given in.  <STRONG>infocmp</STRONG> will flag any  such  inconsistencies
+       between the other <EM>terminal-type</EM> entries as they are found.
 
-       Alternatively, specifying a capability <EM>after</EM> a <STRONG>use=</STRONG>  entry
-       that contains that capability will cause the second speci-
-       fication to be  ignored.   Using  <STRONG>infocmp</STRONG>  to  recreate  a
-       description can be a useful check to make sure that every-
-       thing was  specified  correctly  in  the  original  source
+       Alternatively, specifying a capability <EM>after</EM> a <STRONG>use=</STRONG> entry that contains
+       that capability will cause the  second  specification  to  be  ignored.
+       Using  <STRONG>infocmp</STRONG>  to recreate a description can be a useful check to make
+       sure that everything was specified correctly  in  the  original  source
        description.
 
-       Another  error  that  does  not  cause  incorrect compiled
-       files, but will slow down the compilation time, is  speci-
-       fying  extra  <STRONG>use=</STRONG>  fields  that are superfluous.  <STRONG>infocmp</STRONG>
-       will flag any other <EM>termname</EM> <EM>use=</EM>  fields  that  were  not
-       needed.
+       Another  error  that  does not cause incorrect compiled files, but will
+       slow down the compilation time, is specifying extra  <STRONG>use=</STRONG>  fields  that
+       are superfluous.  <STRONG>infocmp</STRONG> will flag any other <EM>terminal-type</EM> <EM>use=</EM> fields
+       that were not needed.
 
    <STRONG>Changing</STRONG> <STRONG>Databases</STRONG> <STRONG>[-A</STRONG> <EM>directory</EM>] [-B <EM>directory</EM>]
-       Like other <STRONG>ncurses</STRONG> utilities, infocmp looks for the termi-
-       nal descriptions in several places.  You can use the  <STRONG>TER-</STRONG>
-       <STRONG>MINFO</STRONG>  and <STRONG>TERMINFO_DIRS</STRONG> environment variables to override
-       the compiled-in default list  of  places  to  search  (see
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> for details).
+       Like  other  <EM>ncurses</EM>  utilities,  <STRONG>infocmp</STRONG>  looks   for   the   terminal
+       descriptions   in  several  places.   You  can  use  the  <EM>TERMINFO</EM>  and
+       <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM> environment variables to override the compiled-in default
+       list  of  places  to  search.   See <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, as well as the <EM>Fetching</EM>
+       <EM>Compiled</EM> <EM>Descriptions</EM> section in <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
 
-       You  can  also  use  the options <STRONG>-A</STRONG> and <STRONG>-B</STRONG> to override the
-       list of places to search when comparing terminal  descrip-
-       tions:
+       You can also use the options <STRONG>-A</STRONG> and <STRONG>-B</STRONG> to override the list  of  places
+       to search when comparing terminal descriptions:
 
-       <STRONG>o</STRONG>   The <STRONG>-A</STRONG> option sets the location for the first <EM>termname</EM>
+       <STRONG>o</STRONG>   The <STRONG>-A</STRONG> option sets the location for the first <EM>terminal-type</EM>
 
-       <STRONG>o</STRONG>   The   <STRONG>-B</STRONG>  option  sets  the  location  for  the  other
-           <EM>termnames</EM>.
+       <STRONG>o</STRONG>   The <STRONG>-B</STRONG> option sets the location for the other <EM>terminal-types</EM>.
 
-       Using these options, it is possible  to  compare  descrip-
-       tions  for  a  terminal  with the same name located in two
-       different databases.  For instance, you can use this  fea-
-       ture for comparing descriptions for the same terminal cre-
-       ated by different people.
+       Using  these  options,  it  is  possible  to compare descriptions for a
+       terminal with the same name located in two  different  databases.   For
+       instance,  you  can use this feature for comparing descriptions for the
+       same terminal created by different people.
 
 
-</PRE>
-<H3><a name="h3-Other-Options">Other Options</a></H3><PRE>
-       <STRONG>-0</STRONG>   causes the fields to be printed on one line,  without
-            wrapping.
+</PRE><H3><a name="h3-Other-Options">Other Options</a></H3><PRE>
+       <STRONG>-0</STRONG>   causes the fields to be printed on one line, without wrapping.
 
-       <STRONG>-1</STRONG>   causes  the  fields  to be printed out one to a line.
-            Otherwise, the fields will be printed  several  to  a
-            line to a maximum width of 60 characters.
+       <STRONG>-1</STRONG>   causes the fields to be printed out one to a line.  Otherwise, the
+            fields  will be printed several to a line to a maximum width of 60
+            characters.
 
-       <STRONG>-a</STRONG>   tells  <STRONG>infocmp</STRONG>  to  retain commented-out capabilities
-            rather than discarding them.  Capabilities  are  com-
-            mented by prefixing them with a period.
+       <STRONG>-a</STRONG>   tells <STRONG>infocmp</STRONG> to retain  commented-out  capabilities  rather  than
+            discarding  them.   Capabilities  are  commented by prefixing them
+            with a period.
 
-       <STRONG>-D</STRONG>   tells <STRONG>infocmp</STRONG> to print the database locations that it
-            knows about, and exit.
+       <STRONG>-D</STRONG>   tells <STRONG>infocmp</STRONG> to print the database locations that it knows about,
+            and exit.
 
-       <STRONG>-E</STRONG>   Dump  the  capabilities  of  the  given  terminal  as
-            tables,  needed  in  the C initializer for a TERMTYPE
-            structure (the terminal capability structure  in  the
-            <STRONG>&lt;term.h&gt;</STRONG>).   This option is useful for preparing ver-
-            sions of the curses library  hardwired  for  a  given
-            terminal  type.   The tables are all declared static,
-            and are named according to the type and the  name  of
-            the corresponding terminal entry.
+       <STRONG>-E</STRONG>   Dump  the  capabilities of the given terminal as tables, needed in
+            the  C  initializer  for  a  TERMTYPE  structure   (the   terminal
+            capability  structure in the <STRONG>&lt;term.h&gt;</STRONG>).  This option is useful for
+            preparing versions of the curses library  hardwired  for  a  given
+            terminal  type.  The tables are all declared static, and are named
+            according to the type and the name of the  corresponding  terminal
+            entry.
 
-            Before  ncurses  5.0, the split between the <STRONG>-e</STRONG> and <STRONG>-E</STRONG>
-            options was not  needed;  but  support  for  extended
-            names required making the arrays of terminal capabil-
-            ities separate from the TERMTYPE structure.
+            Before  <EM>ncurses</EM>  5.0,  the split between the <STRONG>-e</STRONG> and <STRONG>-E</STRONG> options was
+            not needed; but support for extended  names  required  making  the
+            arrays   of  terminal  capabilities  separate  from  the  TERMTYPE
+            structure.
 
-       <STRONG>-e</STRONG>   Dump the capabilities of the given terminal  as  a  C
-            initializer  for  a  TERMTYPE structure (the terminal
-            capability structure in the <STRONG>&lt;term.h&gt;</STRONG>).   This  option
-            is  useful  for  preparing  versions  of  the  curses
-            library hardwired for a given terminal type.
+       <STRONG>-e</STRONG>   Dump the capabilities of the given terminal as a C initializer for
+            a  TERMTYPE  structure  (the  terminal capability structure in the
+            <STRONG>&lt;term.h&gt;</STRONG>).  This option is useful for preparing  versions  of  the
+            curses library hardwired for a given terminal type.
 
-       <STRONG>-F</STRONG>   compare terminfo files.  This assumes that  two  fol-
-            lowing   arguments  are  filenames.   The  files  are
-            searched for pairwise matches between  entries,  with
-            two entries considered to match if any of their names
-            do.  The report  printed  to  standard  output  lists
-            entries  with  no  matches  in  the  other  file, and
-            entries with more than one match.  For  entries  with
-            exactly  one  match  it includes a difference report.
-            Normally, to reduce the volume  of  the  report,  use
-            references  are  not resolved before looking for dif-
-            ferences, but resolution can be forced by also speci-
-            fying <STRONG>-r</STRONG>.
+       <STRONG>-F</STRONG>   compare terminfo files.  This assumes that two following arguments
+            are filenames.   The  files  are  searched  for  pairwise  matches
+            between  entries,  with  two entries considered to match if any of
+            their names do.  The  report  printed  to  standard  output  lists
+            entries  with  no matches in the other file, and entries with more
+            than one match.  For entries with exactly one match it includes  a
+            difference  report.  Normally, to reduce the volume of the report,
+            use references are not resolved before  looking  for  differences,
+            but resolution can be forced by also specifying <STRONG>-r</STRONG>.
 
-       <STRONG>-f</STRONG>   Display   complex   terminfo  strings  which  contain
-            if/then/else/endif expressions indented for readabil-
-            ity.
+       <STRONG>-f</STRONG>   Display  complex terminfo strings which contain if/then/else/endif
+            expressions indented for readability.
 
-       <STRONG>-G</STRONG>   Display constant literals in decimal form rather than
-            their character equivalents.
+       <STRONG>-G</STRONG>   Display constant  literals  in  decimal  form  rather  than  their
+            character equivalents.
 
-       <STRONG>-g</STRONG>   Display constant character literals  in  quoted  form
-            rather than their decimal equivalents.
+       <STRONG>-g</STRONG>   Display  constant  character  literals  in quoted form rather than
+            their decimal equivalents.
 
-       <STRONG>-i</STRONG>   Analyze the initialization (<STRONG>is1</STRONG>, <STRONG>is2</STRONG>, <STRONG>is3</STRONG>), and reset
-            (<STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>), strings in the  entry,  as  well  as
-            those  used  for starting/stopping cursor-positioning
-            mode (<STRONG>smcup</STRONG>,  <STRONG>rmcup</STRONG>)  as  well  as  starting/stopping
-            keymap mode (<STRONG>smkx</STRONG>, <STRONG>rmkx</STRONG>).
+       <STRONG>-i</STRONG>   Analyze the initialization (<STRONG>is1</STRONG>, <STRONG>is2</STRONG>, <STRONG>is3</STRONG>), and reset  (<STRONG>rs1</STRONG>,  <STRONG>rs2</STRONG>,
+            <STRONG>rs3</STRONG>),   strings   in   the  entry,  as  well  as  those  used  for
+            starting/stopping cursor-positioning mode (<STRONG>smcup</STRONG>, <STRONG>rmcup</STRONG>)  as  well
+            as starting/stopping keymap mode (<STRONG>smkx</STRONG>, <STRONG>rmkx</STRONG>).
 
-            For  each  string,  the code tries to analyze it into
-            actions in terms of the  other  capabilities  in  the
-            entry,  certain  X3.64/ISO 6429/ECMA-48 capabilities,
-            and certain DEC VT-series private modes (the  set  of
-            recognized  special  sequences  has been selected for
-            completeness over the  existing  terminfo  database).
-            Each  report  line  consists  of the capability name,
-            followed by a colon and space, followed by  a  print-
-            able expansion of the capability string with sections
-            matching recognized actions translated into {}-brack-
-            eted descriptions.
+            For  each  string,  the  code  tries to analyze it into actions in
+            terms of the other capabilities in the  entry,  certain  X3.64/ISO
+            6429/ECMA-48 capabilities, and certain DEC VT-series private modes
+            (the set of recognized special sequences  has  been  selected  for
+            completeness  over  the  existing terminfo database).  Each report
+            line consists of the capability name,  followed  by  a  colon  and
+            space,  followed by a printable expansion of the capability string
+            with  sections  matching  recognized   actions   translated   into
+            {}-bracketed descriptions.
 
-            Here is a list of the DEC/ANSI special sequences rec-
-            ognized:
+            Here is a list of the DEC/ANSI special sequences recognized:
 
-                  Action        Meaning
-                  -----------------------------------------
-                  RIS           full reset
-                  SC            save cursor
-                  RC            restore cursor
-                  LL            home-down
-                  RSR           reset scroll region
-                  -----------------------------------------
-                  DECSTR        soft reset (VT320)
-                  S7C1T         7-bit controls (VT220)
-                  -----------------------------------------
-                  ISO DEC G0    enable DEC graphics for G0
-                  ISO UK G0     enable UK chars for G0
-                  ISO US G0     enable US chars for G0
-                  ISO DEC G1    enable DEC graphics for G1
-                  ISO UK G1     enable UK chars for G1
-                  ISO US G1     enable US chars for G1
-                  -----------------------------------------
-                  DECPAM        application keypad mode
-                  DECPNM        normal keypad mode
-                  DECANSI       enter ANSI mode
-                  -----------------------------------------
-                  ECMA[+-]AM    keyboard action mode
-                  ECMA[+-]IRM   insert replace mode
-                  ECMA[+-]SRM   send receive mode
-                  ECMA[+-]LNM   linefeed mode
-                  -----------------------------------------
-                  DEC[+-]CKM    application cursor keys
-                  DEC[+-]ANM    set VT52 mode
-                  DEC[+-]COLM   132-column mode
-                  DEC[+-]SCLM   smooth scroll
-                  DEC[+-]SCNM   reverse video mode
-                  DEC[+-]OM     origin mode
-                  DEC[+-]AWM    wraparound mode
-                  DEC[+-]ARM    auto-repeat mode
+                      Action        Meaning
+                      -----------------------------------------
+                      RIS           full reset
+                      SC            save cursor
+                      RC            restore cursor
+                      LL            home-down
+                      RSR           reset scroll region
+                      -----------------------------------------
 
-            It also recognizes  a  SGR  action  corresponding  to
-            ANSI/ISO  6429/ECMA  Set Graphics Rendition, with the
-            values NORMAL, BOLD, UNDERLINE, BLINK,  and  REVERSE.
-            All  but NORMAL may be prefixed with `+' (turn on) or
-            `-' (turn off).
+                      DECSTR        soft reset (VT320)
+                      S7C1T         7-bit controls (VT220)
+                      -----------------------------------------
+                      ISO DEC G0    enable DEC graphics for G0
+                      ISO UK G0     enable UK chars for G0
+                      ISO US G0     enable US chars for G0
+                      ISO DEC G1    enable DEC graphics for G1
+                      ISO UK G1     enable UK chars for G1
+                      ISO US G1     enable US chars for G1
+                      -----------------------------------------
+                      DECPAM        application keypad mode
+                      DECPNM        normal keypad mode
+                      DECANSI       enter ANSI mode
+                      -----------------------------------------
+                      ECMA[+-]AM    keyboard action mode
+                      ECMA[+-]IRM   insert replace mode
+                      ECMA[+-]SRM   send receive mode
+                      ECMA[+-]LNM   linefeed mode
+                      -----------------------------------------
+                      DEC[+-]CKM    application cursor keys
+                      DEC[+-]ANM    set VT52 mode
+                      DEC[+-]COLM   132-column mode
+                      DEC[+-]SCLM   smooth scroll
+                      DEC[+-]SCNM   reverse video mode
+                      DEC[+-]OM     origin mode
+                      DEC[+-]AWM    wraparound mode
+                      DEC[+-]ARM    auto-repeat mode
 
-            An  SGR0  designates  an  empty  highlight   sequence
-            (equivalent to {SGR:NORMAL}).
+       It also recognizes a SGR action corresponding to ANSI/ISO 6429/ECMA Set
+       Graphics Rendition, with the values NORMAL, BOLD, UNDERLINE, BLINK, and
+       REVERSE.  All but NORMAL may be prefixed with
+
+              <STRONG>o</STRONG>   "+" (turn on) or
+
+              <STRONG>o</STRONG>   "-" (turn off).
+
+              An  SGR0  designates  an empty highlight sequence (equivalent to
+              {SGR:NORMAL}).
 
        <STRONG>-l</STRONG>   Set output format to terminfo.
 
        <STRONG>-p</STRONG>   Ignore padding specifications when comparing strings.
 
-       <STRONG>-q</STRONG>   Make  the comparison listing shorter by omitting sub-
-            headings, and using "-" for absent capabilities,  "@"
-            for canceled rather than "NULL".
+       <STRONG>-Q</STRONG> <EM>n</EM> Rather than show source  in  terminfo  (text)  format,  print  the
+            compiled  (binary) format in hexadecimal or base64 form, depending
+            on the option's value:
+
+               1  hexadecimal
+
+               2  base64
+
+               3  hexadecimal and base64
+
+            For example, this prints the compiled terminfo value as  a  string
+            which could be assigned to the <EM>TERMINFO</EM> environment variable:
+
+                infocmp -0 -q -Q2
+
+       <STRONG>-q</STRONG>   This makes the output a little shorter:
+
+            <STRONG>o</STRONG>   Make  the  comparison listing shorter by omitting subheadings,
+                and using "-" for absent capabilities, "@" for canceled rather
+                than "NULL".
+
+            <STRONG>o</STRONG>   However,   show   differences  between  absent  and  cancelled
+                capabilities.
+
+            <STRONG>o</STRONG>   Omit the "Reconstructed from" comment for source listings.
 
        <STRONG>-R</STRONG><EM>subset</EM>
-            Restrict  output  to  a given subset.  This option is
-            for use with archaic versions of terminfo like  those
-            on  SVr1,  Ultrix,  or  HP/UX that do not support the
-            full set of SVR4/XSI Curses  terminfo;  and  variants
-            such as AIX that have their own extensions incompati-
-            ble with SVr4/XSI.
+            Restrict output to a given subset.  This option is  for  use  with
+            archaic  versions of terminfo like those on SVr1, Ultrix, or HP-UX
+            that do not support the full set of SVR4/XSI Curses terminfo;  and
+            variants  such  as AIX that have their own extensions incompatible
+            with SVr4/XSI.
 
-            Available  terminfo  subsets  are  "SVr1",  "Ultrix",
-            "HP",  and  "AIX";  see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for details.  You
-            can also choose the subset "BSD" which  selects  only
-            capabilities  with  termcap equivalents recognized by
-            4.4BSD.
+            <STRONG>o</STRONG>   Available terminfo subsets are  "SVr1",  "Ultrix",  "HP",  and
+                "AIX"; see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for details.
+
+            <STRONG>o</STRONG>   You  can  also  choose  the  subset  "BSD"  which selects only
+                capabilities with termcap equivalents recognized by 4.4BSD.
+
+            <STRONG>o</STRONG>   If you select any other value for <STRONG>-R</STRONG>, it is  the  same  as  no
+                subset, i.e., all capabilities are used.
+
+            A  few  options  override the subset selected with <STRONG>-R</STRONG>, if they are
+            processed later in the command parameters:
+
+            <STRONG>-C</STRONG>   sets the "BSD" subset as a side-effect.
+
+            <STRONG>-I</STRONG>   sets the subset to all capabilities.
+
+            <STRONG>-r</STRONG>   sets the subset to all capabilities.
 
        <STRONG>-s</STRONG> <EM>[d|i|l|c]</EM>
-            The <STRONG>-s</STRONG> option  sorts  the  fields  within  each  type
-            according to the argument below:
+            The <STRONG>-s</STRONG> option sorts the fields within each type according  to  the
+            argument below:
 
-            <STRONG>d</STRONG>    leave  fields  in the order that they are stored
-                 in the <EM>terminfo</EM> database.
+            <STRONG>d</STRONG>    leave  fields  in  the  order  that  they  are  stored in the
+                 <EM>terminfo</EM> database.
 
             <STRONG>i</STRONG>    sort by <EM>terminfo</EM> name.
 
@@ -405,84 +421,117 @@
 
             <STRONG>c</STRONG>    sort by the <EM>termcap</EM> name.
 
-            If the <STRONG>-s</STRONG> option is not given, the fields printed out
-            will  be  sorted  alphabetically by the <STRONG>terminfo</STRONG> name
-            within each type, except in the case of the <STRONG>-C</STRONG> or the
-            <STRONG>-L</STRONG> options, which cause the sorting to be done by the
-            <STRONG>termcap</STRONG> name or the long  C  variable  name,  respec-
-            tively.
+            If the <STRONG>-s</STRONG> option is not given, the  fields  printed  out  will  be
+            sorted  alphabetically  by  the  <STRONG>terminfo</STRONG>  name  within each type,
+            except in the case of the <STRONG>-C</STRONG> or the <STRONG>-L</STRONG> options,  which  cause  the
+            sorting  to  be  done  by  the <STRONG>termcap</STRONG> name or the long C variable
+            name, respectively.
 
-       <STRONG>-T</STRONG>   eliminates  size-restrictions  on the generated text.
-            This is mainly useful for testing and analysis, since
-            the compiled descriptions are limited (e.g., 1023 for
-            termcap, 4096 for terminfo).
+       <STRONG>-T</STRONG>   eliminates size-restrictions  on  the  generated  text.   This  is
+            mainly  useful  for  testing  and  analysis,  since  the  compiled
+            descriptions  are  limited  (e.g.,  1023  for  termcap,  4096  for
+            terminfo).
 
-       <STRONG>-t</STRONG>   tells  <STRONG>tic</STRONG>  to  discard  commented-out  capabilities.
-            Normally  when  translating from terminfo to termcap,
-            untranslatable capabilities are commented-out.
+       <STRONG>-t</STRONG>   tells  <STRONG>tic</STRONG>  to  discard commented-out capabilities.  Normally when
+            translating from terminfo to termcap, untranslatable  capabilities
+            are commented-out.
 
-       <STRONG>-U</STRONG>   tells <STRONG>infocmp</STRONG> to  not  post-process  the  data  after
-            parsing  the  source  file.   This feature helps when
-            comparing the actual contents of  two  source  files,
-            since  it  excludes the inferences that <STRONG>infocmp</STRONG> makes
-            to fill in missing data.
+       <STRONG>-U</STRONG>   tells  <STRONG>infocmp</STRONG>  to  not  post-process  the  data after parsing the
+            source  file.   This  feature  helps  when  comparing  the  actual
+            contents  of  two  source  files, since it excludes the inferences
+            that <STRONG>infocmp</STRONG> makes to fill in missing data.
 
-       <STRONG>-V</STRONG>   reports the version of ncurses which was used in this
-            program, and exits.
+       <STRONG>-V</STRONG>   reports the version of <EM>ncurses</EM> which was used in this program, and
+            exits.
 
-       <STRONG>-v</STRONG> <EM>n</EM> prints  out  tracing information on standard error as
-            the program runs.  Higher values of n induce  greater
-            verbosity.
+       <STRONG>-v</STRONG> <EM>n</EM> prints  out  tracing  information on standard error as the program
+            runs.
+
+            The optional parameter <EM>n</EM> is a number  from  1  to  10,  inclusive,
+            indicating the desired level of detail of information.  If <EM>ncurses</EM>
+            is built  without  tracing  support,  the  optional  parameter  is
+            ignored.
+
+       <STRONG>-W</STRONG>   By  itself,  the  <STRONG>-w</STRONG>  option  will  not  force  long strings to be
+            wrapped.  Use the <STRONG>-W</STRONG> option to do this.
 
        <STRONG>-w</STRONG> <EM>width</EM>
             changes the output to <EM>width</EM> characters.
 
-       <STRONG>-x</STRONG>   print   information  for  user-defined  capabilities.
-            These are extensions to the terminfo repertoire which
-            can be loaded using the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG>.
+       <STRONG>-x</STRONG>   print information for user-defined capabilities (see <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>.
+            These  are  extensions  to  the  terminfo  repertoire which can be
+            loaded using the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG>.
 
 
-</PRE>
-<H2><a name="h2-FILES">FILES</a></H2><PRE>
-       /usr/share/terminfo Compiled  terminal  description  data-
-                           base.
+</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
+       <EM>/usr/share/terminfo</EM>
+              compiled terminal description database
 
 
-</PRE>
-<H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
-       The <STRONG>-0</STRONG>, <STRONG>-1</STRONG>, <STRONG>-E</STRONG>, <STRONG>-F</STRONG>, <STRONG>-G</STRONG>, <STRONG>-R</STRONG>, <STRONG>-T</STRONG>, <STRONG>-V</STRONG>, <STRONG>-a</STRONG>, <STRONG>-e</STRONG>,  <STRONG>-f</STRONG>,  <STRONG>-g</STRONG>,  <STRONG>-i</STRONG>,
-       <STRONG>-l</STRONG>,  <STRONG>-p</STRONG>,  <STRONG>-q</STRONG>  and  <STRONG>-t</STRONG>  options  are  not supported in SVr4
-       curses.
+</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+       The <STRONG>-0</STRONG>, <STRONG>-1</STRONG>, <STRONG>-E</STRONG>, <STRONG>-F</STRONG>, <STRONG>-G</STRONG>, <STRONG>-Q</STRONG>, <STRONG>-R</STRONG>, <STRONG>-T</STRONG>, <STRONG>-V</STRONG>, <STRONG>-a</STRONG>, <STRONG>-e</STRONG>, <STRONG>-f</STRONG>, <STRONG>-g</STRONG>, <STRONG>-i</STRONG>, <STRONG>-l</STRONG>, <STRONG>-p</STRONG>,  <STRONG>-q</STRONG>
+       and <STRONG>-t</STRONG> options are not supported in SVr4 curses.
 
-       The <STRONG>-r</STRONG> option's notion of `termcap' capabilities is System
-       V  Release  4's.   Actual  BSD curses versions will have a
-       more restricted set.  To see only the 4.4BSD set,  use  <STRONG>-r</STRONG>
-       <STRONG>-RBSD</STRONG>.
+       SVr4   infocmp  does  not  distinguish  between  absent  and  cancelled
+       capabilities.  Also, it shows missing integer capabilities as  <STRONG>-1</STRONG>  (the
+       internal   value   used   to   represent   missing   integers).    This
+       implementation shows those as  "NULL",  for  consistency  with  missing
+       strings.
+
+       The  <STRONG>-r</STRONG>  option's  notion of "termcap" capabilities is System V Release
+       4's.  Actual BSD curses versions will have a more restricted  set.   To
+       see only the 4.4BSD set, use <STRONG>-r</STRONG> <STRONG>-RBSD</STRONG>.
 
 
-</PRE>
-<H2><a name="h2-BUGS">BUGS</a></H2><PRE>
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       X/Open  Curses,  Issue  7 (2009) provides a description of <STRONG>infocmp</STRONG>.  It
+       does not mention the options used for converting to termcap format.
+
+
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+       Although System V Release 2 provided a  terminfo  library,  it  had  no
+       documented tool for decompiling the terminal descriptions.  Tony Hansen
+       (AT&amp;T) wrote the first <STRONG>infocmp</STRONG> in early 1984, for System V Release 3.
+
+       Eric Raymond  used  the  AT&amp;T  documentation  in  1995  to  provide  an
+       equivalent  <STRONG>infocmp</STRONG>  for  <EM>ncurses</EM>.   In  addition,  he  added a few new
+       features such as:
+
+       <STRONG>o</STRONG>   the  <STRONG>-e</STRONG>  option,  to  support   <EM>fallback</EM>   (compiled-in)   terminal
+           descriptions
+
+       <STRONG>o</STRONG>   the <STRONG>-i</STRONG> option, to help with analysis
+
+       Later,  Thomas  Dickey added the <STRONG>-x</STRONG> (user-defined capabilities) option,
+       and the  <STRONG>-E</STRONG>  option  to  support  fallback  entries  with  user-defined
+       capabilities.
+
+       For a complete list, see the <EM>EXTENSIONS</EM> section.
+
+       In  2010,  Roy  Marples  provided an <STRONG>infocmp</STRONG> program for NetBSD.  It is
+       less capable than the SVr4 or <EM>ncurses</EM>  versions  (e.g.,  it  lacks  the
+       sorting  options  documented in X/Open), but does include the <STRONG>-x</STRONG> option
+       adapted from <EM>ncurses</EM>.
+
+
+</PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE>
        The <STRONG>-F</STRONG> option of <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> should be a <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG> mode.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>,     <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>,     <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>,    <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>,
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
-
-       http://invisible-island.net/ncurses/tctest.html
-
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20150808).
-
-
-</PRE>
-<H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
        Eric S. Raymond &lt;esr@snark.thyrsus.com&gt; and
        Thomas E. Dickey &lt;dickey@invisible-island.net&gt;
 
 
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>,    <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>,    <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>,    <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>,    <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,
+       <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
 
-                                                            <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
+       https://invisible-island.net/ncurses/tctest.html
+
+
+
+ncurses 6.5                       2024-03-16                       <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -491,17 +540,19 @@
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
 <ul>
 <li><a href="#h3-Default-Options">Default Options</a></li>
-<li><a href="#h3-Comparison-Options-_-d_-_-c_-_-n_">Comparison Options [-d] [-c] [-n]</a></li>
-<li><a href="#h3-Source-Listing-Options-_-I_-_-L_-_-C_-_-r_">Source Listing Options [-I] [-L] [-C] [-r]</a></li>
-<li><a href="#h3-Use_-Option-_-u_">Use= Option [-u]</a></li>
+<li><a href="#h3-Comparison-Options_d_c_n_">Comparison Options [-d] [-c] [-n]</a></li>
+<li><a href="#h3-Source-Listing-Options_I_L_C_r_">Source Listing Options [-I] [-L] [-C] [-r]</a></li>
+<li><a href="#h3-Use_Option_u_">Use= Option [-u]</a></li>
 <li><a href="#h3-Other-Options">Other Options</a></li>
 </ul>
 </li>
 <li><a href="#h2-FILES">FILES</a></li>
 <li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
 <li><a href="#h2-BUGS">BUGS</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-AUTHOR">AUTHOR</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/infotocap.1m.html b/doc/html/man/infotocap.1m.html
index bd5f05e..4213f69 100644
--- a/doc/html/man/infotocap.1m.html
+++ b/doc/html/man/infotocap.1m.html
@@ -1,7 +1,7 @@
-<!-- 
-  * t
+<!--
   ****************************************************************************
-  * Copyright (c) 1999-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1999-2010,2016 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,84 +27,70 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: infotocap.1m,v 1.11 2010/12/04 18:38:55 tom Exp @
+  * @Id: infotocap.1m,v 1.41 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>infotocap 1m</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>infotocap 1m 2024-03-16 ncurses 6.5 User commands</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">infotocap 1m</H1>
+<H1 class="no-header">infotocap 1m 2024-03-16 ncurses 6.5 User commands</H1>
 <PRE>
-<STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>                                             <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>
+<STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>                    User commands                   <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>infotocap</STRONG>  - convert a <EM>terminfo</EM> description into a <EM>termcap</EM>
-       description
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>infotocap</STRONG> - convert a <EM>terminfo</EM> description into a <EM>termcap</EM> description
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
-       <STRONG>infotocap</STRONG> [<STRONG>-v</STRONG><EM>n</EM> <EM>width</EM>]  [<STRONG>-V</STRONG>] [<STRONG>-1</STRONG>] [<STRONG>-w</STRONG> <EM>width</EM>] <EM>file</EM> . . .
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+       <STRONG>infotocap</STRONG> [<EM>tic-option</EM>] <EM>file</EM> ...
+
+       <STRONG>infotocap</STRONG> <STRONG>-V</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       <STRONG>infotocap</STRONG> looks in  each  given  text  <EM>file</EM>  for  <STRONG>terminfo</STRONG>
-       descriptions.   For  each  terminfo  description found, an
-       equivalent <STRONG>termcap</STRONG> description is written to standard out-
-       put.  Terminfo <STRONG>use</STRONG> capabilities are translated directly to
-       termcap <STRONG>tc</STRONG> capabilities.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       <STRONG>infotocap</STRONG>  translates  terminal  descriptions.   It looks in each given
+       text <EM>file</EM> for <EM>terminfo</EM> entries and, For each one found,  it  writes  an
+       analogous  <EM>termcap</EM> description to the standard output stream.  <EM>terminfo</EM>
+       "<STRONG>use</STRONG>" capabilities  translate  to  <EM>termcap</EM>  <STRONG>tc</STRONG>  capabilities.   Because
+       <EM>termcap</EM>  is  a  less expressive format than <EM>terminfo</EM>, some capabilities
+       cannot be translated.
 
-       <STRONG>-v</STRONG>   print out tracing information on  standard  error  as
-            the program runs.
-
-       <STRONG>-V</STRONG>   print  out the version of the program in use on stan-
-            dard error and exit.
-
-       <STRONG>-1</STRONG>   cause the fields to print out one to a line.   Other-
-            wise, the fields will be printed several to a line to
-            a maximum width of 60 characters.
-
-       <STRONG>-w</STRONG>   change the output to <EM>width</EM> characters.
+       This utility is implemented as a link to <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, with the latter's  <STRONG>-C</STRONG>
+       option  implied.  You can use other <STRONG>tic</STRONG> options such as <STRONG>-1</STRONG>, <STRONG>-f</STRONG>, <STRONG>-v</STRONG>, <STRONG>-w</STRONG>,
+       and <STRONG>-x</STRONG>.  The <STRONG>-V</STRONG> option reports the version of <EM>ncurses</EM>  associated  with
+       this program and exits with a successful status.
 
 
-</PRE>
-<H2><a name="h2-FILES">FILES</a></H2><PRE>
-       /usr/share/terminfo Compiled  terminal  description  data-
-                           base.
+</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
+       <EM>/usr/share/terminfo</EM>
+              compiled terminal description database
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       This  utility  is  actually  a  link to <EM>tic</EM>, running in <EM>-C</EM>
-       mode.  You can use other <EM>tic</EM> options such as <STRONG>-f</STRONG> and  <STRONG>-x</STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       None  of  X/Open  Curses, Issue 7 (2009), SVr4, or NetBSD document this
+       application.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
-
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20150808).
-
-
-</PRE>
-<H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
        Eric S. Raymond &lt;esr@snark.thyrsus.com&gt; and
        Thomas E. Dickey &lt;dickey@invisible-island.net&gt;
 
 
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
-                                                          <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>
+
+
+ncurses 6.5                       2024-03-16                     <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -112,9 +98,9 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-FILES">FILES</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-AUTHOR">AUTHOR</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/key_defined.3x.html b/doc/html/man/key_defined.3x.html
index 62d52d1..453decf 100644
--- a/doc/html/man/key_defined.3x.html
+++ b/doc/html/man/key_defined.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 2003-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 2003-2006,2010 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,72 +28,62 @@
   * authorization.                                                           *
   ****************************************************************************
   * Author: Thomas E. Dickey 2003
-  * @Id: key_defined.3x,v 1.6 2010/12/04 18:40:45 tom Exp @
+  * @Id: key_defined.3x,v 1.34 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>key_defined 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>key_defined 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">key_defined 3x</H1>
+<H1 class="no-header">key_defined 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>                                         <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>
+<STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>                  Library calls                 <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>key_defined</STRONG> - check if a keycode is defined
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>key_defined</STRONG> - test whether a <EM>curses</EM> keycode is defined
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
-       <STRONG>int</STRONG> <STRONG>key_defined(const</STRONG> <STRONG>char</STRONG> <STRONG>*definition);</STRONG>
+       <STRONG>int</STRONG> <STRONG>key_defined(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>definition</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       This is an extension to the curses library.  It permits an
-       application to determine if a string is currently bound to
-       any keycode.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       This  is an extension to the <EM>curses</EM> library.  It permits an application
+       to determine if a string is currently bound to any keycode.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       If  the  string  is bound to a keycode, its value (greater
-       than zero) is returned.  If no keycode is bound,  zero  is
-       returned.   If  the  string  conflicts with longer strings
-       which are bound to keys, -1 is returned.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       If the string is bound to a keycode, its value (greater than  zero)  is
+       returned.   If  no  keycode  is bound, zero is returned.  If the string
+       conflicts with longer strings which are bound to keys, -1 is returned.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines are specific to  ncurses.   They  were  not
-       supported  on  Version 7, BSD or System V implementations.
-       It is recommended that any code depending on them be  con-
-       ditioned using NCURSES_VERSION.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       This routine is specific to <EM>ncurses</EM>.  It was not supported  on  Version
+       7,  BSD  or  System V implementations.  It is recommended that any code
+       depending on them be conditioned using <STRONG>NCURSES_VERSION</STRONG>.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Thomas Dickey
 
 
-</PRE>
-<H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
-       Thomas Dickey.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>
 
 
 
-                                                        <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                   <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -101,8 +92,8 @@
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-AUTHOR">AUTHOR</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/keybound.3x.html b/doc/html/man/keybound.3x.html
index a726f8a..e926e77 100644
--- a/doc/html/man/keybound.3x.html
+++ b/doc/html/man/keybound.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1999-2008,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1999-2008,2010 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,74 +28,65 @@
   * authorization.                                                           *
   ****************************************************************************
   * Author: Thomas E. Dickey 1999
-  * @Id: keybound.3x,v 1.8 2010/12/04 18:49:20 tom Exp @
+  * @Id: keybound.3x,v 1.36 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>keybound 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>keybound 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">keybound 3x</H1>
+<H1 class="no-header">keybound 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>                                               <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>
+<STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>                     Library calls                    <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>keybound</STRONG> - return definition of keycode
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>keybound</STRONG> - get definition of <EM>curses</EM> keycode
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
-       <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>keybound(int</STRONG> <STRONG>keycode,</STRONG> <STRONG>int</STRONG> <STRONG>count);</STRONG>
+       <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>keybound(int</STRONG> <EM>keycode</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>count</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       This is an extension to the curses library.  It permits an
-       application to determine the string which  is  defined  in
-       the terminfo for specific keycodes.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       This  is an extension to the <EM>curses</EM> library.  It permits an application
+       to determine the string which is defined in the terminfo  for  specific
+       keycodes.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The <EM>keycode</EM> parameter must be greater than zero, else NULL
-       is returned.  If it does not correspond to a defined  key,
-       then  NULL  is  returned.   The <EM>count</EM> parameter is used to
-       allow the application to iterate through multiple  defini-
-       tions,  counting from zero.  When successful, the function
-       returns a string which must be freed by the caller.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       The <EM>keycode</EM> parameter must be greater than zero, else <STRONG>NULL</STRONG> is returned.
+       If it does not correspond to a defined key, then <STRONG>NULL</STRONG> is returned.  The
+       <EM>count</EM>  parameter  is  used  to allow the application to iterate through
+       multiple  definitions,  counting  from  zero.   When  successful,   the
+       function returns a string which must be freed by the caller.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines are specific to  ncurses.   They  were  not
-       supported  on  Version 7, BSD or System V implementations.
-       It is recommended that any code depending on them be  con-
-       ditioned using NCURSES_VERSION.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       This  routine  is specific to <EM>ncurses</EM>.  It was not supported on Version
+       7, BSD or System V implementations.  It is recommended  that  any  code
+       depending on them be conditioned using <STRONG>NCURSES_VERSION</STRONG>.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>, <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Thomas Dickey
 
 
-</PRE>
-<H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
-       Thomas Dickey.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>, <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>
 
 
 
-                                                           <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                      <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -103,8 +95,8 @@
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-AUTHOR">AUTHOR</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/keyok.3x.html b/doc/html/man/keyok.3x.html
index 31cbab8..f94f82f 100644
--- a/doc/html/man/keyok.3x.html
+++ b/doc/html/man/keyok.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-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  *
   * copy of this software and associated documentation files (the            *
@@ -27,74 +28,64 @@
   * authorization.                                                           *
   ****************************************************************************
   * Author: Thomas E. Dickey 1997
-  * @Id: keyok.3x,v 1.11 2010/12/04 18:40:45 tom Exp @
+  * @Id: keyok.3x,v 1.40 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>keyok 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>keyok 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">keyok 3x</H1>
+<H1 class="no-header">keyok 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>                                                     <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>
+<STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>                        Library calls                       <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>keyok</STRONG> - enable or disable a keycode
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>keyok</STRONG> - enable or disable a <EM>curses</EM> keycode
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
-       <STRONG>int</STRONG> <STRONG>keyok(int</STRONG> <STRONG>keycode,</STRONG> <STRONG>bool</STRONG> <STRONG>enable);</STRONG>
+       <STRONG>int</STRONG> <STRONG>keyok(int</STRONG> <EM>keycode</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>enable</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       This is an extension to the curses library.  It permits an
-       application to disable specific keycodes, rather than  use
-       the  <EM>keypad</EM>  function  to disable all keycodes.  Keys that
-       have been disabled can be re-enabled.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       This  is an extension to the <EM>curses</EM> library.  It permits an application
+       to disable specific keycodes, rather than use the  <STRONG>keypad</STRONG>  function  to
+       disable all keycodes.  Keys that have been disabled can be re-enabled.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The keycode  must  be  greater  than  zero,  else  ERR  is
-       returned.   If  it  does  not correspond to a defined key,
-       then ERR is returned.  If the <EM>enable</EM>  parameter  is  true,
-       then  the  key  must  have  been disabled, and vice versa.
-       Otherwise, the function returns OK.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       The  keycode  must  be  greater than zero, else <STRONG>ERR</STRONG> is returned.  If it
+       does not correspond to a defined key, then <STRONG>ERR</STRONG>  is  returned.   If  the
+       <EM>enable</EM>  parameter  is  true,  then the key must have been disabled, and
+       vice versa.  Otherwise, the function returns <STRONG>OK</STRONG>.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines are specific to  ncurses.   They  were  not
-       supported  on  Version 7, BSD or System V implementations.
-       It is recommended that any code depending on them be  con-
-       ditioned using NCURSES_VERSION.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       This routine is specific to <EM>ncurses</EM>.  It was not supported  on  Version
+       7,  BSD  or  System V implementations.  It is recommended that any code
+       depending on them be conditioned using <STRONG>NCURSES_VERSION</STRONG>.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Thomas Dickey
 
 
-</PRE>
-<H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
-       Thomas Dickey.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>
 
 
 
-                                                              <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                         <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -103,8 +94,8 @@
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-AUTHOR">AUTHOR</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/legacy_coding.3x.html b/doc/html/man/legacy_coding.3x.html
index d04f729..f7b41ba 100644
--- a/doc/html/man/legacy_coding.3x.html
+++ b/doc/html/man/legacy_coding.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 2005-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2020-2023,2024 Thomas E. Dickey                                *
+  * Copyright 2005-2016,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,87 +28,77 @@
   * authorization.                                                           *
   ****************************************************************************
   * Author: Thomas E. Dickey
-  * @Id: legacy_coding.3x,v 1.4 2010/12/04 18:49:20 tom Exp @
+  * @Id: legacy_coding.3x,v 1.28 2024/04/20 19:13:50 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>legacy_coding 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>legacy_coding 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">legacy_coding 3x</H1>
+<H1 class="no-header">legacy_coding 3x 2024-04-20 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>                                     <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>
+<STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>                Library calls               <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>use_legacy_coding</STRONG> - use terminal's default colors
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>use_legacy_coding</STRONG> - override <EM>curses</EM> locale encoding checks
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
-       <STRONG>int</STRONG> <STRONG>use_legacy_coding(int</STRONG> <STRONG>level);</STRONG>
+       <STRONG>int</STRONG> <STRONG>use_legacy_coding(int</STRONG> <EM>level</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  <EM>use</EM><STRONG>_</STRONG><EM>legacy</EM><STRONG>_</STRONG><EM>coding()</EM>  function  is an extension to the
-       curses library.  It allows the caller to change the result
-       of  <STRONG>unctrl</STRONG>, and suppress related checks within the library
-       that would normally cause  nonprinting  characters  to  be
-       rendered in visible form.  This affects only 8-bit charac-
-       ters.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       <STRONG>use_legacy_coding</STRONG> is an extension to the <EM>curses</EM> library.  It allows the
+       caller to change the result of <STRONG><A HREF="unctrl.3x.html">unctrl(3x)</A></STRONG>, suppressing <STRONG>isprint(3)</STRONG>-based
+       checks  within  the  library  that  would  normally  cause  nonprinting
+       characters to be rendered in visible form.  The alteration affects only
+       eight-bit characters.
 
-       The <EM>level</EM> parameter controls the result:
+       The <EM>level</EM> parameter controls the result.
 
-              0    the library functions normally, rendering non-
-                   printing characters as described in <STRONG>unctrl</STRONG>.
+              <STRONG>0</STRONG>    The   library  functions  normally,  rendering  nonprinting
+                   characters as described in <STRONG><A HREF="unctrl.3x.html">unctrl(3x)</A></STRONG>,
 
-              1    the  library ignores <STRONG>isprintf</STRONG> for codes in the
-                   range 160-255.
+              <STRONG>1</STRONG>    the library ignores <EM>isprint</EM> for codes in the range 160-255.
 
-              2    the library ignores <STRONG>isprintf</STRONG> for codes in  the
-                   range 128-255.  It also modifies the output of
-                   <STRONG>unctrl</STRONG>, showing codes in the range 128-159  as
-                   is.
+              <STRONG>2</STRONG>    the library ignores <EM>isprint</EM> for codes in the range 128-255.
+                   It also modifies the output of <STRONG><A HREF="unctrl.3x.html">unctrl(3x)</A></STRONG>, showing codes in
+                   the range 128-159 as is.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       If  the  screen  has  not  been  initialized, or the <EM>level</EM>
-       parameter is out of range, the function returns <STRONG>ERR</STRONG>.  Oth-
-       erwise, it returns the previous level: <STRONG>0</STRONG>, <STRONG>1</STRONG> or <STRONG>2</STRONG>.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       If the screen has not been initialized, or the <EM>level</EM> parameter  is  out
+       of  range,  <STRONG>use_legacy_coding</STRONG>  returns  <STRONG>ERR</STRONG>.  Otherwise, it returns the
+       previous level: <STRONG>0</STRONG>, <STRONG>1</STRONG>, or <STRONG>2</STRONG>.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       This routine is specific to ncurses.  It was not supported
-       on Version 7, BSD or System V implementations.  It is rec-
-       ommended  that any code depending on ncurses extensions be
-       conditioned using NCURSES_VERSION.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       <STRONG>use_legacy_coding</STRONG> is specific to <EM>ncurses</EM>.   It  was  not  supported  on
+       Version  7,  BSD  or  System V implementations.  Applications employing
+       <EM>ncurses</EM> extensions should condition their use on the visibility of  the
+       <STRONG>NCURSES_VERSION</STRONG> preprocessor macro.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG>unctrl</STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Thomas Dickey (to support <STRONG>lynx(1)</STRONG>'s font-switching feature).
 
 
-</PRE>
-<H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
-       Thomas Dickey (to support lynx's font-switching feature).
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="unctrl.3x.html">unctrl(3x)</A></STRONG>
 
 
 
-                                                      <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>
+ncurses 6.5                       2024-04-20                 <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -116,8 +107,8 @@
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-AUTHOR">AUTHOR</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/menu.3x.html b/doc/html/man/menu.3x.html
index a05f095..a499cf1 100644
--- a/doc/html/man/menu.3x.html
+++ b/doc/html/man/menu.3x.html
@@ -1,7 +1,8 @@
-<!-- 
+<!--
   * t
   ****************************************************************************
-  * Copyright (c) 1998-2010,2014 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2014,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,64 +28,57 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: menu.3x,v 1.22 2014/08/16 20:32:08 tom Exp @
+  * @Id: menu.3x,v 1.45 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>menu 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">menu 3x</H1>
+<H1 class="no-header">menu 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>                                                       <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
+<STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>                         Library calls                        <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
        <STRONG>menu</STRONG> - curses extension for programming menus
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  <STRONG>menu</STRONG> library provides terminal-independent facilities
-       for composing menu systems  on  character-cell  terminals.
-       The library includes: item routines, which create and mod-
-       ify menu items; and menu routines, which group items  into
-       menus, display menus on the screen, and handle interaction
-       with the user.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The <STRONG>menu</STRONG> library provides terminal-independent facilities for composing
+       menu systems on character-cell terminals.  The library  includes:  item
+       routines,  which create and modify menu items; and menu routines, which
+       group items into  menus,  display  menus  on  the  screen,  and  handle
+       interaction with the user.
 
-       The <STRONG>menu</STRONG> library uses the <STRONG>curses</STRONG> libraries, and  a  curses
-       initialization  routine  such  as  <STRONG>initscr</STRONG>  must be called
-       before using any of these  functions.   To  use  the  <STRONG>menu</STRONG>
-       library, link with the options <STRONG>-lmenu</STRONG> <STRONG>-lcurses</STRONG>.
+       The <STRONG>menu</STRONG> library uses the <STRONG>curses</STRONG> libraries, and a curses initialization
+       routine such as <STRONG>initscr</STRONG> must  be  called  before  using  any  of  these
+       functions.   To  use  the  <STRONG>menu</STRONG>  library,  link with the options <STRONG>-lmenu</STRONG>
+       <STRONG>-lcurses</STRONG>.
 
 
-</PRE>
-<H3><a name="h3-Current-Default-Values-for-Item-Attributes">Current Default Values for Item Attributes</a></H3><PRE>
-       The  <STRONG>menu</STRONG>  library  maintains  a  default  value  for item
-       attributes.  You can get or set this  default  by  calling
-       the  appropriate  <STRONG>get_</STRONG>  or  <STRONG>set_</STRONG>  routine with a <STRONG>NULL</STRONG> item
-       pointer.  Changing  this  default  with  a  <STRONG>set_</STRONG>  function
-       affects  future  item  creations,  but does not change the
+</PRE><H3><a name="h3-Current-Default-Values-for-Item-Attributes">Current Default Values for Item Attributes</a></H3><PRE>
+       The <STRONG>menu</STRONG> library maintains a default value for  item  attributes.   You
+       can  get  or  set  this default by calling the appropriate <STRONG>get_</STRONG> or <STRONG>set_</STRONG>
+       routine with a <STRONG>NULL</STRONG> item pointer.  Changing this default  with  a  <STRONG>set_</STRONG>
+       function  affects  future  item  creations,  but  does  not  change the
        rendering of items already created.
 
 
-</PRE>
-<H3><a name="h3-Routine-Name-Index">Routine Name Index</a></H3><PRE>
-       The following table lists each <STRONG>menu</STRONG> routine and  the  name
-       of the manual page on which it is described.
+</PRE><H3><a name="h3-Routine-Name-Index">Routine Name Index</a></H3><PRE>
+       The following table lists each <STRONG>menu</STRONG> routine and the name of the  manual
+       page on which it is described.
 
        <STRONG>curses</STRONG> Routine Name    Manual Page Name
        --------------------------------------------
@@ -116,9 +110,9 @@
        menu_opts_on           <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>
        menu_pad               <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
        menu_pattern           <STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG>
-
        menu_request_by_name   <STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG>
        menu_request_name      <STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG>
+
        menu_spacing           <STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG>
        menu_sub               <STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG>
        menu_term              <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
@@ -155,21 +149,17 @@
        unpost_menu            <STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG>
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Routines  that return pointers return <STRONG>NULL</STRONG> on error.  Rou-
-       tines that return an integer return one of  the  following
-       error codes:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       Routines  that  return  pointers  return  <STRONG>NULL</STRONG> on error.  Routines that
+       return an integer return one of the following error codes:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_BAD_STATE</STRONG>
-            Routine was called from an initialization or termina-
-            tion function.
+            Routine was called from an initialization or termination function.
 
        <STRONG>E_NO_MATCH</STRONG>
             Character failed to match.
@@ -193,45 +183,44 @@
             The menu driver could not process the request.
 
        <STRONG>E_SYSTEM_ERROR</STRONG>
-            System error occurred (see <STRONG>errno</STRONG>).
+            System error occurred (see <STRONG>errno(3)</STRONG>).
 
        <STRONG>E_UNKNOWN_COMMAND</STRONG>
             The menu driver code saw an unknown request code.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       files <STRONG>&lt;curses.h&gt;</STRONG> and <STRONG>&lt;eti.h&gt;</STRONG>.
-
-       In your library list, libmenu.a  should  be  before  libn-
-       curses.a; that is, you want to say `-lmenu -lncurses', not
-       the other way around (which would  usually  give  a  link-
-       error).
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       The header file <EM>menu.h</EM> itself includes the header file <EM>curses.h</EM>.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  emulate  the System V menu library.  They
-       were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These routines emulate the  System  V  menu  library.   They  were  not
+       supported on Version 7 or BSD versions.
+
+       A  menu  facility  was  documented in SVr4.2's <EM>Character</EM> <EM>User</EM> <EM>Interface</EM>
+       <EM>Programming</EM> document.
+
+       It is not part of X/Open Curses.
+
+       Aside from <EM>ncurses</EM>, there are few implementations:
+
+       <STRONG>o</STRONG>   systems based on SVr4 source code, e.g., Solaris.
+
+       <STRONG>o</STRONG>   NetBSD curses.
 
 
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual pages and adaptation for  ncurses
-       by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for <EM>ncurses</EM>  by  Eric  S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "menu_" for
-       detailed descriptions of the entry points.
-
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20150808).
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>  and  related  pages  whose names begin "menu_" for detailed
+       descriptions of the entry points.
 
 
 
-                                                               <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                          <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
diff --git a/doc/html/man/menu_attributes.3x.html b/doc/html/man/menu_attributes.3x.html
index ac338e6..3b3f6ea 100644
--- a/doc/html/man/menu_attributes.3x.html
+++ b/doc/html/man/menu_attributes.3x.html
@@ -1,7 +1,7 @@
-<!-- 
-  * t
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2010,2015 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,108 +27,96 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: menu_attributes.3x,v 1.12 2010/12/04 18:40:45 tom Exp @
+  * @Id: menu_attributes.3x,v 1.36 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_attributes 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>menu_attributes 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">menu_attributes 3x</H1>
+<H1 class="no-header">menu_attributes 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>                                 <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
+<STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>              Library calls             <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>menu_attributes</STRONG> - color and attribute control for menus
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>menu_back</STRONG>,     <STRONG>menu_fore</STRONG>,     <STRONG>menu_grey</STRONG>,    <STRONG>menu_pad</STRONG>,    <STRONG>set_menu_back</STRONG>,
+       <STRONG>set_menu_fore</STRONG>,  <STRONG>set_menu_grey</STRONG>,  <STRONG>set_menu_pad</STRONG>  -  color  and   attribute
+       control for menus
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
-       int set_menu_fore(MENU *menu, chtype attr);
-       chtype menu_fore(const MENU *menu);
-       int set_menu_back(MENU *menu, chtype attr);
-       chtype menu_back(const MENU *menu);
-       int set_menu_grey(MENU *menu, chtype attr);
-       chtype menu_grey(const MENU *menu);
-       int set_menu_pad(MENU *menu, int pad);
-       int menu_pad(const MENU *menu);
+
+       <STRONG>int</STRONG> <STRONG>set_menu_fore(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>attr</EM><STRONG>);</STRONG>
+       <STRONG>chtype</STRONG> <STRONG>menu_fore(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>set_menu_back(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>attr</EM><STRONG>);</STRONG>
+       <STRONG>chtype</STRONG> <STRONG>menu_back(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>set_menu_grey(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>attr</EM><STRONG>);</STRONG>
+       <STRONG>chtype</STRONG> <STRONG>menu_grey(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>set_menu_pad(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pad</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>menu_pad(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  function  <STRONG>set_menu_fore</STRONG> sets the foreground attribute
-       of <EM>menu</EM>. This is the  highlight  used  for  selected  menu
-       items.   <STRONG>menu_fore</STRONG>  returns the foreground attribute.  The
-       default is <STRONG>A_REVERSE</STRONG>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The  function <STRONG>set_menu_fore</STRONG> sets the foreground attribute of <EM>menu</EM>. This
+       is the highlight used for selected menu items.  <STRONG>menu_fore</STRONG>  returns  the
+       foreground attribute.  The default is <STRONG>A_REVERSE</STRONG>.
 
-       The function <STRONG>set_menu_back</STRONG> sets the  background  attribute
-       of  <EM>menu</EM>.  This  is the highlight used for selectable (but
-       not  currently  selected)  menu   items.    The   function
-       <STRONG>menu_back</STRONG>  returns  the background attribute.  The default
-       is <STRONG>A_NORMAL</STRONG>.
+       The  function <STRONG>set_menu_back</STRONG> sets the background attribute of <EM>menu</EM>. This
+       is the highlight used for selectable (but not currently selected)  menu
+       items.   The  function <STRONG>menu_back</STRONG> returns the background attribute.  The
+       default is <STRONG>A_NORMAL</STRONG>.
 
-       The function <STRONG>set_menu_grey</STRONG>  sets  the  grey  attribute  of
-       <EM>menu</EM>.  This  is  the highlight used for un-selectable menu
-       items in menus that permit more than one  selection.   The
-       function   <STRONG>menu_grey</STRONG>  returns  the  grey  attribute.   The
-       default is <STRONG>A_UNDERLINE</STRONG>.
+       The function <STRONG>set_menu_grey</STRONG> sets the grey attribute of <EM>menu</EM>. This is the
+       highlight  used  for un-selectable menu items in menus that permit more
+       than one selection.  The function <STRONG>menu_grey</STRONG> returns the grey attribute.
+       The default is <STRONG>A_UNDERLINE</STRONG>.
 
-       The function <STRONG>set_menu_pad</STRONG> sets the character used to  fill
-       the space between the name and description parts of a menu
-       item.  <STRONG>menu_pad</STRONG> returns the given  menu's  pad  character.
-       The default is a blank.
+       The  function  <STRONG>set_menu_pad</STRONG>  sets  the character used to fill the space
+       between the name and  description  parts  of  a  menu  item.   <STRONG>menu_pad</STRONG>
+       returns the given menu's pad character.  The default is a blank.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
        These routines return one of the following:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_SYSTEM_ERROR</STRONG>
-            System error occurred (see <STRONG>errno</STRONG>).
+            System error occurred (see <STRONG>errno(3)</STRONG>).
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "menu_" for
-       detailed descriptions of the entry points.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These  routines  emulate  the  System  V  menu  library.  They were not
+       supported on Version 7 or BSD versions.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines emulate the System V  menu  library.   They
-       were not supported on Version 7 or BSD versions.
-
-
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>  and  related  pages  whose names begin "menu_" for detailed
+       descriptions of the entry points.
 
 
 
-                                                    <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16               <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -136,10 +124,9 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/menu_cursor.3x.html b/doc/html/man/menu_cursor.3x.html
index e5c29de..0003bcd 100644
--- a/doc/html/man/menu_cursor.3x.html
+++ b/doc/html/man/menu_cursor.3x.html
@@ -1,7 +1,7 @@
-<!-- 
-  * t
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2010,2015 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,86 +27,73 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: menu_cursor.3x,v 1.8 2010/12/04 18:40:45 tom Exp @
+  * @Id: menu_cursor.3x,v 1.30 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_cursor 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>menu_cursor 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">menu_cursor 3x</H1>
+<H1 class="no-header">menu_cursor 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG>                                         <STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG>
+<STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG>                  Library calls                 <STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>menu_cursor</STRONG> - position a menu's cursor
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>pos_menu_cursor</STRONG> - position a menu's cursor
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
-       int pos_menu_cursor(const MENU *menu);
+
+       <STRONG>int</STRONG> <STRONG>pos_menu_cursor(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  function  <STRONG>pos_menu_cursor</STRONG>  restores the cursor to the
-       current position associated with the menu's selected item.
-       This  is  useful after <STRONG>curses</STRONG> routines have been called to
-       do screen-painting in response to a menu select.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The  function  <STRONG>pos_menu_cursor</STRONG>  restores  the  cursor  to  the  current
+       position associated with the menu's  selected  item.   This  is  useful
+       after  <STRONG>curses</STRONG>  routines  have  been  called  to  do  screen-painting in
+       response to a menu select.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
        This routine returns one of the following:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_SYSTEM_ERROR</STRONG>
-            System error occurred (see <STRONG>errno</STRONG>).
+            System error occurred (see <STRONG>errno(3)</STRONG>).
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_NOT_POSTED</STRONG>
             The menu has not been posted.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These routines emulate the  System  V  menu  library.   They  were  not
+       supported on Version 7 or BSD versions.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines emulate the System V  menu  library.   They
-       were not supported on Version 7 or BSD versions.
-
-
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
 
 
 
-                                                        <STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                   <STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -114,10 +101,9 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/menu_driver.3x.html b/doc/html/man/menu_driver.3x.html
index 7de5eba..d82a7f5 100644
--- a/doc/html/man/menu_driver.3x.html
+++ b/doc/html/man/menu_driver.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-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  *
   * copy of this software and associated documentation files (the            *
@@ -26,53 +27,49 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: menu_driver.3x,v 1.20 2010/12/04 18:38:55 tom Exp @
+  * @Id: menu_driver.3x,v 1.47 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_driver 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>menu_driver 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">menu_driver 3x</H1>
+<H1 class="no-header">menu_driver 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG>                                         <STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG>
+<STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG>                  Library calls                 <STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
        <STRONG>menu_driver</STRONG> - command-processing loop of the menu system
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
-       int menu_driver(MENU *menu, int c);
+
+       <STRONG>int</STRONG> <STRONG>menu_driver(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       Once a menu has been posted (displayed), you should funnel
-       input events to it through <STRONG>menu_driver</STRONG>.  This routine  has
-       three major input cases:
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       Once a menu has been posted (displayed), you should funnel input events
+       to it through <STRONG>menu_driver</STRONG>.  This routine has three major input cases:
 
-       <STRONG>o</STRONG>   The  input  is  a form navigation request.  Navigation
-           request codes are constants defined in <STRONG>&lt;form.h&gt;</STRONG>, which
-           are   distinct  from  the  key-  and  character  codes
-           returned by <STRONG>wgetch</STRONG>.
+       <STRONG>o</STRONG>   The input is a form navigation request.  Navigation  request  codes
+           are constants defined in <STRONG>&lt;form.h&gt;</STRONG>, which are distinct from the key-
+           and character codes returned by <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>.
 
-       <STRONG>o</STRONG>   The input is a printable character.  Printable charac-
-           ters  (which  must  be  positive,  less  than 256) are
-           checked according to the program's locale settings.
+       <STRONG>o</STRONG>   The input is a printable character.   Printable  characters  (which
+           must  be  positive,  less  than  256)  are checked according to the
+           program's locale settings.
 
-       <STRONG>o</STRONG>   The input is the KEY_MOUSE special key associated with
-           an mouse event.
+       <STRONG>o</STRONG>   The input is the KEY_MOUSE special key  associated  with  an  mouse
+           event.
 
        The menu driver requests are as follows:
 
@@ -119,8 +116,7 @@
             Clear the menu pattern buffer.
 
        REQ_BACK_PATTERN
-            Delete  the  previous character from the pattern buf-
-            fer.
+            Delete the previous character from the pattern buffer.
 
        REQ_NEXT_MATCH
             Move to the next item matching the pattern match.
@@ -128,23 +124,20 @@
        REQ_PREV_MATCH
             Move to the previous item matching the pattern match.
 
-       If the second argument is a printable character, the  code
-       appends  it  to the pattern buffer and attempts to move to
-       the next item matching the new pattern.  If  there  is  no
-       such match, <STRONG>menu_driver</STRONG> returns <STRONG>E_NO_MATCH</STRONG> and deletes the
-       appended character from the buffer.
+       If the second argument is a printable character, the code appends it to
+       the pattern buffer and attempts to move to the next item  matching  the
+       new pattern.  If there is no such match, <STRONG>menu_driver</STRONG> returns <STRONG>E_NO_MATCH</STRONG>
+       and deletes the appended character from the buffer.
 
-       If the second argument is one  of  the  above  pre-defined
-       requests, the corresponding action is performed.
+       If the second argument is one of the above  pre-defined  requests,  the
+       corresponding action is performed.
 
 
-</PRE>
-<H3><a name="h3-MOUSE-HANDLING">MOUSE HANDLING</a></H3><PRE>
-       If  the  second argument is the KEY_MOUSE special key, the
-       associated mouse event is translated into one of the above
-       pre-defined  requests.   Currently only clicks in the user
-       window (e.g., inside the menu display area or the  decora-
-       tion window) are handled.
+</PRE><H3><a name="h3-Mouse-Handling">Mouse Handling</a></H3><PRE>
+       If  the  second  argument  is the KEY_MOUSE special key, the associated
+       mouse event is translated into one of the above  pre-defined  requests.
+       Currently only clicks in the user window (e.g., inside the menu display
+       area or the decoration window) are handled.
 
        If you click above the display region of the menu:
 
@@ -162,53 +155,44 @@
 
        <STRONG>o</STRONG>   a REQ_LAST_ITEM is generated for a triple-click.
 
-       If  you  click  at  an item inside the display area of the
-       menu:
+       If you click at an item inside the display area of the menu:
 
        <STRONG>o</STRONG>   the menu cursor is positioned to that item.
 
-       <STRONG>o</STRONG>   If you double-click an item a REQ_TOGGLE_ITEM is  gen-
-           erated and <STRONG>E_UNKNOWN_COMMAND</STRONG> is returned.  This return
-           value makes sense,  because  a  double  click  usually
-           means that an item-specific action should be returned.
-           It is exactly the purpose of this return value to sig-
-           nal  that  an  application  specific command should be
-           executed.
+       <STRONG>o</STRONG>   If you double-click an item  a  REQ_TOGGLE_ITEM  is  generated  and
+           <STRONG>E_UNKNOWN_COMMAND</STRONG>  is  returned.   This  return  value makes sense,
+           because a double click usually means that an  item-specific  action
+           should be returned.  It is exactly the purpose of this return value
+           to signal that an application specific command should be executed.
 
-       <STRONG>o</STRONG>   If a translation into a request was done,  <STRONG>menu_driver</STRONG>
-           returns the result of this request.
+       <STRONG>o</STRONG>   If a translation into a request was done, <STRONG>menu_driver</STRONG>  returns  the
+           result of this request.
 
-       If  you clicked outside the user window or the mouse event
-       could  not  be  translated  into   a   menu   request   an
-       <STRONG>E_REQUEST_DENIED</STRONG> is returned.
+       If  you clicked outside the user window or the mouse event could not be
+       translated into a menu request an <STRONG>E_REQUEST_DENIED</STRONG> is returned.
 
 
-</PRE>
-<H3><a name="h3-APPLICATION-DEFINED-COMMANDS">APPLICATION-DEFINED COMMANDS</a></H3><PRE>
-       If the second argument is neither printable nor one of the
-       above pre-defined menu requests or  KEY_MOUSE,  the  drive
-       assumes  it is an application-specific command and returns
-       <STRONG>E_UNKNOWN_COMMAND</STRONG>.  Application-defined commands should be
-       defined  relative  to  <STRONG>MAX_COMMAND</STRONG>,  the  maximum value of
-       these pre-defined requests.
+</PRE><H3><a name="h3-Application-defined-Commands">Application-defined Commands</a></H3><PRE>
+       If the second argument is neither printable nor one of the  above  pre-
+       defined  menu  requests  or  KEY_MOUSE,  the  drive  assumes  it  is an
+       application-specific    command    and    returns    <STRONG>E_UNKNOWN_COMMAND</STRONG>.
+       Application-defined commands should be defined relative to <STRONG>MAX_COMMAND</STRONG>,
+       the maximum value of these pre-defined requests.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
        <STRONG>menu_driver</STRONG> return one of the following error codes:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_SYSTEM_ERROR</STRONG>
-            System error occurred (see <STRONG>errno</STRONG>).
+            System error occurred (see <STRONG>errno(3)</STRONG>).
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_BAD_STATE</STRONG>
-            Routine was called from an initialization or termina-
-            tion function.
+            Routine was called from an initialization or termination function.
 
        <STRONG>E_NOT_POSTED</STRONG>
             The menu has not been posted.
@@ -223,32 +207,23 @@
             The menu driver could not process the request.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These routines emulate the  System  V  menu  library.   They  were  not
+       supported  on  Version 7 or BSD versions.  The support for mouse events
+       is <EM>ncurses</EM> specific.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       files <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  emulate  the System V menu library.  They
-       were not supported on Version 7 or BSD versions. The  sup-
-       port for mouse events is ncurses specific.
-
-
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">getch(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
 
 
 
-                                                        <STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                   <STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -256,15 +231,14 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
 <ul>
-<li><a href="#h3-MOUSE-HANDLING">MOUSE HANDLING</a></li>
-<li><a href="#h3-APPLICATION-DEFINED-COMMANDS">APPLICATION-DEFINED COMMANDS</a></li>
+<li><a href="#h3-Mouse-Handling">Mouse Handling</a></li>
+<li><a href="#h3-Application-defined-Commands">Application-defined Commands</a></li>
 </ul>
 </li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/menu_format.3x.html b/doc/html/man/menu_format.3x.html
index 3e8adbc..ddd934c 100644
--- a/doc/html/man/menu_format.3x.html
+++ b/doc/html/man/menu_format.3x.html
@@ -1,7 +1,7 @@
-<!-- 
-  * t
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2015,2016 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,69 +27,62 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: menu_format.3x,v 1.12 2010/12/04 18:40:45 tom Exp @
+  * @Id: menu_format.3x,v 1.35 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_format 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>menu_format 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">menu_format 3x</H1>
+<H1 class="no-header">menu_format 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG>                                         <STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG>
+<STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG>                  Library calls                 <STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>menu_format</STRONG> - set and get menu sizes
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>set_menu_format</STRONG>, <STRONG>menu_format</STRONG> - set and get menu sizes
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
-       int set_menu_format(MENU *menu, int rows, int cols);
-       void menu_format(const MENU *menu, int *rows, int *cols);
+
+       <STRONG>int</STRONG> <STRONG>set_menu_format(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>rows</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>cols</EM><STRONG>);</STRONG>
+       <STRONG>void</STRONG> <STRONG>menu_format(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>rows</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>cols</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The function <STRONG>set_menu_format</STRONG> sets the maximum display size
-       of the given menu.  If this size is too small  to  display
-       all  menu items, the menu will be made scrollable. If this
-       size is larger than the menus subwindow and the  subwindow
-       is  too  small to display all menu items, <STRONG>post_menu()</STRONG> will
-       fail.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The function <STRONG>set_menu_format</STRONG> sets the maximum display size of the given
+       menu.  If this size is too small to display all menu  items,  the  menu
+       will  be  made  scrollable.   If  this  size  is  larger than the menus
+       subwindow and the subwindow is too small to  display  all  menu  items,
+       <STRONG>post_menu</STRONG> will fail.
 
-       The  default  format  is  16  rows,  1  column.    Calling
-       <STRONG>set_menu_format</STRONG>  with a null menu pointer will change this
-       default.  A zero row or column argument to <STRONG>set_menu_format</STRONG>
-       is  interpreted  as  a  request  not to change the current
-       value.
+       The  default format is 16 rows, 1 column.  Calling <STRONG>set_menu_format</STRONG> with
+       a null menu pointer will change this default.  A  zero  row  or  column
+       argument  to  <STRONG>set_menu_format</STRONG> is interpreted as a request not to change
+       the current value.
 
-       The function <STRONG>menu_format</STRONG>  returns  the  maximum-size  con-
-       straints  for the given menu into the storage addressed by
-       <STRONG>rows</STRONG> and <STRONG>cols</STRONG>.
+       The function <STRONG>menu_format</STRONG> returns the maximum-size constraints  for  the
+       given menu into the storage addressed by <STRONG>rows</STRONG> and <STRONG>cols</STRONG>.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
        These routines returns one of the following:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_SYSTEM_ERROR</STRONG>
-            System error occurred (see <STRONG>errno</STRONG>).
+            System error occurred (see <STRONG>errno(3)</STRONG>).
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_POSTED</STRONG>
             The menu is already posted.
@@ -98,31 +91,22 @@
             No items are connected to the menu.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These  routines  emulate  the  System  V  menu  library.  They were not
+       supported on Version 7 or BSD versions.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines emulate the System V  menu  library.   They
-       were not supported on Version 7 or BSD versions.
-
-
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
 
 
 
-                                                        <STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                   <STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -130,10 +114,9 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/menu_hook.3x.html b/doc/html/man/menu_hook.3x.html
index 00148f7..ca1810c 100644
--- a/doc/html/man/menu_hook.3x.html
+++ b/doc/html/man/menu_hook.3x.html
@@ -1,7 +1,7 @@
-<!-- 
-  * t
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2007,2010 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,107 +27,97 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: menu_hook.3x,v 1.11 2010/12/04 18:40:45 tom Exp @
+  * @Id: menu_hook.3x,v 1.32 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_hook 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>menu_hook 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">menu_hook 3x</H1>
+<H1 class="no-header">menu_hook 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>                                             <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
+<STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>                    Library calls                   <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>menu_hook</STRONG> - set hooks for automatic invocation by applica-
-       tions
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>menu_hook</STRONG> - set hooks for automatic invocation by applications
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
-       int set_item_init(MENU *menu, Menu_Hook func);
-       Menu_Hook item_init(const MENU *menu);
-       int set_item_term(MENU *menu, Menu_Hook func);
-       Menu_Hook item_term(const MENU *menu);
-       int set_menu_init(MENU *menu, Menu_Hook func);
-       Menu_Hook menu_init(const MENU *menu);
-       int set_menu_term(MENU *menu, Menu_Hook func);
-       Menu_Hook menu_term(const MENU *menu);
+
+       <STRONG>int</STRONG> <STRONG>set_item_init(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>Menu_Hook</STRONG> <EM>func</EM><STRONG>);</STRONG>
+       <STRONG>Menu_Hook</STRONG> <STRONG>item_init(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>set_item_term(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>Menu_Hook</STRONG> <EM>func</EM><STRONG>);</STRONG>
+       <STRONG>Menu_Hook</STRONG> <STRONG>item_term(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>set_menu_init(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>Menu_Hook</STRONG> <EM>func</EM><STRONG>);</STRONG>
+       <STRONG>Menu_Hook</STRONG> <STRONG>menu_init(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>set_menu_term(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>Menu_Hook</STRONG> <EM>func</EM><STRONG>);</STRONG>
+       <STRONG>Menu_Hook</STRONG> <STRONG>menu_term(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       These functions make it possible to set hook functions  to
-       be called at various points in the automatic processing of
-       input event codes by <STRONG>menu_driver</STRONG>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       These  functions make it possible to set hook functions to be called at
+       various points in the automatic processing  of  input  event  codes  by
+       <STRONG>menu_driver</STRONG>.
 
-       The function <STRONG>set_item_init</STRONG> sets a hook  to  be  called  at
-       menu-post  time  and  each  time the selected item changes
-       (after the change).  <STRONG>item_init</STRONG> returns  the  current  item
-       init hook, if any (<STRONG>NULL</STRONG> if there is no such hook).
+       The  function  <STRONG>set_item_init</STRONG> sets a hook to be called at menu-post time
+       and each time the selected item changes (after the change).   <STRONG>item_init</STRONG>
+       returns  the  current  item init hook, if any (<STRONG>NULL</STRONG> if there is no such
+       hook).
 
-       The  function  <STRONG>set_item_term</STRONG>  sets  a hook to be called at
-       menu-unpost time and each time the selected  item  changes
-       (before  the  change).  <STRONG>item_term</STRONG> returns the current item
-       term hook, if any (<STRONG>NULL</STRONG> if there is no such hook).
+       The function <STRONG>set_item_term</STRONG> sets a hook to be called at menu-unpost time
+       and each time the selected item changes (before the change).  <STRONG>item_term</STRONG>
+       returns the current item term hook, if any (<STRONG>NULL</STRONG> if there  is  no  such
+       hook).
 
-       The function <STRONG>set_menu_init</STRONG> sets a hook  to  be  called  at
-       menu-post  time  and  just  after  the top row on the menu
-       changes once it is posted.  <STRONG>menu_init</STRONG> returns the  current
-       menu init hook, if any (<STRONG>NULL</STRONG> if there is no such hook).
+       The  function  <STRONG>set_menu_init</STRONG> sets a hook to be called at menu-post time
+       and just after the top row on the  menu  changes  once  it  is  posted.
+       <STRONG>menu_init</STRONG>  returns the current menu init hook, if any (<STRONG>NULL</STRONG> if there is
+       no such hook).
 
-       The  function  <STRONG>set_menu_term</STRONG>  sets  a hook to be called at
-       menu-unpost time and just before the top row on  the  menu
-       changes  once it is posted.  <STRONG>menu_term</STRONG> returns the current
-       menu term hook, if any (<STRONG>NULL</STRONG> if there is no such hook).
+       The function <STRONG>set_menu_term</STRONG> sets a hook to be called at menu-unpost time
+       and  just  before  the  top  row on the menu changes once it is posted.
+       <STRONG>menu_term</STRONG> returns the current menu term hook, if any (<STRONG>NULL</STRONG> if there  is
+       no such hook).
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Routines that return pointers return <STRONG>NULL</STRONG> on error.  Other
-       routines return one of the following:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       Routines  that  return  pointers  return <STRONG>NULL</STRONG> on error.  Other routines
+       return one of the following:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_SYSTEM_ERROR</STRONG>
-            System error occurred (see <STRONG>errno</STRONG>).
+            System error occurred (see <STRONG>errno(3)</STRONG>).
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These routines emulate the  System  V  menu  library.   They  were  not
+       supported on Version 7 or BSD versions.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines emulate the System V  menu  library.   They
-       were not supported on Version 7 or BSD versions.
-
-
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
 
 
 
-                                                          <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                     <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -135,10 +125,9 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/menu_items.3x.html b/doc/html/man/menu_items.3x.html
index fc56a87..7f1c082 100644
--- a/doc/html/man/menu_items.3x.html
+++ b/doc/html/man/menu_items.3x.html
@@ -1,7 +1,7 @@
-<!-- 
-  * t
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2012,2015 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,68 +27,61 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: menu_items.3x,v 1.10 2012/11/03 23:03:59 tom Exp @
+  * @Id: menu_items.3x,v 1.34 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_items 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>menu_items 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">menu_items 3x</H1>
+<H1 class="no-header">menu_items 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG>                                           <STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG>
+<STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG>                   Library calls                  <STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>menu_items</STRONG>  - make and break connections between items and
-       menus
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>set_menu_items</STRONG>,  <STRONG>menu_items</STRONG>,  <STRONG>item_count</STRONG>  -  make and break connections
+       between items and menus
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
-       int set_menu_items(MENU *menu, ITEM **items);
-       ITEM **menu_items(const MENU *menu);
-       int item_count(const MENU *menu);
+
+       <STRONG>int</STRONG> <STRONG>set_menu_items(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>ITEM</STRONG> <STRONG>**</STRONG><EM>items</EM><STRONG>);</STRONG>
+       <STRONG>ITEM</STRONG> <STRONG>**menu_items(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>item_count(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The function <STRONG>set_menu_items</STRONG> changes the item pointer array
-       of  the  given  <EM>menu</EM>.   The  array must be terminated by a
-       <STRONG>NULL</STRONG>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The function <STRONG>set_menu_items</STRONG> changes the item pointer array of the given
+       <EM>menu</EM>.  The array must be terminated by a <STRONG>NULL</STRONG>.
 
-       The function <STRONG>menu_items</STRONG> returns  the  item  array  of  the
-       given menu.
+       The function <STRONG>menu_items</STRONG> returns the item array of the given menu.
 
-       The  function  <STRONG>item_count</STRONG>  returns  the  count of items in
-       <EM>menu</EM>.
+       The function <STRONG>item_count</STRONG> returns the count of items in <EM>menu</EM>.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The function <STRONG>menu_items</STRONG> returns a pointer  (which  may  be
-       <STRONG>NULL</STRONG>).  It does not set errno.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       The function <STRONG>menu_items</STRONG> returns a pointer (which may be <STRONG>NULL</STRONG>).  It does
+       not set <STRONG>errno</STRONG>.
 
-       The  function  <STRONG>item_count</STRONG>  returns <STRONG>ERR</STRONG> (the general <STRONG>curses</STRONG>
-       error return value) if its <EM>menu</EM> parameter is <STRONG>NULL</STRONG>.
+       The function <STRONG>item_count</STRONG> returns <STRONG>ERR</STRONG> (the general  <STRONG>curses</STRONG>  error  return
+       value) if its <EM>menu</EM> parameter is <STRONG>NULL</STRONG>.
 
-       The function <STRONG>set_menu_items</STRONG> returns one of  the  following
-       codes on error:
+       The  function  <STRONG>set_menu_items</STRONG>  returns  one  of  the following codes on
+       error:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_NOT_CONNECTED</STRONG>
             No items are connected to the menu.
@@ -97,37 +90,28 @@
             The menu is already posted.
 
        <STRONG>E_SYSTEM_ERROR</STRONG>
-            System error occurred (see <STRONG>errno</STRONG>).
+            System error occurred (see <STRONG>errno(3)</STRONG>).
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These routines emulate the  System  V  menu  library.   They  were  not
+       supported on Version 7 or BSD versions.
+
+       The  SVr4  menu  library  documentation  specifies the <STRONG>item_count</STRONG> error
+       value as -1 (which is the value of <STRONG>ERR</STRONG>).
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  emulate  the System V menu library.  They
-       were not supported on Version 7 or BSD versions.
-
-       The  SVr4  menu  library   documentation   specifies   the
-       <STRONG>item_count</STRONG> error value as -1 (which is the value of <STRONG>ERR</STRONG>).
-
-
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
 
 
 
-                                                         <STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                    <STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -135,10 +119,9 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/menu_mark.3x.html b/doc/html/man/menu_mark.3x.html
index b0e678c..1cdb2b0 100644
--- a/doc/html/man/menu_mark.3x.html
+++ b/doc/html/man/menu_mark.3x.html
@@ -1,7 +1,7 @@
-<!-- 
-  * t
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2010,2015 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,100 +27,84 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: menu_mark.3x,v 1.11 2010/12/04 18:40:45 tom Exp @
+  * @Id: menu_mark.3x,v 1.35 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_mark 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>menu_mark 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">menu_mark 3x</H1>
+<H1 class="no-header">menu_mark 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG>                                             <STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG>
+<STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG>                    Library calls                   <STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>menu_mark</STRONG> - get and set the menu mark string
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>set_menu_mark</STRONG>, <STRONG>menu_mark</STRONG> - get and set the menu mark string
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
-       int set_menu_mark(MENU *menu, const char *mark);
-       const char *menu_mark(const MENU *menu);
+
+       <STRONG>int</STRONG> <STRONG>set_menu_mark(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>mark</EM><STRONG>);</STRONG>
+       <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*menu_mark(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       In  order  to make menu selections visible on older termi-
-       nals without highlighting or color  capability,  the  menu
-       library  marks  selected  items  in  a  menu with a prefix
-       string.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       In  order  to  make  menu selections visible on older terminals without
+       highlighting or color capability, the menu library marks selected items
+       in a menu with a prefix string.
 
-       The function <STRONG>set_menu_mark</STRONG> sets the mark  string  for  the
-       given  menu.   Calling <STRONG>set_menu_mark</STRONG> with a null menu item
-       will abolish the mark  string.   Note  that  changing  the
-       length  of  the  mark  string for a menu while the menu is
-       posted is likely to produce unhelpful behavior.
+       The  function  <STRONG>set_menu_mark</STRONG>  sets  the mark string for the given menu.
+       Calling <STRONG>set_menu_mark</STRONG> with a null  menu  item  will  abolish  the  mark
+       string.   Note  that  changing the length of the mark string for a menu
+       while the menu is posted is likely to produce unhelpful behavior.
 
-       The default string is "-" (a dash). Calling  <STRONG>set_menu_mark</STRONG>
-       with a non-<STRONG>NULL</STRONG> menu argument will change this default.
+       The default string is "-" (a dash).  Calling <STRONG>set_menu_mark</STRONG> with a  non-
+       <STRONG>NULL</STRONG> menu argument will change this default.
 
-       The  function <STRONG>menu_mark</STRONG> returns the menu's mark string (or
-       <STRONG>NULL</STRONG> if there is none).
+       The function <STRONG>menu_mark</STRONG> returns the menu's mark string (or <STRONG>NULL</STRONG> if there
+       is none).
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The function <STRONG>menu_mark</STRONG> returns a  pointer  (which  may  be
-       <STRONG>NULL</STRONG>).  It does not set errno.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       The function <STRONG>menu_mark</STRONG> returns a pointer (which may be <STRONG>NULL</STRONG>).  It  does
+       not set <STRONG>errno</STRONG>.
 
-       The  function <STRONG>set_menu_mark</STRONG> may return the following error
-       codes:
+       The function <STRONG>set_menu_mark</STRONG> may return the following error codes:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_SYSTEM_ERROR</STRONG>
-            System error occurred (see <STRONG>errno</STRONG>).
+            System error occurred (see <STRONG>errno(3)</STRONG>).
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These  routines  emulate  the  System  V  menu  library.  They were not
+       supported on Version 7 or BSD versions.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines emulate the System V  menu  library.   They
-       were not supported on Version 7 or BSD versions.
-
-
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
 
 
 
-                                                          <STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                     <STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -128,10 +112,9 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/menu_new.3x.html b/doc/html/man/menu_new.3x.html
index 1bd9075..e53eacb 100644
--- a/doc/html/man/menu_new.3x.html
+++ b/doc/html/man/menu_new.3x.html
@@ -1,7 +1,7 @@
-<!-- 
-  * t
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2010,2015 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,51 +27,47 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: menu_new.3x,v 1.11 2010/12/04 18:40:45 tom Exp @
+  * @Id: menu_new.3x,v 1.35 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_new 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>menu_new 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">menu_new 3x</H1>
+<H1 class="no-header">menu_new 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG>                                               <STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG>
+<STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG>                     Library calls                    <STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>menu_new</STRONG> - create and destroy menus
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>new_menu</STRONG>, <STRONG>free_menu</STRONG> - create and destroy menus
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
-       MENU *new_menu(ITEM **items);
-       int free_menu(MENU *menu);
+
+       <STRONG>MENU</STRONG> <STRONG>*new_menu(ITEM</STRONG> <STRONG>**</STRONG><EM>items</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>free_menu(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  function  <STRONG>new_menu</STRONG>  creates a new menu connected to a
-       specified item pointer array (which  must  be  <STRONG>NULL</STRONG>-termi-
-       nated).
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The  function <STRONG>new_menu</STRONG> creates a new menu connected to a specified item
+       pointer array (which must be <STRONG>NULL</STRONG>-terminated).
 
-       The  function  <STRONG>free_menu</STRONG>  disconnects  <EM>menu</EM>  from its item
-       array and frees the storage allocated for the menu.
+       The function <STRONG>free_menu</STRONG> disconnects <EM>menu</EM> from its item array  and  frees
+       the storage allocated for the menu.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The function <STRONG>new_menu</STRONG> returns  <STRONG>NULL</STRONG>  on  error.   It  sets
-       errno according to the function's failure:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       The  function  <STRONG>new_menu</STRONG> returns <STRONG>NULL</STRONG> on error.  It sets <STRONG>errno</STRONG> according
+       to the function's failure:
 
        <STRONG>E_NOT_CONNECTED</STRONG>
             No items are connected to the menu.
@@ -84,41 +80,31 @@
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_SYSTEM_ERROR</STRONG>
-            System error occurred (see <STRONG>errno</STRONG>).
+            System error occurred (see <STRONG>errno(3)</STRONG>).
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_POSTED</STRONG>
             The menu has already been posted.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These routines emulate the  System  V  menu  library.   They  were  not
+       supported on Version 7 or BSD versions.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  emulate  the System V menu library.  They
-       were not supported on Version 7 or BSD versions.
-
-
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
 
 
 
-                                                           <STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                      <STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -126,10 +112,9 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/menu_opts.3x.html b/doc/html/man/menu_opts.3x.html
index d61c9d6..453526a 100644
--- a/doc/html/man/menu_opts.3x.html
+++ b/doc/html/man/menu_opts.3x.html
@@ -1,7 +1,7 @@
-<!-- 
-  * t
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2015,2016 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,53 +27,51 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: menu_opts.3x,v 1.12 2010/12/04 18:40:45 tom Exp @
+  * @Id: menu_opts.3x,v 1.35 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_opts 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>menu_opts 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">menu_opts 3x</H1>
+<H1 class="no-header">menu_opts 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>                                             <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>
+<STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>                    Library calls                   <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>menu_opts</STRONG> - set and get menu options
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>set_menu_opts</STRONG>,  <STRONG>menu_opts_on</STRONG>,  <STRONG>menu_opts_off</STRONG>,  <STRONG>menu_opts</STRONG>  - set and get
+       menu options
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
-       int set_menu_opts(MENU *menu, Menu_Options opts);
-       int menu_opts_on(MENU *menu, Menu_Options opts);
-       int menu_opts_off(MENU *menu, Menu_Options opts);
-       Menu_Options menu_opts(const MENU *menu);
+
+       <STRONG>int</STRONG> <STRONG>set_menu_opts(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>Menu_Options</STRONG> <EM>opts</EM><STRONG>);</STRONG>
+       <STRONG>Menu_Options</STRONG> <STRONG>menu_opts(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>menu_opts_on(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>Menu_Options</STRONG> <EM>opts</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>menu_opts_off(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>Menu_Options</STRONG> <EM>opts</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  function  <STRONG>set_menu_opts</STRONG>  sets  all  the  given menu's
-       option bits  (menu  option  bits  may  be  logically-OR'ed
-       together).
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The function <STRONG>set_menu_opts</STRONG> sets all the given menu's option bits  (menu
+       option bits may be logically-OR'ed together).
 
-       The  function <STRONG>menu_opts_on</STRONG> turns on the given option bits,
-       and leaves others alone.
+       The  function  <STRONG>menu_opts_on</STRONG>  turns on the given option bits, and leaves
+       others alone.
 
-       The function <STRONG>menu_opts_off</STRONG>  turns  off  the  given  option
-       bits, and leaves others alone.
+       The function <STRONG>menu_opts_off</STRONG> turns off the given option bits, and  leaves
+       others alone.
 
-       The  function  <STRONG>menu_opts</STRONG> returns the menu's current option
-       bits.
+       The function <STRONG>menu_opts</STRONG> returns the menu's current option bits.
 
        The following options are defined (all are on by default):
 
@@ -81,8 +79,7 @@
             Only one item can be selected for this menu.
 
        O_SHOWDESC
-            Display  the  item  descriptions  when  the  menu  is
-            posted.
+            Display the item descriptions when the menu is posted.
 
        O_ROWMAJOR
             Display the menu in row-major order.
@@ -91,53 +88,47 @@
             Ignore the case when pattern-matching.
 
        O_SHOWMATCH
-            Move  the  cursor  to within the item name while pat-
-            tern-matching.
+            Move the cursor to within the item name while pattern-matching.
 
        O_NONCYCLIC
-            Don't  wrap  around  next-item   and   previous-item,
-            requests to the other end of the menu.
+            Don't  wrap  around  next-item  and previous-item, requests to the
+            other end of the menu.
+
+       O_MOUSE_MENU
+            If user clicks with  the  mouse  and  it  does  not  fall  on  the
+            currently  active menu, push <STRONG>KEY_MOUSE</STRONG> and the <STRONG>MEVENT</STRONG> data back on
+            the queue to allow processing  in  another  part  of  the  calling
+            program.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Except for <STRONG>menu_opts</STRONG>, each routine returns one of the fol-
-       lowing:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       Except for <STRONG>menu_opts</STRONG>, each routine returns one of the following:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_SYSTEM_ERROR</STRONG>
-            System error occurred (see <STRONG>errno</STRONG>).
+            System error occurred (see <STRONG>errno(3)</STRONG>).
 
        <STRONG>E_POSTED</STRONG>
             The menu is already posted.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These  routines  emulate  the  System  V  menu  library.  They were not
+       supported on Version 7 or BSD versions.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  emulate  the System V menu library.  They
-       were not supported on Version 7 or BSD versions.
-
-
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
 
 
 
-                                                          <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                     <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -145,10 +136,9 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/menu_pattern.3x.html b/doc/html/man/menu_pattern.3x.html
index 997be0c..34d6f98 100644
--- a/doc/html/man/menu_pattern.3x.html
+++ b/doc/html/man/menu_pattern.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2010,2015 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,72 +27,62 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: menu_pattern.3x,v 1.13 2010/12/04 18:40:45 tom Exp @
+  * @Id: menu_pattern.3x,v 1.38 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_pattern 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>menu_pattern 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">menu_pattern 3x</H1>
+<H1 class="no-header">menu_pattern 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG>                                       <STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG>
+<STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG>                 Library calls                <STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>menu_pattern</STRONG> - get and set a menu's pattern buffer
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>set_menu_pattern</STRONG>, <STRONG>menu_pattern</STRONG> - set and get a menu's pattern buffer
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
-       int set_menu_pattern(MENU *menu, const char *pattern);
-       char *menu_pattern(const MENU *menu);
+
+       <STRONG>int</STRONG> <STRONG>set_menu_pattern(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>pattern</EM><STRONG>);</STRONG>
+       <STRONG>char</STRONG> <STRONG>*menu_pattern(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       Every  menu  has  an  associated pattern match buffer.  As
-       input events that are printable characters come  in,  they
-       are  appended to this match buffer and tested for a match,
-       as described in <STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       Every  menu  has  an  associated pattern match buffer.  As input events
+       that are printable characters come in, they are appended to this  match
+       buffer and tested for a match, as described in <STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG>.
 
-       The function <STRONG>set_menu_pattern</STRONG> sets the pattern buffer  for
-       the  given menu and tries to find the first matching item.
-       If it succeeds, that item becomes  current;  if  not,  the
-       current item does not change.
+       The  function  <STRONG>set_menu_pattern</STRONG>  sets  the pattern buffer for the given
+       menu and tries to find the first matching item.  If it  succeeds,  that
+       item becomes current; if not, the current item does not change.
 
-       The  function  <STRONG>menu_pattern</STRONG>  returns the pattern buffer of
-       the given <EM>menu</EM>.
+       The function <STRONG>menu_pattern</STRONG> returns the pattern buffer of the given <EM>menu</EM>.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The function <STRONG>menu_pattern</STRONG> returns a pointer, which is <STRONG>NULL</STRONG>
-       if the <EM>menu</EM> parameter is <STRONG>NULL</STRONG>.  Otherwise, it is a pointer
-       to a string which is empty if no pattern has been set.  It
-       does not set errno.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       The  function <STRONG>menu_pattern</STRONG> returns a pointer, which is <STRONG>NULL</STRONG> if the <EM>menu</EM>
+       parameter is <STRONG>NULL</STRONG>.  Otherwise, it is a pointer to  a  string  which  is
+       empty if no pattern has been set.  It does not set <STRONG>errno</STRONG>.
 
-       The  function  <STRONG>set_menu_pattern</STRONG>  may  return the following
-       error codes:
+       The function <STRONG>set_menu_pattern</STRONG> may return the following error codes:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_BAD_STATE</STRONG>
-            Routine was called from an initialization or termina-
-            tion function.
+            Routine was called from an initialization or termination function.
 
        <STRONG>E_NOT_CONNECTED</STRONG>
             No items are connected to menu.
@@ -100,34 +91,25 @@
             Character failed to match.
 
        <STRONG>E_SYSTEM_ERROR</STRONG>
-            System error occurred (see <STRONG>errno</STRONG>).
+            System error occurred (see <STRONG>errno(3)</STRONG>).
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These  routines  emulate  the  System  V  menu  library.  They were not
+       supported on Version 7 or BSD versions.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  emulate  the System V menu library.  They
-       were not supported on Version 7 or BSD versions.
-
-
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
 
 
 
-                                                       <STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                  <STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -135,10 +117,9 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/menu_post.3x.html b/doc/html/man/menu_post.3x.html
index ae275bf..6d48f77 100644
--- a/doc/html/man/menu_post.3x.html
+++ b/doc/html/man/menu_post.3x.html
@@ -1,7 +1,7 @@
-<!-- 
-  * t
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2016,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,74 +27,67 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: menu_post.3x,v 1.11 2010/12/04 18:40:45 tom Exp @
+  * @Id: menu_post.3x,v 1.36 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_post 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>menu_post 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">menu_post 3x</H1>
+<H1 class="no-header">menu_post 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG>                                             <STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG>
+<STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG>                    Library calls                   <STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>menu_post</STRONG>  -  write or erase menus from associated subwin-
-       dows
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>post_menu</STRONG>,   <STRONG>unpost_menu</STRONG>   -  write  or  erase  menus  from  associated
+       subwindows
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
-       int post_menu(MENU *menu);
-       int unpost_menu(MENU *menu);
+
+       <STRONG>int</STRONG> <STRONG>post_menu(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>unpost_menu(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The function <STRONG>post_menu</STRONG> displays a menu to  its  associated
-       subwindow.   To trigger physical display of the subwindow,
-       use  <STRONG>refresh</STRONG>  or  some  equivalent  <STRONG>curses</STRONG>  routine   (the
-       implicit  <STRONG>doupdate</STRONG>  triggered  by  an <STRONG>curses</STRONG> input request
-       will do). <STRONG>post_menu</STRONG> resets the  selection  status  of  all
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The function <STRONG>post_menu</STRONG> displays a menu to its associated subwindow.  To
+       trigger  physical  display  of  the  subwindow, use <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> or some
+       equivalent <STRONG>curses</STRONG> routine (the implicit <STRONG>doupdate</STRONG> triggered by an <STRONG>curses</STRONG>
+       input  request  will do).  <STRONG>post_menu</STRONG> resets the selection status of all
        items.
 
-       The  function  <STRONG>unpost_menu</STRONG> erases menu from its associated
-       subwindow.
+       The function <STRONG>unpost_menu</STRONG> erases menu from its associated subwindow.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
        These routines return one of the following:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_SYSTEM_ERROR</STRONG>
-            System error occurred (see <STRONG>errno</STRONG>).
+            System error occurred (see <STRONG>errno(3)</STRONG>).
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_POSTED</STRONG>
             The menu has already been posted.
 
        <STRONG>E_BAD_STATE</STRONG>
-            Routine was called from an initialization or termina-
-            tion function.
+            Routine was called from an initialization or termination function.
 
        <STRONG>E_NO_ROOM</STRONG>
-            Menu is too large for its window. You should consider
-            to use <STRONG>set_menu_format()</STRONG> to solve the problem.
+            Menu is too large for  its  window.   You  should  consider  using
+            <STRONG>set_menu_format</STRONG> to solve the problem.
 
        <STRONG>E_NOT_POSTED</STRONG>
             The menu has not been posted.
@@ -103,31 +96,22 @@
             No items are connected to the menu.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These  routines  emulate  the  System  V  menu  library.  They were not
+       supported on Version 7 or BSD versions.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines emulate the System V  menu  library.   They
-       were not supported on Version 7 or BSD versions.
-
-
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
 
 
 
-                                                          <STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                     <STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -135,10 +119,9 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/menu_requestname.3x.html b/doc/html/man/menu_requestname.3x.html
index 649a541..0a06ada 100644
--- a/doc/html/man/menu_requestname.3x.html
+++ b/doc/html/man/menu_requestname.3x.html
@@ -1,7 +1,7 @@
-<!-- 
-  * t
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2010,2015 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,81 +27,69 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: menu_requestname.3x,v 1.9 2010/12/04 18:40:45 tom Exp @
+  * @Id: menu_requestname.3x,v 1.33 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_requestname 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>menu_requestname 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">menu_requestname 3x</H1>
+<H1 class="no-header">menu_requestname 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG>                               <STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG>
+<STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG>             Library calls            <STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>menu_requestname</STRONG> - handle printable menu request names
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>menu_request_by_name</STRONG>, <STRONG>menu_request_name</STRONG> - handle printable menu request
+       names
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
-       const char *menu_request_name(int request);
-       int menu_request_by_name(const char *name);
+
+       <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*menu_request_name(int</STRONG> <EM>request</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>menu_request_by_name(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>name</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  function <STRONG>menu_request_name</STRONG> returns the printable name
-       of a menu request code.
-       The function <STRONG>menu_request_by_name</STRONG> searches in the name-ta-
-       ble  for  a  request  with  the given name and returns its
-       request code.  Otherwise E_NO_MATCH is returned.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The function <STRONG>menu_request_name</STRONG> returns the printable  name  of  a  menu
+       request code.
+       The  function  <STRONG>menu_request_by_name</STRONG>  searches  in  the name-table for a
+       request with the given name and returns its  request  code.   Otherwise
+       E_NO_MATCH is returned.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       <STRONG>menu_request_name</STRONG> returns <STRONG>NULL</STRONG> on error and sets errno  to
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       <STRONG>menu_request_name</STRONG>   returns   <STRONG>NULL</STRONG>   on   error   and   sets  <STRONG>errno</STRONG>  to
        <STRONG>E_BAD_ARGUMENT</STRONG>.
-       <STRONG>menu_request_by_name</STRONG> returns <STRONG>E_NO_MATCH</STRONG> on error.  It does
-       not set errno.
+       <STRONG>menu_request_by_name</STRONG> returns <STRONG>E_NO_MATCH</STRONG> on  error.   It  does  not  set
+       <STRONG>errno</STRONG>.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These  routines  are  specific  to <EM>ncurses</EM>.  They were not supported on
+       Version 7, BSD or System V implementations.  It is recommended that any
+       code depending on them be conditioned using NCURSES_VERSION.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  are  specific  to ncurses.  They were not
-       supported on Version 7, BSD or System  V  implementations.
-       It  is recommended that any code depending on them be con-
-       ditioned using NCURSES_VERSION.
-
-
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
 
 
 
-                                                   <STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16              <STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -109,10 +97,9 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/menu_spacing.3x.html b/doc/html/man/menu_spacing.3x.html
index d067211..5526b4d 100644
--- a/doc/html/man/menu_spacing.3x.html
+++ b/doc/html/man/menu_spacing.3x.html
@@ -1,7 +1,7 @@
-<!-- 
-  * t
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2004,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2010,2015 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,98 +27,93 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: menu_spacing.3x,v 1.12 2010/12/04 18:38:55 tom Exp @
+  * @Id: menu_spacing.3x,v 1.37 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_spacing 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>menu_spacing 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">menu_spacing 3x</H1>
+<H1 class="no-header">menu_spacing 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG>                                       <STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG>
+<STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG>                 Library calls                <STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>menu_spacing</STRONG> - Control spacing between menu items.
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>set_menu_spacing</STRONG>,  <STRONG>menu_spacing</STRONG>  -  set  and  get  spacing between menu
+       items.
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
-       int set_menu_spacing(MENU *menu,
-                            int spc_description,
-                            int spc_rows,
-                            int spc_columns);
-       int menu_spacing(const MENU *menu,
-                        int* spc_description,
-                        int* spc_rows,
-                        int* spc_columns);
+
+       <STRONG>int</STRONG> <STRONG>set_menu_spacing(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG>
+                            <STRONG>int</STRONG> <EM>spc</EM><STRONG>_</STRONG><EM>description</EM><STRONG>,</STRONG>
+                            <STRONG>int</STRONG> <EM>spc</EM><STRONG>_</STRONG><EM>rows</EM><STRONG>,</STRONG>
+                            <STRONG>int</STRONG> <EM>spc</EM><STRONG>_</STRONG><EM>columns</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>menu_spacing(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG>
+                        <STRONG>int*</STRONG> <EM>spc</EM><STRONG>_</STRONG><EM>description</EM><STRONG>,</STRONG>
+                        <STRONG>int*</STRONG> <EM>spc</EM><STRONG>_</STRONG><EM>rows</EM><STRONG>,</STRONG>
+                        <STRONG>int*</STRONG> <EM>spc</EM><STRONG>_</STRONG><EM>columns</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The function <STRONG>set_menu_spacing</STRONG> sets the spacing information
-       for the menu.  Its parameter <STRONG>spc_description</STRONG> controls  the
-       number of spaces between an item name and an item descrip-
-       tion.  It must not be larger than <STRONG>TABSIZE</STRONG>.  The menu  sys-
-       tem  puts in the middle of this spacing area the pad char-
-       acter.  The remaining parts are filled with  spaces.   The
-       <STRONG>spc_rows</STRONG>  parameter  controls  the number of rows that are
-       used for an item.  It must not be larger than 3.  The menu
-       system  inserts  the  blank lines between item rows, these
-       lines will contain the pad character  in  the  appropriate
-       positions.   The <STRONG>spc_columns</STRONG> parameter controls the number
-       of blanks between columns of items.  It must not be larger
-       than  TABSIZE.   A  value  of 0 for all the spacing values
-       resets them to the default, which is 1 for all of them.
-       The function <STRONG>menu_spacing</STRONG> passes back the spacing info for
-       the  menu.   If  a  pointer is NULL, this specific info is
-       simply not returned.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The function <STRONG>set_menu_spacing</STRONG> sets  the  spacing  information  for  the
+       menu.  Its parameters provide the description and the size (in rows and
+       columns).
+
+       <EM>spc</EM><STRONG>_</STRONG><EM>description</EM>
+              controls the number of spaces between an item name and  an  item
+              description.   It  must  not  be  larger than <STRONG>TABSIZE</STRONG>.  The menu
+              system  puts  in  the  middle  of  this  spacing  area  the  pad
+              character.  The remaining parts are filled with spaces.
+
+       <EM>spc</EM><STRONG>_</STRONG><EM>rows</EM>
+              controls  the number of rows that are used for an item.  It must
+              not be larger than 3.  The menu system inserts the  blank  lines
+              between item rows, these lines will contain the pad character in
+              the appropriate positions.
+
+       <EM>spc</EM><STRONG>_</STRONG><EM>columns</EM>
+              controls the number of blanks between columns of items.  It must
+              not  be  larger  than <STRONG>TABSIZE</STRONG>.  A value of 0 for all the spacing
+              values resets them to the default, which is 1 for all of them.
+
+       The function <STRONG>menu_spacing</STRONG> returns the spacing information for the menu.
+       If  a  pointer  is  NULL,  the  corresponding information is simply not
+       returned.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Both routines return <STRONG>E_OK</STRONG>  on  success.   <STRONG>set_menu_spacing</STRONG>
-       may  return <STRONG>E_POSTED</STRONG> if the menu is posted, or <STRONG>E_BAD_ARGU-</STRONG>
-       <STRONG>MENT</STRONG> if one of the spacing values is out of range.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       Both routines return <STRONG>E_OK</STRONG>  on  success.   <STRONG>set_menu_spacing</STRONG>  may  return
+       <STRONG>E_POSTED</STRONG> if the menu is posted, or <STRONG>E_BAD_ARGUMENT</STRONG> if one of the spacing
+       values is out of range.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These routines are specific to <EM>ncurses</EM>.  They  were  not  supported  on
+       Version 7, BSD or System V implementations.  It is recommended that any
+       code depending on them be conditioned using NCURSES_VERSION.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  are  specific  to ncurses.  They were not
-       supported on Version 7, BSD or System  V  implementations.
-       It  is recommended that any code depending on them be con-
-       ditioned using NCURSES_VERSION.
-
-
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
 
 
 
-                                                       <STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                  <STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -126,10 +121,9 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/menu_userptr.3x.html b/doc/html/man/menu_userptr.3x.html
index 65463b4..d2b52f1 100644
--- a/doc/html/man/menu_userptr.3x.html
+++ b/doc/html/man/menu_userptr.3x.html
@@ -1,7 +1,7 @@
-<!-- 
-  * t
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2010,2015 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,81 +27,69 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: menu_userptr.3x,v 1.10 2010/12/04 18:40:45 tom Exp @
+  * @Id: menu_userptr.3x,v 1.33 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_userptr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>menu_userptr 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">menu_userptr 3x</H1>
+<H1 class="no-header">menu_userptr 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG>                                       <STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG>
+<STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG>                 Library calls                <STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>menu_userptr</STRONG> - associate application data with a menu item
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>set_menu_userptr</STRONG>, <STRONG>menu_userptr</STRONG> - associate application data with a menu
+       item
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
-       int set_menu_userptr(MENU *menu, void *userptr);
-       void *menu_userptr(const MENU *menu);
+
+       <STRONG>int</STRONG> <STRONG>set_menu_userptr(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>userptr</EM><STRONG>);</STRONG>
+       <STRONG>void</STRONG> <STRONG>*menu_userptr(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       Every  menu  and  every  menu item has a field that can be
-       used to hold application-specific data (that is, the menu-
-       driver code leaves it alone).  These functions get and set
-       the menu user pointer field.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       Every menu and every menu item has a field that can  be  used  to  hold
+       application-specific  data  (that  is,  the  menu-driver code leaves it
+       alone).  These functions get and set the menu user pointer field.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       <STRONG>menu_userptr</STRONG> returns a pointer (which may  be  <STRONG>NULL</STRONG>).   It
-       does not set errno.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       <STRONG>menu_userptr</STRONG> returns a pointer (which may be <STRONG>NULL</STRONG>).  It  does  not  set
+       <STRONG>errno</STRONG>.
 
        <STRONG>set_menu_userptr</STRONG> returns <STRONG>E_OK</STRONG> (success).
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These  routines  emulate  the  System  V  menu  library.  They were not
+       supported on Version 7 or BSD versions.
+
+       The user pointer is a void pointer.  We chose not to leave it as a char
+       pointer for SVr4 compatibility.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines emulate the System V  menu  library.   They
-       were not supported on Version 7 or BSD versions.
-
-       The user pointer is a void pointer.  We chose not to leave
-       it as a char pointer for SVr4 compatibility.
-
-
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
 
 
 
-                                                       <STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                  <STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -109,10 +97,9 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/menu_win.3x.html b/doc/html/man/menu_win.3x.html
index 1321df1..9688e0f 100644
--- a/doc/html/man/menu_win.3x.html
+++ b/doc/html/man/menu_win.3x.html
@@ -1,7 +1,7 @@
-<!-- 
-  * t
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2006,2010 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,75 +27,70 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: menu_win.3x,v 1.11 2010/12/04 18:38:55 tom Exp @
+  * @Id: menu_win.3x,v 1.32 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_win 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>menu_win 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">menu_win 3x</H1>
+<H1 class="no-header">menu_win 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG>                                               <STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG>
+<STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG>                     Library calls                    <STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>menu_win</STRONG>  - make and break menu window and subwindow asso-
-       ciations
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>menu_win</STRONG> - make and break menu window and subwindow associations
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
-       int set_menu_win(MENU *menu, WINDOW *win);
-       WINDOW *menu_win(const MENU *menu);
-       int set_menu_sub(MENU *menu, WINDOW *sub);
-       WINDOW *menu_sub(const MENU *menu);
-       int scale_menu(const MENU *menu, int *rows, int *columns);
+
+       <STRONG>int</STRONG> <STRONG>set_menu_win(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+       <STRONG>WINDOW</STRONG> <STRONG>*menu_win(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>set_menu_sub(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>sub</EM><STRONG>);</STRONG>
+       <STRONG>WINDOW</STRONG> <STRONG>*menu_sub(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>scale_menu(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>rows</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>columns</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       Every menu has an associated pair of <STRONG>curses</STRONG> windows.   The
-       menu  window displays any title and border associated with
-       the window; the menu subwindow displays the items  of  the
-       menu that are currently available for selection.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       Every  menu  has an associated pair of <STRONG>curses</STRONG> windows.  The menu window
+       displays any title and border associated  with  the  window;  the  menu
+       subwindow  displays  the items of the menu that are currently available
+       for selection.
 
-       The first four functions get and set those windows.  It is
-       not necessary to set either window; by default, the driver
-       code uses <STRONG>stdscr</STRONG> for both.
+       The first four  functions  get  and  set  those  windows.   It  is  not
+       necessary to set either window; by default, the driver code uses <STRONG>stdscr</STRONG>
+       for both.
 
-       In  the <STRONG>set_</STRONG> functions, window argument of <STRONG>NULL</STRONG> is treated
-       as though it were <STRONG>stsdcr</STRONG>.  A  menu  argument  of  <STRONG>NULL</STRONG>  is
-       treated  as  a  request  to change the system default menu
-       window or subwindow.
+       In the <STRONG>set_</STRONG> functions, window argument of <STRONG>NULL</STRONG> is treated as though  it
+       were <STRONG>stsdcr</STRONG>.  A menu argument of <STRONG>NULL</STRONG> is treated as a request to change
+       the system default menu window or subwindow.
 
-       The function <STRONG>scale_menu</STRONG> returns the minimum size  required
-       for the subwindow of <EM>menu</EM>.
+       The function <STRONG>scale_menu</STRONG> returns  the  minimum  size  required  for  the
+       subwindow of <EM>menu</EM>.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Routines  that return pointers return <STRONG>NULL</STRONG> on error.  Rou-
-       tines that return an integer return one of  the  following
-       error codes:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       Routines  that  return  pointers  return  <STRONG>NULL</STRONG> on error.  Routines that
+       return an integer return one of the following error codes:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_SYSTEM_ERROR</STRONG>
-            System error occurred (see <STRONG>errno</STRONG>).
+            System error occurred (see <STRONG>errno(3)</STRONG>).
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_POSTED</STRONG>
             The menu has already been posted.
@@ -104,31 +99,22 @@
             No items are connected to the menu.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These routines emulate the  System  V  menu  library.   They  were  not
+       supported on Version 7 or BSD versions.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  emulate  the System V menu library.  They
-       were not supported on Version 7 or BSD versions.
-
-
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
 
 
 
-                                                           <STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                      <STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -136,10 +122,9 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/mitem_current.3x.html b/doc/html/man/mitem_current.3x.html
index 2ee61a2..ea8a33f 100644
--- a/doc/html/man/mitem_current.3x.html
+++ b/doc/html/man/mitem_current.3x.html
@@ -1,7 +1,7 @@
-<!-- 
-  * t
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2006,2010 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,115 +27,99 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: mitem_current.3x,v 1.13 2010/12/04 18:40:45 tom Exp @
+  * @Id: mitem_current.3x,v 1.37 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>mitem_current 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>mitem_current 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">mitem_current 3x</H1>
+<H1 class="no-header">mitem_current 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG>                                     <STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG>
+<STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG>                Library calls               <STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
        <STRONG>mitem_current</STRONG> - set and get current_menu_item
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
-       int set_current_item(MENU *menu, const ITEM *item);
-       ITEM *current_item(const MENU *menu);
-       int set_top_row(MENU *menu, int row);
-       int top_row(const MENU *menu);
-       int item_index(const ITEM *item);
+
+       <STRONG>int</STRONG> <STRONG>set_current_item(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>ITEM</STRONG> <STRONG>*</STRONG><EM>item</EM><STRONG>);</STRONG>
+       <STRONG>ITEM</STRONG> <STRONG>*current_item(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>set_top_row(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>row</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>top_row(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>item_index(const</STRONG> <STRONG>ITEM</STRONG> <STRONG>*</STRONG><EM>item</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  function  <STRONG>set_current_item</STRONG> sets the current item (the
-       item on  which  the  menu  cursor  is  positioned).   <STRONG>cur-</STRONG>
-       <STRONG>rent_item</STRONG>  returns  a  pointer  to the current item in the
-       given menu.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The  function <STRONG>set_current_item</STRONG> sets the current item (the item on which
+       the menu cursor is positioned).  <STRONG>current_item</STRONG> returns a pointer to  the
+       current item in the given menu.
 
-       The function <STRONG>set_top_row</STRONG> sets the top row of the  menu  to
-       show  the  given  row  (the top row is initially 0, and is
-       reset to this value whenever the <STRONG>O_ROWMAJOR</STRONG> option is tog-
-       gled).   The  item  leftmost on the given row becomes cur-
-       rent.  The function <STRONG>top_row</STRONG> returns the number of the  top
+       The function <STRONG>set_top_row</STRONG> sets the top row of the menu to show the given
+       row (the top row is initially 0, and is reset to  this  value  whenever
+       the  <STRONG>O_ROWMAJOR</STRONG> option is toggled).  The item leftmost on the given row
+       becomes current.  The function <STRONG>top_row</STRONG> returns the number  of  the  top
        menu row being displayed.
 
-       The function <STRONG>item_index</STRONG> returns the (zero-origin) index of
-       <EM>item</EM> in the menu's item pointer list.
+       The  function <STRONG>item_index</STRONG> returns the (zero-origin) index of <EM>item</EM> in the
+       menu's item pointer list.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       <STRONG>current_item</STRONG> returns a pointer (which may  be  <STRONG>NULL</STRONG>).   It
-       does not set errno.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       <STRONG>current_item</STRONG> returns a pointer (which may be <STRONG>NULL</STRONG>).  It  does  not  set
+       <STRONG>errno</STRONG>.
 
-       <STRONG>top_row</STRONG>  and  <STRONG>item_index</STRONG>  return  <STRONG>ERR</STRONG>  (the general <STRONG>curses</STRONG>
-       error value) if their <EM>menu</EM> parameter is <STRONG>NULL</STRONG>.
+       <STRONG>top_row</STRONG>  and  <STRONG>item_index</STRONG> return <STRONG>ERR</STRONG> (the general <STRONG>curses</STRONG> error value) if
+       their <EM>menu</EM> parameter is <STRONG>NULL</STRONG>.
 
-       <STRONG>set_current_item</STRONG> and <STRONG>set_top_row</STRONG> return one of the follow-
-       ing:
+       <STRONG>set_current_item</STRONG> and <STRONG>set_top_row</STRONG> return one of the following:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_BAD_STATE</STRONG>
-            Routine was called from an initialization or termina-
-            tion function.
+            Routine was called from an initialization or termination function.
 
        <STRONG>E_NOT_CONNECTED</STRONG>
             No items are connected to the menu.
 
        <STRONG>E_SYSTEM_ERROR</STRONG>
-            System error occurred (see <STRONG>errno</STRONG>).
+            System error occurred (see <STRONG>errno(3)</STRONG>).
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These routines emulate the  System  V  menu  library.   They  were  not
+       supported on Version 7 or BSD versions.
+
+       The   SVr4   menu  library  documentation  specifies  the  <STRONG>top_row</STRONG>  and
+       <STRONG>index_item</STRONG> error value as -1 (which is the value of <STRONG>ERR</STRONG>).
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines emulate the System V  menu  library.   They
-       were not supported on Version 7 or BSD versions.
-
-       The  SVr4 menu library documentation specifies the <STRONG>top_row</STRONG>
-       and <STRONG>index_item</STRONG> error value as -1 (which is  the  value  of
-       <STRONG>ERR</STRONG>).
-
-
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
 
 
 
-                                                      <STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                 <STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -143,10 +127,9 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/mitem_name.3x.html b/doc/html/man/mitem_name.3x.html
index fd73c6b..1ff53c8 100644
--- a/doc/html/man/mitem_name.3x.html
+++ b/doc/html/man/mitem_name.3x.html
@@ -1,7 +1,7 @@
-<!-- 
-  * t
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2010,2015 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,76 +27,63 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: mitem_name.3x,v 1.8 2010/12/04 18:40:45 tom Exp @
+  * @Id: mitem_name.3x,v 1.31 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>mitem_name 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>mitem_name 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">mitem_name 3x</H1>
+<H1 class="no-header">mitem_name 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG>                                           <STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG>
+<STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG>                   Library calls                  <STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>mitem_name</STRONG> - get menu item name and description fields
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>item_name</STRONG>, <STRONG>item_description</STRONG> - get menu item name and description fields
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
-       const char *item_name(const ITEM *item);
-       const char *item_description(const ITEM *item);
+
+       <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*item_name(const</STRONG> <STRONG>ITEM</STRONG> <STRONG>*</STRONG><EM>item</EM><STRONG>);</STRONG>
+       <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*item_description(const</STRONG> <STRONG>ITEM</STRONG> <STRONG>*</STRONG><EM>item</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  function <STRONG>item_name</STRONG> returns the name part of the given
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The function <STRONG>item_name</STRONG> returns the name part of the given item.
+       The function <STRONG>item_description</STRONG> returns the description part of the given
        item.
-       The function <STRONG>item_description</STRONG> returns the description part
-       of the given item.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       These routines return a pointer (which may be <STRONG>NULL</STRONG>).  They
-       do not set errno.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       These routines return a pointer (which may be <STRONG>NULL</STRONG>).  They do  not  set
+       <STRONG>errno</STRONG>.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These  routines  emulate  the  System  V  menu  library.  They were not
+       supported on Version 7 or BSD versions.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  emulate  the System V menu library.  They
-       were not supported on Version 7 or BSD versions.
-
-
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
 
 
 
-                                                         <STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                    <STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -104,10 +91,9 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/mitem_new.3x.html b/doc/html/man/mitem_new.3x.html
index 58ceafa..b4ed667 100644
--- a/doc/html/man/mitem_new.3x.html
+++ b/doc/html/man/mitem_new.3x.html
@@ -1,7 +1,7 @@
-<!-- 
-  * t
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2010,2015 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,59 +27,53 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: mitem_new.3x,v 1.12 2010/12/04 18:40:45 tom Exp @
+  * @Id: mitem_new.3x,v 1.36 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>mitem_new 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>mitem_new 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">mitem_new 3x</H1>
+<H1 class="no-header">mitem_new 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG>                                             <STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG>
+<STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG>                    Library calls                   <STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>mitem_new</STRONG> - create and destroy menu items
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>new_item</STRONG>, <STRONG>free_item</STRONG> - create and destroy menu items
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
-       ITEM *new_item(const char *name, const char *description);
-       int free_item(ITEM *item);
+
+       <STRONG>ITEM</STRONG> <STRONG>*new_item(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>name</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>description</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>free_item(ITEM</STRONG> <STRONG>*</STRONG><EM>item</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The function <STRONG>new_item</STRONG> allocates a new item and initializes
-       it from the <STRONG>name</STRONG> and <STRONG>description</STRONG> pointers.  Please  notice
-       that  the  item  stores  only the pointers to the name and
-       description. Those pointers must be valid during the life-
-       time of the item. So you should be very careful with names
-       or descriptions allocated on the stack of some routines.
-       The function <STRONG>free_item</STRONG> de-allocates an item. Please notice
-       that  it  is  the  responsibility  of  the  application to
-       release the memory for the name or the description of  the
-       item.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The  function <STRONG>new_item</STRONG> allocates a new item and initializes it from the
+       <STRONG>name</STRONG> and <STRONG>description</STRONG> pointers.  Please notice that the item stores only
+       the pointers to the name and description.  Those pointers must be valid
+       during the lifetime of the item.  So you should be  very  careful  with
+       names or descriptions allocated on the stack of some routines.
+       The  function <STRONG>free_item</STRONG> de-allocates an item.  Please notice that it is
+       the responsibility of the application to release  the  memory  for  the
+       name or the description of the item.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The  function  <STRONG>new_item</STRONG>  returns  <STRONG>NULL</STRONG>  on error.  It sets
-       errno according to the function's failure:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       The  function  <STRONG>new_item</STRONG> returns <STRONG>NULL</STRONG> on error.  It sets <STRONG>errno</STRONG> according
+       to the function's failure:
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_SYSTEM_ERROR</STRONG>
             System error occurred, e.g., malloc failure.
@@ -89,41 +83,31 @@
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_BAD_ARGUMENT</STRONG>
-            Routine  detected  an incorrect or out-of-range argu-
-            ment.
+            Routine detected an incorrect or out-of-range argument.
 
        <STRONG>E_CONNECTED</STRONG>
             Item is connected to a menu.
 
        <STRONG>E_SYSTEM_ERROR</STRONG>
-            System error occurred (see <STRONG>errno</STRONG>).
+            System error occurred (see <STRONG>errno(3)</STRONG>).
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These routines emulate the  System  V  menu  library.   They  were  not
+       supported on Version 7 or BSD versions.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  emulate  the System V menu library.  They
-       were not supported on Version 7 or BSD versions.
-
-
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
 
 
 
-                                                          <STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                     <STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -131,10 +115,9 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/mitem_opts.3x.html b/doc/html/man/mitem_opts.3x.html
index 3932564..537a913 100644
--- a/doc/html/man/mitem_opts.3x.html
+++ b/doc/html/man/mitem_opts.3x.html
@@ -1,7 +1,7 @@
-<!-- 
-  * t
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2010,2015 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,95 +27,82 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: mitem_opts.3x,v 1.11 2010/12/04 18:40:45 tom Exp @
+  * @Id: mitem_opts.3x,v 1.33 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>mitem_opts 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>mitem_opts 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">mitem_opts 3x</H1>
+<H1 class="no-header">mitem_opts 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG>                                           <STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG>
+<STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG>                   Library calls                  <STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>mitem_opts</STRONG> - set and get menu item options
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>set_item_opts</STRONG>,  <STRONG>item_opts_on</STRONG>,  <STRONG>item_opts_off</STRONG>,  <STRONG>item_opts</STRONG>  - set and get
+       menu item options
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
-       int set_item_opts(ITEM *item, Item_Options opts);
-       int item_opts_on(ITEM *item, Item_Options opts);
-       int item_opts_off(ITEM *item, Item_Options opts);
-       Item_Options item_opts(const ITEM *item);
+
+       <STRONG>int</STRONG> <STRONG>set_item_opts(ITEM</STRONG> <STRONG>*</STRONG><EM>item</EM><STRONG>,</STRONG> <STRONG>Item_Options</STRONG> <EM>opts</EM><STRONG>);</STRONG>
+       <STRONG>Item_Options</STRONG> <STRONG>item_opts(const</STRONG> <STRONG>ITEM</STRONG> <STRONG>*</STRONG><EM>item</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>item_opts_on(ITEM</STRONG> <STRONG>*</STRONG><EM>item</EM><STRONG>,</STRONG> <STRONG>Item_Options</STRONG> <EM>opts</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>item_opts_off(ITEM</STRONG> <STRONG>*</STRONG><EM>item</EM><STRONG>,</STRONG> <STRONG>Item_Options</STRONG> <EM>opts</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  function  <STRONG>set_item_opts</STRONG>  sets  all  the  given item's
-       option bits  (menu  option  bits  may  be  logically-OR'ed
-       together).
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The function <STRONG>set_item_opts</STRONG> sets all the given item's option bits  (menu
+       option bits may be logically-OR'ed together).
 
-       The  function <STRONG>item_opts_on</STRONG> turns on the given option bits,
-       and leaves others alone.
+       The  function  <STRONG>item_opts_on</STRONG>  turns on the given option bits, and leaves
+       others alone.
 
-       The function <STRONG>item_opts_off</STRONG>  turns  off  the  given  option
-       bits, and leaves others alone.
+       The function <STRONG>item_opts_off</STRONG> turns off the given option bits, and  leaves
+       others alone.
 
-       The  function  <STRONG>item_opts</STRONG> returns the item's current option
-       bits.
+       The function <STRONG>item_opts</STRONG> returns the item's current option bits.
 
-       There is only one defined option bit  mask,  <STRONG>O_SELECTABLE</STRONG>.
-       When this is on, the item may be selected during menu pro-
-       cessing.  This option defaults to on.
+       There  is only one defined option bit mask, <STRONG>O_SELECTABLE</STRONG>.  When this is
+       on, the item may be  selected  during  menu  processing.   This  option
+       defaults to on.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Except for <STRONG>item_opts</STRONG>, each routine returns one of the fol-
-       lowing:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       Except for <STRONG>item_opts</STRONG>, each routine returns one of the following:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_SYSTEM_ERROR</STRONG>
-            System error occurred (see <STRONG>errno</STRONG>).
+            System error occurred (see <STRONG>errno(3)</STRONG>).
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These  routines  emulate  the  System  V  menu  library.  They were not
+       supported on Version 7 or BSD versions.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines emulate the System V  menu  library.   They
-       were not supported on Version 7 or BSD versions.
-
-
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
-       curses by Eric S. Raymond.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
 
 
 
-                                                         <STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                    <STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -123,10 +110,9 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/mitem_userptr.3x.html b/doc/html/man/mitem_userptr.3x.html
index 881d852..afb442d 100644
--- a/doc/html/man/mitem_userptr.3x.html
+++ b/doc/html/man/mitem_userptr.3x.html
@@ -1,7 +1,7 @@
-<!-- 
-  * t
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2010,2015 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,81 +27,69 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: mitem_userptr.3x,v 1.11 2010/12/04 18:40:45 tom Exp @
+  * @Id: mitem_userptr.3x,v 1.34 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>mitem_userptr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>mitem_userptr 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">mitem_userptr 3x</H1>
+<H1 class="no-header">mitem_userptr 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG>                                     <STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG>
+<STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG>                Library calls               <STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>mitem_userptr</STRONG>  -  associate  application  data with a menu
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>set_item_userptr</STRONG>, <STRONG>item_userptr</STRONG> - associate application data with a menu
        item
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
-       int set_item_userptr(ITEM *item, void *userptr);
-       void *item_userptr(const ITEM *item);
+
+       <STRONG>int</STRONG> <STRONG>set_item_userptr(ITEM</STRONG> <STRONG>*</STRONG><EM>item</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>userptr</EM><STRONG>);</STRONG>
+       <STRONG>void</STRONG> <STRONG>*item_userptr(const</STRONG> <STRONG>ITEM</STRONG> <STRONG>*</STRONG><EM>item</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       Every menu item has a field  that  can  be  used  to  hold
-       application-specific  data  (that is, the menu-driver code
-       leaves it alone).  These functions get and set that field.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       Every menu item has a field that  can  be  used  to  hold  application-
+       specific  data  (that is, the menu-driver code leaves it alone).  These
+       functions get and set that field.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The function  <STRONG>item_userptr</STRONG>  returns  a  pointer  (possibly
-       <STRONG>NULL</STRONG>).  It does not set errno.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       The function <STRONG>item_userptr</STRONG> returns a pointer (possibly <STRONG>NULL</STRONG>).   It  does
+       not set <STRONG>errno</STRONG>.
 
        The <STRONG>set_item_userptr</STRONG> always returns <STRONG>E_OK</STRONG> (success).
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These  routines  emulate  the  System  V  menu  library.  They were not
+       supported on Version 7 or BSD versions.
+
+       The user pointer is a void pointer.  We chose not to leave it as a char
+       pointer for SVr4 compatibility.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These routines emulate the System V  menu  library.   They
-       were not supported on Version 7 or BSD versions.
-
-       The user pointer is a void pointer.  We chose not to leave
-       it as a char pointer for SVr4 compatibility.
-
-
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
 
 
 
-                                                      <STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                 <STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -109,10 +97,9 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/mitem_value.3x.html b/doc/html/man/mitem_value.3x.html
index d68ba28..01ce5d5 100644
--- a/doc/html/man/mitem_value.3x.html
+++ b/doc/html/man/mitem_value.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2010,2015 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,87 +27,74 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: mitem_value.3x,v 1.10 2010/12/04 18:40:45 tom Exp @
+  * @Id: mitem_value.3x,v 1.32 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>mitem_value 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>mitem_value 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">mitem_value 3x</H1>
+<H1 class="no-header">mitem_value 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG>                                         <STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG>
+<STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG>                  Library calls                 <STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>mitem_value</STRONG> - set and get menu item values
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>set_item_value</STRONG>, <STRONG>item_value</STRONG> - set and get menu item values
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
-       int set_item_value(ITEM *item, bool value);
-       bool item_value(const ITEM *item);
+
+       <STRONG>int</STRONG> <STRONG>set_item_value(ITEM</STRONG> <STRONG>*</STRONG><EM>item</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>value</EM><STRONG>);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>item_value(const</STRONG> <STRONG>ITEM</STRONG> <STRONG>*</STRONG><EM>item</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       If  you  turn  off  the menu option <STRONG>O_ONEVALUE</STRONG> (e.g., with
-       <STRONG>set_menu_opts</STRONG> or <STRONG>menu_opts_off</STRONG>;  see  <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>),  the
-       menu becomes multi-valued; that is, more than one item may
-       simultaneously be selected.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       If you turn off the menu option <STRONG>O_ONEVALUE</STRONG> (e.g., with <STRONG>set_menu_opts</STRONG> or
+       <STRONG>menu_opts_off</STRONG>; see <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>), the menu becomes multi-valued;  that
+       is, more than one item may simultaneously be selected.
 
-       In a multi_valued menu, you  can  used  <STRONG>set_item_value</STRONG>  to
-       select the given menu item (second argument <STRONG>TRUE</STRONG>) or dese-
-       lect it (second argument <STRONG>FALSE</STRONG>).
+       In a multi_valued menu, you can used <STRONG>set_item_value</STRONG> to select the given
+       menu item (second  argument  <STRONG>TRUE</STRONG>)  or  deselect  it  (second  argument
+       <STRONG>FALSE</STRONG>).
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
        The function <STRONG>set_item_value</STRONG> returns one of the following:
 
        <STRONG>E_OK</STRONG> The routine succeeded.
 
        <STRONG>E_SYSTEM_ERROR</STRONG>
-            System error occurred (see <STRONG>errno</STRONG>).
+            System error occurred (see <STRONG>errno(3)</STRONG>).
 
        <STRONG>E_REQUEST_DENIED</STRONG>
             The menu driver could not process the request.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These  routines  emulate  the  System  V  menu  library.  They were not
+       supported on Version 7 or BSD versions.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  emulate  the System V menu library.  They
-       were not supported on Version 7 or BSD versions.
-
-
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
 
 
 
-                                                        <STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                   <STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -114,10 +102,9 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/mitem_visible.3x.html b/doc/html/man/mitem_visible.3x.html
index 7027e52..8224323 100644
--- a/doc/html/man/mitem_visible.3x.html
+++ b/doc/html/man/mitem_visible.3x.html
@@ -1,7 +1,7 @@
-<!-- 
-  * t
+<!--
   ****************************************************************************
-  * Copyright (c) 1998,2010 Free Software Foundation, Inc.                   *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998,2010 Free Software Foundation, Inc.                       *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,79 +27,66 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: mitem_visible.3x,v 1.7 2010/12/04 18:40:45 tom Exp @
+  * @Id: mitem_visible.3x,v 1.27 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>mitem_visible 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>mitem_visible 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">mitem_visible 3x</H1>
+<H1 class="no-header">mitem_visible 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG>                                     <STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG>
+<STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG>                Library calls               <STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>mitem_visible</STRONG> - check visibility of a menu item
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>item_visible</STRONG> - check visibility of a menu item
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
-       bool item_visible(const ITEM *item);
+
+       <STRONG>bool</STRONG> <STRONG>item_visible(const</STRONG> <STRONG>ITEM</STRONG> <STRONG>*</STRONG><EM>item</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       A  menu  item  is  visible  when it is in the portion of a
-       posted menu that is mapped onto the screen (if the menu is
-       scrollable,  in  particular,  this portion will be smaller
-       than the whole menu).
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       A  menu item is visible when it is in the portion of a posted menu that
+       is mapped onto the screen (if the menu is  scrollable,  in  particular,
+       this portion will be smaller than the whole menu).
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These  routines  emulate  the  System  V  menu  library.  They were not
+       supported on Version 7 or BSD versions.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
-       file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
+       Raymond.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       These  routines  emulate  the System V menu library.  They
-       were not supported on Version 7 or BSD versions.
-
-
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
-       curses by Eric S. Raymond.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
 
 
 
-                                                      <STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                 <STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
 <li><a href="#h2-NAME">NAME</a></li>
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-NOTES">NOTES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/ncurses.3x.html b/doc/html/man/ncurses.3x.html
index 0c562ca..9b061ac 100644
--- a/doc/html/man/ncurses.3x.html
+++ b/doc/html/man/ncurses.3x.html
@@ -1,7 +1,8 @@
-<!-- 
+<!--
   * t
   ****************************************************************************
-  * Copyright (c) 1998-2014,2015 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2015,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,1019 +28,996 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: ncurses.3x,v 1.124 2015/08/08 14:57:51 tom Exp @
+  * @Id: ncurses.3x,v 1.214 2024/04/27 17:55:43 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>ncurses 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>ncurses 3x 2024-04-27 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">ncurses 3x</H1>
+<H1 class="no-header">ncurses 3x 2024-04-27 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>                                                 <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
+<STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>                      Library calls                     <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>ncurses</STRONG> - CRT screen handling and optimization package
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>ncurses</STRONG> - character-cell terminal interface with optimized output
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  <STRONG>ncurses</STRONG>  library  routines  give the user a terminal-
-       independent method of updating character screens with rea-
-       sonable optimization.  This implementation is "new curses"
-       (ncurses) and is the approved replacement for 4.4BSD clas-
-       sic  curses,  which has been discontinued.  This describes
-       <STRONG>ncurses</STRONG> version 6.0 (patch 20150808).
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The  "new  curses" library offers the programmer a terminal-independent
+       means of reading keyboard and mouse input and  updating  character-cell
+       terminals  with  output  optimized to minimize screen updates.  <EM>ncurses</EM>
+       replaces the <EM>curses</EM> libraries from System V Release 4 Unix ("SVr4") and
+       4.4BSD  Unix,  the  development  of  which  ceased  in the 1990s.  This
+       document describes <EM>ncurses</EM> version 6.5 (patch 20240427).
 
-       The <STRONG>ncurses</STRONG> library emulates the curses library of  System
-       V  Release  4  UNIX,  and  XPG4 (X/Open Portability Guide)
-       curses (also known as XSI curses).  XSI stands for  X/Open
-       System  Interfaces  Extension.   The  <STRONG>ncurses</STRONG>  library  is
-       freely redistributable in source form.   Differences  from
-       the  SVr4  curses  are summarized under the <STRONG>EXTENSIONS</STRONG> and
-       <STRONG>PORTABILITY</STRONG> sections below and described in detail in  the
-       respective  <STRONG>EXTENSIONS</STRONG>,  <STRONG>PORTABILITY</STRONG>  and <STRONG>BUGS</STRONG> sections of
-       individual man pages.
+       <EM>ncurses</EM> permits control of the terminal screen's contents;  abstraction
+       and  subdivision thereof with <EM>windows</EM> and <EM>pads</EM>; the reading of terminal
+       input; control of terminal input and output options; environment  query
+       routines;  color  manipulation;  the  definition  and use of <EM>soft</EM> <EM>label</EM>
+       keys; <EM>terminfo</EM> capability access; a  <EM>termcap</EM>  compatibility  interface;
+       and  an  abstraction  of the system's API for manipulating the terminal
+       (such as <STRONG>termios(3)</STRONG>).
 
-       The <STRONG>ncurses</STRONG> library also provides many useful  extensions,
-       i.e.,  features  which  cannot  be implemented by a simple
-       add-on library but which require access to  the  internals
-       of the library.
+       <EM>ncurses</EM> implements the standard interface described  by  X/Open  Curses
+       Issue 7.   In  many  behavioral  details  not  standardized  by X/Open,
+       <EM>ncurses</EM> emulates the <EM>curses</EM>  library  of  SVr4  and  provides  numerous
+       useful extensions.
 
-       A  program  using  these  routines must be linked with the
-       <STRONG>-lncurses</STRONG> option, or (if it has been generated)  with  the
-       debugging  library  <STRONG>-lncurses_g</STRONG>.   (Your system integrator
-       may also have installed these libraries  under  the  names
-       <STRONG>-lcurses</STRONG> and <STRONG>-lcurses_g</STRONG>.)  The ncurses_g library generates
-       trace logs (in a file called 'trace' in the current direc-
-       tory)  that describe curses actions.  See also the section
-       on <STRONG>ALTERNATE</STRONG> <STRONG>CONFIGURATIONS</STRONG>.
+       <EM>ncurses</EM>  man  pages employ several sections to clarify matters of usage
+       and interoperability with other <EM>curses</EM> implementations.
 
-       The <STRONG>ncurses</STRONG> package supports: overall screen,  window  and
-       pad manipulation; output to windows and pads; reading ter-
-       minal input; control over terminal and  <STRONG>curses</STRONG>  input  and
-       output  options; environment query routines; color manipu-
-       lation; use of soft label keys; terminfo capabilities; and
-       access to low-level terminal-manipulation routines.
+       <STRONG>o</STRONG>   "NOTES" describes issues and caveats  of  which  any  user  of  the
+           <EM>ncurses</EM>  API should be aware, such as limitations on the size of an
+           underlying integral type or  the  availability  of  a  preprocessor
+           macro  exclusive  of  a  function  definition  (which  prevents its
+           address  from  being   taken).    This   section   also   describes
+           implementation  details  that will be significant to the programmer
+           but which are not standardized.
 
+       <STRONG>o</STRONG>   "EXTENSIONS" presents <EM>ncurses</EM> innovations beyond the X/Open  Curses
+           standard  and/or  the  SVr4 <EM>curses</EM> implementation.  They are termed
+           <EM>extensions</EM> to indicate that they cannot be  implemented  solely  by
+           using the library API, but require access to the library's internal
+           state.
 
-</PRE>
-<H3><a name="h3-Initialization">Initialization</a></H3><PRE>
-       The  library uses the locale which the calling program has
-       initialized.  That is normally done with <STRONG>setlocale</STRONG>:
+       <STRONG>o</STRONG>   "PORTABILITY" discusses matters (beyond the exercise of extensions)
+           that should be considered when writing to a <EM>curses</EM> standard, or for
+           multiple implementations.
 
-             <STRONG>setlocale(LC_ALL,</STRONG> <STRONG>"");</STRONG>
+       <STRONG>o</STRONG>   "HISTORY" examines points of detail in  <EM>ncurses</EM>  and  other  <EM>curses</EM>
+           implementations over the decades of their development, particularly
+           where precedent or inertia have frustrated better design (and, in a
+           few cases, where such inertia has been overcome).
 
-       If the locale is not initialized, the library assumes that
-       characters  are  printable  as in ISO-8859-1, to work with
-       certain legacy programs.  You should initialize the locale
-       and  not  rely on specific details of the library when the
-       locale has not been setup.
+       A <EM>curses</EM> application must be linked with the library; use the <STRONG>-lncurses</STRONG>
+       option to your compiler or linker.  A debugging version of the  library
+       may  be available; if so, link with it using <STRONG>-lncurses_g</STRONG>.  (Your system
+       integrator may have installed these libraries such that you can use the
+       options  <STRONG>-lcurses</STRONG> and <STRONG>-lcurses_g</STRONG>, respectively.)  The <EM>ncurses</EM><STRONG>_</STRONG><EM>g</EM> library
+       generates trace logs (in a file called <EM>trace</EM> in the current  directory)
+       that  describe <EM>ncurses</EM> actions.  See section "ALTERNATE CONFIGURATIONS"
+       below.
 
-       The function <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> must be called to initial-
-       ize the library before any of the other routines that deal
-       with windows and screens are  used.   The  routine  <STRONG>endwin</STRONG>
-       must be called before exiting.
 
-       To  get  character-at-a-time  input  without echoing (most
-       interactive, screen oriented programs want this), the fol-
-       lowing sequence should be used:
+</PRE><H3><a name="h3-Application-Structure">Application Structure</a></H3><PRE>
+       A  <EM>curses</EM>  application  uses  information  from  the   system   locale;
+       <STRONG>setlocale(3)</STRONG> prepares it for <EM>curses</EM> library calls.
 
-             <STRONG>initscr();</STRONG> <STRONG>cbreak();</STRONG> <STRONG>noecho();</STRONG>
+           setlocale(LC_ALL, "");
 
-       Most programs would additionally use the sequence:
+       If  the  locale  is  not  thus  initialized,  the  library assumes that
+       characters are printable as in ISO 8859-1, to work with certain  legacy
+       programs.   You  should initialize the locale; do not expect consistent
+       behavior from the library when the locale has not been set up.
 
-             <STRONG>nonl();</STRONG>
-             <STRONG>intrflush(stdscr,</STRONG> <STRONG>FALSE);</STRONG>
-             <STRONG>keypad(stdscr,</STRONG> <STRONG>TRUE);</STRONG>
+       <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG> or <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG> must be called to initialize  <EM>curses</EM>  before
+       use of any functions that deal with windows and screens.
 
-       Before  a <STRONG>curses</STRONG> program is run, the tab stops of the ter-
-       minal should be set and  its  initialization  strings,  if
-       defined,  must  be  output.  This can be done by executing
-       the <STRONG>tput</STRONG> <STRONG>init</STRONG> command after the shell environment variable
-       <STRONG>TERM</STRONG>  has  been  exported.  <STRONG>tset(1)</STRONG> is usually responsible
-       for doing this.  [See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for further details.]
+       To  get  character-at-a-time  input  without echoing--most interactive,
+       screen-oriented programs want this--use the following sequence.
 
+           initscr(); cbreak(); noecho();
 
-</PRE>
-<H3><a name="h3-Datatypes">Datatypes</a></H3><PRE>
-       The <STRONG>ncurses</STRONG> library permits manipulation  of  data  struc-
-       tures,  called  <EM>windows</EM>,  which  can be thought of as two-
-       dimensional arrays of characters representing all or  part
-       of a CRT screen.  A default window called <STRONG>stdscr</STRONG>, which is
-       the size of the terminal screen, is supplied.  Others  may
-       be created with <STRONG>newwin</STRONG>.
+       Most applications perform further setup as follows.
 
-       Note  that  <STRONG>curses</STRONG>  does  not  handle overlapping windows,
-       that's done by the <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG> library.  This means that you
-       can either use <STRONG>stdscr</STRONG> or divide the screen into tiled win-
-       dows and not using <STRONG>stdscr</STRONG> at all.   Mixing  the  two  will
-       result in unpredictable, and undesired, effects.
+           intrflush(stdscr, FALSE);
+           keypad(stdscr, TRUE);
 
-       Windows are referred to by variables declared as <STRONG>WINDOW</STRONG> <STRONG>*</STRONG>.
-       These  data  structures  are  manipulated  with   routines
-       described  here and elsewhere in the <STRONG>ncurses</STRONG> manual pages.
-       Among those, the most basic routines are <STRONG>move</STRONG>  and  <STRONG>addch</STRONG>.
-       More  general versions of these routines are included with
-       names beginning with <STRONG>w</STRONG>, allowing the  user  to  specify  a
-       window.  The routines not beginning with <STRONG>w</STRONG> affect <STRONG>stdscr</STRONG>.
+       A <EM>curses</EM> program then often enters an event loop of  some  sort.   Call
+       <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG> before exiting.
 
-       After  using  routines  to manipulate a window, <STRONG>refresh</STRONG> is
-       called, telling <STRONG>curses</STRONG> to make the user's CRT screen  look
-       like  <STRONG>stdscr</STRONG>.   The characters in a window are actually of
-       type <STRONG>chtype</STRONG>, (character and attribute data) so that  other
-       information  about  the  character may also be stored with
-       each character.
 
-       Special windows  called  <EM>pads</EM>  may  also  be  manipulated.
-       These are windows which are not constrained to the size of
-       the screen and whose contents need not be completely  dis-
-       played.  See <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG> for more information.
+</PRE><H3><a name="h3-Overview">Overview</a></H3><PRE>
+       A  <EM>curses</EM>  library abstracts the terminal screen by representing all or
+       part of it as a <EM>WINDOW</EM> data structure.  A <EM>window</EM> is a rectangular  grid
+       of  character  cells,  addressed  by row and column coordinates (<EM>y</EM>, <EM>x</EM>),
+       with the upper left corner as (0, 0).  A window called <STRONG>stdscr</STRONG>, the same
+       size  as  the terminal screen, is always available.  Create others with
+       <STRONG><A HREF="curs_window.3x.html">newwin(3x)</A></STRONG>.
 
-       In  addition  to  drawing  characters on the screen, video
-       attributes and colors may be supported, causing the  char-
-       acters  to show up in such modes as underlined, in reverse
-       video, or in color on terminals that support such  display
-       enhancements.  Line drawing characters may be specified to
-       be output.  On input, <STRONG>curses</STRONG> is  also  able  to  translate
-       arrow  and  function  keys  that transmit escape sequences
-       into single values.  The video  attributes,  line  drawing
-       characters,   and  input  values  use  names,  defined  in
-       <STRONG>&lt;curses.h&gt;</STRONG>, such as <STRONG>A_REVERSE</STRONG>, <STRONG>ACS_HLINE</STRONG>, and <STRONG>KEY_LEFT</STRONG>.
+       A <EM>curses</EM> library does not manage overlapping windows (but  see  below).
+       You  can either use <STRONG>stdscr</STRONG> to manage one screen-filling window, or tile
+       the screen into non-overlapping windows and  not  use  <STRONG>stdscr</STRONG>  at  all.
+       Mixing  the  two  approaches will result in unpredictable and undesired
+       effects.
 
+       Functions permit manipulation of a window and  the  <EM>cursor</EM>  identifying
+       the  cell  within  it  at  which  the next output operation will occur.
+       Among those, the most basic are <STRONG><A HREF="curs_move.3x.html">move(3x)</A></STRONG> and <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>: these place the
+       cursor and write a character to <STRONG>stdscr</STRONG>, respectively.
 
-</PRE>
-<H3><a name="h3-Environment-variables">Environment variables</a></H3><PRE>
-       If the environment variables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> are set, or
-       if  the program is executing in a window environment, line
-       and column information in the  environment  will  override
-       information read by <EM>terminfo</EM>.  This would affect a program
-       running in an AT&amp;T 630 layer, for example, where the  size
-       of a screen is changeable (see <STRONG>ENVIRONMENT</STRONG>).
+       Frequent changes to the terminal screen can cause unpleasant flicker or
+       inefficient use of the communication channel  to  the  device,  so  the
+       library  does  not generally update it automatically.  Therefore, after
+       using <EM>curses</EM> functions to accumulate a set of desired updates that make
+       sense to present together, call <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> to tell the library to make
+       the user's screen look like <STRONG>stdscr</STRONG>.  The library <EM>optimizes</EM>  its  output
+       by  computing  a minimal number of operations to mutate the screen from
+       its  state  at  the  previous  refresh  to  the  new  one.    Effective
+       optimization  demands  accurate  information about the terminal device:
+       the management of such information is the province of the  <STRONG><A HREF="curs_terminfo.3x.html">terminfo(3x)</A></STRONG>
+       API, a feature of every standard <EM>curses</EM> implementation.
 
-       If  the environment variable <STRONG>TERMINFO</STRONG> is defined, any pro-
-       gram using <STRONG>curses</STRONG> checks for a local  terminal  definition
-       before  checking  in  the standard place.  For example, if
-       <STRONG>TERM</STRONG> is set to <STRONG>att4424</STRONG>, then the compiled terminal defini-
-       tion is found in
+       Special windows called <EM>pads</EM> may also be manipulated.  These are windows
+       that are not constrained to the size of the terminal screen  and  whose
+       contents need not be completely displayed.  See <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>.
 
-             <STRONG>/usr/share/terminfo/a/att4424</STRONG>.
+       In  addition  to drawing characters on the screen, rendering attributes
+       and colors may be supported, causing the characters to show up in  such
+       modes  as  underlined,  in reverse video, or in color on terminals that
+       support such display enhancements.  See <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>.
 
-       (The <STRONG>a</STRONG> is copied from the first letter of <STRONG>att4424</STRONG> to avoid
-       creation of huge directories.)  However,  if  <STRONG>TERMINFO</STRONG>  is
-       set to <STRONG>$HOME/myterms</STRONG>, <STRONG>curses</STRONG> first checks
+       <EM>curses</EM> predefines constants for a small set of  forms-drawing  graphics
+       corresponding  to  the  DEC Alternate Character Set (ACS), a feature of
+       VT100 and other terminals.  See <STRONG><A HREF="curs_addch.3x.html">waddch(3x)</A></STRONG>.
 
-             <STRONG>$HOME/myterms/a/att4424</STRONG>,
+       <EM>curses</EM> is implemented using the  operating  system's  terminal  driver;
+       keystroke  events are received not as scan codes but as byte sequences.
+       Graphical keycaps (alphanumeric and punctuation keys,  and  the  space)
+       appear  as-is.   Everything  else,  including  the  tab,  enter/return,
+       keypad, arrow, and function keys, appears as a control character  or  a
+       multibyte  <EM>escape</EM>  <EM>sequence.</EM>   <EM>curses</EM>  translates these into unique <EM>key</EM>
+       <EM>codes.</EM>  See <STRONG><A HREF="curs_getch.3x.html">getch(3x)</A></STRONG>.
 
-       and if that fails, it then checks
+       <EM>ncurses</EM> provides reimplementations of the SVr4 <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>, and
+       <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG> libraries to ease construction of user interfaces with <EM>curses</EM>.
 
-             <STRONG>/usr/share/terminfo/a/att4424</STRONG>.
 
-       This  is useful for developing experimental definitions or
-       when write permission in <STRONG>/usr/share/terminfo</STRONG> is not avail-
-       able.
+</PRE><H3><a name="h3-Initialization">Initialization</a></H3><PRE>
+       The   selection  of  an  appropriate  value  of  <EM>TERM</EM>  in  the  process
+       environment  is  essential  to  correct  <EM>curses</EM>  and  <EM>terminfo</EM>  library
+       operation.   A  well-configured  system  selects  a  correct <EM>TERM</EM> value
+       automatically;  <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>  may   assist   with   troubleshooting   exotic
+       situations.
 
-       The  integer  variables  <STRONG>LINES</STRONG>  and  <STRONG>COLS</STRONG>  are  defined in
-       <STRONG>&lt;curses.h&gt;</STRONG> and will be filled in by <STRONG>initscr</STRONG> with the  size
-       of the screen.  The constants <STRONG>TRUE</STRONG> and <STRONG>FALSE</STRONG> have the val-
-       ues <STRONG>1</STRONG> and <STRONG>0</STRONG>, respectively.
+       If  you  change the terminal type, export the <EM>TERM</EM> environment variable
+       in the shell, then  run  <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>  or  the  "<STRONG>tput</STRONG>  <STRONG>init</STRONG>"  command.   See
+       subsection "Tabs and Initialization" of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
 
-       The <STRONG>curses</STRONG> routines also  define  the  <STRONG>WINDOW</STRONG>  <STRONG>*</STRONG>  variable
-       <STRONG>curscr</STRONG> which is used for certain low-level operations like
-       clearing and redrawing a screen containing  garbage.   The
-       <STRONG>curscr</STRONG> can be used in only a few routines.
+       If  the  environment  variables  <EM>LINES</EM>  and  <EM>COLUMNS</EM> are set, or if the
+       <EM>curses</EM> program is executing in a graphical windowing  environment,  the
+       information  obtained  thence  overrides that obtained by <EM>terminfo</EM>.  An
+       <EM>ncurses</EM> extension supports resizable terminals; see <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>.
 
+       If the environment variable  <EM>TERMINFO</EM>  is  defined,  a  <EM>curses</EM>  program
+       checks  first  for  a  terminal  type  description  in  the location it
+       identifies.   <EM>TERMINFO</EM>  is  useful  for  developing  experimental  type
+       descriptions  or  when  write  permission to <EM>/usr/share/terminfo</EM> is not
+       available.
 
-</PRE>
-<H3><a name="h3-Routine-and-Argument-Names">Routine and Argument Names</a></H3><PRE>
-       Many  <STRONG>curses</STRONG> routines have two or more versions.  The rou-
-       tines prefixed with <STRONG>w</STRONG> require a window argument.  The rou-
-       tines prefixed with <STRONG>p</STRONG> require a pad argument.  Those with-
-       out a prefix generally use <STRONG>stdscr</STRONG>.
+       See section "ENVIRONMENT" below.
 
-       The routines prefixed with <STRONG>mv</STRONG> require a <EM>y</EM> and <EM>x</EM> coordinate
-       to  move to before performing the appropriate action.  The
-       <STRONG>mv</STRONG> routines imply a call to <STRONG>move</STRONG> before the  call  to  the
-       other  routine.  The coordinate <EM>y</EM> always refers to the row
-       (of the window), and <EM>x</EM> always refers to the  column.   The
-       upper left-hand corner is always (0,0), not (1,1).
 
-       The routines prefixed with <STRONG>mvw</STRONG> take both a window argument
-       and <EM>x</EM> and <EM>y</EM> coordinates.  The window  argument  is  always
-       specified before the coordinates.
+</PRE><H3><a name="h3-Naming-Conventions">Naming Conventions</a></H3><PRE>
+       <EM>curses</EM> offers many functions in variant forms using a  regular  set  of
+       alternatives  to the name of an elemental one.  Those prefixed with "w"
+       require a <EM>WINDOW</EM> pointer argument;  those  with  a  "mv"  prefix  first
+       perform cursor movement using <STRONG><A HREF="curs_move.3x.html">wmove(3x)</A></STRONG>; a "mvw" prefix indicates both.
+       The "w" function is typically the elemental one; the  removal  of  this
+       prefix usually indicates operation on <STRONG>stdscr</STRONG>.
 
-       In  each  case, <EM>win</EM> is the window affected, and <EM>pad</EM> is the
-       pad affected; <EM>win</EM> and <EM>pad</EM> are always pointers to type <STRONG>WIN-</STRONG>
-       <STRONG>DOW</STRONG>.
+       Four functions prefixed with "p" require a pad argument.
 
-       Option setting routines require a Boolean flag <EM>bf</EM> with the
-       value <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>; <EM>bf</EM> is always of type <STRONG>bool</STRONG>.   Most  of
-       the  data types used in the library routines, such as <STRONG>WIN-</STRONG>
-       <STRONG>DOW</STRONG>, <STRONG>SCREEN</STRONG>, <STRONG>bool</STRONG>, and <STRONG>chtype</STRONG> are defined  in  <STRONG>&lt;curses.h&gt;</STRONG>.
-       Types  used for the terminfo routines such as <STRONG>TERMINAL</STRONG> are
-       defined in <STRONG>&lt;term.h&gt;</STRONG>.
+       In  function  synopses,  <EM>ncurses</EM> man pages apply the following names to
+       parameters.
 
-       This manual page describes functions which may  appear  in
-       any  configuration  of  the library.  There are two common
-       configurations of the library:
+                       <EM>bf</EM>    <EM>bool</EM> (<STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>)
+                       <EM>c</EM>     a <EM>char</EM> or <EM>int</EM>
+                       <EM>ch</EM>    a <EM>chtype</EM>
+                       <EM>wc</EM>    a <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM> or <EM>wint</EM><STRONG>_</STRONG><EM>t</EM>
+                       <EM>wch</EM>   a <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>
+                       <EM>win</EM>   pointer to a <EM>WINDOW</EM>
+                       <EM>pad</EM>   pointer to a <EM>WINDOW</EM> that is a pad
 
-          <EM>ncurses</EM>
-               the "normal" library, which handles 8-bit  charac-
-               ters.   The  normal (8-bit) library stores charac-
-               ters combined with attributes in <STRONG>chtype</STRONG> data.
 
-               Attributes alone (no corresponding character)  may
-               be stored in <STRONG>chtype</STRONG> or the equivalent <STRONG>attr_t</STRONG> data.
-               In either case, the data is  stored  in  something
-               like an integer.
+</PRE><H3><a name="h3-Wide-and-Non-wide-Character-Configurations">Wide and Non-wide Character Configurations</a></H3><PRE>
+       This manual page describes functions that appear in  any  configuration
+       of  the  library.   There  are  two  common configurations; see section
+       "ALTERNATE CONFIGURATIONS" below.
 
-               Each  cell  (row and column) in a <STRONG>WINDOW</STRONG> is stored
-               as a <STRONG>chtype</STRONG>.
+       <EM>ncurses</EM>   is the library in its "non-wide" configuration, handling only
+                 eight-bit  characters.   It  stores a character combined with
+                 attributes in a <EM>chtype</EM> datum, which is often an alias of <EM>int</EM>.
 
-          <EM>ncursesw</EM>
-               the so-called "wide" library, which handles multi-
-               byte characters (see the section on <STRONG>ALTERNATE</STRONG> <STRONG>CON-</STRONG>
-               <STRONG>FIGURATIONS</STRONG>).  The "wide" library includes all  of
-               the  calls  from  the  "normal"  library.  It adds
-               about one third more calls using data types  which
-               store multibyte characters:
+                 Attributes alone (with no  corresponding  character)  can  be
+                 stored  in  variables  of  <EM>chtype</EM>  or <EM>attr</EM><STRONG>_</STRONG><EM>t</EM> type.  In either
+                 case, they are represented as an integral bit mask.
 
-               <STRONG>cchar_t</STRONG>
-                    corresponds  to  <STRONG>chtype</STRONG>.   However  it  is  a
-                    structure, because more data is  stored  than
-                    can  fit into an integer.  The characters are
-                    large enough to require a full integer  value
-                    -  and  there  may be more than one character
-                    per cell.  The video attributes and color are
-                    stored in separate fields of the structure.
+                 Each cell of a <EM>WINDOW</EM> is stored as a <EM>chtype</EM>.
 
-                    Each  cell  (row  and  column) in a <STRONG>WINDOW</STRONG> is
-                    stored as a <STRONG>cchar_t</STRONG>.
+       <EM>ncursesw</EM>  is the library in its  "wide"  configuration,  which  handles
+                 character encodings requiring a larger data type than <EM>char</EM> (a
+                 byte-sized type) can represent.  It adds about one third more
+                 calls  using  additional  data  types  that  can  store  such
+                 <EM>multibyte</EM> characters.
 
-               <STRONG>wchar_t</STRONG>
-                    stores a "wide" character.  Like <STRONG>chtype</STRONG>, this
-                    may be an integer.
+                 <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>  corresponds to the non-wide configuration's  <EM>chtype</EM>.
+                          It  always  a structure type, because it stores more
+                          data than  fit  into  a  standard  scalar  type.   A
+                          character  code  may not be representable as a <EM>char</EM>,
+                          and moreover more than one character  may  occupy  a
+                          cell  (as  with  accent marks and other diacritics).
+                          Each  character  is  of  type  <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM>;  a   complex
+                          character contains one spacing character and zero or
+                          more non-spacing characters (see below).  Attributes
+                          and  color data are stored in separate fields of the
+                          structure, not combined as in <EM>chtype</EM>.
 
-               <STRONG>wint_t</STRONG>
-                    stores  a  <STRONG>wchar_t</STRONG>  or  <STRONG>WEOF</STRONG>  - not the same,
-                    though both may have the same size.
+                 Each cell of a <EM>WINDOW</EM> is stored as a <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>.
 
-               The "wide" library provides  new  functions  which
-               are   analogous   to  functions  in  the  "normal"
-               library.   There  is  a  naming  convention  which
-               relates  many  of the normal/wide variants: a "_w"
-               is inserted into the name.   For  example,  <STRONG>waddch</STRONG>
-               becomes <STRONG>wadd_wch</STRONG>.
+                 <STRONG><A HREF="curs_getcchar.3x.html">setcchar(3x)</A></STRONG> and  <STRONG><A HREF="curs_getcchar.3x.html">getcchar(3x)</A></STRONG>  store  and  retrieve  <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>
+                 data.   The  wide  library API of <EM>ncurses</EM> depends on two data
+                 types standardized by ISO C95.
 
+                 <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM>  stores a wide character.  Like <EM>chtype</EM>, it may be  an
+                          alias  of <EM>int</EM>.  Depending on the character encoding,
+                          a wide character may be  <EM>spacing</EM>,  meaning  that  it
+                          occupies  a  character  cell by itself and typically
+                          accompanies  cursor  advancement,  or   <EM>non-spacing</EM>,
+                          meaning  that it occupies the same cell as a spacing
+                          character, is often regarded as a "modifier" of  the
+                          base  glyph  with  which  it combines, and typically
+                          does not advance the cursor.
 
-</PRE>
-<H3><a name="h3-Routine-Name-Index">Routine Name Index</a></H3><PRE>
-       The following table lists each <STRONG>curses</STRONG> routine and the name
-       of the manual page on which  it  is  described.   Routines
-       flagged  with  `*'  are ncurses-specific, not described by
-       XPG4 or present in SVr4.
+                 <EM>wint</EM><STRONG>_</STRONG><EM>t</EM>   can  store  a  <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM>   or   the   constant   <STRONG>WEOF</STRONG>,
+                          analogously  to the <EM>int</EM>-sized character manipulation
+                          functions of ISO C and its constant <STRONG>EOF</STRONG>.
 
-              <STRONG>curses</STRONG> Routine Name     Manual Page Name
-              --------------------------------------------
-              COLOR_PAIR              <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
-              PAIR_NUMBER             <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              _nc_free_and_exit       <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
-              _nc_freeall             <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
-              _nc_tracebits           <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
-              _traceattr              <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
-              _traceattr2             <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
-              _tracechar              <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+                 The  wide  library   provides   additional   functions   that
+                 complement  those  in  the non-wide library where the size of
+                 the underlying character type  is  significant.   A  somewhat
+                 regular  naming  convention relates many of the wide variants
+                 to their non-wide counterparts;  where  a  non-wide  function
+                 name  contains  "ch"  or "str", prefix it with "_w" to obtain
+                 the wide counterpart.  For example, <STRONG>waddch</STRONG> becomes  <STRONG>wadd_wch</STRONG>.
+                 (Exceptions  that  add only "w" comprise <STRONG>addwstr</STRONG>, <STRONG>inwstr</STRONG>, and
+                 their variants.)
 
-              _tracechtype            <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
-              _tracechtype2           <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
-              _tracedump              <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
-              _tracef                 <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
-              _tracemouse             <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
-              add_wch                 <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
-              add_wchnstr             <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
-              add_wchstr              <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
-              addch                   <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
-              addchnstr               <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
-              addchstr                <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
-              addnstr                 <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
-              addnwstr                <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
-              addstr                  <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
-              addwstr                 <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
-              assume_default_colors   <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>*
-              attr_get                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              attr_off                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              attr_on                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              attr_set                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              attroff                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              attron                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              attrset                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              baudrate                <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
-              beep                    <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
-              bkgd                    <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
-              bkgdset                 <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
-              bkgrnd                  <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
-              bkgrndset               <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
-              border                  <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
-              border_set              <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
-              box                     <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
-              box_set                 <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
-              can_change_color        <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
-              cbreak                  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
-              chgat                   <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              clear                   <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
-              clearok                 <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
-              clrtobot                <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
-              clrtoeol                <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
-              color_content           <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
-              color_set               <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              copywin                 <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
-              curs_set                <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
-              curses_version          <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>*
-              def_prog_mode           <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
-              def_shell_mode          <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
-              define_key              <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>*
-              del_curterm             <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
-              delay_output            <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
-              delch                   <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
-              deleteln                <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
-              delscreen               <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
-              delwin                  <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
-              derwin                  <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
-              doupdate                <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
-              dupwin                  <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
-              echo                    <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
-              echo_wchar              <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
-              echochar                <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
-              endwin                  <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
-              erase                   <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
-              erasechar               <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
-              erasewchar              <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
-              filter                  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
-              flash                   <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
+                 This convention is inapplicable  to  some  non-wide  function
+                 names,  so  other  transformations  are  used  for  the  wide
+                 configuration:  the  window  background  management  function
+                 "bkgd"   becomes  "bkgrnd";  the  window  border-drawing  and
+                 -clearing functions are suffixed with "_set";  and  character
+                 attribute   manipulation   functions   like  "attron"  become
+                 "attr_on".
 
-              flushinp                <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
-              get_wch                 <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
-              get_wstr                <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
-              getattrs                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              getbegx                 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
-              getbegy                 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
-              getbegyx                <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
-              getbkgd                 <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
-              getbkgrnd               <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
-              getcchar                <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
-              getch                   <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
-              getcurx                 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
-              getcury                 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
-              getmaxx                 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
-              getmaxy                 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
-              getmaxyx                <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
-              getmouse                <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
-              getn_wstr               <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
-              getnstr                 <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
-              getparx                 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
-              getpary                 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
-              getparyx                <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
-              getstr                  <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
-              getsyx                  <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
-              getwin                  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
-              getyx                   <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
-              halfdelay               <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
-              has_colors              <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
-              has_ic                  <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
-              has_il                  <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
-              has_key                 <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>*
-              hline                   <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
-              hline_set               <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
-              idcok                   <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
-              idlok                   <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
-              immedok                 <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
-              in_wch                  <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
-              in_wchnstr              <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
-              in_wchstr               <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
-              inch                    <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
-              inchnstr                <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
-              inchstr                 <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
-              init_color              <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
-              init_pair               <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
-              initscr                 <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
-              innstr                  <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
-              innwstr                 <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
-              ins_nwstr               <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
-              ins_wch                 <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
-              ins_wstr                <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
-              insch                   <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
-              insdelln                <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
-              insertln                <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
-              insnstr                 <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
-              insstr                  <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
-              instr                   <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
-              intrflush               <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
-              inwstr                  <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
-              is_cleared              <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
-              is_idcok                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
-              is_idlok                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
-              is_immedok              <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
-              is_keypad               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
-              is_leaveok              <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
-              is_linetouched          <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
-              is_nodelay              <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
 
-              is_notimeout            <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
-              is_pad                  <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
-              is_scrollok             <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
-              is_subwin               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
-              is_syncok               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
-              is_term_resized         <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
-              is_wintouched           <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
-              isendwin                <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
-              key_defined             <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>*
-              key_name                <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
-              keybound                <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>*
-              keyname                 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
-              keyok                   <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>*
-              keypad                  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
-              killchar                <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
-              killwchar               <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
-              leaveok                 <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
-              longname                <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
-              mcprint                 <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>*
-              meta                    <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
-              mouse_trafo             <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
-              mouseinterval           <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
-              mousemask               <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
-              move                    <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
-              mvadd_wch               <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
-              mvadd_wchnstr           <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
-              mvadd_wchstr            <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
-              mvaddch                 <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
-              mvaddchnstr             <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
-              mvaddchstr              <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
-              mvaddnstr               <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
-              mvaddnwstr              <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
-              mvaddstr                <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
-              mvaddwstr               <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
-              mvchgat                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              mvcur                   <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
-              mvdelch                 <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
-              mvderwin                <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
-              mvget_wch               <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
-              mvget_wstr              <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
-              mvgetch                 <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
-              mvgetn_wstr             <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
-              mvgetnstr               <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
-              mvgetstr                <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
-              mvhline                 <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
-              mvhline_set             <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
-              mvin_wch                <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
-              mvin_wchnstr            <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
-              mvin_wchstr             <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
-              mvinch                  <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
-              mvinchnstr              <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
-              mvinchstr               <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
-              mvinnstr                <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
-              mvinnwstr               <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
-              mvins_nwstr             <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
-              mvins_wch               <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
-              mvins_wstr              <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
-              mvinsch                 <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
-              mvinsnstr               <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
-              mvinsstr                <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
-              mvinstr                 <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
-              mvinwstr                <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
-              mvprintw                <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
-              mvscanw                 <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
-              mvvline                 <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
-              mvvline_set             <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+</PRE><H3><a name="h3-Function-Name-Index">Function Name Index</a></H3><PRE>
+       The following table lists the <EM>curses</EM> functions provided in the non-wide
+       and  wide  APIs  and  the  corresponding  man pages that describe them.
+       Those flagged with  "*"  are  <EM>ncurses</EM>-specific,  neither  described  by
+       X/Open Curses nor present in SVr4.
 
-              mvwadd_wch              <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
-              mvwadd_wchnstr          <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
-              mvwadd_wchstr           <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
-              mvwaddch                <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
-              mvwaddchnstr            <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
-              mvwaddchstr             <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
-              mvwaddnstr              <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
-              mvwaddnwstr             <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
-              mvwaddstr               <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
-              mvwaddwstr              <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
-              mvwchgat                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              mvwdelch                <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
-              mvwget_wch              <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
-              mvwget_wstr             <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
-              mvwgetch                <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
-              mvwgetn_wstr            <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
-              mvwgetnstr              <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
-              mvwgetstr               <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
-              mvwhline                <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
-              mvwhline_set            <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
-              mvwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
-              mvwin_wch               <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
-              mvwin_wchnstr           <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
-              mvwin_wchstr            <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
-              mvwinch                 <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
-              mvwinchnstr             <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
-              mvwinchstr              <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
-              mvwinnstr               <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
-              mvwinnwstr              <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
-              mvwins_nwstr            <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
-              mvwins_wch              <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
-              mvwins_wstr             <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
-              mvwinsch                <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
-              mvwinsnstr              <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
-              mvwinsstr               <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
-              mvwinstr                <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
-              mvwinwstr               <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
-              mvwprintw               <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
-              mvwscanw                <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
-              mvwvline                <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
-              mvwvline_set            <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
-              napms                   <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
-              newpad                  <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
-              newterm                 <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
-              newwin                  <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
-              nl                      <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
-              nocbreak                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
-              nodelay                 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
-              noecho                  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
-              nofilter                <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>*
-              nonl                    <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
-              noqiflush               <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
-              noraw                   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
-              notimeout               <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
-              overlay                 <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
-              overwrite               <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
-              pair_content            <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
-              pechochar               <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
-              pnoutrefresh            <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
-              prefresh                <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
-              printw                  <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
-              putp                    <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
-              putwin                  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
-              qiflush                 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
-              raw                     <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
-              redrawwin               <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+                    <STRONG><EM>curses</EM></STRONG> Function Name     Man Page
+                    ---------------------------------------------
+                    COLOR_PAIR               <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+                    PAIR_NUMBER              <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+                    add_wch                  <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+                    add_wchnstr              <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+                    add_wchstr               <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+                    addch                    <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+                    addchnstr                <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+                    addchstr                 <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+                    addnstr                  <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+                    addnwstr                 <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+                    addstr                   <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+                    addwstr                  <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+                    alloc_pair               <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>*
+                    assume_default_colors    <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>*
+                    attr_get                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    attr_off                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    attr_on                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    attr_set                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    attroff                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    attron                   <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    attrset                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    baudrate                 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+                    beep                     <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
+                    bkgd                     <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+                    bkgdset                  <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+                    bkgrnd                   <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+                    bkgrndset                <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+                    border                   <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+                    border_set               <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+                    box                      <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+                    box_set                  <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+                    can_change_color         <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+                    cbreak                   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+                    chgat                    <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    clear                    <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+                    clearok                  <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+                    clrtobot                 <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+                    clrtoeol                 <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+                    color_content            <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+                    color_set                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    copywin                  <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
+                    curs_set                 <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+                    curses_trace             <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+                    curses_version           <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>*
+                    def_prog_mode            <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+                    def_shell_mode           <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+                    define_key               <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>*
+                    del_curterm              <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+                    delay_output             <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+                    delch                    <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
+                    deleteln                 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+                    delscreen                <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+                    delwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+                    derwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+                    doupdate                 <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+                    dupwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+                    echo                     <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
 
-              refresh                 <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
-              reset_prog_mode         <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
-              reset_shell_mode        <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
-              resetty                 <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
-              resize_term             <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
-              resizeterm              <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
-              restartterm             <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
-              ripoffline              <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
-              savetty                 <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
-              scanw                   <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
-              scr_dump                <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
-              scr_init                <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
-              scr_restore             <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
-              scr_set                 <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
-              scrl                    <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
-              scroll                  <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
-              scrollok                <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
-              set_curterm             <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
-              set_term                <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
-              setcchar                <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
-              setscrreg               <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
-              setsyx                  <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
-              setterm                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
-              setupterm               <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
-              slk_attr                <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>*
-              slk_attr_off            <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
-              slk_attr_on             <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
-              slk_attr_set            <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
-              slk_attroff             <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
-              slk_attron              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
-              slk_attrset             <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
-              slk_clear               <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
-              slk_color               <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
-              slk_init                <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
-              slk_label               <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
-              slk_noutrefresh         <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
-              slk_refresh             <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
-              slk_restore             <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
-              slk_set                 <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
-              slk_touch               <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
-              standend                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              standout                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              start_color             <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
-              subpad                  <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
-              subwin                  <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
-              syncok                  <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
-              term_attrs              <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
-              termattrs               <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
-              termname                <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
-              tgetent                 <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
-              tgetflag                <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
-              tgetnum                 <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
-              tgetstr                 <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
-              tgoto                   <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
-              tigetflag               <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
-              tigetnum                <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
-              tigetstr                <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
-              tiparm                  <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>*
-              timeout                 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
-              touchline               <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
-              touchwin                <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
-              tparm                   <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
-              tputs                   <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
-              tputs                   <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
-              trace                   <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
-              typeahead               <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
-
-              unctrl                  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
-              unget_wch               <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
-              ungetch                 <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
-              ungetmouse              <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
-              untouchwin              <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
-              use_default_colors      <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>*
-              use_env                 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
-              use_extended_names      <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>*
-              use_legacy_coding       <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>*
-              use_tioctl              <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
-              vid_attr                <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
-              vid_puts                <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
-              vidattr                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
-              vidputs                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
-              vline                   <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
-              vline_set               <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
-              vw_printw               <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
-              vw_scanw                <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
-              vwprintw                <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
-              vwscanw                 <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
-              wadd_wch                <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
-              wadd_wchnstr            <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
-              wadd_wchstr             <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
-              waddch                  <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
-              waddchnstr              <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
-              waddchstr               <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
-              waddnstr                <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
-              waddnwstr               <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
-              waddstr                 <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
-              waddwstr                <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
-              wattr_get               <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              wattr_off               <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              wattr_on                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              wattr_set               <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              wattroff                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              wattron                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              wattrset                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              wbkgd                   <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
-              wbkgdset                <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
-              wbkgrnd                 <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
-              wbkgrndset              <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
-              wborder                 <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
-              wborder_set             <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
-              wchgat                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              wclear                  <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
-              wclrtobot               <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
-              wclrtoeol               <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
-              wcolor_set              <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              wcursyncup              <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
-              wdelch                  <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
-              wdeleteln               <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
-              wecho_wchar             <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
-              wechochar               <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
-              wenclose                <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
-              werase                  <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
-              wget_wch                <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
-              wget_wstr               <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
-              wgetbkgrnd              <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
-              wgetch                  <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
-              wgetdelay               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
-              wgetn_wstr              <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
-              wgetnstr                <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
-              wgetparent              <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
-              wgetscrreg              <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
-              wgetstr                 <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
-              whline                  <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
-
-              whline_set              <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
-              win_wch                 <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
-              win_wchnstr             <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
-              win_wchstr              <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
-              winch                   <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
-              winchnstr               <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
-              winchstr                <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
-              winnstr                 <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
-              winnwstr                <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
-              wins_nwstr              <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
-              wins_wch                <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
-              wins_wstr               <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
-              winsch                  <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
-              winsdelln               <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
-              winsertln               <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
-              winsnstr                <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
-              winsstr                 <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
-              winstr                  <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
-              winwstr                 <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
-              wmouse_trafo            <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
-              wmove                   <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
-              wnoutrefresh            <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
-              wprintw                 <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
-              wredrawln               <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
-              wrefresh                <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
-              wresize                 <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>*
-              wscanw                  <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
-              wscrl                   <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
-              wsetscrreg              <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
-              wstandend               <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              wstandout               <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-              wsyncdown               <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
-              wsyncup                 <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
-              wtimeout                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
-              wtouchln                <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
-              wunctrl                 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
-              wvline                  <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
-              wvline_set              <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
-
+                    echo_wchar               <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+                    echochar                 <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+                    endwin                   <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+                    erase                    <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+                    erasechar                <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+                    erasewchar               <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+                    exit_curses              <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
+                    exit_terminfo            <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
+                    extended_color_content   <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
+                    extended_pair_content    <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
+                    extended_slk_color       <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>*
+                    filter                   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+                    find_pair                <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>*
+                    flash                    <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
+                    flushinp                 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+                    free_pair                <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>*
+                    get_escdelay             <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>*
+                    get_wch                  <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+                    get_wstr                 <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+                    getattrs                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    getbegx                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+                    getbegy                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+                    getbegyx                 <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
+                    getbkgd                  <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+                    getbkgrnd                <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+                    getcchar                 <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
+                    getch                    <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+                    getcurx                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+                    getcury                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+                    getmaxx                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+                    getmaxy                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+                    getmaxyx                 <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
+                    getmouse                 <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
+                    getn_wstr                <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+                    getnstr                  <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+                    getparx                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+                    getpary                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+                    getparyx                 <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
+                    getstr                   <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+                    getsyx                   <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+                    getwin                   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+                    getyx                    <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
+                    halfdelay                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+                    has_colors               <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+                    has_ic                   <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+                    has_il                   <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+                    has_key                  <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>*
+                    has_mouse                <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
+                    hline                    <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+                    hline_set                <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+                    idcok                    <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+                    idlok                    <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+                    immedok                  <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+                    in_wch                   <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
+                    in_wchnstr               <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+                    in_wchstr                <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+                    inch                     <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
+                    inchnstr                 <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+                    inchstr                  <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+                    init_color               <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+                    init_extended_color      <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
+                    init_extended_pair       <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
+                    init_pair                <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+                    initscr                  <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+                    innstr                   <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Routines that return an integer return  <STRONG>ERR</STRONG>  upon  failure
-       and  an  integer value other than <STRONG>ERR</STRONG> upon successful com-
-       pletion, unless otherwise noted in  the  routine  descrip-
-       tions.
+                    innwstr                  <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+                    ins_nwstr                <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+                    ins_wch                  <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
+                    ins_wstr                 <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+                    insch                    <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
+                    insdelln                 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+                    insertln                 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+                    insnstr                  <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+                    insstr                   <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+                    instr                    <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+                    intrflush                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+                    inwstr                   <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+                    is_cbreak                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>*
+                    is_cleared               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+                    is_echo                  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>*
+                    is_idcok                 <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+                    is_idlok                 <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+                    is_immedok               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+                    is_keypad                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+                    is_leaveok               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+                    is_linetouched           <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+                    is_nl                    <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>*
+                    is_nodelay               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+                    is_notimeout             <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+                    is_pad                   <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+                    is_raw                   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>*
+                    is_scrollok              <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+                    is_subwin                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+                    is_syncok                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+                    is_term_resized          <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
+                    is_wintouched            <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+                    isendwin                 <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+                    key_defined              <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>*
+                    key_name                 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+                    keybound                 <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>*
+                    keyname                  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+                    keyok                    <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>*
+                    keypad                   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+                    killchar                 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+                    killwchar                <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+                    leaveok                  <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+                    longname                 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+                    mcprint                  <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>*
+                    meta                     <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+                    mouse_trafo              <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
+                    mouseinterval            <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
+                    mousemask                <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
+                    move                     <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
+                    mvadd_wch                <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+                    mvadd_wchnstr            <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+                    mvadd_wchstr             <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+                    mvaddch                  <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+                    mvaddchnstr              <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+                    mvaddchstr               <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+                    mvaddnstr                <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+                    mvaddnwstr               <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+                    mvaddstr                 <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+                    mvaddwstr                <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+                    mvchgat                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    mvcur                    <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+                    mvdelch                  <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
+                    mvderwin                 <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+                    mvget_wch                <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+                    mvget_wstr               <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+                    mvgetch                  <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
 
-       As a general rule, routines check for null pointers passed
-       as parameters, and handle this as an error.
+                    mvgetn_wstr              <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+                    mvgetnstr                <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+                    mvgetstr                 <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+                    mvhline                  <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+                    mvhline_set              <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+                    mvin_wch                 <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
+                    mvin_wchnstr             <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+                    mvin_wchstr              <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+                    mvinch                   <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
+                    mvinchnstr               <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+                    mvinchstr                <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+                    mvinnstr                 <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+                    mvinnwstr                <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+                    mvins_nwstr              <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+                    mvins_wch                <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
+                    mvins_wstr               <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+                    mvinsch                  <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
+                    mvinsnstr                <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+                    mvinsstr                 <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+                    mvinstr                  <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+                    mvinwstr                 <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+                    mvprintw                 <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+                    mvscanw                  <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+                    mvvline                  <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+                    mvvline_set              <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+                    mvwadd_wch               <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+                    mvwadd_wchnstr           <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+                    mvwadd_wchstr            <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+                    mvwaddch                 <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+                    mvwaddchnstr             <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+                    mvwaddchstr              <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+                    mvwaddnstr               <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+                    mvwaddnwstr              <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+                    mvwaddstr                <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+                    mvwaddwstr               <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+                    mvwchgat                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    mvwdelch                 <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
+                    mvwget_wch               <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+                    mvwget_wstr              <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+                    mvwgetch                 <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+                    mvwgetn_wstr             <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+                    mvwgetnstr               <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+                    mvwgetstr                <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+                    mvwhline                 <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+                    mvwhline_set             <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+                    mvwin                    <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+                    mvwin_wch                <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
+                    mvwin_wchnstr            <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+                    mvwin_wchstr             <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+                    mvwinch                  <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
+                    mvwinchnstr              <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+                    mvwinchstr               <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+                    mvwinnstr                <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+                    mvwinnwstr               <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+                    mvwins_nwstr             <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+                    mvwins_wch               <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
+                    mvwins_wstr              <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+                    mvwinsch                 <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
+                    mvwinsnstr               <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+                    mvwinsstr                <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+                    mvwinstr                 <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+                    mvwinwstr                <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+                    mvwprintw                <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+                    mvwscanw                 <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+                    mvwvline                 <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
 
-       All macros return the  value  of  the  <STRONG>w</STRONG>  version,  except
-       <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>, <STRONG>getyx</STRONG>, <STRONG>getbegyx</STRONG>, and <STRONG>getmaxyx</STRONG>.  The
-       return values of <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>,  <STRONG>getyx</STRONG>,  <STRONG>getbegyx</STRONG>,
-       and <STRONG>getmaxyx</STRONG> are undefined (i.e., these should not be used
-       as the right-hand side of assignment statements).
+                    mvwvline_set             <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+                    napms                    <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+                    newpad                   <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+                    newterm                  <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+                    newwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+                    nl                       <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+                    nocbreak                 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+                    nodelay                  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+                    noecho                   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+                    nofilter                 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>*
+                    nonl                     <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+                    noqiflush                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+                    noraw                    <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+                    notimeout                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+                    overlay                  <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
+                    overwrite                <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
+                    pair_content             <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+                    pecho_wchar              <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+                    pechochar                <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+                    pnoutrefresh             <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+                    prefresh                 <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+                    printw                   <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+                    putp                     <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+                    putwin                   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+                    qiflush                  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+                    raw                      <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+                    redrawwin                <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+                    refresh                  <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+                    reset_color_pairs        <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
+                    reset_prog_mode          <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+                    reset_shell_mode         <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+                    resetty                  <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+                    resize_term              <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
+                    resizeterm               <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
+                    restartterm              <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+                    ripoffline               <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+                    savetty                  <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+                    scanw                    <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+                    scr_dump                 <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
+                    scr_init                 <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
+                    scr_restore              <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
+                    scr_set                  <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
+                    scrl                     <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
+                    scroll                   <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
+                    scrollok                 <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+                    set_curterm              <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+                    set_escdelay             <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>*
+                    set_tabsize              <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>*
+                    set_term                 <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+                    setcchar                 <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
+                    setscrreg                <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+                    setsyx                   <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+                    setupterm                <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+                    slk_attr                 <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>*
+                    slk_attr_off             <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+                    slk_attr_on              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+                    slk_attr_set             <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+                    slk_attroff              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+                    slk_attron               <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+                    slk_attrset              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+                    slk_clear                <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+                    slk_color                <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+                    slk_init                 <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+                    slk_label                <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+                    slk_noutrefresh          <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
 
-       Routines that return pointers return <STRONG>NULL</STRONG> on error.
+                    slk_refresh              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+                    slk_restore              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+                    slk_set                  <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+                    slk_touch                <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+                    slk_wset                 <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+                    standend                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    standout                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    start_color              <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+                    subpad                   <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+                    subwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+                    syncok                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+                    term_attrs               <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+                    termattrs                <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+                    termname                 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+                    tgetent                  <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+                    tgetflag                 <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+                    tgetnum                  <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+                    tgetstr                  <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+                    tgoto                    <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+                    tigetflag                <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+                    tigetnum                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+                    tigetstr                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+                    timeout                  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+                    tiparm                   <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+                    tiparm_s                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>*
+                    tiscan_s                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>*
+                    touchline                <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+                    touchwin                 <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+                    tparm                    <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+                    tputs                    <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+                    tputs                    <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+                    trace                    <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+                    typeahead                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+                    unctrl                   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+                    unget_wch                <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+                    ungetch                  <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+                    ungetmouse               <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
+                    untouchwin               <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+                    use_default_colors       <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>*
+                    use_env                  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+                    use_extended_names       <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>*
+                    use_legacy_coding        <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>*
+                    use_screen               <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>*
+                    use_tioctl               <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>*
+                    use_window               <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>*
+                    vid_attr                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+                    vid_puts                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+                    vidattr                  <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+                    vidputs                  <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+                    vline                    <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+                    vline_set                <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+                    vw_printw                <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+                    vw_scanw                 <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+                    vwprintw                 <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+                    vwscanw                  <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+                    wadd_wch                 <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+                    wadd_wchnstr             <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+                    wadd_wchstr              <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+                    waddch                   <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+                    waddchnstr               <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+                    waddchstr                <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+                    waddnstr                 <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+                    waddnwstr                <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+                    waddstr                  <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+                    waddwstr                 <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
 
+                    wattr_get                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    wattr_off                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    wattr_on                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    wattr_set                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    wattroff                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    wattron                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    wattrset                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    wbkgd                    <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+                    wbkgdset                 <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+                    wbkgrnd                  <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+                    wbkgrndset               <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+                    wborder                  <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+                    wborder_set              <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+                    wchgat                   <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    wclear                   <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+                    wclrtobot                <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+                    wclrtoeol                <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+                    wcolor_set               <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    wcursyncup               <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+                    wdelch                   <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
+                    wdeleteln                <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+                    wecho_wchar              <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+                    wechochar                <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+                    wenclose                 <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
+                    werase                   <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+                    wget_wch                 <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+                    wget_wstr                <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+                    wgetbkgrnd               <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+                    wgetch                   <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+                    wgetdelay                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+                    wgetn_wstr               <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+                    wgetnstr                 <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+                    wgetparent               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+                    wgetscrreg               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+                    wgetstr                  <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+                    whline                   <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+                    whline_set               <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+                    win_wch                  <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
+                    win_wchnstr              <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+                    win_wchstr               <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+                    winch                    <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
+                    winchnstr                <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+                    winchstr                 <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+                    winnstr                  <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+                    winnwstr                 <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+                    wins_nwstr               <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+                    wins_wch                 <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
+                    wins_wstr                <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+                    winsch                   <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
+                    winsdelln                <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+                    winsertln                <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+                    winsnstr                 <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+                    winsstr                  <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+                    winstr                   <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+                    winwstr                  <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+                    wmouse_trafo             <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
+                    wmove                    <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
+                    wnoutrefresh             <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+                    wprintw                  <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+                    wredrawln                <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+                    wrefresh                 <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+                    wresize                  <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>*
+                    wscanw                   <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+                    wscrl                    <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
+                    wsetscrreg               <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
 
-</PRE>
-<H2><a name="h2-ENVIRONMENT">ENVIRONMENT</a></H2><PRE>
-       The following environment symbols are useful for customiz-
-       ing the runtime behavior of the <STRONG>ncurses</STRONG> library.  The most
-       important ones have been already discussed in detail.
+                    wstandend                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    wstandout                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    wsyncdown                <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+                    wsyncup                  <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+                    wtimeout                 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+                    wtouchln                 <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+                    wunctrl                  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+                    wvline                   <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+                    wvline_set               <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
 
-   <STRONG>CC</STRONG>
-       When set,  change  occurrences  of  the  command_character
-       (i.e.,  the  <STRONG>cmdch</STRONG>  capability)  of  the  loaded  terminfo
-       entries to the value of this variable.  Very few  terminfo
-       entries provide this feature.
+       <EM>ncurses</EM>'s    <EM>screen-pointer</EM>   <EM>extension</EM>   adds   additional   functions
+       corresponding to many of the above, each  with  an  "_sp"  suffix;  see
+       <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>.
 
-       Because this name is also used in development environments
-       to represent the C compiler's name, <STRONG>ncurses</STRONG> ignores it  if
-       it does not happen to be a single character.
+       The  availability  of  some  extensions is configurable when <EM>ncurses</EM> is
+       compiled; see  sections  "ALTERNATE  CONFIGURATIONS"  and  "EXTENSIONS"
+       below.
 
 
-</PRE>
-<H3><a name="h3-BAUDRATE">BAUDRATE</a></H3><PRE>
-       The  debugging  library  checks  this environment variable
-       when the application has redirected output to a file.  The
-       variable's  numeric value is used for the baudrate.  If no
-       value is found, <STRONG>ncurses</STRONG> uses 9600.  This allows testers to
-       construct  repeatable  test-cases  that  take into account
-       costs that depend on baudrate.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       Unless  otherwise  noted, functions that return an integer return <STRONG>OK</STRONG> on
+       success and <STRONG>ERR</STRONG> on failure.  Functions that return pointers return <STRONG>NULL</STRONG>
+       on  failure.   Typically,  <EM>ncurses</EM>  treats  a  null pointer passed as a
+       function parameter as a failure.  Functions prefixed  with  "mv"  first
+       perform  cursor movement and fail if the position (<EM>y</EM>, <EM>x</EM>) is outside the
+       window boundaries.
 
 
-</PRE>
-<H3><a name="h3-COLUMNS">COLUMNS</a></H3><PRE>
-       Specify the width of the screen in  characters.   Applica-
-       tions  running in a windowing environment usually are able
-       to obtain the width of the window in which they  are  exe-
-       cuting.   If  neither the <STRONG>COLUMNS</STRONG> value nor the terminal's
-       screen size is available, <STRONG>ncurses</STRONG> uses the size which  may
-       be  specified  in  the  terminfo  database (i.e., the <STRONG>cols</STRONG>
-       capability).
+</PRE><H2><a name="h2-ENVIRONMENT">ENVIRONMENT</a></H2><PRE>
+       The following  symbols  from  the  process  environment  customize  the
+       runtime   behavior   of  <EM>ncurses</EM>  applications.   The  library  may  be
+       configured  to  disregard  the   variables   <EM>TERMINFO</EM>,   <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM>,
+       <EM>TERMPATH</EM>,  and  <EM>HOME</EM>,  if  the  user  is  the  superuser (root), or the
+       application uses <STRONG>setuid(2)</STRONG> or <STRONG>setgid(2)</STRONG>.
 
-       It is important that your application use a  correct  size
-       for  the screen.  This is not always possible because your
-       application may be running on a host which does not  honor
-       NAWS  (Negotiations About Window Size), or because you are
-       temporarily running as  another  user.   However,  setting
-       <STRONG>COLUMNS</STRONG>  and/or  <STRONG>LINES</STRONG>  overrides the library's use of the
-       screen size obtained from the operating system.
 
-       Either <STRONG>COLUMNS</STRONG> or <STRONG>LINES</STRONG> symbols may be specified  indepen-
-       dently.   This  is mainly useful to circumvent legacy mis-
-       features of terminal descriptions, e.g., xterm which  com-
-       monly specifies a 65 line screen.  For best results, <STRONG>lines</STRONG>
-       and <STRONG>cols</STRONG> should not be specified in a terminal description
-       for terminals which are run as emulations.
+</PRE><H3><a name="h3-BAUDRATE"><EM>BAUDRATE</EM></a></H3><PRE>
+       The debugging library checks this variable  when  the  application  has
+       redirected  output  to a file.  Its integral value is used for the baud
+       rate.  If that value is absent or invalid,  <EM>ncurses</EM>  uses  9600.   This
+       feature  allows  testers  to  construct repeatable test cases that take
+       into account optimization decisions that depend on baud rate.
 
-       Use  the  <STRONG>use_env</STRONG>  function to disable all use of external
-       environment (but not including system calls) to  determine
-       the  screen  size.   Use the <STRONG>use_tioctl</STRONG> function to update
-       <STRONG>COLUMNS</STRONG> or <STRONG>LINES</STRONG> to match the screen  size  obtained  from
-       system calls or the terminal database.
 
+</PRE><H3><a name="h3-CC-_command-character_"><EM>CC</EM> (command character)</a></H3><PRE>
+       When set, the <STRONG>command_character</STRONG>  (<STRONG>cmdch</STRONG>)  capability  value  of  loaded
+       <EM>terminfo</EM> entries changes to the value of this variable.  Very few <EM>term-</EM>
+       <EM>info</EM> entries provide this feature.
 
-</PRE>
-<H3><a name="h3-ESCDELAY">ESCDELAY</a></H3><PRE>
-       Specifies  the  total  time,  in  milliseconds,  for which
-       ncurses will await a character sequence, e.g., a  function
-       key.   The default value, 1000 milliseconds, is enough for
-       most uses.  However, it is made a variable to  accommodate
-       unusual applications.
+       Because this name is also used in development environments to represent
+       the  C  compiler's  name,  <EM>ncurses</EM>  ignores  its value if it is not one
+       character in length.
 
-       The most common instance where you may wish to change this
-       value is to work with slow hosts, e.g., running on a  net-
-       work.   If the host cannot read characters rapidly enough,
-       it will have the same effect as if the  terminal  did  not
-       send  characters  rapidly  enough.  The library will still
-       see a timeout.
 
-       Note that xterm mouse events are built up  from  character
-       sequences  received  from  the xterm.  If your application
-       makes heavy use of  multiple-clicking,  you  may  wish  to
-       lengthen this default value because the timeout applies to
-       the composed multi-click event as well as  the  individual
-       clicks.
+</PRE><H3><a name="h3-COLUMNS"><EM>COLUMNS</EM></a></H3><PRE>
+       This  variable  specifies  the  width  of  the  screen  in  characters.
+       Applications  running  in  a  windowing environment usually are able to
+       obtain the width of the window in which they are executing.  If <EM>COLUMNS</EM>
+       is not defined and the terminal's screen size is not available from the
+       terminal driver, <EM>ncurses</EM> uses the size specified by the <STRONG>columns</STRONG>  (<STRONG>cols</STRONG>)
+       capability  of  the  terminal type's entry in the <EM>terminfo</EM> database, if
+       any.
 
-       In  addition to the environment variable, this implementa-
-       tion provides a global variable with the same name.   Por-
-       table  applications  should  not rely upon the presence of
-       ESCDELAY in either form, but setting the environment vari-
-       able rather than the global variable does not create prob-
-       lems when compiling an application.
+       It is important that your application  use  the  correct  screen  size.
+       Automatic   detection   thereof  is  not  always  possible  because  an
+       application may  be  running  on  a  host  that  does  not  honor  NAWS
+       (Negotiations  About  Window  Size)  or as a different user ID than the
+       owner of the  terminal  device  file.   Setting  <EM>COLUMNS</EM>  and/or  <EM>LINES</EM>
+       overrides  the  library's  use  of  the  screen  size obtained from the
+       operating system.
 
+       The <EM>COLUMNS</EM> and <EM>LINES</EM> variables may be specified  independently.   This
+       property  is  useful  to circumvent misfeatures of legacy terminal type
+       descriptions; <STRONG>xterm(1)</STRONG>  descriptions  specifying  65  lines  were  once
+       notorious.    For   best  results,  avoid  specifying  <STRONG>cols</STRONG>  and  <STRONG>lines</STRONG>
+       capability codes in <EM>terminfo</EM> descriptions of terminal emulators.
 
-</PRE>
-<H3><a name="h3-HOME">HOME</a></H3><PRE>
-       Tells <STRONG>ncurses</STRONG> where your home directory is.  That is where
-       it may read and write auxiliary terminal descriptions:
+       <STRONG><A HREF="curs_util.3x.html">use_env(3x)</A></STRONG> can disable use of the process environment  in  determining
+       the  screen size.  <STRONG><A HREF="curs_util.3x.html">use_tioctl(3x)</A></STRONG> can update <EM>COLUMNS</EM> and <EM>LINES</EM> to match
+       the screen size obtained from system calls or the terminal database.
 
-       $HOME/.termcap
-       $HOME/.terminfo
 
+</PRE><H3><a name="h3-ESCDELAY"><EM>ESCDELAY</EM></a></H3><PRE>
+       For <EM>curses</EM> to distinguish the ESC character  resulting  from  a  user's
+       press  of  the  "Escape"  key on the input device from one beginning an
+       <EM>escape</EM> <EM>sequence</EM> (as commonly produced by function keys), it waits after
+       receiving  the  escape  character  to  see  if  further  characters are
+       available on the input  stream  within  a  short  interval.   A  global
+       variable  <STRONG>ESCDELAY</STRONG>  stores  this interval in milliseconds.  The default
+       value of 1000 (one second) is adequate for most uses.  This environment
+       variable overrides it.
 
-</PRE>
-<H3><a name="h3-LINES">LINES</a></H3><PRE>
-       Like  COLUMNS, specify the height of the screen in charac-
-       ters.  See COLUMNS for a detailed description.
+       The  most common instance where you may wish to change this value is to
+       work with a remote host over a slow communication channel.  If the host
+       running  a  <EM>curses</EM>  application  does  not receive the characters of an
+       escape sequence in a timely manner, the library can interpret  them  as
+       multiple key stroke events.
 
+       <STRONG>xterm(1)</STRONG> mouse events are a form of escape sequence; therefore, if your
+       application makes heavy use  of  multiple-clicking,  you  may  wish  to
+       lengthen  the  default value because the delay applies to the composite
+       multi-click event as well as the individual clicks.
 
-</PRE>
-<H3><a name="h3-MOUSE_BUTTONS_123">MOUSE_BUTTONS_123</a></H3><PRE>
-       This applies only to the OS/2 EMX port.  It specifies  the
-       order  of  buttons  on the mouse.  OS/2 numbers a 3-button
-       mouse inconsistently from other platforms:
+       Portable applications should not rely upon the presence of <STRONG>ESCDELAY</STRONG>  in
+       either  form,  but  setting  the  environment  variable rather than the
+       global variable does not create problems when compiling an application.
 
-       1 = left
-       2 = right
-       3 = middle.
+       If <STRONG><A HREF="curs_inopts.3x.html">keypad(3x)</A></STRONG> is disabled for the  <EM>curses</EM>  window  receiving  input,  a
+       program must disambiguate escape sequences itself.
 
-       This variable lets you customize the mouse.  The  variable
-       must  be  three numeric digits 1-3 in any order, e.g., 123
-       or 321.  If it is not specified, <STRONG>ncurses</STRONG> uses 132.
 
+</PRE><H3><a name="h3-HOME"><EM>HOME</EM></a></H3><PRE>
+       <EM>ncurses</EM>  may read and write auxiliary terminal descriptions in <EM>.termcap</EM>
+       and <EM>.terminfo</EM> files in the user's home directory.
 
-</PRE>
-<H3><a name="h3-NCURSES_ASSUMED_COLORS">NCURSES_ASSUMED_COLORS</a></H3><PRE>
-       Override the compiled-in assumption  that  the  terminal's
-       default   colors   are  white-on-black  (see  <STRONG>default_col-</STRONG>
-       <STRONG><A HREF="default_colors.3x.html">ors(3x)</A></STRONG>).  You may set the foreground and background color
-       values  with this environment variable by proving a 2-ele-
-       ment list: foreground,background.  For  example,  to  tell
-       ncurses  to not assume anything about the colors, set this
-       to "-1,-1".  To make it green-on-black, set it  to  "2,0".
-       Any  positive  value  from zero to the terminfo <STRONG>max_colors</STRONG>
-       value is allowed.
 
+</PRE><H3><a name="h3-LINES"><EM>LINES</EM></a></H3><PRE>
+       This counterpart to <EM>COLUMNS</EM> specifies  the  height  of  the  screen  in
+       characters.   The  corresponding <EM>terminfo</EM> capability and code is <STRONG>lines</STRONG>.
+       See the description of the <EM>COLUMNS</EM> variable above.
 
-</PRE>
-<H3><a name="h3-NCURSES_CONSOLE2">NCURSES_CONSOLE2</a></H3><PRE>
-       This applies only to the MinGW port of ncurses.
 
-       The <STRONG>Console2</STRONG> program's handling of the  Microsoft  Console
-       API call <STRONG>CreateConsoleScreenBuffer</STRONG> is defective.  Applica-
-       tions which use this will hang.  However, it  is  possible
-       to  simulate  the  action  of this call by mapping coordi-
-       nates, explicitly saving and restoring the original screen
-       contents.   Setting the environment variable <STRONG>NCGDB</STRONG> has the
-       same effect.
+</PRE><H3><a name="h3-MOUSE_BUTTONS_123"><EM>MOUSE_BUTTONS_123</EM></a></H3><PRE>
+       (OS/2 EMX port only) OS/2 numbers a three-button  mouse  inconsistently
+       with  other platforms, such that 1 is the left button, 2 the right, and
+       3 the middle.  This variable customizes  the  mouse  button  numbering.
+       Its  value  must be three digits 1-3 in any order.  By default, <EM>ncurses</EM>
+       assumes a numbering of "132".
 
 
-</PRE>
-<H3><a name="h3-NCURSES_GPM_TERMS">NCURSES_GPM_TERMS</a></H3><PRE>
-       This applies only to ncurses configured  to  use  the  GPM
-       interface.
+</PRE><H3><a name="h3-NCURSES_ASSUMED_COLORS"><EM>NCURSES_ASSUMED_COLORS</EM></a></H3><PRE>
+       If set, this  variable  overrides  the  <EM>ncurses</EM>  library's  compiled-in
+       assumption  that  the terminal's default colors are white on black; see
+       <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>.  Set the foreground  and  background  color  values
+       with  this  environment  variable  by  assigning  it two integer values
+       separated  by  a  comma,  indicating  foregound  and  background  color
+       numbers, respectively.
 
-       If  present,  the environment variable is a list of one or
-       more terminal names against  which  the  TERM  environment
-       variable  is  matched.   Setting it to an empty value dis-
-       ables the GPM interface; using the  built-in  support  for
-       xterm, etc.
+       For  example,  to tell <EM>ncurses</EM> not to assume anything about the colors,
+       use a value of "-1,-1".  To make the  default  color  scheme  green  on
+       black,  use  "2,0".   <EM>ncurses</EM> accepts integral values from -1 up to the
+       value of the <EM>terminfo</EM> <STRONG>max_colors</STRONG> (<STRONG>colors</STRONG>) capability.
 
-       If  the  environment  variable  is  absent,  ncurses  will
-       attempt to open GPM if TERM contains "linux".
 
+</PRE><H3><a name="h3-NCURSES_CONSOLE2"><EM>NCURSES_CONSOLE2</EM></a></H3><PRE>
+       (MinGW  port  only)  The  <EM>Console2</EM>  program  defectively  handles   the
+       Microsoft  Console  API  call  <EM>CreateConsoleScreenBuffer</EM>.  Applications
+       that use it will hang.  However, it is possible to simulate the  action
+       of  this  call  by mapping coordinates, explicitly saving and restoring
+       the original screen contents.  Setting the environment  variable  <EM>NCGDB</EM>
+       has the same effect.
 
-</PRE>
-<H3><a name="h3-NCURSES_NO_HARD_TABS">NCURSES_NO_HARD_TABS</a></H3><PRE>
-       <STRONG>Ncurses</STRONG> may use tabs as part of the cursor movement  opti-
-       mization.   In  some  cases,  your terminal driver may not
-       handle these properly.  Set this environment  variable  to
-       disable  the  feature.  You can also adjust your <STRONG>stty</STRONG> set-
-       tings to avoid the problem.  NCURSES_NO_MAGIC_COOKIE  Some
-       terminals  use  a magic-cookie feature which requires spe-
-       cial  handling  to  make  highlighting  and  other   video
-       attributes  display  properly.  You can suppress the high-
-       lighting entirely for  these  terminals  by  setting  this
-       environment variable.
 
+</PRE><H3><a name="h3-NCURSES_GPM_TERMS"><EM>NCURSES_GPM_TERMS</EM></a></H3><PRE>
+       (Linux  only) When <EM>ncurses</EM> is configured to use the GPM interface, this
+       variable may list one or more terminal names  against  which  the  <EM>TERM</EM>
+       variable  (see  below)  is  matched.   An  empty value disables the GPM
+       interface,  using  <EM>ncurses</EM>'s  built-in  support  for   <STRONG>xterm(1)</STRONG>   mouse
+       protocols instead.  If the variable is absent, <EM>ncurses</EM> attempts to open
+       GPM if <EM>TERM</EM> contains "linux".
 
-</PRE>
-<H3><a name="h3-NCURSES_NO_PADDING">NCURSES_NO_PADDING</a></H3><PRE>
-       Most of the terminal descriptions in the terminfo database
-       are written for real "hardware"  terminals.   Many  people
-       use  terminal  emulators which run in a windowing environ-
-       ment and use curses-based applications.   Terminal  emula-
-       tors can duplicate all of the important aspects of a hard-
-       ware terminal, but they do not have the same  limitations.
-       The  chief  limitation  of  a  hardware  terminal from the
-       standpoint  of  your  application  is  the  management  of
-       dataflow,  i.e.,  timing.   Unless  a hardware terminal is
-       interfaced into a terminal concentrator (which  does  flow
-       control),  it  (or your application) must manage dataflow,
-       preventing overruns.  The cheapest solution  (no  hardware
-       cost)  is  for  your  program  to do this by pausing after
-       operations that the terminal does slowly, such as clearing
-       the display.
 
-       As  a  result,  many  terminal descriptions (including the
-       vt100) have delay times embedded.  You  may  wish  to  use
-       these  descriptions,  but  not want to pay the performance
-       penalty.
+</PRE><H3><a name="h3-NCURSES_NO_HARD_TABS"><EM>NCURSES_NO_HARD_TABS</EM></a></H3><PRE>
+       <EM>ncurses</EM> may use tab characters in  cursor  movement  optimization.   In
+       some  cases,  your  terminal  driver may not handle them properly.  Set
+       this environment variable to any value to disable the feature.  You can
+       also adjust your <STRONG>stty(1)</STRONG> settings to avoid the problem.
 
-       Set the NCURSES_NO_PADDING environment variable to disable
-       all but mandatory padding.  Mandatory padding is used as a
-       part of special control sequences such as <EM>flash</EM>.
 
+</PRE><H3><a name="h3-NCURSES_NO_MAGIC_COOKIE"><EM>NCURSES_NO_MAGIC_COOKIE</EM></a></H3><PRE>
+       Many  terminals  store  video  attributes  as a property of a character
+       cell, as <EM>curses</EM> does.  Historically, some  recorded  changes  in  video
+       attributes  as  data  that  logically  <EM>occupies</EM>  character cells on the
+       display, switching attributes on or off, similarly to tags in a  markup
+       language;  these  are  termed "magic cookies", and must be subsequently
+       overprinted.  If the <EM>terminfo</EM> entry for your  terminal  type  does  not
+       adequately describe its handling of magic cookies, set this variable to
+       any value to instruct <EM>ncurses</EM> to disable attributes entirely.
 
-</PRE>
-<H3><a name="h3-NCURSES_NO_SETBUF">NCURSES_NO_SETBUF</a></H3><PRE>
-       This setting is obsolete.  Before changes
 
-          <STRONG>o</STRONG>   started with 5.9 patch 20120825 and
+</PRE><H3><a name="h3-NCURSES_NO_PADDING"><EM>NCURSES_NO_PADDING</EM></a></H3><PRE>
+       Most  terminal  type  descriptions  in  the  <EM>terminfo</EM>  database  detail
+       hardware   devices.   Many  people  use  <EM>curses</EM>-based  applications  in
+       terminal emulator programs that run in a windowing environment.   These
+       programs  can  duplicate  all  of  the important features of a hardware
+       terminal, but often lack their limitations.  Chief among  these  absent
+       drawbacks is the problem of data flow management; that is, limiting the
+       speed of communication to what the hardware  could  handle.   Unless  a
+       hardware  terminal  is  interfaced  into a terminal concentrator (which
+       does flow control), an application must manage flow control  itself  to
+       prevent overruns and data loss.
 
-          <STRONG>o</STRONG>   continued though 5.9 patch 20130126
+       A  solution  that  comes  at  no hardware cost is for an application to
+       pause after directing a  terminal  to  execute  an  operation  that  it
+       performs  slowly,  such  as  clearing  the display.  Many terminal type
+       descriptions, including that for the VT100, embed delay  specifications
+       in  capabilities.   You  may  wish  to  use these terminal descriptions
+       without paying the performance penalty.  Set <EM>NCURSES</EM><STRONG>_</STRONG><EM>NO</EM><STRONG>_</STRONG><EM>PADDING</EM> to  any
+       value  to disable all but mandatory padding.  Mandatory padding is used
+       by such terminal capabilities as <STRONG>flash_screen</STRONG> (<STRONG>flash</STRONG>).
 
-       <STRONG>ncurses</STRONG> enabled buffered output during  terminal  initial-
-       ization.   This  was  done (as in SVr4 curses) for perfor-
-       mance reasons.  For testing purposes, both of <STRONG>ncurses</STRONG>  and
-       certain  applications,  this  feature  was  made optional.
-       Setting the  NCURSES_NO_SETBUF  variable  disabled  output
-       buffering,  leaving  the  output  in the original (usually
-       line buffered) mode.
 
-       In the current implementation, ncurses  performs  its  own
-       buffering  and  does not require this workaround.  It does
-       not modify the buffering of the standard output.
+</PRE><H3><a name="h3-NCURSES_NO_SETBUF"><EM>NCURSES_NO_SETBUF</EM></a></H3><PRE>
+       (Obsolete) Prior to internal changes developed in <EM>ncurses</EM> 5.9  (patches
+       20120825  through 20130126), the library used <STRONG>setbuf(3)</STRONG> to enable fully
+       buffered output when initializing the terminal.  This was done,  as  in
+       SVr4  <EM>curses</EM>,  to  increase performance.  For testing purposes, both of
+       <EM>ncurses</EM> and of certain applications, this feature  was  made  optional.
+       Setting  this  variable  disabled  output buffering, leaving the output
+       stream in the original (usually line-buffered) mode.
 
-       The reason for the change was to  make  the  behavior  for
-       interrupts and other signals more robust.  One drawback is
-       that certain nonconventional programs would  mix  ordinary
-       stdio  calls  with ncurses calls and (usually) work.  This
-       is no longer possible  since  ncurses  is  not  using  the
-       buffered  standard  output but its own output (to the same
-       file descriptor).  As a special case, the low-level  calls
-       such  as  <STRONG>putp</STRONG>  still  use the standard output.  But high-
-       level curses calls do not.
+       Nowadays, <EM>ncurses</EM> performs its own buffering and does not require  this
+       workaround;  it  does  not  modify the buffering of the standard output
+       stream.  This approach makes signal handling, as for  interrupts,  more
+       robust.   A  drawback  is  that  certain  unconventional programs mixed
+       <STRONG>stdio(3)</STRONG> calls with <EM>ncurses</EM> calls and (usually) got the  behavior  they
+       expected.   This  is  no longer the case; <EM>ncurses</EM> does not write to the
+       standard output file descriptor through a <EM>stdio</EM>-buffered stream.
 
+       As a special case, low-level API calls such as <STRONG><A HREF="curs_terminfo.3x.html">putp(3x)</A></STRONG> still  use  the
+       standard  output stream.  High-level <EM>curses</EM> calls such as <STRONG><A HREF="curs_printw.3x.html">printw(3x)</A></STRONG> do
+       not.
 
-</PRE>
-<H3><a name="h3-NCURSES_NO_UTF8_ACS">NCURSES_NO_UTF8_ACS</a></H3><PRE>
-       During initialization, the <STRONG>ncurses</STRONG> library checks for spe-
-       cial cases where VT100 line-drawing (and the corresponding
-       alternate character set  capabilities)  described  in  the
-       terminfo are known to be missing.  Specifically, when run-
-       ning in a UTF-8 locale, the Linux console emulator and the
-       GNU  screen program ignore these.  Ncurses checks the TERM
-       environment variable for these.  For other special  cases,
-       you  should  set  this  environment  variable.  Doing this
-       tells ncurses to use Unicode values  which  correspond  to
-       the VT100 line-drawing glyphs.  That works for the special
-       cases cited, and is likely to work for terminal emulators.
 
-       When setting this variable, you should set it to a nonzero
-       value.   Setting  it  to zero (or to a nonnumber) disables
-       the special check for "linux" and "screen".
+</PRE><H3><a name="h3-NCURSES_NO_UTF8_ACS"><EM>NCURSES_NO_UTF8_ACS</EM></a></H3><PRE>
+       At initialization, <EM>ncurses</EM> inspects the <EM>TERM</EM> environment  variable  for
+       special   cases   where   VT100   forms-drawing   characters  (and  the
+       corresponding alternate character set <EM>terminfo</EM> capabilities) are  known
+       to  be  unsupported  by  terminal  types  that  otherwise  claim  VT100
+       compatibility.  Specifically, when running in a UTF-8 locale, the Linux
+       virtual  console device and the GNU <STRONG>screen(1)</STRONG> program ignore them.  Set
+       this  variable  to  a  nonzero  value  to  instruct  <EM>ncurses</EM>  that  the
+       terminal's ACS support is broken; the library then outputs Unicode code
+       points that correspond to the forms-drawing characters.  Set it to zero
+       (or a non-integer) to disable the special check for terminal type names
+       matching "linux" or "screen", directing <EM>ncurses</EM> to assume that the  ACS
+       feature works if the terminal type description advertises it.
 
-       As an alternative to  the  environment  variable,  ncurses
-       checks  for an extended terminfo capability <STRONG>U8</STRONG>.  This is a
-       numeric capability which can  be  compiled  using  <STRONG>tic</STRONG> <STRONG>-x</STRONG>.
-       For example
+       As  an  alternative  to  use  of  this  variable, <EM>ncurses</EM> checks for an
+       extended <EM>terminfo</EM> numeric capability <STRONG>U8</STRONG> that can be compiled using "<STRONG>tic</STRONG>
+       <STRONG>-x</STRONG>".  Examples follow.
 
           # linux console, if patched to provide working
           # VT100 shift-in/shift-out, with corresponding font.
@@ -1050,349 +1028,455 @@
           xterm-utf8|xterm relying on UTF-8 line-graphics,
                   U8#1, use=xterm,
 
-       The name "U8" is chosen to be two characters, to permit it
-       to be used  by  applications  that  use  ncurses'  termcap
-       interface.
+       The  two-character name "U8" was chosen to permit its use via <EM>ncurses</EM>'s
+       <EM>termcap</EM> interface.
 
 
-</PRE>
-<H3><a name="h3-NCURSES_TRACE">NCURSES_TRACE</a></H3><PRE>
-       During   initialization,  the  <STRONG>ncurses</STRONG>  debugging  library
-       checks the NCURSES_TRACE environment variable.  If  it  is
-       defined, to a numeric value, <STRONG>ncurses</STRONG> calls the <STRONG>trace</STRONG> func-
-       tion, using that value as the argument.
-
-       The argument values, which are defined in  <STRONG>curses.h</STRONG>,  pro-
-       vide  several  types  of  information.   When running with
-       traces enabled, your application will write the file <STRONG>trace</STRONG>
-       to the current directory.
-
-       See <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG> for more information.
+</PRE><H3><a name="h3-NCURSES_TRACE"><EM>NCURSES_TRACE</EM></a></H3><PRE>
+       At initialization, <EM>ncurses</EM> (in its debugging configuration) checks  for
+       this  variable's  presence.   If  defined  with  an integral value, the
+       library calls <STRONG><A HREF="curs_trace.3x.html">curses_trace(3x)</A></STRONG> with that value as the argument.
 
 
-</PRE>
-<H3><a name="h3-TERM">TERM</a></H3><PRE>
-       Denotes  your  terminal  type.  Each terminal type is dis-
-       tinct, though many are similar.
+</PRE><H3><a name="h3-TERM"><EM>TERM</EM></a></H3><PRE>
+       The <EM>TERM</EM> variable denotes the terminal type.  Each is distinct,  though
+       many  are  similar.   It  is commonly set by terminal emulators to help
+       applications find a  workable  terminal  description.   Some  choose  a
+       popular  approximation  such as "ansi", "vt100", or "xterm" rather than
+       an exact fit to their capabilities.  Not infrequently,  an  application
+       will  have  problems  with that approach; for example, a key stroke may
+       not operate  correctly,  or  produce  no  effect  but  seeming  garbage
+       characters on the screen.
 
-       <STRONG>TERM</STRONG> is commonly set by terminal emulators to help  appli-
-       cations  find  a  workable  terminal description.  Some of
-       those  choose  a  popular  approximation,  e.g.,   "ansi",
-       "vt100",  "xterm"  rather  than  an exact fit.  Not infre-
-       quently, your application will  have  problems  with  that
-       approach, e.g., incorrect function-key definitions.
-
-       If  you  set <STRONG>TERM</STRONG> in your environment, it has no effect on
-       the operation of the terminal emulator.  It  only  affects
-       the  way applications work within the terminal.  Likewise,
-       as a general rule (<STRONG>xterm</STRONG> being a rare exception), terminal
-       emulators  which  allow you to specify <STRONG>TERM</STRONG> as a parameter
-       or configuration value do not  change  their  behavior  to
-       match that setting.
+       Setting  <EM>TERM</EM>  has  no effect on hardware operation; it affects the way
+       applications communicate with the terminal.   Likewise,  as  a  general
+       rule  (<STRONG>xterm(1)</STRONG>  being a rare exception), terminal emulators that allow
+       you to specify <EM>TERM</EM> as a parameter or configuration value do not change
+       their behavior to match that setting.
 
 
-</PRE>
-<H3><a name="h3-TERMCAP">TERMCAP</a></H3><PRE>
-       If  the  <STRONG>ncurses</STRONG>  library has been configured with <EM>termcap</EM>
-       support, <STRONG>ncurses</STRONG> will check for a  terminal's  description
-       in  termcap  form  if  it is not available in the terminfo
-       database.
-
-       The TERMCAP environment variable contains either a  termi-
-       nal  description  (with  newlines stripped out), or a file
-       name telling where the information  denoted  by  the  TERM
-       environment  variable  exists.  In either case, setting it
-       directs <STRONG>ncurses</STRONG> to ignore the usual place for this  infor-
-       mation, e.g., /etc/termcap.
+</PRE><H3><a name="h3-TERMCAP"><EM>TERMCAP</EM></a></H3><PRE>
+       If <EM>ncurses</EM> is configured with <EM>termcap</EM> support, it checks for a terminal
+       type description in <EM>termcap</EM> format if one in  <EM>terminfo</EM>  format  is  not
+       available.   Setting  this variable directs <EM>ncurses</EM> to ignore the usual
+       <EM>termcap</EM> database location, <EM>/etc/termcap</EM>; see <EM>TERMPATH</EM>  below.   <EM>TERMCAP</EM>
+       should  contain  either  a terminal description (with newlines stripped
+       out), or a file name indicating where the information required  by  the
+       <EM>TERM</EM> environment variable is stored.
 
 
-</PRE>
-<H3><a name="h3-TERMINFO">TERMINFO</a></H3><PRE>
-       Overrides the directory in which <STRONG>ncurses</STRONG> searches for your
-       terminal description.  This is the simplest, but  not  the
-       only  way to change the list of directories.  The complete
-       list of directories in order follows:
+</PRE><H3><a name="h3-TERMINFO"><EM>TERMINFO</EM></a></H3><PRE>
+       <EM>ncurses</EM>  can  be configured to read terminal type description databases
+       in various locations using different formats.  This variable  overrides
+       the default location.
 
-          <STRONG>o</STRONG>   the last directory to which <STRONG>ncurses</STRONG> wrote, if  any,
-              is searched first
+       <STRONG>o</STRONG>   Descriptions  in <EM>terminfo</EM> format are normally stored in a directory
+           tree using subdirectories named by the common first letters of  the
+           terminal types named therein.  This is the scheme used in System V.
 
-          <STRONG>o</STRONG>   the directory specified by the TERMINFO environment
-              variable
+       <STRONG>o</STRONG>   If <EM>ncurses</EM> is configured to use hashed databases, then <EM>TERMINFO</EM> may
+           name its location,  such  as  <EM>/usr/share/terminfo.db</EM>,  rather  than
+           <EM>/usr/share/terminfo/</EM>.
 
-          <STRONG>o</STRONG>   $HOME/.terminfo
+       The  hashed  database  uses less disk space and is a little faster than
+       the directory tree.  However, some applications assume the existence of
+       the directory tree, and read it directly rather than using the <EM>terminfo</EM>
+       API.
 
-          <STRONG>o</STRONG>   directories listed in the TERMINFO_DIRS environment
-              variable
+       <STRONG>o</STRONG>   If <EM>ncurses</EM> is configured with <EM>termcap</EM> support,  this  variable  may
+           contain the location of a <EM>termcap</EM> file.
 
-          <STRONG>o</STRONG>   one  or more directories whose names are configured
-              and compiled into the ncurses library, i.e.,
+       <STRONG>o</STRONG>   If the value of <EM>TERMINFO</EM> begins with "hex:" or "b64:", <EM>ncurses</EM> uses
+           the remainder of the value as a compiled <EM>terminfo</EM> description.  You
+           might produce the base64 format using <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>.
 
-             <STRONG>o</STRONG>   /usr/local/ncurses/share/ter-
-                 minfo:/usr/share/terminfo  (corresponding to the
-                 TERMINFO_DIRS variable)
+                  TERMINFO=$(infocmp -0 -Q2 -q)
+                  export TERMINFO
 
-             <STRONG>o</STRONG>   /usr/share/terminfo (corresponding to  the  TER-
-                 MINFO variable)
+           The  compiled  description  is  used  only if it corresponds to the
+           terminal type identified by <EM>TERM</EM>.
+
+       Setting <EM>TERMINFO</EM> is the simplest, but  not  the  only,  way  to  direct
+       <EM>ncurses</EM> to a terminal database.  The search path is as follows.
+
+       <STRONG>o</STRONG>   the last terminal database to which the running <EM>ncurses</EM> application
+           wrote, if any
+
+       <STRONG>o</STRONG>   the location specified by the <EM>TERMINFO</EM> environment variable
+
+       <STRONG>o</STRONG>   <EM>$HOME/.terminfo</EM>
+
+       <STRONG>o</STRONG>   locations listed in the <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM> environment variable
+
+       <STRONG>o</STRONG>   location(s) configured and compiled into <EM>ncurses</EM>
+
+          <STRONG>o</STRONG>   <EM>/usr/share/terminfo</EM>
 
 
-</PRE>
-<H3><a name="h3-TERMINFO_DIRS">TERMINFO_DIRS</a></H3><PRE>
-       Specifies  a  list  of  directories to search for terminal
-       descriptions.  The list is separated by colons (i.e., ":")
-       on Unix, semicolons on OS/2 EMX.
-
-       All  of  the  terminal  descriptions are in terminfo form.
-       Normally these are stored in a directory tree, using  sub-
-       directories  named  by  the  first  letter of the terminal
-       names therein.
-
-       If <STRONG>ncurses</STRONG> is built with  a  hashed  database,  then  each
-       entry in this list can also be the path of the correspond-
-       ing database file.
-
-       If <STRONG>ncurses</STRONG> is built with a  support  for  reading  termcap
-       files directly, then an entry in this list may be the path
-       of a termcap file.
+</PRE><H3><a name="h3-TERMINFO_DIRS"><EM>TERMINFO_DIRS</EM></a></H3><PRE>
+       This variable specifies a list of locations, akin  to  <EM>PATH</EM>,  in  which
+       <EM>ncurses</EM>  searches  for  the  terminal  type  descriptions  described by
+       <EM>TERMINFO</EM> above.  The list items are separated by  colons  on  Unix  and
+       semicolons  on  OS/2  EMX.   System V  <EM>terminfo</EM>  lacks  a corresponding
+       feature; <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM> is an <EM>ncurses</EM> extension.
 
 
-</PRE>
-<H3><a name="h3-TERMPATH">TERMPATH</a></H3><PRE>
-       If TERMCAP does not hold a file name then  <STRONG>ncurses</STRONG>  checks
-       the  TERMPATH  environment  variable.   This  is a list of
-       filenames separated by spaces or  colons  (i.e.,  ":")  on
-       Unix, semicolons on OS/2 EMX.
+</PRE><H3><a name="h3-TERMPATH"><EM>TERMPATH</EM></a></H3><PRE>
+       If <EM>TERMCAP</EM> does not hold a terminal type description or file name, then
+       <EM>ncurses</EM>  checks  the contents of <EM>TERMPATH</EM>, a list of locations, akin to
+       <EM>PATH</EM>, in which it searches for <EM>termcap</EM> terminal type descriptions.  The
+       list items are separated by colons on Unix and semicolons on OS/2 EMX.
 
-       If  the  TERMPATH environment variable is not set, <STRONG>ncurses</STRONG>
-       looks in the files  /etc/termcap,  /usr/share/misc/termcap
-       and $HOME/.termcap, in that order.
-
-       The  library  may be configured to disregard the following
-       variables when the current user is the  superuser  (root),
-       or if the application uses setuid or setgid permissions:
-
-       $TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as $HOME.
+       If both <EM>TERMCAP</EM> and <EM>TERMPATH</EM> are unset or invalid, <EM>ncurses</EM> searches for
+       the files <EM>/etc/termcap</EM>, <EM>/usr/share/misc/termcap</EM>, and <EM>$HOME/.termcap</EM>, in
+       that order.
 
 
-</PRE>
-<H2><a name="h2-ALTERNATE-CONFIGURATIONS">ALTERNATE CONFIGURATIONS</a></H2><PRE>
-       Several  different  configurations are possible, depending
-       on  the  configure  script  options  used  when   building
-       <STRONG>ncurses</STRONG>.   There  are a few main options whose effects are
-       visible to the applications developer using <STRONG>ncurses</STRONG>:
+</PRE><H2><a name="h2-ALTERNATE-CONFIGURATIONS">ALTERNATE CONFIGURATIONS</a></H2><PRE>
+       Many  different  <EM>ncurses</EM> configurations are possible, determined by the
+       options given to the <EM>configure</EM> script when building the  library.   Run
+       the  script  with  the  <STRONG>--help</STRONG> option to peruse them all.  A few are of
+       particular significance to the application developer employing <EM>ncurses</EM>.
 
-       --disable-overwrite
-            The standard include for <STRONG>ncurses</STRONG> is as noted in  <STRONG>SYN-</STRONG>
-            <STRONG>OPSIS</STRONG>:
+       <STRONG>--disable-overwrite</STRONG>
+            The standard include for <EM>ncurses</EM> is as noted in <STRONG>SYNOPSIS</STRONG>:
 
-          <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+                <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
-            This  option is used to avoid filename conflicts when
-            <STRONG>ncurses</STRONG> is not the main implementation of  curses  of
-            the  computer.   If  <STRONG>ncurses</STRONG>  is  installed disabling
-            overwrite, it puts its  headers  in  a  subdirectory,
-            e.g.,
+            This option is used to avoid filename conflicts  when  <EM>ncurses</EM>  is
+            not the main implementation of curses of the computer.  If <EM>ncurses</EM>
+            is installed  disabling  overwrite,  it  puts  its  headers  in  a
+            subdirectory, e.g.,
 
-          <STRONG>#include</STRONG> <STRONG>&lt;ncurses/curses.h&gt;</STRONG>
+                <STRONG>#include</STRONG> <STRONG>&lt;ncurses/curses.h&gt;</STRONG>
 
-            It  also  omits a symbolic link which would allow you
-            to use <STRONG>-lcurses</STRONG> to build executables.
+            It  also  omits  a  symbolic  link  which  would  allow you to use
+            <STRONG>-lcurses</STRONG> to build executables.
 
-       --enable-widec
-            The configure script renames the library and (if  the
-            <STRONG>--disable-overwrite</STRONG>  option  is used) puts the header
-            files  in  a  different  subdirectory.   All  of  the
-            library  names  have  a  "w"  appended to them, i.e.,
-            instead of
+       <STRONG>--enable-widec</STRONG>
+            The  configure  script   renames   the   library   and   (if   the
+            <STRONG>--disable-overwrite</STRONG>  option  is  used)  puts the header files in a
+            different subdirectory.  All of  the  library  names  have  a  "w"
+            appended to them, i.e., instead of
 
-          <STRONG>-lncurses</STRONG>
+                <STRONG>-lncurses</STRONG>
 
             you link with
 
-          <STRONG>-lncursesw</STRONG>
+                <STRONG>-lncursesw</STRONG>
 
-            You must also define <STRONG>_XOPEN_SOURCE_EXTENDED</STRONG> when com-
-            piling  for  the  wide-character  library  to use the
-            extended (wide-character)  functions.   The  <STRONG>curses.h</STRONG>
-            file   which  is  installed  for  the  wide-character
-            library is designed to be compatible with the  normal
-            library's header.  Only the size of the <STRONG>WINDOW</STRONG> struc-
-            ture differs, and very few applications require  more
-            than  a  pointer  to  <STRONG>WINDOW</STRONG>s.   If  the  headers are
-            installed  allowing  overwrite,  the   wide-character
-            library's  headers should be installed last, to allow
-            applications to be built using  either  library  from
-            the same set of headers.
+            You  must  also  enable  the wide-character features in the header
+            file when compiling for the  wide-character  library  to  use  the
+            extended  (wide-character)  functions.   The  symbol which enables
+            these features has changed since X/Open Curses, Issue 4:
 
-       --with-pthread
-            The configure script renames the library.  All of the
-            library names have a "t" appended to them (before any
-            "w" added by <STRONG>--enable-widec</STRONG>).
+            <STRONG>o</STRONG>   Originally, the wide-character  feature  required  the  symbol
+                <STRONG>_XOPEN_SOURCE_EXTENDED</STRONG>  but  that  was  only  valid  for  XPG4
+                (1996).
 
-            The  global  variables  such as <STRONG>LINES</STRONG> are replaced by
-            macros to allow read-only access.  At the same  time,
-            setter-functions  are  provided  to set these values.
-            Some applications (very few) may require  changes  to
-            work with this convention.
+            <STRONG>o</STRONG>   Later, that was deemed conflicting with <STRONG>_XOPEN_SOURCE</STRONG>  defined
+                to 500.
 
-       --with-shared
+            <STRONG>o</STRONG>   As  of  mid-2018,  none of the features in this implementation
+                require a <STRONG>_XOPEN_SOURCE</STRONG> feature greater  than  600.   However,
+                X/Open Curses, Issue 7 (2009) recommends defining it to 700.
 
-       --with-normal
+            <STRONG>o</STRONG>   Alternatively,   you   can  enable  the  feature  by  defining
+                <STRONG>NCURSES_WIDECHAR</STRONG> with the caveat that some other  header  file
+                than  <STRONG>curses.h</STRONG>  may require a specific value for <STRONG>_XOPEN_SOURCE</STRONG>
+                (or a system-specific symbol).
 
-       --with-debug
+            The <EM>curses.h</EM> header file installed for the wide-character  library
+            is  designed  to be compatible with the non-wide library's header.
+            Only the size of the <EM>WINDOW</EM> structure  differs;  few  applications
+            require more than pointers to <EM>WINDOW</EM>s.
 
-       --with-profile
-            The  shared  and normal (static) library names differ
-            by their  suffixes,  e.g.,  <STRONG>libncurses.so</STRONG>  and  <STRONG>libn-</STRONG>
-            <STRONG>curses.a</STRONG>.   The  debug  and profiling libraries add a
-            "_g" and a "_p" to the root names respectively, e.g.,
-            <STRONG>libncurses_g.a</STRONG> and <STRONG>libncurses_p.a</STRONG>.
+            If  the  headers  are  installed  allowing  overwrite,  the  wide-
+            character library's headers should be  installed  last,  to  allow
+            applications to be built using either library from the same set of
+            headers.
 
-       --with-trace
-            The  <STRONG>trace</STRONG>  function  normally  resides  in the debug
-            library, but it is sometimes useful to configure this
-            in  the  shared  library.   Configure  scripts should
-            check for the function's existence rather than assum-
-            ing it is always in the debug library.
+       <STRONG>--with-pthread</STRONG>
+            The configure script renames the  library.   All  of  the  library
+            names  have  a  "t"  appended  to  them  (before  any "w" added by
+            <STRONG>--enable-widec</STRONG>).
+
+            The global variables such as <STRONG>LINES</STRONG> are replaced by macros to allow
+            read-only access.  At the same time, setter-functions are provided
+            to set these values.  Some applications  (very  few)  may  require
+            changes to work with this convention.
+
+       <STRONG>--with-shared</STRONG>
+       <STRONG>--with-normal</STRONG>
+       <STRONG>--with-debug</STRONG>
+       <STRONG>--with-profile</STRONG>
+            The  shared  and  normal  (static)  library  names differ by their
+            suffixes, e.g., <STRONG>libncurses.so</STRONG> and  <STRONG>libncurses.a</STRONG>.   The  debug  and
+            profiling  libraries  add  a  "_g"  and  a  "_p" to the root names
+            respectively, e.g., <STRONG>libncurses_g.a</STRONG> and <STRONG>libncurses_p.a</STRONG>.
+
+       <STRONG>--with-termlib</STRONG>
+            Low-level functions which do not depend upon whether  the  library
+            supports wide-characters, are provided in the tinfo library.
+
+            By  doing  this, it is possible to share the tinfo library between
+            wide/normal configurations as well  as  reduce  the  size  of  the
+            library when only low-level functions are needed.
+
+            Those functions are described in these pages:
+
+            <STRONG>o</STRONG>   <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG> - miscellaneous <EM>curses</EM> extensions
+
+            <STRONG>o</STRONG>   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> - <EM>curses</EM> input options
+
+            <STRONG>o</STRONG>   <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG> - low-level <EM>curses</EM> routines
+
+            <STRONG>o</STRONG>   <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG> - <EM>curses</EM> environment query routines
+
+            <STRONG>o</STRONG>   <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG> - <EM>curses</EM> emulation of <EM>termcap</EM>
+
+            <STRONG>o</STRONG>   <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> - <EM>curses</EM> interface to <EM>terminfo</EM> database
+
+            <STRONG>o</STRONG>   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG> - miscellaneous <EM>curses</EM> utility routines
+
+       <STRONG>--with-trace</STRONG>
+            The  <STRONG>trace</STRONG>  function normally resides in the debug library, but it
+            is sometimes useful to  configure  this  in  the  shared  library.
+            Configure scripts should check for the function's existence rather
+            than assuming it is always in the debug library.
 
 
-</PRE>
-<H2><a name="h2-FILES">FILES</a></H2><PRE>
-       /usr/share/tabset
-            directory  containing  initialization  files  for the
-            terminal capability database /usr/share/terminfo ter-
-            minal capability database
+</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
+       <EM>/usr/share/tabset</EM>
+              tab stop initialization database
+
+       <EM>/usr/share/terminfo</EM>
+              compiled terminal capability database
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>  and  related  pages whose names begin "curs_"
-       for detailed routine descriptions.
-       <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       X/Open Curses permits most functions it specifies to be made  available
+       as macros as well.  <EM>ncurses</EM> does so
+
+       <STRONG>o</STRONG>   for functions that return values via their parameters,
+
+       <STRONG>o</STRONG>   to support obsolete features,
+
+       <STRONG>o</STRONG>   to  reuse functions (for example, those that move the cursor before
+           another operation), and
+
+       <STRONG>o</STRONG>   a few special cases.
+
+       If the standard  output  file  descriptor  of  an  <EM>ncurses</EM>  program  is
+       redirected  to  something  that  is  not a terminal device, the library
+       writes screen updates to the standard error file descriptor.  This  was
+       an undocumented feature of SVr3 <EM>curses</EM>.
+
+       See  subsection  "Header  Files"  below  regarding  symbols  exposed by
+       inclusion of <EM>curses.h</EM>.
 
 
-</PRE>
-<H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
-       The  <STRONG>ncurses</STRONG>  library  can  be  compiled  with  an  option
-       (<STRONG>-DUSE_GETCAP</STRONG>) that falls back to the old-style /etc/term-
-       cap file if the terminal setup code cannot find a terminfo
-       entry  corresponding  to <STRONG>TERM</STRONG>.  Use of this feature is not
-       recommended, as it essentially includes an entire  termcap
-       compiler  in the <STRONG>ncurses</STRONG> startup code, at significant cost
-       in core and startup cycles.
+</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+       <EM>ncurses</EM> enables an application  to  capture  mouse  events  on  certain
+       terminals, including <STRONG>xterm(1)</STRONG>; see <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>.
 
-       The <STRONG>ncurses</STRONG>  library  includes  facilities  for  capturing
-       mouse  events on certain terminals (including xterm).  See
-       the <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual page for details.
+       <EM>ncurses</EM>  provides  a  means of responding to window resizing events, as
+       when running in a GUI terminal emulator application such as <EM>xterm</EM>;  see
+       <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> and <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>.
 
-       The <STRONG>ncurses</STRONG> library includes facilities for responding  to
-       window  resizing  events,  e.g., when running in an xterm.
-       See the <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> and <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>  manual  pages  for
-       details.   In addition, the library may be configured with
-       a SIGWINCH handler.
+       <EM>ncurses</EM> allows an application to query the terminal for the presence of
+       a wide variety of special keys; see <STRONG><A HREF="curs_getch.3x.html">has_key(3x)</A></STRONG>.
 
-       The <STRONG>ncurses</STRONG> library extends the fixed set of function  key
-       capabilities  of  terminals  by  allowing  the application
-       designer to define additional key  sequences  at  runtime.
-       See the <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>, and <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG> man-
-       ual pages for details.
+       <EM>ncurses</EM> extends the fixed set of function key capabilities specified by
+       X/Open   Curses  by  allowing  the  application  programmer  to  define
+       additional key events at runtime; see <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>,  <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>,
+       <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>, and <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>.
 
-       The <STRONG>ncurses</STRONG> library can exploit the capabilities of termi-
-       nals  which  implement the ISO-6429 SGR 39 and SGR 49 con-
-       trols, which allow an application to reset the terminal to
-       its  original  foreground and background colors.  From the
-       users' perspective, the application is able to  draw  col-
-       ored  text  on  a  background  whose color is set indepen-
-       dently, providing better  control  over  color  contrasts.
-       See the <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG> manual page for details.
+       <EM>ncurses</EM>   can   exploit  the  capabilities  of  terminals  implementing
+       ISO 6429/ECMA-48  SGR 39  and  SGR 49   sequences,   which   allow   an
+       application  to  reset  the  terminal  to  its  original foreground and
+       background colors.  From a user's perspective, the application is  able
+       to  draw colored text on a background whose color is set independently,
+       providing better control over color contrasts.  See <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>.
 
-       The  <STRONG>ncurses</STRONG>  library  includes  a  function for directing
-       application output to a printer attached to  the  terminal
-       device.  See the <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> manual page for details.
+       An  <EM>ncurses</EM>  application  can  eschew  knowledge  of  <EM>WINDOW</EM>  structure
+       internals, instead using accessor functions such as <STRONG><A HREF="curs_opaque.3x.html">is_scrollok(3x)</A></STRONG>.
+
+       <EM>ncurses</EM>  enables  an  application  to  direct  application  output to a
+       printer attached to the terminal device; see <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>.
+
+       <EM>ncurses</EM> offers <STRONG><A HREF="curs_slk.3x.html">slk_attr(3x)</A></STRONG> as a counterpart of <STRONG><A HREF="curs_attr.3x.html">attr_get(3x)</A></STRONG> for  soft-
+       label  key lines, and <STRONG><A HREF="curs_slk.3x.html">extended_slk_color(3x)</A></STRONG> as a form of <STRONG><A HREF="curs_slk.3x.html">slk_color(3x)</A></STRONG>
+       that can gather color  information  from  them  when  many  colors  are
+       supported.
+
+       Some  extensions  are available only if <EM>ncurses</EM> permits modification of
+       <STRONG><A HREF="unctrl.3x.html">unctrl(3x)</A></STRONG>'s behavior; see <STRONG><A HREF="legacy_coding.3x.html">use_legacy_coding(3x)</A></STRONG>.  <EM>ncurses</EM> is  compiled
+       to support them; section "ALTERNATE CONFIGURATIONS" describes how.
+
+       <STRONG>o</STRONG>   Rudimentary   support   for   multi-threaded  applications  may  be
+           available; see <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>.
+
+       <STRONG>o</STRONG>   Functions that ease the  management  of  multiple  screens  can  be
+           exposed; see <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>.
+
+       <STRONG>o</STRONG>   To aid applications to debug their memory usage, <EM>ncurses</EM> optionally
+           offers functions to more aggressively free  memory  it  dynamically
+           allocates itself; see <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>.
+
+       <STRONG>o</STRONG>   The   library  facilitates  auditing  and  troubleshooting  of  its
+           behavior; see <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>.
+
+       <STRONG>o</STRONG>   The compiler option <STRONG>-DUSE_GETCAP</STRONG> causes the library to fall back to
+           reading <EM>/etc/termcap</EM> if the terminal setup code cannot find a <EM>term-</EM>
+           <EM>info</EM> entry corresponding to <EM>TERM</EM>.   Use  of  this  feature  is  not
+           recommended,  as it essentially includes an entire <EM>termcap</EM> compiler
+           in the <EM>ncurses</EM>  startup  code,  at  a  cost  in  memory  usage  and
+           application launch latency.
+
+       <EM>PDCurses</EM>   and  NetBSD  <EM>curses</EM>  incorporate  some  <EM>ncurses</EM>  extensions.
+       Individual man pages indicate where this is the case.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       The  <STRONG>ncurses</STRONG>  library is intended to be BASE-level confor-
-       mant with XSI Curses.  The EXTENDED XSI Curses functional-
-       ity (including color support) is supported.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       X/Open Curses defines two levels of conformance, "base" and "enhanced".
+       The latter includes several additional features, such as wide-character
+       and color support.  <EM>ncurses</EM> intends base-level conformance with  X/Open
+       Curses,  and  supports  all  features  of its enhanced level except the
+       <STRONG>untic</STRONG> utility.
 
-       A  small  number of local differences (that is, individual
-       differences between the XSI Curses and <STRONG>ncurses</STRONG> calls)  are
-       described  in  <STRONG>PORTABILITY</STRONG>  sections  of  the  library man
-       pages.
-
-       Unlike other implementations, this one  checks  parameters
-       such  as  pointers to WINDOW structures to ensure they are
-       not null.  The main reason for providing this behavior  is
-       to guard against programmer error.  The standard interface
-       does not provide a way for the library to tell an applica-
-       tion  which  of  several  possible  errors  were detected.
-       Relying on this (or some other) extension  will  adversely
-       affect the portability of curses applications.
-
-       This implementation also contains several extensions:
-
-       <STRONG>o</STRONG>   The  routine  <STRONG>has_key</STRONG>  is  not part of XPG4, nor is it
-           present in SVr4.  See the <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>  manual  page
-           for details.
-
-       <STRONG>o</STRONG>   The  routine  <STRONG>slk_attr</STRONG>  is not part of XPG4, nor is it
-           present in SVr4.  See the <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> manual page for
-           details.
-
-       <STRONG>o</STRONG>   The routines <STRONG>getmouse</STRONG>, <STRONG>mousemask</STRONG>, <STRONG>ungetmouse</STRONG>, <STRONG>mousein-</STRONG>
-           <STRONG>terval</STRONG>, and <STRONG>wenclose</STRONG> relating to mouse interfacing are
-           not  part  of XPG4, nor are they present in SVr4.  See
-           the <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual page for details.
-
-       <STRONG>o</STRONG>   The routine <STRONG>mcprint</STRONG> was not present  in  any  previous
-           curses  implementation.  See the <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> manual
-           page for details.
-
-       <STRONG>o</STRONG>   The routine <STRONG>wresize</STRONG> is not part of  XPG4,  nor  is  it
-           present  in SVr4.  See the <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> manual page for
-           details.
-
-       <STRONG>o</STRONG>   The WINDOW structure's internal details can be  hidden
-           from  application  programs.   See <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG> for
-           the discussion of <STRONG>is_scrollok</STRONG>, etc.
-
-       <STRONG>o</STRONG>   This implementation can be configured to provide rudi-
-           mentary  support for multi-threaded applications.  See
-           <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG> for details.
-
-       <STRONG>o</STRONG>   This implementation can also be configured to  provide
-           a set of functions which improve the ability to manage
-           multiple screens.  See <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> for details.
-
-       In historic curses versions, delays embedded in the  capa-
-       bilities <STRONG>cr</STRONG>, <STRONG>ind</STRONG>, <STRONG>cub1</STRONG>, <STRONG>ff</STRONG> and <STRONG>tab</STRONG> activated corresponding
-       delay bits in the UNIX tty driver.   In  this  implementa-
-       tion,  all  padding  is  done  by sending NUL bytes.  This
-       method is slightly more expensive, but narrows the  inter-
-       face  to  the  UNIX kernel significantly and increases the
-       package's portability correspondingly.
+       Differences between X/Open Curses and <EM>ncurses</EM>  are  documented  in  the
+       "PORTABILITY" sections of applicable man pages.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The header  file  <STRONG>&lt;curses.h&gt;</STRONG>  automatically  includes  the
-       header files <STRONG>&lt;stdio.h&gt;</STRONG> and <STRONG>&lt;unctrl.h&gt;</STRONG>.
+</PRE><H3><a name="h3-Error-Checking">Error Checking</a></H3><PRE>
+       In  many cases, X/Open Curses is vague about error conditions, omitting
+       some of the SVr4 documentation.
 
-       If  standard  output from a <STRONG>ncurses</STRONG> program is re-directed
-       to something which is not a tty, screen  updates  will  be
-       directed to standard error.  This was an undocumented fea-
-       ture of AT&amp;T System V Release 3 curses.
+       Unlike other implementations, <EM>ncurses</EM> checks pointer  parameters,  such
+       as  those to <EM>WINDOW</EM> structures, to ensure that they are not null.  This
+       is done primarily to guard  against  programmer  error.   The  standard
+       interface does not provide a way for the library to tell an application
+       which of several possible errors occurred.  Relying on  this  (or  some
+       other)   extension   adversely   affects   the  portability  of  <EM>curses</EM>
+       applications.
 
 
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Zeyd M. Ben-Halim, Eric  S.  Raymond,  Thomas  E.  Dickey.
-       Based on pcurses by Pavel Curtis.
+</PRE><H3><a name="h3-Padding-Differences">Padding Differences</a></H3><PRE>
+       In historical <EM>curses</EM> implementations, delays embedded in  the  <EM>terminfo</EM>
+       capabilities  <STRONG>carriage_return</STRONG>  (<STRONG>cr</STRONG>),  <STRONG>scroll_forward</STRONG> (<STRONG>ind</STRONG>), <STRONG>cursor_left</STRONG>
+       (<STRONG>cub1</STRONG>), <STRONG>form_feed</STRONG> (<STRONG>ff</STRONG>), and <STRONG>tab</STRONG> (<STRONG>ht</STRONG>) activated corresponding delay bits
+       in  the  Unix terminal driver.  <EM>ncurses</EM> performs all padding by sending
+       NUL bytes to the device.  This method is slightly more  expensive,  but
+       narrows   the   interface   to   the   Unix  kernel  significantly  and
+       correspondingly increases the package's portability.
+
+
+</PRE><H3><a name="h3-Header-Files">Header Files</a></H3><PRE>
+       The header file <EM>curses.h</EM> itself includes the header files  <EM>stdio.h</EM>  and
+       <EM>unctrl.h</EM>.
+
+       X/Open Curses has more to say,
+
+           The  inclusion  of  <EM>curses.h</EM>  may make visible all symbols from the
+           headers <EM>stdio.h</EM>, <EM>term.h</EM>, <EM>termios.h</EM>, and <EM>wchar.h</EM>.
+
+       but does not finish the story.  A more complete account follows.
+
+       <STRONG>o</STRONG>   Starting with 4BSD <EM>curses</EM> (1980) all implementations have  provided
+           a <EM>curses.h</EM> file.
+
+           BSD  <EM>curses</EM>  code  included  <EM>curses.h</EM> and <EM>unctrl.h</EM> from an internal
+           header file <EM>curses.ext</EM>, where "ext" abbreviated "externs".
+
+           The implementations of <EM>printw</EM> and <EM>scanw</EM> used undocumented  internal
+           functions  of  the  standard I/O library (<STRONG>_</STRONG><EM>doprnt</EM> and <STRONG>_</STRONG><EM>doscan</EM>), but
+           nothing in <EM>curses.h</EM> itself relied upon <EM>stdio.h</EM>.
+
+       <STRONG>o</STRONG>   SVr2 <EM>curses</EM> added <EM>newterm</EM>, which relies upon  <EM>stdio.h</EM>  because  its
+           function prototype employs the <EM>FILE</EM> type.
+
+           SVr4 <EM>curses</EM> added <EM>putwin</EM> and <EM>getwin</EM>, which also use <EM>stdio.h</EM>.
+
+           X/Open Curses specifies all three of these functions.
+
+           SVr4  <EM>curses</EM>  and  X/Open  Curses  do  not require the developer to
+           include <EM>stdio.h</EM> before <EM>curses.h</EM>.  Both document use  of  <EM>curses</EM>  as
+           requiring only <EM>curses.h</EM>.
+
+           As a result, standard <EM>curses.h</EM> always includes <EM>stdio.h</EM>.
+
+       <STRONG>o</STRONG>   X/Open  Curses  and  SVr4  <EM>curses</EM>  are inconsistent with respect to
+           <EM>unctrl.h</EM>.
+
+           As noted in <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <EM>ncurses</EM> includes <EM>unctrl.h</EM> from  <EM>curses.h</EM>
+           (as SVr4 does).
+
+       <STRONG>o</STRONG>   X/Open  Curses's  comments  about <EM>term.h</EM> and <EM>termios.h</EM> may refer to
+           HP-UX and AIX.
+
+           HP-UX <EM>curses</EM> includes <EM>term.h</EM> from <EM>curses.h</EM> to declare <EM>setupterm</EM>  in
+           <EM>curses.h</EM>, but <EM>ncurses</EM> and Solaris <EM>curses</EM> do not.
+
+           AIX  <EM>curses</EM>  includes  <EM>term.h</EM>  and  termios.h<EM>.</EM>   Again, <EM>ncurses</EM> and
+           Solaris <EM>curses</EM> do not.
+
+       <STRONG>o</STRONG>   X/Open Curses says that <EM>curses.h</EM> <STRONG>may</STRONG> include <EM>term.h</EM>, but  does  not
+           require it to do so.
+
+           Some  programs  use functions declared in both <EM>curses.h</EM> and <EM>term.h</EM>,
+           and must include both header files in the same  module.   Very  old
+           versions  of  AIX  <EM>curses</EM>  required  inclusion  of  <EM>curses.h</EM> before
+           <EM>term.h</EM>.
+
+           The header files supplied by <EM>ncurses</EM> include the  standard  library
+           headers  required  for  its  declarations,  so <EM>ncurses</EM>'s own header
+           files can be included in  any  order.   But  for  portability,  you
+           should include <EM>curses.h</EM> before <EM>term.h</EM>.
+
+       <STRONG>o</STRONG>   X/Open  Curses  says  "may make visible" because including a header
+           file does not necessarily make visible all of  the  symbols  in  it
+           (consider <STRONG>#ifdef</STRONG> and similar).
+
+           For  instance, <EM>ncurses</EM>'s <EM>curses.h</EM> <STRONG>may</STRONG> include <EM>wchar.h</EM> if the proper
+           symbol is defined, and if <EM>ncurses</EM> is configured for  wide-character
+           support.   If  <EM>wchar.h</EM> is included, its symbols <STRONG>may</STRONG> be made visible
+           depending on the value of the <STRONG>_XOPEN_SOURCE</STRONG> feature test macro.
+
+       <STRONG>o</STRONG>   X/Open Curses mandates an application's inclusion of one standard C
+           library  header  in  a  special  case:  <EM>stdarg.h</EM> before <EM>curses.h</EM> to
+           prototype the functions <EM>vw</EM><STRONG>_</STRONG><EM>printw</EM> and  <EM>vw</EM><STRONG>_</STRONG><EM>scanw</EM>  (as  well  as  the
+           obsolete  <EM>vwprintw</EM>  and  <EM>vwscanw</EM>).   Each of these takes a variadic
+           argument list, a <EM>va</EM><STRONG>_</STRONG><EM>list</EM> parameter, like that of <STRONG>printf(3)</STRONG>.
+
+           SVr3 <EM>curses</EM> introduced  the  two  obsolete  functions,  and  X/Open
+           Curses  the  others.   In  between,  SVr4  <EM>curses</EM>  provided for the
+           possibility that an application might include either  <EM>varargs.h</EM>  or
+           <EM>stdarg.h</EM>.   These  represented  contrasting  approaches to handling
+           variadic argument lists.  The older interface,  <EM>varargs.h</EM>,  used  a
+           pointer  to <EM>char</EM> for variadic functions' <EM>va</EM><STRONG>_</STRONG><EM>list</EM> parameter.  Later,
+           the list acquired its own standard data type, <EM>va</EM><STRONG>_</STRONG><EM>list</EM>,  defined  in
+           <EM>stdarg.h</EM>,  empowering the compiler to check the types of a function
+           call's actual parameters against the formal ones  declared  in  its
+           prototype.
+
+           No   conforming   implementations   of  X/Open  Curses  require  an
+           application to include <EM>stdarg.h</EM> before <EM>curses.h</EM> because they either
+           have  allowed  for  a  special type, or, like <EM>ncurses</EM>, they include
+           <EM>stdarg.h</EM> themselves to provide a portable interface.
+
+
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey.  Based on <EM>pcurses</EM>
+       by Pavel Curtis.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
 
 
 
-                                                            <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
+ncurses 6.5                       2024-04-27                       <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -1400,17 +1484,19 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
 <ul>
+<li><a href="#h3-Application-Structure">Application Structure</a></li>
+<li><a href="#h3-Overview">Overview</a></li>
 <li><a href="#h3-Initialization">Initialization</a></li>
-<li><a href="#h3-Datatypes">Datatypes</a></li>
-<li><a href="#h3-Environment-variables">Environment variables</a></li>
-<li><a href="#h3-Routine-and-Argument-Names">Routine and Argument Names</a></li>
-<li><a href="#h3-Routine-Name-Index">Routine Name Index</a></li>
+<li><a href="#h3-Naming-Conventions">Naming Conventions</a></li>
+<li><a href="#h3-Wide-and-Non-wide-Character-Configurations">Wide and Non-wide Character Configurations</a></li>
+<li><a href="#h3-Function-Name-Index">Function Name Index</a></li>
 </ul>
 </li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
 <li><a href="#h2-ENVIRONMENT">ENVIRONMENT</a>
 <ul>
 <li><a href="#h3-BAUDRATE">BAUDRATE</a></li>
+<li><a href="#h3-CC-_command-character_">CC (command character)</a></li>
 <li><a href="#h3-COLUMNS">COLUMNS</a></li>
 <li><a href="#h3-ESCDELAY">ESCDELAY</a></li>
 <li><a href="#h3-HOME">HOME</a></li>
@@ -1420,6 +1506,7 @@
 <li><a href="#h3-NCURSES_CONSOLE2">NCURSES_CONSOLE2</a></li>
 <li><a href="#h3-NCURSES_GPM_TERMS">NCURSES_GPM_TERMS</a></li>
 <li><a href="#h3-NCURSES_NO_HARD_TABS">NCURSES_NO_HARD_TABS</a></li>
+<li><a href="#h3-NCURSES_NO_MAGIC_COOKIE">NCURSES_NO_MAGIC_COOKIE</a></li>
 <li><a href="#h3-NCURSES_NO_PADDING">NCURSES_NO_PADDING</a></li>
 <li><a href="#h3-NCURSES_NO_SETBUF">NCURSES_NO_SETBUF</a></li>
 <li><a href="#h3-NCURSES_NO_UTF8_ACS">NCURSES_NO_UTF8_ACS</a></li>
@@ -1433,11 +1520,17 @@
 </li>
 <li><a href="#h2-ALTERNATE-CONFIGURATIONS">ALTERNATE CONFIGURATIONS</a></li>
 <li><a href="#h2-FILES">FILES</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
-<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a>
+<ul>
+<li><a href="#h3-Error-Checking">Error Checking</a></li>
+<li><a href="#h3-Padding-Differences">Padding Differences</a></li>
+<li><a href="#h3-Header-Files">Header Files</a></li>
+</ul>
+</li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/ncurses5-config.1.html b/doc/html/man/ncurses5-config.1.html
deleted file mode 100644
index 19eb798..0000000
--- a/doc/html/man/ncurses5-config.1.html
+++ /dev/null
@@ -1,138 +0,0 @@
-<!-- 
-  ****************************************************************************
-  * Copyright (c) 2010 Free Software Foundation, Inc.                        *
-  *                                                                          *
-  * Permission is hereby granted, free of charge, to any person obtaining a  *
-  * copy of this software and associated documentation files (the            *
-  * "Software"), to deal in the Software without restriction, including      *
-  * without limitation the rights to use, copy, modify, merge, publish,      *
-  * distribute, distribute with modifications, sublicense, and/or sell       *
-  * copies of the Software, and to permit persons to whom the Software is    *
-  * furnished to do so, subject to the following conditions:                 *
-  *                                                                          *
-  * The above copyright notice and this permission notice shall be included  *
-  * in all copies or substantial portions of the Software.                   *
-  *                                                                          *
-  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
-  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
-  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
-  * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
-  * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
-  * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
-  * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
-  *                                                                          *
-  * Except as contained in this notice, the name(s) of the above copyright   *
-  * holders shall not be used in advertising or otherwise to promote the     *
-  * sale, use or other dealings in this Software without prior written       *
-  * authorization.                                                           *
-  ****************************************************************************
-  * @Id: MKncu_config.in,v 1.3 2010/03/06 22:29:17 tom Exp @
--->
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>ncurses5-config 1</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<BODY>
-<H1 class="no-header">ncurses5-config 1</H1>
-<PRE>
-<STRONG><A HREF="ncurses5-config.1.html">ncurses5-config(1)</A></STRONG>                                   <STRONG><A HREF="ncurses5-config.1.html">ncurses5-config(1)</A></STRONG>
-
-
-
-
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       ncurses5-config - helper script for ncurses libraries
-
-
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
-       <STRONG>ncurses5-config</STRONG> [<EM>options</EM>]
-
-
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       This is a shell script which simplifies configuring appli-
-       cations against a particular set of ncurses libraries.
-
-
-</PRE>
-<H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE>
-       <STRONG>--prefix</STRONG>
-              echos the package-prefix of ncurses
-
-       <STRONG>--exec-prefix</STRONG>
-              echos the executable-prefix of ncurses
-
-       <STRONG>--cflags</STRONG>
-              echos the C compiler flags needed to  compile  with
-              ncurses
-
-       <STRONG>--libs</STRONG> echos the libraries needed to link with ncurses
-
-       <STRONG>--version</STRONG>
-              echos the release+patchdate version of ncurses
-
-       <STRONG>--abi-version</STRONG>
-              echos the ABI version of ncurses
-
-       <STRONG>--mouse-version</STRONG>
-              echos the mouse-interface version of ncurses
-
-       <STRONG>--bindir</STRONG>
-              echos the directory containing ncurses programs
-
-       <STRONG>--datadir</STRONG>
-              echos the directory containing ncurses data
-
-       <STRONG>--includedir</STRONG>
-              echos the directory containing ncurses header files
-
-       <STRONG>--libdir</STRONG>
-              echos the directory containing ncurses libraries
-
-       <STRONG>--mandir</STRONG>
-              echos the directory containing ncurses manpages
-
-       <STRONG>--terminfo</STRONG>
-              echos the $TERMINFO terminfo database path, e.g.,
-              /usr/share/terminfo
-
-       <STRONG>--terminfo-dirs</STRONG>
-              echos the $TERMINFO_DIRS directory list, e.g.,
-              /usr/local/ncurses/share/terminfo:/usr/share/ter-
-              minfo
-
-       <STRONG>--termpath</STRONG>
-              echos the $TERMPATH termcap list,  if  support  for
-              termcap is configured.
-
-       <STRONG>--help</STRONG> prints this message
-
-
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
-
-       This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20150523).
-
-
-
-                                                     <STRONG><A HREF="ncurses5-config.1.html">ncurses5-config(1)</A></STRONG>
-</PRE>
-<div class="nav">
-<ul>
-<li><a href="#h2-NAME">NAME</a></li>
-<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
-<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
-<li><a href="#h2-OPTIONS">OPTIONS</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-</ul>
-</div>
-</BODY>
-</HTML>
diff --git a/doc/html/man/ncursesw6-config.1.html b/doc/html/man/ncursesw6-config.1.html
new file mode 100644
index 0000000..6380a6d
--- /dev/null
+++ b/doc/html/man/ncursesw6-config.1.html
@@ -0,0 +1,127 @@
+<!--
+  ****************************************************************************
+  * Copyright 2020-2023,2024 Thomas E. Dickey                                *
+  * Copyright 2010 Free Software Foundation, Inc.                            *
+  *                                                                          *
+  * Permission is hereby granted, free of charge, to any person obtaining a  *
+  * copy of this software and associated documentation files (the            *
+  * "Software"), to deal in the Software without restriction, including      *
+  * without limitation the rights to use, copy, modify, merge, publish,      *
+  * distribute, distribute with modifications, sublicense, and/or sell       *
+  * copies of the Software, and to permit persons to whom the Software is    *
+  * furnished to do so, subject to the following conditions:                 *
+  *                                                                          *
+  * The above copyright notice and this permission notice shall be included  *
+  * in all copies or substantial portions of the Software.                   *
+  *                                                                          *
+  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+  * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+  * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+  * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+  * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+  *                                                                          *
+  * Except as contained in this notice, the name(s) of the above copyright   *
+  * holders shall not be used in advertising or otherwise to promote the     *
+  * sale, use or other dealings in this Software without prior written       *
+  * authorization.                                                           *
+  ****************************************************************************
+  * @Id: MKncu_config.in,v 1.24 2024/04/20 21:13:38 tom Exp @
+-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<HTML>
+<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>ncursesw6-config 1 2024-04-20 ncurses 6.5 User commands</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+</HEAD>
+<BODY>
+<H1 class="no-header">ncursesw6-config 1 2024-04-20 ncurses 6.5 User commands</H1>
+<PRE>
+<STRONG><A HREF="ncursesw6-config.1.html">ncursesw6-config(1)</A></STRONG>              User commands             <STRONG><A HREF="ncursesw6-config.1.html">ncursesw6-config(1)</A></STRONG>
+
+
+
+
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>ncursesw6-config</STRONG> - configuration helper for <EM>ncurses</EM> libraries
+
+
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+       <STRONG>ncursesw6-config</STRONG> <EM>option</EM> ...
+
+       <STRONG>ncursesw6-config</STRONG> <STRONG>--version</STRONG>
+
+       <STRONG>ncursesw6-config</STRONG> <STRONG>--help</STRONG>
+
+
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       This  program  development  aid  simplifies  the process of configuring
+       applications against a particular set of <EM>ncurses</EM> libraries.
+
+
+</PRE><H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE>
+       <STRONG>--prefix</STRONG>          reports the package prefix of <EM>ncurses</EM>.
+
+       <STRONG>--exec-prefix</STRONG>     reports the executable prefix of <EM>ncurses</EM>.
+
+       <STRONG>--cflags</STRONG>          reports the C compiler flags needed to  compile  with
+                         <EM>ncurses</EM>.
+
+       <STRONG>--libs</STRONG>            reports the libraries needed to link with <EM>ncurses</EM>.
+
+       <STRONG>--abi-version</STRONG>     reports the ABI version of <EM>ncurses</EM>.
+
+       <STRONG>--mouse-version</STRONG>   reports the mouse-interface version of <EM>ncurses</EM>.
+
+       <STRONG>--bindir</STRONG>          reports the directory containing <EM>ncurses</EM> programs.
+
+       <STRONG>--datadir</STRONG>         reports the directory containing <EM>ncurses</EM> data.
+
+       <STRONG>--includedir</STRONG>      reports   the  directory  containing  <EM>ncurses</EM>  header
+                         files.
+
+       <STRONG>--libdir</STRONG>          reports the directory containing <EM>ncurses</EM> libraries.
+
+       <STRONG>--mandir</STRONG>          reports the directory containing <EM>ncurses</EM> man pages.
+
+       <STRONG>--terminfo</STRONG>        reports the  <EM>TERMINFO</EM>  <EM>terminfo</EM>  database  path,  for
+                         example <EM>/usr/share/terminfo</EM>.
+
+       <STRONG>--terminfo-dirs</STRONG>   reports  the  <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM>  supplemental search path
+                         for    the    <EM>terminfo</EM>    database,    for    example
+                         <EM>/usr/share/terminfo</EM>.
+
+       <STRONG>--termpath</STRONG>        reports the <EM>TERMPATH</EM> supplemental search path for the
+                         <EM>termcap</EM>  database,  if   support   for   <EM>termcap</EM>   is
+                         configured.
+
+       The following options cause all others to be ignored.
+
+       <STRONG>--help</STRONG>     issues a usage message and exits successfully.
+
+       <STRONG>--version</STRONG>  issues the release and patch date information of <EM>ncurses</EM> and
+                  exits successfully.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
+
+
+
+ncurses 6.5                       2024-04-20               <STRONG><A HREF="ncursesw6-config.1.html">ncursesw6-config(1)</A></STRONG>
+</PRE>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-OPTIONS">OPTIONS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
+</BODY>
+</HTML>
diff --git a/doc/html/man/new_pair.3x.html b/doc/html/man/new_pair.3x.html
new file mode 100644
index 0000000..3cc73d6
--- /dev/null
+++ b/doc/html/man/new_pair.3x.html
@@ -0,0 +1,188 @@
+<!--
+  ****************************************************************************
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 2017 Free Software Foundation, Inc.                            *
+  *                                                                          *
+  * Permission is hereby granted, free of charge, to any person obtaining a  *
+  * copy of this software and associated documentation files (the            *
+  * "Software"), to deal in the Software without restriction, including      *
+  * without limitation the rights to use, copy, modify, merge, publish,      *
+  * distribute, distribute with modifications, sublicense, and/or sell       *
+  * copies of the Software, and to permit persons to whom the Software is    *
+  * furnished to do so, subject to the following conditions:                 *
+  *                                                                          *
+  * The above copyright notice and this permission notice shall be included  *
+  * in all copies or substantial portions of the Software.                   *
+  *                                                                          *
+  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+  * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+  * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+  * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+  * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+  *                                                                          *
+  * Except as contained in this notice, the name(s) of the above copyright   *
+  * holders shall not be used in advertising or otherwise to promote the     *
+  * sale, use or other dealings in this Software without prior written       *
+  * authorization.                                                           *
+  ****************************************************************************
+  * Author: Thomas E. Dickey
+  * @Id: new_pair.3x,v 1.46 2024/03/16 15:35:01 tom Exp @
+-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<HTML>
+<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>new_pair 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+</HEAD>
+<BODY>
+<H1 class="no-header">new_pair 3x 2024-03-16 ncurses 6.5 Library calls</H1>
+<PRE>
+<STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>                     Library calls                    <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>
+
+
+
+
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>alloc_pair</STRONG>,  <STRONG>find_pair</STRONG>,  <STRONG>free_pair</STRONG>  - dynamically allocate <EM>curses</EM> color
+       pairs
+
+
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+       <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>alloc_pair(int</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>bg</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>find_pair(int</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>bg</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>free_pair(int</STRONG> <EM>pair</EM><STRONG>);</STRONG>
+
+
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       These functions are an extension to the <EM>curses</EM> library.  They permit an
+       application   to   dynamically   allocate   a   color  pair  using  the
+       foreground/background colors rather than  assign  a  fixed  color  pair
+       number, and return an unused pair to the pool.
+
+       The  number  of  colors  may be related to the number of possible color
+       pairs for a given terminal, or it may not:
+
+       <STRONG>o</STRONG>   While almost all  terminals  allow  setting  the  color  <EM>attributes</EM>
+           independently,  it  is  unlikely  that  your terminal allows you to
+           modify the attributes of a given character cell  without  rewriting
+           it.  That is, the foreground and background colors are applied as a
+           pair.
+
+       <STRONG>o</STRONG>   Color pairs are the  <EM>curses</EM>  library's  way  of  managing  a  color
+           palette  on  a terminal.  If the library does not keep track of the
+           <EM>combinations</EM> of colors which are displayed, it will be inefficient.
+
+       <STRONG>o</STRONG>   For  simple  terminal  emulators  with  only  a  few  dozen   color
+           combinations,  it  is  convenient  to  use  the  maximum  number of
+           combinations as the limit on color pairs:
+
+               <STRONG>COLORS</STRONG> <EM>*</EM> <STRONG>COLORS</STRONG>
+
+       <STRONG>o</STRONG>   Terminals which support <EM>default</EM> <EM>colors</EM> distinct from "ANSI  colors"
+           add to the possible combinations, producing this total:
+
+               <EM>(</EM> <STRONG>COLORS</STRONG> <EM>+</EM> <EM>1</EM> <EM>)</EM> <EM>*</EM> <EM>(</EM> <STRONG>COLORS</STRONG> <EM>+</EM> <EM>1</EM> <EM>)</EM>
+
+       <STRONG>o</STRONG>   An application might use up to a few dozen color pairs to implement
+           a predefined color scheme.
+
+           Beyond that lies in the realm of programs using the foreground  and
+           background  colors  for  "ASCII  art"  (or  some  other non-textual
+           application).
+
+           Also beyond those few dozen pairs, the required size for a table to
+           represent  the combinations grows rapidly with an increasing number
+           of colors.
+
+           These functions allow a developer to let the screen library  manage
+           color pairs.
+
+
+</PRE><H3><a name="h3-alloc_pair">alloc_pair</a></H3><PRE>
+       The   <STRONG>alloc_pair</STRONG>   function   accepts  parameters  for  foreground  and
+       background color, and checks  if  that  color  combination  is  already
+       associated with a color pair.
+
+       <STRONG>o</STRONG>   If  the combination already exists, <STRONG>alloc_pair</STRONG> returns the existing
+           pair.
+
+       <STRONG>o</STRONG>   If the combination does not exist, <STRONG>alloc_pair</STRONG> allocates a new color
+           pair and returns that.
+
+       <STRONG>o</STRONG>   If  the  table  fills  up,  <STRONG>alloc_pair</STRONG>  discards the least-recently
+           allocated entry using <STRONG>free_pair</STRONG> and allocates a new color pair.
+
+       All of the color pairs are allocated from a  table  of  possible  color
+       pairs.   The  size  of  the  table  is determined by the terminfo <STRONG>pairs</STRONG>
+       capability.  The table is shared with  <STRONG>init_pair</STRONG>;  in  fact  <STRONG>alloc_pair</STRONG>
+       calls  <STRONG>init_pair</STRONG> after updating the <EM>ncurses</EM> library's fast index to the
+       colors versus color pairs.
+
+
+</PRE><H3><a name="h3-find_pair">find_pair</a></H3><PRE>
+       The <STRONG>find_pair</STRONG> function accepts parameters for foreground and background
+       color,  and checks if that color combination is already associated with
+       a color pair, returning the pair  number  if  it  has  been  allocated.
+       Otherwise it returns -1.
+
+
+</PRE><H3><a name="h3-free_pair">free_pair</a></H3><PRE>
+       Marks the given color pair as unused, i.e., like color pair 0.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       The  <STRONG>alloc_pair</STRONG>  function  returns  a  color pair number in the range 1
+       through <STRONG>COLOR_PAIRS</STRONG>-1, unless it encounters an error updating its  fast
+       index  to  the color pair values, preventing it from allocating a color
+       pair.  In that case, it returns -1.
+
+       The <STRONG>find_pair</STRONG> function returns a color pair number if the  given  color
+       combination has been associated with a color pair, or -1 if not.
+
+       Likewise,  <STRONG>free_pair</STRONG>  returns <STRONG>OK</STRONG> unless it encounters an error updating
+       the fast index or if no such color pair is in use.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       These routines are specific to <EM>ncurses</EM>.  They  were  not  supported  on
+       Version 7, BSD or System V implementations.  It is recommended that any
+       code depending on them be conditioned using <STRONG>NCURSES_VERSION</STRONG>.
+
+
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Thomas Dickey
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+
+
+
+ncurses 6.5                       2024-03-16                      <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>
+</PRE>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-alloc_pair">alloc_pair</a></li>
+<li><a href="#h3-find_pair">find_pair</a></li>
+<li><a href="#h3-free_pair">free_pair</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
+</BODY>
+</HTML>
diff --git a/doc/html/man/panel.3x.html b/doc/html/man/panel.3x.html
index 52e1f68..58ad42d 100644
--- a/doc/html/man/panel.3x.html
+++ b/doc/html/man/panel.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2020,2015 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2016,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,224 +27,279 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: panel.3x,v 1.18 2015/04/11 10:23:49 tom Exp @
+  * @Id: panel.3x,v 1.63 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>panel 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>panel 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">panel 3x</H1>
+<H1 class="no-header">panel 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG>                                                     <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG>
+<STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG>                        Library calls                       <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       panel - panel stack extension for curses
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       panel - panel stack extension for <EM>curses</EM>
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;panel.h&gt;</STRONG>
 
-       <STRONG>cc</STRONG> <STRONG>[flags]</STRONG> <STRONG>sourcefiles</STRONG> <STRONG>-lpanel</STRONG> <STRONG>-lncurses</STRONG>
+       <STRONG>PANEL</STRONG> <STRONG>*new_panel(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
 
-       <STRONG>PANEL</STRONG> <STRONG>*new_panel(WINDOW</STRONG> <STRONG>*win)</STRONG>
-       <STRONG>int</STRONG> <STRONG>bottom_panel(PANEL</STRONG> <STRONG>*pan)</STRONG>
-       <STRONG>int</STRONG> <STRONG>top_panel(PANEL</STRONG> <STRONG>*pan)</STRONG>
-       <STRONG>int</STRONG> <STRONG>show_panel(PANEL</STRONG> <STRONG>*pan)</STRONG>
-       <STRONG>void</STRONG> <STRONG>update_panels();</STRONG>
-       <STRONG>int</STRONG> <STRONG>hide_panel(PANEL</STRONG> <STRONG>*pan)</STRONG>
-       <STRONG>WINDOW</STRONG> <STRONG>*panel_window(const</STRONG> <STRONG>PANEL</STRONG> <STRONG>*pan)</STRONG>
-       <STRONG>int</STRONG> <STRONG>replace_panel(PANEL</STRONG> <STRONG>*pan,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*window)</STRONG>
-       <STRONG>int</STRONG> <STRONG>move_panel(PANEL</STRONG> <STRONG>*pan,</STRONG> <STRONG>int</STRONG> <STRONG>starty,</STRONG> <STRONG>int</STRONG> <STRONG>startx)</STRONG>
-       <STRONG>int</STRONG> <STRONG>panel_hidden(const</STRONG> <STRONG>PANEL</STRONG> <STRONG>*pan)</STRONG>
-       <STRONG>PANEL</STRONG> <STRONG>*panel_above(const</STRONG> <STRONG>PANEL</STRONG> <STRONG>*pan)</STRONG>
-       <STRONG>PANEL</STRONG> <STRONG>*panel_below(const</STRONG> <STRONG>PANEL</STRONG> <STRONG>*pan)</STRONG>
-       <STRONG>int</STRONG> <STRONG>set_panel_userptr(PANEL</STRONG> <STRONG>*pan,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*ptr)</STRONG>
-       <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*panel_userptr(const</STRONG> <STRONG>PANEL</STRONG> <STRONG>*pan)</STRONG>
-       <STRONG>int</STRONG> <STRONG>del_panel(PANEL</STRONG> <STRONG>*pan)</STRONG>
+       <STRONG>int</STRONG> <STRONG>bottom_panel(PANEL</STRONG> <STRONG>*</STRONG><EM>pan</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>top_panel(PANEL</STRONG> <STRONG>*</STRONG><EM>pan</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>show_panel(PANEL</STRONG> <STRONG>*</STRONG><EM>pan</EM><STRONG>);</STRONG>
+       <STRONG>void</STRONG> <STRONG>update_panels(void);</STRONG>
+       <STRONG>int</STRONG> <STRONG>hide_panel(PANEL</STRONG> <STRONG>*</STRONG><EM>pan</EM><STRONG>);</STRONG>
+
+       <STRONG>WINDOW</STRONG> <STRONG>*panel_window(const</STRONG> <STRONG>PANEL</STRONG> <STRONG>*</STRONG><EM>pan</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>replace_panel(PANEL</STRONG> <STRONG>*</STRONG><EM>pan</EM><STRONG>,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>window</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>move_panel(PANEL</STRONG> <STRONG>*</STRONG><EM>pan</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>starty</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>startx</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>panel_hidden(const</STRONG> <STRONG>PANEL</STRONG> <STRONG>*</STRONG><EM>pan</EM><STRONG>);</STRONG>
+
+       <STRONG>PANEL</STRONG> <STRONG>*panel_above(const</STRONG> <STRONG>PANEL</STRONG> <STRONG>*</STRONG><EM>pan</EM><STRONG>);</STRONG>
+       <STRONG>PANEL</STRONG> <STRONG>*panel_below(const</STRONG> <STRONG>PANEL</STRONG> <STRONG>*</STRONG><EM>pan</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>set_panel_userptr(PANEL</STRONG> <STRONG>*</STRONG><EM>pan</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>ptr</EM><STRONG>);</STRONG>
+       <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*panel_userptr(const</STRONG> <STRONG>PANEL</STRONG> <STRONG>*</STRONG><EM>pan</EM><STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>del_panel(PANEL</STRONG> <STRONG>*</STRONG><EM>pan</EM><STRONG>);</STRONG>
+
+       <EM>/*</EM> <EM>ncurses</EM> <EM>extensions</EM> <EM>*/</EM>
+       <STRONG>PANEL</STRONG> <STRONG>*ground_panel(SCREEN</STRONG> <STRONG>*</STRONG><EM>sp</EM><STRONG>);</STRONG>
+       <STRONG>PANEL</STRONG> <STRONG>*ceiling_panel(SCREEN</STRONG> <STRONG>*</STRONG><EM>sp</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       Panels  are  <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>  windows with the added feature of
-       depth.  Panel functions allow the use of  stacked  windows
-       and  ensure  the  proper  portions  of each window and the
-       curses <STRONG>stdscr</STRONG> window are hidden or displayed  when  panels
-       are  added,  moved,  modified or removed.  The set of cur-
-       rently visible panels is the stack of panels.  The  <STRONG>stdscr</STRONG>
-       window  is  beneath all panels, and is not considered part
-       of the stack.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       Panels  are <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> windows with the added property of depth.  Panel
+       functions allow the use of stacked windows and ensure that  the  proper
+       portions  of  each  window  and  the <EM>curses</EM> <STRONG>stdscr</STRONG> window are hidden or
+       displayed when panels are added, moved, modified, or removed.  The  set
+       of  currently visible panels is the stack of panels.  The <STRONG>stdscr</STRONG> window
+       is beneath all panels, and is not considered part of the stack.
 
-       A window is associated with every panel.  The  panel  rou-
-       tines  enable  you to create, move, hide, and show panels,
-       as well as position a panel at any desired location in the
-       stack.
+       A window is associated with each panel.  The panel routines enable  you
+       to  create,  move,  hide, and show panels.  You can relocate a panel to
+       any desired position in the stack.
 
-       Panel routines are a functional layer added to <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,
-       make only high-level curses calls, and work anywhere  ter-
-       minfo curses does.
+       Panel routines are a functional layer added to <EM>curses</EM>, make only  high-
+       level <EM>curses</EM> calls, and work anywhere <EM>curses</EM> does.
 
 
-</PRE>
-<H2><a name="h2-FUNCTIONS">FUNCTIONS</a></H2><PRE>
-       <STRONG>new_panel(win)</STRONG>
-              allocates   a   <STRONG>PANEL</STRONG> structure, associates it with
-              <STRONG>win</STRONG>, places the panel  on  the  top  of  the  stack
-              (causes   it  to   be   displayed  above  any other
-              panel) and returns a pointer to the new panel.
+</PRE><H2><a name="h2-FUNCTIONS">FUNCTIONS</a></H2><PRE>
 
-       <STRONG>update_panels()</STRONG>
-              refreshes the virtual screen to reflect  the  rela-
-              tions between the panels in the stack, but does not
-              call doupdate() to  refresh  the  physical  screen.
-              Use this function and not <STRONG>wrefresh</STRONG> or <STRONG>wnoutrefresh</STRONG>.
-              <STRONG>update_panels</STRONG> may be called more than once before a
-              call  to doupdate(), but doupdate() is the function
-              responsible for updating the physical screen.
-
-       <STRONG>del_panel(pan)</STRONG>
-              removes the given panel from the  stack and deallo-
-              cates  the  <STRONG>PANEL</STRONG> structure (but not its associated
-              window).
-
-       <STRONG>hide_panel(pan)</STRONG>
-              removes the given panel from the  panel  stack  and
-              thus hides it from view. The <STRONG>PANEL</STRONG> structure is not
-              lost, merely removed from the stack.
-
-       <STRONG>panel_hidden(pan)</STRONG>
-              returns <STRONG>TRUE</STRONG> if the panel is in  the  panel  stack,
-              <STRONG>FALSE</STRONG>  if  it  is  not.   If  the  panel  is a null
-              pointer, return ERR.
-
-       <STRONG>show_panel(pan)</STRONG>
-              makes a hidden panel visible by placing it  on  top
-              of the panels in the panel stack. See COMPATIBILITY
-              below.
-
-       <STRONG>top_panel(pan)</STRONG>
-              puts the given visible panel on top of  all  panels
-              in the stack.  See COMPATIBILITY below.
-
-       <STRONG>bottom_panel(pan)</STRONG>
-              puts panel at the bottom of all panels.
-
-       <STRONG>move_panel(pan,starty,startx)</STRONG>
-              moves the given panel window so that its upper-left
-              corner is at <STRONG>starty</STRONG>, <STRONG>startx</STRONG>.  It  does  not  change
-              the position of the panel in the stack.  Be sure to
-              use this function, not <STRONG>mvwin()</STRONG>,  to  move  a  panel
-              window.
-
-       <STRONG>replace_panel(pan,window)</STRONG>
-              replaces  the  current  window of panel with <STRONG>window</STRONG>
-              (useful, for example if you want to resize a panel;
-              if you're using <STRONG>ncurses</STRONG>, you can call <STRONG>replace_panel</STRONG>
-              on the output of <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>).  It does not  change
-              the position of the panel in the stack.
-
-       <STRONG>panel_above(pan)</STRONG>
-              returns  a  pointer to the panel above pan.  If the
-              panel argument is <STRONG>(PANEL</STRONG> <STRONG>*)0</STRONG>, it returns a  pointer
-              to the bottom panel in the stack.
-
-       <STRONG>panel_below(pan)</STRONG>
-              returns  a pointer to the panel just below pan.  If
-              the panel argument is  <STRONG>(PANEL</STRONG>  <STRONG>*)0</STRONG>,  it  returns  a
-              pointer to the top panel in the stack.
-
-       <STRONG>set_panel_userptr(pan,ptr)</STRONG>
-              sets the panel's user pointer.
-
-       <STRONG>panel_userptr(pan)</STRONG>
-              returns the user pointer for a given panel.
-
-       <STRONG>panel_window(pan)</STRONG>
-              returns a pointer to the window of the given panel.
+</PRE><H3><a name="h3-bottom_panel">bottom_panel</a></H3><PRE>
+       <STRONG>bottom_panel(</STRONG><EM>pan</EM><STRONG>)</STRONG> puts panel <EM>pan</EM> at the bottom of all panels.
 
 
-</PRE>
-<H2><a name="h2-DIAGNOSTICS">DIAGNOSTICS</a></H2><PRE>
-       Each  routine  that  returns  a pointer returns <STRONG>NULL</STRONG> if an
-       error occurs. Each  routine  that  returns  an  int  value
-       returns <STRONG>OK</STRONG> if it executes successfully and <STRONG>ERR</STRONG> if not.
+</PRE><H3><a name="h3-ceiling_panel">ceiling_panel</a></H3><PRE>
+       <STRONG>ceiling_panel(</STRONG><EM>sp</EM><STRONG>)</STRONG> acts like <STRONG>panel_below(NULL)</STRONG> for the given <EM>SCREEN</EM> <EM>sp</EM>.
 
 
-</PRE>
-<H2><a name="h2-COMPATIBILITY">COMPATIBILITY</a></H2><PRE>
-       Reasonable  care  has been taken to  ensure  compatibility
-       with  the  native  panel  facility  introduced  in  SVr3.2
-       (inspection of the SVr4 manual pages suggests the program-
-       ming interface is unchanged).  The <STRONG>PANEL</STRONG>  data  structures
-       are  merely   similar. The  programmer is cautioned not to
-       directly use <STRONG>PANEL</STRONG> fields.
-
-       The functions <STRONG>show_panel()</STRONG> and <STRONG>top_panel()</STRONG>  are  identical
-       in  this  implementation,  and work equally well with dis-
-       played or hidden panels.  In the native System V implemen-
-       tation, <STRONG>show_panel()</STRONG> is intended for making a hidden panel
-       visible (at the top  of  the  stack)  and  <STRONG>top_panel()</STRONG>  is
-       intended  for  making an already-visible panel move to the
-       top of the stack. You are cautioned  to  use  the  correct
-       function   to   ensure  compatibility  with  native  panel
-       libraries.
+</PRE><H3><a name="h3-del_panel">del_panel</a></H3><PRE>
+       <STRONG>del_panel(</STRONG><EM>pan</EM><STRONG>)</STRONG>   removes  the  given  panel  <EM>pan</EM>  from  the  stack  and
+       deallocates the <EM>PANEL</EM> structure (but not its associated window).
 
 
-</PRE>
-<H2><a name="h2-NOTE">NOTE</a></H2><PRE>
-       In your library list, libpanel.a should  be  before  libn-
-       curses.a;  that  is,  you want to say `-lpanel -lncurses',
-       not the other way around (which would usually give a link-
-       error).
+</PRE><H3><a name="h3-ground_panel">ground_panel</a></H3><PRE>
+       <STRONG>ground_panel(</STRONG><EM>sp</EM><STRONG>)</STRONG> acts like <STRONG>panel_above(NULL)</STRONG> for the given <EM>SCREEN</EM> <EM>sp</EM>.
 
 
-</PRE>
-<H2><a name="h2-FILES">FILES</a></H2><PRE>
-       panel.h interface for the panels library
-
-       libpanel.a the panels library itself
+</PRE><H3><a name="h3-hide_panel">hide_panel</a></H3><PRE>
+       <STRONG>hide_panel(</STRONG><EM>pan</EM><STRONG>)</STRONG> removes the given panel <EM>pan</EM> from the  panel  stack  and
+       thus  hides  it  from  view.   The  <EM>PANEL</EM> structure is not lost, merely
+       removed from the stack.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,
-
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20150808).
+</PRE><H3><a name="h3-move_panel">move_panel</a></H3><PRE>
+       <STRONG>move_panel(</STRONG><EM>pan</EM><STRONG>,</STRONG> <EM>starty</EM><STRONG>,</STRONG> <EM>startx</EM><STRONG>)</STRONG> moves the given panel <EM>pan</EM>'s  window  so
+       that  its  upper-left  corner is at <EM>starty</EM>, <EM>startx</EM>.  It does not change
+       the position of the panel in the stack.  Be sure to use this  function,
+       not <STRONG><A HREF="curs_window.3x.html">mvwin(3x)</A></STRONG>, to move a panel window.
 
 
-</PRE>
-<H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
-       Originally   written   by   Warren  Tucker  &lt;wht@n4hgf.mt-
-       park.ga.us&gt;, primarily to assist  in  porting  u386mon  to
-       systems  without  a native panels library.  Repackaged for
-       ncurses by Zeyd ben-Halim.
+</PRE><H3><a name="h3-new_panel">new_panel</a></H3><PRE>
+       <STRONG>new_panel(</STRONG><EM>win</EM><STRONG>)</STRONG>  allocates  a  <EM>PANEL</EM>  structure, associates it with <EM>win</EM>,
+       places the panel on the top of the stack (causes  it  to  be  displayed
+       above any other panel) and returns a pointer to the new panel.
+
+
+</PRE><H3><a name="h3-panel_above">panel_above</a></H3><PRE>
+       <STRONG>panel_above(</STRONG><EM>pan</EM><STRONG>)</STRONG>  returns  a  pointer  to  the panel above <EM>pan</EM>.  If the
+       panel argument is "<STRONG>(PANEL</STRONG> <STRONG>*)0</STRONG>", it returns  a  pointer  to  the  bottom
+       panel in the stack.
+
+
+</PRE><H3><a name="h3-panel_below">panel_below</a></H3><PRE>
+       <STRONG>panel_below(</STRONG><EM>pan</EM><STRONG>)</STRONG> returns a pointer to the panel just below <EM>pan</EM>.  If the
+       panel argument is "<STRONG>(PANEL</STRONG> <STRONG>*)0</STRONG>", it returns a pointer to the  top  panel
+       in the stack.
+
+
+</PRE><H3><a name="h3-panel_hidden">panel_hidden</a></H3><PRE>
+       <STRONG>panel_hidden(</STRONG><EM>pan</EM><STRONG>)</STRONG> returns <STRONG>FALSE</STRONG> if the panel <EM>pan</EM> is in the panel stack,
+       and <STRONG>TRUE</STRONG> if it is not.  If the panel is a null pointer, it returns <STRONG>ERR</STRONG>.
+
+
+</PRE><H3><a name="h3-panel_userptr">panel_userptr</a></H3><PRE>
+       <STRONG>panel_userptr(</STRONG><EM>pan</EM><STRONG>)</STRONG> returns the user pointer for a given panel <EM>pan</EM>.
+
+
+</PRE><H3><a name="h3-panel_window">panel_window</a></H3><PRE>
+       <STRONG>panel_window(</STRONG><EM>pan</EM><STRONG>)</STRONG> returns a pointer to the window of  the  given  panel
+       <EM>pan</EM>.
+
+
+</PRE><H3><a name="h3-replace_panel">replace_panel</a></H3><PRE>
+       <STRONG>replace_panel(</STRONG><EM>pan</EM><STRONG>,</STRONG>  <EM>window</EM><STRONG>)</STRONG>  replaces  the  current window of panel <EM>pan</EM>
+       with <EM>window</EM> This is useful if, for example, you want to resize a panel.
+       In <EM>ncurses</EM>, you can call <STRONG>replace_panel</STRONG> to resize a panel using a window
+       resized with <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>.  It does not change the position of the panel
+       in the stack.
+
+
+</PRE><H3><a name="h3-set_panel_userptr">set_panel_userptr</a></H3><PRE>
+       <STRONG>set_panel_userptr(</STRONG><EM>pan</EM><STRONG>,</STRONG> <EM>ptr</EM><STRONG>)</STRONG> sets the panel's user pointer.
+
+
+</PRE><H3><a name="h3-show_panel">show_panel</a></H3><PRE>
+       <STRONG>show_panel(</STRONG><EM>pan</EM><STRONG>)</STRONG>  makes  a  hidden panel visible by placing it on top of
+       the panels in the panel stack.  See "PORTABILITY" below.
+
+
+</PRE><H3><a name="h3-top_panel">top_panel</a></H3><PRE>
+       <STRONG>top_panel(</STRONG><EM>pan</EM><STRONG>)</STRONG> puts the given visible panel <EM>pan</EM> on top of all panels in
+       the stack.  See "PORTABILITY" below.
+
+
+</PRE><H3><a name="h3-update_panels">update_panels</a></H3><PRE>
+       <STRONG>update_panels()</STRONG>  refreshes  the virtual screen to reflect the relations
+       between the panels in the stack, but  does  not  call  <STRONG><A HREF="curs_refresh.3x.html">doupdate(3x)</A></STRONG>  to
+       refresh the physical screen.  Use this function and not <STRONG><A HREF="curs_refresh.3x.html">wrefresh(3x)</A></STRONG> or
+       <STRONG><A HREF="curs_refresh.3x.html">wnoutrefresh(3x)</A></STRONG>.
+
+       <STRONG>update_panels</STRONG> may be called more than once before a call  to  <STRONG>doupdate</STRONG>,
+       but  <STRONG>doupdate</STRONG>  is  the  function  responsible for updating the physical
+       screen.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       Each routine that returns a pointer returns <STRONG>NULL</STRONG> if  an  error  occurs.
+       Each  routine  that  returns  an  int  value  returns <STRONG>OK</STRONG> if it executes
+       successfully and <STRONG>ERR</STRONG> if not.
+
+       Except as noted, the <EM>pan</EM> and <EM>window</EM> parameters must  be  non-null.   If
+       either is null, an error is returned.
+
+       The  <STRONG>move_panel</STRONG>  function uses <STRONG><A HREF="curs_window.3x.html">mvwin(3x)</A></STRONG>, and returns an error if <STRONG>mvwin</STRONG>
+       returns an error.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       The header file <EM>panel.h</EM> itself includes the header file <EM>curses.h</EM>.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       Reasonable care has been taken to ensure compatibility with the  native
+       panel  facility  introduced  in System V; inspection of the SVr4 manual
+       pages suggests the programming interface never changed.  The <EM>PANEL</EM> data
+       structures  are  merely  similar.   The  programmer is cautioned not to
+       directly use <EM>PANEL</EM> fields.
+
+       The  functions  <STRONG>show_panel</STRONG>  and  <STRONG>top_panel</STRONG>  are   identical   in   this
+       implementation,  and work equally well with displayed or hidden panels.
+       In the System V implementation, <STRONG>show_panel</STRONG> is  intended  for  making  a
+       hidden  panel  visible  (at  the  top  of  the  stack) and <STRONG>top_panel</STRONG> is
+       intended for making an already-visible panel move to  the  top  of  the
+       stack.   You  are  cautioned  to  use  the  correct  function to ensure
+       compatibility with System V panel libraries.
+
+
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+       A panel facility was documented in SVr4.2's  <EM>Character</EM>  <EM>User</EM>  <EM>Interface</EM>
+       <EM>Programming</EM> document.
+
+       It is not part of X/Open Curses.
+
+       A few implementations exist:
+
+       <STRONG>o</STRONG>   Systems  based  on  SVr4 source code, such as Solaris, provide this
+           library.
+
+       <STRONG>o</STRONG>   <EM>ncurses</EM> (since version 0.6 in 1993) and <EM>PDCurses</EM> (since version 2.2
+           in  1995) provide a panel library whose common ancestor is a public
+           domain implementation by Warren Tucker published  in  <EM>u386mon</EM>  2.20
+           (1990).
+
+           According  to Tucker, the System V panel library was first released
+           in SVr3.2 (1988), and his implementation  helped  with  a  port  to
+           SVr3.1 (1987).
+
+           Several  developers have improved each of these; they are no longer
+           the same as Tucker's implementation.
+
+       <STRONG>o</STRONG>   NetBSD 8 (2018) has a panel library  begun  by  Valery  Ushakov  in
+           2015, based on the System V documentation.
+
+
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Warren   Tucker   &lt;wht@n4hgf.mt-park.ga.us&gt;   originally   wrote   this
+       implementation, primarily to  assist  in  porting  <EM>u386mon</EM>  to  systems
+       without a native panel library.
+
+       Zeyd ben-Halim repackaged it for <EM>ncurses</EM>.
+
+       Juergen Pfeifer and Thomas E. Dickey revised and improved the library.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
 
 
 
-                                                              <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                         <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
 <li><a href="#h2-NAME">NAME</a></li>
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
-<li><a href="#h2-FUNCTIONS">FUNCTIONS</a></li>
-<li><a href="#h2-DIAGNOSTICS">DIAGNOSTICS</a></li>
-<li><a href="#h2-COMPATIBILITY">COMPATIBILITY</a></li>
-<li><a href="#h2-NOTE">NOTE</a></li>
-<li><a href="#h2-FILES">FILES</a></li>
+<li><a href="#h2-FUNCTIONS">FUNCTIONS</a>
+<ul>
+<li><a href="#h3-bottom_panel">bottom_panel</a></li>
+<li><a href="#h3-ceiling_panel">ceiling_panel</a></li>
+<li><a href="#h3-del_panel">del_panel</a></li>
+<li><a href="#h3-ground_panel">ground_panel</a></li>
+<li><a href="#h3-hide_panel">hide_panel</a></li>
+<li><a href="#h3-move_panel">move_panel</a></li>
+<li><a href="#h3-new_panel">new_panel</a></li>
+<li><a href="#h3-panel_above">panel_above</a></li>
+<li><a href="#h3-panel_below">panel_below</a></li>
+<li><a href="#h3-panel_hidden">panel_hidden</a></li>
+<li><a href="#h3-panel_userptr">panel_userptr</a></li>
+<li><a href="#h3-panel_window">panel_window</a></li>
+<li><a href="#h3-replace_panel">replace_panel</a></li>
+<li><a href="#h3-set_panel_userptr">set_panel_userptr</a></li>
+<li><a href="#h3-show_panel">show_panel</a></li>
+<li><a href="#h3-top_panel">top_panel</a></li>
+<li><a href="#h3-update_panels">update_panels</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-AUTHOR">AUTHOR</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/resizeterm.3x.html b/doc/html/man/resizeterm.3x.html
index 2afe125..2349146 100644
--- a/doc/html/man/resizeterm.3x.html
+++ b/doc/html/man/resizeterm.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2013,2015 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2015,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,126 +28,178 @@
   * authorization.                                                           *
   ****************************************************************************
   * Author: Thomas E. Dickey 1996-on
-  * @Id: resizeterm.3x,v 1.19 2015/06/06 23:38:18 tom Exp @
+  * @Id: resizeterm.3x,v 1.56 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>resizeterm 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>resizeterm 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">resizeterm 3x</H1>
+<H1 class="no-header">resizeterm 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>                                           <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>
+<STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>                   Library calls                  <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>is_term_resized</STRONG>,  <STRONG>resize_term</STRONG>,  <STRONG>resizeterm</STRONG>  -  change  the
-       curses terminal size
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>is_term_resized</STRONG>,   <STRONG>resize_term</STRONG>,   <STRONG>resizeterm</STRONG>   -  manage  the  terminal
+       dimensions understood by <EM>curses</EM>
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
-       <STRONG>bool</STRONG> <STRONG>is_term_resized(int</STRONG> <STRONG>lines,</STRONG> <STRONG>int</STRONG> <STRONG>columns);</STRONG>
-       <STRONG>int</STRONG> <STRONG>resize_term(int</STRONG> <STRONG>lines,</STRONG> <STRONG>int</STRONG> <STRONG>columns);</STRONG>
-       <STRONG>int</STRONG> <STRONG>resizeterm(int</STRONG> <STRONG>lines,</STRONG> <STRONG>int</STRONG> <STRONG>columns);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>is_term_resized(int</STRONG> <EM>lines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>columns</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>resize_term(int</STRONG> <EM>lines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>columns</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>resizeterm(int</STRONG> <EM>lines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>columns</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       This is an extension to the curses library.   It  provides
-       callers  with  a hook into the <STRONG>ncurses</STRONG> data to resize win-
-       dows, primarily for use by programs running in an X Window
-       terminal (e.g., xterm).
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       This is an extension to the <EM>curses</EM> library.  It provides callers with a
+       hook  into  the  <EM>ncurses</EM>  data  to resize windows, primarily for use by
+       programs running in  an  X  Window  terminal  (e.g.,  xterm)  when  the
+       terminal's screen size is changed by the user:
+
+       <STRONG>o</STRONG>   <EM>curses</EM>  windows  cannot extend outside the screen.  If the terminal
+           is shrunk, <EM>curses</EM> windows must be shrunk to fit.
+
+       <STRONG>o</STRONG>   If the terminal is stretched, rows and/or columns can be  added  to
+           existing  windows.   The  added  cells  should  match  the  current
+           attributes of the windows.
+
+       If the calling program has not set up a handler for  <STRONG>SIGWINCH</STRONG>  when  it
+       initializes  <EM>ncurses</EM>  (e.g.,  using  <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG>  or <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG>), then
+       <EM>ncurses</EM> sets a handler for <STRONG>SIGWINCH</STRONG> which notifies the library  when  a
+       window-size   event   has   occurred.   The  library  checks  for  this
+       notification
+
+       <STRONG>o</STRONG>   when reading input data,
+
+       <STRONG>o</STRONG>   when implicitly resuming program mode (e.g., between <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG> and
+           <STRONG><A HREF="curs_refresh.3x.html">wrefresh(3x)</A></STRONG>), and
+
+       <STRONG>o</STRONG>   when explicitly resuming program mode in <STRONG><A HREF="curs_terminfo.3x.html">restartterm(3x)</A></STRONG>.
+
+       When the library has found that the terminal's window-size has changed,
+       it calls <STRONG>resizeterm</STRONG> to update its data structures.
+
+       An application which establishes its  own  <STRONG>SIGWINCH</STRONG>  handler  can  call
+       <STRONG>resizeterm</STRONG>,  but  in  that case, the library will not see <STRONG>SIGWINCH</STRONG>, and
+       proper layout will rely upon the application.
 
 
-</PRE>
-<H3><a name="h3-resizeterm">resizeterm</a></H3><PRE>
-       The  function  <STRONG>resizeterm</STRONG> resizes the standard and current
-       windows to the specified  dimensions,  and  adjusts  other
-       bookkeeping  data  used by the <STRONG>ncurses</STRONG> library that record
-       the window dimensions such as the  <STRONG>LINES</STRONG>  and  <STRONG>COLS</STRONG>  vari-
-       ables.
+</PRE><H2><a name="h2-FUNCTIONS">FUNCTIONS</a></H2><PRE>
+
+</PRE><H3><a name="h3-resizeterm">resizeterm</a></H3><PRE>
+       The function <STRONG>resizeterm</STRONG> resizes the standard and current windows (i.e.,
+       <STRONG>stdscr</STRONG>  and  <STRONG>curscr</STRONG>)  to  the  specified  dimensions, and adjusts other
+       bookkeeping data used by the <EM>ncurses</EM> library  that  record  the  window
+       dimensions such as the <STRONG>LINES</STRONG> and <STRONG>COLS</STRONG> variables.
 
 
-</PRE>
-<H3><a name="h3-resize_term">resize_term</a></H3><PRE>
-       Most   of   the   work  is  done  by  the  inner  function
-       <STRONG>resize_term</STRONG>.  The outer function <STRONG>resizeterm</STRONG> adds bookkeep-
-       ing  for the SIGWINCH handler.  When resizing the windows,
-       <STRONG>resize_term</STRONG> blank-fills the areas that are extended.   The
-       calling application should fill in these areas with appro-
-       priate data.  The <STRONG>resize_term</STRONG> function attempts to  resize
-       all  windows.   However,  due to the calling convention of
-       pads, it is not possible to  resize  these  without  addi-
-       tional interaction with the application.
+</PRE><H3><a name="h3-resize_term">resize_term</a></H3><PRE>
+       Most  of  the  work  for  <STRONG>resizeterm</STRONG>  is  done  by  the  inner function
+       <STRONG>resize_term</STRONG>.  The outer function <STRONG>resizeterm</STRONG> adds  bookkeeping  for  the
+       <STRONG>SIGWINCH</STRONG>  handler,  as  well  as  repainting  the  soft-key  area  (see
+       <STRONG><A HREF="curs_slk.3x.html">slk_touch(3x)</A></STRONG>).
+
+       The <STRONG>resize_term</STRONG> function attempts to resize all  windows.   This  helps
+       with simple applications.  However:
+
+       <STRONG>o</STRONG>   It is not possible to automatically resize pads.
+
+       <STRONG>o</STRONG>   Applications  which  have  complicated  layouts  should  check  for
+           <STRONG>KEY_RESIZE</STRONG> returned from <STRONG>wgetch</STRONG>, and  adjust  their  layout,  e.g.,
+           using <STRONG>wresize</STRONG> and <STRONG>mvwin</STRONG>, or by recreating the windows.
+
+       When  resizing  windows,  <STRONG>resize_term</STRONG>  recursively  adjusts subwindows,
+       keeping them within the updated parent window's limits.  If a top-level
+       window  happens  to extend to the screen's limits, then on resizing the
+       window, <STRONG>resize_term</STRONG> will keep the window extending to the corresponding
+       limit, regardless of whether the screen has shrunk or grown.
 
 
-</PRE>
-<H3><a name="h3-is_term_resized">is_term_resized</a></H3><PRE>
-       A  support  function  <STRONG>is_term_resized</STRONG>  is provided so that
-       applications can check if the <STRONG>resize_term</STRONG>  function  would
-       modify the window structures.  It returns <STRONG>TRUE</STRONG> if the win-
-       dows would be modified, and <STRONG>FALSE</STRONG> otherwise.
+</PRE><H3><a name="h3-is_term_resized">is_term_resized</a></H3><PRE>
+       A support function <STRONG>is_term_resized</STRONG> is provided so that applications can
+       check if the <STRONG>resize_term</STRONG> function would modify the  window  structures.
+       It returns <STRONG>TRUE</STRONG> if the windows would be modified, and <STRONG>FALSE</STRONG> otherwise.
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       Except as noted, these functions return  the  integer  <STRONG>ERR</STRONG>
-       upon  failure and <STRONG>OK</STRONG> on success.  They will fail if either
-       of the dimensions are less than or equal to zero, or if an
-       error occurs while (re)allocating memory for the windows.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       Except  as  noted,  these functions return the integer <STRONG>ERR</STRONG> upon failure
+       and <STRONG>OK</STRONG> on success.  They will fail if either of the dimensions are less
+       than  or  equal  to  zero,  or  if an error occurs while (re)allocating
+       memory for the windows.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       While these functions are intended to be used to support a
-       signal handler (i.e., for SIGWINCH), care should be  taken
-       to  avoid invoking them in a context where <STRONG>malloc</STRONG> or <STRONG>real-</STRONG>
-       <STRONG>loc</STRONG> may have been interrupted, since it uses  those  func-
-       tions.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       While these functions are intended to  be  used  to  support  a  signal
+       handler  (i.e.,  for  <STRONG>SIGWINCH</STRONG>), care should be taken to avoid invoking
+       them in a context where <STRONG>malloc</STRONG> or <STRONG>realloc</STRONG> may  have  been  interrupted,
+       since it uses those functions.
 
-       If  ncurses  is configured to supply its own SIGWINCH han-
-       dler, the <STRONG>resizeterm</STRONG> function <STRONG>ungetch</STRONG>'s a <STRONG>KEY_RESIZE</STRONG> which
-       will  be  read on the next call to <STRONG>getch</STRONG>.  This is used to
-       alert an application that the screen size has changed, and
-       that  it should repaint special features such as pads that
-       cannot be done automatically.
+       If <EM>ncurses</EM> is configured to supply its own <STRONG>SIGWINCH</STRONG> handler,
 
-       If the environment variables <STRONG>LINES</STRONG>  or  <STRONG>COLUMNS</STRONG>  are  set,
-       this  overrides  the  library's  use  of  the  window size
-       obtained from the operating system.  Thus, even if a  SIG-
-       WINCH is received, no screen size change may be recorded.
+       <STRONG>o</STRONG>   on receipt of a <STRONG>SIGWINCH</STRONG>, the handler sets a flag
+
+       <STRONG>o</STRONG>   which is tested in <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">doupdate(3x)</A></STRONG> and <STRONG><A HREF="curs_terminfo.3x.html">restartterm(3x)</A></STRONG>,
+
+       <STRONG>o</STRONG>   in turn, calling the <STRONG>resizeterm</STRONG> function,
+
+       <STRONG>o</STRONG>   which <STRONG>ungetch</STRONG>'s a <STRONG>KEY_RESIZE</STRONG> which will be read on the next call to
+           <STRONG>wgetch</STRONG>.
+
+           The <STRONG>KEY_RESIZE</STRONG> alerts an  application  that  the  screen  size  has
+           changed,  and  that it should repaint special features such as pads
+           that cannot be done automatically.
+
+           Calling <STRONG>resizeterm</STRONG> or <STRONG>resize_term</STRONG> directly from a signal handler is
+           unsafe.   This  indirect  method  is  used to provide a safe way to
+           resize the <EM>ncurses</EM> data structures.
+
+       If the environment variables <EM>LINES</EM> or <EM>COLUMNS</EM> are set,  this  overrides
+       the  library's  use  of  the  window  size  obtained from the operating
+       system.  Thus, even if a <STRONG>SIGWINCH</STRONG> is received, no  screen  size  change
+       may be recorded.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       It is possible to resize the screen with SVr4 <EM>curses</EM>, by
+
+       <STRONG>o</STRONG>   exiting <EM>curses</EM> with <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG> and
+
+       <STRONG>o</STRONG>   resuming using <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>.
+
+       Doing that clears the screen and is visually distracting.
+
+       This  extension  of <EM>ncurses</EM> was introduced in mid-1995.  It was adopted
+       in NetBSD <EM>curses</EM> (2001) and PDCurses (2003).
 
 
-</PRE>
-<H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
-       Thomas Dickey (from an equivalent function written in 1988
-       for BSD curses).
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Thomas Dickey (from an equivalent function  written  in  1988  for  BSD
+       <EM>curses</EM>)
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>
 
 
 
-                                                         <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                    <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
 <li><a href="#h2-NAME">NAME</a></li>
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
-<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-FUNCTIONS">FUNCTIONS</a>
 <ul>
 <li><a href="#h3-resizeterm">resizeterm</a></li>
 <li><a href="#h3-resize_term">resize_term</a></li>
@@ -155,8 +208,9 @@
 </li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
 <li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-AUTHOR">AUTHOR</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/scr_dump.5.html b/doc/html/man/scr_dump.5.html
new file mode 100644
index 0000000..a963425
--- /dev/null
+++ b/doc/html/man/scr_dump.5.html
@@ -0,0 +1,419 @@
+<!--
+  ****************************************************************************
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 2017 Free Software Foundation, Inc.                            *
+  *                                                                          *
+  * Permission is hereby granted, free of charge, to any person obtaining a  *
+  * copy of this software and associated documentation files (the            *
+  * "Software"), to deal in the Software without restriction, including      *
+  * without limitation the rights to use, copy, modify, merge, publish,      *
+  * distribute, distribute with modifications, sublicense, and/or sell       *
+  * copies of the Software, and to permit persons to whom the Software is    *
+  * furnished to do so, subject to the following conditions:                 *
+  *                                                                          *
+  * The above copyright notice and this permission notice shall be included  *
+  * in all copies or substantial portions of the Software.                   *
+  *                                                                          *
+  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+  * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+  * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+  * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+  * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+  *                                                                          *
+  * Except as contained in this notice, the name(s) of the above copyright   *
+  * holders shall not be used in advertising or otherwise to promote the     *
+  * sale, use or other dealings in this Software without prior written       *
+  * authorization.                                                           *
+  ****************************************************************************
+  * @Id: scr_dump.5,v 1.46 2024/03/23 20:42:29 tom Exp @
+-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<HTML>
+<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>scr_dump 5 2024-03-23 ncurses 6.5 File formats</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+</HEAD>
+<BODY>
+<H1 class="no-header">scr_dump 5 2024-03-23 ncurses 6.5 File formats</H1>
+<PRE>
+<STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG>                      File formats                      <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG>
+
+
+
+
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       scr_dump - <EM>curses</EM> screen dump
+
+
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The  curses library provides applications with the ability to write the
+       contents of a window to an external file using <STRONG>scr_dump</STRONG> or <STRONG>putwin</STRONG>,  and
+       read it back using <STRONG>scr_restore</STRONG> or <STRONG>getwin</STRONG>.
+
+       The  <STRONG>putwin</STRONG>  and  <STRONG>getwin</STRONG>  functions  do  the  work;  while <STRONG>scr_dump</STRONG> and
+       <STRONG>scr_restore</STRONG> conveniently save  and  restore  the  whole  screen,  i.e.,
+       <STRONG>stdscr</STRONG>.
+
+
+</PRE><H3><a name="h3-ncurses6">ncurses6</a></H3><PRE>
+       A  longstanding implementation of screen-dump was revised with ncurses6
+       to remedy problems with the earlier approach:
+
+       <STRONG>o</STRONG>   A "magic number" is written to the  beginning  of  the  dump  file,
+           allowing  applications  (such  as <STRONG>file(1)</STRONG>) to recognize curses dump
+           files.
+
+           Because ncurses6 uses a new  format,  that  requires  a  new  magic
+           number  was  unused  by other applications.  This 16-bit number was
+           unused:
+
+               0x8888 (octal "\210\210")
+
+           but to be more certain, this 32-bit number was chosen:
+
+               0x88888888 (octal "\210\210\210\210")
+
+           This is the pattern  submitted  to  the  maintainers  of  the  <STRONG>file</STRONG>
+           program:
+
+               #
+               # ncurses5 (and before) did not use a magic number,
+               # making screen dumps "data".
+               #
+               # ncurses6 (2015) uses this format, ignoring byte-order
+               0    string    \210\210\210\210ncurses    ncurses6 screen image
+               #
+
+       <STRONG>o</STRONG>   The screen dumps are written in textual form, so that internal data
+           sizes are not directly related to the dump-format, and enabling the
+           library  to  read  dumps  from  either  narrow-  or wide-character-
+           configurations.
+
+           The  <EM>narrow</EM>  library  configuration  holds  characters  and   video
+           attributes  in  a  32-bit  <STRONG>chtype</STRONG>, while the <EM>wide-character</EM> library
+           stores this information in the <STRONG>cchar_t</STRONG>  structure,  which  is  much
+           larger than 32-bits.
+
+       <STRONG>o</STRONG>   It  is  possible  to  read  a  screen  dump  into a terminal with a
+           different screen-size, because the library truncates or  fills  the
+           screen as necessary.
+
+       <STRONG>o</STRONG>   The ncurses6 <STRONG>getwin</STRONG> reads the legacy screen dumps from ncurses5.
+
+
+</PRE><H3><a name="h3-ncurses5-_Legacy_">ncurses5 (Legacy)</a></H3><PRE>
+       The screen-dump feature was added to <EM>ncurses</EM> in June 1995.  While there
+       were fixes and improvements in succeeding years, the basic  scheme  was
+       unchanged:
+
+       <STRONG>o</STRONG>   The <EM>WINDOW</EM> structure was written in binary form.
+
+       <STRONG>o</STRONG>   The <EM>WINDOW</EM> structure refers to lines of data, which were written as
+           an array of binary data following the <EM>WINDOW</EM>.
+
+       <STRONG>o</STRONG>   When <STRONG>getwin</STRONG> restored the window, it would  keep  track  of  offsets
+           into  the  array of line-data and adjust the <EM>WINDOW</EM> structure which
+           was read back into memory.
+
+       This is similar to Unix System V, but does not write a  "magic  number"
+       to identify the file format.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       There is no standard format for <EM>curses</EM> screen dumps.  A brief survey of
+       the existing implementations follows.
+
+
+</PRE><H3><a name="h3-X_Open-Curses">X/Open Curses</a></H3><PRE>
+       X/Open Curses, Issue 7 specifies little.  It  says  (boldface  emphasis
+       added)
+
+          "[t]he  <EM>getwin()</EM>  function  reads  window-related data stored in the
+          file by <EM>putwin()</EM>.  The function then creates and initializes  a  new
+          window using that data.
+
+          The  <EM>putwin()</EM>  function writes all data associated with <EM>win</EM> into the
+          <EM>stdio</EM> stream to which <EM>filep</EM> points,  using  an  <STRONG>unspecified</STRONG>  <STRONG>format</STRONG>.
+          This information can be retrieved later using <EM>getwin()</EM>."
+
+       In  the  mid-1990s  when  the X/Open Curses document was written, there
+       were still System V systems using older, less capable <EM>curses</EM> libraries.
+       BSD  <EM>curses</EM>  was  not  relevant  to  X/Open because it did not meet the
+       criteria for base-level conformance; see <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.
+
+
+</PRE><H3><a name="h3-System-V">System V</a></H3><PRE>
+       System V <EM>curses</EM> identified the file format by writing a "magic  number"
+       at  the  beginning  of the dump.  The <EM>WINDOW</EM> data and the lines of text
+       follow, all in binary form.
+
+       Solaris <EM>curses</EM> has the following definitions.
+
+           /* terminfo magic number */
+           #define MAGNUM  0432
+
+           /* curses screen dump magic number */
+           #define SVR2_DUMP_MAGIC_NUMBER  0433
+           #define SVR3_DUMP_MAGIC_NUMBER  0434
+
+       That is, the feature was likely introduced in SVr2 (1984), and improved
+       in  SVr3  (1987).   Solaris <EM>curses</EM> has no magic number for SVr4 (1989).
+       Other System V operating systems (AIX and HP-UX)  use  a  magic  number
+       that would correspond to the following.
+
+           /* curses screen dump magic number */
+           #define SVR4_DUMP_MAGIC_NUMBER  0435
+
+       That  octal  number in bytes is 001, 035.  Because most Unix vendors at
+       the time used big-endian hardware, the magic number is written with the
+       high-order byte first.
+
+           \001\035
+
+       After  the magic number, the <EM>WINDOW</EM> structure and line data are written
+       in binary format.  While the magic number used by these systems can  be
+       observed  with <STRONG>od(1)</STRONG>, none of them documents the format used for screen
+       dumps.
+
+       Nor do they use an identical format, even  with  the  System V  family.
+       The <EM>ncurses</EM> <EM>savescreen</EM> test program was used to collect information for
+       this manual page.  It produced dumps of different size (all  on  64-bit
+       hardware, on 40x80 screens):
+
+       <STRONG>o</STRONG>   AIX (51817 bytes)
+
+       <STRONG>o</STRONG>   HP-UX (90093 bytes)
+
+       <STRONG>o</STRONG>   Solaris 10 (13273 bytes)
+
+       <STRONG>o</STRONG>   <EM>ncurses</EM>5 (12888 bytes)
+
+
+</PRE><H3><a name="h3-Solaris">Solaris</a></H3><PRE>
+       As  noted  above,  Solaris  <EM>curses</EM> has no magic number corresponding to
+       SVr4 <EM>curses</EM>.  This is odd, since Solaris was the first operating system
+       to meet the SVr4 guidelines.  Solaris furthermore supplies two versions
+       of <EM>curses</EM>.
+
+       <STRONG>o</STRONG>   The default <EM>curses</EM> library uses the SVr3 magic number.
+
+       <STRONG>o</STRONG>   An alternate <EM>curses</EM> library (which we term <EM>xcurses),</EM>  available  in
+           <EM>/usr/xpg4</EM>, uses a textual format with no magic number.
+
+           According  to  its  copyright  notice,  this  <EM>xcurses</EM>  library  was
+           developed by MKS (Mortice Kern Systems) from 1990 to 1995.
+
+           Like ncurses6,  it  includes  a  header  with  parameters.   Unlike
+           ncurses6,  the  contents  of the window are written piecemeal, with
+           coordinates and attributes for  each  chunk  of  text  rather  than
+           writing the whole window from top to bottom.
+
+
+</PRE><H3><a name="h3-PDCurses">PDCurses</a></H3><PRE>
+       <EM>PDCurses</EM>  added  support  for screen dumps in version 2.7 (2005).  Like
+       System V and ncurses5, it writes the <EM>WINDOW</EM> structure  in  binary,  but
+       begins  the  file  with  its three-byte identifier "PDC", followed by a
+       single-byte version number.
+
+                "PDC\001"
+
+
+</PRE><H3><a name="h3-NetBSD">NetBSD</a></H3><PRE>
+       As  of  April  2017,  NetBSD  <EM>curses</EM>  does  not  support  <STRONG>scr_dump</STRONG>  and
+       <STRONG>scr_restore</STRONG> (or <STRONG>scr_init</STRONG>, <STRONG>scr_set</STRONG>), although it has <STRONG>putwin</STRONG> and <STRONG>getwin</STRONG>.
+
+       Like  ncurses5, NetBSD <STRONG>putwin</STRONG> does not identify its dumps with a useful
+       magic number.  It writes
+
+       <STRONG>o</STRONG>   the <EM>curses</EM> shared library major and minor versions as the first two
+           bytes (for example, 7 and 1),
+
+       <STRONG>o</STRONG>   followed by a binary dump of the <EM>WINDOW</EM>,
+
+       <STRONG>o</STRONG>   some  data  for wide characters referenced by the <EM>WINDOW</EM> structure,
+           and
+
+       <STRONG>o</STRONG>   finally, lines as done by other implementations.
+
+
+</PRE><H2><a name="h2-EXAMPLES">EXAMPLES</a></H2><PRE>
+       Given a simple program which writes text to the  screen  (and  for  the
+       sake of example, limiting the screen-size to 10x20):
+
+           #include &lt;curses.h&gt;
+
+           int
+           main(void)
+           {
+               putenv("LINES=10");
+               putenv("COLUMNS=20");
+               initscr();
+               start_color();
+               init_pair(1, COLOR_WHITE, COLOR_BLUE);
+               init_pair(2, COLOR_RED, COLOR_BLACK);
+               bkgd(<STRONG>COLOR_PAIR(1)</STRONG>);
+               move(4, 5);
+               attron(A_BOLD);
+               addstr("Hello");
+               move(5, 5);
+               attroff(A_BOLD);
+               attrset(A_REVERSE | <STRONG>COLOR_PAIR(2)</STRONG>);
+               addstr("World!");
+               refresh();
+               scr_dump("foo.out");
+               endwin();
+               return 0;
+           }
+
+       When run using ncurses6, the output looks like this:
+
+           \210\210\210\210ncurses 6.0.20170415
+           _cury=5
+           _curx=11
+           _maxy=9
+           _maxx=19
+           _flags=14
+           _attrs=\{REVERSE|C2}
+           flag=_idcok
+           _delay=-1
+           _regbottom=9
+           _bkgrnd=\{NORMAL|C1}\s
+           rows:
+           1:\{NORMAL|C1}\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s
+           2:\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s
+           3:\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s
+           4:\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s
+           5:\s\s\s\s\s\{BOLD}Hello\{NORMAL}\s\s\s\s\s\s\s\s\s\s
+           6:\s\s\s\s\s\{REVERSE|C2}World!\{NORMAL|C1}\s\s\s\s\s\s\s\s\s
+           7:\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s
+           8:\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s
+           9:\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s
+           10:\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s
+
+       The first four octal escapes are actually nonprinting characters, while
+       the remainder of the file is printable text.  You may notice:
+
+       <STRONG>o</STRONG>   The actual color pair values are not written to the file.
+
+       <STRONG>o</STRONG>   All characters are shown in printable  form;  spaces  are  "\s"  to
+           ensure they are not overlooked.
+
+       <STRONG>o</STRONG>   Attributes  are  written  in escaped curly braces, e.g., "\{BOLD}",
+           and may include a color pair (C1 or C2 in this example).
+
+       <STRONG>o</STRONG>   The parameters in the header are  written  out  only  if  they  are
+           nonzero.  When reading back, order does not matter.
+
+       Running the same program with Solaris <EM>xpg4</EM> curses gives this dump:
+
+           MAX=10,20
+           BEG=0,0
+           SCROLL=0,10
+           VMIN=1
+           VTIME=0
+           FLAGS=0x1000
+           FG=0,0
+           BG=0,0,
+           0,0,0,1,
+           0,19,0,0,
+           1,0,0,1,
+           1,19,0,0,
+           2,0,0,1,
+           2,19,0,0,
+           3,0,0,1,
+           3,19,0,0,
+           4,0,0,1,
+           4,5,0x20,0,Hello
+           4,10,0,1,
+           4,19,0,0,
+           5,0,0,1,
+           5,5,0x4,2,World!
+           5,11,0,1,
+           5,19,0,0,
+           6,0,0,1,
+           6,19,0,0,
+           7,0,0,1,
+           7,19,0,0,
+           8,0,0,1,
+           8,19,0,0,
+           9,0,0,1,
+           9,19,0,0,
+           CUR=11,5
+
+       Solaris  <STRONG>getwin</STRONG>  requires  that  all parameters are present, and in the
+       same order.  The <EM>xpg4</EM> curses library does not know about the <STRONG>bce</STRONG>  (back
+       color erase) capability, and does not color the window background.
+
+       On  the  other  hand,  the  SVr4  curses  library  does  know about the
+       background color.  However, its screen dumps are in  binary.   Here  is
+       the corresponding dump (using "od -t x1"):
+
+           0000000 1c 01 c3 d6 f3 58 05 00 0b 00 0a 00 14 00 00 00
+           0000020 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00
+           0000040 00 00 b8 1a 06 08 cc 1a 06 08 00 00 09 00 10 00
+           0000060 00 00 00 80 00 00 20 00 00 00 ff ff ff ff 00 00
+           0000100 ff ff ff ff 00 00 00 00 20 80 00 00 20 80 00 00
+           0000120 20 80 00 00 20 80 00 00 20 80 00 00 20 80 00 00
+           *
+           0000620 20 80 00 00 20 80 00 00 20 80 00 00 48 80 00 04
+           0000640 65 80 00 04 6c 80 00 04 6c 80 00 04 6f 80 00 04
+           0000660 20 80 00 00 20 80 00 00 20 80 00 00 20 80 00 00
+           *
+           0000740 20 80 00 00 20 80 00 00 20 80 00 00 57 00 81 00
+           0000760 6f 00 81 00 72 00 81 00 6c 00 81 00 64 00 81 00
+           0001000 21 00 81 00 20 80 00 00 20 80 00 00 20 80 00 00
+           0001020 20 80 00 00 20 80 00 00 20 80 00 00 20 80 00 00
+           *
+           0001540 20 80 00 00 20 80 00 00 00 00 f6 d1 01 00 f6 d1
+           0001560 08 00 00 00 40 00 00 00 00 00 00 00 00 00 00 07
+           0001600 00 04 00 01 00 01 00 00 00 01 00 00 00 00 00 00
+           0001620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+           *
+           0002371
+
+
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Thomas E. Dickey
+       extended screen-dump format for <EM>ncurses</EM> 6.0 (2015)
+
+       Eric S. Raymond
+       screen dump feature in <EM>ncurses</EM> 1.9.2d (1995)
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+
+
+
+ncurses 6.5                       2024-03-23                       <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG>
+</PRE>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-ncurses6">ncurses6</a></li>
+<li><a href="#h3-ncurses5-_Legacy_">ncurses5 (Legacy)</a></li>
+</ul>
+</li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a>
+<ul>
+<li><a href="#h3-X_Open-Curses">X/Open Curses</a></li>
+<li><a href="#h3-System-V">System V</a></li>
+<li><a href="#h3-Solaris">Solaris</a></li>
+<li><a href="#h3-PDCurses">PDCurses</a></li>
+<li><a href="#h3-NetBSD">NetBSD</a></li>
+</ul>
+</li>
+<li><a href="#h2-EXAMPLES">EXAMPLES</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
+</BODY>
+</HTML>
diff --git a/doc/html/man/tabs.1.html b/doc/html/man/tabs.1.html
index fac8a27..5a548fa 100644
--- a/doc/html/man/tabs.1.html
+++ b/doc/html/man/tabs.1.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 2008-2011,2013 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 2008-2016,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,153 +27,238 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: tabs.1,v 1.11 2013/06/22 18:11:57 tom Exp @
+  * @Id: tabs.1,v 1.59 2024/04/20 19:08:15 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>tabs 1</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>tabs 1 2024-04-20 ncurses 6.5 User commands</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">tabs 1</H1>
+<H1 class="no-header">tabs 1 2024-04-20 ncurses 6.5 User commands</H1>
 <PRE>
-<STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>                                                         <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>
+<STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>                          User commands                         <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>tabs</STRONG> - set tabs on a terminal
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>tabs</STRONG> - set terminal tab stops
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
-       <STRONG>tabs</STRONG> [<EM>options</EM>]] <EM>[tabstop-list]</EM>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+       <STRONG>tabs</STRONG> [<EM>options</EM>] [<EM>tabstop-list</EM>]
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  <STRONG>tabs</STRONG>  program clears and sets tab-stops on the termi-
-       nal.  This uses the terminfo  <EM>clear</EM><STRONG>_</STRONG><EM>all</EM><STRONG>_</STRONG><EM>tabs</EM>  and  <EM>set</EM><STRONG>_</STRONG><EM>tab</EM>
-       capabilities.   If  either  is  absent,  <STRONG>tabs</STRONG> is unable to
-       clear/set tab-stops.  The terminal should be configured to
-       use hard tabs, e.g.,
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The  <STRONG>tabs</STRONG> program clears and sets tab-stops on the terminal.  This uses
+       the terminfo <STRONG>clear_all_tabs</STRONG> and <STRONG>set_tab</STRONG>  capabilities.   If  either  is
+       absent,  <STRONG>tabs</STRONG> is unable to clear/set tab-stops.  The terminal should be
+       configured to use hard tabs, e.g.,
 
-              stty tab0
+           stty tab0
+
+       Like <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>, <STRONG>tabs</STRONG> writes to the standard output.   You  can  redirect
+       the  standard  output  to  a  file  (which  prevents <STRONG>tabs</STRONG> from actually
+       changing the tabstops), and later <STRONG>cat</STRONG> the file to the  screen,  setting
+       tabstops at that point.
+
+       These   are   hardware   tabs,  which  cannot  be  queried  rapidly  by
+       applications running in the terminal, if  at  all.   Curses  and  other
+       full-screen  applications  may  use  hardware  tabs in optimizing their
+       output to the terminal.  If  the  hardware  tabstops  differ  from  the
+       information  in  the  terminal  database,  the result is unpredictable.
+       Before running curses programs, you should either  reset  tab-stops  to
+       the standard interval
+
+           tabs -8
+
+       or  use the <STRONG>reset</STRONG> program, since the normal initialization sequences do
+       not ensure that tab-stops are reset.
 
 
-</PRE>
-<H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE>
+</PRE><H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE>
 
-</PRE>
-<H3><a name="h3-General-Options">General Options</a></H3><PRE>
+</PRE><H3><a name="h3-General-Options">General Options</a></H3><PRE>
        <STRONG>-T</STRONG><EM>name</EM>
-            Tell <STRONG>tabs</STRONG> which terminal type to use.  If this option
-            is not given, <STRONG>tabs</STRONG> will  use  the  <STRONG>$TERM</STRONG>  environment
-            variable.   If  that  is  not  set,  it  will use the
-            <EM>ansi+tabs</EM> entry.
+            Tell <STRONG>tabs</STRONG> which terminal type to  use.   If  this  option  is  not
+            given,  <STRONG>tabs</STRONG>  will use the <STRONG>$TERM</STRONG> environment variable.  If that is
+            not set, it will use the <EM>ansi+tabs</EM> entry.
 
-       <STRONG>-d</STRONG>   The debugging option shows a ruler line, followed  by
-            two  data  lines.   The  first  data  line  shows the
-            expected tab-stops marked with asterisks.  The second
-            data  line  shows  the  actual tab-stops, marked with
-            asterisks.
+       <STRONG>-d</STRONG>   The debugging option shows a ruler  line,  followed  by  two  data
+            lines.   The  first  data line shows the expected tab-stops marked
+            with asterisks.  The second data line shows the actual  tab-stops,
+            marked with asterisks.
 
-       <STRONG>-n</STRONG>   This option tells <STRONG>tabs</STRONG> to check the options  and  run
-            any  debugging option, but not to modify the terminal
-            settings.
+       <STRONG>-n</STRONG>   This  option tells <STRONG>tabs</STRONG> to check the options and run any debugging
+            option, but not to modify the terminal settings.
 
-       <STRONG>-V</STRONG>   reports the version of ncurses which was used in this
-            program, and exits.
+       <STRONG>-V</STRONG>   reports the version of <EM>ncurses</EM> which was used in this program, and
+            exits.
 
-       The  <STRONG>tabs</STRONG>  program  processes  a single list of tab stops.
-       The last option to be processed which defines  a  list  is
-       the one that determines the list to be processed.
+       The <STRONG>tabs</STRONG> program processes a single list of tab stops.  The last option
+       to be processed which defines a list is the  one  that  determines  the
+       list to be processed.
 
 
-</PRE>
-<H3><a name="h3-Implicit-Lists">Implicit Lists</a></H3><PRE>
-       Use  a  single number as an option, e.g., "<STRONG>-5</STRONG>" to set tabs
-       at the given interval (in this case  1,  6,  11,  16,  21,
-       etc.).   Tabs  are  repeated up to the right margin of the
-       screen.
+</PRE><H3><a name="h3-Implicit-Lists">Implicit Lists</a></H3><PRE>
+       Use  a  single number as an option, e.g., "<STRONG>-5</STRONG>" to set tabs at the given
+       interval (in this case 1, 6, 11, 16, 21, etc.).  Tabs are  repeated  up
+       to the right margin of the screen.
 
        Use "<STRONG>-0</STRONG>" to clear all tabs.
 
        Use "<STRONG>-8</STRONG>" to set tabs to the standard interval.
 
 
-</PRE>
-<H3><a name="h3-Explicit-Lists">Explicit Lists</a></H3><PRE>
-       An explicit list can be defined after  the  options  (this
-       does  not  use  a "-").  The values in the list must be in
-       increasing numeric order, and greater than zero.  They are
-       separated by a comma or a blank, for example,
+</PRE><H3><a name="h3-Explicit-Lists">Explicit Lists</a></H3><PRE>
+       An  explicit list can be defined after the options (this does not use a
+       "-").  The values in the list must be in increasing numeric order,  and
+       greater  than  zero.   They  are  separated  by a comma or a blank, for
+       example,
 
-              tabs 1,6,11,16,21
-              tabs 1 6 11 16 21
-       Use  a  '+'  to treat a number as an increment relative to
-       the previous value, e.g.,
+           tabs 1,6,11,16,21
+           tabs 1 6 11 16 21
 
-              tabs 1,+5,+5,+5,+5
+       Use a "+" to treat a number as an increment relative  to  the  previous
+       value, e.g.,
+
+           tabs 1,+5,+5,+5,+5
 
        which is equivalent to the 1,6,11,16,21 example.
 
 
-</PRE>
-<H3><a name="h3-Predefined-Tab-Stops">Predefined Tab-Stops</a></H3><PRE>
-       X/Open defines several predefined lists of tab stops.
+</PRE><H3><a name="h3-Predefined-Tab-Stops">Predefined Tab Stops</a></H3><PRE>
+       POSIX defines several predefined lists of tab stops.
 
        <STRONG>-a</STRONG>   Assembler, IBM S/370, first format
+            1,10,16,36,72
 
        <STRONG>-a2</STRONG>  Assembler, IBM S/370, second format
+            1,10,16,40,72
 
        <STRONG>-c</STRONG>   COBOL, normal format
+            1,8,12,16,20,55
 
        <STRONG>-c2</STRONG>  COBOL compact format
+            1,6,10,14,49
 
        <STRONG>-c3</STRONG>  COBOL compact format extended
+            1,6,10,14,18,22,26,30,34,38,42,46,50,54,58,62,67
 
        <STRONG>-f</STRONG>   FORTRAN
+            1,7,11,15,19,23
 
        <STRONG>-p</STRONG>   PL/I
+            1,5,9,13,17,21,25,29,33,37,41,45,49,53,57,61
 
        <STRONG>-s</STRONG>   SNOBOL
+            1,10,55
 
        <STRONG>-u</STRONG>   UNIVAC 1100 Assembler
+            1,12,20,44
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       X/Open describes a <STRONG>+m</STRONG> option, to set  a  terminal's  left-
-       margin.   Very few of the entries in the terminal database
-       provide this capability.
+</PRE><H3><a name="h3-Margins">Margins</a></H3><PRE>
+       A  few  terminals  expose  a  means  of  changing  their left and right
+       margins.  <STRONG>tabs</STRONG> supports this feature with an option.
 
-       The <STRONG>-d</STRONG> (debug) and <STRONG>-n</STRONG> (no-op) options are  extensions  not
+       <STRONG>+m</STRONG> <EM>margin</EM>
+            The  effect  depends  on  whether  the  terminal  has  the  margin
+            capabilities:
+
+            <STRONG>o</STRONG>   If  the  terminal provides the capability for setting the left
+                margin, <STRONG>tabs</STRONG> uses this, and adjusts  the  available  tab  stop
+                widths.
+
+            <STRONG>o</STRONG>   If the terminal does not provide the margin capabilities, <STRONG>tabs</STRONG>
+                imitates their effect, putting tab stops at appropriate places
+                on each line.  The terminal's left margin is not modified.
+
+            If the <EM>margin</EM> parameter is omitted, the default is 10.  Use <STRONG>+m0</STRONG> to
+            reset the left margin, that is, to make it the left  edge  of  the
+            terminal's display.  Before setting a left margin, <STRONG>tabs</STRONG> resets the
+            margin to reduce problems that might arise from moving the  cursor
+            to the left of the current left margin.
+
+       When  setting  or  resetting  the  left margin, <STRONG>tabs</STRONG> may also reset the
+       right margin.
+
+
+</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
+       <EM>/usr/share/tabset</EM>
+              tab stop initialization database
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       IEEE  Std  1003.1/The  Open   Group   Base   Specifications   Issue   7
+       (POSIX.1-2008) describes a <STRONG>tabs</STRONG> utility.  However,
+
+       <STRONG>o</STRONG>   this  standard  describes  a  <STRONG>+m</STRONG>  option  to  set a terminal's left
+           margin.  Very few of the entries in the terminal  database  provide
+           the   <STRONG>set_left_margin</STRONG>   (<STRONG>smgl</STRONG>)   or   <STRONG>set_left_margin_parm</STRONG>  (<STRONG>smglp</STRONG>)
+           capabilities needed to support the feature.
+
+       <STRONG>o</STRONG>   There is no counterpart in X/Open Curses Issue 7 for this  utility,
+           unlike <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>.
+
+       The  <STRONG>-d</STRONG>  (debug)  and  <STRONG>-n</STRONG>  (no-op)  options  are <EM>ncurses</EM> extensions not
        provided by other implementations.
 
-       Documentation  for other implementations states that there
-       is a limit on the number of tab stops.  While some  termi-
-       nals may not accept an arbitrary number of tab stops, this
-       implementation will attempt to set tab  stops  up  to  the
-       right  margin  of the screen, if the given list happens to
-       be that long.
+
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+       A <STRONG>tabs</STRONG> utility appeared in PWB/Unix  1.0  (1977).   A  reduced  version
+       shipped  in  Seventh  Edition  Unix (early 1979) and in 3BSD (later the
+       same year); it supported a "-n" option to set the first tab stop at the
+       left margin.  That option is not specified by POSIX.
+
+       The  PWB/Unix  <STRONG>tabs</STRONG>  utility  returned  in  System III (1980), and used
+       built-in tables to support a  half-dozen  hardcopy  terminal  (printer)
+       types.   It  also had logic to support setting the left margin, as well
+       as a feature for copying the tab settings from a file.
+
+       Versions of the program in later releases of AT&amp;T Unix, such  as  SVr4,
+       added  support  for  the  terminal database, but retained the tables to
+       support the printers.  By this time, System V <STRONG>tput</STRONG> had incorporated the
+       tab  stop  initialization feature of BSD's <STRONG>tset</STRONG> from 1982, but employed
+       the <EM>terminfo</EM> database to do so.
+
+       The <STRONG>+m</STRONG> option was documented in the POSIX Base Specifications  Issue  5
+       (Unix98,  1997), then omitted in Issue 6 (Unix03, 2004) without express
+       motivation, though an introductory comment "and optionally adjusts  the
+       margin"   remains,   overlooked  in  the  removal.   The  <STRONG>tabs</STRONG>  utility
+       documented in Issues 6 and later has no mechanism for setting  margins.
+       The  <STRONG>+m</STRONG>  option  in <EM>ncurses</EM> <STRONG>tabs</STRONG> differs from the SVr4 feature by using
+       terminal capabilities rather than built-in tables.
+
+       POSIX  documents  no  limit  on  the  number  of  tab   stops.    Other
+       implementations impose one; the limit is 20 in PWB/Unix's <STRONG>tabs</STRONG> utility.
+       While some terminals may not accept an arbitrary number of  tab  stops,
+       <EM>ncurses</EM>  <STRONG>tabs</STRONG>  attempts  to set tab stops up to the right margin if the
+       list thereof is sufficiently long.
+
+       The "Rationale" section of the Issue 6 <STRONG>tabs</STRONG> reference page details  how
+       the  committee  considered  redesigning  the  <STRONG>tabs</STRONG>  and <STRONG>tput</STRONG> utilities,
+       without settling on an improved solution.  It claims that
+
+           "no known historical version of <EM>tabs</EM>  supports  the  capability  of
+           setting arbitrary tab stops."
+
+       The   feature  described  in  subsection  "Explicit  Lists"  above  was
+       implemented in PWB/Unix, and permitted  the  setting  of  abitrary  tab
+       stops nevertheless.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
-
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20150808).
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
 
 
-                                                                <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>
+ncurses 6.5                       2024-04-20                           <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -184,10 +270,13 @@
 <li><a href="#h3-General-Options">General Options</a></li>
 <li><a href="#h3-Implicit-Lists">Implicit Lists</a></li>
 <li><a href="#h3-Explicit-Lists">Explicit Lists</a></li>
-<li><a href="#h3-Predefined-Tab-Stops">Predefined Tab-Stops</a></li>
+<li><a href="#h3-Predefined-Tab-Stops">Predefined Tab Stops</a></li>
+<li><a href="#h3-Margins">Margins</a></li>
 </ul>
 </li>
+<li><a href="#h2-FILES">FILES</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
diff --git a/doc/html/man/term.5.html b/doc/html/man/term.5.html
index 221db40..9c9b5b8 100644
--- a/doc/html/man/term.5.html
+++ b/doc/html/man/term.5.html
@@ -1,6 +1,8 @@
-<!-- 
+<!--
+  * t
   ****************************************************************************
-  * Copyright (c) 1998-2010,2015 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2016,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,231 +28,338 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: term.5,v 1.22 2015/04/26 14:50:23 tom Exp @
+  * @Id: term.5,v 1.77 2024/04/20 21:24:19 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>term 5</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>term 5 2024-04-20 ncurses 6.5 File formats</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">term 5</H1>
+<H1 class="no-header">term 5 2024-04-20 ncurses 6.5 File formats</H1>
 <PRE>
-<STRONG><A HREF="term.5.html">term(5)</A></STRONG>                                                         <STRONG><A HREF="term.5.html">term(5)</A></STRONG>
+<STRONG><A HREF="term.5.html">term(5)</A></STRONG>                          File formats                          <STRONG><A HREF="term.5.html">term(5)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       term - format of compiled term file.
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       term - compiled <EM>terminfo</EM> terminal description
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>term</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
 
-</PRE>
-<H3><a name="h3-STORAGE-LOCATION">STORAGE LOCATION</a></H3><PRE>
-       Compiled terminfo descriptions are placed under the direc-
-       tory <STRONG>/usr/share/terminfo</STRONG>.   Two  configurations  are  sup-
-       ported (when building the ncurses libraries):
+</PRE><H3><a name="h3-Storage-Location">Storage Location</a></H3><PRE>
+       Compiled   terminfo   descriptions   are  placed  under  the  directory
+       <STRONG>/usr/share/terminfo</STRONG>.  Two configurations are supported  (when  building
+       the <EM>ncurses</EM> libraries):
 
        <STRONG>directory</STRONG> <STRONG>tree</STRONG>
-            A  two-level  scheme is used to avoid a linear search
-            of a  huge  UNIX  system  directory:  <STRONG>/usr/share/ter-</STRONG>
-            <STRONG>minfo/c/name</STRONG>  where <EM>name</EM> is the name of the terminal,
-            and <EM>c</EM> is the first character of <EM>name</EM>.  Thus, <EM>act4</EM> can
-            be  found  in  the  file  <STRONG>/usr/share/terminfo/a/act4</STRONG>.
-            Synonyms for the same  terminal  are  implemented  by
-            multiple links to the same compiled file.
+            A two-level scheme is used to avoid a linear search of a huge Unix
+            system directory: <STRONG>/usr/share/terminfo/c/name</STRONG>  where  <EM>name</EM>  is  the
+            name of the terminal, and <EM>c</EM> is the first character of <EM>name</EM>.  Thus,
+            <EM>act4</EM>  can  be  found  in  the   file   <STRONG>/usr/share/terminfo/a/act4</STRONG>.
+            Synonyms  for  the same terminal are implemented by multiple links
+            to the same compiled file.
 
        <STRONG>hashed</STRONG> <STRONG>database</STRONG>
-            Using  Berkeley  database,  two  types of records are
-            stored: the terminfo  data  in  the  same  format  as
-            stored  in  a directory tree with the terminfo's pri-
-            mary name as  a  key,  and  records  containing  only
-            aliases pointing to the primary name.
+            Using Berkeley database, two types  of  records  are  stored:  the
+            terminfo  data  in  the  same format as stored in a directory tree
+            with the terminfo's primary name as a key, and records  containing
+            only aliases pointing to the primary name.
 
-            If built to write hashed databases, ncurses can still
-            read terminfo  databases  organized  as  a  directory
-            tree,  but  cannot  write  entries into the directory
-            tree.  It can  write  (or  rewrite)  entries  in  the
-            hashed database.
+            If  built  to  write  hashed  databases,  <EM>ncurses</EM>  can  still read
+            terminfo databases organized as a directory tree, but cannot write
+            entries  into  the  directory  tree.   It  can  write (or rewrite)
+            entries in the hashed database.
 
-            ncurses  distinguishes  the two cases in the TERMINFO
-            and TERMINFO_DIRS environment variable by assuming  a
-            directory  tree  for  entries  that  correspond to an
-            existing directory, and hashed database otherwise.
+            <EM>ncurses</EM>  distinguishes  the  two  cases  in   the   <EM>TERMINFO</EM>   and
+            <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM>  environment  variable  by assuming a directory tree
+            for entries that correspond to an existing directory,  and  hashed
+            database otherwise.
 
 
-</PRE>
-<H3><a name="h3-STORAGE-FORMAT">STORAGE FORMAT</a></H3><PRE>
-       The format has been chosen so that it will be the same  on
-       all  hardware.   An  8 or more bit byte is assumed, but no
-       assumptions about byte  ordering  or  sign  extension  are
-       made.
+</PRE><H3><a name="h3-Legacy-Storage-Format">Legacy Storage Format</a></H3><PRE>
+       The format has been chosen so that it will be the same on all hardware.
+       An 8 or more bit  byte  is  assumed,  but  no  assumptions  about  byte
+       ordering or sign extension are made.
 
-       The  compiled  file  is  created with the <STRONG>tic</STRONG> program, and
-       read by the routine <EM>setupterm</EM>.  The file is  divided  into
-       six parts: the header, terminal names, boolean flags, num-
-       bers, strings, and string table.
+       The  compiled  file  is  created  with the <STRONG>tic</STRONG> program, and read by the
+       routine <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>.  The file is divided into six parts:
 
-       The header section begins the file.  This section contains
-       six  short  integers in the format described below.  These
-       integers are
+            a) <EM>header</EM>,
 
-            (1) the magic number (octal 0432);
+            b) <EM>terminal</EM> <EM>names</EM>,
 
-            (2) the size, in bytes, of the names section;
+            c) <EM>Boolean</EM> <EM>flags</EM>,
 
-            (3) the number of bytes in the boolean section;
+            d) <EM>numbers</EM>,
 
-            (4) the number of short integers in the numbers  sec-
-            tion;
+            e) <EM>strings</EM>, and
 
-            (5)  the  number  of  offsets (short integers) in the
-            strings section;
+            f) <EM>string</EM> <EM>table</EM>.
 
-            (6) the size, in bytes, of the string table.
+       The <EM>header</EM> section begins the file.  This section  contains  six  short
+       integers in the format described below.  These integers are
 
-       Short integers are stored in two 8-bit bytes.   The  first
-       byte  contains  the least significant 8 bits of the value,
-       and the second byte contains the most significant 8  bits.
-       (Thus,  the  value  represented is 256*second+first.)  The
-       value -1 is represented by the two bytes 0377, 0377; other
-       negative  values  are  illegal. This value generally means
-       that the corresponding capability  is  missing  from  this
-       terminal.   Note that this format corresponds to the hard-
-       ware  of  the  VAX  and  PDP-11  (that  is,  little-endian
-       machines).  Machines where this does not correspond to the
-       hardware must read the integers as two bytes  and  compute
-       the little-endian value.
+            (1) the <EM>magic</EM> <EM>number</EM> (octal 0432);
 
-       The  terminal  names  section comes next.  It contains the
-       first line of the terminfo description, listing the  vari-
-       ous  names  for the terminal, separated by the `|' charac-
-       ter.  The section is terminated with an ASCII NUL  charac-
-       ter.
+            (2) the size, in bytes, of the <EM>terminal</EM> <EM>names</EM> section;
 
-       The  boolean flags have one byte for each flag.  This byte
-       is either 0 or 1 as the flag is present  or  absent.   The
-       capabilities are in the same order as the file &lt;term.h&gt;.
+            (3) the number of bytes in the <EM>Boolean</EM> <EM>flags</EM> section;
 
-       Between the boolean section and the number section, a null
-       byte will be inserted, if necessary, to  ensure  that  the
-       number  section begins on an even byte (this is a relic of
-       the  PDP-11's  word-addressed   architecture,   originally
-       designed  in  to  avoid  IOT traps induced by addressing a
-       word on an odd byte boundary).   All  short  integers  are
-       aligned on a short word boundary.
+            (4) the number of short integers in the <EM>numbers</EM> section;
 
-       The numbers section is similar to the flags section.  Each
-       capability takes up two bytes, and is stored as a  little-
-       endian short integer.  If the value represented is -1, the
-       capability is taken to be missing.
+            (5) the number of offsets (short integers) in the <EM>strings</EM> section;
 
-       The strings section is also similar.  Each  capability  is
-       stored  as  a short integer, in the format above.  A value
-       of -1 means the capability  is  missing.   Otherwise,  the
-       value  is  taken  as  an  offset from the beginning of the
-       string table.  Special characters in ^X or \c notation are
-       stored  in their interpreted form, not the printing repre-
-       sentation.  Padding information $&lt;nn&gt; and parameter infor-
-       mation %x are stored intact in uninterpreted form.
+            (6) the size, in bytes, of the <EM>string</EM> <EM>table</EM>.
 
-       The  final  section  is the string table.  It contains all
-       the values of string capabilities referenced in the string
-       section.  Each string is null terminated.
+       The  capabilities  in  the <EM>Boolean</EM> <EM>flags</EM>, <EM>numbers</EM>, and <EM>strings</EM> sections
+       are in the same order as the file &lt;term.h&gt;.
+
+       Short integers are signed, in the range  -32768  to  32767.   They  are
+       stored  as  two  8-bit  bytes.   The  first  byte  contains  the  least
+       significant 8 bits of the value, and the second byte contains the  most
+       significant 8 bits.  (Thus, the value represented is 256*second+first.)
+       This format corresponds to the hardware of the VAX and PDP-11 (that is,
+       little-endian  machines).   Machines  where this does not correspond to
+       the hardware must read the  integers  as  two  bytes  and  compute  the
+       little-endian value.
+
+       Numbers  in  a  terminal  description,  whether they are entries in the
+       <EM>numbers</EM> or <EM>strings</EM> table, are positive  integers.   Boolean  flags  are
+       treated  as  positive  one-byte integers.  In each case, those positive
+       integers represent a terminal capability.  The  terminal  compiler  tic
+       uses  negative  integers  to handle the cases where a capability is not
+       available:
+
+       <STRONG>o</STRONG>   If a capability is absent from this terminal, tic stores  a  -1  in
+           the corresponding table.
+
+           The integer value -1 is represented by two bytes 0377, 0377.
+           Absent Boolean values are represented by the byte 0 (false).
+
+       <STRONG>o</STRONG>   If  a capability has been canceled from this terminal, tic stores a
+           -2 in the corresponding table.
+
+           The integer value -2 is represented by two bytes 0377, 0376.
+           The Boolean value -2 is represented by the byte 0376.
+
+       <STRONG>o</STRONG>   Other negative values are illegal.
+
+       The <EM>terminal</EM> <EM>names</EM> section comes after the  <EM>header</EM>.   It  contains  the
+       first  line  of the terminfo description, listing the various names for
+       the terminal, separated by  the  "|"  character.   The  <EM>terminal</EM>  <EM>names</EM>
+       section is terminated with an ASCII NUL character.
+
+       The  <EM>Boolean</EM>  <EM>flags</EM>  section  has  one  byte  for  each  flag.  Boolean
+       capabilities are either 1 or 0 (true or false) according to whether the
+       terminal supports the given capability or not.
+
+       Between  the  <EM>Boolean</EM> <EM>flags</EM> section and the <EM>number</EM> section, a null byte
+       will be inserted, if necessary,  to  ensure  that  the  <EM>number</EM>  section
+       begins  on  an even byte This is a relic of the PDP-11's word-addressed
+       architecture, originally designed to avoid traps induced by  addressing
+       a  word  on  an odd byte boundary.  All short integers are aligned on a
+       short word boundary.
+
+       The <EM>numbers</EM> section is similar to  the  <EM>Boolean</EM>  <EM>flags</EM>  section.   Each
+       capability  takes  up two bytes, and is stored as a little-endian short
+       integer.
+
+       The <EM>strings</EM> section is also similar.  Each capability is  stored  as  a
+       short integer.  The capability value is an index into the <EM>string</EM> <EM>table</EM>.
+
+       The <EM>string</EM> <EM>table</EM> is the last section.  It contains all of the values of
+       string capabilities referenced in the <EM>strings</EM> section.  Each string  is
+       null-terminated.  Special characters in ^X or \c notation are stored in
+       their interpreted  form,  not  the  printing  representation.   Padding
+       information  $&lt;nn&gt;  and  parameter  information %x are stored intact in
+       uninterpreted form.
 
 
-</PRE>
-<H3><a name="h3-EXTENDED-STORAGE-FORMAT">EXTENDED STORAGE FORMAT</a></H3><PRE>
-       The  previous  section describes the conventional terminfo
-       binary format.  With some minor variations of the  offsets
-       (see  PORTABILITY),  the same binary format is used in all
-       modern UNIX systems.  Each system uses a predefined set of
-       boolean, number or string capabilities.
+</PRE><H3><a name="h3-Extended-Storage-Format">Extended Storage Format</a></H3><PRE>
+       The previous section describes the conventional terminfo binary format.
+       With  some  minor variations of the offsets (see PORTABILITY), the same
+       binary format is used in all modern Unix systems.  Each system  uses  a
+       predefined set of Boolean, number or string capabilities.
 
-       The  ncurses  libraries  and applications support extended
-       terminfo binary format, allowing users to define capabili-
-       ties  which are loaded at runtime.  This extension is made
-       possible by using the fact that the other  implementations
-       stop  reading the terminfo data when they have reached the
-       end of the size given in the header.  ncurses  checks  the
-       size,  and  if it exceeds that due to the predefined data,
-       continues to parse according to its own scheme.
+       The <EM>ncurses</EM> libraries and applications support extended terminfo binary
+       format, allowing users to  define  capabilities  which  are  loaded  at
+       runtime.   This  extension  is made possible by using the fact that the
+       other implementations stop reading the terminfo  data  when  they  have
+       reached  the  end  of the size given in the header.  <EM>ncurses</EM> checks the
+       size, and if it exceeds that due to the predefined data,  continues  to
+       parse according to its own scheme.
 
        First, it reads the extended header (5 short integers):
 
-            (1)  count of extended boolean capabilities
+            (1)  count of extended Boolean capabilities
 
             (2)  count of extended numeric capabilities
 
             (3)  count of extended string capabilities
 
-            (4)  size of the extended string table in bytes.
+            (4)  count of the items in extended string table
 
-            (5)  last offset of  the  extended  string  table  in
-                 bytes.
+            (5)  size of the extended string table in bytes
 
-       Using  the  counts and sizes, ncurses allocates arrays and
-       reads data for the extended capabilities in the same order
-       as the header information.
+       The  count-  and  size-values for the extended string table include the
+       extended capability <EM>names</EM> as well as extended capability <EM>values</EM>.
 
-       The extended string table contains values for string capa-
-       bilities.  After the end of these values, it contains  the
-       names  for  each  of  the  extended capabilities in order,
-       e.g., booleans, then numbers and finally strings.
+       Using the counts and sizes, <EM>ncurses</EM> allocates arrays and reads data for
+       the extended capabilities in the same order as the header information.
+
+       The  extended  string  table  contains  values for string capabilities.
+       After the end of these values, it contains the names for  each  of  the
+       extended  capabilities  in  order,  e.g.,  Booleans,  then  numbers and
+       finally strings.
+
+       By storing terminal descriptions  in  this  way,  <EM>ncurses</EM>  is  able  to
+       provide  a  database  useful  with  legacy  applications,  as  well  as
+       providing data for applications which need  more  than  the  predefined
+       capabilities.  See <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG> for an overview of the way <EM>ncurses</EM> uses
+       this extended information.
+
+       Applications which manipulate terminal data  can  use  the  definitions
+       described  in  <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>  which  associate the long capability
+       names with members of a <STRONG>TERMTYPE</STRONG> structure.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       Note that it is possible for <EM>setupterm</EM> to expect a differ-
-       ent  set  of capabilities than are actually present in the
-       file.  Either the database may  have  been  updated  since
-       <EM>setupterm</EM> has been recompiled (resulting in extra unrecog-
-       nized entries in the file) or the program  may  have  been
-       recompiled  more  recently  than  the database was updated
-       (resulting in missing  entries).   The  routine  <EM>setupterm</EM>
-       must  be prepared for both possibilities - this is why the
-       numbers and sizes are included.   Also,  new  capabilities
-       must  always  be added at the end of the lists of boolean,
-       number, and string capabilities.
+</PRE><H3><a name="h3-Extended-Number-Format">Extended Number Format</a></H3><PRE>
+       On occasion, 16-bit signed integers are not large enough.  With <EM>ncurses</EM>
+       6.1,  a new format was introduced by making a few changes to the legacy
+       format:
 
-       Despite the consistent use of  little-endian  for  numbers
-       and  the  otherwise self-describing format, it is not wise
-       to count on portability of binary terminfo entries between
-       commercial  UNIX  versions.  The problem is that there are
-       at least three versions of terminfo (under HP-UX, AIX, and
-       OSF/1)  which  diverged from System V terminfo after SVr1,
-       and have added extension capabilities to the string  table
-       that  (in the binary format) collide with System V and XSI
-       Curses extensions.  See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for  detailed  discus-
-       sion of terminfo source compatibility issues.
+       <STRONG>o</STRONG>   a different magic number (octal 01036)
+
+       <STRONG>o</STRONG>   changing the type for the <EM>number</EM> array from signed 16-bit  integers
+           to signed 32-bit integers.
+
+       To   maintain   compatibility,  the  library  presents  the  same  data
+       structures to direct users of the <STRONG>TERMTYPE</STRONG>  structure  as  in  previous
+       formats.   However,  that  cannot  provide  callers  with  the extended
+       numbers.   The  library  uses  a  similar  but  hidden  data  structure
+       <STRONG>TERMTYPE2</STRONG> to provide data for the terminfo functions.
 
 
-</PRE>
-<H2><a name="h2-EXAMPLE">EXAMPLE</a></H2><PRE>
-       As  an  example, here is a hex dump of the description for
-       the Lear-Siegler ADM-3, a  popular  though  rather  stupid
-       early terminal:
+</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
+       <EM>/usr/share/terminfo</EM>
+              compiled terminal description database
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+
+</PRE><H3><a name="h3-setupterm">setupterm</a></H3><PRE>
+       Note  that  it  is  possible for <STRONG>setupterm</STRONG> to expect a different set of
+       capabilities than  are  actually  present  in  the  file.   Either  the
+       database   may   have  been  updated  since  <STRONG>setupterm</STRONG>  was  recompiled
+       (resulting in extra unrecognized entries in the file)  or  the  program
+       may  have  been  recompiled more recently than the database was updated
+       (resulting in missing entries).  The routine <STRONG>setupterm</STRONG> must be prepared
+       for  both  possibilities  -  this  is  why  the  numbers  and sizes are
+       included.  Also, new capabilities must always be added at  the  end  of
+       the lists of Boolean, number, and string capabilities.
+
+
+</PRE><H3><a name="h3-Binary-Format">Binary Format</a></H3><PRE>
+       X/Open  Curses  does  not  specify  a format for the terminfo database.
+       System V curses used a directory-tree of binary files, one per terminal
+       description.
+
+       Despite  the  consistent  use  of  little-endian  for  numbers  and the
+       otherwise  self-describing  format,  it  is  not  wise  to   count   on
+       portability   of   binary  terminfo  entries  between  commercial  Unix
+       versions.  The problem is that there are at  least  three  versions  of
+       terminfo  (under  HP-UX,  AIX,  and OSF/1) which diverged from System V
+       terminfo after SVr1, and  have  added  extension  capabilities  to  the
+       string  table  that  (in  the  binary format) collide with System V and
+       X/Open Curses extensions.  See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for detailed  discussion  of
+       terminfo source compatibility issues.
+
+       This  implementation  is by default compatible with the binary terminfo
+       format used by Solaris curses, except in a few less-used details  where
+       it  was  found that the latter did not match X/Open Curses.  The format
+       used by the other Unix versions can be matched by building <EM>ncurses</EM> with
+       different configuration options.
+
+
+</PRE><H3><a name="h3-Magic-Codes">Magic Codes</a></H3><PRE>
+       The  magic  number  in a binary terminfo file is the first 16-bits (two
+       bytes).  Besides making it more reliable for the library to check  that
+       a  file  is  terminfo,  utilities such as <STRONG>file(1)</STRONG> also use that to tell
+       what the file-format is.  System V defined more than one magic  number,
+       with 0433, 0435 as screen-dumps (see <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG>).  This implementation
+       uses 01036 as a continuation of that sequence,  but  with  a  different
+       high-order byte to avoid confusion.
+
+   <STRONG>The</STRONG> <EM>TERMTYPE</EM> <STRONG>Structure</STRONG>
+       Direct  access  to  the  <STRONG>TERMTYPE</STRONG>  structure  is  provided  for  legacy
+       applications.  Portable  applications  should  use  the  <STRONG>tigetflag</STRONG>  and
+       related  functions  described in <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> for reading terminal
+       capabilities.
+
+
+</PRE><H3><a name="h3-Mixed-case-Terminal-Names">Mixed-case Terminal Names</a></H3><PRE>
+       A small number of terminal descriptions  use  uppercase  characters  in
+       their  names.   If  the  underlying  filesystem  ignores the difference
+       between  uppercase  and  lowercase,  <EM>ncurses</EM>  represents   the   "first
+       character"  of  the  terminal  name used as the intermediate level of a
+       directory tree in (two-character) hexadecimal form.
+
+
+</PRE><H3><a name="h3-Limits">Limits</a></H3><PRE>
+       <EM>ncurses</EM> stores compiled terminal descriptions in three related formats,
+       described in the sections
+
+       <STRONG>o</STRONG>   <STRONG>LEGACY</STRONG> <STRONG>STORAGE</STRONG> <STRONG>FORMAT</STRONG>, and
+
+       <STRONG>o</STRONG>   <STRONG>EXTENDED</STRONG> <STRONG>STORAGE</STRONG> <STRONG>FORMAT</STRONG>, and
+
+       <STRONG>o</STRONG>   <STRONG>EXTENDED</STRONG> <STRONG>NUMBER</STRONG> <STRONG>FORMAT</STRONG>.
+
+       The  legacy storage format and the extended number format differ by the
+       types of numeric capability which they can store (i.e.,  16-bit  versus
+       32-bit  integers).   The  extended storage format introduced by <EM>ncurses</EM>
+       5.0 adds data to either of these formats.
+
+       Some limitations apply:
+
+       <STRONG>o</STRONG>   total compiled entries cannot  exceed  4096  bytes  in  the  legacy
+           format.
+
+       <STRONG>o</STRONG>   total  compiled  entries  cannot exceed 32768 bytes in the extended
+           format.
+
+       <STRONG>o</STRONG>   the name field cannot exceed 128 bytes.
+
+       Compiled entries are limited to 32768 bytes because  offsets  into  the
+       <EM>strings</EM>  <EM>table</EM>  use  two-byte  integers.   The legacy format could have
+       supported 32768-byte entries, but  was  limited  to  a  virtual  memory
+       page's 4096 bytes.
+
+
+</PRE><H2><a name="h2-EXAMPLES">EXAMPLES</a></H2><PRE>
+       As  an  example,  here  is  a description for the Lear-Siegler ADM-3, a
+       popular though rather stupid early terminal:
 
        adm3a|lsi adm3a,
                am,
                cols#80, lines#24,
-               bel=^G, clear= 32$&lt;1&gt;, cr=^M, cub1=^H, cud1=^J,
+               bel=^G, clear=\032$&lt;1&gt;, cr=^M, cub1=^H, cud1=^J,
                cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K,
                home=^^, ind=^J,
 
+       and a hexadecimal dump of the compiled terminal description:
+
        0000  1a 01 10 00 02 00 03 00  82 00 31 00 61 64 6d 33  ........ ..1.adm3
        0010  61 7c 6c 73 69 20 61 64  6d 33 61 00 00 01 50 00  a|lsi ad m3a...P.
        0020  ff ff 18 00 ff ff 00 00  02 00 ff ff ff ff 04 00  ........ ........
@@ -275,35 +384,22 @@
        0150  00 08 00 0c 00 0b 00 0a  00                       ........ .
 
 
-
-</PRE>
-<H2><a name="h2-LIMITS">LIMITS</a></H2><PRE>
-       Some  limitations:  total  compiled  entries cannot exceed
-       4096 bytes.  The name field cannot exceed 128 bytes.
-
-
-</PRE>
-<H2><a name="h2-FILES">FILES</a></H2><PRE>
-       /usr/share/terminfo/*/*  compiled terminal capability data
-       base
-
-
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
-
-
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
        Thomas E. Dickey
-       extended terminfo format for ncurses 5.0
-       hashed database support for ncurses 5.6
+       extended terminfo format for <EM>ncurses</EM> 5.0
+       hashed database support for <EM>ncurses</EM> 5.6
+       extended number support for <EM>ncurses</EM> 6.1
 
        Eric S. Raymond
+       documented legacy terminfo format, e.g., from <EM>pcurses</EM>.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
 
 
 
-                                                                <STRONG><A HREF="term.5.html">term(5)</A></STRONG>
+ncurses 6.5                       2024-04-20                           <STRONG><A HREF="term.5.html">term(5)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -311,17 +407,25 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
 <ul>
-<li><a href="#h3-STORAGE-LOCATION">STORAGE LOCATION</a></li>
-<li><a href="#h3-STORAGE-FORMAT">STORAGE FORMAT</a></li>
-<li><a href="#h3-EXTENDED-STORAGE-FORMAT">EXTENDED STORAGE FORMAT</a></li>
+<li><a href="#h3-Storage-Location">Storage Location</a></li>
+<li><a href="#h3-Legacy-Storage-Format">Legacy Storage Format</a></li>
+<li><a href="#h3-Extended-Storage-Format">Extended Storage Format</a></li>
+<li><a href="#h3-Extended-Number-Format">Extended Number Format</a></li>
 </ul>
 </li>
-<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
-<li><a href="#h2-EXAMPLE">EXAMPLE</a></li>
-<li><a href="#h2-LIMITS">LIMITS</a></li>
 <li><a href="#h2-FILES">FILES</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a>
+<ul>
+<li><a href="#h3-setupterm">setupterm</a></li>
+<li><a href="#h3-Binary-Format">Binary Format</a></li>
+<li><a href="#h3-Magic-Codes">Magic Codes</a></li>
+<li><a href="#h3-Mixed-case-Terminal-Names">Mixed-case Terminal Names</a></li>
+<li><a href="#h3-Limits">Limits</a></li>
+</ul>
+</li>
+<li><a href="#h2-EXAMPLES">EXAMPLES</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/term.7.html b/doc/html/man/term.7.html
index 749139e..9a88588 100644
--- a/doc/html/man/term.7.html
+++ b/doc/html/man/term.7.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2011,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,161 +27,142 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: term.7,v 1.23 2011/12/17 23:32:17 tom Exp @
+  * @Id: term.7,v 1.48 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>term 7</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>term 7 2024-03-16 ncurses 6.5 Miscellaneous</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">term 7</H1>
+<H1 class="no-header">term 7 2024-03-16 ncurses 6.5 Miscellaneous</H1>
 <PRE>
-<STRONG><A HREF="term.7.html">term(7)</A></STRONG>                                                         <STRONG><A HREF="term.7.html">term(7)</A></STRONG>
+<STRONG><A HREF="term.7.html">term(7)</A></STRONG>                          Miscellaneous                         <STRONG><A HREF="term.7.html">term(7)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
        term - conventions for naming terminal types
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The  environment variable <STRONG>TERM</STRONG> should normally contain the
-       type name of the terminal, console or display-device  type
-       you  are  using.   This  information  is  critical for all
-       screen-oriented  programs,  including  your   editor   and
-       mailer.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The  environment variable <EM>TERM</EM> should normally contain the type name of
+       the terminal, console or  display-device  type  you  are  using.   This
+       information  is  critical  for  all screen-oriented programs, including
+       your editor and mailer.
 
-       A  default  <STRONG>TERM</STRONG>  value will be set on a per-line basis by
-       either  <STRONG>/etc/inittab</STRONG>  (e.g.,  System-V-like   UNIXes)   or
-       <STRONG>/etc/ttys</STRONG>  (BSD  UNIXes).  This will nearly always suffice
-       for workstation and microcomputer consoles.
+       A default <EM>TERM</EM> value  will  be  set  on  a  per-line  basis  by  either
+       <STRONG>/etc/inittab</STRONG>  (e.g.,  System-V-like  Unices) or <STRONG>/etc/ttys</STRONG> (BSD Unices).
+       This will nearly  always  suffice  for  workstation  and  microcomputer
+       consoles.
 
-       If you use a dialup line, the type of device  attached  to
-       it  may vary.  Older UNIX systems pre-set a very dumb ter-
-       minal type like `dumb' or `dialup' on dialup lines.  Newer
-       ones may pre-set `vt100', reflecting the prevalence of DEC
-       VT100-compatible terminals  and  personal-computer  emula-
-       tors.
+       If  you  use a dialup line, the type of device attached to it may vary.
+       Older Unix systems pre-set a very dumb terminal  type  like  "dumb"  or
+       "dialup"  on  dialup lines.  Newer ones may pre-set "vt100", reflecting
+       the prevalence of DEC VT100-compatible terminals and  personal-computer
+       emulators.
 
-       Modern  telnets  pass  your <STRONG>TERM</STRONG> environment variable from
-       the local side to the remote one.  There can  be  problems
-       if  the  remote terminfo or termcap entry for your type is
-       not compatible with yours, but this situation is rare  and
-       can  almost  always  be  avoided  by  explicitly exporting
-       `vt100' (assuming you are in fact using  a  VT100-superset
-       console, terminal, or terminal emulator.)
+       Modern  telnets pass your <EM>TERM</EM> environment variable from the local side
+       to the remote one.  There can be problems if  the  remote  terminfo  or
+       termcap  entry  for  your  type  is not compatible with yours, but this
+       situation is rare and  can  almost  always  be  avoided  by  explicitly
+       exporting  "vt100"  (assuming  you  are  in fact using a VT100-superset
+       console, terminal, or terminal emulator).
 
-       In any case, you are free to override the system <STRONG>TERM</STRONG> set-
-       ting to your taste in your  shell  profile.   The  <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
-       utility  may  be  of  assistance; you can give it a set of
-       rules for deducing or requesting a terminal type based  on
-       the tty device and baud rate.
+       In any case, you are free to override the system <EM>TERM</EM> setting  to  your
+       taste in your shell profile.  The <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> utility may be of assistance;
+       you can give it a set of rules for deducing or  requesting  a  terminal
+       type based on the tty device and baud rate.
 
-       Setting your own <STRONG>TERM</STRONG> value may also be useful if you have
-       created a custom entry incorporating options (such as vis-
-       ual  bell or reverse-video) which you wish to override the
-       system default type for your line.
+       Setting  your  own  <EM>TERM</EM> value may also be useful if you have created a
+       custom entry incorporating options (such as  visual  bell  or  reverse-
+       video)  which  you  wish  to  override the system default type for your
+       line.
 
-       Terminal type descriptions are stored as files of capabil-
-       ity data underneath /usr/share/terminfo.  To browse a list
-       of all terminal names recognized by the system, do
+       Terminal type descriptions are  stored  as  files  of  capability  data
+       underneath /usr/share/terminfo.  To browse a list of all terminal names
+       recognized by the system, do
 
-            toe | more
+               toe | more
 
-       from your shell.  These capability files are in  a  binary
-       format optimized for retrieval speed (unlike the old text-
-       based <STRONG>termcap</STRONG> format they replace); to examine  an  entry,
-       you  must  use the <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> command.  Invoke it as fol-
-       lows:
+       from your shell.   These  capability  files  are  in  a  binary  format
+       optimized for retrieval speed (unlike the old text-based <STRONG>termcap</STRONG> format
+       they replace); to examine  an  entry,  you  must  use  the  <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
+       command.  Invoke it as follows:
 
-            infocmp <EM>entry</EM><STRONG>_</STRONG><EM>name</EM>
+               infocmp <EM>entry</EM><STRONG>_</STRONG><EM>name</EM>
 
-       where <EM>entry</EM><STRONG>_</STRONG><EM>name</EM> is the name of the type you wish to exam-
-       ine  (and the name of its capability file the subdirectory
-       of /usr/share/terminfo named for its first letter).   This
-       command  dumps  a  capability  file  in  the  text  format
-       described by <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+       where  <EM>entry</EM><STRONG>_</STRONG><EM>name</EM>  is the name of the type you wish to examine (and the
+       name of its capability file  the  subdirectory  of  /usr/share/terminfo
+       named  for  its first letter).  This command dumps a capability file in
+       the text format described by <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
 
-       The first line of  a  <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>  description  gives  the
-       names by which terminfo knows a terminal, separated by `|'
-       (pipe-bar) characters with the last name field  terminated
-       by  a  comma.   The first name field is the type's <EM>primary</EM>
-       <EM>name</EM>, and is the one to use when setting <STRONG>TERM</STRONG>.   The  last
-       name  field  (if  distinct  from  the first) is actually a
-       description of the terminal type (it may  contain  blanks;
-       the others must be single words).  Name fields between the
-       first and last (if present) are aliases for the  terminal,
-       usually historical names retained for compatibility.
+       The first line of a <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> description gives the  names  by  which
+       terminfo  knows a terminal, separated by "|" (pipe-bar) characters with
+       the last name field terminated by a comma.  The first name field is the
+       type's <EM>primary</EM> <EM>name</EM>, and is the one to use when setting <EM>TERM</EM>.  The last
+       name field (if distinct from the first) is actually  a  description  of
+       the  terminal  type  (it  may contain blanks; the others must be single
+       words).  Name fields between  the  first  and  last  (if  present)  are
+       aliases  for  the  terminal,  usually  historical  names  retained  for
+       compatibility.
 
-       There are some conventions for how to choose terminal pri-
-       mary names that help keep  them  informative  and  unique.
-       Here is a step-by-step guide to naming terminals that also
-       explains how to parse them:
+       There are some conventions for how to  choose  terminal  primary  names
+       that  help  keep  them  informative and unique.  Here is a step-by-step
+       guide to naming terminals that also explains how to parse them:
 
-       First, choose a root name.  The root  will  consist  of  a
-       lower-case  letter followed by up to seven lower-case let-
-       ters or digits.  You need to avoid using punctuation char-
-       acters  in  root  names,  because they are used and inter-
-       preted as filenames and shell meta-characters (such as  !,
-       $,  *, ?, etc.) embedded in them may cause odd and unhelp-
-       ful behavior.  The slash (/), or any other character  that
-       may  be  interpreted by anyone's file system (\, $, [, ]),
-       is especially dangerous (terminfo is platform-independent,
-       and  choosing  names with special characters could someday
-       make life difficult for users of a future port).  The  dot
-       (.)  character  is  relatively safe as long as there is at
-       most one per root name; some historical terminfo names use
-       it.
+       First, choose a root name.  The  root  will  consist  of  a  lower-case
+       letter  followed by up to seven lower-case letters or digits.  You need
+       to avoid using punctuation characters in root names, because  they  are
+       used and interpreted as filenames and shell meta-characters (such as !,
+       $, *, ?, etc.) embedded in them may cause odd and  unhelpful  behavior.
+       The  slash  (/),  or  any  other  character  that may be interpreted by
+       anyone's file system (\, $, [, ]), is especially dangerous (terminfo is
+       platform-independent,  and choosing names with special characters could
+       someday make life difficult for users of a future port).  The  dot  (.)
+       character  is  relatively safe as long as there is at most one per root
+       name; some historical terminfo names use it.
 
-       The  root  name for a terminal or workstation console type
-       should almost always begin with a vendor prefix  (such  as
-       <STRONG>hp</STRONG>  for Hewlett-Packard, <STRONG>wy</STRONG> for Wyse, or <STRONG>att</STRONG> for AT&amp;T ter-
-       minals), or a common name of the terminal line (<STRONG>vt</STRONG> for the
-       VT  series of terminals from DEC, or <STRONG>sun</STRONG> for Sun Microsys-
-       tems workstation consoles, or <STRONG>regent</STRONG> for the  ADDS  Regent
-       series.   You  can list the terminfo tree to see what pre-
-       fixes are already in common use.   The  root  name  prefix
-       should  be  followed  when  appropriate by a model number;
-       thus <STRONG>vt100</STRONG>, <STRONG>hp2621</STRONG>, <STRONG>wy50</STRONG>.
+       The root name for a terminal or workstation console type should  almost
+       always  begin  with a vendor prefix (such as <STRONG>hp</STRONG> for Hewlett-Packard, <STRONG>wy</STRONG>
+       for Wyse, or <STRONG>att</STRONG> for AT&amp;T terminals), or a common name of the  terminal
+       line  (<STRONG>vt</STRONG>  for  the  VT  series  of  terminals from DEC, or <STRONG>sun</STRONG> for Sun
+       Microsystems workstation  consoles,  or  <STRONG>regent</STRONG>  for  the  ADDS  Regent
+       series.   You  can  list  the  terminfo  tree  to see what prefixes are
+       already in common use.  The root name prefix should  be  followed  when
+       appropriate by a model number; thus <STRONG>vt100</STRONG>, <STRONG>hp2621</STRONG>, <STRONG>wy50</STRONG>.
 
-       The root name for a PC-Unix console type should be the  OS
-       name,  i.e., <STRONG>linux</STRONG>, <STRONG>bsdos</STRONG>, <STRONG>freebsd</STRONG>, <STRONG>netbsd</STRONG>.  It should <EM>not</EM>
-       be <STRONG>console</STRONG> or any other generic that might cause confusion
-       in  a  multi-platform environment!  If a model number fol-
-       lows, it should indicate either the OS  release  level  or
-       the console driver release level.
+       The  root  name for a PC-Unix console type should be the OS name, i.e.,
+       <STRONG>linux</STRONG>, <STRONG>bsdos</STRONG>, <STRONG>freebsd</STRONG>, <STRONG>netbsd</STRONG>.  It should <EM>not</EM> be <STRONG>console</STRONG> or  any  other
+       generic that might cause confusion in a multi-platform environment!  If
+       a model number follows, it should indicate either the OS release  level
+       or the console driver release level.
 
-       The  root  name  for a terminal emulator (assuming it does
-       not fit one of the standard ANSI or vt100 types) should be
-       the program name or a readily recognizable abbreviation of
-       it (i.e., <STRONG>versaterm</STRONG>, <STRONG>ctrm</STRONG>).
+       The  root name for a terminal emulator (assuming it does not fit one of
+       the standard ANSI or vt100 types) should  be  the  program  name  or  a
+       readily recognizable abbreviation of it (i.e., <STRONG>versaterm</STRONG>, <STRONG>ctrm</STRONG>).
 
-       Following the root name, you may add any reasonable number
-       of hyphen-separated feature suffixes.
+       Following  the  root name, you may add any reasonable number of hyphen-
+       separated feature suffixes.
 
        2p   Has two pages of memory.  Likewise 4p, 8p, etc.
 
-       mc   Magic-cookie.   Some  terminals (notably older Wyses)
-            can only support one attribute  without  magic-cookie
-            lossage.   Their  base  entry  is usually paired with
-            another that has this suffix and uses  magic  cookies
-            to support multiple attributes.
+       mc   Magic-cookie.  Some  terminals  (notably  older  Wyses)  can  only
+            support  one  attribute  without magic-cookie lossage.  Their base
+            entry is usually paired with another that has this suffix and uses
+            magic cookies to support multiple attributes.
 
        -am  Enable auto-margin (right-margin wraparound).
 
        -m   Mono mode - suppress color support.
 
-       -na  No  arrow keys - termcap ignores arrow keys which are
-            actually there on the terminal, so the user  can  use
-            the arrow keys locally.
+       -na  No  arrow  keys  -  termcap  ignores arrow keys which are actually
+            there on the terminal, so the user can use the arrow keys locally.
 
        -nam No auto-margin - suppress am capability.
 
@@ -196,58 +178,52 @@
 
        -vb  Use visible bell (flash) rather than beep.
 
-       -w   Wide; terminal is in 132 column mode.
+       -w   Wide; terminal is in 132-column mode.
 
-       Conventionally,   if  your  terminal  type  is  a  variant
-       intended to specify a line height, that suffix  should  go
-       first.  So, for a hypothetical FuBarCo model 2317 terminal
-       in 30-line mode with reverse video,  best  form  would  be
-       <STRONG>fubar-30-rv</STRONG> (rather than, say, `fubar-rv-30').
+       Conventionally, if your terminal type is a variant intended to  specify
+       a  line  height,  that  suffix should go first.  So, for a hypothetical
+       FuBarCo model 2317 terminal in 30-line mode with  reverse  video,  best
+       form would be <STRONG>fubar-30-rv</STRONG> (rather than, say, "fubar-rv-30").
 
-       Terminal types that are written not as standalone entries,
-       but rather as components to be plugged into other  entries
-       via  <STRONG>use</STRONG> capabilities, are distinguished by using embedded
-       plus signs rather than dashes.
+       Terminal  types  that are written not as standalone entries, but rather
+       as components to be plugged into other entries  via  <STRONG>use</STRONG>  capabilities,
+       are distinguished by using embedded plus signs rather than dashes.
 
-       Commands which use a  terminal  type  to  control  display
-       often  accept  a  -T  option  that accepts a terminal name
-       argument.  Such programs should  fall  back  on  the  <STRONG>TERM</STRONG>
-       environment variable when no -T option is specified.
+       Commands which use a terminal type to control display often accept a -T
+       option that accepts a terminal name  argument.   Such  programs  should
+       fall  back  on  the  <EM>TERM</EM>  environment  variable  when  no -T option is
+       specified.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       For  maximum  compatibility  with  older  System V UNIXes,
-       names and aliases should be unique  within  the  first  14
-       characters.
+</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
+       <EM>/usr/share/terminfo</EM>
+              compiled terminal description database
+
+       <EM>/etc/inittab</EM>
+              tty line initialization (AT&amp;T-like Unices)
+
+       <EM>/etc/ttys</EM>
+              tty line initialization (BSD-like Unices)
 
 
-</PRE>
-<H2><a name="h2-FILES">FILES</a></H2><PRE>
-       /usr/share/terminfo/?/*
-            compiled terminal capability data base
-
-       /etc/inittab
-            tty line initialization (AT&amp;T-like UNIXes)
-
-       /etc/ttys
-            tty line initialization (BSD-like UNIXes)
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       For maximum compatibility with older System V Unices, names and aliases
+       should be unique within the first 14 characters.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="term.5.html">term(5)</A></STRONG>.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="term.5.html">term(5)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
 
 
-                                                                <STRONG><A HREF="term.7.html">term(7)</A></STRONG>
+ncurses 6.5                       2024-03-16                           <STRONG><A HREF="term.7.html">term(7)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
 <li><a href="#h2-NAME">NAME</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
-<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-FILES">FILES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
diff --git a/doc/html/man/term_variables.3x.html b/doc/html/man/term_variables.3x.html
index 37b16da..99b6786 100644
--- a/doc/html/man/term_variables.3x.html
+++ b/doc/html/man/term_variables.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 2011-2013,2015 Free Software Foundation, Inc.              *
+  * Copyright 2019-2023,2024 Thomas E. Dickey                                *
+  * Copyright 2010-2015,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,166 +27,156 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: term_variables.3x,v 1.6 2015/04/22 00:34:49 tom Exp @
+  * @Id: term_variables.3x,v 1.36 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>term_variables 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>term_variables 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">term_variables 3x</H1>
+<H1 class="no-header">term_variables 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>                                   <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>
+<STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>               Library calls              <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>SP</STRONG>, <STRONG>acs_map</STRONG>, <STRONG>boolcodes</STRONG>, <STRONG>boolfnames</STRONG>, <STRONG>boolnames</STRONG>, <STRONG>cur_term</STRONG>,
-       <STRONG>numcodes</STRONG>, <STRONG>numfnames</STRONG>, <STRONG>numnames</STRONG>, <STRONG>strcodes</STRONG>, <STRONG>strfnames</STRONG>,
-       <STRONG>strnames</STRONG>, <STRONG>ttytype</STRONG> - <STRONG>curses</STRONG> terminfo global variables
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>SP</STRONG>,  <STRONG>acs_map</STRONG>,  <STRONG>boolcodes</STRONG>,  <STRONG>boolfnames</STRONG>,  <STRONG>boolnames</STRONG>,  <STRONG>cur_term</STRONG>, <STRONG>numcodes</STRONG>,
+       <STRONG>numfnames</STRONG>, <STRONG>numnames</STRONG>, <STRONG>strcodes</STRONG>, <STRONG>strfnames</STRONG>, <STRONG>strnames</STRONG>, <STRONG>ttytype</STRONG> -  <EM>terminfo</EM>
+       global variables
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
        <STRONG>#include</STRONG> <STRONG>&lt;term.h&gt;</STRONG>
 
        <STRONG>chtype</STRONG> <STRONG>acs_map[];</STRONG>
 
+       <STRONG>SCREEN</STRONG> <STRONG>*</STRONG> <STRONG>SP;</STRONG>
+
        <STRONG>TERMINAL</STRONG> <STRONG>*</STRONG> <STRONG>cur_term;</STRONG>
 
        <STRONG>char</STRONG> <STRONG>ttytype[];</STRONG>
 
-       <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>*</STRONG> <STRONG>boolcodes;</STRONG>
-       <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>*</STRONG> <STRONG>boolfnames;</STRONG>
-       <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>*</STRONG> <STRONG>boolnames;</STRONG>
+       <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>boolcodes[];</STRONG>
+       <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>boolfnames[];</STRONG>
+       <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>boolnames[];</STRONG>
 
-       <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>*</STRONG> <STRONG>numcodes;</STRONG>
-       <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>*</STRONG> <STRONG>numfnames;</STRONG>
-       <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>*</STRONG> <STRONG>numnames;</STRONG>
+       <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>numcodes[];</STRONG>
+       <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>numfnames[];</STRONG>
+       <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>numnames[];</STRONG>
 
-       <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>*</STRONG> <STRONG>strcodes;</STRONG>
-       <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>*</STRONG> <STRONG>strfnames;</STRONG>
-       <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>*</STRONG> <STRONG>strnames;</STRONG>
+       <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>strcodes[];</STRONG>
+       <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>strfnames[];</STRONG>
+       <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>strnames[];</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       This  page summarizes variables provided by the <STRONG>curses</STRONG> li-
-       brary's low-level terminfo interface.  A more complete de-
-       scription is given in the <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> manual page.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       This  page  summarizes  variables provided by the <STRONG>curses</STRONG> library's low-
+       level terminfo interface.  A more complete description is given in  the
+       <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> manual page.
 
-       Depending  on the configuration, these may be actual vari-
-       ables, or  macros  (see  <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>)  which  provide
-       read-only  access  to <EM>curses</EM>'s state.  In either case, ap-
-       plications should treat them as read-only to avoid confus-
-       ing the library.
+       Depending  on  the  configuration,  these  may  be actual variables, or
+       macros  (see  <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>)  which  provide  read-only  access   to
+       <EM>curses</EM>'s  state.   In  either  case,  applications should treat them as
+       read-only to avoid confusing the library.
 
 
-</PRE>
-<H3><a name="h3-Alternate-Character-Set-Mapping">Alternate Character Set Mapping</a></H3><PRE>
-       After  initializing the curses or terminfo interfaces, the
-       <STRONG>acs_map</STRONG> array holds information used  to  translate  cells
-       with  the  <STRONG>A_ALTCHARSET</STRONG>  video attribute into line-drawing
-       characters.
+</PRE><H3><a name="h3-Alternate-Character-Set-Mapping">Alternate Character Set Mapping</a></H3><PRE>
+       After initializing the curses or terminfo interfaces, the <STRONG>acs_map</STRONG> array
+       holds  information  used to translate cells with the <STRONG>A_ALTCHARSET</STRONG> video
+       attribute into line-drawing characters.
 
-       The encoding of the information in this array has  changed
-       periodically.   Application developers need only know that
-       it is used for the "ACS_" constants in &lt;curses.h&gt;.
+       The encoding of the information in this array has changed periodically.
+       Application  developers  need  only know that it is used for the "ACS_"
+       constants in &lt;curses.h&gt;.
 
-       The comparable data for the wide-character  library  is  a
-       private variable.
-
-
-</PRE>
-<H3><a name="h3-Current-Terminal-Data">Current Terminal Data</a></H3><PRE>
-       After  initializing the curses or terminfo interfaces, the
-       <STRONG>cur_term</STRONG> contains data describing  the  current  terminal.
-       This variable is also set as a side-effect of <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
-       and <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>.
-
-       It is possible to save a value of <STRONG>cur_term</STRONG> for  subsequent
-       use  as  a  parameter  to  <STRONG>set_term</STRONG>, for switching between
-       screens.  Alternatively, one can  save  the  return  value
-       from <STRONG>newterm</STRONG> or <STRONG>setupterm</STRONG> to reuse in <STRONG>set_term</STRONG>.
-
-
-</PRE>
-<H3><a name="h3-Terminfo-Names">Terminfo Names</a></H3><PRE>
-       The  <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>  and <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> programs use lookup tables for
-       the long and short names of terminfo capabilities, as well
-       as  the  corresponding  names  for  termcap  capabilities.
-       These are available to other  applications,  although  the
-       hash-tables used by the terminfo and termcap functions are
-       not available.
-
-       The long terminfo capability names  use  a  "l"  (ell)  in
-       their names: <STRONG>boolfnames</STRONG>, <STRONG>numfnames</STRONG>, and <STRONG>strfnames</STRONG>.
-
-       These are the short names for terminfo capabilities: <STRONG>bool-</STRONG>
-       <STRONG>names</STRONG>, <STRONG>numnames</STRONG>, and <STRONG>strnames</STRONG>.
-
-       These are the corresponding names  used  for  termcap  de-
-       scriptions: <STRONG>boolcodes</STRONG>, <STRONG>numcodes</STRONG>, and <STRONG>strcodes</STRONG>.
-
-
-</PRE>
-<H3><a name="h3-Terminal-Type">Terminal Type</a></H3><PRE>
-       On  initialization  of  the curses or terminfo interfaces,
-       <STRONG>setupterm</STRONG> copies the terminal name to the array <STRONG>ttytype</STRONG>.
-
-
-</PRE>
-<H3><a name="h3-Terminfo-Names">Terminfo Names</a></H3><PRE>
-       In addition to the variables, <STRONG>&lt;term.h&gt;</STRONG> also defines a sym-
-       bol  for each terminfo capability <EM>long</EM> <EM>name</EM>.  These are in
-       terms of the symbol <STRONG>CUR</STRONG>, which is defined
-
-       #define CUR cur_term-&gt;type.
-
-       These symbols provide a faster method of accessing termin-
-       fo capabilities than using <STRONG><A HREF="tigetstr.3x.html">tigetstr(3x)</A></STRONG>, etc.
-
-
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The  low-level  terminfo  interface  is  initialized using
-       <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>.  The upper-level curses interface uses  the
-       low-level terminfo interface, internally.
-
-
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       X/Open  Curses  does  not describe any of these except for
-       <STRONG>cur_term</STRONG>.  (The inclusion of <STRONG>cur_term</STRONG>  appears  to  be  an
-       oversight, since other comparable low-level information is
-       omitted by X/Open).
-
-       Other implementations may have comparable variables.  Some
-       implementations  provide the variables in their libraries,
-       but omit them from the header files.
-
-       All implementations which provide terminfo interfaces  add
-       definitions  as  described  in the <STRONG>Terminfo</STRONG> <STRONG>Names</STRONG> section.
-       Most, but not all, base the definition upon  the  <STRONG>cur_term</STRONG>
+       The comparable  data  for  the  wide-character  library  is  a  private
        variable.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,      <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>,      <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>,
-       <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+</PRE><H3><a name="h3-Current-Terminal-Data">Current Terminal Data</a></H3><PRE>
+       After  initializing  the  curses  or  terminfo interfaces, the <STRONG>cur_term</STRONG>
+       contains data describing the current terminal.  This variable  is  also
+       set as a side-effect of <STRONG><A HREF="curs_initscr.3x.html">set_term(3x)</A></STRONG> and <STRONG><A HREF="curs_initscr.3x.html">delscreen(3x)</A></STRONG>.
+
+       It  is  possible  to  save  a value of <STRONG>cur_term</STRONG> for subsequent use as a
+       parameter to <STRONG>set_term</STRONG>, for switching between  screens.   Alternatively,
+       one can save the return value from <STRONG>newterm</STRONG> or <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG> to reuse in
+       <STRONG>set_term</STRONG>.
+
+
+</PRE><H3><a name="h3-terminfo-Lookup-Tables"><EM>terminfo</EM> Lookup Tables</a></H3><PRE>
+       The <STRONG><A HREF="tic.1m.html">tic(1)</A></STRONG> and <STRONG><A HREF="infocmp.1m.html">infocmp(1)</A></STRONG> programs use lookup tables for the  long  and
+       short  names  of  terminfo  capabilities,  as well as the corresponding
+       names  for  termcap  capabilities.   These  are  available   to   other
+       applications, although the hash-tables used by the terminfo and termcap
+       functions are not available.
+
+       The long terminfo capability names use a  "f"  (eff)  in  their  names:
+       <STRONG>boolfnames</STRONG>, <STRONG>numfnames</STRONG>, and <STRONG>strfnames</STRONG>.
+
+       These  are  the  short  names  for  terminfo  capabilities:  <STRONG>boolnames</STRONG>,
+       <STRONG>numnames</STRONG>, and <STRONG>strnames</STRONG>.
+
+       These are  the  corresponding  names  used  for  termcap  descriptions:
+       <STRONG>boolcodes</STRONG>, <STRONG>numcodes</STRONG>, and <STRONG>strcodes</STRONG>.
+
+
+</PRE><H3><a name="h3-Terminal-Type">Terminal Type</a></H3><PRE>
+       A terminal description begins with one or more terminal names separated
+       by "|" (vertical bars).  On initialization of the  curses  or  terminfo
+       interfaces,  <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>  copies  the  terminal  names  to  the array
+       <STRONG>ttytype</STRONG>.
+
+
+</PRE><H3><a name="h3-terminfo-Names"><EM>terminfo</EM> Names</a></H3><PRE>
+       In addition to the variables, <STRONG>&lt;term.h&gt;</STRONG> also defines a symbol  for  each
+       terminfo  capability  <EM>long</EM> <EM>name</EM>.  These are in terms of the symbol <STRONG>CUR</STRONG>,
+       which is defined
+
+       #define CUR ((TERMTYPE *)(cur_term))-&gt;
+
+       These  symbols  provide  a  faster   method   of   accessing   terminfo
+       capabilities than using <STRONG><A HREF="curs_terminfo.3x.html">tigetstr(3x)</A></STRONG>, etc.
+
+       The  actual definition of <STRONG>CUR</STRONG> depends upon the implementation, but each
+       terminfo library provides these long names defined to  point  into  the
+       current terminal description loaded into memory.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       The  low-level  terminfo  interface is initialized using <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>.
+       The upper-level curses interface uses the low-level terminfo interface,
+       internally.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       X/Open Curses does not describe any of these except for <STRONG>cur_term</STRONG>.  (The
+       inclusion  of  <STRONG>cur_term</STRONG>  appears  to  be  an  oversight,  since   other
+       comparable low-level information is omitted by X/Open).
+
+       Other    implementations   may   have   comparable   variables.    Some
+       implementations provide the variables in their libraries, but omit them
+       from the header files.
+
+       All  implementations  which provide terminfo interfaces add definitions
+       as described in the <STRONG>Terminfo</STRONG> <STRONG>Names</STRONG> section.  Most, but  not  all,  base
+       the definition upon the <STRONG>cur_term</STRONG> variable.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
 
 
-                                                     <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -195,9 +186,9 @@
 <ul>
 <li><a href="#h3-Alternate-Character-Set-Mapping">Alternate Character Set Mapping</a></li>
 <li><a href="#h3-Current-Terminal-Data">Current Terminal Data</a></li>
-<li><a href="#h3-Terminfo-Names">Terminfo Names</a></li>
+<li><a href="#h3-terminfo-Lookup-Tables">terminfo Lookup Tables</a></li>
 <li><a href="#h3-Terminal-Type">Terminal Type</a></li>
-<li><a href="#h3-Terminfo-Names">Terminfo Names</a></li>
+<li><a href="#h3-terminfo-Names">terminfo Names</a></li>
 </ul>
 </li>
 <li><a href="#h2-NOTES">NOTES</a></li>
diff --git a/doc/html/man/terminfo.5.html b/doc/html/man/terminfo.5.html
index cf70f7f..6706114 100644
--- a/doc/html/man/terminfo.5.html
+++ b/doc/html/man/terminfo.5.html
@@ -1,11 +1,12 @@
-<!-- 
+<!--
   * t
   * DO NOT EDIT THIS FILE BY HAND!
-  * It is generated from terminfo.head, Caps, and terminfo.tail.
+  * It is generated from terminfo.head,  ./../include/Caps ./../include/Caps-ncurses, and terminfo.tail.
   * Note: this must be run through tbl before nroff.
   * The magic cookie on the first line triggers this under some man programs.
   ****************************************************************************
-  * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2016,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -31,1049 +32,948 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: terminfo.head,v 1.21 2013/03/09 22:11:36 tom Exp @
-  * Head of terminfo man page ends here
-  * @Id: terminfo.tail,v 1.69 2015/04/26 14:47:23 tom Exp @
-  * Beginning of terminfo.tail file
-  * This file is part of ncurses.
-  * See "terminfo.head" for copyright.
-  *.in -2
-  *.in +2
-  *.in -2
-  *.in +2
-  *.TH
+  * @Id: terminfo.head,v 1.65 2024/04/20 21:14:00 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>terminfo 5   File Formats</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>terminfo 5 2024-04-20 ncurses 6.5 File formats</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">terminfo 5   File Formats</H1>
+<H1 class="no-header">terminfo 5 2024-04-20 ncurses 6.5 File formats</H1>
 <PRE>
-<STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>                   File Formats                  <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+<STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>                      File formats                      <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       terminfo - terminal capability data base
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>terminfo</STRONG> - terminal capability database
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        /usr/share/terminfo/*/*
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       <EM>Terminfo</EM>  is  a  data  base  describing terminals, used by
-       screen-oriented programs  such  as  <STRONG>nvi(1)</STRONG>,  <STRONG>rogue(1)</STRONG>  and
-       libraries  such  as <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.  <EM>Terminfo</EM> describes termi-
-       nals by giving a set of capabilities which they  have,  by
-       specifying how to perform screen operations, and by speci-
-       fying padding requirements and  initialization  sequences.
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20150808).
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       <EM>Terminfo</EM>  is  a  database describing terminals, used by screen-oriented
+       programs  such  as  <STRONG>nvi(1)</STRONG>,  <STRONG>lynx(1)</STRONG>,   <STRONG>mutt(1)</STRONG>,   and   other   curses
+       applications,  using  high-level calls to libraries such as <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.
+       It is also used via low-level calls by  non-curses  applications  which
+       may  be  screen-oriented  (such  as  <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>)  or  non-screen (such as
+       <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>).
 
-       Entries in <EM>terminfo</EM> consist of a sequence of `,' separated
-       fields (embedded commas may be escaped with a backslash or
-       notated  as \054).  White space after the `,' separator is
-       ignored.  The first entry  for  each  terminal  gives  the
-       names  which  are known for the terminal, separated by `|'
-       characters.  The first  name  given  is  the  most  common
-       abbreviation  for the terminal, the last name given should
-       be a long name fully identifying  the  terminal,  and  all
-       others  are  understood as synonyms for the terminal name.
-       All names but the last should be in lower case and contain
-       no  blanks;  the last name may well contain upper case and
-       blanks for readability.
+       <EM>Terminfo</EM> describes terminals by giving a set of capabilities which they
+       have, by specifying how to perform screen operations, and by specifying
+       padding requirements and initialization sequences.
 
-       Lines beginning with a `#' in the first column are treated
-       as  comments.  While comment lines are legal at any point,
-       the output of <STRONG>captoinfo</STRONG> and <STRONG>infotocap</STRONG>  (aliases  for  <STRONG>tic</STRONG>)
-       will move comments so they occur only between entries.
+       This document describes <EM>ncurses</EM> version 6.5 (patch 20240427).
 
-       Newlines  and  leading  tabs  may  be  used for formatting
-       entries for readability.  These are  removed  from  parsed
-       entries.   The  <STRONG>infocmp</STRONG> <STRONG>-f</STRONG> option relies on this to format
-       if-then-else expressions: the result can be read by <STRONG>tic</STRONG>.
 
-       Terminal names (except for the last, verbose entry) should
-       be chosen using the following conventions.  The particular
-       piece of hardware making up the  terminal  should  have  a
-       root  name,  thus  "hp2621".  This name should not contain
-       hyphens.  Modes that the hardware can be in, or user pref-
-       erences,  should  be indicated by appending a hyphen and a
-       mode suffix.  Thus, a vt100 in 132 column  mode  would  be
-       vt100-w.  The following suffixes should be used where pos-
-       sible:
+</PRE><H3><a name="h3-terminfo-Entry-Syntax"><EM>terminfo</EM> Entry Syntax</a></H3><PRE>
+       Entries in <EM>terminfo</EM> consist of a sequence of fields:
 
-      <STRONG>Suffix</STRONG>                  <STRONG>Meaning</STRONG>                   <STRONG>Example</STRONG>
-      -<EM>nn</EM>      Number of lines on the screen            aaa-60
-      -<EM>n</EM>p      Number of pages of memory                c100-4p
-      -am      With automargins (usually the default)   vt100-am
-      -m       Mono mode; suppress color                ansi-m
-      -mc      Magic cookie; spaces when highlighting   wy30-mc
-      -na      No arrow keys (leave them in local)      c100-na
-      -nam     Without automatic margins                vt100-nam
-      -nl      No status line                           att4415-nl
-      -ns      No status line                           hp2626-ns
-      -rv      Reverse video                            c100-rv
-      -s       Enable status line                       vt100-s
-      -vb      Use visible bell instead of beep         wy370-vb
+       <STRONG>o</STRONG>   Each field ends with a comma "," (embedded commas  may  be  escaped
+           with a backslash or written as "\054").
 
-      -w       Wide mode (&gt; 80 columns, usually 132)    vt100-w
+       <STRONG>o</STRONG>   White space between fields is ignored.
 
-       For more on terminal naming conventions, see  the  <STRONG>term(7)</STRONG>
-       manual page.
+       <STRONG>o</STRONG>   The first field in a <EM>terminfo</EM> entry begins in the first column.
 
+       <STRONG>o</STRONG>   Newlines  and  leading  whitespace (spaces or tabs) may be used for
+           formatting entries for readability.  These are removed from  parsed
+           entries.
 
-</PRE>
-<H3><a name="h3-Predefined-Capabilities">Predefined Capabilities</a></H3><PRE>
-       The  following  is  a  complete  table of the capabilities
-       included in a terminfo description block and available  to
-       terminfo-using code.  In each line of the table,
+           The  <STRONG>infocmp</STRONG>  <STRONG>-f</STRONG> and <STRONG>-W</STRONG> options rely on this to format if-then-else
+           expressions, or  to  enforce  maximum  line-width.   The  resulting
+           formatted terminal description can be read by <STRONG>tic</STRONG>.
 
-       The  <STRONG>variable</STRONG>  is the name by which the programmer (at the
-       terminfo level) accesses the capability.
+       <STRONG>o</STRONG>   The  first  field for each terminal gives the names which are known
+           for the terminal, separated by "|" characters.
 
-       The <STRONG>capname</STRONG> is the short name used  in  the  text  of  the
-       database,  and  is used by a person updating the database.
-       Whenever possible, capnames are chosen to be the  same  as
-       or similar to the ANSI X3.64-1979 standard (now superseded
-       by ECMA-48, which uses identical or very  similar  names).
-       Semantics are also intended to match those of the specifi-
-       cation.
+           The first name given  is  the  most  common  abbreviation  for  the
+           terminal  (its  primary name), the last name given should be a long
+           name fully identifying the terminal  (see  <STRONG><A HREF="curs_termattrs.3x.html">longname(3x)</A></STRONG>),  and  all
+           others  are  treated as synonyms (aliases) for the primary terminal
+           name.
 
-       The termcap code is the old <STRONG>termcap</STRONG> capability name  (some
-       capabilities are new, and have names which termcap did not
-       originate).
+           X/Open Curses advises that all names but  the  last  should  be  in
+           lower  case  and  contain no blanks; the last name may well contain
+           upper case and blanks for readability.
 
-       Capability names have no hard length limit, but an  infor-
-       mal  limit  of  5 characters has been adopted to keep them
-       short and to allow the tabs in the  source  file  <STRONG>Caps</STRONG>  to
-       line up nicely.
+           This implementation is not so strict; it allows mixed case  in  the
+           primary name and aliases.  If the last name has no embedded blanks,
+           it allows that to be both an alias and a  verbose  name  (but  will
+           warn about this ambiguity).
 
-       Finally,  the  description  field  attempts  to convey the
-       semantics of the capability.  You may find some  codes  in
-       the description field:
+       <STRONG>o</STRONG>   Lines  beginning  with  a  "#"  in  the first column are treated as
+           comments.
 
-       (P)    indicates that padding may be specified
+           While comment lines are valid at any point, the output of <STRONG>captoinfo</STRONG>
+           and  <STRONG>infotocap</STRONG>  (aliases  for <STRONG>tic</STRONG>) will move comments so they occur
+           only between entries.
 
-       #[1-9] in  the description field indicates that the string
-              is passed through tparm with parms as given (#<EM>i</EM>).
+       Terminal names (except for the last, verbose entry)  should  be  chosen
+       using  the  following  conventions.   The  particular piece of hardware
+       making up the terminal should have a root name,  thus  "hp2621".   This
+       name should not contain hyphens.  Modes that the hardware can be in, or
+       user preferences, should be indicated by appending a hyphen and a  mode
+       suffix.   Thus,  a  vt100  in  132-column  mode  would be vt100-w.  The
+       following suffixes should be used where possible:
 
-       (P*)   indicates that padding may vary  in  proportion  to
-              the number of lines affected
+       <STRONG>Suffix</STRONG>   <STRONG>Example</STRONG>     <STRONG>Meaning</STRONG>
+       ------------------------------------------------------------------------
+       -<EM>nn</EM>      aaa-60      Number of lines on the screen
+       -<EM>n</EM>p      c100-4p     Number of pages of memory
+       -am      vt100-am    With automargins (usually the default)
+       -m       ansi-m      Mono mode; suppress color
+       -mc      wy30-mc     Magic cookie; spaces when highlighting
+       -na      c100-na     No arrow keys (leave them in local)
+       -nam     vt100-nam   Without automatic margins
+       -nl      hp2621-nl   No status line
+       -ns      hp2626-ns   No status line
+       -rv      c100-rv     Reverse video
+       -s       vt100-s     Enable status line
+       -vb      wy370-vb    Use visible bell instead of beep
+       -w       vt100-w     Wide mode (&gt; 80 columns, usually 132)
 
-       (#<EM>i</EM>)   indicates the <EM>i</EM>th parameter.
+       For more on terminal naming conventions, see the <STRONG><A HREF="term.7.html">term(7)</A></STRONG> manual page.
 
 
-       These are the boolean capabilities:
+</PRE><H3><a name="h3-terminfo-Capabilities-Syntax"><EM>terminfo</EM> Capabilities Syntax</a></H3><PRE>
+       The terminfo entry consists of  several  <EM>capabilities</EM>,  i.e.,  features
+       that  the  terminal  has,  or  methods  for  exercising  the terminal's
+       features.
 
+       After the first field (giving the name(s) of the terminal entry), there
+       should be one or more <EM>capability</EM> fields.  These are Boolean, numeric or
+       string names with corresponding values:
 
-               <STRONG>Variable</STRONG>          <STRONG>Cap-</STRONG>   <STRONG>TCap</STRONG>     <STRONG>Description</STRONG>
-               <STRONG>Booleans</STRONG>          <STRONG>name</STRONG>   <STRONG>Code</STRONG>
-       auto_left_margin          bw     bw   cub1 wraps from col-
-                                             umn 0 to last column
-       auto_right_margin         am     am   terminal has auto-
-                                             matic margins
-       back_color_erase          bce    ut   screen erased with
-                                             background color
-       can_change                ccc    cc   terminal can re-
-                                             define existing col-
-                                             ors
-       ceol_standout_glitch      xhp    xs   standout not erased
-                                             by overwriting (hp)
-       col_addr_glitch           xhpa   YA   only positive motion
-                                             for hpa/mhpa caps
+       <STRONG>o</STRONG>   Boolean capabilities are true  when  present,  false  when  absent.
+           There is no explicit value for Boolean capabilities.
 
+       <STRONG>o</STRONG>   Numeric  capabilities  have  a  "#"  following  the  name,  then an
+           unsigned decimal integer value.
 
+       <STRONG>o</STRONG>   String capabilities have a "=" following the name, then  an  string
+           of characters making up the capability value.
 
-       cpi_changes_res           cpix   YF   changing character
-                                             pitch changes reso-
-                                             lution
-       cr_cancels_micro_mode     crxm   YB   using cr turns off
-                                             micro mode
-       dest_tabs_magic_smso      xt     xt   tabs destructive,
-                                             magic so char
-                                             (t1061)
-       eat_newline_glitch        xenl   xn   newline ignored
-                                             after 80 cols (con-
-                                             cept)
-       erase_overstrike          eo     eo   can erase over-
-                                             strikes with a blank
-       generic_type              gn     gn   generic line type
-       hard_copy                 hc     hc   hardcopy terminal
-       hard_cursor               chts   HC   cursor is hard to
-                                             see
-       has_meta_key              km     km   Has a meta key
-                                             (i.e., sets 8th-bit)
-       has_print_wheel           daisy  YC   printer needs opera-
-                                             tor to change char-
-                                             acter set
-       has_status_line           hs     hs   has extra status
-                                             line
-       hue_lightness_saturation  hls    hl   terminal uses only
-                                             HLS color notation
-                                             (Tektronix)
-       insert_null_glitch        in     in   insert mode distin-
-                                             guishes nulls
-       lpi_changes_res           lpix   YG   changing line pitch
-                                             changes resolution
-       memory_above              da     da   display may be
-                                             retained above the
-                                             screen
-       memory_below              db     db   display may be
-                                             retained below the
-                                             screen
-       move_insert_mode          mir    mi   safe to move while
-                                             in insert mode
-       move_standout_mode        msgr   ms   safe to move while
-                                             in standout mode
-       needs_xon_xoff            nxon   nx   padding will not
-                                             work, xon/xoff
-                                             required
-       no_esc_ctlc               xsb    xb   beehive (f1=escape,
-                                             f2=ctrl C)
-       no_pad_char               npc    NP   pad character does
-                                             not exist
-       non_dest_scroll_region    ndscr  ND   scrolling region is
-                                             non-destructive
-       non_rev_rmcup             nrrmc  NR   smcup does not
-                                             reverse rmcup
-       over_strike               os     os   terminal can over-
-                                             strike
-       prtr_silent               mc5i   5i   printer will not
-                                             echo on screen
-       row_addr_glitch           xvpa   YD   only positive motion
-                                             for vpa/mvpa caps
-       semi_auto_right_margin    sam    YE   printing in last
-                                             column causes cr
-       status_line_esc_ok        eslok  es   escape can be used
-                                             on the status line
-       tilde_glitch              hz     hz   cannot print ~'s
-                                             (Hazeltine)
+           String  capabilities  can be split into multiple lines, just as the
+           fields comprising a terminal  entry  can  be  split  into  multiple
+           lines.   While  blanks  between fields are ignored, blanks embedded
+           within a string value are retained, except for leading blanks on  a
+           line.
 
+       Any  capability  can  be  <EM>canceled</EM>,  i.e., suppressed from the terminal
+       entry, by following its name with "@" rather than a capability value.
 
-       transparent_underline     ul     ul   underline character
-                                             overstrikes
-       xon_xoff                  xon    xo   terminal uses
-                                             xon/xoff handshaking
 
-       These are the numeric capabilities:
+</PRE><H3><a name="h3-Similar-Terminals">Similar Terminals</a></H3><PRE>
+       If there are two very similar  terminals,  one  (the  variant)  can  be
+       defined   as  being  just  like  the  other  (the  base)  with  certain
+       exceptions.  In the definition of the variant,  the  string  capability
+       <STRONG>use</STRONG> can be given with the name of the base terminal:
 
+       <STRONG>o</STRONG>   The  capabilities  given before <STRONG>use</STRONG> override those in the base type
+           named by <STRONG>use</STRONG>.
 
-               <STRONG>Variable</STRONG>          <STRONG>Cap-</STRONG>   <STRONG>TCap</STRONG>     <STRONG>Description</STRONG>
-                <STRONG>Numeric</STRONG>          <STRONG>name</STRONG>   <STRONG>Code</STRONG>
-       columns                   cols   co   number of columns in
-                                             a line
-       init_tabs                 it     it   tabs initially every
-                                             # spaces
-       label_height              lh     lh   rows in each label
-       label_width               lw     lw   columns in each
-                                             label
-       lines                     lines  li   number of lines on
-                                             screen or page
-       lines_of_memory           lm     lm   lines of memory if &gt;
-                                             line. 0 means varies
-       magic_cookie_glitch       xmc    sg   number of blank
-                                             characters left by
-                                             smso or rmso
-       max_attributes            ma     ma   maximum combined
-                                             attributes terminal
-                                             can handle
-       max_colors                colors Co   maximum number of
-                                             colors on screen
-       max_pairs                 pairs  pa   maximum number of
-                                             color-pairs on the
-                                             screen
-       maximum_windows           wnum   MW   maximum number of
-                                             definable windows
-       no_color_video            ncv    NC   video attributes
-                                             that cannot be used
-                                             with colors
-       num_labels                nlab   Nl   number of labels on
-                                             screen
-       padding_baud_rate         pb     pb   lowest baud rate
-                                             where padding needed
-       virtual_terminal          vt     vt   virtual terminal
-                                             number (CB/unix)
-       width_status_line         wsl    ws   number of columns in
-                                             status line
+       <STRONG>o</STRONG>   If there are multiple <STRONG>use</STRONG> capabilities, they are merged in  reverse
+           order.   That  is,  the rightmost <STRONG>use</STRONG> reference is processed first,
+           then the one to its left, and so forth.
 
-       The following numeric  capabilities  are  present  in  the
-       SVr4.0  term  structure, but are not yet documented in the
-       man page.  They came in with SVr4's printer support.
+       <STRONG>o</STRONG>   Capabilities given explicitly in the entry override  those  brought
+           in by <STRONG>use</STRONG> references.
 
+       A  capability  can  be  canceled  by placing <STRONG>xx@</STRONG> to the left of the use
+       reference that imports it, where <EM>xx</EM> is the  capability.   For  example,
+       the entry
 
-               <STRONG>Variable</STRONG>          <STRONG>Cap-</STRONG>   <STRONG>TCap</STRONG>     <STRONG>Description</STRONG>
-                <STRONG>Numeric</STRONG>          <STRONG>name</STRONG>   <STRONG>Code</STRONG>
-       bit_image_entwining       bitwin Yo   number of passes for
-                                             each bit-image row
-       bit_image_type            bitype Yp   type of bit-image
-                                             device
-       buffer_capacity           bufsz  Ya   numbers of bytes
-                                             buffered before
-                                             printing
-       buttons                   btns   BT   number of buttons on
-                                             mouse
-       dot_horz_spacing          spinh  Yc   spacing of dots hor-
-                                             izontally in dots
-                                             per inch
+              2621-nl, smkx@, rmkx@, use=2621,
 
-       dot_vert_spacing          spinv  Yb   spacing of pins ver-
-                                             tically in pins per
-                                             inch
-       max_micro_address         maddr  Yd   maximum value in
-                                             micro_..._address
-       max_micro_jump            mjump  Ye   maximum value in
-                                             parm_..._micro
-       micro_col_size            mcs    Yf   character step size
-                                             when in micro mode
-       micro_line_size           mls    Yg   line step size when
-                                             in micro mode
-       number_of_pins            npins  Yh   numbers of pins in
-                                             print-head
-       output_res_char           orc    Yi   horizontal resolu-
-                                             tion in units per
-                                             line
-       output_res_horz_inch      orhi   Yk   horizontal resolu-
-                                             tion in units per
-                                             inch
-       output_res_line           orl    Yj   vertical resolution
-                                             in units per line
-       output_res_vert_inch      orvi   Yl   vertical resolution
-                                             in units per inch
-       print_rate                cps    Ym   print rate in char-
-                                             acters per second
-       wide_char_size            widcs  Yn   character step size
-                                             when in double wide
-                                             mode
+       defines a 2621-nl that does not have the <STRONG>smkx</STRONG> or <STRONG>rmkx</STRONG> capabilities, and
+       hence does not turn on the function key labels  when  in  visual  mode.
+       This  is  useful  for  different modes for a terminal, or for different
+       user preferences.
 
-       These are the string capabilities:
+       An entry included via <STRONG>use</STRONG> can contain canceled capabilities, which have
+       the  same  effect as if those cancels were inline in the using terminal
+       entry.
 
 
-               <STRONG>Variable</STRONG>          <STRONG>Cap-</STRONG>   <STRONG>TCap</STRONG>     <STRONG>Description</STRONG>
-                <STRONG>String</STRONG>           <STRONG>name</STRONG>   <STRONG>Code</STRONG>
-       acs_chars                 acsc   ac   graphics charset
-                                             pairs, based on
-                                             vt100
-       back_tab                  cbt    bt   back tab (P)
-       bell                      bel    bl   audible signal
-                                             (bell) (P)
-       carriage_return           cr     cr   carriage return (P*)
-                                             (P*)
-       change_char_pitch         cpi    ZA   Change number of
-                                             characters per inch
-                                             to #1
-       change_line_pitch         lpi    ZB   Change number of
-                                             lines per inch to #1
-       change_res_horz           chr    ZC   Change horizontal
-                                             resolution to #1
-       change_res_vert           cvr    ZD   Change vertical res-
-                                             olution to #1
-       change_scroll_region      csr    cs   change region to
-                                             line #1 to line #2
-                                             (P)
-       char_padding              rmp    rP   like ip but when in
-                                             insert mode
-       clear_all_tabs            tbc    ct   clear all tab stops
-                                             (P)
-       clear_margins             mgc    MC   clear right and left
-                                             soft margins
-       clear_screen              clear  cl   clear screen and
-                                             home cursor (P*)
-       clr_bol                   el1    cb   Clear to beginning
-                                             of line
+</PRE><H3><a name="h3-Predefined-Capabilities">Predefined Capabilities</a></H3><PRE>
+       Tables of capabilities <EM>ncurses</EM> recognizes in a <EM>terminfo</EM>  terminal  type
+       description and available to <EM>terminfo</EM>-using code follow.
 
+       <STRONG>o</STRONG>   The  capability  name identifies the symbol by which the programmer
+           using the <EM>terminfo</EM> API accesses the capability.
 
-       clr_eol                   el     ce   clear to end of line
-                                             (P)
-       clr_eos                   ed     cd   clear to end of
-                                             screen (P*)
-       column_address            hpa    ch   horizontal position
-                                             #1, absolute (P)
-       command_character         cmdch  CC   terminal settable
-                                             cmd character in
-                                             prototype !?
-       create_window             cwin   CW   define a window #1
-                                             from #2,#3 to #4,#5
-       cursor_address            cup    cm   move to row #1 col-
-                                             umns #2
-       cursor_down               cud1   do   down one line
-       cursor_home               home   ho   home cursor (if no
-                                             cup)
-       cursor_invisible          civis  vi   make cursor invisi-
-                                             ble
-       cursor_left               cub1   le   move left one space
-       cursor_mem_address        mrcup  CM   memory relative cur-
-                                             sor addressing, move
-                                             to row #1 columns #2
-       cursor_normal             cnorm  ve   make cursor appear
-                                             normal (undo
-                                             civis/cvvis)
-       cursor_right              cuf1   nd   non-destructive
-                                             space (move right
-                                             one space)
-       cursor_to_ll              ll     ll   last line, first
-                                             column (if no cup)
-       cursor_up                 cuu1   up   up one line
-       cursor_visible            cvvis  vs   make cursor very
-                                             visible
-       define_char               defc   ZE   Define a character
-                                             #1, #2 dots wide,
-                                             descender #3
-       delete_character          dch1   dc   delete character
-                                             (P*)
-       delete_line               dl1    dl   delete line (P*)
-       dial_phone                dial   DI   dial number #1
-       dis_status_line           dsl    ds   disable status line
-       display_clock             dclk   DK   display clock
-       down_half_line            hd     hd   half a line down
-       ena_acs                   enacs  eA   enable alternate
-                                             char set
-       enter_alt_charset_mode    smacs  as   start alternate
-                                             character set (P)
-       enter_am_mode             smam   SA   turn on automatic
-                                             margins
-       enter_blink_mode          blink  mb   turn on blinking
-       enter_bold_mode           bold   md   turn on bold (extra
-                                             bright) mode
-       enter_ca_mode             smcup  ti   string to start pro-
-                                             grams using cup
-       enter_delete_mode         smdc   dm   enter delete mode
-       enter_dim_mode            dim    mh   turn on half-bright
-                                             mode
-       enter_doublewide_mode     swidm  ZF   Enter double-wide
-                                             mode
-       enter_draft_quality       sdrfq  ZG   Enter draft-quality
-                                             mode
-       enter_insert_mode         smir   im   enter insert mode
-       enter_italics_mode        sitm   ZH   Enter italic mode
-       enter_leftward_mode       slm    ZI   Start leftward car-
-                                             riage motion
+       <STRONG>o</STRONG>   The TI (<EM>terminfo</EM>) code is the short name used by a person composing
+           or updating a terminal type entry.
 
-       enter_micro_mode          smicm  ZJ   Start micro-motion
-                                             mode
-       enter_near_letter_quality snlq   ZK   Enter NLQ mode
-       enter_normal_quality      snrmq  ZL   Enter normal-quality
-                                             mode
-       enter_protected_mode      prot   mp   turn on protected
-                                             mode
-       enter_reverse_mode        rev    mr   turn on reverse
-                                             video mode
-       enter_secure_mode         invis  mk   turn on blank mode
-                                             (characters invisi-
-                                             ble)
-       enter_shadow_mode         sshm   ZM   Enter shadow-print
-                                             mode
-       enter_standout_mode       smso   so   begin standout mode
-       enter_subscript_mode      ssubm  ZN   Enter subscript mode
-       enter_superscript_mode    ssupm  ZO   Enter superscript
-                                             mode
-       enter_underline_mode      smul   us   begin underline mode
-       enter_upward_mode         sum    ZP   Start upward car-
-                                             riage motion
-       enter_xon_mode            smxon  SX   turn on xon/xoff
-                                             handshaking
-       erase_chars               ech    ec   erase #1 characters
-                                             (P)
-       exit_alt_charset_mode     rmacs  ae   end alternate char-
-                                             acter set (P)
-       exit_am_mode              rmam   RA   turn off automatic
-                                             margins
-       exit_attribute_mode       sgr0   me   turn off all
-                                             attributes
-       exit_ca_mode              rmcup  te   strings to end pro-
-                                             grams using cup
-       exit_delete_mode          rmdc   ed   end delete mode
-       exit_doublewide_mode      rwidm  ZQ   End double-wide mode
-       exit_insert_mode          rmir   ei   exit insert mode
-       exit_italics_mode         ritm   ZR   End italic mode
-       exit_leftward_mode        rlm    ZS   End left-motion mode
-       exit_micro_mode           rmicm  ZT   End micro-motion
-                                             mode
-       exit_shadow_mode          rshm   ZU   End shadow-print
-                                             mode
-       exit_standout_mode        rmso   se   exit standout mode
-       exit_subscript_mode       rsubm  ZV   End subscript mode
-       exit_superscript_mode     rsupm  ZW   End superscript mode
-       exit_underline_mode       rmul   ue   exit underline mode
-       exit_upward_mode          rum    ZX   End reverse charac-
-                                             ter motion
-       exit_xon_mode             rmxon  RX   turn off xon/xoff
-                                             handshaking
-       fixed_pause               pause  PA   pause for 2-3 sec-
-                                             onds
-       flash_hook                hook   fh   flash switch hook
-       flash_screen              flash  vb   visible bell (may
-                                             not move cursor)
-       form_feed                 ff     ff   hardcopy terminal
-                                             page eject (P*)
-       from_status_line          fsl    fs   return from status
-                                             line
-       goto_window               wingo  WG   go to window #1
-       hangup                    hup    HU   hang-up phone
-       init_1string              is1    i1   initialization
-                                             string
-       init_2string              is2    is   initialization
-                                             string
+           Whenever  possible, these codes are the same as or similar to those
+           of the ANSI X3.64-1979 standard (now superseded by  ECMA-48,  which
+           uses identical or very similar names).  Semantics are also intended
+           to match those of the specification.
 
-       init_3string              is3    i3   initialization
-                                             string
-       init_file                 if     if   name of initializa-
-                                             tion file
-       init_prog                 iprog  iP   path name of program
-                                             for initialization
-       initialize_color          initc  Ic   initialize color #1
-                                             to (#2,#3,#4)
-       initialize_pair           initp  Ip   Initialize color
-                                             pair #1 to
-                                             fg=(#2,#3,#4),
-                                             bg=(#5,#6,#7)
-       insert_character          ich1   ic   insert character (P)
-       insert_line               il1    al   insert line (P*)
-       insert_padding            ip     ip   insert padding after
-                                             inserted character
-       key_a1                    ka1    K1   upper left of keypad
-       key_a3                    ka3    K3   upper right of key-
-                                             pad
-       key_b2                    kb2    K2   center of keypad
-       key_backspace             kbs    kb   backspace key
-       key_beg                   kbeg   @1   begin key
-       key_btab                  kcbt   kB   back-tab key
-       key_c1                    kc1    K4   lower left of keypad
-       key_c3                    kc3    K5   lower right of key-
-                                             pad
-       key_cancel                kcan   @2   cancel key
-       key_catab                 ktbc   ka   clear-all-tabs key
-       key_clear                 kclr   kC   clear-screen or
-                                             erase key
-       key_close                 kclo   @3   close key
-       key_command               kcmd   @4   command key
-       key_copy                  kcpy   @5   copy key
-       key_create                kcrt   @6   create key
-       key_ctab                  kctab  kt   clear-tab key
-       key_dc                    kdch1  kD   delete-character key
-       key_dl                    kdl1   kL   delete-line key
-       key_down                  kcud1  kd   down-arrow key
-       key_eic                   krmir  kM   sent by rmir or smir
-                                             in insert mode
-       key_end                   kend   @7   end key
-       key_enter                 kent   @8   enter/send key
-       key_eol                   kel    kE   clear-to-end-of-line
-                                             key
-       key_eos                   ked    kS   clear-to-end-of-
-                                             screen key
-       key_exit                  kext   @9   exit key
-       key_f0                    kf0    k0   F0 function key
-       key_f1                    kf1    k1   F1 function key
-       key_f10                   kf10   k;   F10 function key
-       key_f11                   kf11   F1   F11 function key
-       key_f12                   kf12   F2   F12 function key
-       key_f13                   kf13   F3   F13 function key
-       key_f14                   kf14   F4   F14 function key
-       key_f15                   kf15   F5   F15 function key
-       key_f16                   kf16   F6   F16 function key
-       key_f17                   kf17   F7   F17 function key
-       key_f18                   kf18   F8   F18 function key
-       key_f19                   kf19   F9   F19 function key
-       key_f2                    kf2    k2   F2 function key
-       key_f20                   kf20   FA   F20 function key
-       key_f21                   kf21   FB   F21 function key
-       key_f22                   kf22   FC   F22 function key
-       key_f23                   kf23   FD   F23 function key
-       key_f24                   kf24   FE   F24 function key
+           <EM>terminfo</EM> codes have no hard length limit, but <EM>ncurses</EM> maintains  an
+           informal  one  of  5 characters to keep them short and to allow the
+           tabs in the source file <EM>Caps</EM> to line  up  nicely.   (Some  standard
+           codes exceed this limit regardless.)
 
-       key_f25                   kf25   FF   F25 function key
-       key_f26                   kf26   FG   F26 function key
-       key_f27                   kf27   FH   F27 function key
-       key_f28                   kf28   FI   F28 function key
-       key_f29                   kf29   FJ   F29 function key
-       key_f3                    kf3    k3   F3 function key
-       key_f30                   kf30   FK   F30 function key
-       key_f31                   kf31   FL   F31 function key
-       key_f32                   kf32   FM   F32 function key
-       key_f33                   kf33   FN   F33 function key
-       key_f34                   kf34   FO   F34 function key
-       key_f35                   kf35   FP   F35 function key
-       key_f36                   kf36   FQ   F36 function key
-       key_f37                   kf37   FR   F37 function key
-       key_f38                   kf38   FS   F38 function key
-       key_f39                   kf39   FT   F39 function key
-       key_f4                    kf4    k4   F4 function key
-       key_f40                   kf40   FU   F40 function key
-       key_f41                   kf41   FV   F41 function key
-       key_f42                   kf42   FW   F42 function key
-       key_f43                   kf43   FX   F43 function key
-       key_f44                   kf44   FY   F44 function key
-       key_f45                   kf45   FZ   F45 function key
-       key_f46                   kf46   Fa   F46 function key
-       key_f47                   kf47   Fb   F47 function key
-       key_f48                   kf48   Fc   F48 function key
-       key_f49                   kf49   Fd   F49 function key
-       key_f5                    kf5    k5   F5 function key
-       key_f50                   kf50   Fe   F50 function key
-       key_f51                   kf51   Ff   F51 function key
-       key_f52                   kf52   Fg   F52 function key
-       key_f53                   kf53   Fh   F53 function key
-       key_f54                   kf54   Fi   F54 function key
-       key_f55                   kf55   Fj   F55 function key
-       key_f56                   kf56   Fk   F56 function key
-       key_f57                   kf57   Fl   F57 function key
-       key_f58                   kf58   Fm   F58 function key
-       key_f59                   kf59   Fn   F59 function key
-       key_f6                    kf6    k6   F6 function key
-       key_f60                   kf60   Fo   F60 function key
-       key_f61                   kf61   Fp   F61 function key
-       key_f62                   kf62   Fq   F62 function key
-       key_f63                   kf63   Fr   F63 function key
-       key_f7                    kf7    k7   F7 function key
-       key_f8                    kf8    k8   F8 function key
-       key_f9                    kf9    k9   F9 function key
-       key_find                  kfnd   @0   find key
-       key_help                  khlp   %1   help key
-       key_home                  khome  kh   home key
-       key_ic                    kich1  kI   insert-character key
-       key_il                    kil1   kA   insert-line key
-       key_left                  kcub1  kl   left-arrow key
-       key_ll                    kll    kH   lower-left key (home
-                                             down)
-       key_mark                  kmrk   %2   mark key
-       key_message               kmsg   %3   message key
-       key_move                  kmov   %4   move key
-       key_next                  knxt   %5   next key
-       key_npage                 knp    kN   next-page key
-       key_open                  kopn   %6   open key
-       key_options               kopt   %7   options key
-       key_ppage                 kpp    kP   previous-page key
-       key_previous              kprv   %8   previous key
-       key_print                 kprt   %9   print key
-       key_redo                  krdo   %0   redo key
+       <STRONG>o</STRONG>   The  TC  (<EM>termcap</EM>)  code  is  that used by the corresponding API of
+           <EM>ncurses</EM>.  (Some capabilities are  new,  and  have  names  that  BSD
+           <EM>termcap</EM> did not originate.)
+
+       <STRONG>o</STRONG>   The   description   field   attempts  to  convey  the  capability's
+           semantics.
+
+       The description field employs a handful of notations.
+
+       <STRONG>(P)</STRONG>    indicates that padding may be specified.
+
+       <STRONG>(P*)</STRONG>   indicates that padding may vary in proportion to the  number  of
+              output lines affected.
+
+       <STRONG>#</STRONG><EM>i</EM>     indicates   the  <EM>i</EM>th  parameter  of  a  string  capability;  the
+              programmer  should  pass  the  string  to  <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG>  with   the
+              parameters listed.
+
+              If  the  description  lists no parameters, passing the string to
+              <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG> may produce unexpected behavior, for instance  if  the
+              string contains percent signs.
+
+                                      <STRONG>Code</STRONG>
+       <STRONG>Boolean</STRONG> <STRONG>Capability</STRONG> <STRONG>Name</STRONG>    <STRONG>TI</STRONG>        <STRONG>TC</STRONG>  <STRONG>Description</STRONG>
+       ------------------------------------------------------------------------
+
+
+       <STRONG>auto_left_margin</STRONG>           <STRONG>bw</STRONG>        <STRONG>bw</STRONG>  cub1 wraps from column 0 to
+                                                last column
+       <STRONG>auto_right_margin</STRONG>          <STRONG>am</STRONG>        <STRONG>am</STRONG>  terminal has automatic margins
+       <STRONG>no_esc_ctlc</STRONG>                <STRONG>xsb</STRONG>       <STRONG>xb</STRONG>  beehive (f1=escape, f2=ctrl C)
+       <STRONG>ceol_standout_glitch</STRONG>       <STRONG>xhp</STRONG>       <STRONG>xs</STRONG>  standout not erased by
+                                                overwriting (hp)
+       <STRONG>eat_newline_glitch</STRONG>         <STRONG>xenl</STRONG>      <STRONG>xn</STRONG>  newline ignored after 80 cols
+                                                (concept)
+       <STRONG>erase_overstrike</STRONG>           <STRONG>eo</STRONG>        <STRONG>eo</STRONG>  can erase overstrikes with a
+                                                blank
+       <STRONG>generic_type</STRONG>               <STRONG>gn</STRONG>        <STRONG>gn</STRONG>  generic line type
+       <STRONG>hard_copy</STRONG>                  <STRONG>hc</STRONG>        <STRONG>hc</STRONG>  hardcopy terminal
+       <STRONG>has_meta_key</STRONG>               <STRONG>km</STRONG>        <STRONG>km</STRONG>  Has a meta key (i.e., sets
+                                                8th-bit)
+       <STRONG>has_status_line</STRONG>            <STRONG>hs</STRONG>        <STRONG>hs</STRONG>  has extra status line
+       <STRONG>insert_null_glitch</STRONG>         <STRONG>in</STRONG>        <STRONG>in</STRONG>  insert mode distinguishes
+                                                nulls
+       <STRONG>memory_above</STRONG>               <STRONG>da</STRONG>        <STRONG>da</STRONG>  display may be retained above
+                                                the screen
+       <STRONG>memory_below</STRONG>               <STRONG>db</STRONG>        <STRONG>db</STRONG>  display may be retained below
+                                                the screen
+       <STRONG>move_insert_mode</STRONG>           <STRONG>mir</STRONG>       <STRONG>mi</STRONG>  safe to move while in insert
+                                                mode
+       <STRONG>move_standout_mode</STRONG>         <STRONG>msgr</STRONG>      <STRONG>ms</STRONG>  safe to move while in standout
+                                                mode
+       <STRONG>over_strike</STRONG>                <STRONG>os</STRONG>        <STRONG>os</STRONG>  terminal can overstrike
+       <STRONG>status_line_esc_ok</STRONG>         <STRONG>eslok</STRONG>     <STRONG>es</STRONG>  escape can be used on the
+                                                status line
+       <STRONG>dest_tabs_magic_smso</STRONG>       <STRONG>xt</STRONG>        <STRONG>xt</STRONG>  tabs destructive, magic so
+                                                char (t1061)
+       <STRONG>tilde_glitch</STRONG>               <STRONG>hz</STRONG>        <STRONG>hz</STRONG>  cannot print ~'s (Hazeltine)
+       <STRONG>transparent_underline</STRONG>      <STRONG>ul</STRONG>        <STRONG>ul</STRONG>  underline character
+                                                overstrikes
+       <STRONG>xon_xoff</STRONG>                   <STRONG>xon</STRONG>       <STRONG>xo</STRONG>  terminal uses xon/xoff
+                                                handshaking
+       <STRONG>needs_xon_xoff</STRONG>             <STRONG>nxon</STRONG>      <STRONG>nx</STRONG>  padding will not work,
+                                                xon/xoff required
+       <STRONG>prtr_silent</STRONG>                <STRONG>mc5i</STRONG>      <STRONG>5i</STRONG>  printer will not echo on
+                                                screen
+       <STRONG>hard_cursor</STRONG>                <STRONG>chts</STRONG>      <STRONG>HC</STRONG>  cursor is hard to see
+       <STRONG>non_rev_rmcup</STRONG>              <STRONG>nrrmc</STRONG>     <STRONG>NR</STRONG>  smcup does not reverse rmcup
+       <STRONG>no_pad_char</STRONG>                <STRONG>npc</STRONG>       <STRONG>NP</STRONG>  pad character does not exist
+       <STRONG>non_dest_scroll_region</STRONG>     <STRONG>ndscr</STRONG>     <STRONG>ND</STRONG>  scrolling region is non-
+                                                destructive
+       <STRONG>can_change</STRONG>                 <STRONG>ccc</STRONG>       <STRONG>cc</STRONG>  terminal can re-define
+                                                existing colors
+       <STRONG>back_color_erase</STRONG>           <STRONG>bce</STRONG>       <STRONG>ut</STRONG>  screen erased with background
+                                                color
+       <STRONG>hue_lightness_saturation</STRONG>   <STRONG>hls</STRONG>       <STRONG>hl</STRONG>  terminal uses only HLS color
+                                                notation (Tektronix)
+       <STRONG>col_addr_glitch</STRONG>            <STRONG>xhpa</STRONG>      <STRONG>YA</STRONG>  only positive motion for
+                                                hpa/mhpa caps
+       <STRONG>cr_cancels_micro_mode</STRONG>      <STRONG>crxm</STRONG>      <STRONG>YB</STRONG>  using cr turns off micro mode
+       <STRONG>has_print_wheel</STRONG>            <STRONG>daisy</STRONG>     <STRONG>YC</STRONG>  printer needs operator to
+                                                change character set
+       <STRONG>row_addr_glitch</STRONG>            <STRONG>xvpa</STRONG>      <STRONG>YD</STRONG>  only positive motion for
+                                                vpa/mvpa caps
+       <STRONG>semi_auto_right_margin</STRONG>     <STRONG>sam</STRONG>       <STRONG>YE</STRONG>  printing in last column causes
+                                                cr
+       <STRONG>cpi_changes_res</STRONG>            <STRONG>cpix</STRONG>      <STRONG>YF</STRONG>  changing character pitch
+                                                changes resolution
+       <STRONG>lpi_changes_res</STRONG>            <STRONG>lpix</STRONG>      <STRONG>YG</STRONG>  changing line pitch changes
+                                                resolution
+
+                                      <STRONG>Code</STRONG>
+
+       <STRONG>Numeric</STRONG> <STRONG>Capability</STRONG> <STRONG>Name</STRONG>    <STRONG>TI</STRONG>        <STRONG>TC</STRONG>  <STRONG>Description</STRONG>
+       ------------------------------------------------------------------------
+       <STRONG>columns</STRONG>                    <STRONG>cols</STRONG>      <STRONG>co</STRONG>  number of columns in a line
+       <STRONG>init_tabs</STRONG>                  <STRONG>it</STRONG>        <STRONG>it</STRONG>  tabs initially every # spaces
+       <STRONG>lines</STRONG>                      <STRONG>lines</STRONG>     <STRONG>li</STRONG>  number of lines on screen or
+                                                page
+       <STRONG>lines_of_memory</STRONG>            <STRONG>lm</STRONG>        <STRONG>lm</STRONG>  lines of memory if &gt; line. 0
+                                                means varies
+       <STRONG>magic_cookie_glitch</STRONG>        <STRONG>xmc</STRONG>       <STRONG>sg</STRONG>  number of blank characters
+                                                left by smso or rmso
+       <STRONG>padding_baud_rate</STRONG>          <STRONG>pb</STRONG>        <STRONG>pb</STRONG>  lowest baud rate where padding
+                                                needed
+       <STRONG>virtual_terminal</STRONG>           <STRONG>vt</STRONG>        <STRONG>vt</STRONG>  virtual terminal number
+                                                (CB/unix)
+       <STRONG>width_status_line</STRONG>          <STRONG>wsl</STRONG>       <STRONG>ws</STRONG>  number of columns in status
+                                                line
+       <STRONG>num_labels</STRONG>                 <STRONG>nlab</STRONG>      <STRONG>Nl</STRONG>  number of labels on screen
+       <STRONG>label_height</STRONG>               <STRONG>lh</STRONG>        <STRONG>lh</STRONG>  rows in each label
+       <STRONG>label_width</STRONG>                <STRONG>lw</STRONG>        <STRONG>lw</STRONG>  columns in each label
+       <STRONG>max_attributes</STRONG>             <STRONG>ma</STRONG>        <STRONG>ma</STRONG>  maximum combined attributes
+                                                terminal can handle
+       <STRONG>maximum_windows</STRONG>            <STRONG>wnum</STRONG>      <STRONG>MW</STRONG>  maximum number of definable
+                                                windows
+       <STRONG>max_colors</STRONG>                 <STRONG>colors</STRONG>    <STRONG>Co</STRONG>  maximum number of colors on
+                                                screen
+       <STRONG>max_pairs</STRONG>                  <STRONG>pairs</STRONG>     <STRONG>pa</STRONG>  maximum number of color-pairs
+                                                on the screen
+       <STRONG>no_color_video</STRONG>             <STRONG>ncv</STRONG>       <STRONG>NC</STRONG>  video attributes that cannot
+                                                be used with colors
+
+       The following numeric capabilities  are  present  in  the  SVr4.0  term
+       structure,  but  are  not yet documented in the man page.  They came in
+       with SVr4's printer support.
+
+                                      <STRONG>Code</STRONG>
+       <STRONG>Numeric</STRONG> <STRONG>Capability</STRONG> <STRONG>Name</STRONG>    <STRONG>TI</STRONG>        <STRONG>TC</STRONG>  <STRONG>Description</STRONG>
+       ------------------------------------------------------------------------
+       <STRONG>buffer_capacity</STRONG>            <STRONG>bufsz</STRONG>     <STRONG>Ya</STRONG>  numbers of bytes buffered
+                                                before printing
+       <STRONG>dot_vert_spacing</STRONG>           <STRONG>spinv</STRONG>     <STRONG>Yb</STRONG>  spacing of pins vertically in
+                                                pins per inch
+       <STRONG>dot_horz_spacing</STRONG>           <STRONG>spinh</STRONG>     <STRONG>Yc</STRONG>  spacing of dots horizontally
+                                                in dots per inch
+       <STRONG>max_micro_address</STRONG>          <STRONG>maddr</STRONG>     <STRONG>Yd</STRONG>  maximum value in
+                                                micro_..._address
+       <STRONG>max_micro_jump</STRONG>             <STRONG>mjump</STRONG>     <STRONG>Ye</STRONG>  maximum value in
+                                                parm_..._micro
+       <STRONG>micro_col_size</STRONG>             <STRONG>mcs</STRONG>       <STRONG>Yf</STRONG>  character step size when in
+                                                micro mode
+       <STRONG>micro_line_size</STRONG>            <STRONG>mls</STRONG>       <STRONG>Yg</STRONG>  line step size when in micro
+                                                mode
+       <STRONG>number_of_pins</STRONG>             <STRONG>npins</STRONG>     <STRONG>Yh</STRONG>  numbers of pins in print-head
+       <STRONG>output_res_char</STRONG>            <STRONG>orc</STRONG>       <STRONG>Yi</STRONG>  horizontal resolution in units
+                                                per line
+       <STRONG>output_res_line</STRONG>            <STRONG>orl</STRONG>       <STRONG>Yj</STRONG>  vertical resolution in units
+                                                per line
+       <STRONG>output_res_horz_inch</STRONG>       <STRONG>orhi</STRONG>      <STRONG>Yk</STRONG>  horizontal resolution in units
+                                                per inch
+       <STRONG>output_res_vert_inch</STRONG>       <STRONG>orvi</STRONG>      <STRONG>Yl</STRONG>  vertical resolution in units
+                                                per inch
+       <STRONG>print_rate</STRONG>                 <STRONG>cps</STRONG>       <STRONG>Ym</STRONG>  print rate in characters per
+                                                second
+       <STRONG>wide_char_size</STRONG>             <STRONG>widcs</STRONG>     <STRONG>Yn</STRONG>  character step size when in
+                                                double wide mode
+       <STRONG>buttons</STRONG>                    <STRONG>btns</STRONG>      <STRONG>BT</STRONG>  number of buttons on mouse
+
+       <STRONG>bit_image_entwining</STRONG>        <STRONG>bitwin</STRONG>    <STRONG>Yo</STRONG>  number of passes for each bit-
+                                                image row
+       <STRONG>bit_image_type</STRONG>             <STRONG>bitype</STRONG>    <STRONG>Yp</STRONG>  type of bit-image device
+
+                                      <STRONG>Code</STRONG>
+       <STRONG>String</STRONG> <STRONG>Capability</STRONG> <STRONG>Name</STRONG>     <STRONG>TI</STRONG>        <STRONG>TC</STRONG>  <STRONG>Description</STRONG>
+       ------------------------------------------------------------------------
+       <STRONG>back_tab</STRONG>                   <STRONG>cbt</STRONG>       <STRONG>bt</STRONG>  back tab (P)
+       <STRONG>bell</STRONG>                       <STRONG>bel</STRONG>       <STRONG>bl</STRONG>  audible signal (bell) (P)
+       <STRONG>carriage_return</STRONG>            <STRONG>cr</STRONG>        <STRONG>cr</STRONG>  carriage return (P*) (P*)
+       <STRONG>change_scroll_region</STRONG>       <STRONG>csr</STRONG>       <STRONG>cs</STRONG>  change region to line #1 to
+                                                line #2 (P)
+       <STRONG>clear_all_tabs</STRONG>             <STRONG>tbc</STRONG>       <STRONG>ct</STRONG>  clear all tab stops (P)
+       <STRONG>clear_screen</STRONG>               <STRONG>clear</STRONG>     <STRONG>cl</STRONG>  clear screen and home cursor
+                                                (P*)
+       <STRONG>clr_eol</STRONG>                    <STRONG>el</STRONG>        <STRONG>ce</STRONG>  clear to end of line (P)
+       <STRONG>clr_eos</STRONG>                    <STRONG>ed</STRONG>        <STRONG>cd</STRONG>  clear to end of screen (P*)
+       <STRONG>column_address</STRONG>             <STRONG>hpa</STRONG>       <STRONG>ch</STRONG>  horizontal position #1,
+                                                absolute (P)
+       <STRONG>command_character</STRONG>          <STRONG>cmdch</STRONG>     <STRONG>CC</STRONG>  terminal settable cmd
+                                                character in prototype !?
+       <STRONG>cursor_address</STRONG>             <STRONG>cup</STRONG>       <STRONG>cm</STRONG>  move to row #1 columns #2
+       <STRONG>cursor_down</STRONG>                <STRONG>cud1</STRONG>      <STRONG>do</STRONG>  down one line
+       <STRONG>cursor_home</STRONG>                <STRONG>home</STRONG>      <STRONG>ho</STRONG>  home cursor (if no cup)
+       <STRONG>cursor_invisible</STRONG>           <STRONG>civis</STRONG>     <STRONG>vi</STRONG>  make cursor invisible
+       <STRONG>cursor_left</STRONG>                <STRONG>cub1</STRONG>      <STRONG>le</STRONG>  move left one space
+       <STRONG>cursor_mem_address</STRONG>         <STRONG>mrcup</STRONG>     <STRONG>CM</STRONG>  memory relative cursor
+                                                addressing, move to row #1
+                                                columns #2
+       <STRONG>cursor_normal</STRONG>              <STRONG>cnorm</STRONG>     <STRONG>ve</STRONG>  make cursor appear normal
+                                                (undo civis/cvvis)
+       <STRONG>cursor_right</STRONG>               <STRONG>cuf1</STRONG>      <STRONG>nd</STRONG>  non-destructive space (move
+                                                right one space)
+       <STRONG>cursor_to_ll</STRONG>               <STRONG>ll</STRONG>        <STRONG>ll</STRONG>  last line, first column (if no
+                                                cup)
+       <STRONG>cursor_up</STRONG>                  <STRONG>cuu1</STRONG>      <STRONG>up</STRONG>  up one line
+       <STRONG>cursor_visible</STRONG>             <STRONG>cvvis</STRONG>     <STRONG>vs</STRONG>  make cursor very visible
+       <STRONG>delete_character</STRONG>           <STRONG>dch1</STRONG>      <STRONG>dc</STRONG>  delete character (P*)
+       <STRONG>delete_line</STRONG>                <STRONG>dl1</STRONG>       <STRONG>dl</STRONG>  delete line (P*)
+       <STRONG>dis_status_line</STRONG>            <STRONG>dsl</STRONG>       <STRONG>ds</STRONG>  disable status line
+       <STRONG>down_half_line</STRONG>             <STRONG>hd</STRONG>        <STRONG>hd</STRONG>  half a line down
+       <STRONG>enter_alt_charset_mode</STRONG>     <STRONG>smacs</STRONG>     <STRONG>as</STRONG>  start alternate character set
+                                                (P)
+       <STRONG>enter_blink_mode</STRONG>           <STRONG>blink</STRONG>     <STRONG>mb</STRONG>  turn on blinking
+       <STRONG>enter_bold_mode</STRONG>            <STRONG>bold</STRONG>      <STRONG>md</STRONG>  turn on bold (extra bright)
+                                                mode
+       <STRONG>enter_ca_mode</STRONG>              <STRONG>smcup</STRONG>     <STRONG>ti</STRONG>  string to start programs using
+                                                cup
+       <STRONG>enter_delete_mode</STRONG>          <STRONG>smdc</STRONG>      <STRONG>dm</STRONG>  enter delete mode
+       <STRONG>enter_dim_mode</STRONG>             <STRONG>dim</STRONG>       <STRONG>mh</STRONG>  turn on half-bright mode
+       <STRONG>enter_insert_mode</STRONG>          <STRONG>smir</STRONG>      <STRONG>im</STRONG>  enter insert mode
+       <STRONG>enter_secure_mode</STRONG>          <STRONG>invis</STRONG>     <STRONG>mk</STRONG>  turn on blank mode (characters
+                                                invisible)
+       <STRONG>enter_protected_mode</STRONG>       <STRONG>prot</STRONG>      <STRONG>mp</STRONG>  turn on protected mode
+       <STRONG>enter_reverse_mode</STRONG>         <STRONG>rev</STRONG>       <STRONG>mr</STRONG>  turn on reverse video mode
+       <STRONG>enter_standout_mode</STRONG>        <STRONG>smso</STRONG>      <STRONG>so</STRONG>  begin standout mode
+       <STRONG>enter_underline_mode</STRONG>       <STRONG>smul</STRONG>      <STRONG>us</STRONG>  begin underline mode
+       <STRONG>erase_chars</STRONG>                <STRONG>ech</STRONG>       <STRONG>ec</STRONG>  erase #1 characters (P)
+       <STRONG>exit_alt_charset_mode</STRONG>      <STRONG>rmacs</STRONG>     <STRONG>ae</STRONG>  end alternate character set
+                                                (P)
+       <STRONG>exit_attribute_mode</STRONG>        <STRONG>sgr0</STRONG>      <STRONG>me</STRONG>  turn off all attributes
+       <STRONG>exit_ca_mode</STRONG>               <STRONG>rmcup</STRONG>     <STRONG>te</STRONG>  strings to end programs using
+                                                cup
+       <STRONG>exit_delete_mode</STRONG>           <STRONG>rmdc</STRONG>      <STRONG>ed</STRONG>  end delete mode
+       <STRONG>exit_insert_mode</STRONG>           <STRONG>rmir</STRONG>      <STRONG>ei</STRONG>  exit insert mode
+
+       <STRONG>exit_standout_mode</STRONG>         <STRONG>rmso</STRONG>      <STRONG>se</STRONG>  exit standout mode
+       <STRONG>exit_underline_mode</STRONG>        <STRONG>rmul</STRONG>      <STRONG>ue</STRONG>  exit underline mode
+       <STRONG>flash_screen</STRONG>               <STRONG>flash</STRONG>     <STRONG>vb</STRONG>  visible bell (may not move
+                                                cursor)
+       <STRONG>form_feed</STRONG>                  <STRONG>ff</STRONG>        <STRONG>ff</STRONG>  hardcopy terminal page eject
+                                                (P*)
+       <STRONG>from_status_line</STRONG>           <STRONG>fsl</STRONG>       <STRONG>fs</STRONG>  return from status line
+       <STRONG>init_1string</STRONG>               <STRONG>is1</STRONG>       <STRONG>i1</STRONG>  initialization string
+       <STRONG>init_2string</STRONG>               <STRONG>is2</STRONG>       <STRONG>is</STRONG>  initialization string
+       <STRONG>init_3string</STRONG>               <STRONG>is3</STRONG>       <STRONG>i3</STRONG>  initialization string
+       <STRONG>init_file</STRONG>                  <STRONG>if</STRONG>        <STRONG>if</STRONG>  name of initialization file
+       <STRONG>insert_character</STRONG>           <STRONG>ich1</STRONG>      <STRONG>ic</STRONG>  insert character (P)
+       <STRONG>insert_line</STRONG>                <STRONG>il1</STRONG>       <STRONG>al</STRONG>  insert line (P*)
+       <STRONG>insert_padding</STRONG>             <STRONG>ip</STRONG>        <STRONG>ip</STRONG>  insert padding after inserted
+                                                character
+       <STRONG>key_backspace</STRONG>              <STRONG>kbs</STRONG>       <STRONG>kb</STRONG>  backspace key
+       <STRONG>key_catab</STRONG>                  <STRONG>ktbc</STRONG>      <STRONG>ka</STRONG>  clear-all-tabs key
+       <STRONG>key_clear</STRONG>                  <STRONG>kclr</STRONG>      <STRONG>kC</STRONG>  clear-screen or erase key
+       <STRONG>key_ctab</STRONG>                   <STRONG>kctab</STRONG>     <STRONG>kt</STRONG>  clear-tab key
+       <STRONG>key_dc</STRONG>                     <STRONG>kdch1</STRONG>     <STRONG>kD</STRONG>  delete-character key
+       <STRONG>key_dl</STRONG>                     <STRONG>kdl1</STRONG>      <STRONG>kL</STRONG>  delete-line key
+       <STRONG>key_down</STRONG>                   <STRONG>kcud1</STRONG>     <STRONG>kd</STRONG>  down-arrow key
+
+       <STRONG>key_eic</STRONG>                    <STRONG>krmir</STRONG>     <STRONG>kM</STRONG>  sent by rmir or smir in insert
+                                                mode
+       <STRONG>key_eol</STRONG>                    <STRONG>kel</STRONG>       <STRONG>kE</STRONG>  clear-to-end-of-line key
+       <STRONG>key_eos</STRONG>                    <STRONG>ked</STRONG>       <STRONG>kS</STRONG>  clear-to-end-of-screen key
+       <STRONG>key_f0</STRONG>                     <STRONG>kf0</STRONG>       <STRONG>k0</STRONG>  F0 function key
+       <STRONG>key_f1</STRONG>                     <STRONG>kf1</STRONG>       <STRONG>k1</STRONG>  F1 function key
+       <STRONG>key_f10</STRONG>                    <STRONG>kf10</STRONG>      <STRONG>k;</STRONG>  F10 function key
+       <STRONG>key_f2</STRONG>                     <STRONG>kf2</STRONG>       <STRONG>k2</STRONG>  F2 function key
+       <STRONG>key_f3</STRONG>                     <STRONG>kf3</STRONG>       <STRONG>k3</STRONG>  F3 function key
+       <STRONG>key_f4</STRONG>                     <STRONG>kf4</STRONG>       <STRONG>k4</STRONG>  F4 function key
+       <STRONG>key_f5</STRONG>                     <STRONG>kf5</STRONG>       <STRONG>k5</STRONG>  F5 function key
+       <STRONG>key_f6</STRONG>                     <STRONG>kf6</STRONG>       <STRONG>k6</STRONG>  F6 function key
+       <STRONG>key_f7</STRONG>                     <STRONG>kf7</STRONG>       <STRONG>k7</STRONG>  F7 function key
+       <STRONG>key_f8</STRONG>                     <STRONG>kf8</STRONG>       <STRONG>k8</STRONG>  F8 function key
+       <STRONG>key_f9</STRONG>                     <STRONG>kf9</STRONG>       <STRONG>k9</STRONG>  F9 function key
+       <STRONG>key_home</STRONG>                   <STRONG>khome</STRONG>     <STRONG>kh</STRONG>  home key
+       <STRONG>key_ic</STRONG>                     <STRONG>kich1</STRONG>     <STRONG>kI</STRONG>  insert-character key
+       <STRONG>key_il</STRONG>                     <STRONG>kil1</STRONG>      <STRONG>kA</STRONG>  insert-line key
+       <STRONG>key_left</STRONG>                   <STRONG>kcub1</STRONG>     <STRONG>kl</STRONG>  left-arrow key
+       <STRONG>key_ll</STRONG>                     <STRONG>kll</STRONG>       <STRONG>kH</STRONG>  lower-left key (home down)
+       <STRONG>key_npage</STRONG>                  <STRONG>knp</STRONG>       <STRONG>kN</STRONG>  next-page key
+       <STRONG>key_ppage</STRONG>                  <STRONG>kpp</STRONG>       <STRONG>kP</STRONG>  previous-page key
+       <STRONG>key_right</STRONG>                  <STRONG>kcuf1</STRONG>     <STRONG>kr</STRONG>  right-arrow key
+       <STRONG>key_sf</STRONG>                     <STRONG>kind</STRONG>      <STRONG>kF</STRONG>  scroll-forward key
+       <STRONG>key_sr</STRONG>                     <STRONG>kri</STRONG>       <STRONG>kR</STRONG>  scroll-backward key
+       <STRONG>key_stab</STRONG>                   <STRONG>khts</STRONG>      <STRONG>kT</STRONG>  set-tab key
+       <STRONG>key_up</STRONG>                     <STRONG>kcuu1</STRONG>     <STRONG>ku</STRONG>  up-arrow key
+       <STRONG>keypad_local</STRONG>               <STRONG>rmkx</STRONG>      <STRONG>ke</STRONG>  leave keyboard transmit mode
+       <STRONG>keypad_xmit</STRONG>                <STRONG>smkx</STRONG>      <STRONG>ks</STRONG>  enter keyboard transmit mode
+       <STRONG>lab_f0</STRONG>                     <STRONG>lf0</STRONG>       <STRONG>l0</STRONG>  label on function key f0 if
+                                                not f0
+       <STRONG>lab_f1</STRONG>                     <STRONG>lf1</STRONG>       <STRONG>l1</STRONG>  label on function key f1 if
+                                                not f1
+       <STRONG>lab_f10</STRONG>                    <STRONG>lf10</STRONG>      <STRONG>la</STRONG>  label on function key f10 if
+                                                not f10
+       <STRONG>lab_f2</STRONG>                     <STRONG>lf2</STRONG>       <STRONG>l2</STRONG>  label on function key f2 if
+                                                not f2
+       <STRONG>lab_f3</STRONG>                     <STRONG>lf3</STRONG>       <STRONG>l3</STRONG>  label on function key f3 if
+                                                not f3
+       <STRONG>lab_f4</STRONG>                     <STRONG>lf4</STRONG>       <STRONG>l4</STRONG>  label on function key f4 if
+                                                not f4
+
 
-       key_reference             kref   &amp;1   reference key
-       key_refresh               krfr   &amp;2   refresh key
-       key_replace               krpl   &amp;3   replace key
-       key_restart               krst   &amp;4   restart key
-       key_resume                kres   &amp;5   resume key
-       key_right                 kcuf1  kr   right-arrow key
-       key_save                  ksav   &amp;6   save key
-       key_sbeg                  kBEG   &amp;9   shifted begin key
-       key_scancel               kCAN   &amp;0   shifted cancel key
-       key_scommand              kCMD   *1   shifted command key
-       key_scopy                 kCPY   *2   shifted copy key
-       key_screate               kCRT   *3   shifted create key
-       key_sdc                   kDC    *4   shifted delete-char-
-                                             acter key
-       key_sdl                   kDL    *5   shifted delete-line
-                                             key
-       key_select                kslt   *6   select key
-       key_send                  kEND   *7   shifted end key
-       key_seol                  kEOL   *8   shifted clear-to-
-                                             end-of-line key
-       key_sexit                 kEXT   *9   shifted exit key
-       key_sf                    kind   kF   scroll-forward key
-       key_sfind                 kFND   *0   shifted find key
-       key_shelp                 kHLP   #1   shifted help key
-       key_shome                 kHOM   #2   shifted home key
-       key_sic                   kIC    #3   shifted insert-char-
-                                             acter key
-       key_sleft                 kLFT   #4   shifted left-arrow
-                                             key
-       key_smessage              kMSG   %a   shifted message key
-       key_smove                 kMOV   %b   shifted move key
-       key_snext                 kNXT   %c   shifted next key
-       key_soptions              kOPT   %d   shifted options key
-       key_sprevious             kPRV   %e   shifted previous key
-       key_sprint                kPRT   %f   shifted print key
-       key_sr                    kri    kR   scroll-backward key
-       key_sredo                 kRDO   %g   shifted redo key
-       key_sreplace              kRPL   %h   shifted replace key
-       key_sright                kRIT   %i   shifted right-arrow
-                                             key
-       key_srsume                kRES   %j   shifted resume key
-       key_ssave                 kSAV   !1   shifted save key
-       key_ssuspend              kSPD   !2   shifted suspend key
-       key_stab                  khts   kT   set-tab key
-       key_sundo                 kUND   !3   shifted undo key
-       key_suspend               kspd   &amp;7   suspend key
-       key_undo                  kund   &amp;8   undo key
-       key_up                    kcuu1  ku   up-arrow key
-       keypad_local              rmkx   ke   leave 'key-
-                                             board_transmit' mode
-       keypad_xmit               smkx   ks   enter 'key-
-                                             board_transmit' mode
-       lab_f0                    lf0    l0   label on function
-                                             key f0 if not f0
-       lab_f1                    lf1    l1   label on function
-                                             key f1 if not f1
-       lab_f10                   lf10   la   label on function
-                                             key f10 if not f10
-       lab_f2                    lf2    l2   label on function
-                                             key f2 if not f2
-       lab_f3                    lf3    l3   label on function
-                                             key f3 if not f3
-       lab_f4                    lf4    l4   label on function
-                                             key f4 if not f4
+       <STRONG>lab_f5</STRONG>                     <STRONG>lf5</STRONG>       <STRONG>l5</STRONG>  label on function key f5 if
+                                                not f5
+       <STRONG>lab_f6</STRONG>                     <STRONG>lf6</STRONG>       <STRONG>l6</STRONG>  label on function key f6 if
+                                                not f6
+       <STRONG>lab_f7</STRONG>                     <STRONG>lf7</STRONG>       <STRONG>l7</STRONG>  label on function key f7 if
+                                                not f7
+       <STRONG>lab_f8</STRONG>                     <STRONG>lf8</STRONG>       <STRONG>l8</STRONG>  label on function key f8 if
+                                                not f8
+       <STRONG>lab_f9</STRONG>                     <STRONG>lf9</STRONG>       <STRONG>l9</STRONG>  label on function key f9 if
+                                                not f9
+       <STRONG>meta_off</STRONG>                   <STRONG>rmm</STRONG>       <STRONG>mo</STRONG>  turn off meta mode
+       <STRONG>meta_on</STRONG>                    <STRONG>smm</STRONG>       <STRONG>mm</STRONG>  turn on meta mode (8th-bit on)
+       <STRONG>newline</STRONG>                    <STRONG>nel</STRONG>       <STRONG>nw</STRONG>  newline (behave like cr
+                                                followed by lf)
+       <STRONG>pad_char</STRONG>                   <STRONG>pad</STRONG>       <STRONG>pc</STRONG>  padding char (instead of null)
+       <STRONG>parm_dch</STRONG>                   <STRONG>dch</STRONG>       <STRONG>DC</STRONG>  delete #1 characters (P*)
+       <STRONG>parm_delete_line</STRONG>           <STRONG>dl</STRONG>        <STRONG>DL</STRONG>  delete #1 lines (P*)
+       <STRONG>parm_down_cursor</STRONG>           <STRONG>cud</STRONG>       <STRONG>DO</STRONG>  down #1 lines (P*)
+       <STRONG>parm_ich</STRONG>                   <STRONG>ich</STRONG>       <STRONG>IC</STRONG>  insert #1 characters (P*)
+       <STRONG>parm_index</STRONG>                 <STRONG>indn</STRONG>      <STRONG>SF</STRONG>  scroll forward #1 lines (P)
+       <STRONG>parm_insert_line</STRONG>           <STRONG>il</STRONG>        <STRONG>AL</STRONG>  insert #1 lines (P*)
+       <STRONG>parm_left_cursor</STRONG>           <STRONG>cub</STRONG>       <STRONG>LE</STRONG>  move #1 characters to the left
+                                                (P)
+       <STRONG>parm_right_cursor</STRONG>          <STRONG>cuf</STRONG>       <STRONG>RI</STRONG>  move #1 characters to the
+                                                right (P*)
+       <STRONG>parm_rindex</STRONG>                <STRONG>rin</STRONG>       <STRONG>SR</STRONG>  scroll back #1 lines (P)
+       <STRONG>parm_up_cursor</STRONG>             <STRONG>cuu</STRONG>       <STRONG>UP</STRONG>  up #1 lines (P*)
+       <STRONG>pkey_key</STRONG>                   <STRONG>pfkey</STRONG>     <STRONG>pk</STRONG>  program function key #1 to
+                                                type string #2
+       <STRONG>pkey_local</STRONG>                 <STRONG>pfloc</STRONG>     <STRONG>pl</STRONG>  program function key #1 to
+                                                execute string #2
+       <STRONG>pkey_xmit</STRONG>                  <STRONG>pfx</STRONG>       <STRONG>px</STRONG>  program function key #1 to
+                                                transmit string #2
+       <STRONG>print_screen</STRONG>               <STRONG>mc0</STRONG>       <STRONG>ps</STRONG>  print contents of screen
+       <STRONG>prtr_off</STRONG>                   <STRONG>mc4</STRONG>       <STRONG>pf</STRONG>  turn off printer
+       <STRONG>prtr_on</STRONG>                    <STRONG>mc5</STRONG>       <STRONG>po</STRONG>  turn on printer
+       <STRONG>repeat_char</STRONG>                <STRONG>rep</STRONG>       <STRONG>rp</STRONG>  repeat char #1 #2 times (P*)
+       <STRONG>reset_1string</STRONG>              <STRONG>rs1</STRONG>       <STRONG>r1</STRONG>  reset string
+       <STRONG>reset_2string</STRONG>              <STRONG>rs2</STRONG>       <STRONG>r2</STRONG>  reset string
 
+       <STRONG>reset_3string</STRONG>              <STRONG>rs3</STRONG>       <STRONG>r3</STRONG>  reset string
+       <STRONG>reset_file</STRONG>                 <STRONG>rf</STRONG>        <STRONG>rf</STRONG>  name of reset file
+       <STRONG>restore_cursor</STRONG>             <STRONG>rc</STRONG>        <STRONG>rc</STRONG>  restore cursor to position of
+                                                last save_cursor
+       <STRONG>row_address</STRONG>                <STRONG>vpa</STRONG>       <STRONG>cv</STRONG>  vertical position #1 absolute
+                                                (P)
+       <STRONG>save_cursor</STRONG>                <STRONG>sc</STRONG>        <STRONG>sc</STRONG>  save current cursor position
+                                                (P)
+       <STRONG>scroll_forward</STRONG>             <STRONG>ind</STRONG>       <STRONG>sf</STRONG>  scroll text up (P)
+       <STRONG>scroll_reverse</STRONG>             <STRONG>ri</STRONG>        <STRONG>sr</STRONG>  scroll text down (P)
+       <STRONG>set_attributes</STRONG>             <STRONG>sgr</STRONG>       <STRONG>sa</STRONG>  define video attributes #1-#9
+                                                (PG9)
+       <STRONG>set_tab</STRONG>                    <STRONG>hts</STRONG>       <STRONG>st</STRONG>  set a tab in every row,
+                                                current columns
+       <STRONG>set_window</STRONG>                 <STRONG>wind</STRONG>      <STRONG>wi</STRONG>  current window is lines #1-#2
+                                                cols #3-#4
+       <STRONG>tab</STRONG>                        <STRONG>ht</STRONG>        <STRONG>ta</STRONG>  tab to next 8-space hardware
+                                                tab stop
+       <STRONG>to_status_line</STRONG>             <STRONG>tsl</STRONG>       <STRONG>ts</STRONG>  move to status line, column #1
+       <STRONG>underline_char</STRONG>             <STRONG>uc</STRONG>        <STRONG>uc</STRONG>  underline char and move past
+                                                it
+       <STRONG>up_half_line</STRONG>               <STRONG>hu</STRONG>        <STRONG>hu</STRONG>  half a line up
+       <STRONG>init_prog</STRONG>                  <STRONG>iprog</STRONG>     <STRONG>iP</STRONG>  path name of program for
+                                                initialization
+       <STRONG>key_a1</STRONG>                     <STRONG>ka1</STRONG>       <STRONG>K1</STRONG>  upper left of keypad
 
-       lab_f5                    lf5    l5   label on function
-                                             key f5 if not f5
-       lab_f6                    lf6    l6   label on function
-                                             key f6 if not f6
-       lab_f7                    lf7    l7   label on function
-                                             key f7 if not f7
-       lab_f8                    lf8    l8   label on function
-                                             key f8 if not f8
-       lab_f9                    lf9    l9   label on function
-                                             key f9 if not f9
-       label_format              fln    Lf   label format
-       label_off                 rmln   LF   turn off soft labels
-       label_on                  smln   LO   turn on soft labels
-       meta_off                  rmm    mo   turn off meta mode
-       meta_on                   smm    mm   turn on meta mode
-                                             (8th-bit on)
-       micro_column_address      mhpa   ZY   Like column_address
-                                             in micro mode
-       micro_down                mcud1  ZZ   Like cursor_down in
-                                             micro mode
-       micro_left                mcub1  Za   Like cursor_left in
-                                             micro mode
-       micro_right               mcuf1  Zb   Like cursor_right in
-                                             micro mode
-       micro_row_address         mvpa   Zc   Like row_address #1
-                                             in micro mode
-       micro_up                  mcuu1  Zd   Like cursor_up in
-                                             micro mode
-       newline                   nel    nw   newline (behave like
-                                             cr followed by lf)
-       order_of_pins             porder Ze   Match software bits
-                                             to print-head pins
-       orig_colors               oc     oc   Set all color pairs
-                                             to the original ones
-       orig_pair                 op     op   Set default pair to
-                                             its original value
-       pad_char                  pad    pc   padding char
-                                             (instead of null)
-       parm_dch                  dch    DC   delete #1 characters
-                                             (P*)
-       parm_delete_line          dl     DL   delete #1 lines (P*)
-       parm_down_cursor          cud    DO   down #1 lines (P*)
-       parm_down_micro           mcud   Zf   Like parm_down_cur-
-                                             sor in micro mode
-       parm_ich                  ich    IC   insert #1 characters
-                                             (P*)
-       parm_index                indn   SF   scroll forward #1
-                                             lines (P)
-       parm_insert_line          il     AL   insert #1 lines (P*)
-       parm_left_cursor          cub    LE   move #1 characters
-                                             to the left (P)
-       parm_left_micro           mcub   Zg   Like parm_left_cur-
-                                             sor in micro mode
-       parm_right_cursor         cuf    RI   move #1 characters
-                                             to the right (P*)
-       parm_right_micro          mcuf   Zh   Like parm_right_cur-
-                                             sor in micro mode
-       parm_rindex               rin    SR   scroll back #1 lines
-                                             (P)
-       parm_up_cursor            cuu    UP   up #1 lines (P*)
-       parm_up_micro             mcuu   Zi   Like parm_up_cursor
-                                             in micro mode
-       pkey_key                  pfkey  pk   program function key
-                                             #1 to type string #2
+       <STRONG>key_a3</STRONG>                     <STRONG>ka3</STRONG>       <STRONG>K3</STRONG>  upper right of keypad
+       <STRONG>key_b2</STRONG>                     <STRONG>kb2</STRONG>       <STRONG>K2</STRONG>  center of keypad
+       <STRONG>key_c1</STRONG>                     <STRONG>kc1</STRONG>       <STRONG>K4</STRONG>  lower left of keypad
+       <STRONG>key_c3</STRONG>                     <STRONG>kc3</STRONG>       <STRONG>K5</STRONG>  lower right of keypad
+       <STRONG>prtr_non</STRONG>                   <STRONG>mc5p</STRONG>      <STRONG>pO</STRONG>  turn on printer for #1 bytes
+       <STRONG>char_padding</STRONG>               <STRONG>rmp</STRONG>       <STRONG>rP</STRONG>  like ip but when in insert
+                                                mode
+       <STRONG>acs_chars</STRONG>                  <STRONG>acsc</STRONG>      <STRONG>ac</STRONG>  graphics charset pairs, based
+                                                on vt100
+       <STRONG>plab_norm</STRONG>                  <STRONG>pln</STRONG>       <STRONG>pn</STRONG>  program label #1 to show
+                                                string #2
+       <STRONG>key_btab</STRONG>                   <STRONG>kcbt</STRONG>      <STRONG>kB</STRONG>  back-tab key
+       <STRONG>enter_xon_mode</STRONG>             <STRONG>smxon</STRONG>     <STRONG>SX</STRONG>  turn on xon/xoff handshaking
+       <STRONG>exit_xon_mode</STRONG>              <STRONG>rmxon</STRONG>     <STRONG>RX</STRONG>  turn off xon/xoff handshaking
+       <STRONG>enter_am_mode</STRONG>              <STRONG>smam</STRONG>      <STRONG>SA</STRONG>  turn on automatic margins
+       <STRONG>exit_am_mode</STRONG>               <STRONG>rmam</STRONG>      <STRONG>RA</STRONG>  turn off automatic margins
+       <STRONG>xon_character</STRONG>              <STRONG>xonc</STRONG>      <STRONG>XN</STRONG>  XON character
+       <STRONG>xoff_character</STRONG>             <STRONG>xoffc</STRONG>     <STRONG>XF</STRONG>  XOFF character
+       <STRONG>ena_acs</STRONG>                    <STRONG>enacs</STRONG>     <STRONG>eA</STRONG>  enable alternate char set
+       <STRONG>label_on</STRONG>                   <STRONG>smln</STRONG>      <STRONG>LO</STRONG>  turn on soft labels
+       <STRONG>label_off</STRONG>                  <STRONG>rmln</STRONG>      <STRONG>LF</STRONG>  turn off soft labels
+       <STRONG>key_beg</STRONG>                    <STRONG>kbeg</STRONG>      <STRONG>@1</STRONG>  begin key
+       <STRONG>key_cancel</STRONG>                 <STRONG>kcan</STRONG>      <STRONG>@2</STRONG>  cancel key
+       <STRONG>key_close</STRONG>                  <STRONG>kclo</STRONG>      <STRONG>@3</STRONG>  close key
+       <STRONG>key_command</STRONG>                <STRONG>kcmd</STRONG>      <STRONG>@4</STRONG>  command key
+       <STRONG>key_copy</STRONG>                   <STRONG>kcpy</STRONG>      <STRONG>@5</STRONG>  copy key
+       <STRONG>key_create</STRONG>                 <STRONG>kcrt</STRONG>      <STRONG>@6</STRONG>  create key
+       <STRONG>key_end</STRONG>                    <STRONG>kend</STRONG>      <STRONG>@7</STRONG>  end key
+       <STRONG>key_enter</STRONG>                  <STRONG>kent</STRONG>      <STRONG>@8</STRONG>  enter/send key
+       <STRONG>key_exit</STRONG>                   <STRONG>kext</STRONG>      <STRONG>@9</STRONG>  exit key
+       <STRONG>key_find</STRONG>                   <STRONG>kfnd</STRONG>      <STRONG>@0</STRONG>  find key
+       <STRONG>key_help</STRONG>                   <STRONG>khlp</STRONG>      <STRONG>%1</STRONG>  help key
+       <STRONG>key_mark</STRONG>                   <STRONG>kmrk</STRONG>      <STRONG>%2</STRONG>  mark key
+       <STRONG>key_message</STRONG>                <STRONG>kmsg</STRONG>      <STRONG>%3</STRONG>  message key
+       <STRONG>key_move</STRONG>                   <STRONG>kmov</STRONG>      <STRONG>%4</STRONG>  move key
+       <STRONG>key_next</STRONG>                   <STRONG>knxt</STRONG>      <STRONG>%5</STRONG>  next key
+       <STRONG>key_open</STRONG>                   <STRONG>kopn</STRONG>      <STRONG>%6</STRONG>  open key
+       <STRONG>key_options</STRONG>                <STRONG>kopt</STRONG>      <STRONG>%7</STRONG>  options key
+       <STRONG>key_previous</STRONG>               <STRONG>kprv</STRONG>      <STRONG>%8</STRONG>  previous key
+       <STRONG>key_print</STRONG>                  <STRONG>kprt</STRONG>      <STRONG>%9</STRONG>  print key
+       <STRONG>key_redo</STRONG>                   <STRONG>krdo</STRONG>      <STRONG>%0</STRONG>  redo key
+       <STRONG>key_reference</STRONG>              <STRONG>kref</STRONG>      <STRONG>&amp;1</STRONG>  reference key
+       <STRONG>key_refresh</STRONG>                <STRONG>krfr</STRONG>      <STRONG>&amp;2</STRONG>  refresh key
+       <STRONG>key_replace</STRONG>                <STRONG>krpl</STRONG>      <STRONG>&amp;3</STRONG>  replace key
+       <STRONG>key_restart</STRONG>                <STRONG>krst</STRONG>      <STRONG>&amp;4</STRONG>  restart key
+       <STRONG>key_resume</STRONG>                 <STRONG>kres</STRONG>      <STRONG>&amp;5</STRONG>  resume key
+       <STRONG>key_save</STRONG>                   <STRONG>ksav</STRONG>      <STRONG>&amp;6</STRONG>  save key
+       <STRONG>key_suspend</STRONG>                <STRONG>kspd</STRONG>      <STRONG>&amp;7</STRONG>  suspend key
+       <STRONG>key_undo</STRONG>                   <STRONG>kund</STRONG>      <STRONG>&amp;8</STRONG>  undo key
 
+       <STRONG>key_sbeg</STRONG>                   <STRONG>kBEG</STRONG>      <STRONG>&amp;9</STRONG>  shifted begin key
+       <STRONG>key_scancel</STRONG>                <STRONG>kCAN</STRONG>      <STRONG>&amp;0</STRONG>  shifted cancel key
+       <STRONG>key_scommand</STRONG>               <STRONG>kCMD</STRONG>      <STRONG>*1</STRONG>  shifted command key
+       <STRONG>key_scopy</STRONG>                  <STRONG>kCPY</STRONG>      <STRONG>*2</STRONG>  shifted copy key
+       <STRONG>key_screate</STRONG>                <STRONG>kCRT</STRONG>      <STRONG>*3</STRONG>  shifted create key
+       <STRONG>key_sdc</STRONG>                    <STRONG>kDC</STRONG>       <STRONG>*4</STRONG>  shifted delete-character key
+       <STRONG>key_sdl</STRONG>                    <STRONG>kDL</STRONG>       <STRONG>*5</STRONG>  shifted delete-line key
+       <STRONG>key_select</STRONG>                 <STRONG>kslt</STRONG>      <STRONG>*6</STRONG>  select key
+       <STRONG>key_send</STRONG>                   <STRONG>kEND</STRONG>      <STRONG>*7</STRONG>  shifted end key
+       <STRONG>key_seol</STRONG>                   <STRONG>kEOL</STRONG>      <STRONG>*8</STRONG>  shifted clear-to-end-of-line
+                                                key
+       <STRONG>key_sexit</STRONG>                  <STRONG>kEXT</STRONG>      <STRONG>*9</STRONG>  shifted exit key
+       <STRONG>key_sfind</STRONG>                  <STRONG>kFND</STRONG>      <STRONG>*0</STRONG>  shifted find key
+       <STRONG>key_shelp</STRONG>                  <STRONG>kHLP</STRONG>      <STRONG>#1</STRONG>  shifted help key
+       <STRONG>key_shome</STRONG>                  <STRONG>kHOM</STRONG>      <STRONG>#2</STRONG>  shifted home key
 
-       pkey_local                pfloc  pl   program function key
-                                             #1 to execute string
-                                             #2
-       pkey_xmit                 pfx    px   program function key
-                                             #1 to transmit
-                                             string #2
-       plab_norm                 pln    pn   program label #1 to
-                                             show string #2
-       print_screen              mc0    ps   print contents of
-                                             screen
-       prtr_non                  mc5p   pO   turn on printer for
-                                             #1 bytes
-       prtr_off                  mc4    pf   turn off printer
-       prtr_on                   mc5    po   turn on printer
-       pulse                     pulse  PU   select pulse dialing
-       quick_dial                qdial  QD   dial number #1 with-
-                                             out checking
-       remove_clock              rmclk  RC   remove clock
-       repeat_char               rep    rp   repeat char #1 #2
-                                             times (P*)
-       req_for_input             rfi    RF   send next input char
-                                             (for ptys)
-       reset_1string             rs1    r1   reset string
-       reset_2string             rs2    r2   reset string
-       reset_3string             rs3    r3   reset string
-       reset_file                rf     rf   name of reset file
-       restore_cursor            rc     rc   restore cursor to
-                                             position of last
-                                             save_cursor
-       row_address               vpa    cv   vertical position #1
-                                             absolute (P)
-       save_cursor               sc     sc   save current cursor
-                                             position (P)
-       scroll_forward            ind    sf   scroll text up (P)
-       scroll_reverse            ri     sr   scroll text down (P)
-       select_char_set           scs    Zj   Select character
-                                             set, #1
-       set_attributes            sgr    sa   define video
-                                             attributes #1-#9
-                                             (PG9)
-       set_background            setb   Sb   Set background color
-                                             #1
-       set_bottom_margin         smgb   Zk   Set bottom margin at
-                                             current line
-       set_bottom_margin_parm    smgbp  Zl   Set bottom margin at
-                                             line #1 or (if smgtp
-                                             is not given) #2
-                                             lines from bottom
-       set_clock                 sclk   SC   set clock, #1 hrs #2
-                                             mins #3 secs
-       set_color_pair            scp    sp   Set current color
-                                             pair to #1
-       set_foreground            setf   Sf   Set foreground color
-                                             #1
-       set_left_margin           smgl   ML   set left soft margin
-                                             at current column.
-                                             See smgl. (ML is not
-                                             in BSD termcap).
-       set_left_margin_parm      smglp  Zm   Set left (right)
-                                             margin at column #1
-       set_right_margin          smgr   MR   set right soft mar-
-                                             gin at current col-
-                                             umn
-       set_right_margin_parm     smgrp  Zn   Set right margin at
-                                             column #1
+       <STRONG>key_sic</STRONG>                    <STRONG>kIC</STRONG>       <STRONG>#3</STRONG>  shifted insert-character key
+       <STRONG>key_sleft</STRONG>                  <STRONG>kLFT</STRONG>      <STRONG>#4</STRONG>  shifted left-arrow key
+       <STRONG>key_smessage</STRONG>               <STRONG>kMSG</STRONG>      <STRONG>%a</STRONG>  shifted message key
+       <STRONG>key_smove</STRONG>                  <STRONG>kMOV</STRONG>      <STRONG>%b</STRONG>  shifted move key
+       <STRONG>key_snext</STRONG>                  <STRONG>kNXT</STRONG>      <STRONG>%c</STRONG>  shifted next key
+       <STRONG>key_soptions</STRONG>               <STRONG>kOPT</STRONG>      <STRONG>%d</STRONG>  shifted options key
+       <STRONG>key_sprevious</STRONG>              <STRONG>kPRV</STRONG>      <STRONG>%e</STRONG>  shifted previous key
+       <STRONG>key_sprint</STRONG>                 <STRONG>kPRT</STRONG>      <STRONG>%f</STRONG>  shifted print key
+       <STRONG>key_sredo</STRONG>                  <STRONG>kRDO</STRONG>      <STRONG>%g</STRONG>  shifted redo key
+       <STRONG>key_sreplace</STRONG>               <STRONG>kRPL</STRONG>      <STRONG>%h</STRONG>  shifted replace key
+       <STRONG>key_sright</STRONG>                 <STRONG>kRIT</STRONG>      <STRONG>%i</STRONG>  shifted right-arrow key
+       <STRONG>key_srsume</STRONG>                 <STRONG>kRES</STRONG>      <STRONG>%j</STRONG>  shifted resume key
+       <STRONG>key_ssave</STRONG>                  <STRONG>kSAV</STRONG>      <STRONG>!1</STRONG>  shifted save key
+       <STRONG>key_ssuspend</STRONG>               <STRONG>kSPD</STRONG>      <STRONG>!2</STRONG>  shifted suspend key
+       <STRONG>key_sundo</STRONG>                  <STRONG>kUND</STRONG>      <STRONG>!3</STRONG>  shifted undo key
+       <STRONG>req_for_input</STRONG>              <STRONG>rfi</STRONG>       <STRONG>RF</STRONG>  send next input char (for
+                                                ptys)
+       <STRONG>key_f11</STRONG>                    <STRONG>kf11</STRONG>      <STRONG>F1</STRONG>  F11 function key
+       <STRONG>key_f12</STRONG>                    <STRONG>kf12</STRONG>      <STRONG>F2</STRONG>  F12 function key
+       <STRONG>key_f13</STRONG>                    <STRONG>kf13</STRONG>      <STRONG>F3</STRONG>  F13 function key
+       <STRONG>key_f14</STRONG>                    <STRONG>kf14</STRONG>      <STRONG>F4</STRONG>  F14 function key
+       <STRONG>key_f15</STRONG>                    <STRONG>kf15</STRONG>      <STRONG>F5</STRONG>  F15 function key
+       <STRONG>key_f16</STRONG>                    <STRONG>kf16</STRONG>      <STRONG>F6</STRONG>  F16 function key
+       <STRONG>key_f17</STRONG>                    <STRONG>kf17</STRONG>      <STRONG>F7</STRONG>  F17 function key
+       <STRONG>key_f18</STRONG>                    <STRONG>kf18</STRONG>      <STRONG>F8</STRONG>  F18 function key
+       <STRONG>key_f19</STRONG>                    <STRONG>kf19</STRONG>      <STRONG>F9</STRONG>  F19 function key
+       <STRONG>key_f20</STRONG>                    <STRONG>kf20</STRONG>      <STRONG>FA</STRONG>  F20 function key
+       <STRONG>key_f21</STRONG>                    <STRONG>kf21</STRONG>      <STRONG>FB</STRONG>  F21 function key
+       <STRONG>key_f22</STRONG>                    <STRONG>kf22</STRONG>      <STRONG>FC</STRONG>  F22 function key
+       <STRONG>key_f23</STRONG>                    <STRONG>kf23</STRONG>      <STRONG>FD</STRONG>  F23 function key
+       <STRONG>key_f24</STRONG>                    <STRONG>kf24</STRONG>      <STRONG>FE</STRONG>  F24 function key
+       <STRONG>key_f25</STRONG>                    <STRONG>kf25</STRONG>      <STRONG>FF</STRONG>  F25 function key
+       <STRONG>key_f26</STRONG>                    <STRONG>kf26</STRONG>      <STRONG>FG</STRONG>  F26 function key
+       <STRONG>key_f27</STRONG>                    <STRONG>kf27</STRONG>      <STRONG>FH</STRONG>  F27 function key
+       <STRONG>key_f28</STRONG>                    <STRONG>kf28</STRONG>      <STRONG>FI</STRONG>  F28 function key
+       <STRONG>key_f29</STRONG>                    <STRONG>kf29</STRONG>      <STRONG>FJ</STRONG>  F29 function key
+       <STRONG>key_f30</STRONG>                    <STRONG>kf30</STRONG>      <STRONG>FK</STRONG>  F30 function key
+       <STRONG>key_f31</STRONG>                    <STRONG>kf31</STRONG>      <STRONG>FL</STRONG>  F31 function key
+       <STRONG>key_f32</STRONG>                    <STRONG>kf32</STRONG>      <STRONG>FM</STRONG>  F32 function key
+       <STRONG>key_f33</STRONG>                    <STRONG>kf33</STRONG>      <STRONG>FN</STRONG>  F33 function key
+       <STRONG>key_f34</STRONG>                    <STRONG>kf34</STRONG>      <STRONG>FO</STRONG>  F34 function key
+       <STRONG>key_f35</STRONG>                    <STRONG>kf35</STRONG>      <STRONG>FP</STRONG>  F35 function key
+       <STRONG>key_f36</STRONG>                    <STRONG>kf36</STRONG>      <STRONG>FQ</STRONG>  F36 function key
+       <STRONG>key_f37</STRONG>                    <STRONG>kf37</STRONG>      <STRONG>FR</STRONG>  F37 function key
+       <STRONG>key_f38</STRONG>                    <STRONG>kf38</STRONG>      <STRONG>FS</STRONG>  F38 function key
+       <STRONG>key_f39</STRONG>                    <STRONG>kf39</STRONG>      <STRONG>FT</STRONG>  F39 function key
+       <STRONG>key_f40</STRONG>                    <STRONG>kf40</STRONG>      <STRONG>FU</STRONG>  F40 function key
+       <STRONG>key_f41</STRONG>                    <STRONG>kf41</STRONG>      <STRONG>FV</STRONG>  F41 function key
+       <STRONG>key_f42</STRONG>                    <STRONG>kf42</STRONG>      <STRONG>FW</STRONG>  F42 function key
 
-       set_tab                   hts    st   set a tab in every
-                                             row, current columns
-       set_top_margin            smgt   Zo   Set top margin at
-                                             current line
-       set_top_margin_parm       smgtp  Zp   Set top (bottom)
-                                             margin at row #1
-       set_window                wind   wi   current window is
-                                             lines #1-#2 cols
-                                             #3-#4
-       start_bit_image           sbim   Zq   Start printing bit
-                                             image graphics
-       start_char_set_def        scsd   Zr   Start character set
-                                             definition #1, with
-                                             #2 characters in the
-                                             set
-       stop_bit_image            rbim   Zs   Stop printing bit
-                                             image graphics
-       stop_char_set_def         rcsd   Zt   End definition of
-                                             character set #1
-       subscript_characters      subcs  Zu   List of subscript-
-                                             able characters
-       superscript_characters    supcs  Zv   List of superscript-
-                                             able characters
-       tab                       ht     ta   tab to next 8-space
-                                             hardware tab stop
-       these_cause_cr            docr   Zw   Printing any of
-                                             these characters
-                                             causes CR
-       to_status_line            tsl    ts   move to status line,
-                                             column #1
-       tone                      tone   TO   select touch tone
-                                             dialing
-       underline_char            uc     uc   underline char and
-                                             move past it
-       up_half_line              hu     hu   half a line up
-       user0                     u0     u0   User string #0
-       user1                     u1     u1   User string #1
-       user2                     u2     u2   User string #2
-       user3                     u3     u3   User string #3
-       user4                     u4     u4   User string #4
-       user5                     u5     u5   User string #5
-       user6                     u6     u6   User string #6
-       user7                     u7     u7   User string #7
-       user8                     u8     u8   User string #8
-       user9                     u9     u9   User string #9
-       wait_tone                 wait   WA   wait for dial-tone
-       xoff_character            xoffc  XF   XOFF character
-       xon_character             xonc   XN   XON character
-       zero_motion               zerom  Zx   No motion for subse-
-                                             quent character
+       <STRONG>key_f43</STRONG>                    <STRONG>kf43</STRONG>      <STRONG>FX</STRONG>  F43 function key
+       <STRONG>key_f44</STRONG>                    <STRONG>kf44</STRONG>      <STRONG>FY</STRONG>  F44 function key
+       <STRONG>key_f45</STRONG>                    <STRONG>kf45</STRONG>      <STRONG>FZ</STRONG>  F45 function key
+       <STRONG>key_f46</STRONG>                    <STRONG>kf46</STRONG>      <STRONG>Fa</STRONG>  F46 function key
+       <STRONG>key_f47</STRONG>                    <STRONG>kf47</STRONG>      <STRONG>Fb</STRONG>  F47 function key
+       <STRONG>key_f48</STRONG>                    <STRONG>kf48</STRONG>      <STRONG>Fc</STRONG>  F48 function key
+       <STRONG>key_f49</STRONG>                    <STRONG>kf49</STRONG>      <STRONG>Fd</STRONG>  F49 function key
+       <STRONG>key_f50</STRONG>                    <STRONG>kf50</STRONG>      <STRONG>Fe</STRONG>  F50 function key
+       <STRONG>key_f51</STRONG>                    <STRONG>kf51</STRONG>      <STRONG>Ff</STRONG>  F51 function key
+       <STRONG>key_f52</STRONG>                    <STRONG>kf52</STRONG>      <STRONG>Fg</STRONG>  F52 function key
+       <STRONG>key_f53</STRONG>                    <STRONG>kf53</STRONG>      <STRONG>Fh</STRONG>  F53 function key
+       <STRONG>key_f54</STRONG>                    <STRONG>kf54</STRONG>      <STRONG>Fi</STRONG>  F54 function key
+       <STRONG>key_f55</STRONG>                    <STRONG>kf55</STRONG>      <STRONG>Fj</STRONG>  F55 function key
+       <STRONG>key_f56</STRONG>                    <STRONG>kf56</STRONG>      <STRONG>Fk</STRONG>  F56 function key
+       <STRONG>key_f57</STRONG>                    <STRONG>kf57</STRONG>      <STRONG>Fl</STRONG>  F57 function key
 
-       The following  string  capabilities  are  present  in  the
-       SVr4.0  term structure, but were originally not documented
-       in the man page.
+       <STRONG>key_f58</STRONG>                    <STRONG>kf58</STRONG>      <STRONG>Fm</STRONG>  F58 function key
+       <STRONG>key_f59</STRONG>                    <STRONG>kf59</STRONG>      <STRONG>Fn</STRONG>  F59 function key
+       <STRONG>key_f60</STRONG>                    <STRONG>kf60</STRONG>      <STRONG>Fo</STRONG>  F60 function key
+       <STRONG>key_f61</STRONG>                    <STRONG>kf61</STRONG>      <STRONG>Fp</STRONG>  F61 function key
+       <STRONG>key_f62</STRONG>                    <STRONG>kf62</STRONG>      <STRONG>Fq</STRONG>  F62 function key
+       <STRONG>key_f63</STRONG>                    <STRONG>kf63</STRONG>      <STRONG>Fr</STRONG>  F63 function key
+       <STRONG>clr_bol</STRONG>                    <STRONG>el1</STRONG>       <STRONG>cb</STRONG>  Clear to beginning of line
+       <STRONG>clear_margins</STRONG>              <STRONG>mgc</STRONG>       <STRONG>MC</STRONG>  clear right and left soft
+                                                margins
+       <STRONG>set_left_margin</STRONG>            <STRONG>smgl</STRONG>      <STRONG>ML</STRONG>  set left soft margin at
+                                                current column (not in BSD
+                                                <EM>termcap</EM>)
+       <STRONG>set_right_margin</STRONG>           <STRONG>smgr</STRONG>      <STRONG>MR</STRONG>  set right soft margin at
+                                                current column
+       <STRONG>label_format</STRONG>               <STRONG>fln</STRONG>       <STRONG>Lf</STRONG>  label format
+       <STRONG>set_clock</STRONG>                  <STRONG>sclk</STRONG>      <STRONG>SC</STRONG>  set clock, #1 hrs #2 mins #3
+                                                secs
+       <STRONG>display_clock</STRONG>              <STRONG>dclk</STRONG>      <STRONG>DK</STRONG>  display clock
+       <STRONG>remove_clock</STRONG>               <STRONG>rmclk</STRONG>     <STRONG>RC</STRONG>  remove clock
+       <STRONG>create_window</STRONG>              <STRONG>cwin</STRONG>      <STRONG>CW</STRONG>  define a window #1 from #2,#3
+                                                to #4,#5
+       <STRONG>goto_window</STRONG>                <STRONG>wingo</STRONG>     <STRONG>WG</STRONG>  go to window #1
+       <STRONG>hangup</STRONG>                     <STRONG>hup</STRONG>       <STRONG>HU</STRONG>  hang-up phone
+       <STRONG>dial_phone</STRONG>                 <STRONG>dial</STRONG>      <STRONG>DI</STRONG>  dial number #1
+       <STRONG>quick_dial</STRONG>                 <STRONG>qdial</STRONG>     <STRONG>QD</STRONG>  dial number #1 without
+                                                checking
+       <STRONG>tone</STRONG>                       <STRONG>tone</STRONG>      <STRONG>TO</STRONG>  select touch tone dialing
+       <STRONG>pulse</STRONG>                      <STRONG>pulse</STRONG>     <STRONG>PU</STRONG>  select pulse dialing
+       <STRONG>flash_hook</STRONG>                 <STRONG>hook</STRONG>      <STRONG>fh</STRONG>  flash switch hook
+       <STRONG>fixed_pause</STRONG>                <STRONG>pause</STRONG>     <STRONG>PA</STRONG>  pause for 2-3 seconds
+       <STRONG>wait_tone</STRONG>                  <STRONG>wait</STRONG>      <STRONG>WA</STRONG>  wait for dial-tone
+       <STRONG>user0</STRONG>                      <STRONG>u0</STRONG>        <STRONG>u0</STRONG>  User string #0
+       <STRONG>user1</STRONG>                      <STRONG>u1</STRONG>        <STRONG>u1</STRONG>  User string #1
+       <STRONG>user2</STRONG>                      <STRONG>u2</STRONG>        <STRONG>u2</STRONG>  User string #2
+       <STRONG>user3</STRONG>                      <STRONG>u3</STRONG>        <STRONG>u3</STRONG>  User string #3
+       <STRONG>user4</STRONG>                      <STRONG>u4</STRONG>        <STRONG>u4</STRONG>  User string #4
+       <STRONG>user5</STRONG>                      <STRONG>u5</STRONG>        <STRONG>u5</STRONG>  User string #5
+       <STRONG>user6</STRONG>                      <STRONG>u6</STRONG>        <STRONG>u6</STRONG>  User string #6
+       <STRONG>user7</STRONG>                      <STRONG>u7</STRONG>        <STRONG>u7</STRONG>  User string #7
+       <STRONG>user8</STRONG>                      <STRONG>u8</STRONG>        <STRONG>u8</STRONG>  User string #8
+       <STRONG>user9</STRONG>                      <STRONG>u9</STRONG>        <STRONG>u9</STRONG>  User string #9
+       <STRONG>orig_pair</STRONG>                  <STRONG>op</STRONG>        <STRONG>op</STRONG>  Set default pair to its
+                                                original value
+       <STRONG>orig_colors</STRONG>                <STRONG>oc</STRONG>        <STRONG>oc</STRONG>  Set all color pairs to the
+                                                original ones
+       <STRONG>initialize_color</STRONG>           <STRONG>initc</STRONG>     <STRONG>Ic</STRONG>  initialize color #1 to
+                                                (#2,#3,#4)
+       <STRONG>initialize_pair</STRONG>            <STRONG>initp</STRONG>     <STRONG>Ip</STRONG>  Initialize color pair #1 to
+                                                fg=(#2,#3,#4), bg=(#5,#6,#7)
+       <STRONG>set_color_pair</STRONG>             <STRONG>scp</STRONG>       <STRONG>sp</STRONG>  Set current color pair to #1
+       <STRONG>set_foreground</STRONG>             <STRONG>setf</STRONG>      <STRONG>Sf</STRONG>  Set foreground color #1
+       <STRONG>set_background</STRONG>             <STRONG>setb</STRONG>      <STRONG>Sb</STRONG>  Set background color #1
+       <STRONG>change_char_pitch</STRONG>          <STRONG>cpi</STRONG>       <STRONG>ZA</STRONG>  Change number of characters
+                                                per inch to #1
+       <STRONG>change_line_pitch</STRONG>          <STRONG>lpi</STRONG>       <STRONG>ZB</STRONG>  Change number of lines per
+                                                inch to #1
+       <STRONG>change_res_horz</STRONG>            <STRONG>chr</STRONG>       <STRONG>ZC</STRONG>  Change horizontal resolution
+                                                to #1
+       <STRONG>change_res_vert</STRONG>            <STRONG>cvr</STRONG>       <STRONG>ZD</STRONG>  Change vertical resolution to
+                                                #1
+       <STRONG>define_char</STRONG>                <STRONG>defc</STRONG>      <STRONG>ZE</STRONG>  Define a character #1, #2 dots
+                                                wide, descender #3
+       <STRONG>enter_doublewide_mode</STRONG>      <STRONG>swidm</STRONG>     <STRONG>ZF</STRONG>  Enter double-wide mode
 
+       <STRONG>enter_draft_quality</STRONG>        <STRONG>sdrfq</STRONG>     <STRONG>ZG</STRONG>  Enter draft-quality mode
 
-               <STRONG>Variable</STRONG>          <STRONG>Cap-</STRONG>     <STRONG>TCap</STRONG>    <STRONG>Description</STRONG>
-                <STRONG>String</STRONG>           <STRONG>name</STRONG>     <STRONG>Code</STRONG>
-       alt_scancode_esc          scesa    S8   Alternate escape
-                                               for scancode emu-
-                                               lation
-       bit_image_carriage_return bicr     Yv   Move to beginning
-                                               of same row
-       bit_image_newline         binel    Zz   Move to next row
-                                               of the bit image
+       <STRONG>enter_italics_mode</STRONG>         <STRONG>sitm</STRONG>      <STRONG>ZH</STRONG>  Enter italic mode
+       <STRONG>enter_leftward_mode</STRONG>        <STRONG>slm</STRONG>       <STRONG>ZI</STRONG>  Start leftward carriage motion
+       <STRONG>enter_micro_mode</STRONG>           <STRONG>smicm</STRONG>     <STRONG>ZJ</STRONG>  Start micro-motion mode
+       <STRONG>enter_near_letter_quality</STRONG>  <STRONG>snlq</STRONG>      <STRONG>ZK</STRONG>  Enter NLQ mode
+       <STRONG>enter_normal_quality</STRONG>       <STRONG>snrmq</STRONG>     <STRONG>ZL</STRONG>  Enter normal-quality mode
+       <STRONG>enter_shadow_mode</STRONG>          <STRONG>sshm</STRONG>      <STRONG>ZM</STRONG>  Enter shadow-print mode
+       <STRONG>enter_subscript_mode</STRONG>       <STRONG>ssubm</STRONG>     <STRONG>ZN</STRONG>  Enter subscript mode
+       <STRONG>enter_superscript_mode</STRONG>     <STRONG>ssupm</STRONG>     <STRONG>ZO</STRONG>  Enter superscript mode
+       <STRONG>enter_upward_mode</STRONG>          <STRONG>sum</STRONG>       <STRONG>ZP</STRONG>  Start upward carriage motion
+       <STRONG>exit_doublewide_mode</STRONG>       <STRONG>rwidm</STRONG>     <STRONG>ZQ</STRONG>  End double-wide mode
+       <STRONG>exit_italics_mode</STRONG>          <STRONG>ritm</STRONG>      <STRONG>ZR</STRONG>  End italic mode
+       <STRONG>exit_leftward_mode</STRONG>         <STRONG>rlm</STRONG>       <STRONG>ZS</STRONG>  End left-motion mode
+       <STRONG>exit_micro_mode</STRONG>            <STRONG>rmicm</STRONG>     <STRONG>ZT</STRONG>  End micro-motion mode
+       <STRONG>exit_shadow_mode</STRONG>           <STRONG>rshm</STRONG>      <STRONG>ZU</STRONG>  End shadow-print mode
+       <STRONG>exit_subscript_mode</STRONG>        <STRONG>rsubm</STRONG>     <STRONG>ZV</STRONG>  End subscript mode
+       <STRONG>exit_superscript_mode</STRONG>      <STRONG>rsupm</STRONG>     <STRONG>ZW</STRONG>  End superscript mode
+       <STRONG>exit_upward_mode</STRONG>           <STRONG>rum</STRONG>       <STRONG>ZX</STRONG>  End reverse character motion
+       <STRONG>micro_column_address</STRONG>       <STRONG>mhpa</STRONG>      <STRONG>ZY</STRONG>  Like column_address in micro
+                                                mode
+       <STRONG>micro_down</STRONG>                 <STRONG>mcud1</STRONG>     <STRONG>ZZ</STRONG>  Like cursor_down in micro mode
+       <STRONG>micro_left</STRONG>                 <STRONG>mcub1</STRONG>     <STRONG>Za</STRONG>  Like cursor_left in micro mode
+       <STRONG>micro_right</STRONG>                <STRONG>mcuf1</STRONG>     <STRONG>Zb</STRONG>  Like cursor_right in micro
+                                                mode
+       <STRONG>micro_row_address</STRONG>          <STRONG>mvpa</STRONG>      <STRONG>Zc</STRONG>  Like row_address #1 in micro
+                                                mode
+       <STRONG>micro_up</STRONG>                   <STRONG>mcuu1</STRONG>     <STRONG>Zd</STRONG>  Like cursor_up in micro mode
+       <STRONG>order_of_pins</STRONG>              <STRONG>porder</STRONG>    <STRONG>Ze</STRONG>  Match software bits to print-
+                                                head pins
+       <STRONG>parm_down_micro</STRONG>            <STRONG>mcud</STRONG>      <STRONG>Zf</STRONG>  Like parm_down_cursor in micro
+                                                mode
+       <STRONG>parm_left_micro</STRONG>            <STRONG>mcub</STRONG>      <STRONG>Zg</STRONG>  Like parm_left_cursor in micro
+                                                mode
+       <STRONG>parm_right_micro</STRONG>           <STRONG>mcuf</STRONG>      <STRONG>Zh</STRONG>  Like parm_right_cursor in
+                                                micro mode
+       <STRONG>parm_up_micro</STRONG>              <STRONG>mcuu</STRONG>      <STRONG>Zi</STRONG>  Like parm_up_cursor in micro
+                                                mode
+       <STRONG>select_char_set</STRONG>            <STRONG>scs</STRONG>       <STRONG>Zj</STRONG>  Select character set, #1
+       <STRONG>set_bottom_margin</STRONG>          <STRONG>smgb</STRONG>      <STRONG>Zk</STRONG>  Set bottom margin at current
+                                                line
+       <STRONG>set_bottom_margin_parm</STRONG>     <STRONG>smgbp</STRONG>     <STRONG>Zl</STRONG>  Set bottom margin at line #1
+                                                or (if smgtp is not given) #2
+                                                lines from bottom
+       <STRONG>set_left_margin_parm</STRONG>       <STRONG>smglp</STRONG>     <STRONG>Zm</STRONG>  Set left (right) margin at
+                                                column #1
+       <STRONG>set_right_margin_parm</STRONG>      <STRONG>smgrp</STRONG>     <STRONG>Zn</STRONG>  Set right margin at column #1
+       <STRONG>set_top_margin</STRONG>             <STRONG>smgt</STRONG>      <STRONG>Zo</STRONG>  Set top margin at current line
+       <STRONG>set_top_margin_parm</STRONG>        <STRONG>smgtp</STRONG>     <STRONG>Zp</STRONG>  Set top (bottom) margin at row
+                                                #1
+       <STRONG>start_bit_image</STRONG>            <STRONG>sbim</STRONG>      <STRONG>Zq</STRONG>  Start printing bit image
+                                                graphics
+       <STRONG>start_char_set_def</STRONG>         <STRONG>scsd</STRONG>      <STRONG>Zr</STRONG>  Start character set definition
+                                                #1, with #2 characters in the
+                                                set
+       <STRONG>stop_bit_image</STRONG>             <STRONG>rbim</STRONG>      <STRONG>Zs</STRONG>  Stop printing bit image
+                                                graphics
+       <STRONG>stop_char_set_def</STRONG>          <STRONG>rcsd</STRONG>      <STRONG>Zt</STRONG>  End definition of character
+                                                set #1
+       <STRONG>subscript_characters</STRONG>       <STRONG>subcs</STRONG>     <STRONG>Zu</STRONG>  List of subscriptable
+                                                characters
+       <STRONG>superscript_characters</STRONG>     <STRONG>supcs</STRONG>     <STRONG>Zv</STRONG>  List of superscriptable
+                                                characters
+       <STRONG>these_cause_cr</STRONG>             <STRONG>docr</STRONG>      <STRONG>Zw</STRONG>  Printing any of these
+                                                characters causes CR
+       <STRONG>zero_motion</STRONG>                <STRONG>zerom</STRONG>     <STRONG>Zx</STRONG>  No motion for subsequent
+                                                character
 
-       bit_image_repeat          birep    Xy   Repeat bit image
-                                               cell #1 #2 times
-       char_set_names            csnm     Zy   Produce #1'th item
-                                               from list of char-
-                                               acter set names
-       code_set_init             csin     ci   Init sequence for
-                                               multiple codesets
-       color_names               colornm  Yw   Give name for
-                                               color #1
-       define_bit_image_region   defbi    Yx   Define rectangular
-                                               bit image region
-       device_type               devt     dv   Indicate lan-
-                                               guage/codeset sup-
-                                               port
-       display_pc_char           dispc    S1   Display PC charac-
-                                               ter #1
-       end_bit_image_region      endbi    Yy   End a bit-image
-                                               region
-       enter_pc_charset_mode     smpch    S2   Enter PC character
-                                               display mode
-       enter_scancode_mode       smsc     S4   Enter PC scancode
-                                               mode
-       exit_pc_charset_mode      rmpch    S3   Exit PC character
-                                               display mode
-       exit_scancode_mode        rmsc     S5   Exit PC scancode
-                                               mode
-       get_mouse                 getm     Gm   Curses should get
-                                               button events,
-                                               parameter #1 not
-                                               documented.
-       key_mouse                 kmous    Km   Mouse event has
-                                               occurred
-       mouse_info                minfo    Mi   Mouse status
-                                               information
-       pc_term_options           pctrm    S6   PC terminal
-                                               options
-       pkey_plab                 pfxl     xl   Program function
-                                               key #1 to type
-                                               string #2 and show
-                                               string #3
-       req_mouse_pos             reqmp    RQ   Request mouse
-                                               position
-       scancode_escape           scesc    S7   Escape for scan-
-                                               code emulation
-       set0_des_seq              s0ds     s0   Shift to codeset 0
-                                               (EUC set 0, ASCII)
-       set1_des_seq              s1ds     s1   Shift to codeset 1
-       set2_des_seq              s2ds     s2   Shift to codeset 2
-       set3_des_seq              s3ds     s3   Shift to codeset 3
-       set_a_background          setab    AB   Set background
-                                               color to #1, using
-                                               ANSI escape
-       set_a_foreground          setaf    AF   Set foreground
-                                               color to #1, using
-                                               ANSI escape
-       set_color_band            setcolor Yz   Change to ribbon
-                                               color #1
-       set_lr_margin             smglr    ML   Set both left and
-                                               right margins to
-                                               #1, #2.  (ML is
-                                               not in BSD term-
-                                               cap).
-       set_page_length           slines   YZ   Set page length to
-                                               #1 lines
+       The following string  capabilities  are  present  in  the  SVr4.0  term
+       structure, but were originally not documented in the man page.
 
+                                      <STRONG>Code</STRONG>
+       <STRONG>String</STRONG> <STRONG>Capability</STRONG> <STRONG>Name</STRONG>     <STRONG>TI</STRONG>        <STRONG>TC</STRONG>  <STRONG>Description</STRONG>
+       ------------------------------------------------------------------------
+       <STRONG>char_set_names</STRONG>             <STRONG>csnm</STRONG>      <STRONG>Zy</STRONG>  Produce #1'th item from list
+                                                of character set names
+       <STRONG>key_mouse</STRONG>                  <STRONG>kmous</STRONG>     <STRONG>Km</STRONG>  Mouse event has occurred
+       <STRONG>mouse_info</STRONG>                 <STRONG>minfo</STRONG>     <STRONG>Mi</STRONG>  Mouse status information
+       <STRONG>req_mouse_pos</STRONG>              <STRONG>reqmp</STRONG>     <STRONG>RQ</STRONG>  Request mouse position
+       <STRONG>get_mouse</STRONG>                  <STRONG>getm</STRONG>      <STRONG>Gm</STRONG>  Curses should get button
+                                                events, parameter #1 not
+                                                documented.
+       <STRONG>set_a_foreground</STRONG>           <STRONG>setaf</STRONG>     <STRONG>AF</STRONG>  Set foreground color to #1,
+                                                using ANSI escape
+       <STRONG>set_a_background</STRONG>           <STRONG>setab</STRONG>     <STRONG>AB</STRONG>  Set background color to #1,
+                                                using ANSI escape
+       <STRONG>pkey_plab</STRONG>                  <STRONG>pfxl</STRONG>      <STRONG>xl</STRONG>  Program function key #1 to
+                                                type string #2 and show string
+                                                #3
+       <STRONG>device_type</STRONG>                <STRONG>devt</STRONG>      <STRONG>dv</STRONG>  Indicate language, codeset
+                                                support
+       <STRONG>code_set_init</STRONG>              <STRONG>csin</STRONG>      <STRONG>ci</STRONG>  Init sequence for multiple
+                                                codesets
+       <STRONG>set0_des_seq</STRONG>               <STRONG>s0ds</STRONG>      <STRONG>s0</STRONG>  Shift to codeset 0 (EUC set 0,
+                                                ASCII)
+       <STRONG>set1_des_seq</STRONG>               <STRONG>s1ds</STRONG>      <STRONG>s1</STRONG>  Shift to codeset 1
+       <STRONG>set2_des_seq</STRONG>               <STRONG>s2ds</STRONG>      <STRONG>s2</STRONG>  Shift to codeset 2
+       <STRONG>set3_des_seq</STRONG>               <STRONG>s3ds</STRONG>      <STRONG>s3</STRONG>  Shift to codeset 3
+       <STRONG>set_lr_margin</STRONG>              <STRONG>smglr</STRONG>     <STRONG>ML</STRONG>  Set both left and right
+                                                margins to #1, #2.  (ML is not
+                                                in BSD termcap).
+       <STRONG>set_tb_margin</STRONG>              <STRONG>smgtb</STRONG>     <STRONG>MT</STRONG>  Sets both top and bottom
+                                                margins to #1, #2
+       <STRONG>bit_image_repeat</STRONG>           <STRONG>birep</STRONG>     <STRONG>Xy</STRONG>  Repeat bit image cell #1 #2
+                                                times
+       <STRONG>bit_image_newline</STRONG>          <STRONG>binel</STRONG>     <STRONG>Zz</STRONG>  Move to next row of the bit
+                                                image
+       <STRONG>bit_image_carriage_return</STRONG>  <STRONG>bicr</STRONG>      <STRONG>Yv</STRONG>  Move to beginning of same row
+       <STRONG>color_names</STRONG>                <STRONG>colornm</STRONG>   <STRONG>Yw</STRONG>  Give name for color #1
+       <STRONG>define_bit_image_region</STRONG>    <STRONG>defbi</STRONG>     <STRONG>Yx</STRONG>  Define rectangular bit image
+                                                region
+       <STRONG>end_bit_image_region</STRONG>       <STRONG>endbi</STRONG>     <STRONG>Yy</STRONG>  End a bit-image region
+       <STRONG>set_color_band</STRONG>             <STRONG>setcolor</STRONG>  <STRONG>Yz</STRONG>  Change to ribbon color #1
+       <STRONG>set_page_length</STRONG>            <STRONG>slines</STRONG>    <STRONG>YZ</STRONG>  Set page length to #1 lines
+       <STRONG>display_pc_char</STRONG>            <STRONG>dispc</STRONG>     <STRONG>S1</STRONG>  Display PC character #1
+       <STRONG>enter_pc_charset_mode</STRONG>      <STRONG>smpch</STRONG>     <STRONG>S2</STRONG>  Enter PC character display
+                                                mode
+       <STRONG>exit_pc_charset_mode</STRONG>       <STRONG>rmpch</STRONG>     <STRONG>S3</STRONG>  Exit PC character display mode
+       <STRONG>enter_scancode_mode</STRONG>        <STRONG>smsc</STRONG>      <STRONG>S4</STRONG>  Enter PC scancode mode
+       <STRONG>exit_scancode_mode</STRONG>         <STRONG>rmsc</STRONG>      <STRONG>S5</STRONG>  Exit PC scancode mode
+       <STRONG>pc_term_options</STRONG>            <STRONG>pctrm</STRONG>     <STRONG>S6</STRONG>  PC terminal options
+       <STRONG>scancode_escape</STRONG>            <STRONG>scesc</STRONG>     <STRONG>S7</STRONG>  Escape for scancode emulation
+       <STRONG>alt_scancode_esc</STRONG>           <STRONG>scesa</STRONG>     <STRONG>S8</STRONG>  Alternate escape for scancode
+                                                emulation
 
-       set_tb_margin             smgtb    MT   Sets both top and
-                                               bottom margins to
-                                               #1, #2
+       The  XSI  Curses standard added these hardcopy capabilities.  They were
+       used in some post-4.1 versions of System V curses,  e.g.,  Solaris  2.5
+       and  IRIX  6.x.   Except for <STRONG>YI</STRONG>, the <STRONG>ncurses</STRONG> termcap names for them are
+       invented.  According to the XSI Curses standard, they have  no  termcap
+       names.   If  your  compiled terminfo entries use these, they may not be
+       binary-compatible with System V terminfo entries after SVr4.1; beware!
 
-        The XSI Curses standard added  these  hardcopy  capabili-
-        ties.  They were used in some post-4.1 versions of System
-        V curses, e.g., Solaris 2.5 and IRIX 6.x.  Except for <STRONG>YI</STRONG>,
-        the <STRONG>ncurses</STRONG> termcap names for them are invented.  Accord-
-        ing to the XSI Curses  standard,  they  have  no  termcap
-        names.  If your compiled terminfo entries use these, they
-        may not  be  binary-compatible  with  System  V  terminfo
-        entries after SVr4.1; beware!
+                                      <STRONG>Code</STRONG>
 
+       <STRONG>String</STRONG> <STRONG>Capability</STRONG> <STRONG>Name</STRONG>     <STRONG>TI</STRONG>        <STRONG>TC</STRONG>  <STRONG>Description</STRONG>
+       ------------------------------------------------------------------------
+       <STRONG>enter_horizontal_hl_mode</STRONG>   <STRONG>ehhlm</STRONG>     <STRONG>Xh</STRONG>  Enter horizontal highlight
+                                                mode
+       <STRONG>enter_left_hl_mode</STRONG>         <STRONG>elhlm</STRONG>     <STRONG>Xl</STRONG>  Enter left highlight mode
+       <STRONG>enter_low_hl_mode</STRONG>          <STRONG>elohlm</STRONG>    <STRONG>Xo</STRONG>  Enter low highlight mode
+       <STRONG>enter_right_hl_mode</STRONG>        <STRONG>erhlm</STRONG>     <STRONG>Xr</STRONG>  Enter right highlight mode
+       <STRONG>enter_top_hl_mode</STRONG>          <STRONG>ethlm</STRONG>     <STRONG>Xt</STRONG>  Enter top highlight mode
+       <STRONG>enter_vertical_hl_mode</STRONG>     <STRONG>evhlm</STRONG>     <STRONG>Xv</STRONG>  Enter vertical highlight mode
+       <STRONG>set_a_attributes</STRONG>           <STRONG>sgr1</STRONG>      <STRONG>sA</STRONG>  Define second set of video
+                                                attributes #1-#6
+       <STRONG>set_pglen_inch</STRONG>             <STRONG>slength</STRONG>   <STRONG>YI</STRONG>  Set page length to #1
+                                                hundredth of an inch (some
+                                                implementations use sL for
+                                                termcap).
 
-                <STRONG>Variable</STRONG>         <STRONG>Cap-</STRONG>   <STRONG>TCap</STRONG>     <STRONG>Description</STRONG>
-                 <STRONG>String</STRONG>          <STRONG>name</STRONG>   <STRONG>Code</STRONG>
-        enter_horizontal_hl_mode ehhlm  Xh   Enter horizontal
-                                             highlight mode
-        enter_left_hl_mode       elhlm  Xl   Enter left highlight
-                                             mode
-        enter_low_hl_mode        elohlm Xo   Enter low highlight
-                                             mode
-        enter_right_hl_mode      erhlm  Xr   Enter right high-
-                                             light mode
-        enter_top_hl_mode        ethlm  Xt   Enter top highlight
-                                             mode
-        enter_vertical_hl_mode   evhlm  Xv   Enter vertical high-
-                                             light mode
-        set_a_attributes         sgr1   sA   Define second set of
-                                             video attributes
-                                             #1-#6
-        set_pglen_inch           slengthYI   Set page length to
-                                             #1 hundredth of an
-                                             inch (some implemen-
-                                             tations use sL for
-                                             termcap).
 
+</PRE><H3><a name="h3-User-Defined-Capabilities">User-Defined Capabilities</a></H3><PRE>
+       The  preceding  section  listed the <EM>predefined</EM> capabilities.  They deal
+       with some special features for terminals no longer (or possibly  never)
+       produced.   Occasionally  there are special features of newer terminals
+       which are awkward or impossible to represent by reusing the  predefined
+       capabilities.
 
-</PRE>
-<H3><a name="h3-User-Defined-Capabilities">User-Defined Capabilities</a></H3><PRE>
-       The  preceding section listed the <EM>predefined</EM> capabilities.
-       They deal with some  special  features  for  terminals  no
-       longer  (or  possibly never) produced.  Occasionally there
-       are special features of newer terminals which are  awkward
-       or impossible to represent by reusing the predefined capa-
-       bilities.
+       <EM>ncurses</EM>    addresses   this   limitation   by   allowing   user-defined
+       capabilities.  The <STRONG>tic</STRONG> and <STRONG>infocmp</STRONG> programs provide the <STRONG>-x</STRONG>  option  for
+       this purpose.  When <STRONG>-x</STRONG> is set, <STRONG>tic</STRONG> treats unknown capabilities as user-
+       defined.  That is, if <STRONG>tic</STRONG> encounters a capability name  which  it  does
+       not  recognize, it infers its type (Boolean, number or string) from the
+       syntax and makes an extended table  entry  for  that  capability.   The
+       <STRONG><A HREF="curs_extend.3x.html">use_extended_names(3x)</A></STRONG>  function  makes  this information conditionally
+       available to applications.   The  <EM>ncurses</EM>  library  provides  the  data
+       leaving most of the behavior to applications:
 
-       <STRONG>ncurses</STRONG> addresses this limitation by allowing user-defined
-       capabilities.  The <STRONG>tic</STRONG> and <STRONG>infocmp</STRONG> programs provide the <STRONG>-x</STRONG>
-       option for this purpose.   When  <STRONG>-x</STRONG>  is  set,  <STRONG>tic</STRONG>  treats
-       unknown  capabilities  as  user-defined.   That is, if <STRONG>tic</STRONG>
-       encounters a capability name which it does not  recognize,
-       it  infers  its  type (boolean, number or string) from the
-       syntax and makes an extended table entry for that capabil-
-       ity.   The <STRONG>use_extended_names</STRONG> function makes this informa-
-       tion conditionally available to applications.  The ncurses
-       library  provides the data leaving most of the behavior to
-       applications:
+       <STRONG>o</STRONG>   User-defined  capability  strings  whose  name  begins with "k" are
+           treated as function keys.
 
-       <STRONG>o</STRONG>   User-defined capability strings whose name begins with
-           "k" are treated as function keys.
+       <STRONG>o</STRONG>   The types (Boolean,  number,  string)  determined  by  <STRONG>tic</STRONG>  can  be
+           inferred by successful calls on <STRONG>tigetflag</STRONG>, etc.
 
-       <STRONG>o</STRONG>   The  types (boolean, number, string) determined by <STRONG>tic</STRONG>
-           can be inferred by successful calls on <STRONG>tigetflag</STRONG>, etc.
+       <STRONG>o</STRONG>   If the capability name happens to be two characters, the capability
+           is also available through the termcap interface.
 
-       <STRONG>o</STRONG>   If the capability name happens to be  two  characters,
-           the  capability  is also available through the termcap
-           interface.
+       While termcap is said to be  extensible  because  it  does  not  use  a
+       predefined  set of capabilities, in practice it has been limited to the
+       capabilities defined by terminfo implementations.   As  a  rule,  user-
+       defined capabilities intended for use by termcap applications should be
+       limited to Booleans and numbers to avoid running  past  the  1023  byte
+       limit  assumed  by  termcap implementations and their applications.  In
+       particular, providing extended sets  of  function  keys  (past  the  60
+       numbered keys and the handful of special named keys) is best done using
+       the longer names available using terminfo.
 
-       While termcap is said to be extensible because it does not
-       use  a  predefined set of capabilities, in practice it has
-       been limited  to  the  capabilities  defined  by  terminfo
-       implementations.   As  a  rule,  user-defined capabilities
-       intended for use by termcap applications should be limited
-       to  booleans  and  numbers  to avoid running past the 1023
-       byte limit assumed by termcap  implementations  and  their
-       applications.   In  particular, providing extended sets of
-       function keys (past the 60 numbered keys and  the  handful
-       of special named keys) is best done using the longer names
-       available using terminfo.
+       The <EM>ncurses</EM> library uses a few of these user-defined  capabilities,  as
+       described  in <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>.  Other user-defined capabilities (including
+       function keys) are described in the terminal database, in  the  section
+       on <EM>NCURSES</EM> <EM>USER-DEFINABLE</EM> <EM>CAPABILITIES</EM>
 
 
-</PRE>
-<H3><a name="h3-A-Sample-Entry">A Sample Entry</a></H3><PRE>
-       The following entry, describing an ANSI-standard terminal,
-       is  representative  of  what a <STRONG>terminfo</STRONG> entry for a modern
-       terminal typically looks like.
+</PRE><H3><a name="h3-A-Sample-Entry">A Sample Entry</a></H3><PRE>
+       The   following   entry,   describing  an  ANSI-standard  terminal,  is
+       representative of what a <STRONG>terminfo</STRONG> entry for a modern terminal typically
+       looks like.
 
        ansi|ansi/pc-term compatible with color,
                am, mc5i, mir, msgr,
@@ -1106,46 +1006,59 @@
                smul=\E[4m, tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n,
                u8=\E[?%[;0123456789]c, u9=\E[c, vpa=\E[%i%p1%dd,
 
-       Entries may continue onto multiple lines by placing  white
-       space  at  the  beginning  of  each line except the first.
-       Comments may be included  on  lines  beginning  with  "#".
-       Capabilities in <EM>terminfo</EM> are of three types:
+       Entries  may continue onto multiple lines by placing white space at the
+       beginning of each line except the first.  Comments may be  included  on
+       lines beginning with "#".  Capabilities in <EM>terminfo</EM> are of three types:
 
-       <STRONG>o</STRONG>   Boolean  capabilities which indicate that the terminal
-           has some particular feature,
+       <STRONG>o</STRONG>   Boolean  capabilities  which  indicate  that  the terminal has some
+           particular feature,
 
-       <STRONG>o</STRONG>   numeric capabilities giving the size of  the  terminal
-           or the size of particular delays, and
+       <STRONG>o</STRONG>   numeric capabilities giving the size of the terminal or the size of
+           particular delays, and
 
-       <STRONG>o</STRONG>   string  capabilities,  which give a sequence which can
-           be used to perform particular terminal operations.
+       <STRONG>o</STRONG>   string  capabilities,  which  give  a sequence which can be used to
+           perform particular terminal operations.
 
 
-</PRE>
-<H3><a name="h3-Types-of-Capabilities">Types of Capabilities</a></H3><PRE>
-       All capabilities have names.  For instance, the fact  that
-       ANSI-standard  terminals  have <EM>automatic</EM> <EM>margins</EM> (i.e., an
-       automatic return and line-feed when the end of a  line  is
-       reached)  is  indicated  by  the capability <STRONG>am</STRONG>.  Hence the
-       description of ansi includes <STRONG>am</STRONG>.  Numeric capabilities are
-       followed  by  the character "#" and then a positive value.
-       Thus <STRONG>cols</STRONG>, which indicates the number of columns the  ter-
-       minal  has,  gives  the  value  "80" for ansi.  Values for
-       numeric capabilities may be specified in decimal, octal or
-       hexadecimal,  using the C programming language conventions
-       (e.g., 255, 0377 and 0xff or 0xFF).
+</PRE><H3><a name="h3-Types-of-Capabilities">Types of Capabilities</a></H3><PRE>
+       All capabilities have names.  For instance, the fact that ANSI-standard
+       terminals  have  <EM>automatic</EM> <EM>margins</EM> (i.e., an automatic return and line-
+       feed when the end of a line is reached) is indicated by the  capability
+       <STRONG>am</STRONG>.   Hence  the description of ansi includes <STRONG>am</STRONG>.  Numeric capabilities
+       are followed by the character "#" and  then  a  positive  value.   Thus
+       <STRONG>cols</STRONG>, which indicates the number of columns the terminal has, gives the
+       value "80" for ansi.  Values for numeric capabilities may be  specified
+       in  decimal,  octal,  or  hexadecimal, using the C programming language
+       conventions (e.g., 255, 0377 and 0xff or 0xFF).
 
-       Finally, string valued capabilities, such as <STRONG>el</STRONG> (clear  to
-       end of line sequence) are given by the two-character code,
-       an "=", and then a string ending  at  the  next  following
-       ",".
+       Finally, string valued capabilities, such as <STRONG>el</STRONG> (clear to end  of  line
+       sequence)  are  given  by  the  two-character  code, an "=", and then a
+       string ending at the next following ",".
 
-       A  number  of  escape sequences are provided in the string
-       valued capabilities for easy encoding of characters there.
-       Both  <STRONG>\E</STRONG>  and  <STRONG>\e</STRONG> map to an ESCAPE character, <STRONG>^x</STRONG> maps to a
-       control-x for any appropriate x, and the sequences  <STRONG>\n</STRONG>  <STRONG>\l</STRONG>
-       <STRONG>\r</STRONG>  <STRONG>\t</STRONG>  <STRONG>\b</STRONG>  <STRONG>\f</STRONG>  <STRONG>\s</STRONG> give a newline, line-feed, return, tab,
-       backspace, form-feed, and space.  Other escapes include
+       A number  of  escape  sequences  are  provided  in  the  string  valued
+       capabilities for easy encoding of characters there:
+
+       <STRONG>o</STRONG>   Both <STRONG>\E</STRONG> and <STRONG>\e</STRONG> map to an ESCAPE character,
+
+       <STRONG>o</STRONG>   <STRONG>^</STRONG><STRONG><EM>x</EM></STRONG> maps to a control-<EM>x</EM> for any appropriate <EM>x</EM>, and
+
+       <STRONG>o</STRONG>   the sequences
+
+             <STRONG>\n</STRONG>, <STRONG>\l</STRONG>, <STRONG>\r</STRONG>, <STRONG>\t</STRONG>, <STRONG>\b</STRONG>, <STRONG>\f</STRONG>, and <STRONG>\s</STRONG>
+
+           produce
+
+             <EM>newline</EM>, <EM>line-feed</EM>, <EM>return</EM>, <EM>tab</EM>, <EM>backspace</EM>, <EM>form-feed</EM>, and <EM>space</EM>,
+
+           respectively.
+
+       X/Open Curses does not say what "appropriate <EM>x</EM>" might be.  In practice,
+       that is a printable ASCII graphic character.  The special case "^?"  is
+       interpreted  as  DEL (127).  In all other cases, the character value is
+       AND'd with 0x1f, mapping to ASCII control codes in the range 0  through
+       31.
+
+       Other escapes include
 
        <STRONG>o</STRONG>   <STRONG>\^</STRONG> for <STRONG>^</STRONG>,
 
@@ -1157,170 +1070,165 @@
 
        <STRONG>o</STRONG>   and <STRONG>\0</STRONG> for null.
 
-           <STRONG>\0</STRONG> will produce  \200,  which  does  not  terminate  a
-           string  but behaves as a null character on most termi-
-           nals, providing CS7 is specified.  See <STRONG>stty(1)</STRONG>.
+           <STRONG>\0</STRONG> will produce \200, which does not terminate a string but behaves
+           as a null character on most terminals, providing CS7 is  specified.
+           See <STRONG>stty(1)</STRONG>.
 
-           The reason for this quirk is to maintain  binary  com-
-           patibility  of  the compiled terminfo files with other
-           implementations, e.g., the SVr4 systems,  which  docu-
-           ment  this.   Compiled  terminfo files use null-termi-
-           nated strings, with no lengths.  Modifying this  would
-           require a new binary format, which would not work with
-           other implementations.
+           The  reason  for  this quirk is to maintain binary compatibility of
+           the compiled terminfo files with other implementations,  e.g.,  the
+           SVr4  systems,  which  document  this.  Compiled terminfo files use
+           null-terminated strings, with no  lengths.   Modifying  this  would
+           require  a  new  binary  format,  which  would  not work with other
+           implementations.
 
-       Finally, characters may be given  as  three  octal  digits
-       after a <STRONG>\</STRONG>.
+       Finally, characters may be given as three octal digits after a <STRONG>\</STRONG>.
 
-       A  delay  in  milliseconds may appear anywhere in a string
-       capability, enclosed in $&lt;..&gt; brackets, as in  <STRONG>el</STRONG>=\EK$&lt;5&gt;,
-       and  padding  characters  are supplied by <EM>tputs</EM> to provide
-       this delay.  The delay must be a number with at  most  one
-       decimal place of precision; it may be followed by suffixes
-       "*" or "/" or both.  A  "*"  indicates  that  the  padding
-       required  is  proportional to the number of lines affected
-       by the  operation,  and  the  amount  given  is  the  per-
-       affected-unit  padding  required.   (In the case of insert
-       character,  the  factor  is  still  the  number  of  <EM>lines</EM>
-       affected.)   Normally,  padding  is advisory if the device
-       has the <STRONG>xon</STRONG> capability; it is used  for  cost  computation
-       but  does not trigger delays.  A "/" suffix indicates that
-       the padding is mandatory and forces a delay of  the  given
-       number  of  milliseconds  even on devices for which <STRONG>xon</STRONG> is
-       present to indicate flow control.
+       A delay in milliseconds may appear anywhere  in  a  string  capability,
+       enclosed  in  $&lt;..&gt;  brackets, as in <STRONG>el</STRONG>=\EK$&lt;5&gt;, and padding characters
+       are supplied by <STRONG><A HREF="curs_terminfo.3x.html">tputs(3x)</A></STRONG> to provide this delay.
 
-       Sometimes individual capabilities must be  commented  out.
-       To  do this, put a period before the capability name.  For
-       example, see the second <STRONG>ind</STRONG> in the example above.
+       <STRONG>o</STRONG>   The delay must be a number  with  at  most  one  decimal  place  of
+           precision; it may be followed by suffixes "*" or "/" or both.
+
+       <STRONG>o</STRONG>   A  "*"  indicates  that the padding required is proportional to the
+           number of lines affected by the operation, and the amount given  is
+           the  per-affected-unit  padding  required.   (In the case of insert
+           character, the factor is still the number of <EM>lines</EM> affected.)
+
+           Normally, padding is advisory if the device has the <STRONG>xon</STRONG> capability;
+           it is used for cost computation but does not trigger delays.
+
+       <STRONG>o</STRONG>   A  "/"  suffix indicates that the padding is mandatory and forces a
+           delay of the given number of milliseconds even on devices for which
+           <STRONG>xon</STRONG> is present to indicate flow control.
+
+       Sometimes  individual  capabilities must be commented out.  To do this,
+       put a period before the capability name.  For example, see  the  second
+       <STRONG>ind</STRONG> in the example above.
 
 
-</PRE>
-<H3><a name="h3-Fetching-Compiled-Descriptions">Fetching Compiled Descriptions</a></H3><PRE>
-       The <STRONG>ncurses</STRONG> library searches for terminal descriptions  in
-       several places.  It uses only the first description found.
-       The library has a compiled-in list  of  places  to  search
-       which  can be overridden by environment variables.  Before
-       starting to search, <STRONG>ncurses</STRONG> eliminates duplicates  in  its
-       search list.
+</PRE><H3><a name="h3-Fetching-Compiled-Descriptions">Fetching Compiled Descriptions</a></H3><PRE>
+       Terminal  descriptions  in  <EM>ncurses</EM>  are  stored in terminal databases.
+       These databases, which are found by their pathname, may  be  configured
+       either as directory trees or hashed databases (see <STRONG><A HREF="term.5.html">term(5)</A></STRONG>),
 
-       <STRONG>o</STRONG>   If  the  environment  variable  TERMINFO is set, it is
-           interpreted as the pathname of a directory  containing
-           the  compiled  description  you  are working on.  Only
-           that directory is searched.
+       The  library  uses  a  compiled-in  list  of  pathnames,  which  can be
+       overridden  by  environment  variables.   Before  starting  to  search,
+       <EM>ncurses</EM>  checks  the  search list, eliminating duplicates and pathnames
+       where no terminal database is found.  The  <EM>ncurses</EM>  library  reads  the
+       first description which passes its consistency checks.
 
-       <STRONG>o</STRONG>   If TERMINFO is not set, <STRONG>ncurses</STRONG> will instead  look  in
-           the  directory <STRONG>$HOME/.terminfo</STRONG> for a compiled descrip-
-           tion.
+       <STRONG>o</STRONG>   The  environment variable <STRONG>TERMINFO</STRONG> is checked first, for a terminal
+           database containing the terminal description.
 
-       <STRONG>o</STRONG>   Next, if the  environment  variable  TERMINFO_DIRS  is
-           set, <STRONG>ncurses</STRONG> will interpret the contents of that vari-
-           able as a  list  of  colon-separated  directories  (or
-           database files) to be searched.
+       <STRONG>o</STRONG>   Next, <EM>ncurses</EM> looks in <EM>$HOME/.terminfo</EM> for a compiled description.
 
-           An  empty directory name (i.e., if the variable begins
-           or ends with a colon, or contains adjacent colons)  is
-           interpreted  as  the  system  location <EM>/usr/share/ter-</EM>
-           <EM>minfo</EM>.
+           This is an optional feature which may be omitted entirely from  the
+           library,  or  limited  to  prevent  accidental  use  by  privileged
+           applications.
 
-       <STRONG>o</STRONG>   Finally, <STRONG>ncurses</STRONG> searches these compiled-in locations:
+       <STRONG>o</STRONG>   Next, if the environment variable  <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM>  is  set,  <EM>ncurses</EM>
+           interprets  the  contents  of  that  variable  as  a list of colon-
+           separated pathnames of terminal databases to be searched.
 
-           <STRONG>o</STRONG>   a          list           of           directories
-               (/usr/local/ncurses/share/terminfo:/usr/share/ter-
-               minfo), and
+           An empty pathname (i.e., if the variable  begins  or  ends  with  a
+           colon,  or  contains  adjacent colons) is interpreted as the system
+           location <EM>/usr/share/terminfo</EM>.
+
+       <STRONG>o</STRONG>   Finally, <EM>ncurses</EM> searches these compiled-in locations:
+
+           <STRONG>o</STRONG>   a list of directories (/usr/share/terminfo), and
 
            <STRONG>o</STRONG>   the system terminfo directory, <EM>/usr/share/terminfo</EM>
-               (the compiled-in default).
+
+       The <STRONG>TERMINFO</STRONG> variable can contain a terminal description instead of the
+       pathname  of  a terminal database.  If this variable begins with "hex:"
+       or "b64:" then <EM>ncurses</EM> reads a terminal description  from  hexadecimal-
+       or  base64-encoded  data,  and  if  that  description  matches the name
+       sought, will use that.  This encoded data can be  set  using  the  "-Q"
+       option of <STRONG>tic</STRONG> or <STRONG>infocmp</STRONG>.
+
+       The  preceding addresses the usual configuration of <EM>ncurses</EM>, which uses
+       terminal descriptions prepared in <EM>terminfo</EM> format.   While  <EM>termcap</EM>  is
+       less  expressive,  <EM>ncurses</EM>  can  also  be  configured  to  read <EM>termcap</EM>
+       descriptions.   In  that  configuration,  it  checks  the  <EM>TERMCAP</EM>  and
+       <EM>TERMPATH</EM>  variables  (for  content and search path, respectively) after
+       the system terminal database.
 
 
-</PRE>
-<H3><a name="h3-Preparing-Descriptions">Preparing Descriptions</a></H3><PRE>
-       We  now  outline how to prepare descriptions of terminals.
-       The most effective way to prepare a  terminal  description
-       is  by  imitating the description of a similar terminal in
-       <EM>terminfo</EM> and to build up a  description  gradually,  using
-       partial descriptions with <EM>vi</EM> or some other screen-oriented
-       program to check that they are correct.  Be aware  that  a
-       very unusual terminal may expose deficiencies in the abil-
-       ity of the <EM>terminfo</EM> file to describe it  or  bugs  in  the
-       screen-handling code of the test program.
+</PRE><H3><a name="h3-Preparing-Descriptions">Preparing Descriptions</a></H3><PRE>
+       We now outline how to prepare  descriptions  of  terminals.   The  most
+       effective  way  to  prepare  a terminal description is by imitating the
+       description of a similar  terminal  in  <EM>terminfo</EM>  and  to  build  up  a
+       description gradually, using partial descriptions with <EM>vi</EM> or some other
+       screen-oriented program to check that they are correct.  Be aware  that
+       a  very  unusual terminal may expose deficiencies in the ability of the
+       <EM>terminfo</EM> file to describe it or bugs in the screen-handling code of the
+       test program.
 
-       To  get the padding for insert line right (if the terminal
-       manufacturer did not document it) a severe test is to edit
-       a  large file at 9600 baud, delete 16 or so lines from the
-       middle of the screen, then hit the "u" key  several  times
-       quickly.   If the terminal messes up, more padding is usu-
-       ally needed.  A similar test can be used for insert  char-
-       acter.
+       To  get the padding for insert line right (if the terminal manufacturer
+       did not document it) a severe test is to edit  a  large  file  at  9600
+       baud, delete 16 or so lines from the middle of the screen, then hit the
+       "u" key several times quickly.  If the terminal messes up, more padding
+       is usually needed.  A similar test can be used for insert character.
 
 
-</PRE>
-<H3><a name="h3-Basic-Capabilities">Basic Capabilities</a></H3><PRE>
-       The  number  of  columns  on each line for the terminal is
-       given by the <STRONG>cols</STRONG> numeric capability.  If the terminal  is
-       a  CRT, then the number of lines on the screen is given by
-       the <STRONG>lines</STRONG> capability.  If the terminal wraps around to the
-       beginning  of the next line when it reaches the right mar-
-       gin, then it should have the <STRONG>am</STRONG> capability.  If the termi-
-       nal  can  clear its screen, leaving the cursor in the home
-       position, then this is given by the <STRONG>clear</STRONG> string  capabil-
-       ity.   If the terminal overstrikes (rather than clearing a
-       position when a character is struck over) then  it  should
-       have  the  <STRONG>os</STRONG>  capability.   If the terminal is a printing
-       terminal, with no soft copy unit, give it both <STRONG>hc</STRONG> and  <STRONG>os</STRONG>.
-       (<STRONG>os</STRONG>  applies to storage scope terminals, such as TEKTRONIX
-       4010 series, as well as hard copy and APL terminals.)   If
-       there is a code to move the cursor to the left edge of the
-       current row, give this as <STRONG>cr</STRONG>.  (Normally this will be car-
-       riage  return,  control M.)  If there is a code to produce
-       an audible signal (bell, beep, etc) give this as <STRONG>bel</STRONG>.
+</PRE><H3><a name="h3-Basic-Capabilities">Basic Capabilities</a></H3><PRE>
+       The  number  of  columns  on each line for the terminal is given by the
+       <STRONG>cols</STRONG> numeric capability.  If the terminal is a CRT, then the number  of
+       lines  on the screen is given by the <STRONG>lines</STRONG> capability.  If the terminal
+       wraps around to the beginning of the next  line  when  it  reaches  the
+       right  margin,  then it should have the <STRONG>am</STRONG> capability.  If the terminal
+       can clear its screen, leaving the cursor in  the  home  position,  then
+       this  is  given  by  the  <STRONG>clear</STRONG>  string  capability.   If  the terminal
+       overstrikes (rather than clearing a position when a character is struck
+       over)  then  it  should  have  the <STRONG>os</STRONG> capability.  If the terminal is a
+       printing terminal, with no soft copy unit, give it both <STRONG>hc</STRONG> and <STRONG>os</STRONG>.  (<STRONG>os</STRONG>
+       applies  to  storage scope terminals, such as TEKTRONIX 4010 series, as
+       well as hard copy and APL terminals.)  If there is a code to  move  the
+       cursor to the left edge of the current row, give this as <STRONG>cr</STRONG>.  (Normally
+       this will be carriage return,  control/M.)   If  there  is  a  code  to
+       produce an audible signal (bell, beep, etc) give this as <STRONG>bel</STRONG>.
 
-       If there is a code to move the cursor one position to  the
-       left  (such  as backspace) that capability should be given
-       as <STRONG>cub1</STRONG>.  Similarly, codes to move to the right,  up,  and
-       down should be given as <STRONG>cuf1</STRONG>, <STRONG>cuu1</STRONG>, and <STRONG>cud1</STRONG>.  These local
-       cursor motions should not alter the text they  pass  over,
-       for  example,  you would not normally use "<STRONG>cuf1</STRONG>= " because
-       the space would erase the character moved over.
+       If there is a code to move the cursor one position to the left (such as
+       backspace) that capability should be given as <STRONG>cub1</STRONG>.   Similarly,  codes
+       to  move  to the right, up, and down should be given as <STRONG>cuf1</STRONG>, <STRONG>cuu1</STRONG>, and
+       <STRONG>cud1</STRONG>.  These local cursor motions should not alter the text  they  pass
+       over,  for  example,  you  would  not normally use "<STRONG>cuf1</STRONG>= " because the
+       space would erase the character moved over.
 
-       A very important point  here  is  that  the  local  cursor
-       motions  encoded in <EM>terminfo</EM> are undefined at the left and
-       top edges  of  a  CRT  terminal.   Programs  should  never
-       attempt  to  backspace  around the left edge, unless <STRONG>bw</STRONG> is
-       given, and never attempt to go up locally off the top.  In
-       order  to  scroll text up, a program will go to the bottom
-       left corner of the screen and send the <STRONG>ind</STRONG> (index) string.
+       A very important point here is that the local cursor motions encoded in
+       <EM>terminfo</EM>  are  undefined  at  the left and top edges of a CRT terminal.
+       Programs should never attempt to backspace around the left edge, unless
+       <STRONG>bw</STRONG>  is given, and never attempt to go up locally off the top.  In order
+       to scroll text up, a program will go to the bottom left corner  of  the
+       screen and send the <STRONG>ind</STRONG> (index) string.
 
-       To scroll text down, a program goes to the top left corner
-       of  the  screen  and  sends the <STRONG>ri</STRONG> (reverse index) string.
-       The strings <STRONG>ind</STRONG> and <STRONG>ri</STRONG> are undefined  when  not  on  their
-       respective corners of the screen.
+       To  scroll  text  down,  a  program  goes to the top left corner of the
+       screen and sends the <STRONG>ri</STRONG> (reverse index) string.  The strings <STRONG>ind</STRONG> and <STRONG>ri</STRONG>
+       are undefined when not on their respective corners of the screen.
 
-       Parameterized versions of the scrolling sequences are <STRONG>indn</STRONG>
-       and <STRONG>rin</STRONG> which have the same semantics as <STRONG>ind</STRONG> and <STRONG>ri</STRONG> except
-       that  they take one parameter, and scroll that many lines.
-       They are also undefined except at the appropriate edge  of
-       the screen.
+       Parameterized  versions  of  the  scrolling  sequences are <STRONG>indn</STRONG> and <STRONG>rin</STRONG>
+       which have the same semantics as <STRONG>ind</STRONG> and <STRONG>ri</STRONG> except that they  take  one
+       parameter,  and scroll that many lines.  They are also undefined except
+       at the appropriate edge of the screen.
 
-       The  <STRONG>am</STRONG>  capability tells whether the cursor sticks at the
-       right edge of the screen when text  is  output,  but  this
-       does not necessarily apply to a <STRONG>cuf1</STRONG> from the last column.
-       The only local motion which is defined from the left  edge
-       is  if  <STRONG>bw</STRONG>  is  given, then a <STRONG>cub1</STRONG> from the left edge will
-       move to the right edge of the previous row.  If <STRONG>bw</STRONG> is  not
-       given,  the effect is undefined.  This is useful for draw-
-       ing a box around the edge of the screen, for example.   If
-       the  terminal has switch selectable automatic margins, the
-       <EM>terminfo</EM> file usually assumes that this is on;  i.e.,  <STRONG>am</STRONG>.
-       If  the  terminal  has  a command which moves to the first
-       column of the next line, that command can be given as  <STRONG>nel</STRONG>
-       (newline).   It  does not matter if the command clears the
-       remainder of the current line, so if the terminal  has  no
-       <STRONG>cr</STRONG>  and <STRONG>lf</STRONG> it may still be possible to craft a working <STRONG>nel</STRONG>
-       out of one or both of them.
+       The <STRONG>am</STRONG> capability tells whether the cursor sticks at the right edge  of
+       the  screen when text is output, but this does not necessarily apply to
+       a <STRONG>cuf1</STRONG> from the last column.  The only local motion  which  is  defined
+       from  the  left  edge is if <STRONG>bw</STRONG> is given, then a <STRONG>cub1</STRONG> from the left edge
+       will move to the right edge of the previous row.  If <STRONG>bw</STRONG> is  not  given,
+       the  effect  is undefined.  This is useful for drawing a box around the
+       edge of the screen, for example.  If the terminal has switch selectable
+       automatic  margins,  the <EM>terminfo</EM> file usually assumes that this is on;
+       i.e., <STRONG>am</STRONG>.  If the terminal has a  command  which  moves  to  the  first
+       column  of  the  next line, that command can be given as <STRONG>nel</STRONG> (newline).
+       It does not matter if the command clears the remainder of  the  current
+       line,  so  if the terminal has no <STRONG>cr</STRONG> and <STRONG>lf</STRONG> it may still be possible to
+       craft a working <STRONG>nel</STRONG> out of one or both of them.
 
-       These  capabilities  suffice  to  describe  hard-copy  and
-       "glass-tty"  terminals.   Thus  the  model  33 teletype is
-       described as
+       These  capabilities  suffice  to  describe  hard-copy  and  "glass-tty"
+       terminals.  Thus the model 33 teletype is described as
 
        33|tty33|tty|model 33 teletype,
                bel=^G, cols#72, cr=^M, cud1=^J, hc, ind=^J, os,
@@ -1332,24 +1240,21 @@
                ind=^J, lines#24,
 
 
-</PRE>
-<H3><a name="h3-Parameterized-Strings">Parameterized Strings</a></H3><PRE>
-       Cursor addressing and other strings  requiring  parameters
-       in  the  terminal  are described by a parameterized string
-       capability, with <EM>printf</EM>-like escapes such  as  <EM>%x</EM>  in  it.
-       For  example, to address the cursor, the <STRONG>cup</STRONG> capability is
-       given, using two parameters: the row and column to address
-       to.  (Rows and columns are numbered from zero and refer to
-       the physical screen visible to the user, not to any unseen
-       memory.)   If  the  terminal  has  memory  relative cursor
-       addressing, that can be indicated by <STRONG>mrcup</STRONG>.
+</PRE><H3><a name="h3-Parameterized-Strings">Parameterized Strings</a></H3><PRE>
+       Cursor  addressing  and  other  strings  requiring  parameters  in  the
+       terminal are described  by  a  parameterized  string  capability,  with
+       <EM>printf</EM>-like  escapes  such  as  <EM>%x</EM>  in it.  For example, to address the
+       cursor, the <STRONG>cup</STRONG> capability is given, using two parameters: the row  and
+       column  to  address  to.   (Rows and columns are numbered from zero and
+       refer to the physical screen visible to the user,  not  to  any  unseen
+       memory.)   If  the terminal has memory relative cursor addressing, that
+       can be indicated by <STRONG>mrcup</STRONG>.
 
-       The parameter mechanism uses a stack and special  <STRONG>%</STRONG>  codes
-       to  manipulate  it.  Typically a sequence will push one of
-       the parameters onto the stack and then print  it  in  some
-       format.   Print  (e.g.,  "%d")  is  a special case.  Other
-       operations, including "%t"  pop  their  operand  from  the
-       stack.  It is noted that more complex operations are often
+       The parameter mechanism uses a stack and special <STRONG>%</STRONG> codes to  manipulate
+       it.   Typically  a  sequence  will  push one of the parameters onto the
+       stack and then print it in  some  format.   Print  (e.g.,  "%d")  is  a
+       special  case.  Other operations, including "%t" pop their operand from
+       the stack.   It  is  noted  that  more  complex  operations  are  often
        necessary, e.g., in the <STRONG>sgr</STRONG> string.
 
        The <STRONG>%</STRONG> encodings have the following meanings:
@@ -1357,21 +1262,21 @@
        <STRONG>%%</STRONG>   outputs "%"
 
        <STRONG>%</STRONG><EM>[[</EM>:<EM>]flags][width[.precision]][</EM><STRONG>doxXs</STRONG><EM>]</EM>
-            as in <STRONG>printf</STRONG>, flags are <EM>[-+#]</EM> and <EM>space</EM>.  Use  a  ":"
-            to  allow the next character to be a "-" flag, avoid-
-            ing interpreting "%-" as an operator.
+            as  in  <STRONG>printf(3)</STRONG>,  flags are <EM>[-+#]</EM> and <EM>space</EM>.  Use a ":" to allow
+            the next character to be a "-" flag, avoiding interpreting "%-" as
+            an operator.
 
-       %c   print pop() like %c in <STRONG>printf</STRONG>
+       <STRONG>%c</STRONG>   print <EM>pop()</EM> like %c in <STRONG>printf</STRONG>
 
-       <STRONG>%s</STRONG>   print pop() like %s in <STRONG>printf</STRONG>
+       <STRONG>%s</STRONG>   print <EM>pop()</EM> like %s in <STRONG>printf</STRONG>
 
        <STRONG>%p</STRONG><EM>[1-9]</EM>
             push <EM>i</EM>'th parameter
 
        <STRONG>%P</STRONG><EM>[a-z]</EM>
-            set dynamic variable <EM>[a-z]</EM> to pop()
+            set dynamic variable <EM>[a-z]</EM> to <EM>pop()</EM>
 
-       <STRONG>%g</STRONG><EM>[a-z]/</EM>
+       <STRONG>%g</STRONG><EM>[a-z]</EM>
             get dynamic variable <EM>[a-z]</EM> and push it
 
        <STRONG>%P</STRONG><EM>[A-Z]</EM>
@@ -1380,12 +1285,41 @@
        <STRONG>%g</STRONG><EM>[A-Z]</EM>
             get static variable <EM>[a-z]</EM> and push it
 
-            The terms  "static"  and  "dynamic"  are  misleading.
-            Historically,  these are simply two different sets of
-            variables, whose values are not reset  between  calls
-            to  <STRONG>tparm</STRONG>.   However,  that fact is not documented in
-            other implementations.  Relying on it will  adversely
-            impact portability to other implementations.
+            The  terms  "static"  and "dynamic" are misleading.  Historically,
+            these are simply two different sets of variables, whose values are
+            not  reset  between calls to <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG>.  However, that fact is not
+            documented in other implementations.  Relying on it will adversely
+            impact portability to other implementations:
+
+            <STRONG>o</STRONG>   SVr2  curses  supported <EM>dynamic</EM> variables.  Those are set only
+                by a <STRONG>%P</STRONG> operator.  A <STRONG>%g</STRONG> for a  given  variable  without  first
+                setting  it  with  <STRONG>%P</STRONG> will give unpredictable results, because
+                dynamic variables are an  uninitialized  local  array  on  the
+                stack in the <STRONG>tparm</STRONG> function.
+
+            <STRONG>o</STRONG>   SVr3.2  curses supported <EM>static</EM> variables.  Those are an array
+                in the <EM>TERMINAL</EM> structure (declared in <STRONG>term.h</STRONG>), and are zeroed
+                automatically when the <STRONG>setupterm</STRONG> function allocates the data.
+
+            <STRONG>o</STRONG>   SVr4 curses made no further improvements to the <EM>dynamic/static</EM>
+                variable feature.
+
+            <STRONG>o</STRONG>   Solaris XPG4 curses does not distinguish between  <EM>dynamic</EM>  and
+                <EM>static</EM>  variables.  They are the same.  Like SVr4 curses, XPG4
+                curses does not initialize these explicitly.
+
+            <STRONG>o</STRONG>   Before version 6.3, <EM>ncurses</EM> stores  both  <EM>dynamic</EM>  and  <EM>static</EM>
+                variables in persistent storage, initialized to zeros.
+
+            <STRONG>o</STRONG>   Beginning  with version 6.3, <EM>ncurses</EM> stores <EM>static</EM> and <EM>dynamic</EM>
+                variables in the same manner as SVr4.
+
+                <STRONG>o</STRONG>   Unlike  other  implementations,  <EM>ncurses</EM>   zeros   dynamic
+                    variables before the first <STRONG>%g</STRONG> or <STRONG>%P</STRONG> operator.
+
+                <STRONG>o</STRONG>   Like  SVr2,  the  scope of dynamic variables in <EM>ncurses</EM> is
+                    within the current call to <STRONG>tparm</STRONG>.  Use static variables if
+                    persistent storage is needed.
 
        <STRONG>%'</STRONG><EM>c</EM><STRONG>'</STRONG> char constant <EM>c</EM>
 
@@ -1395,11 +1329,10 @@
        <STRONG>%l</STRONG>   push strlen(pop)
 
        <STRONG>%+</STRONG>, <STRONG>%-</STRONG>, <STRONG>%*</STRONG>, <STRONG>%/</STRONG>, <STRONG>%m</STRONG>
-            arithmetic (%m is mod): <EM>push(pop()</EM> <EM>op</EM> <EM>pop())</EM>
+            arithmetic (%m is <EM>mod</EM>): <EM>push(pop()</EM> <EM>op</EM> <EM>pop())</EM>
 
        <STRONG>%&amp;</STRONG>, <STRONG>%|</STRONG>, <STRONG>%^</STRONG>
-            bit operations (AND, OR and exclusive-OR): <EM>push(pop()</EM>
-            <EM>op</EM> <EM>pop())</EM>
+            bit operations (AND, OR and exclusive-OR): <EM>push(pop()</EM> <EM>op</EM> <EM>pop())</EM>
 
        <STRONG>%=</STRONG>, <STRONG>%&gt;</STRONG>, <STRONG>%&lt;</STRONG>
             logical operations: <EM>push(pop()</EM> <EM>op</EM> <EM>pop())</EM>
@@ -1408,419 +1341,474 @@
             logical AND and OR operations (for conditionals)
 
        <STRONG>%!</STRONG>, <STRONG>%~</STRONG>
-            unary  operations  (logical  and   bit   complement):
-            push(op pop())
+            unary operations (logical and bit complement): <EM>push(op</EM> <EM>pop())</EM>
 
        <STRONG>%i</STRONG>   add 1 to first two parameters (for ANSI terminals)
 
        <STRONG>%?</STRONG> <EM>expr</EM> <STRONG>%t</STRONG> <EM>thenpart</EM> <STRONG>%e</STRONG> <EM>elsepart</EM> <STRONG>%;</STRONG>
-            This  forms  an  if-then-else.   The  <STRONG>%e</STRONG>  <EM>elsepart</EM> is
-            optional.  Usually the <STRONG>%?</STRONG> <EM>expr</EM> part  pushes  a  value
-            onto  the stack, and <STRONG>%t</STRONG> pops it from the stack, test-
-            ing if it is nonzero (true).  If it is zero  (false),
-            control passes to the <STRONG>%e</STRONG> (else) part.
+            This forms an if-then-else.  The <STRONG>%e</STRONG> <EM>elsepart</EM> is optional.  Usually
+            the <STRONG>%?</STRONG> <EM>expr</EM> part pushes a value onto the stack,  and  <STRONG>%t</STRONG>  pops  it
+            from  the  stack,  testing if it is nonzero (true).  If it is zero
+            (false), control passes to the <STRONG>%e</STRONG> (else) part.
 
             It is possible to form else-if's a la Algol 68:
             <STRONG>%?</STRONG> c1 <STRONG>%t</STRONG> b1 <STRONG>%e</STRONG> c2 <STRONG>%t</STRONG> b2 <STRONG>%e</STRONG> c3 <STRONG>%t</STRONG> b3 <STRONG>%e</STRONG> c4 <STRONG>%t</STRONG> b4 <STRONG>%e</STRONG> <STRONG>%;</STRONG>
 
             where ci are conditions, bi are bodies.
 
-            Use the <STRONG>-f</STRONG> option of <STRONG>tic</STRONG> or <STRONG>infocmp</STRONG> to see the struc-
-            ture of if-then-else's.  Some strings, e.g., <STRONG>sgr</STRONG>  can
-            be very complicated when written on one line.  The <STRONG>-f</STRONG>
-            option splits the string into lines  with  the  parts
-            indented.
+            Use the <STRONG>-f</STRONG> option of <STRONG>tic</STRONG> or <STRONG>infocmp</STRONG> to see the  structure  of  if-
+            then-else's.  Some strings, e.g., <STRONG>sgr</STRONG> can be very complicated when
+            written on one line.  The <STRONG>-f</STRONG> option splits the string  into  lines
+            with the parts indented.
 
-       Binary operations are in postfix form with the operands in
-       the usual order.  That  is,  to  get  x-5  one  would  use
-       "%gx%{5}%-".   <STRONG>%P</STRONG>  and  <STRONG>%g</STRONG> variables are persistent across
-       escape-string evaluations.
+       Binary  operations  are  in postfix form with the operands in the usual
+       order.  That is, to get x-5 one  would  use  "%gx%{5}%-".   <STRONG>%P</STRONG>  and  <STRONG>%g</STRONG>
+       variables are persistent across escape-string evaluations.
 
-       Consider the HP2645, which, to get to row 3 and column 12,
-       needs  to  be  sent  \E&amp;a12c03Y padded for 6 milliseconds.
-       Note that the order of the rows and  columns  is  inverted
-       here,  and that the row and column are printed as two dig-
-       its.  Thus its <STRONG>cup</STRONG> capability is "cup=6\E&amp;%p2%2dc%p1%2dY".
+       Consider  the HP2645, which, to get to row 3 and column 12, needs to be
+       sent \E&amp;a12c03Y padded for 6 milliseconds.  The order of the  rows  and
+       columns  is  inverted  here,  and the row and column are printed as two
+       digits.  The corresponding terminal description is expressed thus:
+              cup=\E&amp;a%p2%dc%p1%dY$&lt;6&gt;,
 
-       The Microterm ACT-IV needs the current row and column sent
-       preceded  by  a <STRONG>^T</STRONG>, with the row and column simply encoded
-       in binary, "cup=^T%p1%c%p2%c".  Terminals which  use  "%c"
-       need  to  be  able  to backspace the cursor (<STRONG>cub1</STRONG>), and to
-       move the cursor up one line on the screen (<STRONG>cuu1</STRONG>).  This is
-       necessary  because it is not always safe to transmit <STRONG>\n</STRONG> <STRONG>^D</STRONG>
-       and <STRONG>\r</STRONG>, as the system may change or  discard  them.   (The
-       library  routines  dealing  with terminfo set tty modes so
-       that tabs are never expanded, so \t is safe to send.  This
-       turns out to be essential for the Ann Arbor 4080.)
+       The Microterm ACT-IV needs the current row and column sent preceded  by
+       a <STRONG>^T</STRONG>, with the row and column simply encoded in binary,
+              cup=^T%p1%c%p2%c
 
-       A final example is the LSI ADM-3a, which uses row and col-
-       umn  offset  by  a  blank  character,  thus  "cup=\E=%p1%'
-       '%+%c%p2%'  '%+%c".   After sending "\E=", this pushes the
-       first parameter, pushes the ASCII value for a space  (32),
-       adds  them  (pushing  the sum on the stack in place of the
-       two previous values) and outputs that value as  a  charac-
-       ter.   Then  the  same  is  done for the second parameter.
-       More complex arithmetic is possible using the stack.
+       Terminals  which  use  "%c"  need  to  be  able to backspace the cursor
+       (<STRONG>cub1</STRONG>), and to move the cursor up one line on the screen (<STRONG>cuu1</STRONG>).   This
+       is necessary because it is not always safe to transmit <STRONG>\n</STRONG> <STRONG>^D</STRONG> and <STRONG>\r</STRONG>, as
+       the system may change or discard them.  (The library  routines  dealing
+       with  terminfo  set tty modes so that tabs are never expanded, so \t is
+       safe to send.  This turns out to be essential for the Ann Arbor 4080.)
+
+       A final example is the LSI ADM-3a, which uses row and column offset  by
+       a blank character, thus
+              cup=\E=%p1%' '%+%c%p2%' '%+%c
+
+       After  sending "\E=", this pushes the first parameter, pushes the ASCII
+       value for a space (32), adds them (pushing the  sum  on  the  stack  in
+       place  of  the  two  previous  values)  and  outputs  that  value  as a
+       character.  Then the same is  done  for  the  second  parameter.   More
+       complex arithmetic is possible using the stack.
 
 
-</PRE>
-<H3><a name="h3-Cursor-Motions">Cursor Motions</a></H3><PRE>
-       If the terminal has a fast way to home the cursor (to very
-       upper  left  corner  of  screen) then this can be given as
-       <STRONG>home</STRONG>; similarly a fast way of getting to the  lower  left-
-       hand  corner can be given as <STRONG>ll</STRONG>; this may involve going up
-       with <STRONG>cuu1</STRONG> from the home position,  but  a  program  should
-       never  do this itself (unless <STRONG>ll</STRONG> does) because it can make
-       no assumption about the effect of moving up from the  home
-       position.   Note  that  the  home  position is the same as
-       addressing to (0,0): to the top left corner of the screen,
-       not  of  memory.   (Thus, the \EH sequence on HP terminals
-       cannot be used for <STRONG>home</STRONG>.)
+</PRE><H3><a name="h3-Cursor-Motions">Cursor Motions</a></H3><PRE>
+       If  the  terminal has a fast way to home the cursor (to very upper left
+       corner of screen) then this can be given as <STRONG>home</STRONG>; similarly a fast  way
+       of  getting  to the lower left-hand corner can be given as <STRONG>ll</STRONG>; this may
+       involve going up with <STRONG>cuu1</STRONG> from the home position, but a program should
+       never do this itself (unless <STRONG>ll</STRONG> does) because it can make no assumption
+       about the effect of moving up from the home position.   Note  that  the
+       home  position  is  the  same  as  addressing to (0,0): to the top left
+       corner of the screen, not of memory.  (Thus, the  \EH  sequence  on  HP
+       terminals cannot be used for <STRONG>home</STRONG>.)
 
-       If the terminal has row or column absolute cursor address-
-       ing,  these  can be given as single parameter capabilities
-       <STRONG>hpa</STRONG> (horizontal position absolute) and <STRONG>vpa</STRONG> (vertical posi-
-       tion absolute).  Sometimes these are shorter than the more
-       general two parameter sequence (as with  the  hp2645)  and
-       can be used in preference to <STRONG>cup</STRONG>.  If there are parameter-
-       ized local motions (e.g., move  <EM>n</EM>  spaces  to  the  right)
-       these can be given as <STRONG>cud</STRONG>, <STRONG>cub</STRONG>, <STRONG>cuf</STRONG>, and <STRONG>cuu</STRONG> with a single
-       parameter indicating how many spaces to move.   These  are
-       primarily  useful  if the terminal does not have <STRONG>cup</STRONG>, such
-       as the TEKTRONIX 4025.
+       If the terminal has row or column absolute cursor addressing, these can
+       be given as single  parameter  capabilities  <STRONG>hpa</STRONG>  (horizontal  position
+       absolute)  and  <STRONG>vpa</STRONG>  (vertical position absolute).  Sometimes these are
+       shorter than the more general  two  parameter  sequence  (as  with  the
+       hp2645)   and  can  be  used  in  preference  to  <STRONG>cup</STRONG>.   If  there  are
+       parameterized local motions (e.g., move <EM>n</EM> spaces to  the  right)  these
+       can  be  given  as  <STRONG>cud</STRONG>,  <STRONG>cub</STRONG>,  <STRONG>cuf</STRONG>,  and  <STRONG>cuu</STRONG>  with a single parameter
+       indicating how many spaces to move.  These are primarily useful if  the
+       terminal does not have <STRONG>cup</STRONG>, such as the TEKTRONIX 4025.
 
-       If the terminal needs to be in a special mode when running
-       a program that uses these capabilities, the codes to enter
-       and exit this mode can be given as <STRONG>smcup</STRONG> and <STRONG>rmcup</STRONG>.   This
-       arises,  for example, from terminals like the Concept with
-       more than one page of memory.  If the  terminal  has  only
-       memory  relative cursor addressing and not screen relative
-       cursor addressing, a one screen-sized window must be fixed
-       into  the terminal for cursor addressing to work properly.
-       This is also used for the TEKTRONIX 4025, where <STRONG>smcup</STRONG> sets
-       the  command character to be the one used by terminfo.  If
-       the <STRONG>smcup</STRONG> sequence will not restore the  screen  after  an
-       <STRONG>rmcup</STRONG> sequence is output (to the state prior to outputting
-       <STRONG>rmcup</STRONG>), specify <STRONG>nrrmc</STRONG>.
+       If  the  terminal  needs to be in a special mode when running a program
+       that uses these capabilities, the codes to enter and exit this mode can
+       be  given as <STRONG>smcup</STRONG> and <STRONG>rmcup</STRONG>.  This arises, for example, from terminals
+       like the Concept with more than one page of memory.   If  the  terminal
+       has  only  memory  relative  cursor  addressing and not screen relative
+       cursor addressing, a one screen-sized window must  be  fixed  into  the
+       terminal for cursor addressing to work properly.  This is also used for
+       the TEKTRONIX 4025, where <STRONG>smcup</STRONG> sets the command character  to  be  the
+       one  used  by  terminfo.   If  the  <STRONG>smcup</STRONG> sequence will not restore the
+       screen after an <STRONG>rmcup</STRONG>  sequence  is  output  (to  the  state  prior  to
+       outputting <STRONG>rmcup</STRONG>), specify <STRONG>nrrmc</STRONG>.
 
 
-</PRE>
-<H3><a name="h3-Area-Clears">Area Clears</a></H3><PRE>
-       If the terminal can clear from the current position to the
-       end  of  the  line,  leaving  the cursor where it is, this
-       should be given as <STRONG>el</STRONG>.  If the terminal can clear from the
-       beginning  of  the line to the current position inclusive,
-       leaving the cursor where it is, this should  be  given  as
-       <STRONG>el1</STRONG>.   If the terminal can clear from the current position
-       to the end of the display, then this should  be  given  as
-       <STRONG>ed</STRONG>.   <STRONG>Ed</STRONG>  is only defined from the first column of a line.
-       (Thus, it can be simulated by a request to delete a  large
-       number of lines, if a true <STRONG>ed</STRONG> is not available.)
+</PRE><H3><a name="h3-Margins">Margins</a></H3><PRE>
+       SVr4  (and  X/Open Curses) list several string capabilities for setting
+       margins.  Two were intended for use with  terminals,  and  another  six
+       were intended for use with printers.
+
+       <STRONG>o</STRONG>   The two terminal capabilities assume that the terminal may have the
+           capability of setting the left and/or right margin at  the  current
+           cursor column position.
+
+       <STRONG>o</STRONG>   The printer capabilities assume that the printer may have two types
+           of capability:
+
+           <STRONG>o</STRONG>   the ability to set a top and/or bottom margin using the current
+               line position, and
+
+           <STRONG>o</STRONG>   parameterized  capabilities  for setting the top, bottom, left,
+               right margins given the number of rows or columns.
+
+       In practice, the categorization into "terminal" and  "printer"  is  not
+       suitable:
+
+       <STRONG>o</STRONG>   The  AT&amp;T  SVr4  terminal  database  uses <STRONG>smgl</STRONG> four times, for AT&amp;T
+           hardware.
+
+           Three of the four are printers.   They  lack  the  ability  to  set
+           left/right margins by specifying the column.
+
+       <STRONG>o</STRONG>   Other  (non-AT&amp;T) terminals may support margins but using different
+           assumptions from AT&amp;T.
+
+           For instance, the DEC VT420 supports left/right margins,  but  only
+           using a column parameter.  As an added complication, the VT420 uses
+           two settings to fully enable left/right margins (left/right  margin
+           mode,  and  origin  mode).   The  former enables the margins, which
+           causes printed text to wrap  within  margins,  but  the  latter  is
+           needed to prevent cursor-addressing outside those margins.
+
+       <STRONG>o</STRONG>   Both  DEC  VT420  left/right  margins are set with a single control
+           sequence.  If either is omitted, the corresponding margin is set to
+           the  left  or  right  edge  of the display (rather than leaving the
+           margin unmodified).
+
+       These are the margin-related capabilities:
+
+                 <STRONG>Name</STRONG>    <STRONG>Description</STRONG>
+                 ---------------------------------------------------
+                 <STRONG>smgl</STRONG>    Set left margin at current column
+                 <STRONG>smgr</STRONG>    Set right margin at current column
+                 <STRONG>smgb</STRONG>    Set bottom margin at current line
+                 <STRONG>smgt</STRONG>    Set top margin at current line
+                 <STRONG>smgbp</STRONG>   Set bottom margin at line <EM>N</EM>
+                 <STRONG>smglp</STRONG>   Set left margin at column <EM>N</EM>
+                 <STRONG>smgrp</STRONG>   Set right margin at column <EM>N</EM>
+                 <STRONG>smgtp</STRONG>   Set top margin at line <EM>N</EM>
+                 <STRONG>smglr</STRONG>   Set both left and right margins to <EM>L</EM> and <EM>R</EM>
+                 <STRONG>smgtb</STRONG>   Set both top and bottom margins to <EM>T</EM> and <EM>B</EM>
+
+       When writing an application that uses these  string  capabilities,  the
+       pairs  should be first checked to see if each capability in the pair is
+       set or only one is set:
+
+       <STRONG>o</STRONG>   If both <STRONG>smglp</STRONG> and <STRONG>smgrp</STRONG>  are  set,  each  is  used  with  a  single
+           argument,  <EM>N</EM>,  that  gives  the column number of the left and right
+           margin, respectively.
+
+       <STRONG>o</STRONG>   If both <STRONG>smgtp</STRONG> and <STRONG>smgbp</STRONG> are set, each is used to set  the  top  and
+           bottom margin, respectively:
+
+           <STRONG>o</STRONG>   <STRONG>smgtp</STRONG> is used with a single argument, <EM>N</EM>, the line number of the
+               top margin.
+
+           <STRONG>o</STRONG>   <STRONG>smgbp</STRONG> is used with two arguments, <EM>N</EM> and <EM>M</EM>, that give  the  line
+               number of the bottom margin, the first counting from the top of
+               the page  and  the  second  counting  from  the  bottom.   This
+               accommodates  the two styles of specifying the bottom margin in
+               different manufacturers' printers.
+
+           When designing a terminfo entry for a printer that has  a  settable
+           bottom  margin,  only  the first or second argument should be used,
+           depending on the printer.  When developing an application that uses
+           <STRONG>smgbp</STRONG> to set the bottom margin, both arguments must be given.
+
+       Conversely, when only one capability in the pair is set:
+
+       <STRONG>o</STRONG>   If  only  one  of  <STRONG>smglp</STRONG> and <STRONG>smgrp</STRONG> is set, then it is used with two
+           arguments, the column number of the left and right margins, in that
+           order.
+
+       <STRONG>o</STRONG>   Likewise,  if  only  one of <STRONG>smgtp</STRONG> and <STRONG>smgbp</STRONG> is set, then it is used
+           with two arguments that give the top and bottom  margins,  in  that
+           order, counting from the top of the page.
+
+           When designing a terminfo entry for a printer that requires setting
+           both left and right or top and bottom margins simultaneously,  only
+           one  capability  in  the  pairs  <STRONG>smglp</STRONG> and <STRONG>smgrp</STRONG> or <STRONG>smgtp</STRONG> and <STRONG>smgbp</STRONG>
+           should be defined, leaving the other unset.
+
+       Except for very old terminal descriptions, e.g.,  those  developed  for
+       SVr4,  the  scheme  just  described  should be considered obsolete.  An
+       improved set of capabilities was added late in the SVr4 releases (<STRONG>smglr</STRONG>
+       and  <STRONG>smgtb</STRONG>),  which  explicitly  use  two  parameters  for  setting the
+       left/right or top/bottom margins.
+
+       When setting margins, the line- and column-values are zero-based.
+
+       The <STRONG>mgc</STRONG> string capability should  be  defined.   Applications  such  as
+       <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG> rely upon this to reset all margins.
 
 
-</PRE>
-<H3><a name="h3-Insert_delete-line-and-vertical-motions">Insert/delete line and vertical motions</a></H3><PRE>
-       If  the terminal can open a new blank line before the line
-       where the cursor is, this should be given as <STRONG>il1</STRONG>; this  is
-       done  only  from the first position of a line.  The cursor
-       must then appear on the newly blank line.  If the terminal
-       can  delete  the  line  which  the cursor is on, then this
-       should be given as <STRONG>dl1</STRONG>; this is done only from  the  first
-       position  on  the line to be deleted.  Versions of <STRONG>il1</STRONG> and
-       <STRONG>dl1</STRONG> which take a single parameter  and  insert  or  delete
-       that many lines can be given as <STRONG>il</STRONG> and <STRONG>dl</STRONG>.
+</PRE><H3><a name="h3-Area-Clears">Area Clears</a></H3><PRE>
+       If  the  terminal can clear from the current position to the end of the
+       line, leaving the cursor where it is, this should be given as  <STRONG>el</STRONG>.   If
+       the  terminal  can  clear from the beginning of the line to the current
+       position inclusive, leaving the cursor where  it  is,  this  should  be
+       given  as  <STRONG>el1</STRONG>.  If the terminal can clear from the current position to
+       the end of the display, then this should be given as <STRONG>ed</STRONG>.   <STRONG>Ed</STRONG>  is  only
+       defined from the first column of a line.  (Thus, it can be simulated by
+       a request to delete a large number of  lines,  if  a  true  <STRONG>ed</STRONG>  is  not
+       available.)
 
-       If  the terminal has a settable scrolling region (like the
-       vt100) the command to set this can be described  with  the
-       <STRONG>csr</STRONG>  capability,  which  takes two parameters: the top and
-       bottom lines of the scrolling region.  The cursor position
-       is, alas, undefined after using this command.
 
-       It  is possible to get the effect of insert or delete line
-       using <STRONG>csr</STRONG> on a properly chosen region; the <STRONG>sc</STRONG> and <STRONG>rc</STRONG> (save
-       and  restore  cursor)  commands may be useful for ensuring
-       that your synthesized insert/delete string does  not  move
-       the  cursor.  (Note that the <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> library does this
-       synthesis  automatically,  so   you   need   not   compose
+</PRE><H3><a name="h3-Insert_Delete-Line-and-Vertical-Motions">Insert/Delete Line and Vertical Motions</a></H3><PRE>
+       If  the  terminal  can  open a new blank line before the line where the
+       cursor is, this should be given as <STRONG>il1</STRONG>; this  is  done  only  from  the
+       first  position  of  a  line.  The cursor must then appear on the newly
+       blank line.  If the terminal can delete the line which  the  cursor  is
+       on,  then this should be given as <STRONG>dl1</STRONG>; this is done only from the first
+       position on the line to be deleted.  Versions of <STRONG>il1</STRONG> and <STRONG>dl1</STRONG> which take
+       a single parameter and insert or delete that many lines can be given as
+       <STRONG>il</STRONG> and <STRONG>dl</STRONG>.
+
+       If the terminal has a settable scrolling region (like  the  vt100)  the
+       command  to  set  this  can be described with the <STRONG>csr</STRONG> capability, which
+       takes two parameters: the top and bottom lines of the scrolling region.
+       The cursor position is, alas, undefined after using this command.
+
+       It  is possible to get the effect of insert or delete line using <STRONG>csr</STRONG> on
+       a properly chosen region; the <STRONG>sc</STRONG>  and  <STRONG>rc</STRONG>  (save  and  restore  cursor)
+       commands may be useful for ensuring that your synthesized insert/delete
+       string does not move the cursor.  (Note that  the  <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>  library
+       does   this   synthesis   automatically,   so   you  need  not  compose
        insert/delete strings for an entry with <STRONG>csr</STRONG>).
 
-       Yet another way to construct insert and delete might be to
-       use a combination of index with  the  memory-lock  feature
-       found  on some terminals (like the HP-700/90 series, which
-       however also has insert/delete).
+       Yet another way to construct insert  and  delete  might  be  to  use  a
+       combination  of  index  with  the  memory-lock  feature  found  on some
+       terminals  (like  the  HP-700/90  series,  which   however   also   has
+       insert/delete).
 
-       Inserting lines at the top or bottom  of  the  screen  can
-       also  be  done using <STRONG>ri</STRONG> or <STRONG>ind</STRONG> on many terminals without a
-       true insert/delete line, and is often faster even on  ter-
-       minals with those features.
+       Inserting  lines  at  the  top or bottom of the screen can also be done
+       using <STRONG>ri</STRONG> or <STRONG>ind</STRONG> on many terminals without a  true  insert/delete  line,
+       and is often faster even on terminals with those features.
 
-       The  boolean  <STRONG>non_dest_scroll_region</STRONG> should be set if each
-       scrolling window is effectively a view port on  a  screen-
-       sized  canvas.   To  test  for  this  capability, create a
-       scrolling region in the middle of the screen, write  some-
-       thing  to  the  bottom line, move the cursor to the top of
-       the region, and do <STRONG>ri</STRONG> followed by <STRONG>dl1</STRONG> or <STRONG>ind</STRONG>.  If the data
-       scrolled  off  the  bottom  of  the  region  by the <STRONG>ri</STRONG> re-
-       appears, then scrolling is non-destructive.  System V  and
-       XSI  Curses  expect that <STRONG>ind</STRONG>, <STRONG>ri</STRONG>, <STRONG>indn</STRONG>, and <STRONG>rin</STRONG> will simu-
-       late destructive scrolling; their  documentation  cautions
-       you  not  to  define <STRONG>csr</STRONG> unless this is true.  This <STRONG>curses</STRONG>
-       implementation is more liberal and will do explicit erases
-       after scrolling if <STRONG>ndstr</STRONG> is defined.
+       The  Boolean  <STRONG>non_dest_scroll_region</STRONG>  should  be  set if each scrolling
+       window is effectively a view port on a screen-sized  canvas.   To  test
+       for  this  capability,  create  a scrolling region in the middle of the
+       screen, write something to the bottom line, move the cursor to the  top
+       of  the region, and do <STRONG>ri</STRONG> followed by <STRONG>dl1</STRONG> or <STRONG>ind</STRONG>.  If the data scrolled
+       off the bottom of the region by the <STRONG>ri</STRONG> re-appears,  then  scrolling  is
+       non-destructive.  System V and X/Open Curses expect that <STRONG>ind</STRONG>, <STRONG>ri</STRONG>, <STRONG>indn</STRONG>,
+       and  <STRONG>rin</STRONG>  will  simulate  destructive  scrolling;  their  documentation
+       cautions  you  not  to  define  <STRONG>csr</STRONG>  unless  this is true.  This <STRONG>curses</STRONG>
+       implementation is more  liberal  and  will  do  explicit  erases  after
+       scrolling if <STRONG>ndsrc</STRONG> is defined.
 
-       If the terminal has the ability to define a window as part
-       of memory, which all commands affect, it should  be  given
-       as the parameterized string <STRONG>wind</STRONG>.  The four parameters are
-       the starting and ending lines in memory and  the  starting
-       and ending columns in memory, in that order.
+       If  the  terminal has the ability to define a window as part of memory,
+       which all commands affect, it should  be  given  as  the  parameterized
+       string  <STRONG>wind</STRONG>.  The four parameters are the starting and ending lines in
+       memory and the starting and ending columns in memory, in that order.
 
-       If  the terminal can retain display memory above, then the
-       <STRONG>da</STRONG> capability should be given; if display  memory  can  be
-       retained  below,  then <STRONG>db</STRONG> should be given.  These indicate
-       that deleting a line  or  scrolling  may  bring  non-blank
-       lines  up  from  below  or that scrolling back with <STRONG>ri</STRONG> may
+       If the terminal can retain display memory above, then the <STRONG>da</STRONG> capability
+       should  be  given;  if  display  memory  can be retained below, then <STRONG>db</STRONG>
+       should be given.  These indicate that deleting a line or scrolling  may
+       bring  non-blank lines up from below or that scrolling back with <STRONG>ri</STRONG> may
        bring down non-blank lines.
 
 
-</PRE>
-<H3><a name="h3-Insert_Delete-Character">Insert/Delete Character</a></H3><PRE>
-       There are two basic kinds of  intelligent  terminals  with
-       respect  to insert/delete character which can be described
-       using <EM>terminfo.</EM>  The most common  insert/delete  character
-       operations  affect only the characters on the current line
-       and shift characters off the  end  of  the  line  rigidly.
-       Other  terminals,  such  as the Concept 100 and the Perkin
-       Elmer Owl, make a distinction between  typed  and  untyped
-       blanks  on  the  screen, shifting upon an insert or delete
-       only to an untyped blank on the  screen  which  is  either
-       eliminated, or expanded to two untyped blanks.
+</PRE><H3><a name="h3-Insert_Delete-Character">Insert/Delete Character</a></H3><PRE>
+       There are two basic kinds of  intelligent  terminals  with  respect  to
+       insert/delete  character  which  can  be described using <EM>terminfo</EM>.  The
+       most  common  insert/delete  character  operations  affect   only   the
+       characters  on the current line and shift characters off the end of the
+       line rigidly.  Other terminals, such as the Concept 100 and the  Perkin
+       Elmer  Owl,  make a distinction between typed and untyped blanks on the
+       screen, shifting upon an insert or delete only to an untyped  blank  on
+       the  screen  which  is  either  eliminated,  or expanded to two untyped
+       blanks.
 
-       You  can determine the kind of terminal you have by clear-
-       ing the screen and then typing text  separated  by  cursor
-       motions.   Type  "abc    def"  using  local cursor motions
-       (not spaces) between the "abc" and the "def".  Then  posi-
-       tion  the  cursor before the "abc" and put the terminal in
-       insert mode.  If typing characters causes the rest of  the
-       line  to shift rigidly and characters to fall off the end,
-       then your terminal does not distinguish between blanks and
-       untyped  positions.  If the "abc" shifts over to the "def"
-       which then move together around the  end  of  the  current
-       line  and onto the next as you insert, you have the second
-       type of terminal, and should give the capability <STRONG>in</STRONG>, which
+       You can determine the kind of terminal you have by clearing the  screen
+       and  then  typing  text separated by cursor motions.  Type "abc    def"
+       using local cursor motions (not  spaces)  between  the  "abc"  and  the
+       "def".   Then position the cursor before the "abc" and put the terminal
+       in insert mode.  If typing characters causes the rest of  the  line  to
+       shift  rigidly  and  characters to fall off the end, then your terminal
+       does not distinguish between blanks  and  untyped  positions.   If  the
+       "abc"  shifts over to the "def" which then move together around the end
+       of the current line and onto the next  as  you  insert,  you  have  the
+       second  type  of  terminal,  and  should  give the capability <STRONG>in</STRONG>, which
        stands for "insert null".
 
-       While  these  are  two  logically separate attributes (one
-       line versus multi-line insert mode, and special  treatment
-       of  untyped spaces) we have seen no terminals whose insert
-       mode cannot be described with the single attribute.
+       While these are two logically  separate  attributes  (one  line  versus
+       multi-line  insert  mode,  and  special treatment of untyped spaces) we
+       have seen no terminals whose insert mode cannot be described  with  the
+       single attribute.
 
-       Terminfo can describe both terminals which have an  insert
-       mode, and terminals which send a simple sequence to open a
-       blank position on the current  line.   Give  as  <STRONG>smir</STRONG>  the
-       sequence  to  get  into  insert  mode.   Give  as <STRONG>rmir</STRONG> the
-       sequence to leave insert  mode.   Now  give  as  <STRONG>ich1</STRONG>  any
-       sequence needed to be sent just before sending the charac-
-       ter to be inserted.  Most terminals  with  a  true  insert
-       mode  will  not give <STRONG>ich1</STRONG>; terminals which send a sequence
-       to open a screen position should give it here.
+       Terminfo  can  describe  both  terminals which have an insert mode, and
+       terminals which send a simple sequence to open a blank position on  the
+       current line.  Give as <STRONG>smir</STRONG> the sequence to get into insert mode.  Give
+       as <STRONG>rmir</STRONG> the sequence to leave  insert  mode.   Now  give  as  <STRONG>ich1</STRONG>  any
+       sequence  needed  to  be  sent  just before sending the character to be
+       inserted.  Most terminals with a true insert mode will not  give  <STRONG>ich1</STRONG>;
+       terminals  which  send a sequence to open a screen position should give
+       it here.
 
-       If your terminal has both, insert mode is usually  prefer-
-       able  to  <STRONG>ich1</STRONG>.   Technically,  you  should  not give both
-       unless the terminal actually requires both to be  used  in
-       combination.   Accordingly,  some  non-curses applications
-       get confused if both are present; the symptom  is  doubled
-       characters in an update using insert.  This requirement is
-       now rare; most <STRONG>ich</STRONG> sequences do not require previous smir,
-       and most smir insert modes do not require <STRONG>ich1</STRONG> before each
-       character.  Therefore, the  new  <STRONG>curses</STRONG>  actually  assumes
-       this  is the case and uses either <STRONG>rmir</STRONG>/<STRONG>smir</STRONG> or <STRONG>ich</STRONG>/<STRONG>ich1</STRONG> as
-       appropriate (but not both).  If you have to write an entry
-       to  be  used under new curses for a terminal old enough to
-       need both, include the <STRONG>rmir</STRONG>/<STRONG>smir</STRONG> sequences in <STRONG>ich1</STRONG>.
+       If your terminal has both, insert mode is usually preferable  to  <STRONG>ich1</STRONG>.
+       Technically,  you  should  not  give  both unless the terminal actually
+       requires both to be used in combination.  Accordingly, some  non-curses
+       applications  get  confused if both are present; the symptom is doubled
+       characters in an update using insert.  This requirement  is  now  rare;
+       most  <STRONG>ich</STRONG>  sequences do not require previous smir, and most smir insert
+       modes do not require <STRONG>ich1</STRONG> before each character.   Therefore,  the  new
+       <STRONG>curses</STRONG>  actually  assumes this is the case and uses either <STRONG>rmir</STRONG>/<STRONG>smir</STRONG> or
+       <STRONG>ich</STRONG>/<STRONG>ich1</STRONG> as appropriate (but not both).  If you have to write an  entry
+       to  be  used  under  new curses for a terminal old enough to need both,
+       include the <STRONG>rmir</STRONG>/<STRONG>smir</STRONG> sequences in <STRONG>ich1</STRONG>.
 
-       If post insert padding is needed, give this as a number of
-       milliseconds  in <STRONG>ip</STRONG> (a string option).  Any other sequence
-       which may need to be sent after  an  insert  of  a  single
-       character may also be given in <STRONG>ip</STRONG>.  If your terminal needs
-       both to be placed into an "insert mode" and a special code
-       to  precede  each  inserted character, then both <STRONG>smir</STRONG>/<STRONG>rmir</STRONG>
-       and <STRONG>ich1</STRONG> can be given, and both will  be  used.   The  <STRONG>ich</STRONG>
-       capability, with one parameter, <EM>n</EM>, will repeat the effects
-       of <STRONG>ich1</STRONG> <EM>n</EM> times.
+       If post insert padding is needed, give this as a number of milliseconds
+       in  <STRONG>ip</STRONG> (a string option).  Any other sequence which may need to be sent
+       after an insert of a single character may also be given in <STRONG>ip</STRONG>.  If your
+       terminal  needs  both  to be placed into an "insert mode" and a special
+       code to precede each inserted character, then both <STRONG>smir</STRONG>/<STRONG>rmir</STRONG>  and  <STRONG>ich1</STRONG>
+       can  be  given,  and  both  will be used.  The <STRONG>ich</STRONG> capability, with one
+       parameter, <EM>n</EM>, will repeat the effects of <STRONG>ich1</STRONG> <EM>n</EM> times.
 
-       If padding is necessary between characters typed while not
-       in insert mode, give this as a number of milliseconds pad-
-       ding in <STRONG>rmp</STRONG>.
+       If padding is necessary between characters typed while  not  in  insert
+       mode, give this as a number of milliseconds padding in <STRONG>rmp</STRONG>.
 
-       It is occasionally  necessary  to  move  around  while  in
-       insert  mode  to delete characters on the same line (e.g.,
-       if there is a tab after the insertion position).  If  your
-       terminal  allows  motion while in insert mode you can give
-       the capability <STRONG>mir</STRONG> to speed up  inserting  in  this  case.
-       Omitting  <STRONG>mir</STRONG>  will  affect  only  speed.   Some terminals
-       (notably Datamedia's) must not have <STRONG>mir</STRONG> because of the way
-       their insert mode works.
+       It  is  occasionally  necessary  to move around while in insert mode to
+       delete characters on the same line (e.g., if there is a tab  after  the
+       insertion  position).   If  your terminal allows motion while in insert
+       mode you can give the capability <STRONG>mir</STRONG> to  speed  up  inserting  in  this
+       case.   Omitting  <STRONG>mir</STRONG>  will affect only speed.  Some terminals (notably
+       Datamedia's) must not have <STRONG>mir</STRONG> because of the  way  their  insert  mode
+       works.
 
-       Finally,  you  can specify <STRONG>dch1</STRONG> to delete a single charac-
-       ter, <STRONG>dch</STRONG> with one parameter, <EM>n</EM>, to  delete  <EM>n</EM>  <EM>characters,</EM>
-       and  delete mode by giving <STRONG>smdc</STRONG> and <STRONG>rmdc</STRONG> to enter and exit
-       delete mode (any mode the terminal needs to be  placed  in
-       for <STRONG>dch1</STRONG> to work).
+       Finally,  you  can  specify <STRONG>dch1</STRONG> to delete a single character, <STRONG>dch</STRONG> with
+       one parameter, <EM>n</EM>, to delete <EM>n</EM>characters, and delete mode by giving <STRONG>smdc</STRONG>
+       and  <STRONG>rmdc</STRONG> to enter and exit delete mode (any mode the terminal needs to
+       be placed in for <STRONG>dch1</STRONG> to work).
 
-       A  command to erase <EM>n</EM> characters (equivalent to outputting
-       <EM>n</EM> blanks without moving the cursor) can be  given  as  <STRONG>ech</STRONG>
-       with one parameter.
+       A command to erase <EM>n</EM> characters  (equivalent  to  outputting  <EM>n</EM>  blanks
+       without moving the cursor) can be given as <STRONG>ech</STRONG> with one parameter.
 
 
-</PRE>
-<H3><a name="h3-Highlighting_-Underlining_-and-Visible-Bells">Highlighting, Underlining, and Visible Bells</a></H3><PRE>
-       If  your  terminal  has  one  or  more  kinds  of  display
-       attributes, these can be represented in a number  of  dif-
-       ferent ways.  You should choose one display form as <EM>stand-</EM>
-       <EM>out</EM> <EM>mode</EM>, representing a good, high contrast, easy-on-the-
-       eyes,  format  for  highlighting  error messages and other
-       attention getters.  (If you have a choice,  reverse  video
-       plus  half-bright  is  good, or reverse video alone.)  The
-       sequences to enter and exit standout  mode  are  given  as
-       <STRONG>smso</STRONG>  and  <STRONG>rmso</STRONG>, respectively.  If the code to change into
-       or out of standout mode leaves one or even two blank  spa-
-       ces  on  the  screen,  as the TVI 912 and Teleray 1061 do,
-       then <STRONG>xmc</STRONG> should be given to tell how many spaces are left.
+</PRE><H3><a name="h3-Highlighting_Underlining_and-Visible-Bells">Highlighting, Underlining, and Visible Bells</a></H3><PRE>
+       If your terminal has one or more kinds of display attributes, these can
+       be represented in a number of different ways.  You  should  choose  one
+       display  form  as  <EM>standout</EM>  <EM>mode</EM>,  representing a good, high contrast,
+       easy-on-the-eyes, format for  highlighting  error  messages  and  other
+       attention  getters.   (If  you  have a choice, reverse video plus half-
+       bright is good, or reverse video alone.)  The sequences  to  enter  and
+       exit  standout  mode  are given as <STRONG>smso</STRONG> and <STRONG>rmso</STRONG>, respectively.  If the
+       code to change into or out of standout mode  leaves  one  or  even  two
+       blank  spaces  on  the screen, as the TVI 912 and Teleray 1061 do, then
+       <STRONG>xmc</STRONG> should be given to tell how many spaces are left.
 
-       Codes to begin underlining  and  end  underlining  can  be
-       given  as <STRONG>smul</STRONG> and <STRONG>rmul</STRONG> respectively.  If the terminal has
-       a code to underline the current  character  and  move  the
-       cursor one space to the right, such as the Microterm Mime,
-       this can be given as <STRONG>uc</STRONG>.
+       Codes to begin underlining and end underlining can be given as <STRONG>smul</STRONG> and
+       <STRONG>rmul</STRONG> respectively.  If the terminal has a code to underline the current
+       character and move the cursor one space  to  the  right,  such  as  the
+       Microterm Mime, this can be given as <STRONG>uc</STRONG>.
 
-       Other capabilities to  enter  various  highlighting  modes
-       include  <STRONG>blink</STRONG>  (blinking) <STRONG>bold</STRONG> (bold or extra bright) <STRONG>dim</STRONG>
-       (dim or half-bright) <STRONG>invis</STRONG> (blanking  or  invisible  text)
-       <STRONG>prot</STRONG>  (protected)  <STRONG>rev</STRONG>  (reverse video) <STRONG>sgr0</STRONG> (turn off <EM>all</EM>
-       attribute modes)  <STRONG>smacs</STRONG>  (enter  alternate  character  set
-       mode)  and  <STRONG>rmacs</STRONG>  (exit  alternate  character  set mode).
-       Turning on any of these modes singly may or may  not  turn
-       off other modes.
+       Other  capabilities  to  enter various highlighting modes include <STRONG>blink</STRONG>
+       (blinking) <STRONG>bold</STRONG> (bold or extra bright) <STRONG>dim</STRONG> (dim or  half-bright)  <STRONG>invis</STRONG>
+       (blanking  or invisible text) <STRONG>prot</STRONG> (protected) <STRONG>rev</STRONG> (reverse video) <STRONG>sgr0</STRONG>
+       (turn off <EM>all</EM> attribute modes) <STRONG>smacs</STRONG>  (enter  alternate  character  set
+       mode) and <STRONG>rmacs</STRONG> (exit alternate character set mode).  Turning on any of
+       these modes singly may or may not turn off other modes.
 
-       If  there  is  a sequence to set arbitrary combinations of
-       modes, this should be given as <STRONG>sgr</STRONG> (set attributes),  tak-
-       ing  9 parameters.  Each parameter is either 0 or nonzero,
-       as the corresponding attribute is on or off.  The 9 param-
-       eters  are, in order: standout, underline, reverse, blink,
-       dim, bold, blank, protect, alternate character  set.   Not
-       all  modes  need be supported by <STRONG>sgr</STRONG>, only those for which
+       If there is a sequence to set arbitrary  combinations  of  modes,  this
+       should  be  given  as  <STRONG>sgr</STRONG> (set attributes), taking 9 parameters.  Each
+       parameter is either zero (0) or nonzero, as the corresponding attribute
+       is  on  or  off.   The 9 parameters are, in order: standout, underline,
+       reverse, blink, dim, bold, blank,  protect,  alternate  character  set.
+       Not  all  modes  need  be  supported  by  <STRONG>sgr</STRONG>,  only  those  for  which
        corresponding separate attribute commands exist.
 
        For example, the DEC vt220 supports most of the modes:
 
-        <STRONG>tparm</STRONG> <STRONG>parameter</STRONG>      <STRONG>attribute</STRONG>        <STRONG>escape</STRONG> <STRONG>sequence</STRONG>
+                   <STRONG>tparm</STRONG> <STRONG>Parameter</STRONG>   <STRONG>Attribute</STRONG>    <STRONG>Escape</STRONG> <STRONG>Sequence</STRONG>
+                   ------------------------------------------------
+                   none              none         \E[0m
+                   p1                standout     \E[0;1;7m
+                   p2                underline    \E[0;4m
+                   p3                reverse      \E[0;7m
+                   p4                blink        \E[0;5m
+                   p5                dim          not available
+                   p6                bold         \E[0;1m
+                   p7                invis        \E[0;8m
+                   p8                protect      not used
+                   p9                altcharset   ^O (off) ^N (on)
 
-        none                 none             \E[0m
-        p1                   standout         \E[0;1;7m
-        p2                   underline        \E[0;4m
-        p3                   reverse          \E[0;7m
-        p4                   blink            \E[0;5m
-        p5                   dim              not available
-        p6                   bold             \E[0;1m
-        p7                   invis            \E[0;8m
-        p8                   protect          not used
-        p9                   altcharset       ^O (off) ^N (on)
+       We begin each escape sequence by turning off any existing modes,  since
+       there  is  no quick way to determine whether they are active.  Standout
+       is set up to be  the  combination  of  reverse  and  bold.   The  vt220
+       terminal  has  a  protect  mode,  though it is not commonly used in sgr
+       because it protects characters on the screen from the host's  erasures.
+       The  altcharset  mode  also is different in that it is either ^O or ^N,
+       depending on whether it is off or on.  If all modes are turned on,  the
+       resulting sequence is \E[0;1;4;5;7;8m^N.
 
-       We begin each escape sequence by turning off any  existing
-       modes,  since  there  is no quick way to determine whether
-       they are active.  Standout is set up to be the combination
-       of  reverse  and  bold.   The vt220 terminal has a protect
-       mode, though it is not commonly used  in  sgr  because  it
-       protects  characters  on  the  screen from the host's era-
-       sures.  The altcharset mode also is different in  that  it
-       is  either ^O or ^N, depending on whether it is off or on.
-       If all modes are turned  on,  the  resulting  sequence  is
-       \E[0;1;4;5;7;8m^N.
+       Some  sequences  are  common  to  different  modes.  For example, ;7 is
+       output when either p1 or p3 is true, that is,  if  either  standout  or
+       reverse modes are turned on.
 
-       Some  sequences  are common to different modes.  For exam-
-       ple, ;7 is output when either p1 or p3 is true,  that  is,
-       if either standout or reverse modes are turned on.
+       Writing out the above sequences, along with their dependencies yields
 
-       Writing  out  the above sequences, along with their depen-
-       dencies yields
-
-      <STRONG>sequence</STRONG>             <STRONG>when</STRONG> <STRONG>to</STRONG> <STRONG>output</STRONG>      <STRONG>terminfo</STRONG> <STRONG>translation</STRONG>
-
-      \E[0                 always              \E[0
-      ;1                   if p1 or p6         %?%p1%p6%|%t;1%;
-      ;4                   if p2               %?%p2%|%t;4%;
-      ;5                   if p4               %?%p4%|%t;5%;
-      ;7                   if p1 or p3         %?%p1%p3%|%t;7%;
-      ;8                   if p7               %?%p7%|%t;8%;
-      m                    always              m
-      ^N or ^O             if p9 ^N, else ^O   %?%p9%t^N%e^O%;
+                 <STRONG>Sequence</STRONG>   <STRONG>When</STRONG> <STRONG>to</STRONG> <STRONG>Output</STRONG>      <STRONG>terminfo</STRONG> <STRONG>Translation</STRONG>
+                 ----------------------------------------------------
+                 \E[0       always              \E[0
+                 ;1         if p1 or p6         %?%p1%p6%|%t;1%;
+                 ;4         if p2               %?%p2%|%t;4%;
+                 ;5         if p4               %?%p4%|%t;5%;
+                 ;7         if p1 or p3         %?%p1%p3%|%t;7%;
+                 ;8         if p7               %?%p7%|%t;8%;
+                 m          always              m
+                 ^N or ^O   if p9 ^N, else ^O   %?%p9%t^N%e^O%;
 
        Putting this all together into the sgr sequence gives:
 
            sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p4%t;5%;
                %?%p1%p3%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
 
-       Remember that if you specify sgr, you  must  also  specify
-       sgr0.   Also, some implementations rely on sgr being given
-       if sgr0 is, Not all terminfo entries necessarily  have  an
-       sgr  string,  however.   Many terminfo entries are derived
-       from termcap entries which have no sgr string.   The  only
-       drawback  to  adding  an  sgr  string is that termcap also
-       assumes that sgr0 does not exit  alternate  character  set
-       mode.
+       Remember  that  if  you specify sgr, you must also specify sgr0.  Also,
+       some implementations rely on sgr  being  given  if  sgr0  is,  Not  all
+       terminfo  entries  necessarily  have  an  sgr  string,  however.   Many
+       terminfo entries are derived from termcap entries  which  have  no  sgr
+       string.  The only drawback to adding an sgr string is that termcap also
+       assumes that sgr0 does not exit alternate character set mode.
 
-       Terminals  with  the  "magic  cookie" glitch (<STRONG>xmc</STRONG>) deposit
-       special   "cookies"   when   they   receive   mode-setting
-       sequences,  which affect the display algorithm rather than
-       having extra bits for  each  character.   Some  terminals,
-       such  as  the  HP  2621, automatically leave standout mode
-       when they move to a new line or the cursor  is  addressed.
-       Programs  using  standout  mode  should exit standout mode
-       before moving the cursor or sending a newline, unless  the
-       <STRONG>msgr</STRONG>  capability,  asserting  that  it  is safe to move in
-       standout mode, is present.
+       Terminals  with  the  "magic  cookie"  glitch  (<STRONG>xmc</STRONG>)  deposit   special
+       "cookies"  when  they  receive mode-setting sequences, which affect the
+       display algorithm rather than having extra  bits  for  each  character.
+       Some  terminals, such as the HP 2621, automatically leave standout mode
+       when they move to a new line or  the  cursor  is  addressed.   Programs
+       using  standout mode should exit standout mode before moving the cursor
+       or sending a newline, unless the <STRONG>msgr</STRONG> capability, asserting that it  is
+       safe to move in standout mode, is present.
 
-       If the terminal has a way of flashing the screen to  indi-
-       cate  an  error quietly (a bell replacement) then this can
-       be given as <STRONG>flash</STRONG>; it must not move the cursor.
+       If  the  terminal has a way of flashing the screen to indicate an error
+       quietly (a bell replacement) then this can be given as <STRONG>flash</STRONG>;  it  must
+       not move the cursor.
 
-       If the cursor needs to be made more  visible  than  normal
-       when it is not on the bottom line (to make, for example, a
-       non-blinking underline into an easier  to  find  block  or
-       blinking underline) give this sequence as <STRONG>cvvis</STRONG>.  If there
-       is a way to make the  cursor  completely  invisible,  give
-       that as <STRONG>civis</STRONG>.  The capability <STRONG>cnorm</STRONG> should be given which
-       undoes the effects of both of these modes.
+       If  the cursor needs to be made more visible than normal when it is not
+       on the bottom line (to make, for example, a non-blinking underline into
+       an  easier  to  find block or blinking underline) give this sequence as
+       <STRONG>cvvis</STRONG>.  If there is a way to make the cursor completely invisible, give
+       that  as  <STRONG>civis</STRONG>.  The capability <STRONG>cnorm</STRONG> should be given which undoes the
+       effects of both of these modes.
 
-       If your terminal correctly generates underlined characters
-       (with  no  special  codes  needed) even though it does not
-       overstrike, then you should give the capability <STRONG>ul</STRONG>.  If  a
-       character  overstriking  another leaves both characters on
-       the screen, specify the capability <STRONG>os</STRONG>.  If overstrikes are
-       erasable  with  a  blank, then this should be indicated by
+       If your terminal correctly generates  underlined  characters  (with  no
+       special  codes  needed)  even  though  it does not overstrike, then you
+       should give the capability <STRONG>ul</STRONG>.  If  a  character  overstriking  another
+       leaves  both  characters  on the screen, specify the capability <STRONG>os</STRONG>.  If
+       overstrikes are erasable with a blank, then this should be indicated by
        giving <STRONG>eo</STRONG>.
 
 
-</PRE>
-<H3><a name="h3-Keypad-and-Function-Keys">Keypad and Function Keys</a></H3><PRE>
-       If the terminal has a keypad that transmits codes when the
-       keys  are  pressed,  this  information can be given.  Note
-       that it is not possible to handle terminals where the key-
-       pad only works in local (this applies, for example, to the
-       unshifted HP 2621 keys).  If the  keypad  can  be  set  to
-       transmit  or  not  transmit,  give these codes as <STRONG>smkx</STRONG> and
-       <STRONG>rmkx</STRONG>.  Otherwise the keypad is assumed to always transmit.
+</PRE><H3><a name="h3-Keypad-and-Function-Keys">Keypad and Function Keys</a></H3><PRE>
+       If  the  terminal  has  a keypad that transmits codes when the keys are
+       pressed, this information can be given.  Note that it is  not  possible
+       to handle terminals where the keypad only works in local (this applies,
+       for example, to the unshifted HP 2621 keys).  If the keypad can be  set
+       to  transmit  or  not  transmit,  give  these  codes  as <STRONG>smkx</STRONG> and <STRONG>rmkx</STRONG>.
+       Otherwise the keypad is assumed to always transmit.
 
-       The codes sent by the left arrow, right arrow,  up  arrow,
-       down  arrow,  and  home keys can be given as <STRONG>kcub1,</STRONG> <STRONG>kcuf1,</STRONG>
-       <STRONG>kcuu1,</STRONG> <STRONG>kcud1,</STRONG> and <STRONG>khome</STRONG> respectively.  If there are  func-
-       tion  keys  such  as f0, f1, ..., f10, the codes they send
-       can be given as <STRONG>kf0,</STRONG> <STRONG>kf1,</STRONG> <STRONG>...,</STRONG> <STRONG>kf10</STRONG>.  If these  keys  have
-       labels  other  than the default f0 through f10, the labels
-       can be given as <STRONG>lf0,</STRONG> <STRONG>lf1,</STRONG> <STRONG>...,</STRONG> <STRONG>lf10</STRONG>.
+       The codes sent by the left arrow, right arrow, up  arrow,  down  arrow,
+       and  home  keys  can  be given as <STRONG>kcub1,</STRONG> <STRONG>kcuf1,</STRONG> <STRONG>kcuu1,</STRONG> <STRONG>kcud1,</STRONG> and <STRONG>khome</STRONG>
+       respectively.  If there are function keys such as f0, f1, ..., f10, the
+       codes  they  send  can  be given as <STRONG>kf0,</STRONG> <STRONG>kf1,</STRONG> <STRONG>...,</STRONG> <STRONG>kf10</STRONG>.  If these keys
+       have labels other than the default f0 through f10, the  labels  can  be
+       given as <STRONG>lf0,</STRONG> <STRONG>lf1,</STRONG> <STRONG>...,</STRONG> <STRONG>lf10</STRONG>.
 
-       The codes transmitted by certain other special keys can be
-       given:
+       The codes transmitted by certain other special keys can be given:
 
        <STRONG>o</STRONG>   <STRONG>kll</STRONG> (home down),
 
@@ -1856,70 +1844,77 @@
 
        <STRONG>o</STRONG>   <STRONG>khts</STRONG> (set a tab stop in this column).
 
-       In  addition,  if  the  keypad  has a 3 by 3 array of keys
-       including the four arrow keys, the other five keys can  be
-       given as <STRONG>ka1</STRONG>, <STRONG>ka3</STRONG>, <STRONG>kb2</STRONG>, <STRONG>kc1</STRONG>, and <STRONG>kc3</STRONG>.  These keys are use-
-       ful when the effects of a  3  by  3  directional  pad  are
-       needed.
+       In  addition,  if  the  keypad has a 3 by 3 array of keys including the
+       four arrow keys, the other five keys can be given  as  <STRONG>ka1</STRONG>,  <STRONG>ka3</STRONG>,  <STRONG>kb2</STRONG>,
+       <STRONG>kc1</STRONG>,  and  <STRONG>kc3</STRONG>.   These  keys  are  useful when the effects of a 3 by 3
+       directional pad are needed.
 
-       Strings  to  program  function keys can be given as <STRONG>pfkey</STRONG>,
-       <STRONG>pfloc</STRONG>, and <STRONG>pfx</STRONG>.  A string to program screen labels  should
-       be  specified  as  <STRONG>pln</STRONG>.   Each  of these strings takes two
-       parameters: the function key number to program (from 0  to
-       10)  and the string to program it with.  Function key num-
-       bers out of this range may program  undefined  keys  in  a
-       terminal  dependent  manner.   The  difference between the
-       capabilities is that <STRONG>pfkey</STRONG> causes pressing the  given  key
-       to  be the same as the user typing the given string; <STRONG>pfloc</STRONG>
-       causes the string to be executed by the terminal in local;
-       and  <STRONG>pfx</STRONG>  causes  the string to be transmitted to the com-
-       puter.
+       Strings to program function keys can be given as <STRONG>pfkey</STRONG>, <STRONG>pfloc</STRONG>, and <STRONG>pfx</STRONG>.
+       A  string to program screen labels should be specified as <STRONG>pln</STRONG>.  Each of
+       these strings takes two parameters: the function key number to  program
+       (from 0 to 10) and the string to program it with.  Function key numbers
+       out of this range may program undefined keys in  a  terminal  dependent
+       manner.   The  difference between the capabilities is that <STRONG>pfkey</STRONG> causes
+       pressing the given key to be the same as  the  user  typing  the  given
+       string;  <STRONG>pfloc</STRONG>  causes  the  string  to  be executed by the terminal in
+       local; and <STRONG>pfx</STRONG> causes the string to be transmitted to the computer.
 
-       The capabilities <STRONG>nlab</STRONG>, <STRONG>lw</STRONG> and <STRONG>lh</STRONG> define the number of pro-
-       grammable  screen  labels  and their width and height.  If
-       there are commands to turn the labels  on  and  off,  give
-       them  in <STRONG>smln</STRONG> and <STRONG>rmln</STRONG>.  <STRONG>smln</STRONG> is normally output after one
-       or more pln sequences to make sure that the change becomes
-       visible.
+       The capabilities <STRONG>nlab</STRONG>, <STRONG>lw</STRONG> and <STRONG>lh</STRONG>  define  the  number  of  programmable
+       screen  labels  and  their  width and height.  If there are commands to
+       turn the labels on and off, give  them  in  <STRONG>smln</STRONG>  and  <STRONG>rmln</STRONG>.   <STRONG>smln</STRONG>  is
+       normally  output  after one or more pln sequences to make sure that the
+       change becomes visible.
 
 
-</PRE>
-<H3><a name="h3-Tabs-and-Initialization">Tabs and Initialization</a></H3><PRE>
-       If  the terminal has hardware tabs, the command to advance
-       to the next tab stop can be given as <STRONG>ht</STRONG>  (usually  control
-       I).  A "back-tab" command which moves leftward to the pre-
-       ceding tab stop can be given as <STRONG>cbt</STRONG>.   By  convention,  if
-       the  teletype  modes indicate that tabs are being expanded
-       by the computer rather than being sent  to  the  terminal,
-       programs  should  not  use  <STRONG>ht</STRONG>  or  <STRONG>cbt</STRONG>  even  if they are
-       present, since the user may not have the tab  stops  prop-
-       erly  set.   If  the  terminal has hardware tabs which are
-       initially set every <EM>n</EM> spaces when the terminal is  powered
-       up,  the numeric parameter <STRONG>it</STRONG> is given, showing the number
-       of spaces the tabs are set to.  This is normally  used  by
-       the  <EM>tset</EM> command to determine whether to set the mode for
-       hardware tab expansion, and whether to set the tab  stops.
-       If  the  terminal  has tab stops that can be saved in non-
-       volatile memory, the terminfo description can assume  that
-       they are properly set.
+</PRE><H3><a name="h3-Tabs-and-Initialization">Tabs and Initialization</a></H3><PRE>
+       A few capabilities are used only for tabs:
 
-       Other  capabilities include <STRONG>is1</STRONG>, <STRONG>is2</STRONG>, and <STRONG>is3</STRONG>, initializa-
-       tion strings for the terminal, <STRONG>iprog</STRONG>, the path name  of  a
-       program  to be run to initialize the terminal, and <STRONG>if</STRONG>, the
-       name of a file  containing  long  initialization  strings.
-       These  strings are expected to set the terminal into modes
-       consistent with the  rest  of  the  terminfo  description.
-       They are normally sent to the terminal, by the <EM>init</EM> option
-       of the <EM>tput</EM> program, each time the  user  logs  in.   They
-       will be printed in the following order:
+       <STRONG>o</STRONG>   If the terminal has hardware tabs, the command to  advance  to  the
+           next tab stop can be given as <STRONG>ht</STRONG> (usually control/I).
+
+       <STRONG>o</STRONG>   A "back-tab" command which moves leftward to the preceding tab stop
+           can be given as <STRONG>cbt</STRONG>.
+
+           By convention, if the teletype modes indicate that tabs  are  being
+           expanded  by  the  computer rather than being sent to the terminal,
+           programs should not use <STRONG>ht</STRONG> or <STRONG>cbt</STRONG> even if they are  present,  since
+           the user may not have the tab stops properly set.
+
+       <STRONG>o</STRONG>   If  the  terminal has hardware tabs which are initially set every <EM>n</EM>
+           spaces when the terminal is powered up, the numeric parameter <STRONG>it</STRONG> is
+           given, showing the number of spaces the tabs are set to.
+
+           The <STRONG>it</STRONG> capability is normally used by the <STRONG>tset</STRONG> command to determine
+           whether to set the mode for hardware tab expansion, and whether  to
+           set the tab stops.  If the terminal has tab stops that can be saved
+           in non-volatile memory, the terminfo description  can  assume  that
+           they are properly set.
+
+       Other capabilities include
+
+       <STRONG>o</STRONG>   <STRONG>is1</STRONG>, <STRONG>is2</STRONG>, and <STRONG>is3</STRONG>, initialization strings for the terminal,
+
+       <STRONG>o</STRONG>   <STRONG>iprog</STRONG>,  the  path  name  of  a  program to be run to initialize the
+           terminal,
+
+       <STRONG>o</STRONG>   and <STRONG>if</STRONG>, the name of a file containing long initialization strings.
+
+       These strings are expected to set the terminal  into  modes  consistent
+       with  the  rest of the terminfo description.  They are normally sent to
+       the terminal, by the <EM>init</EM> option of the <STRONG>tput</STRONG>  program,  each  time  the
+       user logs in.  They will be printed in the following order:
 
               run the program
                      <STRONG>iprog</STRONG>
 
-              output <STRONG>is1</STRONG> <STRONG>is2</STRONG>
+              output
+                     <STRONG>is1</STRONG> and
+                     <STRONG>is2</STRONG>
 
               set the margins using
-                     <STRONG>mgc</STRONG>, <STRONG>smgl</STRONG> and <STRONG>smgr</STRONG>
+                     <STRONG>mgc</STRONG> or
+                     <STRONG>smglp</STRONG> and <STRONG>smgrp</STRONG> or
+                     <STRONG>smgl</STRONG> and <STRONG>smgr</STRONG>
 
               set tabs using
                      <STRONG>tbc</STRONG> and <STRONG>hts</STRONG>
@@ -1927,607 +1922,572 @@
               print the file
                      <STRONG>if</STRONG>
 
-              and finally
-                     output <STRONG>is3</STRONG>.
+              and finally output
+                     <STRONG>is3</STRONG>.
 
-       Most  initialization  is  done with <STRONG>is2</STRONG>.  Special terminal
-       modes can be set up without duplicating strings by putting
-       the  common  sequences in <STRONG>is2</STRONG> and special cases in <STRONG>is1</STRONG> and
-       <STRONG>is3</STRONG>.
+       Most  initialization  is  done with <STRONG>is2</STRONG>.  Special terminal modes can be
+       set up without duplicating strings by putting the common  sequences  in
+       <STRONG>is2</STRONG> and special cases in <STRONG>is1</STRONG> and <STRONG>is3</STRONG>.
 
-       A set of sequences that does a harder reset from a totally
-       unknown state can be given as <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rf</STRONG> and <STRONG>rs3</STRONG>, analo-
-       gous to <STRONG>is1</STRONG> <STRONG>,</STRONG>  <STRONG>is2</STRONG>  <STRONG>,</STRONG>  <STRONG>if</STRONG>  and  <STRONG>is3</STRONG>  respectively.   These
-       strings  are  output  by  the <EM>reset</EM> program, which is used
-       when the terminal gets into a wedged state.  Commands  are
-       normally  placed  in <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG> <STRONG>rs3</STRONG> and <STRONG>rf</STRONG> only if they pro-
-       duce annoying effects on the screen and are not  necessary
-       when  logging  in.   For  example,  the command to set the
-       vt100 into 80-column mode would normally be part  of  <STRONG>is2</STRONG>,
-       but  it causes an annoying glitch of the screen and is not
-       normally needed since the terminal is usually  already  in
-       80 column mode.
+       A  set  of  sequences  that  does a harder reset from a totally unknown
+       state can be given as <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rf</STRONG> and <STRONG>rs3</STRONG>, analogous to <STRONG>is1</STRONG> <STRONG>,</STRONG> <STRONG>is2</STRONG> <STRONG>,</STRONG> <STRONG>if</STRONG>
+       and  <STRONG>is3</STRONG>  respectively.   These  strings  are output by <EM>reset</EM> option of
+       <STRONG>tput</STRONG>, or by the <STRONG>reset</STRONG> program (an alias of <STRONG>tset</STRONG>), which  is  used  when
+       the terminal gets into a wedged state.  Commands are normally placed in
+       <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG> <STRONG>rs3</STRONG> and <STRONG>rf</STRONG> only if they produce annoying effects on the screen
+       and are not necessary when logging in.  For example, the command to set
+       the vt100 into 80-column mode would normally be part  of  <STRONG>is2</STRONG>,  but  it
+       causes  an  annoying  glitch  of  the screen and is not normally needed
+       since the terminal is usually already in 80-column mode.
 
-       The <EM>reset</EM> program writes strings including <STRONG>iprog</STRONG>, etc., in
-       the same order as  the  <EM>init</EM>  program,  using  <STRONG>rs1</STRONG>,  etc.,
-       instead of <STRONG>is1</STRONG>, etc.  If any of <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>, or <STRONG>rf</STRONG> reset
-       capability strings are missing, the  <EM>reset</EM>  program  falls
-       back  upon  the  corresponding  initialization  capability
-       string.
+       The <STRONG>reset</STRONG> program writes strings including <STRONG>iprog</STRONG>,  etc.,  in  the  same
+       order  as  the  <EM>init</EM> program, using <STRONG>rs1</STRONG>, etc., instead of <STRONG>is1</STRONG>, etc.  If
+       any of <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>, or <STRONG>rf</STRONG> reset capability strings are  missing,  the
+       <STRONG>reset</STRONG>   program   falls  back  upon  the  corresponding  initialization
+       capability string.
 
-       If there are commands to set and clear tab stops, they can
-       be  given  as <STRONG>tbc</STRONG> (clear all tab stops) and <STRONG>hts</STRONG> (set a tab
-       stop in the current column of every row).  If a more  com-
-       plex  sequence  is  needed  to  set  the  tabs than can be
-       described by this, the sequence can be placed  in  <STRONG>is2</STRONG>  or
-       <STRONG>if</STRONG>.
+       If there are commands to set and clear tab stops, they can be given  as
+       <STRONG>tbc</STRONG> (clear all tab stops) and <STRONG>hts</STRONG> (set a tab stop in the current column
+       of every row).  If a more complex sequence is needed to  set  the  tabs
+       than can be described by this, the sequence can be placed in <STRONG>is2</STRONG> or <STRONG>if</STRONG>.
+
+       The  <STRONG>tput</STRONG>  <STRONG>reset</STRONG>  command uses the same capability strings as the <STRONG>reset</STRONG>
+       command, although the two programs (<STRONG>tput</STRONG> and <STRONG>reset</STRONG>)  provide  different
+       command-line options.
+
+       In  practice,  these  terminfo  capabilities  are  not  often  used  in
+       initialization of tabs (though they are required for the <STRONG>tabs</STRONG> program):
+
+       <STRONG>o</STRONG>   Almost all hardware terminals (at least those which supported tabs)
+           initialized those to every <EM>eight</EM> columns:
+
+           The  only  exception  was  the  AT&amp;T 2300 series, which set tabs to
+           every <EM>five</EM> columns.
+
+       <STRONG>o</STRONG>   In particular, developers  of  the  hardware  terminals  which  are
+           commonly  used  as  models  for  modern terminal emulators provided
+           documentation demonstrating that <EM>eight</EM> columns were the standard.
+
+       <STRONG>o</STRONG>   Because of this, the terminal initialization programs <STRONG>tput</STRONG> and <STRONG>tset</STRONG>
+           use   the  <STRONG>tbc</STRONG>  (<STRONG>clear_all_tabs</STRONG>)  and  <STRONG>hts</STRONG>  (<STRONG>set_tab</STRONG>)  capabilities
+           directly only when the <STRONG>it</STRONG> (<STRONG>init_tabs</STRONG>) capability is set to a  value
+           other than <EM>eight</EM>.
 
 
-</PRE>
-<H3><a name="h3-Delays-and-Padding">Delays and Padding</a></H3><PRE>
-       Many  older  and  slower  terminals  do not support either
-       XON/XOFF or DTR handshaking, including hard copy terminals
-       and  some  very  archaic CRTs (including, for example, DEC
-       VT100s).  These may require padding characters after  cer-
-       tain cursor motions and screen changes.
+</PRE><H3><a name="h3-Delays-and-Padding">Delays and Padding</a></H3><PRE>
+       Many  older  and slower terminals do not support either XON/XOFF or DTR
+       handshaking, including hard copy terminals and some very  archaic  CRTs
+       (including,  for  example,  DEC  VT100s).   These  may  require padding
+       characters after certain cursor motions and screen changes.
 
-       If the terminal uses xon/xoff handshaking for flow control
-       (that is, it automatically emits ^S back to the host  when
-       its input buffers are close to full), set <STRONG>xon</STRONG>.  This capa-
-       bility suppresses the emission of padding.  You  can  also
-       set  it for memory-mapped console devices effectively that
-       do not have a speed  limit.   Padding  information  should
-       still  be  included so that routines can make better deci-
-       sions about relative costs, but actual pad characters will
-       not be transmitted.
+       If the terminal uses xon/xoff handshaking for flow control (that is, it
+       automatically  emits  ^S  back  to  the host when its input buffers are
+       close to full), set <STRONG>xon</STRONG>.  This capability suppresses  the  emission  of
+       padding.   You  can  also  set  it  for  memory-mapped  console devices
+       effectively that do not have a speed limit.  Padding information should
+       still  be  included  so  that  routines can make better decisions about
+       relative costs, but actual pad characters will not be transmitted.
 
-       If  <STRONG>pb</STRONG> (padding baud rate) is given, padding is suppressed
-       at baud rates below the value of <STRONG>pb</STRONG>.  If the entry has  no
-       padding  baud rate, then whether padding is emitted or not
-       is completely controlled by <STRONG>xon</STRONG>.
+       If <STRONG>pb</STRONG> (padding baud rate) is given, padding is suppressed at baud rates
+       below  the  value  of  <STRONG>pb</STRONG>.  If the entry has no padding baud rate, then
+       whether padding is emitted or not is completely controlled by <STRONG>xon</STRONG>.
 
-       If the terminal requires other than a null (zero)  charac-
-       ter  as  a  pad,  then this can be given as <STRONG>pad</STRONG>.  Only the
-       first character of the <STRONG>pad</STRONG> string is used.
+       If the terminal requires other than a null (zero) character as  a  pad,
+       then  this  can  be  given as <STRONG>pad</STRONG>.  Only the first character of the <STRONG>pad</STRONG>
+       string is used.
 
 
-</PRE>
-<H3><a name="h3-Status-Lines">Status Lines</a></H3><PRE>
-       Some terminals have an extra "status line"  which  is  not
-       normally  used  by  software  (and thus not counted in the
-       terminal's <STRONG>lines</STRONG> capability).
+</PRE><H3><a name="h3-Status-Lines">Status Lines</a></H3><PRE>
+       Some terminals have an extra "status line" which is not  normally  used
+       by software (and thus not counted in the terminal's <STRONG>lines</STRONG> capability).
 
-       The simplest case  is  a  status  line  which  is  cursor-
-       addressable  but  not part of the main scrolling region on
-       the screen; the Heathkit H19 has a  status  line  of  this
-       kind,  as  would  a 24-line VT100 with a 23-line scrolling
-       region set up on initialization.  This situation is  indi-
-       cated by the <STRONG>hs</STRONG> capability.
+       The  simplest case is a status line which is cursor-addressable but not
+       part of the main scrolling region on the screen; the Heathkit H19 has a
+       status  line  of  this  kind,  as  would a 24-line VT100 with a 23-line
+       scrolling region set up on initialization.  This situation is indicated
+       by the <STRONG>hs</STRONG> capability.
 
-       Some terminals with status lines need special sequences to
-       access the status line.   These  may  be  expressed  as  a
-       string with single parameter <STRONG>tsl</STRONG> which takes the cursor to
-       a given zero-origin column on the status line.  The  capa-
-       bility <STRONG>fsl</STRONG> must return to the main-screen cursor positions
-       before the last <STRONG>tsl</STRONG>.  You may need  to  embed  the  string
-       values  of <STRONG>sc</STRONG> (save cursor) and <STRONG>rc</STRONG> (restore cursor) in <STRONG>tsl</STRONG>
-       and <STRONG>fsl</STRONG> to accomplish this.
+       Some  terminals  with status lines need special sequences to access the
+       status line.  These may be expressed as a string with single  parameter
+       <STRONG>tsl</STRONG>  which takes the cursor to a given zero-origin column on the status
+       line.  The  capability  <STRONG>fsl</STRONG>  must  return  to  the  main-screen  cursor
+       positions before the last <STRONG>tsl</STRONG>.  You may need to embed the string values
+       of <STRONG>sc</STRONG> (save  cursor)  and  <STRONG>rc</STRONG>  (restore  cursor)  in  <STRONG>tsl</STRONG>  and  <STRONG>fsl</STRONG>  to
+       accomplish this.
 
-       The status line is normally assumed to be the  same  width
-       as  the width of the terminal.  If this is untrue, you can
-       specify it with the numeric capability <STRONG>wsl</STRONG>.
+       The  status  line is normally assumed to be the same width as the width
+       of the terminal.  If this is  untrue,  you  can  specify  it  with  the
+       numeric capability <STRONG>wsl</STRONG>.
 
-       A command to erase or blank the status line may be  speci-
-       fied as <STRONG>dsl</STRONG>.
+       A command to erase or blank the status line may be specified as <STRONG>dsl</STRONG>.
 
-       The   boolean   capability  <STRONG>eslok</STRONG>  specifies  that  escape
-       sequences, tabs, etc., work ordinarily in the status line.
+       The  Boolean  capability  <STRONG>eslok</STRONG>  specifies that escape sequences, tabs,
+       etc., work ordinarily in the status line.
 
-       The <STRONG>ncurses</STRONG> implementation does not yet use any  of  these
-       capabilities.   They are documented here in case they ever
-       become important.
+       The <EM>ncurses</EM> implementation does not yet use any of these  capabilities.
+       They are documented here in case they ever become important.
 
 
-</PRE>
-<H3><a name="h3-Line-Graphics">Line Graphics</a></H3><PRE>
-       Many terminals have alternate character  sets  useful  for
-       forms-drawing.   Terminfo  and <STRONG>curses</STRONG> build in support for
-       the drawing characters supported by the VT100,  with  some
-       characters  from  the  AT&amp;T  4410v1 added.  This alternate
-       character set may be specified by the <STRONG>acsc</STRONG> capability.
+</PRE><H3><a name="h3-Line-Graphics">Line Graphics</a></H3><PRE>
+       Many  terminals have alternate character sets useful for forms-drawing.
+       Terminfo and <STRONG>curses</STRONG> have built-in  support  for  most  of  the  drawing
+       characters  supported  by the VT100, with some characters from the AT&amp;T
+       4410v1 added.  This alternate character set may  be  specified  by  the
+       <STRONG>acsc</STRONG> capability.
 
-       <STRONG>Glyph</STRONG>                       <STRONG>ACS</STRONG>           <STRONG>Ascii</STRONG>     <STRONG>VT100</STRONG>
-       <STRONG>Name</STRONG>                        <STRONG>Name</STRONG>          <STRONG>Default</STRONG>   <STRONG>Name</STRONG>
-       UK pound sign               ACS_STERLING  f         }
-       arrow pointing down         ACS_DARROW    v         .
-       arrow pointing left         ACS_LARROW    &lt;         ,
-       arrow pointing right        ACS_RARROW    &gt;         +
-       arrow pointing up           ACS_UARROW    ^         -
-       board of squares            ACS_BOARD     #         h
-       bullet                      ACS_BULLET    o         ~
-       checker board (stipple)     ACS_CKBOARD   :         a
-       degree symbol               ACS_DEGREE    \         f
-       diamond                     ACS_DIAMOND   +         `
-       greater-than-or-equal-to    ACS_GEQUAL    &gt;         z
-       greek pi                    ACS_PI        *         {
-       horizontal line             ACS_HLINE     -         q
-       lantern symbol              ACS_LANTERN   #         i
-       large plus or crossover     ACS_PLUS      +         n
-       less-than-or-equal-to       ACS_LEQUAL    &lt;         y
-       lower left corner           ACS_LLCORNER  +         m
-       lower right corner          ACS_LRCORNER  +         j
-       not-equal                   ACS_NEQUAL    !         |
-       plus/minus                  ACS_PLMINUS   #         g
-       scan line 1                 ACS_S1        ~         o
-       scan line 3                 ACS_S3        -         p
-       scan line 7                 ACS_S7        -         r
-       scan line 9                 ACS_S9        _         s
-       solid square block          ACS_BLOCK     #         0
-       tee pointing down           ACS_TTEE      +         w
-       tee pointing left           ACS_RTEE      +         u
-       tee pointing right          ACS_LTEE      +         t
-       tee pointing up             ACS_BTEE      +         v
-       upper left corner           ACS_ULCORNER  +         l
-       upper right corner          ACS_URCORNER  +         k
-       vertical line               ACS_VLINE     |         x
+                          <STRONG>acsc</STRONG>
+       <STRONG>ACS</STRONG> <STRONG>Name</STRONG>      <STRONG>Value</STRONG>   <STRONG>Symbol</STRONG>   <STRONG>ASCII</STRONG> <STRONG>Fallback</STRONG> <STRONG>/</STRONG> <STRONG>Glyph</STRONG> <STRONG>Name</STRONG>
+       ------------------------------------------------------------------------
+       <STRONG>ACS_RARROW</STRONG>    0x2b      +      <STRONG>&gt;</STRONG>  arrow pointing right
+       <STRONG>ACS_LARROW</STRONG>    0x2c      ,      <STRONG>&lt;</STRONG>  arrow pointing left
+       <STRONG>ACS_UARROW</STRONG>    0x2d      -      <STRONG>^</STRONG>  arrow pointing up
+       <STRONG>ACS_DARROW</STRONG>    0x2e      .      <STRONG>v</STRONG>  arrow pointing down
+       <STRONG>ACS_BLOCK</STRONG>     0x30      0      <STRONG>#</STRONG>  solid square block
+       <STRONG>ACS_DIAMOND</STRONG>   0x60      `      <STRONG>+</STRONG>  diamond
+       <STRONG>ACS_CKBOARD</STRONG>   0x61      a      <STRONG>:</STRONG>  checker board (stipple)
+       <STRONG>ACS_DEGREE</STRONG>    0x66      f      <STRONG>\</STRONG>  degree symbol
+       <STRONG>ACS_PLMINUS</STRONG>   0x67      g      <STRONG>#</STRONG>  plus/minus
+       <STRONG>ACS_BOARD</STRONG>     0x68      h      <STRONG>#</STRONG>  board of squares
+       <STRONG>ACS_LANTERN</STRONG>   0x69      i      <STRONG>#</STRONG>  lantern symbol
+       <STRONG>ACS_LRCORNER</STRONG>  0x6a      j      <STRONG>+</STRONG>  lower right corner
 
-       The best way to define a new device's graphics set  is  to
-       add  a  column  to a copy of this table for your terminal,
-       giving  the  character   which   (when   emitted   between
-       <STRONG>smacs</STRONG>/<STRONG>rmacs</STRONG>  switches) will be rendered as the correspond-
-       ing graphic.  Then read off the VT100/your terminal  char-
-       acter  pairs  right  to left in sequence; these become the
-       ACSC string.
+       <STRONG>ACS_URCORNER</STRONG>  0x6b      k      <STRONG>+</STRONG>  upper right corner
+       <STRONG>ACS_ULCORNER</STRONG>  0x6c      l      <STRONG>+</STRONG>  upper left corner
+       <STRONG>ACS_LLCORNER</STRONG>  0x6d      m      <STRONG>+</STRONG>  lower left corner
+       <STRONG>ACS_PLUS</STRONG>      0x6e      n      <STRONG>+</STRONG>  large plus or crossover
+       <STRONG>ACS_S1</STRONG>        0x6f      o      <STRONG>~</STRONG>  scan line 1
+       <STRONG>ACS_S3</STRONG>        0x70      p      <STRONG>-</STRONG>  scan line 3
+       <STRONG>ACS_HLINE</STRONG>     0x71      q      <STRONG>-</STRONG>  horizontal line
+       <STRONG>ACS_S7</STRONG>        0x72      r      <STRONG>-</STRONG>  scan line 7
+       <STRONG>ACS_S9</STRONG>        0x73      s      <STRONG>_</STRONG>  scan line 9
+       <STRONG>ACS_LTEE</STRONG>      0x74      t      <STRONG>+</STRONG>  tee pointing right
+       <STRONG>ACS_RTEE</STRONG>      0x75      u      <STRONG>+</STRONG>  tee pointing left
+       <STRONG>ACS_BTEE</STRONG>      0x76      v      <STRONG>+</STRONG>  tee pointing up
+       <STRONG>ACS_TTEE</STRONG>      0x77      w      <STRONG>+</STRONG>  tee pointing down
+       <STRONG>ACS_VLINE</STRONG>     0x78      x      <STRONG>|</STRONG>  vertical line
+       <STRONG>ACS_LEQUAL</STRONG>    0x79      y      <STRONG>&lt;</STRONG>  less-than-or-equal-to
+       <STRONG>ACS_GEQUAL</STRONG>    0x7a      z      <STRONG>&gt;</STRONG>  greater-than-or-equal-to
+       <STRONG>ACS_PI</STRONG>        0x7b      {      <STRONG>*</STRONG>  greek pi
+       <STRONG>ACS_NEQUAL</STRONG>    0x7c      |      <STRONG>!</STRONG>  not-equal
+       <STRONG>ACS_STERLING</STRONG>  0x7d      }      <STRONG>f</STRONG>  UK pound sign
+       <STRONG>ACS_BULLET</STRONG>    0x7e      ~      <STRONG>o</STRONG>  bullet
+
+       A few notes apply to the table itself:
+
+       <STRONG>o</STRONG>   X/Open  Curses  incorrectly  states that the mapping for <EM>lantern</EM> is
+           uppercase "I" although Unix implementations use the  lowercase  "i"
+           mapping.
+
+       <STRONG>o</STRONG>   The  DEC  VT100  implemented graphics using the alternate character
+           set feature, temporarily switching <EM>modes</EM> and sending characters  in
+           the  range  0x60  (96)  to 0x7e (126) (the <STRONG>acsc</STRONG> <STRONG>Value</STRONG> column in the
+           table).
+
+       <STRONG>o</STRONG>   The AT&amp;T terminal added graphics characters outside that range.
+
+           Some of the characters within the range do  not  match  the  VT100;
+           presumably  they  were  used in the AT&amp;T terminal: <EM>board</EM> <EM>of</EM> <EM>squares</EM>
+           replaces the VT100 <EM>newline</EM> symbol, while  <EM>lantern</EM>  <EM>symbol</EM>  replaces
+           the VT100 <EM>vertical</EM> <EM>tab</EM> symbol.  The other VT100 symbols for control
+           characters (<EM>horizontal</EM> <EM>tab</EM>, <EM>carriage</EM> <EM>return</EM> and <EM>line-feed</EM>) are  not
+           (re)used in curses.
+
+       The  best  way to define a new device's graphics set is to add a column
+       to a copy of this table for your terminal, giving the  character  which
+       (when  emitted  between  <STRONG>smacs</STRONG>/<STRONG>rmacs</STRONG>  switches) will be rendered as the
+       corresponding graphic.  Then read off the VT100/your terminal character
+       pairs right to left in sequence; these become the ACSC string.
 
 
-</PRE>
-<H3><a name="h3-Color-Handling">Color Handling</a></H3><PRE>
-       Most color terminals are either "Tektronix-like"  or  "HP-
-       like".   Tektronix-like terminals have a predefined set of
-       N colors (where N usually 8), and can  set  character-cell
-       foreground and background characters independently, mixing
-       them into N * N color-pairs.  On  HP-like  terminals,  the
-       use must set each color pair up separately (foreground and
-       background are  not  independently  settable).   Up  to  M
-       color-pairs  may  be  set  up  from  2*M different colors.
-       ANSI-compatible terminals are Tektronix-like.
+</PRE><H3><a name="h3-Color-Handling">Color Handling</a></H3><PRE>
+       The  curses  library  functions <STRONG>init_pair</STRONG> and <STRONG>init_color</STRONG> manipulate the
+       <EM>color</EM>  <EM>pairs</EM>  and  <EM>color</EM>  <EM>values</EM>  discussed  in   this   section   (see
+       <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG> for details on these and related functions).
 
-       Some basic color capabilities are independent of the color
-       method.  The numeric capabilities <STRONG>colors</STRONG> and <STRONG>pairs</STRONG> specify
-       the maximum numbers of colors and color-pairs that can  be
-       displayed  simultaneously.   The <STRONG>op</STRONG> (original pair) string
-       resets foreground and background colors to  their  default
-       values  for the terminal.  The <STRONG>oc</STRONG> string resets all colors
-       or color-pairs to their default values for  the  terminal.
-       Some  terminals  (including  many  PC  terminal emulators)
-       erase screen  areas  with  the  current  background  color
-       rather  than the power-up default background; these should
-       have the boolean capability <STRONG>bce</STRONG>.
+       Most color terminals are either "Tektronix-like" or "HP-like":
 
-       To change the current foreground or background color on  a
-       Tektronix-type  terminal,  use <STRONG>setaf</STRONG> (set ANSI foreground)
-       and <STRONG>setab</STRONG> (set ANSI background) or <STRONG>setf</STRONG>  (set  foreground)
-       and  <STRONG>setb</STRONG> (set background).  These take one parameter, the
-       color  number.   The  SVr4  documentation  describes  only
-       <STRONG>setaf</STRONG>/<STRONG>setab</STRONG>;  the  XPG4  draft  says that "If the terminal
-       supports ANSI escape sequences to set background and fore-
-       ground,  they  should be coded as <STRONG>setaf</STRONG> and <STRONG>setab</STRONG>, respec-
-       tively.  If the terminal supports other  escape  sequences
-       to  set background and foreground, they should be coded as
-       <STRONG>setf</STRONG> and <STRONG>setb</STRONG>, respectively.  The <EM>vidputs()</EM>  function  and
-       the  refresh  functions  use  <STRONG>setaf</STRONG>  and <STRONG>setab</STRONG> if they are
-       defined."
+       <STRONG>o</STRONG>   Tektronix-like terminals have a predefined set of <EM>N</EM> colors (where <EM>N</EM>
+           is usually 8), and can set character-cell foreground and background
+           characters independently, mixing them into <EM>N</EM> * <EM>N</EM> color pairs.
 
-       The <STRONG>setaf</STRONG>/<STRONG>setab</STRONG> and <STRONG>setf</STRONG>/<STRONG>setb</STRONG> capabilities take  a  single
-       numeric argument each.  Argument values 0-7 of <STRONG>setaf</STRONG>/<STRONG>setab</STRONG>
-       are portably defined as follows (the middle column is  the
-       symbolic #define available in the header for the <STRONG>curses</STRONG> or
-       <STRONG>ncurses</STRONG> libraries).  The terminal hardware is free to  map
-       these  as  it  likes,  but  the RGB values indicate normal
+       <STRONG>o</STRONG>   On  HP-like  terminals,  the  user  must  set  each  color  pair up
+           separately  (foreground  and  background  are   not   independently
+           settable).   Up  to  <EM>M</EM> color pairs may be set up from 2*<EM>M</EM> different
+           colors.  ANSI-compatible terminals are Tektronix-like.
+
+       Some basic color capabilities are independent of the color method.  The
+       numeric  capabilities  <STRONG>colors</STRONG>  and <STRONG>pairs</STRONG> specify the maximum numbers of
+       colors and color pairs that can be displayed  simultaneously.   The  <STRONG>op</STRONG>
+       (original pair) string resets foreground and background colors to their
+       default values for the terminal.  The <STRONG>oc</STRONG> string resets  all  colors  or
+       color  pairs  to their default values for the terminal.  Some terminals
+       (including many PC terminal emulators)  erase  screen  areas  with  the
+       current  background  color rather than the power-up default background;
+       these should have the Boolean capability <STRONG>bce</STRONG>.
+
+       While the  curses  library  works  with  <EM>color</EM>  <EM>pairs</EM>  (reflecting  the
+       inability  of  some  devices  to  set  foreground and background colors
+       independently), there  are  separate  capabilities  for  setting  these
+       features:
+
+       <STRONG>o</STRONG>   To   change  the  current  foreground  or  background  color  on  a
+           Tektronix-type terminal, use <STRONG>setaf</STRONG> (set ANSI foreground) and  <STRONG>setab</STRONG>
+           (set  ANSI  background)  or  <STRONG>setf</STRONG>  (set  foreground)  and <STRONG>setb</STRONG> (set
+           background).  These take one parameter, the color number.  The SVr4
+           documentation  describes only <STRONG>setaf</STRONG>/<STRONG>setab</STRONG>; the XPG4 draft says that
+           "If the terminal supports ANSI escape sequences to  set  background
+           and   foreground,   they  should  be  coded  as  <STRONG>setaf</STRONG>  and  <STRONG>setab</STRONG>,
+           respectively.
+
+       <STRONG>o</STRONG>   If the terminal supports other escape sequences to  set  background
+           and   foreground,   they   should   be  coded  as  <STRONG>setf</STRONG>  and  <STRONG>setb</STRONG>,
+           respectively.  The <STRONG>vidputs</STRONG> and the <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>  functions  use  the
+           <STRONG>setaf</STRONG> and <STRONG>setab</STRONG> capabilities if they are defined.
+
+       The  <STRONG>setaf</STRONG>/<STRONG>setab</STRONG>  and  <STRONG>setf</STRONG>/<STRONG>setb</STRONG>  capabilities  take  a  single numeric
+       argument each.  Argument values 0-7 of <STRONG>setaf</STRONG>/<STRONG>setab</STRONG> are portably defined
+       as  follows (the middle column is the symbolic #define available in the
+       header for the <STRONG>curses</STRONG> or <EM>ncurses</EM> libraries).  The terminal hardware  is
+       free  to  map  these  as  it  likes, but the RGB values indicate normal
        locations in color space.
 
-             <STRONG>Color</STRONG>       <STRONG>#define</STRONG>       <STRONG>Value</STRONG>       <STRONG>RGB</STRONG>
-             black     <STRONG>COLOR_BLACK</STRONG>       0     0, 0, 0
-             red       <STRONG>COLOR_RED</STRONG>         1     max,0,0
-             green     <STRONG>COLOR_GREEN</STRONG>       2     0,max,0
-             yellow    <STRONG>COLOR_YELLOW</STRONG>      3     max,max,0
-             blue      <STRONG>COLOR_BLUE</STRONG>        4     0,0,max
-             magenta   <STRONG>COLOR_MAGENTA</STRONG>     5     max,0,max
-             cyan      <STRONG>COLOR_CYAN</STRONG>        6     0,max,max
-             white     <STRONG>COLOR_WHITE</STRONG>       7     max,max,max
+                    <STRONG>Color</STRONG>      <STRONG>#define</STRONG>       <STRONG>Value</STRONG>        <STRONG>RGB</STRONG>
+                   ------------------------------------------------
+                   black     <STRONG>COLOR_BLACK</STRONG>       0     0,   0,   0
+                   red       <STRONG>COLOR_RED</STRONG>         1     max, 0,   0
+                   green     <STRONG>COLOR_GREEN</STRONG>       2     0,   max, 0
+                   yellow    <STRONG>COLOR_YELLOW</STRONG>      3     max, max, 0
+                   blue      <STRONG>COLOR_BLUE</STRONG>        4     0,   0,   max
+                   magenta   <STRONG>COLOR_MAGENTA</STRONG>     5     max, 0,   max
+                   cyan      <STRONG>COLOR_CYAN</STRONG>        6     0,   max, max
+                   white     <STRONG>COLOR_WHITE</STRONG>       7     max, max, max
 
-       The argument values of <STRONG>setf</STRONG>/<STRONG>setb</STRONG>  historically  correspond
-       to a different mapping, i.e.,
+       The argument values of <STRONG>setf</STRONG>/<STRONG>setb</STRONG> historically correspond to a different
+       mapping, i.e.,
 
-             <STRONG>Color</STRONG>       <STRONG>#define</STRONG>       <STRONG>Value</STRONG>       <STRONG>RGB</STRONG>
-             black     <STRONG>COLOR_BLACK</STRONG>       0     0, 0, 0
-             blue      <STRONG>COLOR_BLUE</STRONG>        1     0,0,max
-             green     <STRONG>COLOR_GREEN</STRONG>       2     0,max,0
-             cyan      <STRONG>COLOR_CYAN</STRONG>        3     0,max,max
-             red       <STRONG>COLOR_RED</STRONG>         4     max,0,0
-             magenta   <STRONG>COLOR_MAGENTA</STRONG>     5     max,0,max
-             yellow    <STRONG>COLOR_YELLOW</STRONG>      6     max,max,0
-             white     <STRONG>COLOR_WHITE</STRONG>       7     max,max,max
+                    <STRONG>Color</STRONG>      <STRONG>#define</STRONG>       <STRONG>Value</STRONG>        <STRONG>RGB</STRONG>
+                   ------------------------------------------------
+                   black     <STRONG>COLOR_BLACK</STRONG>       0     0,   0,   0
+                   blue      <STRONG>COLOR_BLUE</STRONG>        1     0,   0,   max
+                   green     <STRONG>COLOR_GREEN</STRONG>       2     0,   max, 0
+                   cyan      <STRONG>COLOR_CYAN</STRONG>        3     0,   max, max
+                   red       <STRONG>COLOR_RED</STRONG>         4     max, 0,   0
+                   magenta   <STRONG>COLOR_MAGENTA</STRONG>     5     max, 0,   max
+                   yellow    <STRONG>COLOR_YELLOW</STRONG>      6     max, max, 0
+                   white     <STRONG>COLOR_WHITE</STRONG>       7     max, max, max
 
-       It is important to not confuse the two sets of color capa-
-       bilities; otherwise red/blue will be interchanged  on  the
-       display.
+       It  is  important  to  not  confuse the two sets of color capabilities;
+       otherwise red/blue will be interchanged on the display.
 
-       On  an  HP-like terminal, use <STRONG>scp</STRONG> with a color-pair number
-       parameter to set which color pair is current.
+       On an HP-like terminal, use <STRONG>scp</STRONG> with a color pair number  parameter  to
+       set which color pair is current.
 
-       On a Tektronix-like terminal, the capability  <STRONG>ccc</STRONG>  may  be
-       present  to  indicate that colors can be modified.  If so,
-       the <STRONG>initc</STRONG> capability will take a color number (0 to <STRONG>colors</STRONG>
-       -  1)and  three  more parameters which describe the color.
-       These three parameters default to being interpreted as RGB
-       (Red,  Green, Blue) values.  If the boolean capability <STRONG>hls</STRONG>
-       is present, they are instead as HLS (Hue, Lightness, Satu-
-       ration) indices.  The ranges are terminal-dependent.
+       Some terminals allow the <EM>color</EM> <EM>values</EM> to be modified:
 
-       On  an  HP-like  terminal, <STRONG>initp</STRONG> may give a capability for
-       changing a color-pair value.  It will take  seven  parame-
-       ters;  a  color-pair  number (0 to <STRONG>max_pairs</STRONG> - 1), and two
-       triples describing first background  and  then  foreground
-       colors.   These  parameters  must be (Red, Green, Blue) or
-       (Hue, Lightness, Saturation) depending on <STRONG>hls</STRONG>.
+       <STRONG>o</STRONG>   On  a Tektronix-like terminal, the capability <STRONG>ccc</STRONG> may be present to
+           indicate that colors can be modified.  If so, the <STRONG>initc</STRONG>  capability
+           will take a color number (0 to <STRONG>colors</STRONG> - 1)and three more parameters
+           which describe the color.  These three parameters default to  being
+           interpreted  as  RGB  (Red,  Green,  Blue)  values.  If the Boolean
+           capability <STRONG>hls</STRONG> is present, they are instead as HLS (Hue, Lightness,
+           Saturation) indices.  The ranges are terminal-dependent.
 
-       On some color terminals, colors collide  with  highlights.
-       You can register these collisions with the <STRONG>ncv</STRONG> capability.
-       This is a bit-mask of attributes not to be used when  col-
-       ors  are  enabled.  The correspondence with the attributes
-       understood by <STRONG>curses</STRONG> is as follows:
+       <STRONG>o</STRONG>   On  an HP-like terminal, <STRONG>initp</STRONG> may give a capability for changing a
+           color pair value.  It will take  seven  parameters;  a  color  pair
+           number  (0  to  <STRONG>max_pairs</STRONG>  -  1),  and two triples describing first
+           background and then foreground colors.  These  parameters  must  be
+           (Red,  Green,  Blue)  or  (Hue, Lightness, Saturation) depending on
+           <STRONG>hls</STRONG>.
 
-          <STRONG>Attribute</STRONG>              <STRONG>Bit</STRONG>   <STRONG>Decimal</STRONG>      <STRONG>Set</STRONG> <STRONG>by</STRONG>
-          A_STANDOUT             0     1            sgr
-          A_UNDERLINE            1     2            sgr
-          A_REVERSE              2     4            sgr
-          A_BLINK                3     8            sgr
-          A_DIM                  4     16           sgr
-          A_BOLD                 5     32           sgr
-          A_INVIS                6     64           sgr
-          A_PROTECT              7     128          sgr
-          A_ALTCHARSET           8     256          sgr
-          A_HORIZONTAL           9     512          sgr1
-          A_LEFT                 10    1024         sgr1
-          A_LOW                  11    2048         sgr1
-          A_RIGHT                12    4096         sgr1
-          A_TOP                  13    8192         sgr1
-          A_VERTICAL             14    16384        sgr1
-          A_ITALIC               15    32768        sitm
+       On some color terminals,  colors  collide  with  highlights.   You  can
+       register  these collisions with the <STRONG>ncv</STRONG> capability.  This is a bit mask
+       of  attributes  not  to  be  used  when  colors   are   enabled.    The
+       correspondence with the attributes understood by <STRONG>curses</STRONG> is as follows:
 
-       For example,  on  many  IBM  PC  consoles,  the  underline
-       attribute  collides  with the foreground color blue and is
-       not available in color mode.  These  should  have  an  <STRONG>ncv</STRONG>
-       capability of 2.
+                         <STRONG>Attribute</STRONG>     <STRONG>Bit</STRONG>   <STRONG>Decimal</STRONG>   <STRONG>Set</STRONG> <STRONG>by</STRONG>
+                        --------------------------------------
+                        <STRONG>A_STANDOUT</STRONG>      0         1    <STRONG>sgr</STRONG>
+                        <STRONG>A_UNDERLINE</STRONG>     1         2    <STRONG>sgr</STRONG>
+                        <STRONG>A_REVERSE</STRONG>       2         4    <STRONG>sgr</STRONG>
+                        <STRONG>A_BLINK</STRONG>         3         8    <STRONG>sgr</STRONG>
+                        <STRONG>A_DIM</STRONG>           4        16    <STRONG>sgr</STRONG>
+                        <STRONG>A_BOLD</STRONG>          5        32    <STRONG>sgr</STRONG>
+                        <STRONG>A_INVIS</STRONG>         6        64    <STRONG>sgr</STRONG>
+                        <STRONG>A_PROTECT</STRONG>       7       128    <STRONG>sgr</STRONG>
+                        <STRONG>A_ALTCHARSET</STRONG>    8       256    <STRONG>sgr</STRONG>
+                        <STRONG>A_HORIZONTAL</STRONG>    9       512    <STRONG>sgr1</STRONG>
+                        <STRONG>A_LEFT</STRONG>         10      1024    <STRONG>sgr1</STRONG>
+                        <STRONG>A_LOW</STRONG>          11      2048    <STRONG>sgr1</STRONG>
+                        <STRONG>A_RIGHT</STRONG>        12      4096    <STRONG>sgr1</STRONG>
+                        <STRONG>A_TOP</STRONG>          13      8192    <STRONG>sgr1</STRONG>
+                        <STRONG>A_VERTICAL</STRONG>     14     16384    <STRONG>sgr1</STRONG>
+                        <STRONG>A_ITALIC</STRONG>       15     32768    <STRONG>sitm</STRONG>
 
-       SVr4  curses  does nothing with <STRONG>ncv</STRONG>, ncurses recognizes it
-       and optimizes the output in favor of colors.
+       For  example, on many IBM PC consoles, the underline attribute collides
+       with the foreground color blue and is  not  available  in  color  mode.
+       These should have an <STRONG>ncv</STRONG> capability of 2.
+
+       SVr4  curses does nothing with <STRONG>ncv</STRONG>, <EM>ncurses</EM> recognizes it and optimizes
+       the output in favor of colors.
 
 
-</PRE>
-<H3><a name="h3-Miscellaneous">Miscellaneous</a></H3><PRE>
-       If the terminal requires other than a null (zero)  charac-
-       ter  as  a  pad,  then this can be given as pad.  Only the
-       first character of the pad string is used.  If the  termi-
-       nal does not have a pad character, specify npc.  Note that
-       ncurses implements  the  termcap-compatible  <STRONG>PC</STRONG>  variable;
-       though  the  application  may  set this value to something
-       other than a null, ncurses will test  <STRONG>npc</STRONG>  first  and  use
-       napms if the terminal has no pad character.
+</PRE><H3><a name="h3-Miscellaneous">Miscellaneous</a></H3><PRE>
+       If the terminal requires other than a null (zero) character as  a  pad,
+       then  this  can  be  given as pad.  Only the first character of the pad
+       string is used.  If the terminal does not have a pad character, specify
+       npc.   Note that <EM>ncurses</EM> implements the termcap-compatible <STRONG>PC</STRONG> variable;
+       though the application may set this value to  something  other  than  a
+       null,  <EM>ncurses</EM> will test <STRONG>npc</STRONG> first and use napms if the terminal has no
+       pad character.
 
-       If  the terminal can move up or down half a line, this can
-       be indicated with <STRONG>hu</STRONG>  (half-line  up)  and  <STRONG>hd</STRONG>  (half-line
-       down).  This is primarily useful for superscripts and sub-
-       scripts on hard-copy terminals.  If a  hard-copy  terminal
-       can  eject  to  the next page (form feed), give this as <STRONG>ff</STRONG>
-       (usually control L).
+       If the terminal can move up or down half a line, this can be  indicated
+       with  <STRONG>hu</STRONG>  (half-line  up)  and  <STRONG>hd</STRONG> (half-line down).  This is primarily
+       useful for superscripts and subscripts on hard-copy  terminals.   If  a
+       hard-copy terminal can eject to the next page (form feed), give this as
+       <STRONG>ff</STRONG> (usually control/L).
 
-       If there is a command to repeat a given character a  given
-       number  of times (to save time transmitting a large number
-       of identical characters) this can be  indicated  with  the
-       parameterized  string  <STRONG>rep</STRONG>.   The  first  parameter is the
-       character to be repeated and the second is the  number  of
-       times  to repeat it.  Thus, tparm(repeat_char, 'x', 10) is
+       If there is a command to repeat a given character  a  given  number  of
+       times   (to   save  time  transmitting  a  large  number  of  identical
+       characters) this can be indicated with the  parameterized  string  <STRONG>rep</STRONG>.
+       The  first  parameter is the character to be repeated and the second is
+       the number of times to repeat it.  Thus, tparm(repeat_char, 'x', 10) is
        the same as "xxxxxxxxxx".
 
-       If the terminal has a settable command character, such  as
-       the  TEKTRONIX  4025, this can be indicated with <STRONG>cmdch</STRONG>.  A
-       prototype command character is chosen which is used in all
-       capabilities.   This character is given in the <STRONG>cmdch</STRONG> capa-
-       bility to identify it.  The following convention  is  sup-
-       ported  on  some  UNIX  systems:  The environment is to be
-       searched for a <STRONG>CC</STRONG> variable, and if found, all  occurrences
-       of the prototype character are replaced with the character
-       in the environment variable.
+       If the terminal has a settable command character, such as the TEKTRONIX
+       4025, this can be indicated with <STRONG>cmdch</STRONG>.  A prototype command  character
+       is  chosen  which is used in all capabilities.  This character is given
+       in the <STRONG>cmdch</STRONG> capability to identify it.  The  following  convention  is
+       supported on some Unix systems: The environment is to be searched for a
+       <STRONG>CC</STRONG> variable, and if found, all occurrences of the  prototype  character
+       are replaced with the character in the environment variable.
 
-       Terminal descriptions that do  not  represent  a  specific
-       kind of known terminal, such as <EM>switch</EM>, <EM>dialup</EM>, <EM>patch</EM>, and
-       <EM>network</EM>, should include the  <STRONG>gn</STRONG>  (generic)  capability  so
-       that  programs  can  complain that they do not know how to
-       talk to the terminal.  (This capability does not apply  to
-       <EM>virtual</EM>   terminal   descriptions  for  which  the  escape
-       sequences are known.)
+       Terminal  descriptions  that  do not represent a specific kind of known
+       terminal, such as <EM>switch</EM>, <EM>dialup</EM>, <EM>patch</EM>, and  <EM>network</EM>,  should  include
+       the  <STRONG>gn</STRONG> (generic) capability so that programs can complain that they do
+       not know how to talk to the terminal.  (This capability does not  apply
+       to  <EM>virtual</EM>  terminal  descriptions  for which the escape sequences are
+       known.)
 
-       If the terminal has a "meta key" which  acts  as  a  shift
-       key,  setting  the  8th  bit of any character transmitted,
-       this fact can be indicated with <STRONG>km</STRONG>.   Otherwise,  software
-       will assume that the 8th bit is parity and it will usually
-       be cleared.  If strings exist to turn this "meta mode"  on
+       If the terminal has a "meta key" which acts as a shift key, setting the
+       8th  bit  of any character transmitted, this fact can be indicated with
+       <STRONG>km</STRONG>.  Otherwise, software will assume that the 8th bit is parity and  it
+       will  usually be cleared.  If strings exist to turn this "meta mode" on
        and off, they can be given as <STRONG>smm</STRONG> and <STRONG>rmm</STRONG>.
 
-       If  the terminal has more lines of memory than will fit on
-       the screen at once, the number of lines of memory  can  be
-       indicated  with  <STRONG>lm</STRONG>.   A  value of <STRONG>lm</STRONG>#0 indicates that the
-       number of lines is not fixed, but that there is still more
-       memory than fits on the screen.
+       If the terminal has more lines of memory than will fit on the screen at
+       once,  the number of lines of memory can be indicated with <STRONG>lm</STRONG>.  A value
+       of <STRONG>lm</STRONG>#0 indicates that the number of lines is not fixed, but that there
+       is still more memory than fits on the screen.
 
-       If the terminal is one of those supported by the UNIX vir-
-       tual terminal protocol, the terminal number can  be  given
-       as <STRONG>vt</STRONG>.
+       If  the terminal is one of those supported by the Unix virtual terminal
+       protocol, the terminal number can be given as <STRONG>vt</STRONG>.
 
-       Media copy strings which control an auxiliary printer con-
-       nected to the terminal can be given as <STRONG>mc0</STRONG>: print the con-
-       tents  of  the screen, <STRONG>mc4</STRONG>: turn off the printer, and <STRONG>mc5</STRONG>:
-       turn on the printer.  When the printer  is  on,  all  text
-       sent  to  the terminal will be sent to the printer.  It is
-       undefined whether the text is also displayed on the termi-
-       nal screen when the printer is on.  A variation <STRONG>mc5p</STRONG> takes
-       one parameter, and leaves the printer on for as many char-
-       acters  as  the  value  of  the  parameter, then turns the
-       printer off.  The parameter should not  exceed  255.   All
-       text,  including  <STRONG>mc4</STRONG>,  is  transparently  passed  to  the
-       printer while an <STRONG>mc5p</STRONG> is in effect.
+       Media copy strings which control an auxiliary printer connected to  the
+       terminal  can  be  given as <STRONG>mc0</STRONG>: print the contents of the screen, <STRONG>mc4</STRONG>:
+       turn off the printer, and <STRONG>mc5</STRONG>: turn on the printer.  When  the  printer
+       is  on,  all text sent to the terminal will be sent to the printer.  It
+       is undefined whether the text is also displayed on the terminal  screen
+       when  the  printer  is  on.   A variation <STRONG>mc5p</STRONG> takes one parameter, and
+       leaves the printer on for as  many  characters  as  the  value  of  the
+       parameter, then turns the printer off.  The parameter should not exceed
+       255.  All text, including <STRONG>mc4</STRONG>, is transparently passed to  the  printer
+       while an <STRONG>mc5p</STRONG> is in effect.
 
 
-</PRE>
-<H3><a name="h3-Glitches-and-Braindamage">Glitches and Braindamage</a></H3><PRE>
-       Hazeltine terminals, which do not allow "~" characters  to
-       be displayed should indicate <STRONG>hz</STRONG>.
+</PRE><H3><a name="h3-Glitches-and-Brain-Damage">Glitches and Brain Damage</a></H3><PRE>
+       Hazeltine  terminals, which do not allow "~" characters to be displayed
+       should indicate <STRONG>hz</STRONG>.
 
-       Terminals which ignore a line-feed immediately after an <STRONG>am</STRONG>
-       wrap, such as the Concept and vt100, should indicate <STRONG>xenl</STRONG>.
+       Terminals which ignore a line-feed immediately after an <STRONG>am</STRONG>  wrap,  such
+       as the Concept and vt100, should indicate <STRONG>xenl</STRONG>.
 
-       If <STRONG>el</STRONG> is required to  get  rid  of  standout  (instead  of
-       merely  writing  normal  text on top of it), <STRONG>xhp</STRONG> should be
-       given.
+       If  <STRONG>el</STRONG>  is  required  to get rid of standout (instead of merely writing
+       normal text on top of it), <STRONG>xhp</STRONG> should be given.
 
-       Teleray terminals, where tabs turn  all  characters  moved
-       over  to  blanks,  should  indicate <STRONG>xt</STRONG> (destructive tabs).
-       Note:   the    variable    indicating    this    is    now
-       "dest_tabs_magic_smso";  in  older  versions,  it was tel-
-       eray_glitch.  This glitch is also taken to mean that it is
-       not  possible  to  position  the cursor on top of a "magic
-       cookie", that to erase standout mode it is instead  neces-
-       sary to use delete and insert line.  The ncurses implemen-
-       tation ignores this glitch.
+       Teleray terminals, where tabs turn all characters moved over to blanks,
+       should  indicate  <STRONG>xt</STRONG> (destructive tabs).  Note: the variable indicating
+       this  is  now  "dest_tabs_magic_smso";  in  older  versions,   it   was
+       teleray_glitch.   This  glitch  is  also  taken  to mean that it is not
+       possible to position the cursor on top of a  "magic  cookie",  that  to
+       erase  standout  mode  it is instead necessary to use delete and insert
+       line.  The <EM>ncurses</EM> implementation ignores this glitch.
 
-       The Beehive Superbee, which is unable to correctly  trans-
-       mit  the escape or control C characters, has <STRONG>xsb</STRONG>, indicat-
-       ing that the f1 key is used for escape and f2 for  control
-       C.   (Only  certain Superbees have this problem, depending
-       on the ROM.)  Note that in older terminfo  versions,  this
-       capability   was   called   "beehive_glitch";  it  is  now
-       "no_esc_ctl_c".
+       The Beehive Superbee, which is unable to correctly transmit the  escape
+       or  control/C  characters,  has <STRONG>xsb</STRONG>, indicating that the f1 key is used
+       for escape and f2 for control/C.  (Only  certain  Superbees  have  this
+       problem,  depending on the ROM.)  Note that in older terminfo versions,
+       this capability was called "beehive_glitch"; it is now "no_esc_ctl_c".
 
-       Other specific  terminal  problems  may  be  corrected  by
-       adding more capabilities of the form <STRONG>x</STRONG><EM>x</EM>.
+       Other specific terminal  problems  may  be  corrected  by  adding  more
+       capabilities of the form <STRONG>x</STRONG><EM>x</EM>.
 
 
-</PRE>
-<H3><a name="h3-Similar-Terminals">Similar Terminals</a></H3><PRE>
-       If there are two very similar terminals, one (the variant)
-       can be defined as being just like  the  other  (the  base)
-       with  certain  exceptions.  In the definition of the vari-
-       ant, the string capability <STRONG>use</STRONG> can be given with the  name
-       of  the  base terminal.  The capabilities given before <STRONG>use</STRONG>
-       override those in the base type named by  <STRONG>use</STRONG>.   If  there
-       are  multiple <STRONG>use</STRONG> capabilities, they are merged in reverse
-       order.  That is, the rightmost <STRONG>use</STRONG> reference is  processed
-       first,  then the one to its left, and so forth.  Capabili-
-       ties given explicitly in the entry override those  brought
-       in by <STRONG>use</STRONG> references.
+</PRE><H3><a name="h3-Pitfalls-of-Long-Entries">Pitfalls of Long Entries</a></H3><PRE>
+       Long  terminfo  entries are unlikely to be a problem; to date, no entry
+       has  even  approached  terminfo's   4096-byte   string-table   maximum.
+       Unfortunately,  the termcap translations are much more strictly limited
+       (to 1023 bytes), thus termcap translations of long terminfo entries can
+       cause problems.
 
-       A capability can be canceled by placing <STRONG>xx@</STRONG> to the left of
-       the use reference that imports it, where <EM>xx</EM> is  the  capa-
-       bility.  For example, the entry
+       The  man  pages  for  4.3BSD and older versions of <STRONG>tgetent</STRONG> instruct the
+       user to allocate a 1024-byte buffer for the termcap entry.   The  entry
+       gets  null-terminated by the termcap library, so that makes the maximum
+       safe length for a termcap entry 1k-1 (1023) bytes.  Depending  on  what
+       the  application  and the termcap library being used does, and where in
+       the termcap file the terminal type that <STRONG>tgetent</STRONG> is  searching  for  is,
+       several bad things can happen:
 
-              2621-nl, smkx@, rmkx@, use=2621,
+       <STRONG>o</STRONG>   some termcap libraries print a warning message,
 
-       defines  a  2621-nl  that  does  not have the <STRONG>smkx</STRONG> or <STRONG>rmkx</STRONG>
-       capabilities, and hence does not turn on the function  key
-       labels  when in visual mode.  This is useful for different
-       modes for a terminal, or for different user preferences.
+       <STRONG>o</STRONG>   some exit if they find an entry that's longer than 1023 bytes,
 
+       <STRONG>o</STRONG>   some neither exit nor warn, doing nothing useful, and
 
-</PRE>
-<H3><a name="h3-Pitfalls-of-Long-Entries">Pitfalls of Long Entries</a></H3><PRE>
-       Long terminfo entries are unlikely to  be  a  problem;  to
-       date,  no  entry  has even approached terminfo's 4096-byte
-       string-table maximum.  Unfortunately, the termcap transla-
-       tions are much more strictly limited (to 1023 bytes), thus
-       termcap translations of long terminfo  entries  can  cause
-       problems.
+       <STRONG>o</STRONG>   some simply truncate the entries to 1023 bytes.
 
-       The  man  pages for 4.3BSD and older versions of <STRONG>tgetent()</STRONG>
-       instruct the user to allocate a 1024-byte buffer  for  the
-       termcap  entry.   The  entry  gets  null-terminated by the
-       termcap library, so that makes the maximum safe length for
-       a  termcap entry 1k-1 (1023) bytes.  Depending on what the
-       application and the termcap library being used  does,  and
-       where in the termcap file the terminal type that <STRONG>tgetent()</STRONG>
-       is searching for is, several bad things can happen.
+       Some application programs allocate more than the recommended 1K for the
+       termcap entry; others do not.
 
-       Some termcap libraries print a warning message or exit  if
-       they  find  an entry that's longer than 1023 bytes; others
-       do not; others truncate the entries to 1023  bytes.   Some
-       application programs allocate more than the recommended 1K
-       for the termcap entry; others do not.
+       Each termcap entry has two important sizes associated with  it:  before
+       "tc"  expansion, and after "tc" expansion.  "tc" is the capability that
+       tacks on another termcap entry to the end of the current one, to add on
+       its capabilities.  If a termcap entry does not use the "tc" capability,
+       then of course the two lengths are the same.
 
-       Each termcap entry has two important sizes associated with
-       it: before "tc" expansion, and after "tc" expansion.  "tc"
-       is the capability that tacks on another termcap  entry  to
-       the  end  of  the current one, to add on its capabilities.
-       If a termcap entry does not use the "tc" capability,  then
-       of course the two lengths are the same.
+       The "before tc expansion" length is the most important one, because  it
+       affects  more than just users of that particular terminal.  This is the
+       length of the entry as it exists in /etc/termcap, minus the  backslash-
+       newline pairs, which <STRONG>tgetent</STRONG> strips out while reading it.  Some termcap
+       libraries strip off the final newline, too (GNU termcap does not).  Now
+       suppose:
 
-       The  "before  tc  expansion"  length is the most important
-       one, because it affects more than just users of that  par-
-       ticular  terminal.   This is the length of the entry as it
-       exists in /etc/termcap, minus the backslash-newline pairs,
-       which <STRONG>tgetent()</STRONG> strips out while reading it.  Some termcap
-       libraries strip off the final newline,  too  (GNU  termcap
-       does not).  Now suppose:
-
-       <STRONG>o</STRONG>   a  termcap  entry  before  expansion is more than 1023
-           bytes long,
+       <STRONG>o</STRONG>   a termcap entry before expansion is more than 1023 bytes long,
 
        <STRONG>o</STRONG>   and the application has only allocated a 1k buffer,
 
-       <STRONG>o</STRONG>   and the termcap library (like the one  in  BSD/OS  1.1
-           and  GNU)  reads  the  whole entry into the buffer, no
-           matter what its length, to see if it is the  entry  it
-           wants,
+       <STRONG>o</STRONG>   and  the termcap library (like the one in BSD/OS 1.1 and GNU) reads
+           the whole entry into the buffer, no matter what its length, to  see
+           if it is the entry it wants,
 
-       <STRONG>o</STRONG>   and  <STRONG>tgetent()</STRONG>  is  searching for a terminal type that
-           either is the long entry, appears in the termcap  file
-           after  the  long entry, or does not appear in the file
-           at all (so that <STRONG>tgetent()</STRONG>  has  to  search  the  whole
-           termcap file).
+       <STRONG>o</STRONG>   and  <STRONG>tgetent</STRONG>  is  searching  for a terminal type that either is the
+           long entry, appears in the termcap file after the  long  entry,  or
+           does  not  appear in the file at all (so that <STRONG>tgetent</STRONG> has to search
+           the whole termcap file).
 
-       Then  <STRONG>tgetent()</STRONG>  will overwrite memory, perhaps its stack,
-       and probably core dump the program.  Programs like  telnet
-       are  particularly  vulnerable;  modern  telnets pass along
-       values like the terminal type automatically.  The  results
-       are  almost  as  undesirable  with a termcap library, like
-       SunOS 4.1.3 and Ultrix 4.4, that prints  warning  messages
-       when  it reads an overly long termcap entry.  If a termcap
-       library truncates long entries,  like  OSF/1  3.0,  it  is
-       immune  to  dying  here but will return incorrect data for
-       the terminal.
+       Then <STRONG>tgetent</STRONG> will overwrite memory, perhaps  its  stack,  and  probably
+       core   dump   the  program.   Programs  like  telnet  are  particularly
+       vulnerable; modern telnets pass along values  like  the  terminal  type
+       automatically.   The  results  are almost as undesirable with a termcap
+       library, like SunOS 4.1.3 and Ultrix 4.4, that prints warning  messages
+       when  it  reads  an  overly  long  termcap entry.  If a termcap library
+       truncates long entries, like OSF/1 3.0, it is immune to dying here  but
+       will return incorrect data for the terminal.
 
-       The "after tc expansion" length will have a similar effect
-       to the above, but only for people who actually set TERM to
-       that terminal type, since <STRONG>tgetent()</STRONG> only does "tc"  expan-
-       sion  once  it  is  found the terminal type it was looking
-       for, not while searching.
+       The  "after  tc  expansion"  length  will  have a similar effect to the
+       above, but only for people who actually set <EM>TERM</EM> to that terminal type,
+       since  <STRONG>tgetent</STRONG>  only  does "tc" expansion once it is found the terminal
+       type it was looking for, not while searching.
 
-       In summary, a termcap entry that is longer than 1023 bytes
-       can  cause,  on  various combinations of termcap libraries
-       and applications, a  core  dump,  warnings,  or  incorrect
-       operation.   If it is too long even before "tc" expansion,
-       it will have this effect even for users of some other ter-
-       minal  types and users whose TERM variable does not have a
-       termcap entry.
+       In summary, a termcap entry that is longer than 1023 bytes  can  cause,
+       on  various  combinations of termcap libraries and applications, a core
+       dump, warnings, or incorrect operation.  If it is too long even  before
+       "tc"  expansion,  it will have this effect even for users of some other
+       terminal types and users whose <EM>TERM</EM> variable does not  have  a  termcap
+       entry.
 
-       When in -C (translate to termcap) mode, the <STRONG>ncurses</STRONG> imple-
-       mentation of <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG> issues warning messages when the pre-
-       tc length of a termcap translation is too  long.   The  -c
-       (check)  option  also checks resolved (after tc expansion)
-       lengths.
+       When  in  -C (translate to termcap) mode, the <EM>ncurses</EM> implementation of
+       <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG> issues warning messages when the pre-tc  length  of  a  termcap
+       translation  is  too  long.  The -c (check) option also checks resolved
+       (after tc expansion) lengths.
 
 
-</PRE>
-<H3><a name="h3-Binary-Compatibility">Binary Compatibility</a></H3><PRE>
-       It is not wise to count on portability of binary  terminfo
-       entries  between commercial UNIX versions.  The problem is
-       that there are at least two versions  of  terminfo  (under
-       HP-UX and AIX) which diverged from System V terminfo after
-       SVr1, and have added extension capabilities to the  string
-       table  that  (in  the binary format) collide with System V
-       and XSI Curses extensions.
+</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
+       <EM>/usr/share/terminfo</EM>
+              compiled terminal description database directory
 
 
-</PRE>
-<H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
-       Searching for terminal descriptions in <STRONG>$HOME/.terminfo</STRONG> and
-       TERMINFO_DIRS is not supported by older implementations.
+</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+       Searching   for   terminal   descriptions   in   <EM>$HOME/.terminfo</EM>    and
+       <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM> is not supported by older implementations.
 
-       Some  SVr4  <STRONG>curses</STRONG>  implementations,  and  all previous to
-       SVr4, do not interpret the %A and %O operators in  parame-
-       ter strings.
+       Some  SVr4  <STRONG>curses</STRONG>  implementations,  and  all previous to SVr4, do not
+       interpret the %A and %O operators in parameter strings.
 
-       SVr4/XPG4  do  not  specify whether <STRONG>msgr</STRONG> licenses movement
-       while in an alternate-character-set mode (such modes  may,
-       among  other  things,  map CR and NL to characters that do
-       not trigger local motions).   The  <STRONG>ncurses</STRONG>  implementation
-       ignores  <STRONG>msgr</STRONG>  in <STRONG>ALTCHARSET</STRONG> mode.  This raises the possi-
-       bility that an XPG4  implementation  making  the  opposite
-       interpretation  may need terminfo entries made for <STRONG>ncurses</STRONG>
-       to have <STRONG>msgr</STRONG> turned off.
+       SVr4/XPG4 do not specify whether <STRONG>msgr</STRONG> licenses  movement  while  in  an
+       alternate-character-set  mode  (such modes may, among other things, map
+       CR and NL to characters  that  do  not  trigger  local  motions).   The
+       <EM>ncurses</EM>  implementation  ignores  <STRONG>msgr</STRONG> in <STRONG>ALTCHARSET</STRONG> mode.  This raises
+       the  possibility  that  an  XPG4  implementation  making  the  opposite
+       interpretation  may need terminfo entries made for <EM>ncurses</EM> to have <STRONG>msgr</STRONG>
+       turned off.
 
-       The <STRONG>ncurses</STRONG> library handles insert-character  and  insert-
-       character modes in a slightly non-standard way to get bet-
-       ter update efficiency.  See  the  <STRONG>Insert/Delete</STRONG>  <STRONG>Character</STRONG>
-       subsection above.
+       The <EM>ncurses</EM> library handles insert-character and insert-character modes
+       in  a  slightly  non-standard way to get better update efficiency.  See
+       the <STRONG>Insert/Delete</STRONG> <STRONG>Character</STRONG> subsection above.
 
-       The   parameter   substitutions  for  <STRONG>set_clock</STRONG>  and  <STRONG>dis-</STRONG>
-       <STRONG>play_clock</STRONG> are not documented in SVr4 or  the  XSI  Curses
-       standard.  They are deduced from the documentation for the
-       AT&amp;T 505 terminal.
+       The parameter substitutions for <STRONG>set_clock</STRONG>  and  <STRONG>display_clock</STRONG>  are  not
+       documented  in  SVr4  or  X/Open  Curses.   They  are  deduced from the
+       documentation for the AT&amp;T 505 terminal.
 
-       Be careful assigning the <STRONG>kmous</STRONG>  capability.   The  <STRONG>ncurses</STRONG>
-       wants  to  interpret it as <STRONG>KEY_MOUSE</STRONG>, for use by terminals
-       and emulators like xterm that  can  return  mouse-tracking
-       information in the keyboard-input stream.
+       Be careful assigning the <STRONG>kmous</STRONG> capability.  The <EM>ncurses</EM>  library  wants
+       to  interpret  it as <STRONG>KEY_MOUSE</STRONG>, for use by terminals and emulators like
+       xterm that can return mouse-tracking information in the  keyboard-input
+       stream.
 
-       X/Open Curses does not mention italics.  Portable applica-
-       tions must assume that  numeric  capabilities  are  signed
-       16-bit  values.   This  includes  the <EM>no</EM><STRONG>_</STRONG><EM>color</EM><STRONG>_</STRONG><EM>video</EM> (ncv)
-       capability.  The 32768 mask value used  for  italics  with
-       ncv  can  be confused with an absent or cancelled ncv.  If
-       italics should work with colors, then the ncv  value  must
-       be specified, even if it is zero.
+       X/Open  Curses  does  not  mention italics.  Portable applications must
+       assume that  numeric  capabilities  are  signed  16-bit  values.   This
+       includes  the  <EM>no</EM><STRONG>_</STRONG><EM>color</EM><STRONG>_</STRONG><EM>video</EM>  (<STRONG>ncv</STRONG>)  capability.  The 32768 mask value
+       used for italics with <STRONG>ncv</STRONG> can be confused with an absent  or  cancelled
+       <STRONG>ncv</STRONG>.   If  italics  should work with colors, then the <STRONG>ncv</STRONG> value must be
+       specified, even if it is zero.
 
-       Different  commercial ports of terminfo and curses support
-       different subsets of the XSI Curses standard and (in  some
-       cases) different extension sets.  Here is a summary, accu-
-       rate as of October 1995:
+       Different commercial ports of <EM>terminfo</EM>  and  <EM>curses</EM>  support  different
+       subsets  of  X/Open  Curses  and  (in some cases) different extensions.
+       Here is a summary,  accurate  as  of  October  1995,  after  which  the
+       commercial Unix market contracted and lost diversity.
 
-       <STRONG>SVR4,</STRONG> <STRONG>Solaris,</STRONG> <STRONG>ncurses</STRONG> -- These support all SVr4 capabili-
-       ties.
+       <STRONG>o</STRONG>   SVr4, Solaris, and <EM>ncurses</EM> support all SVr4 capabilities.
 
-       <STRONG>SGI</STRONG>  --  Supports  the  SVr4  set,  adds  one undocumented
-       extended string capability (<STRONG>set_pglen</STRONG>).
+       <STRONG>o</STRONG>   IRIX  supports  the  SVr4  set  and  adds one undocumented extended
+           string capability (<STRONG>set_pglen</STRONG>).
 
-       <STRONG>SVr1,</STRONG> <STRONG>Ultrix</STRONG> -- These support a restricted subset of  ter-
-       minfo  capabilities.   The booleans end with <STRONG>xon_xoff</STRONG>; the
-       numerics with  <STRONG>width_status_line</STRONG>;  and  the  strings  with
-       <STRONG>prtr_non</STRONG>.
+       <STRONG>o</STRONG>   SVr1  and  Ultrix  support  a   restricted   subset   of   <EM>terminfo</EM>
+           capabilities.   The  Booleans  end with <STRONG>xon_xoff</STRONG>; the numerics with
+           <STRONG>width_status_line</STRONG>; and the strings with <STRONG>prtr_non</STRONG>.
 
-       <STRONG>HP/UX</STRONG>  --  Supports  the  SVr1  subset,  plus the SVr[234]
-       numerics <STRONG>num_labels</STRONG>, <STRONG>label_height</STRONG>, <STRONG>label_width</STRONG>, plus func-
-       tion  keys  11  through  63, plus <STRONG>plab_norm</STRONG>, <STRONG>label_on</STRONG>, and
-       <STRONG>label_off</STRONG>, plus some incompatible extensions in the string
-       table.
+       <STRONG>o</STRONG>   HP/UX  supports  the  SVr1  subset,  plus  the  SVr[234]   numerics
+           <STRONG>num_labels</STRONG>,   <STRONG>label_height</STRONG>,  <STRONG>label_width</STRONG>,  plus  function  keys  11
+           through 63, plus <STRONG>plab_norm</STRONG>, <STRONG>label_on</STRONG>, and <STRONG>label_off</STRONG>, plus a  number
+           of incompatible string table extensions.
 
-       <STRONG>AIX</STRONG>  --  Supports  the  SVr1 subset, plus function keys 11
-       through 63, plus a number  of  incompatible  string  table
-       extensions.
+       <STRONG>o</STRONG>   AIX  supports  the  SVr1  subset, plus function keys 11 through 63,
+           plus a number of incompatible string table extensions.
 
-       <STRONG>OSF</STRONG> -- Supports both the SVr4 set and the AIX extensions.
+       <STRONG>o</STRONG>   OSF/1 supports both the SVr4 set and the AIX extensions.
 
 
-</PRE>
-<H2><a name="h2-FILES">FILES</a></H2><PRE>
-       /usr/share/terminfo/?/*  files     containing     terminal
-                                descriptions
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       Do not count on  compiled  (binary)  <EM>terminfo</EM>  entries  being  portable
+       between  commercial  Unix  systems.   At  least  two implementations of
+       <EM>terminfo</EM> (those of HP-UX and AIX) diverged from those of other System V
+       Unices  after  SVr1,  adding extension capabilities to the string table
+       that (in the binary format) collide with subsequent System V and X/Open
+       Curses extensions.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>,  <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>,  <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,  <STRONG>printf(3)</STRONG>,   <STRONG><A HREF="term.5.html">term(5)</A></STRONG>.
-       <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey.  Based on <EM>pcurses</EM>
+       by Pavel Curtis.
 
 
-</PRE>
-<H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-       Zeyd  M.  Ben-Halim,  Eric  S.  Raymond, Thomas E. Dickey.
-       Based on pcurses by Pavel Curtis.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>,    <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>,    <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>,    <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,     <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>,
+       <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>,  <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,  <STRONG>printf(3)</STRONG>, <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>,
+       <STRONG><A HREF="term.5.html">term(5)</A></STRONG>, <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
 
 
 
-                                                            <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+ncurses 6.5                       2024-04-20                       <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -2535,6 +2495,9 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
 <ul>
+<li><a href="#h3-terminfo-Entry-Syntax">terminfo Entry Syntax</a></li>
+<li><a href="#h3-terminfo-Capabilities-Syntax">terminfo Capabilities Syntax</a></li>
+<li><a href="#h3-Similar-Terminals">Similar Terminals</a></li>
 <li><a href="#h3-Predefined-Capabilities">Predefined Capabilities</a></li>
 <li><a href="#h3-User-Defined-Capabilities">User-Defined Capabilities</a></li>
 <li><a href="#h3-A-Sample-Entry">A Sample Entry</a></li>
@@ -2544,10 +2507,11 @@
 <li><a href="#h3-Basic-Capabilities">Basic Capabilities</a></li>
 <li><a href="#h3-Parameterized-Strings">Parameterized Strings</a></li>
 <li><a href="#h3-Cursor-Motions">Cursor Motions</a></li>
+<li><a href="#h3-Margins">Margins</a></li>
 <li><a href="#h3-Area-Clears">Area Clears</a></li>
-<li><a href="#h3-Insert_delete-line-and-vertical-motions">Insert/delete line and vertical motions</a></li>
+<li><a href="#h3-Insert_Delete-Line-and-Vertical-Motions">Insert/Delete Line and Vertical Motions</a></li>
 <li><a href="#h3-Insert_Delete-Character">Insert/Delete Character</a></li>
-<li><a href="#h3-Highlighting_-Underlining_-and-Visible-Bells">Highlighting, Underlining, and Visible Bells</a></li>
+<li><a href="#h3-Highlighting_Underlining_and-Visible-Bells">Highlighting, Underlining, and Visible Bells</a></li>
 <li><a href="#h3-Keypad-and-Function-Keys">Keypad and Function Keys</a></li>
 <li><a href="#h3-Tabs-and-Initialization">Tabs and Initialization</a></li>
 <li><a href="#h3-Delays-and-Padding">Delays and Padding</a></li>
@@ -2555,16 +2519,15 @@
 <li><a href="#h3-Line-Graphics">Line Graphics</a></li>
 <li><a href="#h3-Color-Handling">Color Handling</a></li>
 <li><a href="#h3-Miscellaneous">Miscellaneous</a></li>
-<li><a href="#h3-Glitches-and-Braindamage">Glitches and Braindamage</a></li>
-<li><a href="#h3-Similar-Terminals">Similar Terminals</a></li>
+<li><a href="#h3-Glitches-and-Brain-Damage">Glitches and Brain Damage</a></li>
 <li><a href="#h3-Pitfalls-of-Long-Entries">Pitfalls of Long Entries</a></li>
-<li><a href="#h3-Binary-Compatibility">Binary Compatibility</a></li>
 </ul>
 </li>
-<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
 <li><a href="#h2-FILES">FILES</a></li>
-<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/tic.1m.html b/doc/html/man/tic.1m.html
index f287c1e..e5e6107 100644
--- a/doc/html/man/tic.1m.html
+++ b/doc/html/man/tic.1m.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2013,2014 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2016,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,386 +27,462 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: tic.1m,v 1.60 2014/05/24 22:00:11 tom Exp @
+  * @Id: tic.1m,v 1.110 2024/04/27 17:57:06 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>tic 1m</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>tic 1m 2024-04-27 ncurses 6.5 User commands</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">tic 1m</H1>
+<H1 class="no-header">tic 1m 2024-04-27 ncurses 6.5 User commands</H1>
 <PRE>
-<STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>                                                         <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>
+<STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>                          User commands                         <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>tic</STRONG> - the <EM>terminfo</EM> entry-description compiler
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>tic</STRONG> - compile terminal descriptions for <EM>terminfo</EM> or <EM>termcap</EM>
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
-       <STRONG>tic</STRONG>  [<STRONG>-01CDGIKLNTUVacfgrstx</STRONG>]  [<STRONG>-e</STRONG> <EM>names</EM>] [<STRONG>-o</STRONG> <EM>dir</EM>] [<STRONG>-R</STRONG> <EM>sub-</EM>
-       <EM>set</EM>] [<STRONG>-v</STRONG>[<EM>n</EM>]] [<STRONG>-w</STRONG>[<EM>n</EM>]] <EM>file</EM>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+       <STRONG>tic</STRONG>  [<STRONG>-01acCDfgGIKLNqrstTUVWx</STRONG>] [<STRONG>-e</STRONG> <EM>terminal-type-list</EM>] [<STRONG>-o</STRONG> <EM>dir</EM>] [<STRONG>-Q</STRONG>[<EM>n</EM>]]
+       [<STRONG>-R</STRONG> <EM>subset</EM>] [<STRONG>-v</STRONG>[<EM>n</EM>]] [<STRONG>-w</STRONG>[<EM>n</EM>]] <EM>file</EM>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The <STRONG>tic</STRONG> command translates a  <STRONG>terminfo</STRONG>  file  from  source
-       format  into compiled format.  The compiled format is nec-
-       essary for use with the library routines in <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The <STRONG>tic</STRONG> command translates a <STRONG>terminfo</STRONG>  file  from  source  format  into
+       compiled  format.   The  compiled  format is necessary for use with the
+       library routines in <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.
 
-       As described in <STRONG><A HREF="term.5.html">term(5)</A></STRONG>, the  database  may  be  either  a
-       directory  tree  (one file per terminal entry) or a hashed
-       database (one record per entry).  The <STRONG>tic</STRONG>  command  writes
-       only one type of entry, depending on how it was built:
+       As described in <STRONG><A HREF="term.5.html">term(5)</A></STRONG>, the database may be either  a  directory  tree
+       (one  file  per  terminal  entry)  or a hashed database (one record per
+       entry).  The <STRONG>tic</STRONG> command writes only one type of  entry,  depending  on
+       how it was built:
 
-       <STRONG>o</STRONG>   For  directory  trees,  the top-level directory, e.g.,
-           /usr/share/terminfo, specifies  the  location  of  the
-           database.
+       <STRONG>o</STRONG>   For    directory    trees,    the    top-level   directory,   e.g.,
+           /usr/share/terminfo, specifies the location of the database.
 
-       <STRONG>o</STRONG>   For  hashed  databases,  a filename is needed.  If the
-           given file is not found by that name, but can be found
-           by adding the suffix ".db", then that is used.
+       <STRONG>o</STRONG>   For hashed databases, a filename is needed.  If the given  file  is
+           not  found  by  that  name,  but  can be found by adding the suffix
+           ".db", then that is used.
 
-           The  default  name for the hashed database is the same
-           as the default directory name  (only  adding  a  ".db"
-           suffix).
+           The default name for the hashed database is the same as the default
+           directory name (only adding a ".db" suffix).
 
-       In  either  case  (directory or hashed database), <STRONG>tic</STRONG> will
-       create the container if it does not exist.  For  a  direc-
-       tory,  this  would  be the "terminfo" leaf, versus a "ter-
-       minfo.db" file.
+       In  either  case  (directory  or  hashed database), <STRONG>tic</STRONG> will create the
+       container if it does not exist.  For a directory,  this  would  be  the
+       "terminfo" leaf, versus a "terminfo.db" file.
 
-       The results are normally placed  in  the  system  terminfo
-       database   <STRONG>/usr/share/terminfo</STRONG>.    The  compiled  terminal
-       description can be placed in a  different  terminfo  data-
-       base.  There are two ways to achieve this:
+       The  results  are  normally  placed  in  the  system  terminfo database
+       <STRONG>/usr/share/terminfo</STRONG>.  The compiled terminal description can  be  placed
+       in a different terminfo database.  There are two ways to achieve this:
 
-       <STRONG>o</STRONG>   First,  you  may override the system default either by
-           using the <STRONG>-o</STRONG> option, or by setting the  variable  <STRONG>TER-</STRONG>
-           <STRONG>MINFO</STRONG>  in  your  shell environment to a valid database
-           location.
+       <STRONG>o</STRONG>   First,  you  may override the system default either by using the <STRONG>-o</STRONG>
+           option,  or  by  setting  the  variable  <EM>TERMINFO</EM>  in  your   shell
+           environment to a valid database location.
 
-       <STRONG>o</STRONG>   Secondly, if <STRONG>tic</STRONG> cannot write  in  <EM>/usr/share/terminfo</EM>
-           or  the  location  specified using your TERMINFO vari-
-           able, it looks for the directory  <EM>$HOME/.terminfo</EM>  (or
-           hashed  database <EM>$HOME/.terminfo.db)</EM>; if that location
-           exists, the entry is placed there.
+       <STRONG>o</STRONG>   Secondly,  if  <STRONG>tic</STRONG>  cannot  write  in  <EM>/usr/share/terminfo</EM>  or  the
+           location specified using your <EM>TERMINFO</EM> variable, it looks  for  the
+           directory  <EM>$HOME/.terminfo</EM> (or hashed database <EM>$HOME/.terminfo.db)</EM>;
+           if that location exists, the entry is placed there.
 
-       Libraries that read terminfo entries are expected to check
-       in succession
+       Libraries  that  read  terminfo  entries  are  expected  to  check   in
+       succession
 
-       <STRONG>o</STRONG>   a  location  specified  with  the TERMINFO environment
-           variable,
+       <STRONG>o</STRONG>   a location specified with the <EM>TERMINFO</EM> environment variable,
 
        <STRONG>o</STRONG>   <EM>$HOME/.terminfo</EM>,
 
-       <STRONG>o</STRONG>   directories listed in  the  TERMINFO_DIRS  environment
-           variable,
+       <STRONG>o</STRONG>   directories listed in the <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM> environment variable,
 
-       <STRONG>o</STRONG>   a       compiled-in      list      of      directories
-           (/usr/local/ncurses/share/terminfo:/usr/share/ter-
-           minfo), and
+       <STRONG>o</STRONG>   a compiled-in list of directories (/usr/share/terminfo), and
 
        <STRONG>o</STRONG>   the system terminfo database (<EM>/usr/share/terminfo</EM>).
 
+       The  <EM>Fetching</EM>  <EM>Compiled</EM>  <EM>Descriptions</EM> section in the <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> manual
+       goes into further detail.
 
-</PRE>
-<H3><a name="h3-OPTIONS">OPTIONS</a></H3><PRE>
+
+</PRE><H3><a name="h3-Aliases">Aliases</a></H3><PRE>
+       This is the same program as infotocap and captoinfo; usually those  are
+       linked to, or copied from this program:
+
+       <STRONG>o</STRONG>   When invoked as infotocap, tic sets the <STRONG>-I</STRONG> option.
+
+       <STRONG>o</STRONG>   When invoked as captoinfo, tic sets the <STRONG>-C</STRONG> option.
+
+
+</PRE><H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE>
        <STRONG>-0</STRONG>     restricts the output to a single line
 
        <STRONG>-1</STRONG>     restricts the output to a single column
 
-       <STRONG>-a</STRONG>     tells  <STRONG>tic</STRONG>  to  retain  commented-out  capabilities
-              rather than discarding them.  Capabilities are com-
-              mented  by prefixing them with a period.  This sets
-              the <STRONG>-x</STRONG> option, because it treats the  commented-out
-              entries  as  user-defined  names.  If the source is
-              termcap, accept the 2-character names  required  by
-              version 6.  Otherwise these are ignored.
+       <STRONG>-a</STRONG>     tells  <STRONG>tic</STRONG>  to  retain  commented-out  capabilities  rather than
+              discarding them.  Capabilities are commented by  prefixing  them
+              with  a  period.  This sets the <STRONG>-x</STRONG> option, because it treats the
+              commented-out entries as user-defined names.  If the  source  is
+              termcap,  accept  the  2-character  names required by version 6.
+              Otherwise these are ignored.
 
-       <STRONG>-C</STRONG>     Force  source translation to termcap format.  Note:
-              this differs from the <STRONG>-C</STRONG> option of  <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>  in
-              that it does not merely translate capability names,
-              but also translates  terminfo  strings  to  termcap
-              format.  Capabilities that are not translatable are
-              left in the entry under their  terminfo  names  but
-              commented  out with two preceding dots.  The actual
-              format  used  incorporates  some  improvements  for
-              escaped  characters  from  terminfo  format.  For a
-              stricter BSD-compatible  translation,  add  the  <STRONG>-K</STRONG>
-              option.
+       <STRONG>-C</STRONG>     Force source translation to termcap format.  Note: this  differs
+              from  the  <STRONG>-C</STRONG>  option  of <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> in that it does not merely
+              translate capability names, but also translates terminfo strings
+              to  termcap  format.  Capabilities that are not translatable are
+              left in the entry under their terminfo names but  commented  out
+              with  two  preceding  dots.  The actual format used incorporates
+              some improvements for escaped characters from  terminfo  format.
+              For a stricter BSD-compatible translation, add the <STRONG>-K</STRONG> option.
 
-              If  this  is combined with <STRONG>-c</STRONG>, <STRONG>tic</STRONG> makes additional
-              checks to report cases where the terminfo values do
-              not  have an exact equivalent in termcap form.  For
-              example:
+              If  this  is  combined  with  <STRONG>-c</STRONG>, <STRONG>tic</STRONG> makes additional checks to
+              report cases where the terminfo values  do  not  have  an  exact
+              equivalent in termcap form.  For example:
 
-              <STRONG>o</STRONG>   <STRONG>sgr</STRONG> usually will not convert,  because  termcap
-                  lacks  the  ability  to work with more than two
-                  parameters, and because termcap lacks  many  of
-                  the  arithmetic/logical  operators used in ter-
-                  minfo.
+              <STRONG>o</STRONG>   <STRONG>sgr</STRONG>  usually  will  not  convert,  because termcap lacks the
+                  ability to work with more than two parameters,  and  because
+                  termcap  lacks many of the arithmetic/logical operators used
+                  in terminfo.
 
-              <STRONG>o</STRONG>   capabilities with more than one delay  or  with
-                  delays  before  the  end of the string will not
-                  convert completely.
+              <STRONG>o</STRONG>   capabilities with more than one delay or with delays  before
+                  the end of the string will not convert completely.
 
-       <STRONG>-c</STRONG>     tells <STRONG>tic</STRONG> to only check <EM>file</EM> for errors,  including
-              syntax  problems and bad use links.  If you specify
-              <STRONG>-C</STRONG> (<STRONG>-I</STRONG>) with this option, the code will print warn-
-              ings about entries which, after use resolution, are
-              more than 1023 (4096) bytes long.  Due to  a  fixed
-              buffer  length  in older termcap libraries, as well
-              as buggy checking for the buffer length (and a doc-
-              umented limit in terminfo), these entries may cause
-              core dumps with other implementations.
+       <STRONG>-c</STRONG>     tells  <STRONG>tic</STRONG>  to  only  check  <EM>file</EM>  for  errors, including syntax
+              problems and bad use-links.  If you specify <STRONG>-C</STRONG>  (<STRONG>-I</STRONG>)  with  this
+              option,  the code will print warnings about entries which, after
+              use resolution, are more than 1023 (4096) bytes long.  Due to  a
+              fixed buffer length in older termcap libraries, as well as buggy
+              checking for the  buffer  length  (and  a  documented  limit  in
+              terminfo),  these  entries  may  cause  core  dumps  with  other
+              implementations.
 
-              <STRONG>tic</STRONG> checks string capabilities to ensure that those
-              with parameters will be valid expressions.  It does
-              this check only for the predefined string capabili-
-              ties;  those  which  are defined with the <STRONG>-x</STRONG> option
-              are ignored.
+              <STRONG>tic</STRONG>  checks  string  capabilities  to  ensure  that  those  with
+              parameters  will  be valid expressions.  It does this check only
+              for the predefined string capabilities; those which are  defined
+              with the <STRONG>-x</STRONG> option are ignored.
 
-       <STRONG>-D</STRONG>     tells <STRONG>tic</STRONG> to print the database locations  that  it
-              knows about, and exit.  The first location shown is
-              the one to which it would write  compiled  terminal
-              descriptions.   If  <STRONG>tic</STRONG>  is  not  able  to  find  a
-              writable database location according to  the  rules
-              summarized  above,  it  will print a diagnostic and
-              exit with an error rather than printing a  list  of
-              database locations.
+       <STRONG>-D</STRONG>     tells  <STRONG>tic</STRONG>  to print the database locations that it knows about,
+              and exit.  The first location shown is the one to which it would
+              write  compiled  terminal  descriptions.   If <STRONG>tic</STRONG> is not able to
+              find  a  writable  database  location  according  to  the  rules
+              summarized  above,  it  will print a diagnostic and exit with an
+              error rather than printing a list of database locations.
 
-       <STRONG>-e</STRONG> <EM>names</EM>
-              Limit  writes  and  translations  to  the following
-              comma-separated list of terminals.  If any name  or
-              alias of a terminal matches one of the names in the
-              list, the entry will be written  or  translated  as
-              normal.   Otherwise no output will be generated for
-              it.  The option value is interpreted as a file con-
-              taining  the  list  if  it  contains a '/'.  (Note:
-              depending on how tic was compiled, this option  may
-              require <STRONG>-I</STRONG> or <STRONG>-C</STRONG>.)
+       <STRONG>-e</STRONG> <EM>list</EM>
+              Limit writes and translations to  the  comma-separated  <EM>list</EM>  of
+              terminal  types.  If any name or alias of a terminal matches one
+              of the  names  in  the  list,  the  entry  will  be  written  or
+              translated as normal.  Otherwise no output will be generated for
+              it.  The option value is interpreted as a  file  containing  the
+              list  if  it  contains  a  '/'.  (Note: depending on how tic was
+              compiled, this option may require <STRONG>-I</STRONG> or <STRONG>-C</STRONG>.)
 
-       <STRONG>-f</STRONG>     Display  complex  terminfo  strings  which  contain
-              if/then/else/endif expressions indented  for  read-
-              ability.
+       <STRONG>-f</STRONG>     Display    complex    terminfo     strings     which     contain
+              if/then/else/endif expressions indented for readability.
 
-       <STRONG>-G</STRONG>     Display  constant  literals  in decimal form rather
-              than their character equivalents.
+       <STRONG>-G</STRONG>     Display  constant  literals  in  decimal  form rather than their
+              character equivalents.
 
-       <STRONG>-g</STRONG>     Display constant character literals in quoted  form
-              rather than their decimal equivalents.
+       <STRONG>-g</STRONG>     Display constant character literals in quoted form  rather  than
+              their decimal equivalents.
 
        <STRONG>-I</STRONG>     Force source translation to terminfo format.
 
-       <STRONG>-K</STRONG>     Suppress  some  longstanding  ncurses extensions to
-              termcap format, e.g., "\s" for space.
+       <STRONG>-K</STRONG>     Suppress some longstanding <EM>ncurses</EM> extensions to termcap format,
+              e.g., "\s" for space.
 
-       <STRONG>-L</STRONG>     Force source translation to terminfo  format  using
-              the long C variable names listed in &lt;<STRONG>term.h</STRONG>&gt;
+       <STRONG>-L</STRONG>     Force source translation to terminfo format  using  the  long  C
+              variable names listed in &lt;<STRONG>term.h</STRONG>&gt;
 
-       <STRONG>-N</STRONG>     Disable smart defaults.  Normally, when translating
-              from termcap to terminfo, the compiler makes a num-
-              ber  of  assumptions  about  the defaults of string
-              capabilities <STRONG>reset1_string</STRONG>,  <STRONG>carriage_return</STRONG>,  <STRONG>cur-</STRONG>
-              <STRONG>sor_left</STRONG>,  <STRONG>cursor_down</STRONG>,  <STRONG>scroll_forward</STRONG>,  <STRONG>tab</STRONG>, <STRONG>new-</STRONG>
-              <STRONG>line</STRONG>, <STRONG>key_backspace</STRONG>, <STRONG>key_left</STRONG>, and  <STRONG>key_down</STRONG>,  then
-              attempts  to  use  obsolete termcap capabilities to
-              deduce correct values.  It also normally suppresses
-              output of obsolete termcap capabilities such as <STRONG>bs</STRONG>.
-              This option forces a more literal translation  that
+       <STRONG>-N</STRONG>     Disable smart defaults.  Normally, when translating from termcap
+              to terminfo, the compiler makes a number  of  assumptions  about
+              the    defaults    of    string    capabilities   <STRONG>reset1_string</STRONG>,
+              <STRONG>carriage_return</STRONG>, <STRONG>cursor_left</STRONG>, <STRONG>cursor_down</STRONG>, <STRONG>scroll_forward</STRONG>,  <STRONG>tab</STRONG>,
+              <STRONG>newline</STRONG>, <STRONG>key_backspace</STRONG>, <STRONG>key_left</STRONG>, and <STRONG>key_down</STRONG>, then attempts to
+              use obsolete termcap capabilities to deduce correct values.   It
+              also normally suppresses output of obsolete termcap capabilities
+              such as <STRONG>bs</STRONG>.  This option forces a more literal translation  that
               also preserves the obsolete capabilities.
 
-       <STRONG>-o</STRONG><EM>dir</EM>  Write  compiled entries to given database location.
-              Overrides the TERMINFO environment variable.
+       <STRONG>-o</STRONG><EM>dir</EM>  Write  compiled  entries  to given database location.  Overrides
+              the <EM>TERMINFO</EM> environment variable.
+
+       <STRONG>-Q</STRONG><EM>n</EM>    Rather than show source in terminfo  (text)  format,  print  the
+              compiled   (binary)   format  in  hexadecimal  or  base64  form,
+              depending on the option's value:
+
+               1  hexadecimal
+
+               2  base64
+
+               3  hexadecimal and base64
+
+       <STRONG>-q</STRONG>     Suppress  comments  and  blank  lines  when  showing  translated
+              source.
 
        <STRONG>-R</STRONG><EM>subset</EM>
-              Restrict output to a given subset.  This option  is
-              for  use  with  archaic  versions  of terminfo like
-              those on SVr1, Ultrix, or HP/UX that do not support
-              the  full set of SVR4/XSI Curses terminfo; and out-
-              right broken ports like AIX 3.x that have their own
-              extensions  incompatible  with SVr4/XSI.  Available
-              subsets  are  "SVr1",  "Ultrix",  "HP",  "BSD"  and
-              "AIX"; see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for details.
+              Restrict  output to a given subset.  This option is for use with
+              archaic versions of terminfo like those on SVr1, Ultrix, or  HP-
+              UX that do not support the full set of SVR4/XSI Curses terminfo;
+              and outright broken ports like  AIX  3.x  that  have  their  own
+              extensions incompatible with SVr4/XSI.
 
-       <STRONG>-r</STRONG>     Force  entry  resolution (so there are no remaining
-              tc capabilities) even  when  doing  translation  to
-              termcap format.  This may be needed if you are pre-
-              paring a termcap file for a termcap  library  (such
-              as  GNU  termcap through version 1.3 or BSD termcap
-              through 4.3BSD) that does not  handle  multiple  tc
+              Available subsets are
+              "SVr1", "Ultrix", "HP", "BSD", and "AIX"
+
+              See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for details.
+
+       <STRONG>-r</STRONG>     Force   entry   resolution   (so   there  are  no  remaining  tc
+              capabilities) even when doing  translation  to  termcap  format.
+              This  may  be  needed  if you are preparing a termcap file for a
+              termcap library (such as GNU termcap through version 1.3 or  BSD
+              termcap  through  4.3BSD)  that  does  not  handle  multiple  tc
               capabilities per entry.
 
-       <STRONG>-s</STRONG>     Summarize the compile by showing the database loca-
-              tion into which entries are written, and the number
-              of entries which are compiled.
+       <STRONG>-s</STRONG>     Summarize the compile by  showing  the  database  location  into
+              which  entries  are written, and the number of entries which are
+              compiled.
 
-       <STRONG>-T</STRONG>     eliminates size-restrictions on the generated text.
-              This is mainly useful  for  testing  and  analysis,
-              since  the compiled descriptions are limited (e.g.,
-              1023 for termcap, 4096 for terminfo).
+       <STRONG>-T</STRONG>     eliminates size-restrictions on the  generated  text.   This  is
+              mainly  useful  for  testing  and  analysis,  since the compiled
+              descriptions are limited  (e.g.,  1023  for  termcap,  4096  for
+              terminfo).
 
-       <STRONG>-t</STRONG>     tells <STRONG>tic</STRONG> to  discard  commented-out  capabilities.
-              Normally when translating from terminfo to termcap,
-              untranslatable capabilities are commented-out.
+       <STRONG>-t</STRONG>     tells  <STRONG>tic</STRONG> to discard commented-out capabilities.  Normally when
+              translating   from   terminfo   to    termcap,    untranslatable
+              capabilities are commented-out.
 
-       <STRONG>-U</STRONG>   tells <STRONG>tic</STRONG> to not post-process the data after  parsing
-            the  source  file.  Normally, it infers data which is
-            commonly missing in older terminfo data, or in  term-
-            caps.
+       <STRONG>-U</STRONG>     tells  <STRONG>tic</STRONG> to not post-process the data after parsing the source
+              file.  Normally, it infers data which  is  commonly  missing  in
+              older terminfo data, or in termcaps.
 
-       <STRONG>-V</STRONG>   reports the version of ncurses which was used in this
-            program, and exits.
+       <STRONG>-V</STRONG>     reports  the  version of <EM>ncurses</EM> which was used in this program,
+              and exits.
 
-       <STRONG>-v</STRONG><EM>n</EM>  specifies that (verbose) output be written  to  stan-
-            dard  error trace information showing <STRONG>tic</STRONG>'s progress.
-            The optional parameter <EM>n</EM> is a number from  1  to  10,
-            inclusive,  indicating the desired level of detail of
-            information.  If <EM>n</EM> is omitted, the default  level  is
-            1.   If  <EM>n</EM> is specified and greater than 1, the level
-            of detail is increased.
+       <STRONG>-v</STRONG><EM>n</EM>    specifies that (verbose) output be  written  to  standard  error
+              trace information showing <STRONG>tic</STRONG>'s progress.
 
-            The debug flag levels are as follows:
+              The  optional  parameter  <EM>n</EM>  is a number from 1 to 9, inclusive,
+              indicating the desired level of detail of information.
 
-            1      Names of files created and linked
+              <STRONG>o</STRONG>   If <EM>ncurses</EM> is built without tracing  support,  the  optional
+                  parameter is ignored.
 
-            2      Information related to the "use" facility
+              <STRONG>o</STRONG>   If <EM>n</EM> is omitted, the default level is 1.
 
-            3      Statistics from the hashing algorithm
+              <STRONG>o</STRONG>   If <EM>n</EM> is specified and greater than 1, the level of detail is
+                  increased,  and  the  output  is   written   (with   tracing
+                  information) to the "trace" file.
 
-            5      String-table memory allocations
+              The debug flag levels are as follows:
 
-            7      Entries into the string-table
+              1   Names of files created and linked
 
-            8      List of tokens encountered by scanner
+              2   Information related to the "use" facility
 
-            9      All values computed  in  construction  of  the
-                   hash table
+              3   Statistics from the hashing algorithm
 
-            If  the debug level <EM>n</EM> is not given, it is taken to be
-            one.
+              4   Details of extended capabilities
 
-       <STRONG>-w</STRONG><EM>n</EM>  specifies the width of the output.  The parameter  is
-            optional.  If it is omitted, it defaults to 60.
+              5   (unused)
 
-       <STRONG>-x</STRONG>   Treat unknown capabilities as user-defined.  That is,
-            if you supply a capability name which  <STRONG>tic</STRONG>  does  not
-            recognize, it will infer its type (boolean, number or
-            string) from the syntax and make  an  extended  table
-            entry  for  that.   User-defined  capability  strings
-            whose name begins with "k" are  treated  as  function
-            keys.
+              6   (unused)
+
+              7   Entries into the string-table
+
+              8   List of tokens encountered by scanner
+
+              9   All values computed in construction of the hash table
+
+       <STRONG>-W</STRONG>     By  itself,  the  <STRONG>-w</STRONG>  option  will  not force long strings to be
+              wrapped.  Use the <STRONG>-W</STRONG> option to do this.
+
+              If you specify both <STRONG>-f</STRONG> and <STRONG>-W</STRONG> options,  the  latter  is  ignored
+              when <STRONG>-f</STRONG> has already split the line.
+
+       <STRONG>-w</STRONG><EM>n</EM>    specifies  the  width of the output.  The parameter is optional.
+              If it is omitted, it defaults to 60.
+
+       <STRONG>-x</STRONG>     Treat unknown capabilities as user-defined  (see  <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>).
+              That  is,  if  you  supply  a capability name which <STRONG>tic</STRONG> does not
+              recognize, it will infer its type (Boolean,  number  or  string)
+              from  the  syntax  and  make  an  extended table entry for that.
+              User-defined capability strings whose name begins with  "k"  are
+              treated as function keys.
 
 
-</PRE>
-<H3><a name="h3-PARAMETERS">PARAMETERS</a></H3><PRE>
-       <EM>file</EM>   contains one or more <STRONG>terminfo</STRONG> terminal descriptions
-              in source format [see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>].  Each  descrip-
-              tion  in  the  file describes the capabilities of a
-              particular terminal.
+</PRE><H3><a name="h3-Parameters">Parameters</a></H3><PRE>
+       <EM>file</EM>   contains  one  or  more <STRONG>terminfo</STRONG> terminal descriptions in source
+              format  [see  <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>].   Each  description  in   the   file
+              describes the capabilities of a particular terminal.
 
-              If <EM>file</EM> is "-", then the  data  is  read  from  the
-              standard input.  The <EM>file</EM> parameter may also be the
-              path of a character-device.
+              If  <EM>file</EM>  is "-", then the data is read from the standard input.
+              The <EM>file</EM> parameter may also be the path of a character-device.
 
 
-</PRE>
-<H3><a name="h3-PROCESSING">PROCESSING</a></H3><PRE>
-       All but one of the capabilities recognized by <STRONG>tic</STRONG> are doc-
-       umented in <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.  The exception is the <STRONG>use</STRONG> capabil-
-       ity.
+</PRE><H3><a name="h3-Processing">Processing</a></H3><PRE>
+       All but one of the capabilities recognized by  <STRONG>tic</STRONG>  are  documented  in
+       <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.  The exception is the <STRONG>use</STRONG> capability.
 
-       When a <STRONG>use</STRONG>=<EM>entry</EM>-<EM>name</EM> field is discovered  in  a  terminal
-       entry  currently  being  compiled, <STRONG>tic</STRONG> reads in the binary
-       from <STRONG>/usr/share/terminfo</STRONG> to complete the entry.   (Entries
-       created  from <EM>file</EM> will be used first.  <STRONG>tic</STRONG> duplicates the
-       capabilities in <EM>entry</EM>-<EM>name</EM> for the current entry, with the
-       exception   of  those  capabilities  that  explicitly  are
-       defined in the current entry.
+       When a <STRONG>use</STRONG>=<EM>entry</EM>-<EM>name</EM> field is discovered in a terminal entry currently
+       being compiled, <STRONG>tic</STRONG> reads in the  binary  from  <STRONG>/usr/share/terminfo</STRONG>  to
+       complete  the  entry.   (Entries  created from <EM>file</EM> will be used first.
+       <STRONG>tic</STRONG> duplicates the capabilities in <EM>entry</EM>-<EM>name</EM> for  the  current  entry,
+       with the exception of those capabilities that explicitly are defined in
+       the current entry.
 
-       When   an   entry,   e.g.,   <STRONG>entry_name_1</STRONG>,   contains    a
-       <STRONG>use=</STRONG><EM>entry</EM>_<EM>name</EM>_<EM>2</EM>   field,  any  canceled  capabilities  in
-       <EM>entry</EM>_<EM>name</EM>_<EM>2</EM> must also appear in <STRONG>entry_name_1</STRONG> before  <STRONG>use=</STRONG>
-       for these capabilities to be canceled in <STRONG>entry_name_1</STRONG>.
+       When an entry, e.g., <STRONG>entry_name_1</STRONG>, contains a  <STRONG>use=</STRONG><EM>entry</EM>_<EM>name</EM>_<EM>2</EM>  field,
+       any   canceled   capabilities  in  <EM>entry</EM>_<EM>name</EM>_<EM>2</EM>  must  also  appear  in
+       <STRONG>entry_name_1</STRONG> before <STRONG>use=</STRONG> for  these  capabilities  to  be  canceled  in
+       <STRONG>entry_name_1</STRONG>.
 
-       Total compiled entries cannot exceed 4096 bytes.  The name
-       field cannot exceed 512 bytes.  Terminal  names  exceeding
-       the  maximum  alias  length (32 characters on systems with
-       long filenames, 14 characters otherwise) will be truncated
-       to  the maximum alias length and a warning message will be
-       printed.
+       Total  compiled  entries cannot exceed 4096 bytes in the legacy storage
+       format, or 32768 using the extended  number  format.   The  name  field
+       cannot  exceed  512  bytes.  Terminal names exceeding the maximum alias
+       length (32 characters on systems with  long  filenames,  14  characters
+       otherwise)  will be truncated to the maximum alias length and a warning
+       message will be printed.
 
 
-</PRE>
-<H2><a name="h2-COMPATIBILITY">COMPATIBILITY</a></H2><PRE>
-       There is some evidence that historic  <STRONG>tic</STRONG>  implementations
-       treated  description  fields with no whitespace in them as
-       additional aliases or short names.  This <STRONG>tic</STRONG> does  not  do
-       that,  but  it  does  warn  when description fields may be
-       treated that way and check them for dangerous characters.
+</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
+       <EM>/usr/share/terminfo</EM>
+              compiled terminal description database
 
 
-</PRE>
-<H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
-       Unlike the SVr4 <STRONG>tic</STRONG> command, this implementation can actu-
-       ally  compile  termcap  sources.  In fact, entries in ter-
-       minfo and termcap syntax can be mixed in a  single  source
-       file.  See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for the list of termcap names taken
-       to be equivalent to terminfo names.
-
-       The SVr4 manual pages are  not  clear  on  the  resolution
-       rules  for  <STRONG>use</STRONG>  capabilities.  This implementation of <STRONG>tic</STRONG>
-       will find <STRONG>use</STRONG> targets anywhere in the source file, or any-
-       where  in the file tree rooted at <STRONG>TERMINFO</STRONG> (if <STRONG>TERMINFO</STRONG> is
-       defined), or in the user's <EM>$HOME/.terminfo</EM> database (if it
-       exists),  or  (finally) anywhere in the system's file tree
-       of compiled entries.
-
-       The error messages from this <STRONG>tic</STRONG> have the same  format  as
-       GNU  C  error  messages,  and can be parsed by GNU Emacs's
-       compile facility.
-
-       The <STRONG>-0</STRONG>, <STRONG>-1</STRONG>, <STRONG>-C</STRONG>, <STRONG>-G</STRONG>, <STRONG>-I</STRONG>, <STRONG>-N</STRONG>, <STRONG>-R</STRONG>, <STRONG>-T</STRONG>, <STRONG>-V</STRONG>, <STRONG>-a</STRONG>,  <STRONG>-e</STRONG>,  <STRONG>-f</STRONG>,  <STRONG>-g</STRONG>,
-       <STRONG>-o</STRONG>,  <STRONG>-r</STRONG>,  <STRONG>-s</STRONG>,  <STRONG>-t</STRONG>  and  <STRONG>-x</STRONG> options are not supported under
-       SVr4.  The SVr4 <STRONG>-c</STRONG> mode does not report bad use links.
-
-       System V does not compile entries to or read entries  from
-       your  <EM>$HOME/.terminfo</EM>  database unless TERMINFO is explic-
-       itly set to it.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       There is  some  evidence  that  historic  <STRONG>tic</STRONG>  implementations  treated
+       description  fields with no whitespace in them as additional aliases or
+       short names.  This <STRONG>tic</STRONG>  does  not  do  that,  but  it  does  warn  when
+       description fields may be treated that way and check them for dangerous
+       characters.
 
 
-</PRE>
-<H2><a name="h2-FILES">FILES</a></H2><PRE>
-       <STRONG>/usr/share/terminfo/?/*</STRONG>
-            Compiled terminal description database.
+</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+       Unlike the SVr4 <STRONG>tic</STRONG> command, this implementation can  actually  compile
+       termcap  sources.   In fact, entries in terminfo and termcap syntax can
+       be mixed in a single source file.  See  <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>  for  the  list  of
+       termcap names taken to be equivalent to terminfo names.
+
+       The  SVr4  manual  pages  are not clear on the resolution rules for <STRONG>use</STRONG>
+       capabilities.   This  implementation  of  <STRONG>tic</STRONG>  will  find  <STRONG>use</STRONG>  targets
+       anywhere  in  the  source  file, or anywhere in the file tree rooted at
+       <EM>TERMINFO</EM> (if <EM>TERMINFO</EM> is defined), or  in  the  user's  <EM>$HOME/.terminfo</EM>
+       database  (if  it  exists),  or (finally) anywhere in the system's file
+       tree of compiled entries.
+
+       The error messages from this <STRONG>tic</STRONG> have the same format as  GNU  C  error
+       messages, and can be parsed by GNU Emacs's compile facility.
+
+       Aside from <STRONG>-c</STRONG> and <STRONG>-v</STRONG>, options are not portable:
+
+       <STRONG>o</STRONG>   Most of tic's options are not supported by SVr4 <STRONG>tic</STRONG>:
+
+           <STRONG>-0</STRONG> <STRONG>-1</STRONG> <STRONG>-C</STRONG> <STRONG>-G</STRONG> <STRONG>-I</STRONG> <STRONG>-N</STRONG> <STRONG>-R</STRONG> <STRONG>-T</STRONG> <STRONG>-V</STRONG> <STRONG>-a</STRONG> <STRONG>-e</STRONG> <STRONG>-f</STRONG> <STRONG>-g</STRONG> <STRONG>-o</STRONG> <STRONG>-r</STRONG> <STRONG>-s</STRONG> <STRONG>-t</STRONG> <STRONG>-x</STRONG>
+
+       <STRONG>o</STRONG>   The NetBSD <STRONG>tic</STRONG> supports a few of the <EM>ncurses</EM> options
+
+           <STRONG>-a</STRONG> <STRONG>-o</STRONG> <STRONG>-x</STRONG>
+
+           and  adds  <STRONG>-S</STRONG>  (a feature which does the same thing as infocmp's <STRONG>-e</STRONG>
+           and <STRONG>-E</STRONG> options).
+
+       The SVr4 <STRONG>-c</STRONG> mode does not report bad "use=" links.
+
+       System V does  not  compile  entries  to  or  read  entries  from  your
+       <EM>$HOME/.terminfo</EM> database unless <EM>TERMINFO</EM> is explicitly set to it.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>,   <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>,   <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>,    <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>,
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="term.5.html">term(5)</A></STRONG>.  <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       X/Open  Curses, Issue 7 (2009) provides a brief description of <STRONG>tic</STRONG>.  It
+       lists one option: <STRONG>-c</STRONG>.  The omission of <STRONG>-v</STRONG> is  unexpected.   The  change
+       history  states  that the description is derived from Tru64.  According
+       to its manual pages, that system also supported the <STRONG>-v</STRONG> option.
 
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20150808).
+       Shortly after Issue 7 was released,  Tru64  was  discontinued.   As  of
+       2019,  the  surviving  implementations  of <STRONG>tic</STRONG> are SVr4 (AIX, HP-UX and
+       Solaris), <EM>ncurses</EM> and NetBSD curses.  The SVr4 <STRONG>tic</STRONG> programs all support
+       the  <STRONG>-v</STRONG> option.  The NetBSD <STRONG>tic</STRONG> program follows X/Open's documentation,
+       omitting the <STRONG>-v</STRONG> option.
+
+       The X/Open rationale states  that  some  implementations  of  <STRONG>tic</STRONG>  read
+       terminal  descriptions from the standard input if the <EM>file</EM> parameter is
+       omitted.  None of these implementations do that.  Further, it  comments
+       that  some  may  choose  to  read  from  "./terminfo.src"  but  that is
+       obsolescent behavior from SVr2, and is not (for example)  a  documented
+       feature of SVr3.
 
 
-</PRE>
-<H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+       System  V  Release  2  provided  a  <STRONG>tic</STRONG>  utility.  It accepted a single
+       option: <STRONG>-v</STRONG> (optionally  followed  by  a  number).   According  to  Ross
+       Ridge's comment in <EM>mytinfo</EM>, this version of <STRONG>tic</STRONG> was unable to represent
+       cancelled capabilities.
+
+       System V Release 3 provided a different <STRONG>tic</STRONG> utility, written  by  Pavel
+       Curtis,  (originally named "compile" in <EM>pcurses</EM>).  This added an option
+       <STRONG>-c</STRONG> to check the file for errors, with the caveat that errors in  "use="
+       links  would  not  be  reported.   System  V Release 3 documented a few
+       warning messages which did not appear in <EM>pcurses</EM>.   While  the  program
+       itself  was  changed  little  as  development  continued  with System V
+       Release 4, the table of capabilities grew from  180  (<EM>pcurses</EM>)  to  464
+       (Solaris).
+
+       In  early  development of <EM>ncurses</EM> (1993), Zeyd Ben-Halim used the table
+       from <EM>mytinfo</EM> to extend the  <EM>pcurses</EM>  table  to  469  capabilities  (456
+       matched  SVr4, 8 were only in SVr4, 13 were not in SVr4).  Of those 13,
+       11 were ultimately discarded (perhaps to  match  the  draft  of  X/Open
+       Curses).   The exceptions were <STRONG>memory_lock_above</STRONG> and <STRONG>memory_unlock</STRONG> (see
+       <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>).
+
+       Eric Raymond incorporated parts of <EM>mytinfo</EM> into  <EM>ncurses</EM>  to  implement
+       the  termcap-to-terminfo  source conversion, and extended that to begin
+       development of the corresponding terminfo-to-termcap source conversion,
+       Thomas  Dickey  completed  that  development over the course of several
+       years.
+
+       In 1999, Thomas Dickey added the  <STRONG>-x</STRONG>  option  to  support  user-defined
+       capabilities.
+
+       In  2010,  Roy  Marples provided a <STRONG>tic</STRONG> program and terminfo library for
+       NetBSD.  That implementation  adapts  several  features  from  <EM>ncurses</EM>,
+       including <STRONG>tic</STRONG>'s <STRONG>-x</STRONG> option.
+
+       The  <STRONG>-c</STRONG>  option  tells <STRONG>tic</STRONG> to check for problems in the terminfo source
+       file.  Continued development provides additional checks:
+
+       <STRONG>o</STRONG>   <EM>pcurses</EM> had 8 warnings
+
+       <STRONG>o</STRONG>   <EM>ncurses</EM> in 1996 had 16 warnings
+
+       <STRONG>o</STRONG>   Solaris (SVr4) curses has 28 warnings
+
+       <STRONG>o</STRONG>   NetBSD tic in 2019 has 19 warnings.
+
+       <STRONG>o</STRONG>   <EM>ncurses</EM> in 2019 has 96 warnings
+
+       The checking done in <EM>ncurses</EM>' <STRONG>tic</STRONG> helps with the conversion to termcap,
+       as well as pointing out errors and inconsistencies.  It is also used to
+       ensure consistency with the user-defined capabilities.  There  are  527
+       distinct  capabilities  in <EM>ncurses</EM>' terminal database; 128 of those are
+       user-defined.
+
+
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
        Eric S. Raymond &lt;esr@snark.thyrsus.com&gt; and
        Thomas E. Dickey &lt;dickey@invisible-island.net&gt;
 
 
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>,   <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>,   <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>,   <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>,   <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,
+       <STRONG><A HREF="term.5.html">term(5)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
 
-                                                                <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>
+
+
+ncurses 6.5                       2024-04-27                           <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -413,16 +490,22 @@
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
 <ul>
-<li><a href="#h3-OPTIONS">OPTIONS</a></li>
-<li><a href="#h3-PARAMETERS">PARAMETERS</a></li>
-<li><a href="#h3-PROCESSING">PROCESSING</a></li>
+<li><a href="#h3-Aliases">Aliases</a></li>
 </ul>
 </li>
-<li><a href="#h2-COMPATIBILITY">COMPATIBILITY</a></li>
-<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
+<li><a href="#h2-OPTIONS">OPTIONS</a>
+<ul>
+<li><a href="#h3-Parameters">Parameters</a></li>
+<li><a href="#h3-Processing">Processing</a></li>
+</ul>
+</li>
 <li><a href="#h2-FILES">FILES</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-AUTHOR">AUTHOR</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/man/toe.1m.html b/doc/html/man/toe.1m.html
index 98799b7..c3aca2c 100644
--- a/doc/html/man/toe.1m.html
+++ b/doc/html/man/toe.1m.html
@@ -1,6 +1,8 @@
-<!-- 
+<!--
+  * t
   ****************************************************************************
-  * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc.              *
+  * Copyright 2019-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2015,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,111 +28,175 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: toe.1m,v 1.26 2012/01/01 00:40:51 tom Exp @
+  * @Id: toe.1m,v 1.68 2024/04/20 18:59:26 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>toe 1m</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>toe 1m 2024-04-20 ncurses 6.5 User commands</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">toe 1m</H1>
+<H1 class="no-header">toe 1m 2024-04-20 ncurses 6.5 User commands</H1>
 <PRE>
-<STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>                                                         <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>
+<STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>                          User commands                         <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>toe</STRONG> - table of (terminfo) entries
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>toe</STRONG> - list table of entries of <EM>terminfo</EM> terminal types
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
-       <STRONG>toe</STRONG> [<STRONG>-v</STRONG>[<EM>n</EM>]] [<STRONG>-ahsuUV</STRONG>] <EM>file...</EM>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+       <STRONG>toe</STRONG> [<STRONG>-ahs</STRONG>] [<STRONG>-v</STRONG> [<EM>n</EM>]] [<EM>directory</EM> ...]
+
+       <STRONG>toe</STRONG> [<STRONG>-u</STRONG>|<STRONG>-U</STRONG>] <EM>file</EM>
+
+       <STRONG>toe</STRONG> <STRONG>-V</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       With no options, <STRONG>toe</STRONG> lists all available terminal types by
-       primary name with descriptions.   File  arguments  specify
-       the  directories  to  be scanned; if no such arguments are
-       given, your default terminfo directory is scanned.  If you
-       also  specify  the  <STRONG>-h</STRONG>  option, a directory header will be
-       issued as each directory is entered.
-
-       There are other options intended for use by terminfo  file
-       maintainers:
-
-       <STRONG>-a</STRONG>     report  on  all  of  the  terminal  databases which
-              ncurses would search, rather than  only  the  first
-              one that it finds.
-
-              If  the  <STRONG>-s</STRONG> is also given, <STRONG>toe</STRONG> adds a column to the
-              report, showing (like  <STRONG>conflict(1)</STRONG>)  which  entries
-              which  belong to a given terminal database.  An "*"
-              marks entries which differ, and "+"  marks  equiva-
-              lent entries.
-
-       <STRONG>-s</STRONG>     sort the output by the entry names.
-
-       <STRONG>-u</STRONG> <EM>file</EM>
-              says  to  write  a  report  to the standard output,
-              listing dependencies in the given  terminfo/termcap
-              source  file.  The report condenses the `use' rela-
-              tion: each line consists of the primary name  of  a
-              terminal  that  has use capabilities, followed by a
-              colon, followed by the whitespace-separated primary
-              names  of  all  terminals  which occur in those use
-              capabilities, followed by a newline
-
-       <STRONG>-U</STRONG> <EM>file</EM>
-              says to write a  report  to  the  standard  output,
-              listing  reverse  dependencies  in  the  given ter-
-              minfo/termcap source file.  The report reverses the
-              `use'  relation:  each line consists of the primary
-              name of a terminal that occurs in use capabilities,
-              followed  by  a  colon, followed by the whitespace-
-              separated primary  names  of  all  terminals  which
-              depend on it, followed by a newline.
-
-       <STRONG>-v</STRONG><EM>n</EM>    specifies that (verbose) output be written to stan-
-              dard error, showing <STRONG>toe</STRONG>'s progress.   The  optional
-              parameter  <EM>n</EM>  is a number from 1 to 10, interpreted
-              as for <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>.
-
-       <STRONG>-V</STRONG>     reports the version of ncurses which  was  used  in
-              this program, and exits.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       <STRONG>toe</STRONG>  reports  to  the  standard  output  stream the (primary) names and
+       descriptions of the terminal types available to the  <EM>terminfo</EM>  library.
+       Each  <EM>directory</EM>  is  scanned;  if none are given, <STRONG>toe</STRONG> scans the default
+       <EM>terminfo</EM> directory.
 
 
-</PRE>
-<H2><a name="h2-FILES">FILES</a></H2><PRE>
-       <STRONG>/usr/share/terminfo/?/*</STRONG>
-            Compiled terminal description database.
+</PRE><H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE>
+       The <STRONG>-h</STRONG> option can be helpful  to  observe  where  <STRONG>toe</STRONG>  is  looking  for
+       terminal  descriptions.   Other options support maintainers of <EM>terminfo</EM>
+       terminal descriptions.
+
+       <STRONG>-a</STRONG>       lists entries from  all  terminal  database  directories  that
+                <EM>terminfo</EM>  would  search,  instead  of  only  the first that it
+                finds.
+
+                If  <STRONG>-s</STRONG>  is  also  given,  <STRONG>toe</STRONG>   additionally   reports,   like
+                <STRONG>conflict(1)</STRONG>,  which  entries  correspond  to  a given terminal
+                database.  An "*" marks entries that  differ,  and  "+"  marks
+                equivalent entries.
+
+                Without   the  <STRONG>-s</STRONG>  option,  <STRONG>toe</STRONG>  does  not  attempt  to  merge
+                duplicates in its report.
+
+       <STRONG>-h</STRONG>       writes a heading naming each each directory as it is accessed.
+
+       <STRONG>-s</STRONG>       sorts the output by the entry names.
+
+       <STRONG>-u</STRONG> <EM>file</EM>  lists terminal type dependencies in  <EM>file</EM>,  a  <EM>terminfo</EM>  entry
+                source  or  <EM>termcap</EM>  database file.  The report summarizes the
+                "<STRONG>use</STRONG>"  (<EM>terminfo</EM>)  and  <STRONG>tc</STRONG>  (<EM>termcap</EM>)  relations:  each   line
+                comprises the primary name of a terminal type employing <STRONG>use</STRONG>/<STRONG>tc</STRONG>
+                capabilities, a colon, a  space-  and  tab-separated  list  of
+                primary names of terminal types thus named, and a newline.
+
+       <STRONG>-U</STRONG> <EM>file</EM>  lists  terminal  type reverse dependencies in <EM>file</EM>, a <EM>terminfo</EM>
+                entry source or <EM>termcap</EM> database file.  The report  summarizes
+                the  "<STRONG>use</STRONG>" (<EM>terminfo</EM>) and <STRONG>tc</STRONG> (<EM>termcap</EM>) reverse relations: each
+                line comprises the primary name of a terminal  type  occurring
+                in  <STRONG>use</STRONG>/<STRONG>tc</STRONG>  capabilities,  a colon, a space- and tab-separated
+                list of primary names of terminal types naming them thus,  and
+                a newline.
+
+       <STRONG>-v</STRONG> [<EM>n</EM>]   reports  verbose  status  information  to  the  standard error
+                stream, showing <STRONG>toe</STRONG>'s progress.
+
+                The optional parameter <EM>n</EM>  is  an  integer  between  1  and  10
+                inclusive,  interpreted  as  for <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>.  If <EM>ncurses</EM> is built
+                without tracing support, <EM>n</EM> is ignored.
+
+       <STRONG>-V</STRONG>       reports the version of <EM>ncurses</EM> associated  with  this  program
+                and exits with a successful status.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>,    <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>,   <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>,   <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>,
-       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
+       <EM>/usr/share/terminfo</EM>
+              compiled terminal description database
 
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20150808).
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       <STRONG>toe</STRONG>  is  not provided by other implementations.  There is no applicable
+       X/Open or POSIX standard for it.
+
+
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+       <STRONG>toe</STRONG> replaces a <STRONG>-T</STRONG> option that was  briefly  supported  by  the  <EM>ncurses</EM>
+       <STRONG>infocmp</STRONG> utility in 1995.
+
+       The <STRONG>-a</STRONG> and <STRONG>-s</STRONG> options were added in 2006 and 2011, respectively.
+
+       The program's name originates with a developer's pun:
+
+       <STRONG>o</STRONG>   <STRONG>tic</STRONG>,
+
+       <STRONG>o</STRONG>   <STRONG>tac</STRONG> (now <STRONG>tack</STRONG>),
+
+       <STRONG>o</STRONG>   <STRONG>toe</STRONG>.
+
+
+</PRE><H2><a name="h2-EXAMPLES">EXAMPLES</a></H2><PRE>
+       When  not  sorting with the <STRONG>-s</STRONG> option, the <STRONG>-a</STRONG> option reports all of the
+       names found in all of the terminal database directories  named  in  the
+       <EM>TERMINFO</EM> and <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM> environment variables.
+
+           xterm-color     generic color xterm
+           xterm-xfree86   xterm terminal emulator (XFree86)
+           xterm-vt220     xterm emulating vt220
+           xterm-256color  xterm with 256 colors
+           xterm-r6        xterm X11R6 version
+           xterm-r5        xterm R5 version
+           xterm-mono      monochrome xterm
+           xterm           xterm terminal emulator (X Window System)
+           vt220           dec vt220
+           vt102           dec vt102
+           vt100           dec vt100 (w/advanced video)
+           vt52            dec vt52
+           ...
+
+       Use  the  <STRONG>-a</STRONG>  and  <STRONG>-s</STRONG>  options  together  to  show  where each terminal
+       description was found.
+
+           --&gt; /etc/terminfo
+           ----&gt; /lib/terminfo
+           ------&gt; /usr/share/terminfo
+
+           --*---: vt100           dec vt100 (w/advanced video)
+           --*---: vt102           dec vt102
+           --*---: vt220           dec vt220
+           --*---: vt52            dec vt52
+           --*---: xterm           xterm terminal emulator (X Window System)
+           --*---: xterm-256color  xterm with 256 colors
+           --*---: xterm-color     generic color xterm
+           --*---: xterm-mono      monochrome xterm
+           --*---: xterm-r5        xterm R5 version
+           --*---: xterm-r6        xterm X11R6 version
+           --*---: xterm-vt220     xterm emulating vt220
+           --*---: xterm-xfree86   xterm terminal emulator (XFree86)
+           ...
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>,   <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>,   <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>,   <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>,   <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,
+       <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
 
 
-                                                                <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>
+ncurses 6.5                       2024-04-20                           <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
 <li><a href="#h2-NAME">NAME</a></li>
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-OPTIONS">OPTIONS</a></li>
 <li><a href="#h2-FILES">FILES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
+<li><a href="#h2-EXAMPLES">EXAMPLES</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
diff --git a/doc/html/man/tput.1.html b/doc/html/man/tput.1.html
index c04f53d..ed8fe38 100644
--- a/doc/html/man/tput.1.html
+++ b/doc/html/man/tput.1.html
@@ -1,7 +1,8 @@
-<!-- 
+<!--
   * t
   ****************************************************************************
-  * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2016,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,333 +28,553 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: tput.1,v 1.32 2012/07/14 21:06:45 tom Exp @
+  * @Id: tput.1,v 1.113 2024/04/20 19:58:50 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>tput 1</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>tput 1 2024-04-20 ncurses 6.5 User commands</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">tput 1</H1>
+<H1 class="no-header">tput 1 2024-04-20 ncurses 6.5 User commands</H1>
 <PRE>
-<STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>                                                         <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
+<STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>                          User commands                         <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>tput</STRONG>,  <STRONG>reset</STRONG>  -  initialize  a  terminal or query terminfo
-       database
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>tput</STRONG> - initialize a terminal, exercise its capabilities, or query <EM>term-</EM>
+       <EM>info</EM> database
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
-       <STRONG>tput</STRONG> [<STRONG>-T</STRONG><EM>type</EM>] <EM>capname</EM> [<EM>parms</EM> ... ]
-       <STRONG>tput</STRONG> [<STRONG>-T</STRONG><EM>type</EM>] <STRONG>init</STRONG>
-       <STRONG>tput</STRONG> [<STRONG>-T</STRONG><EM>type</EM>] <STRONG>reset</STRONG>
-       <STRONG>tput</STRONG> [<STRONG>-T</STRONG><EM>type</EM>] <STRONG>longname</STRONG>
-       <STRONG>tput</STRONG> <STRONG>-S</STRONG>  <STRONG>&lt;&lt;</STRONG>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+       <STRONG>tput</STRONG> [<STRONG>-T</STRONG> <EM>terminal-type</EM>] {<EM>cap-code</EM> [<EM>parameter</EM> ...]} ...
+
+       <STRONG>tput</STRONG> [<STRONG>-T</STRONG> <EM>terminal-type</EM>] [<STRONG>-x</STRONG>] <STRONG>clear</STRONG>
+
+       <STRONG>tput</STRONG> [<STRONG>-T</STRONG> <EM>terminal-type</EM>] <STRONG>init</STRONG>
+
+       <STRONG>tput</STRONG> [<STRONG>-T</STRONG> <EM>terminal-type</EM>] <STRONG>reset</STRONG>
+
+       <STRONG>tput</STRONG> [<STRONG>-T</STRONG> <EM>terminal-type</EM>] <STRONG>longname</STRONG>
+
+       <STRONG>tput</STRONG> <STRONG>-S</STRONG>
+
        <STRONG>tput</STRONG> <STRONG>-V</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       The <STRONG>tput</STRONG> utility uses the <STRONG>terminfo</STRONG> database  to  make  the
-       values  of terminal-dependent capabilities and information
-       available to the shell (see <STRONG>sh(1)</STRONG>), to initialize or reset
-       the  terminal,  or  return  the long name of the requested
-       terminal type.  The result depends upon  the  capability's
-       type:
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       <STRONG>tput</STRONG> uses the <EM>terminfo</EM> library and database to  make  terminal-specific
+       capabilities  and  information available to the shell, to initialize or
+       reset the terminal, or to report  a  description  of  the  current  (or
+       specified)  terminal  type.  Terminal capabilities are accessed by <EM>cap-</EM>
+       <EM>code</EM>.
 
-              string
-                   <STRONG>tput</STRONG> writes the string to the standard output.
-                   No trailing newline is supplied.
+       <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> discusses terminal capabilities at length  and  presents  a
+       complete list of <EM>cap-codes</EM>.
 
-              integer
-                   <STRONG>tput</STRONG> writes the decimal value to the  standard
-                   output, with a trailing newline.
+       When   retrieving  capability  values,  the  result  depends  upon  the
+       capability's type.
 
-              boolean
-                   <STRONG>tput</STRONG>  simply sets the exit code (<STRONG>0</STRONG> for TRUE if
-                   the terminal has the capability, <STRONG>1</STRONG>  for  FALSE
-                   if  it  does  not),  and writes nothing to the
-                   standard output.
+       Boolean  <STRONG>tput</STRONG> sets its exit status to <STRONG>0</STRONG> if the terminal possesses  <EM>cap-</EM>
+                <EM>code</EM>, and <STRONG>1</STRONG> if it does not.
 
-       Before using a value returned on the standard output,  the
-       application  should  test  the  exit  code  (e.g., <STRONG>$?</STRONG>, see
-       <STRONG>sh(1)</STRONG>) to be sure it is <STRONG>0</STRONG>.  (See the <STRONG>EXIT</STRONG> <STRONG>CODES</STRONG> and  <STRONG>DIAG-</STRONG>
-       <STRONG>NOSTICS</STRONG>  sections.)   For  a complete list of capabilities
-       and the <EM>capname</EM> associated with each, see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+       numeric  <STRONG>tput</STRONG>  writes  <EM>cap-code</EM>'s  decimal value to the standard output
+                stream if defined (<STRONG>-1</STRONG> if it is not) followed by a newline.
 
-       <STRONG>-T</STRONG><EM>type</EM> indicates the  <EM>type</EM>  of  terminal.   Normally  this
-              option is unnecessary, because the default is taken
-              from the environment variable <STRONG>TERM</STRONG>.  If <STRONG>-T</STRONG> is spec-
-              ified,  then  the shell variables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG>
-              will also be ignored.
+       string   <STRONG>tput</STRONG> writes <EM>cap-code</EM>'s value to the standard output stream  if
+                defined, without a trailing newline.
 
-       <EM>capname</EM>
-              indicates the capability from  the  <STRONG>terminfo</STRONG>  data-
-              base.   When  <STRONG>termcap</STRONG>  support  is compiled in, the
-              <STRONG>termcap</STRONG> name for the capability is also accepted.
-
-       <EM>parms</EM>  If the capability is a string  that  takes  parame-
-              ters, the arguments <EM>parms</EM> will be instantiated into
-              the string.
-
-              Most parameters are numbers.  Only a  few  terminfo
-              capabilities require string parameters; <STRONG>tput</STRONG> uses a
-              table to decide which to pass as strings.  Normally
-              <STRONG>tput</STRONG>  uses  <STRONG>tparm</STRONG> (3x) to perform the substitution.
-              If no parameters are given for the capability, <STRONG>tput</STRONG>
-              writes  the string without performing the substitu-
-              tion.
-
-       <STRONG>-S</STRONG>     allows more than one capability per  invocation  of
-              <STRONG>tput</STRONG>.  The capabilities must be passed to <STRONG>tput</STRONG> from
-              the standard input instead of from the command line
-              (see  example).   Only  one  <EM>capname</EM> is allowed per
-              line.  The <STRONG>-S</STRONG> option changes the meaning of  the  <STRONG>0</STRONG>
-              and  <STRONG>1</STRONG>  boolean and string exit codes (see the EXIT
-              CODES section).
-
-              Again, <STRONG>tput</STRONG> uses a table and the presence of param-
-              eters  in  its input to decide whether to use <STRONG>tparm</STRONG>
-              (3x), and how to interpret the parameters.
-
-       <STRONG>-V</STRONG>     reports the version of ncurses which  was  used  in
-              this program, and exits.
-
-       <STRONG>init</STRONG>   If  the  <STRONG>terminfo</STRONG>  database is present and an entry
-              for the user's terminal exists (see <STRONG>-T</STRONG><EM>type</EM>, above),
-              the following will occur:
-
-              (1)    if  present,  the  terminal's initialization
-                     strings will be output as  detailed  in  the
-                     <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>  section on <EM>Tabs</EM> <EM>and</EM> <EM>Initializa-</EM>
-                     <EM>tion</EM>,
-
-              (2)    any delays (e.g., newline) specified in  the
-                     entry will be set in the tty driver,
-
-              (3)    tabs  expansion  will  be  turned  on or off
-                     according to the specification in the entry,
-                     and
-
-              (4)    if tabs are not expanded, standard tabs will
-                     be set (every 8 spaces).
-
-              If an entry does not contain the information needed
-              for any of the four above activities, that activity
-              will silently be skipped.
-
-       <STRONG>reset</STRONG>  Instead of putting out initialization strings,  the
-              terminal's  reset strings will be output if present
-              (<STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>, <STRONG>rf</STRONG>).  If the reset strings are  not
-              present,  but  initialization strings are, the ini-
-              tialization strings  will  be  output.   Otherwise,
-              <STRONG>reset</STRONG> acts identically to <STRONG>init</STRONG>.
-
-       <STRONG>longname</STRONG>
-              If  the  <STRONG>terminfo</STRONG>  database is present and an entry
-              for the user's terminal exists (see <STRONG>-T</STRONG><EM>type</EM>  above),
-              then the long name of the terminal will be put out.
-              The long name is the last name in the first line of
-              the terminal's description in the <STRONG>terminfo</STRONG> database
-              [see <STRONG><A HREF="term.5.html">term(5)</A></STRONG>].
-
-       If <STRONG>tput</STRONG> is invoked by a link named  <STRONG>reset</STRONG>,  this  has  the
-       same effect as <STRONG>tput</STRONG> <STRONG>reset</STRONG>.  See <STRONG>tset</STRONG> for comparison, which
-       has similar behavior.
+       Before  using  a value returned on the standard output, the application
+       should test <STRONG>tput</STRONG>'s exit status to be sure it is 0;  see  section  "EXIT
+       STATUS" below.
 
 
-</PRE>
-<H2><a name="h2-EXAMPLES">EXAMPLES</a></H2><PRE>
-       <STRONG>tput</STRONG> <STRONG>init</STRONG>
-            Initialize the terminal according to the type of ter-
-            minal  in the environmental variable <STRONG>TERM</STRONG>.  This com-
-            mand should be included in everyone's .profile  after
-            the environmental variable <STRONG>TERM</STRONG> has been exported, as
-            illustrated on the <STRONG>profile(5)</STRONG> manual page.
+</PRE><H3><a name="h3-Operands">Operands</a></H3><PRE>
+       Generally,  an  operand  is  a  <EM>cap-code</EM>,  a  capability  code from the
+       terminal database, or a parameter thereto.  Three others are  specially
+       recognized by <STRONG>tput</STRONG>: <STRONG>init</STRONG>, <STRONG>reset</STRONG>, and <STRONG>longname</STRONG>.  Although these resemble
+       capability codes, they in fact receive special handling; we  term  them
+       "pseudo-capabilities".
 
-       <STRONG>tput</STRONG> <STRONG>-T5620</STRONG> <STRONG>reset</STRONG>
-            Reset an AT&amp;T 5620 terminal, overriding the  type  of
-            terminal in the environmental variable <STRONG>TERM</STRONG>.
+       <EM>cap-code</EM>   indicates a capability from the terminal database.
 
-       <STRONG>tput</STRONG> <STRONG>cup</STRONG> <STRONG>0</STRONG> <STRONG>0</STRONG>
-            Send the sequence to move the cursor to row <STRONG>0</STRONG>, column
-            <STRONG>0</STRONG> (the upper left corner of the screen, usually known
-            as the "home" cursor position).
+                  If  <EM>cap-code</EM>  is  of  string type and takes parameters, <STRONG>tput</STRONG>
+                  interprets arguments following <EM>cap-code</EM> as  the  parameters,
+                  up to the (fixed) quantity the capability requires.
 
-       <STRONG>tput</STRONG> <STRONG>clear</STRONG>
-            Echo the clear-screen sequence for the current termi-
-            nal.
+                  Most   parameters   are   numeric.    Only  a  few  terminal
+                  capabilities require string parameters; <STRONG>tput</STRONG> uses a table to
+                  decide  which  to  pass  as  strings.   Normally  <STRONG>tput</STRONG>  uses
+                  <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG> to perform the substitution.  If no parameters are
+                  given  for  the  capability,  <STRONG>tput</STRONG> writes the string without
+                  performing the substitution.
 
-       <STRONG>tput</STRONG> <STRONG>cols</STRONG>
-            Print the number of columns for the current terminal.
+       <STRONG>init</STRONG>       initializes the  terminal.   If  the  terminal  database  is
+                  present  and  an  entry for the user's terminal type exists,
+                  the following occur.
 
-       <STRONG>tput</STRONG> <STRONG>-T450</STRONG> <STRONG>cols</STRONG>
-            Print the number of columns for the 450 terminal.
+                  (1)  <STRONG>tput</STRONG>  retrieves  the  terminal's  mode  settings.    It
+                       successively  tests  the file descriptors corresponding
+                       to
 
-       <STRONG>bold=`tput</STRONG> <STRONG>smso`</STRONG> <STRONG>offbold=`tput</STRONG> <STRONG>rmso`</STRONG>
-            Set the shell variables <STRONG>bold</STRONG>, to begin stand-out mode
-            sequence, and <STRONG>offbold</STRONG>, to end standout mode sequence,
-            for the current terminal.  This might be followed  by
-            a  prompt:  <STRONG>echo</STRONG>  <STRONG>"${bold}Please</STRONG>  <STRONG>type</STRONG>  <STRONG>in</STRONG> <STRONG>your</STRONG> <STRONG>name:</STRONG>
-            <STRONG>${offbold}\c"</STRONG>
+                       <STRONG>o</STRONG>   the standard error stream,
 
-       <STRONG>tput</STRONG> <STRONG>hc</STRONG>
-            Set exit code to indicate if the current terminal  is
-            a hard copy terminal.
+                       <STRONG>o</STRONG>   the standard output stream,
 
-       <STRONG>tput</STRONG> <STRONG>cup</STRONG> <STRONG>23</STRONG> <STRONG>4</STRONG>
-            Send  the sequence to move the cursor to row 23, col-
-            umn 4.
+                       <STRONG>o</STRONG>   the standard input stream, and
 
-       <STRONG>tput</STRONG> <STRONG>cup</STRONG>
-            Send the terminfo string for cursor-movement, with no
-            parameters substituted.
+                       <STRONG>o</STRONG>   <EM>/dev/tty</EM>
 
-       <STRONG>tput</STRONG> <STRONG>longname</STRONG>
-            Print  the  long  name from the <STRONG>terminfo</STRONG> database for
-            the type of terminal specified in  the  environmental
-            variable <STRONG>TERM</STRONG>.
+                       to obtain terminal settings.   Having  retrieved  them,
+                       <STRONG>tput</STRONG>  remembers  which  descriptor  to  use for further
+                       updates.
 
-            <STRONG>tput</STRONG> <STRONG>-S</STRONG> <STRONG>&lt;&lt;!</STRONG>
-            <STRONG>&gt;</STRONG> <STRONG>clear</STRONG>
-            <STRONG>&gt;</STRONG> <STRONG>cup</STRONG> <STRONG>10</STRONG> <STRONG>10</STRONG>
-            <STRONG>&gt;</STRONG> <STRONG>bold</STRONG>
-            <STRONG>&gt;</STRONG> <STRONG>!</STRONG>
+                  (2)  If the terminal dimensions cannot be obtained from  the
+                       operating  system, but the environment or terminal type
+                       database  entry  describes  them,  <STRONG>tput</STRONG>   updates   the
+                       operating system's notion of them.
 
-            This  example shows <STRONG>tput</STRONG> processing several capabili-
-            ties in one invocation.  It clears the screen,  moves
-            the  cursor  to  position  10,  10  and turns on bold
-            (extra bright) mode.  The list is  terminated  by  an
-            exclamation mark (<STRONG>!</STRONG>) on a line by itself.
+                  (3)  <STRONG>tput</STRONG> updates the terminal modes.
+
+                       <STRONG>o</STRONG>   Any  delays  specified  in  the entry (for example,
+                           when a newline is sent) are  set  in  the  terminal
+                           driver.
+
+                       <STRONG>o</STRONG>   Tab   expansion   is  turned  on  or  off  per  the
+                           specification in the entry, and
+
+                       <STRONG>o</STRONG>   if tabs are not expanded, standard  tabs  (every  8
+                           spaces) are set.
+
+                  (4)  If  initialization capabilities, detailed in subsection
+                       "Tabs and Initialization" of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, are  present,
+                       <STRONG>tput</STRONG> writes them to the standard output stream.
+
+                  (5)  <STRONG>tput</STRONG> flushes the standard output stream.
+
+                  If  an  entry  lacks  the information needed for an activity
+                  above, that activity is silently skipped.
+
+       <STRONG>reset</STRONG>      re-initializes  the  terminal.    A   reset   differs   from
+                  initialization in two ways.
+
+                  (1)  <STRONG>tput</STRONG> sets the the terminal modes to a "sane" state,
+
+                       <STRONG>o</STRONG>   enabling cooked and echo modes,
+
+                       <STRONG>o</STRONG>   disabling cbreak and raw modes,
+
+                       <STRONG>o</STRONG>   enabling newline translation, and
+
+                       <STRONG>o</STRONG>   setting  any  unset  special  characters  to  their
+                           default values.
+
+                  (2)  If any reset capabilities are defined for the  terminal
+                       type,   <STRONG>tput</STRONG>   writes   them   to  the  output  stream.
+                       Otherwise,  <STRONG>tput</STRONG>  uses   any   defined   initialization
+                       capabilities.    Reset  capabilities  are  detailed  in
+                       subsection "Tabs and Initialization" of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+
+       <STRONG>longname</STRONG>   A <EM>terminfo</EM> entry begins with one or more names by  which  an
+                  application  can  refer  to  the  entry,  before the list of
+                  terminal capabilities.   The  names  are  separated  by  "|"
+                  characters.   X/Open  Curses  terms  the last name the "long
+                  name", and indicates that it may include blanks.
+
+                  <STRONG>tic</STRONG> warns if the last  name  does  not  include  blanks,  to
+                  accommodate  old <EM>terminfo</EM> entries that treated the long name
+                  as an optional feature.  The long name is often referred  to
+                  as the description field.
+
+                  If  the  terminal  database  is present and an entry for the
+                  user's terminal type exists, <STRONG>tput</STRONG> reports its description to
+                  the standard output stream, without a trailing newline.  See
+                  <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+
+       <EM>Note:</EM> Redirecting the output of "<STRONG>tput</STRONG> <STRONG>init</STRONG>" or "<STRONG>tput</STRONG> <STRONG>reset</STRONG>" to  a  file
+       will capture only part of their actions.  Changes to the terminal modes
+       are not affected by file descriptor  redirection,  since  the  terminal
+       modes are altered via <STRONG>ioctl(2)</STRONG>.
 
 
-</PRE>
-<H2><a name="h2-FILES">FILES</a></H2><PRE>
-       <STRONG>/usr/share/terminfo</STRONG>
+</PRE><H3><a name="h3-Aliases">Aliases</a></H3><PRE>
+       If  <STRONG>tput</STRONG>  is  invoked  via  link  with any of the names <STRONG>clear</STRONG>, <STRONG>init</STRONG>, or
+       <STRONG>reset</STRONG>, it operates as if run with the corresponding (pseudo-)capability
+       operand.  For example, executing a link named <STRONG>reset</STRONG> that points to <STRONG>tput</STRONG>
+       has the same effect as "<STRONG>tput</STRONG> <STRONG>reset</STRONG>".
+
+       This feature was introduced by <EM>ncurses</EM> 5.2 in 2000.  It is rarely used:
+
+       <STRONG>clear</STRONG>  is a separate program, which is both smaller and more frequently
+              executed.
+
+       <STRONG>init</STRONG>   has the same name as another program in widespread use.
+
+       <STRONG>reset</STRONG>  is  provided  by  the  <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>  utility  (also  via a link named
+              <STRONG>reset</STRONG>).
+
+
+</PRE><H3><a name="h3-Terminal-Size">Terminal Size</a></H3><PRE>
+       Besides the pseudo-capabilities (such as <STRONG>init</STRONG>), <STRONG>tput</STRONG> treats  the  <STRONG>lines</STRONG>
+       and  <STRONG>cols</STRONG>  <EM>cap-codes</EM> specially: it may call <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG> to obtain the
+       terminal size.
+
+       <STRONG>o</STRONG>   First, <STRONG>tput</STRONG> attempts to obtain these capabilities from the terminal
+           database.   This generally fails for terminal emulators, which lack
+           a fixed window size and thus omit the capabilities.
+
+       <STRONG>o</STRONG>   It then asks the operating system for the  terminal's  size,  which
+           generally  works,  unless  the connection is via a serial line that
+           does not support "NAWS": negotiations about window size.
+
+       <STRONG>o</STRONG>   Finally, it inspects the environment variables <EM>LINES</EM>  and  <EM>COLUMNS</EM>,
+           which may override the terminal size.
+
+       If  the  <STRONG>-T</STRONG>  option is given, <STRONG>tput</STRONG> ignores the environment variables by
+       calling  <STRONG>use_tioctl(TRUE)</STRONG>,  relying  upon  the  operating  system  (or,
+       ultimately, the terminal database).
+
+
+</PRE><H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE>
+       <STRONG>-S</STRONG>       retrieves  more  than  one  capability per invocation of <STRONG>tput</STRONG>.
+                The capabilities must be passed  to  <STRONG>tput</STRONG>  from  the  standard
+                input  stream  instead  of  from the command line (see section
+                "EXAMPLES" below).  Only one <EM>cap-code</EM>  is  allowed  per  line.
+                The  <STRONG>-S</STRONG>  option  changes  the  meanings  of  the  <STRONG>0</STRONG> and <STRONG>1</STRONG> exit
+                statuses (see section "EXIT STATUS" below).
+
+                Some capabilities use string parameters  rather  than  numeric
+                ones.   <STRONG>tput</STRONG>  employs  a  built-in  table  and the presence of
+                parameters in its input to decide how to interpret  them,  and
+                whether to use <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG>.
+
+       <STRONG>-T</STRONG> <EM>type</EM>  indicates  the  terminal's  <EM>type</EM>.   Normally  this  option  is
+                unnecessary,  because  a  default  is  taken  from  the   <EM>TERM</EM>
+                environment variable.  If specified, the environment variables
+                <EM>LINES</EM> and <EM>COLUMNS</EM> are also ignored.
+
+       <STRONG>-V</STRONG>       reports the version of <EM>ncurses</EM> associated with <STRONG>tput</STRONG>, and exits
+                with a successful status.
+
+       <STRONG>-x</STRONG>       prevents  "<STRONG>tput</STRONG> <STRONG>clear</STRONG>" from attempting to clear the scrollback
+                buffer.
+
+
+</PRE><H2><a name="h2-EXIT-STATUS">EXIT STATUS</a></H2><PRE>
+       Normally, one should interpret <STRONG>tput</STRONG>'s exit statuses as follows.
+
+       <STRONG>Status</STRONG>   <STRONG>Meaning</STRONG> <STRONG>When</STRONG> <STRONG>-S</STRONG> <STRONG>Not</STRONG> <STRONG>Specified</STRONG>
+       ------------------------------------------------------------------------
+       <STRONG>0</STRONG>        Boolean or string capability present
+       <STRONG>1</STRONG>        Boolean or numeric capability absent
+       <STRONG>2</STRONG>        usage error or no terminal type specified
+       <STRONG>3</STRONG>        unrecognized terminal type
+       <STRONG>4</STRONG>        unrecognized capability code
+       <STRONG>&gt;4</STRONG>       system error (4 + <STRONG>errno</STRONG>)
+
+       When the <STRONG>-S</STRONG> option is used, some statuses change meanings.
+
+       <STRONG>Status</STRONG>   <STRONG>Meaning</STRONG> <STRONG>When</STRONG> <STRONG>-S</STRONG> <STRONG>Specified</STRONG>
+       ------------------------------------------------------------------------
+       <STRONG>0</STRONG>        all operands interpreted
+       <STRONG>1</STRONG>        unused
+       <STRONG>4</STRONG>        some operands not interpreted
+
+
+</PRE><H2><a name="h2-ENVIRONMENT">ENVIRONMENT</a></H2><PRE>
+       <STRONG>tput</STRONG> reads one environment variable.
+
+       <EM>TERM</EM>    denotes the terminal type.  Each  terminal  type  is  distinct,
+               though many are similar.  The <STRONG>-T</STRONG> option overrides its value.
+
+
+</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
+       <EM>/usr/share/tabset</EM>
+              tab stop initialization database
+
+       <EM>/usr/share/terminfo</EM>
               compiled terminal description database
 
-       <STRONG>/usr/share/tabset/*</STRONG>
-              tab settings for some terminals, in a format appro-
-              priate  to  be  output  to  the  terminal   (escape
-              sequences  that  set  margins  and  tabs); for more
-              information, see the "Tabs and Initialization" sec-
-              tion of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       Over  time  <EM>ncurses</EM>  <STRONG>tput</STRONG>  has  differed  from  that of System V in two
+       important respects, one now mostly historical.
+
+       <STRONG>o</STRONG>   "<STRONG>tput</STRONG> <EM>cap-code</EM>" writes to the standard output, which need not be  a
+           terminal  device.   However,  the operands that manipulate terminal
+           modes might not use the standard output.
+
+           System V <STRONG>tput</STRONG>'s <STRONG>init</STRONG> and <STRONG>reset</STRONG>  operands  use  logic  from  4.1cBSD
+           <STRONG>tset</STRONG>,  manipulating  terminal  modes.   It  checks  the  same  file
+           descriptors (and <EM>/dev/tty</EM>) for association with a  terminal  device
+           as  <EM>ncurses</EM>  now does, and if none are, finally assumes a 1200 baud
+           terminal.  When updating terminal modes, it ignores errors.
+
+           Until <EM>ncurses</EM> 6.1 (see  section  "HISTORY"  below),  <STRONG>tput</STRONG>  did  not
+           modify  terminal  modes.   It  now  employs  a  scheme  similar  to
+           System V, using functions shared with <STRONG>tset</STRONG> (and ultimately based on
+           4.4BSD  <STRONG>tset</STRONG>).  If it is not able to open a terminal (for instance,
+           when run by <STRONG>cron(1)</STRONG>), <STRONG>tput</STRONG> exits with an error status.
+
+       <STRONG>o</STRONG>   System V <STRONG>tput</STRONG> assumes that  the  type  of  a  <EM>cap-code</EM>  operand  is
+           numeric  if all the characters of its value are decimal numbers; if
+           they are not, it treats <EM>cap-code</EM> as a string capability.
+
+           Most implementations that provide support for <EM>cap-code</EM> operands use
+           the  <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG>  function  to  expand its parameters.  That function
+           expects a mixture of numeric and string parameters, requiring  <STRONG>tput</STRONG>
+           to know which type to use.
+
+           <EM>ncurses</EM>  <STRONG>tput</STRONG> uses a table to determine the parameter types for the
+           standard <EM>cap-code</EM> operands, and an  internal  function  to  analyze
+           nonstandard <EM>cap-code</EM> operands.
+
+           While  more reliable than System V's utility, a portability problem
+           is introduced by this analysis.  An OpenBSD developer  adapted  the
+           internal  library  function  from <EM>ncurses</EM> to port NetBSD's <EM>termcap</EM>-
+           based <STRONG>tput</STRONG> to <EM>terminfo</EM>, and modified it to interpret multiple  <EM>cap-</EM>
+           <EM>codes</EM>  (and parameters) on the command line.  Portable applications
+           should not rely upon this feature; <EM>ncurses</EM>  offers  it  to  support
+           applications written specifically for OpenBSD.
+
+       This  implementation,  unlike others, accepts both <EM>termcap</EM> and <EM>terminfo</EM>
+       <EM>cap-codes</EM> if <EM>termcap</EM> support is compiled in.  In  that  case,  however,
+       the predefined <EM>termcap</EM> and <EM>terminfo</EM> codes have two ambiguities; <EM>ncurses</EM>
+       assumes the <EM>terminfo</EM> code.
+
+       <STRONG>o</STRONG>   The <EM>cap-code</EM> <STRONG>dl</STRONG> means <STRONG>delete_line</STRONG> to <EM>termcap</EM>  but  <STRONG>parm_delete_line</STRONG>
+           to <EM>terminfo</EM>.  <EM>termcap</EM> uses the code <STRONG>DL</STRONG> for <STRONG>parm_delete_line</STRONG>.  <EM>term-</EM>
+           <EM>info</EM> uses the code <STRONG>dl1</STRONG> for <STRONG>delete_line</STRONG>.
+
+       <STRONG>o</STRONG>   The <EM>cap-code</EM> <STRONG>ed</STRONG> means <STRONG>exit_delete_mode</STRONG> to <EM>termcap</EM>  but  <STRONG>clr_eos</STRONG>  to
+           <EM>terminfo</EM>.  <EM>termcap</EM> uses the code <STRONG>cd</STRONG> for <STRONG>clr_eos</STRONG>.  <EM>terminfo</EM> uses the
+           code <STRONG>rmdc</STRONG> for <STRONG>exit_delete_mode</STRONG>.
+
+       The  <STRONG>longname</STRONG>  operand,  <STRONG>-S</STRONG>  option,  and  the   parameter-substitution
+       features  used in the <STRONG>cup</STRONG> example below, were not supported in AT&amp;T/USL
+       <EM>curses</EM> before SVr4 (1989).  Later, 4.3BSD-Reno (1990) added support for
+       <STRONG>longname</STRONG>,  and  in  1994,  NetBSD  added  support  for  the  parameter-
+       substitution features.
+
+       IEEE  Std  1003.1/The  Open   Group   Base   Specifications   Issue   7
+       (POSIX.1-2008)  documents  only the <STRONG>clear</STRONG>, <STRONG>init</STRONG>, and <STRONG>reset</STRONG> operands.  A
+       few observations of interest arise from that selection.
+
+       <STRONG>o</STRONG>   <EM>ncurses</EM> supports <STRONG>clear</STRONG> as it does any other standard <EM>cap-code</EM>.  The
+           others   (<STRONG>init</STRONG>   and   <STRONG>longname</STRONG>)  do  not  correspond  to  terminal
+           capabilities.
+
+       <STRONG>o</STRONG>   The <STRONG>tput</STRONG> on SVr4-based systems such as Solaris, IRIX64, and  HP-UX,
+           as well as others such as AIX and Tru64, also support standard <EM>cap-</EM>
+           <EM>code</EM> operands.
+
+       <STRONG>o</STRONG>   A few platforms such as FreeBSD recognize <EM>termcap</EM> codes rather than
+           <EM>terminfo</EM> capability codes in their respective <STRONG>tput</STRONG> commands.  Since
+           2010, NetBSD's <STRONG>tput</STRONG> uses <EM>terminfo</EM> codes.   Before  that,  it  (like
+           FreeBSD) recognized <EM>termcap</EM> codes.
+
+           Beginning  in  2021, FreeBSD uses <EM>ncurses</EM> <STRONG>tput</STRONG>, configured for both
+           <EM>terminfo</EM> (tested first) and <EM>termcap</EM> (as a fallback).
+
+       Because (apparently) all <EM>certified</EM> Unix systems support the full set of
+       capability  codes,  the  reason  for  documenting only a few may not be
+       apparent.
+
+       <STRONG>o</STRONG>   X/Open Curses Issue 7 documents <STRONG>tput</STRONG> differently, with <EM>cap-code</EM> and
+           the other features used in this implementation.
+
+       <STRONG>o</STRONG>   That  is,  there  are  two standards for <STRONG>tput</STRONG>: POSIX (a subset) and
+           X/Open Curses (the full implementation).  POSIX documents a  subset
+           to  avoid  the  complication  of  including  X/Open  Curses and the
+           terminal capability database.
+
+       <STRONG>o</STRONG>   While it is certainly possible to  write  a  <STRONG>tput</STRONG>  program  without
+           using  <EM>curses</EM>,  no  system  with a <EM>curses</EM> implementation provides a
+           <STRONG>tput</STRONG> utility that does not also support standard <EM>cap-codes</EM>.
+
+       X/Open  Curses  Issue  7  (2009)  is  the  first  version  to  document
+       utilities.  However that part of X/Open Curses does not follow existing
+       practice (that is, System V <EM>curses</EM> behavior).
+
+       <STRONG>o</STRONG>   It assigns exit status 4 to "invalid operand", which may  have  the
+           same  meaning  as  "unknown  capability".  For instance, the source
+           code for Solaris <EM>xcurses</EM> uses the term "invalid" in this case.
+
+       <STRONG>o</STRONG>   It assigns exit status 255  to  a  numeric  variable  that  is  not
+           specified in the <EM>terminfo</EM> database.  That likely is a documentation
+           error, mistaking  the  "-1"  written  to  the  standard  output  to
+           indicate   an   absent  or  cancelled  numeric  capability  for  an
+           (unsigned) exit status.
+
+       The various System V implementations (AIX, HP-UX, Solaris) use the same
+       exit statuses as <EM>ncurses</EM>.
+
+       NetBSD  <EM>curses</EM>  documents  exit  statuses  that  correspond  to neither
+       <EM>ncurses</EM> nor X/Open Curses.
 
 
-</PRE>
-<H2><a name="h2-EXIT-CODES">EXIT CODES</a></H2><PRE>
-       If the <STRONG>-S</STRONG> option is used, <STRONG>tput</STRONG> checks for errors from each
-       line, and if any errors are found, will set the exit  code
-       to  4  plus the number of lines with errors.  If no errors
-       are found, the exit code is <STRONG>0</STRONG>.   No  indication  of  which
-       line failed can be given so exit code <STRONG>1</STRONG> will never appear.
-       Exit codes <STRONG>2</STRONG>, <STRONG>3</STRONG>, and <STRONG>4</STRONG> retain their usual  interpretation.
-       If the <STRONG>-S</STRONG> option is not used, the exit code depends on the
-       type of <EM>capname</EM>:
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+       Bill Joy wrote a <STRONG>tput</STRONG> command during development  of  4BSD  in  October
+       1980.   This  initial version only cleared the screen, and did not ship
+       with official distributions.
 
-            <EM>boolean</EM>
-                   a value of <STRONG>0</STRONG> is set for TRUE and <STRONG>1</STRONG> for FALSE.
+       System V developed a different <STRONG>tput</STRONG> command.
 
-            <EM>string</EM> a value of <STRONG>0</STRONG> is set if the <EM>capname</EM> is  defined
-                   for  this  terminal <EM>type</EM> (the value of <EM>capname</EM>
-                   is returned on standard output); a value of  <STRONG>1</STRONG>
-                   is set if <EM>capname</EM> is not defined for this ter-
-                   minal <EM>type</EM> (nothing  is  written  to  standard
-                   output).
+       <STRONG>o</STRONG>   SVr2 (1984) provided a rudimentary <STRONG>tput</STRONG> that checked the  parameter
+           against  each  predefined capability and returned the corresponding
+           value.   This  version  of  <STRONG>tput</STRONG>  did   not   use   <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG>   for
+           parameterized capabilities.
 
-            <EM>integer</EM>
-                   a  value  of  <STRONG>0</STRONG>  is always set, whether or not
-                   <EM>capname</EM> is defined for this terminal <EM>type</EM>.  To
-                   determine  if <EM>capname</EM> is defined for this ter-
-                   minal <EM>type</EM>, the user must test the value writ-
-                   ten  to  standard output.  A value of <STRONG>-1</STRONG> means
-                   that <EM>capname</EM> is not defined for this  terminal
-                   <EM>type</EM>.
+       <STRONG>o</STRONG>   SVr3  (1987)  replaced  that  with  a  more extensive program whose
+           support for <STRONG>init</STRONG> and <STRONG>reset</STRONG> operands (more than  half  the  program)
+           incorporated the <STRONG>reset</STRONG> feature of BSD <STRONG>tset</STRONG> written by Eric Allman.
 
-            <EM>other</EM>  <STRONG>reset</STRONG>  or  <STRONG>init</STRONG> may fail to find their respec-
-                   tive files.  In that case, the  exit  code  is
-                   set to 4 + <STRONG>errno</STRONG>.
+       <STRONG>o</STRONG>   SVr4  (1989)  added  color  initialization by using the <STRONG>orig_colors</STRONG>
+           (<STRONG>oc</STRONG>) and <STRONG>orig_pair</STRONG> (<STRONG>op</STRONG>) capabilities in its <STRONG>init</STRONG> logic.
 
-       Any  other  exit code indicates an error; see the DIAGNOS-
-       TICS section.
+       Keith Bostic refactored BSD <STRONG>tput</STRONG> for shipment in  4.3BSD-Tahoe  (1988),
+       then  replaced  it  the  next  year  with a new implementation based on
+       System V <STRONG>tput</STRONG>.  Bostic's version  similarly  accepted  some  parameters
+       named  for  <EM>terminfo</EM>  (pseudo-)capabilities: <STRONG>clear</STRONG>, <STRONG>init</STRONG>, <STRONG>longname</STRONG>, and
+       <STRONG>reset</STRONG>.  However, because he had only  <EM>termcap</EM>  available,  it  accepted
+       <EM>termcap</EM>  codes for other capabilities.  Also, Bostic's BSD <STRONG>tput</STRONG> did not
+       modify the terminal modes as the earlier BSD <STRONG>tset</STRONG> had done.
+
+       At the same time, Bostic added a shell script named "clear"  that  used
+       <STRONG>tput</STRONG>  to  clear the screen.  Both of these appeared in 4.4BSD, becoming
+       the "modern" BSD implementation of <STRONG>tput</STRONG>.
+
+       The origin of <EM>ncurses</EM> <STRONG>tput</STRONG> lies outside both System V and BSD, in  Ross
+       Ridge's  <EM>mytinfo</EM>  package,  published  on <EM>comp.sources.unix</EM> in December
+       1992.  Ridge's program made more  sophisticated  use  of  the  terminal
+       capabilities than the BSD program.  Eric Raymond used that <STRONG>tput</STRONG> program
+       (and other parts of <EM>mytinfo</EM>) in <EM>ncurses</EM> in  June  1995.   Incorporating
+       the  portions dealing with terminal capabilities almost without change,
+       Raymond made improvements  to  the  way  command-line  parameters  were
+       handled.
+
+       Before <EM>ncurses</EM> 6.1 (2018), its <STRONG>tset</STRONG> and <STRONG>tput</STRONG> utilities differed.
+
+       <STRONG>o</STRONG>   <STRONG>tset</STRONG>  was  more effective, resetting the terminal modes and special
+           characters.
+
+       <STRONG>o</STRONG>   On the other hand, <STRONG>tset</STRONG>'s repertoire of terminal  capabilities  for
+           resetting the terminal was more limited; it had only equivalents of
+           <STRONG>reset_1string</STRONG> (<STRONG>rs1</STRONG>), <STRONG>reset_2string</STRONG> (<STRONG>rs2</STRONG>), and <STRONG>reset_file</STRONG> (<STRONG>rf</STRONG>),  and
+           not the tab stop and margin update features of <STRONG>tput</STRONG>.
+
+       The <STRONG>reset</STRONG> program is traditionally an alias for <STRONG>tset</STRONG> due to its ability
+       to reset terminal modes and special characters.
+
+       As of <EM>ncurses</EM> 6.1,  the  "reset"  features  of  the  two  programs  are
+       (mostly) the same.  Two minor differences remain.
+
+       <STRONG>o</STRONG>   The  <STRONG>tset</STRONG>  program  waits  one  second  when resetting, in case the
+           terminal happens to be a hardware device.
+
+       <STRONG>o</STRONG>   The two programs  write  the  terminal  initialization  strings  to
+           different  streams;  that  is, standard error for <STRONG>tset</STRONG> and standard
+           output for <STRONG>tput</STRONG>.
 
 
-</PRE>
-<H2><a name="h2-DIAGNOSTICS">DIAGNOSTICS</a></H2><PRE>
-       <STRONG>tput</STRONG> prints the following error messages and sets the cor-
-       responding exit codes.
+</PRE><H2><a name="h2-EXAMPLES">EXAMPLES</a></H2><PRE>
+       <STRONG>tput</STRONG> <STRONG>init</STRONG>
+              Initialize the terminal according to the type of terminal in the
+              <EM>TERM</EM>  environment  variable.   If  the  system does not reliably
+              initialize the terminal upon login, this command can be included
+              in <EM>$HOME/.profile</EM> after exporting the <EM>TERM</EM> environment variable.
 
-       exit code   error message
-       ---------------------------------------------------------------------
-       <STRONG>0</STRONG>           (<EM>capname</EM>  is a numeric variable that is not specified in
-                   the <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> database for this  terminal  type,  e.g.
-                   <STRONG>tput</STRONG> <STRONG>-T450</STRONG> <STRONG>lines</STRONG> and <STRONG>tput</STRONG> <STRONG>-T2621</STRONG> <STRONG>xmc</STRONG>)
-       <STRONG>1</STRONG>           no error message is printed, see the <STRONG>EXIT</STRONG> <STRONG>CODES</STRONG> section.
-       <STRONG>2</STRONG>           usage error
-       <STRONG>3</STRONG>           unknown terminal <EM>type</EM> or no <STRONG>terminfo</STRONG> database
-       <STRONG>4</STRONG>           unknown <STRONG>terminfo</STRONG> capability <EM>capname</EM>
-       <STRONG>&gt;4</STRONG>          error occurred in -S
-       ---------------------------------------------------------------------
+       <STRONG>tput</STRONG> <STRONG>-T5620</STRONG> <STRONG>reset</STRONG>
+              Reset an AT&amp;T 5620 terminal, overriding the terminal type in the
+              <EM>TERM</EM> environment variable.
+
+       <STRONG>tput</STRONG> <STRONG>cnorm</STRONG>
+              Set cursor to normal visibility.
+
+       <STRONG>tput</STRONG> <STRONG>home</STRONG>
+              Move the cursor to row 0, column 0: the upper left corner of the
+              screen, usually known as the "home" cursor position.
+
+       <STRONG>tput</STRONG> <STRONG>clear</STRONG>
+              Clear  the  screen: write the <STRONG>clear_screen</STRONG> capability's value to
+              the standard output stream.
+
+       <STRONG>tput</STRONG> <STRONG>cols</STRONG>
+              Report the number of columns used by the current terminal type.
+
+       <STRONG>tput</STRONG> <STRONG>-Tadm3a</STRONG> <STRONG>cols</STRONG>
+              Report the number of columns used by an ADM-3A terminal.
+
+       <STRONG>strong=`tput</STRONG> <STRONG>smso`</STRONG> <STRONG>normal=`tput</STRONG> <STRONG>rmso`</STRONG>
+              Set shell variables to capability values: <STRONG>strong</STRONG> and <STRONG>normal</STRONG>,  to
+              begin  and  end,  respectively, stand-out mode for the terminal.
+              One might use these to present a prompt.
+
+                     printf "${strong}Username:${normal} "
+
+       <STRONG>tput</STRONG> <STRONG>hc</STRONG>
+              Indicate via exit status whether the terminal  is  a  hard  copy
+              device.
+
+       <STRONG>tput</STRONG> <STRONG>cup</STRONG> <STRONG>23</STRONG> <STRONG>4</STRONG>
+              Move the cursor to row 23, column 4.
+
+       <STRONG>tput</STRONG> <STRONG>cup</STRONG>
+              Report  the  value  of the <STRONG>cursor_address</STRONG> (<STRONG>cup</STRONG>) capability (used
+              for cursor movement), with no parameters substituted.
+
+       <STRONG>tput</STRONG> <STRONG>longname</STRONG>
+              Report the <EM>terminfo</EM> database's description of the terminal  type
+              specified in the <EM>TERM</EM> environment variable.
+
+       <STRONG>tput</STRONG> <STRONG>-S</STRONG>
+              Process  multiple capabilities.  The <STRONG>-S</STRONG> option can be profitably
+              used with a shell "here document".
+
+              $ <STRONG>tput</STRONG> <STRONG>-S</STRONG> <STRONG>&lt;&lt;!</STRONG>
+              &gt; <STRONG>clear</STRONG>
+              &gt; <STRONG>cup</STRONG> <STRONG>10</STRONG> <STRONG>10</STRONG>
+              &gt; <STRONG>bold</STRONG>
+              &gt; <STRONG>!</STRONG>
+
+              The foregoing clears the screen, moves the  cursor  to  position
+              (10, 10) and turns on bold (extra bright) mode.
+
+       <STRONG>tput</STRONG> <STRONG>clear</STRONG> <STRONG>cup</STRONG> <STRONG>10</STRONG> <STRONG>10</STRONG> <STRONG>bold</STRONG>
+              Perform the same actions as the foregoing "<STRONG>tput</STRONG> <STRONG>-S</STRONG>" example.
 
 
-</PRE>
-<H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       The  <STRONG>longname</STRONG>  and <STRONG>-S</STRONG> options, and the parameter-substitu-
-       tion features used in the <STRONG>cup</STRONG> example, are  not  supported
-       in BSD curses or in AT&amp;T/USL curses before SVr4.
-
-       X/Open  documents  only  the  operands for <STRONG>clear</STRONG>, <STRONG>init</STRONG> and
-       <STRONG>reset</STRONG>.  In this implementation, <STRONG>clear</STRONG> is part of the  <EM>cap-</EM>
-       <EM>name</EM> support.  Other implementations of <STRONG>tput</STRONG> on SVr4-based
-       systems such as Solaris, IRIX64 and HPUX as well as others
-       such  as  AIX  and Tru64 provide support for <EM>capname</EM> oper-
-       ands.
-
-       A few platforms such as FreeBSD and NetBSD recognize term-
-       cap  names  rather than terminfo capability names in their
-       respective <STRONG>tput</STRONG> commands.
-
-       Most implementations which provide support for <EM>capname</EM> op-
-       erands  use the <EM>tparm</EM> function to expand parameters in it.
-       That function expects a  mixture  of  numeric  and  string
-       parameters,  requiring  <STRONG>tput</STRONG>  to  know  which type to use.
-       This implementation uses a table to determine that for the
-       standard  <EM>capname</EM>  operands, and an internal library func-
-       tion  to  analyze  nonstandard  <EM>capname</EM>  operands.   Other
-       implementations  may simply guess that an operand contain-
-       ing only digits is intended to be a number.
-
-
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>, <STRONG>stty(1)</STRONG>, <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>.
-
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20150808).
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>, <STRONG>stty(1)</STRONG>, <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>, <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
 
 
 
-                                                                <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
+ncurses 6.5                       2024-04-20                           <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
 <li><a href="#h2-NAME">NAME</a></li>
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
-<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
-<li><a href="#h2-EXAMPLES">EXAMPLES</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-Operands">Operands</a></li>
+<li><a href="#h3-Aliases">Aliases</a></li>
+<li><a href="#h3-Terminal-Size">Terminal Size</a></li>
+</ul>
+</li>
+<li><a href="#h2-OPTIONS">OPTIONS</a></li>
+<li><a href="#h2-EXIT-STATUS">EXIT STATUS</a></li>
+<li><a href="#h2-ENVIRONMENT">ENVIRONMENT</a></li>
 <li><a href="#h2-FILES">FILES</a></li>
-<li><a href="#h2-EXIT-CODES">EXIT CODES</a></li>
-<li><a href="#h2-DIAGNOSTICS">DIAGNOSTICS</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
+<li><a href="#h2-EXAMPLES">EXAMPLES</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
diff --git a/doc/html/man/tset.1.html b/doc/html/man/tset.1.html
index 73192cd..a566956 100644
--- a/doc/html/man/tset.1.html
+++ b/doc/html/man/tset.1.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2011,2013 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2016,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -26,316 +27,391 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: tset.1,v 1.29 2013/12/21 22:15:53 tom Exp @
+  * @Id: tset.1,v 1.85 2024/04/27 17:57:47 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>tset 1</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>tset 1 2024-04-27 ncurses 6.5 User commands</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">tset 1</H1>
+<H1 class="no-header">tset 1 2024-04-27 ncurses 6.5 User commands</H1>
 <PRE>
-<STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>                                                         <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
+<STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>                          User commands                         <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>tset</STRONG>, <STRONG>reset</STRONG> - terminal initialization
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>tset</STRONG>, <STRONG>reset</STRONG> - initialize or reset terminal state
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
-       <STRONG>tset</STRONG>  [<STRONG>-IQVcqrsw</STRONG>] [<STRONG>-</STRONG>] [<STRONG>-e</STRONG> <EM>ch</EM>] [<STRONG>-i</STRONG> <EM>ch</EM>] [<STRONG>-k</STRONG> <EM>ch</EM>] [<STRONG>-m</STRONG> <EM>mapping</EM>]
-       [<EM>terminal</EM>]
-       <STRONG>reset</STRONG> [<STRONG>-IQVcqrsw</STRONG>] [<STRONG>-</STRONG>] [<STRONG>-e</STRONG> <EM>ch</EM>] [<STRONG>-i</STRONG> <EM>ch</EM>] [<STRONG>-k</STRONG> <EM>ch</EM>] [<STRONG>-m</STRONG> <EM>mapping</EM>]
-       [<EM>terminal</EM>]
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+       <STRONG>tset</STRONG>  [<STRONG>-IQVcqrsw</STRONG>]  [<STRONG>-</STRONG>]  [<STRONG>-e</STRONG> <EM>ch</EM>] [<STRONG>-i</STRONG> <EM>ch</EM>] [<STRONG>-k</STRONG> <EM>ch</EM>] [<STRONG>-m</STRONG> <EM>mapping</EM>] [<EM>terminal-</EM>
+       <EM>type</EM>]
+       <STRONG>reset</STRONG> [<STRONG>-IQVcqrsw</STRONG>] [<STRONG>-</STRONG>] [<STRONG>-e</STRONG> <EM>ch</EM>] [<STRONG>-i</STRONG> <EM>ch</EM>] [<STRONG>-k</STRONG> <EM>ch</EM>] [<STRONG>-m</STRONG>  <EM>mapping</EM>]  [<EM>terminal-</EM>
+       <EM>type</EM>]
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       <STRONG>Tset</STRONG>  initializes  terminals.   <STRONG>Tset</STRONG>  first determines the
-       type of terminal that you are using.   This  determination
-       is done as follows, using the first terminal type found.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+
+</PRE><H3><a name="h3-tset----initialization"><EM>tset</EM> -- initialization</a></H3><PRE>
+       This program initializes terminals.
+
+       First,  <STRONG>tset</STRONG>  retrieves  the  current  terminal  mode settings for your
+       terminal.  It does this by successively testing
+
+       <STRONG>o</STRONG>   the standard error,
+
+       <STRONG>o</STRONG>   standard output,
+
+       <STRONG>o</STRONG>   standard input and
+
+       <STRONG>o</STRONG>   ultimately "/dev/tty"
+
+       to obtain terminal settings.  Having  retrieved  these  settings,  <STRONG>tset</STRONG>
+       remembers which file descriptor to use when updating settings.
+
+       Next,  <STRONG>tset</STRONG>  determines  the type of terminal that you are using.  This
+       determination is done as follows, using the first terminal type found.
 
        1. The <STRONG>terminal</STRONG> argument specified on the command line.
 
-       2. The value of the <STRONG>TERM</STRONG> environmental variable.
+       2. The value of the <EM>TERM</EM> environment variable.
 
-       3.  (BSD  systems only.) The terminal type associated with
-       the standard error output device in  the  <EM>/etc/ttys</EM>  file.
-       (On  System-V-like  UNIXes  and systems using that conven-
-       tion, <EM>getty</EM> does this job by setting <STRONG>TERM</STRONG> according to the
-       type passed to it by <EM>/etc/inittab</EM>.)
+       3. (BSD systems only.) The terminal type associated with  the  standard
+       error  output  device  in  the  <EM>/etc/ttys</EM> file.  (On System V hosts and
+       systems using that convention, <STRONG>getty(8)</STRONG> does this job by  setting  <EM>TERM</EM>
+       according to the type passed to it by <EM>/etc/inittab</EM>.)
 
-       4. The default terminal type, "unknown".
+       4.  The  default  terminal  type, "unknown", is not suitable for curses
+       applications.
 
-       If  the  terminal  type  was not specified on the command-
-       line, the <STRONG>-m</STRONG> option mappings are  then  applied  (see  the
-       section  <STRONG>TERMINAL</STRONG>  <STRONG>TYPE</STRONG>  <STRONG>MAPPING</STRONG>  for  more  information).
-       Then, if the terminal type begins  with  a  question  mark
-       ("?"), the user is prompted for confirmation of the termi-
-       nal type.   An  empty  response  confirms  the  type,  or,
-       another  type  can be entered to specify a new type.  Once
-       the terminal type has been determined, the terminfo  entry
-       for  the  terminal  is retrieved.  If no terminfo entry is
-       found for the type, the user is prompted for another  ter-
-       minal type.
+       If the terminal type was not specified  on  the  command-line,  the  <STRONG>-m</STRONG>
+       option  mappings  are  then  applied;  see  subsection  "Terminal  Type
+       Mapping".  Then, if the terminal  type  begins  with  a  question  mark
+       ("?"),  the user is prompted for confirmation of the terminal type.  An
+       empty response confirms the type, or, another type can  be  entered  to
+       specify  a  new  type.  Once the terminal type has been determined, the
+       terminal description for the terminal is  retrieved.   If  no  terminal
+       description  is  found  for  the type, the user is prompted for another
+       terminal type.
 
-       Once  the  terminfo  entry  is retrieved, the window size,
-       backspace, interrupt and line kill characters (among  many
-       other things) are set and the terminal and tab initializa-
-       tion strings  are  sent  to  the  standard  error  output.
-       Finally,  if the erase, interrupt and line kill characters
-       have changed, or are not  set  to  their  default  values,
-       their  values  are displayed to the standard error output.
-       Use the <STRONG>-c</STRONG> or <STRONG>-w</STRONG> option to select only the  window  sizing
-       versus  the  other  initialization.   If neither option is
-       given, both are assumed.
+       Once the terminal description is retrieved,
 
-       When invoked as <STRONG>reset</STRONG>, <STRONG>tset</STRONG> sets cooked  and  echo  modes,
-       turns  off cbreak and raw modes, turns on newline transla-
-       tion and resets any  unset  special  characters  to  their
-       default  values  before  doing the terminal initialization
-       described above.  This is  useful  after  a  program  dies
-       leaving  a  terminal  in an abnormal state.  Note, you may
-       have to type
+       <STRONG>o</STRONG>   if the "<STRONG>-w</STRONG>" option is  enabled,  <STRONG>tset</STRONG>  may  update  the  terminal's
+           window size.
 
-           <STRONG>&lt;LF&gt;reset&lt;LF&gt;</STRONG>
+           If  the  window  size cannot be obtained from the operating system,
+           but the terminal  description  (or  environment,  e.g.,  <EM>LINES</EM>  and
+           <EM>COLUMNS</EM>  variables  specify  this),  use  this to set the operating
+           system's notion of the window size.
 
-       (the line-feed character is normally control-J) to get the
-       terminal to work, as carriage-return may no longer work in
-       the abnormal state.  Also, the  terminal  will  often  not
-       echo the command.
+       <STRONG>o</STRONG>   if the "<STRONG>-c</STRONG>" option is enabled, the backspace,  interrupt  and  line
+           kill characters (among many other things) are set
 
-       The options are as follows:
+       <STRONG>o</STRONG>   unless   the   "<STRONG>-I</STRONG>"   option  is  enabled,  the  terminal  and  tab
+           <EM>initialization</EM> strings are sent to the standard error  output,  and
+           <STRONG>tset</STRONG> waits one second (in case a hardware reset was issued).
 
-       <STRONG>-c</STRONG>   Set control characters and modes.
-
-       <STRONG>-e</STRONG>   Set the erase character to <EM>ch</EM>.
-
-       <STRONG>-I</STRONG>   Do  not  send  the  terminal  or  tab  initialization
-            strings to the terminal.
-
-       <STRONG>-i</STRONG>   Set the interrupt character to <EM>ch</EM>.
-
-       <STRONG>-k</STRONG>   Set the line kill character to <EM>ch</EM>.
-
-       <STRONG>-m</STRONG>   Specify a mapping from a port  type  to  a  terminal.
-            See the section <STRONG>TERMINAL</STRONG> <STRONG>TYPE</STRONG> <STRONG>MAPPING</STRONG> for more infor-
-            mation.
-
-       <STRONG>-Q</STRONG>   Do not display any values for  the  erase,  interrupt
-            and line kill characters.  Normally <STRONG>tset</STRONG> displays the
-            values for control characters which differ  from  the
-            system's default values.
-
-       <STRONG>-q</STRONG>   The  terminal  type is displayed to the standard out-
-            put, and the terminal is not initialized in any  way.
-            The option `-' by itself is equivalent but archaic.
-
-       <STRONG>-r</STRONG>   Print the terminal type to the standard error output.
-
-       <STRONG>-s</STRONG>   Print  the  sequence  of shell commands to initialize
-            the environment variable <STRONG>TERM</STRONG> to the standard output.
-            See the section <STRONG>SETTING</STRONG> <STRONG>THE</STRONG> <STRONG>ENVIRONMENT</STRONG> for details.
-
-       <STRONG>-V</STRONG>   reports the version of ncurses which was used in this
-            program, and exits.
-
-       <STRONG>-w</STRONG>   Resize the window  to  match  the  size  deduced  via
-            <STRONG>setupterm</STRONG>.   Normally  this  has  no  effect,  unless
-            <STRONG>setupterm</STRONG> is not able to detect the window size.
-
-       The arguments for the <STRONG>-e</STRONG>, <STRONG>-i</STRONG>, and <STRONG>-k</STRONG> options may either be
-       entered  as  actual characters or by using the `hat' nota-
-       tion, i.e., control-h may be specified as "^H" or "^h".
+       <STRONG>o</STRONG>   Finally,  if  the  erase,  interrupt  and line kill characters have
+           changed, or are not set to their default values, their  values  are
+           displayed to the standard error output.
 
 
-</PRE>
-<H2><a name="h2-SETTING-THE-ENVIRONMENT">SETTING THE ENVIRONMENT</a></H2><PRE>
-       It is often desirable  to  enter  the  terminal  type  and
-       information  about  the  terminal's  capabilities into the
-       shell's environment.  This is done using the <STRONG>-s</STRONG> option.
+</PRE><H3><a name="h3-reset----reinitialization"><EM>reset</EM> -- reinitialization</a></H3><PRE>
+       When invoked as <STRONG>reset</STRONG>, <STRONG>tset</STRONG> sets the terminal modes to "sane" values:
 
-       When the <STRONG>-s</STRONG> option is specified, the commands to enter the
-       information  into  the  shell's environment are written to
-       the standard output.  If the <STRONG>SHELL</STRONG> environmental  variable
-       ends  in  "csh", the commands are for <STRONG>csh</STRONG>, otherwise, they
-       are for <STRONG>sh</STRONG>.  Note, the <STRONG>csh</STRONG>  commands  set  and  unset  the
-       shell  variable  <STRONG>noglob</STRONG>,  leaving it unset.  The following
-       line in the <STRONG>.login</STRONG> or <STRONG>.profile</STRONG> files will  initialize  the
-       environment correctly:
+       <STRONG>o</STRONG>   sets cooked and echo modes,
+
+       <STRONG>o</STRONG>   turns off cbreak and raw modes,
+
+       <STRONG>o</STRONG>   turns on newline translation and
+
+       <STRONG>o</STRONG>   resets any unset special characters to their default values
+
+       before doing the terminal initialization described above.  Also, rather
+       than using the terminal <EM>initialization</EM> strings, it  uses  the  terminal
+       <EM>reset</EM> strings.
+
+       The  <STRONG>reset</STRONG> command is useful after a program dies leaving a terminal in
+       an abnormal state:
+
+       <STRONG>o</STRONG>   you may have to type
+
+               <EM>&lt;LF&gt;</EM><STRONG>reset</STRONG><EM>&lt;LF&gt;</EM>
+
+           (the line-feed character is normally control-J) to get the terminal
+           to  work,  as  carriage-return  may  no longer work in the abnormal
+           state.
+
+       <STRONG>o</STRONG>   Also, the terminal will often not echo the command.
+
+
+</PRE><H3><a name="h3-Setting-the-Environment">Setting the Environment</a></H3><PRE>
+       It is often desirable to enter the terminal type and information  about
+       the terminal's capabilities into the shell's environment.  This is done
+       using the <STRONG>-s</STRONG> option.
+
+       When the <STRONG>-s</STRONG> option is specified, the commands to enter the  information
+       into  the  shell's  environment are written to the standard output.  If
+       the <EM>SHELL</EM> environment variable ends in  "csh",  the  commands  are  for
+       <STRONG>csh(1)</STRONG>,  otherwise, they are for <STRONG>sh(1)</STRONG>.  The <EM>csh</EM> commands set and unset
+       the shell variable <STRONG>noglob</STRONG>, leaving it unset.  The following line in the
+       <STRONG>.login</STRONG> or <STRONG>.profile</STRONG> files will initialize the environment correctly:
 
            eval `tset -s options ... `
 
 
-</PRE>
-<H2><a name="h2-TERMINAL-TYPE-MAPPING">TERMINAL TYPE MAPPING</a></H2><PRE>
-       When the terminal is not hardwired into the system (or the
-       current system information is incorrect) the terminal type
-       derived  from the <EM>/etc/ttys</EM> file or the <STRONG>TERM</STRONG> environmental
-       variable is often something generic like <STRONG>network</STRONG>,  <STRONG>dialup</STRONG>,
-       or  <STRONG>unknown</STRONG>.   When <STRONG>tset</STRONG> is used in a startup script it is
-       often desirable to provide information about the  type  of
-       terminal used on such ports.
+</PRE><H3><a name="h3-Terminal-Type-Mapping">Terminal Type Mapping</a></H3><PRE>
+       When  the  terminal  is  not  hardwired into the system (or the current
+       system information is incorrect) the terminal  type  derived  from  the
+       <EM>/etc/ttys</EM>  file  or  the  <EM>TERM</EM>  environment variable is often something
+       generic like <STRONG>network</STRONG>, <STRONG>dialup</STRONG>, or <STRONG>unknown</STRONG>.   When  <STRONG>tset</STRONG>  is  used  in  a
+       startup  script  it is often desirable to provide information about the
+       type of terminal used on such ports.
 
-       The  purpose  of  the <STRONG>-m</STRONG> option is to map from some set of
-       conditions to a terminal type, that is, to tell  <STRONG>tset</STRONG>  "If
-       I'm  on this port at a particular speed, guess that I'm on
-       that kind of terminal".
+       The <STRONG>-m</STRONG> options maps from some set of conditions  to  a  terminal  type,
+       that is, to tell <STRONG>tset</STRONG> "If I'm on this port at a particular speed, guess
+       that I'm on that kind of terminal".
 
-       The argument to the <STRONG>-m</STRONG> option consists of an optional port
-       type, an optional operator, an optional baud rate specifi-
-       cation, an optional colon (":") character and  a  terminal
-       type.   The port type is a string (delimited by either the
-       operator or the colon character).  The operator may be any
-       combination  of  "&gt;", "&lt;", "@", and "!"; "&gt;" means greater
-       than, "&lt;" means less than, "@"  means  equal  to  and  "!"
-       inverts the sense of the test.  The baud rate is specified
-       as a number and is compared with the speed of the standard
-       error  output (which should be the control terminal).  The
-       terminal type is a string.
+       The argument to the <STRONG>-m</STRONG> option consists of an  optional  port  type,  an
+       optional  operator,  an  optional  baud rate specification, an optional
+       colon (":") character and a terminal type.  The port type is  a  string
+       (delimited  by  either  the  operator  or  the  colon  character).  The
+       operator may be any combination of "&gt;", "&lt;", "@", and  "!";  "&gt;"  means
+       greater  than,  "&lt;" means less than, "@" means equal to and "!" inverts
+       the sense of the test.  The baud rate is specified as a number  and  is
+       compared  with  the speed of the standard error output (which should be
+       the control terminal).  The terminal type is a string.
 
-       If the terminal type is not specified on the command line,
-       the  <STRONG>-m</STRONG> mappings are applied to the terminal type.  If the
-       port type and baud rate match the  mapping,  the  terminal
-       type  specified  in the mapping replaces the current type.
-       If more than one mapping is specified, the first  applica-
-       ble mapping is used.
+       If the terminal type is not specified  on  the  command  line,  the  <STRONG>-m</STRONG>
+       mappings  are  applied to the terminal type.  If the port type and baud
+       rate match the mapping, the terminal  type  specified  in  the  mapping
+       replaces  the current type.  If more than one mapping is specified, the
+       first applicable mapping is used.
 
-       For    example,    consider    the    following   mapping:
-       <STRONG>dialup&gt;9600:vt100</STRONG>.  The port type is dialup , the operator
-       is  &gt;, the baud rate specification is 9600, and the termi-
-       nal type is vt100.  The result of this mapping is to spec-
-       ify that if the terminal type is <STRONG>dialup</STRONG>, and the baud rate
-       is greater than 9600 baud, a terminal type of  <STRONG>vt100</STRONG>  will
-       be used.
+       For example, consider the following  mapping:  <STRONG>dialup&gt;9600:vt100</STRONG>.   The
+       port type is dialup , the operator is &gt;, the baud rate specification is
+       9600, and the terminal type is vt100.  The result of this mapping is to
+       specify  that  if  the  terminal  type  is <STRONG>dialup</STRONG>, and the baud rate is
+       greater than 9600 baud, a terminal type of <STRONG>vt100</STRONG> will be used.
 
-       If no baud rate is specified, the terminal type will match
-       any baud rate.  If no port type is specified, the terminal
-       type   will   match   any  port  type.   For  example,  <STRONG>-m</STRONG>
-       <STRONG>dialup:vt100</STRONG>  <STRONG>-m</STRONG>  <STRONG>:?xterm</STRONG>  will  cause  any  dialup  port,
-       regardless of baud rate, to match the terminal type vt100,
-       and any non-dialup port type to match  the  terminal  type
-       ?xterm.   Note,  because of the leading question mark, the
-       user will be queried on a default port as to whether  they
-       are actually using an xterm terminal.
+       If no baud rate is specified, the terminal type  will  match  any  baud
+       rate.   If  no port type is specified, the terminal type will match any
+       port type.  For example, <STRONG>-m</STRONG> <STRONG>dialup:vt100</STRONG>  <STRONG>-m</STRONG>  <STRONG>:?xterm</STRONG>  will  cause  any
+       dialup port, regardless of baud rate, to match the terminal type vt100,
+       and any non-dialup port type to match the terminal type ?xterm.   Note,
+       because  of  the  leading  question mark, the user will be queried on a
+       default port as to whether they are actually using an xterm terminal.
 
-       No  whitespace  characters  are permitted in the <STRONG>-m</STRONG> option
-       argument.  Also, to avoid problems  with  meta-characters,
-       it  is  suggested  that  the  entire <STRONG>-m</STRONG> option argument be
-       placed within single quote characters, and that <STRONG>csh</STRONG>  users
-       insert  a backslash character ("\") before any exclamation
-       marks ("!").
+       No whitespace characters are  permitted  in  the  <STRONG>-m</STRONG>  option  argument.
+       Also,  to avoid problems with meta-characters, it is suggested that the
+       entire <STRONG>-m</STRONG> option argument be placed within single quote characters, and
+       that   <EM>csh</EM>   users  insert  a  backslash  character  ("\")  before  any
+       exclamation marks ("!").
 
 
-</PRE>
-<H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
-       The <STRONG>tset</STRONG> command appeared in BSD 3.0.  The <STRONG>ncurses</STRONG>  imple-
-       mentation  was lightly adapted from the 4.4BSD sources for
-       a terminfo environment by Eric S. Raymond &lt;esr@snark.thyr-
-       sus.com&gt;.
+</PRE><H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE>
+       The options are as follows:
+
+       <STRONG>-c</STRONG>   Set control characters and modes.
+
+       <STRONG>-e</STRONG> <EM>ch</EM>
+            Set the erase character to <EM>ch</EM>.
+
+       <STRONG>-I</STRONG>   Do not send the terminal or  tab  initialization  strings  to  the
+            terminal.
+
+       <STRONG>-i</STRONG> <EM>ch</EM>
+            Set the interrupt character to <EM>ch</EM>.
+
+       <STRONG>-k</STRONG> <EM>ch</EM>
+            Set the line kill character to <EM>ch</EM>.
+
+       <STRONG>-m</STRONG> <EM>mapping</EM>
+            Specify  a  mapping from a port type to a terminal; see subsection
+            "Terminal Type Mapping".
+
+       <STRONG>-Q</STRONG>   Do not display any values for the erase, interrupt and  line  kill
+            characters.    Normally  <STRONG>tset</STRONG>  displays  the  values  for  control
+            characters which differ from the system's default values.
+
+       <STRONG>-q</STRONG>   The terminal type is displayed to the  standard  output,  and  the
+            terminal  is not initialized in any way.  The option "-" by itself
+            is equivalent but archaic.
+
+       <STRONG>-r</STRONG>   Print the terminal type to the standard error output.
+
+       <STRONG>-s</STRONG>   Print the sequence of shell commands to initialize the environment
+            variable  <EM>TERM</EM> to the standard output; see subsection "Setting the
+            Environment".
+
+       <STRONG>-V</STRONG>   reports the version of <EM>ncurses</EM> which was used in this program, and
+            exits.
+
+       <STRONG>-w</STRONG>   Resize  the  window  to  match the size deduced via <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>.
+            Normally this has no effect,  unless  <STRONG>setupterm</STRONG>  is  not  able  to
+            detect the window size.
+
+       The  arguments  for the <STRONG>-e</STRONG>, <STRONG>-i</STRONG>, and <STRONG>-k</STRONG> options may either be entered as
+       actual characters or by using the "hat" notation, i.e.,  control-h  may
+       be specified as "^H" or "^h".
+
+       If neither <STRONG>-c</STRONG> or <STRONG>-w</STRONG> is given, both options are assumed.
 
 
-</PRE>
-<H2><a name="h2-COMPATIBILITY">COMPATIBILITY</a></H2><PRE>
-       The  <STRONG>tset</STRONG>  utility has been provided for backward-compati-
-       bility with BSD environments (under  most  modern  UNIXes,
-       <STRONG>/etc/inittab</STRONG>  and  <STRONG>getty(1)</STRONG> can set <STRONG>TERM</STRONG> appropriately for
-       each dial-up line; this  obviates  what  was  <STRONG>tset</STRONG>'s  most
-       important  use).   This implementation behaves like 4.4BSD
-       tset, with a few exceptions specified here.
-
-       The <STRONG>-S</STRONG> option of BSD tset no longer works;  it  prints  an
-       error message to stderr and dies.  The <STRONG>-s</STRONG> option only sets
-       <STRONG>TERM</STRONG>, not <STRONG>TERMCAP</STRONG>.  Both of these changes are because  the
-       <STRONG>TERMCAP</STRONG>  variable  is  no longer supported under terminfo-
-       based <STRONG>ncurses</STRONG>, which makes <STRONG>tset</STRONG> <STRONG>-S</STRONG> useless (we made it die
-       noisily rather than silently induce lossage).
-
-       There  was  an  undocumented  4.4BSD feature that invoking
-       tset via a link named `TSET` (or via any other name begin-
-       ning  with  an  upper-case letter) set the terminal to use
-       upper-case only.  This feature has been omitted.
-
-       The <STRONG>-A</STRONG>, <STRONG>-E</STRONG>, <STRONG>-h</STRONG>, <STRONG>-u</STRONG> and <STRONG>-v</STRONG> options were  deleted  from  the
-       <STRONG>tset</STRONG>  utility  in 4.4BSD.  None of them were documented in
-       4.3BSD and all are of limited utility at  best.   The  <STRONG>-a</STRONG>,
-       <STRONG>-d</STRONG>, and <STRONG>-p</STRONG> options are similarly not documented or useful,
-       but were retained as they appear to be in widespread  use.
-       It  is  strongly recommended that any usage of these three
-       options be changed to use the <STRONG>-m</STRONG> option instead.   The  <STRONG>-n</STRONG>
-       option  remains, but has no effect.  The <STRONG>-adnp</STRONG> options are
-       therefore omitted from the usage summary above.
-
-       It is still permissible to specify  the  <STRONG>-e</STRONG>,  <STRONG>-i</STRONG>,  and  <STRONG>-k</STRONG>
-       options  without arguments, although it is strongly recom-
-       mended that such usage be fixed to explicitly specify  the
-       character.
-
-       As  of  4.4BSD,  executing <STRONG>tset</STRONG> as <STRONG>reset</STRONG> no longer implies
-       the <STRONG>-Q</STRONG> option.  Also, the interaction between the - option
-       and the <EM>terminal</EM> argument in some historic implementations
-       of <STRONG>tset</STRONG> has been removed.
-
-
-</PRE>
-<H2><a name="h2-ENVIRONMENT">ENVIRONMENT</a></H2><PRE>
+</PRE><H2><a name="h2-ENVIRONMENT">ENVIRONMENT</a></H2><PRE>
        The <STRONG>tset</STRONG> command uses these environment variables:
 
-       SHELL
-            tells <STRONG>tset</STRONG> whether to initialize <STRONG>TERM</STRONG> using <STRONG>sh</STRONG> or <STRONG>csh</STRONG>
+       <EM>SHELL</EM>
+            tells  <STRONG>tset</STRONG>  whether  to  initialize  <EM>TERM</EM>  using  <STRONG>sh(1)</STRONG> or <STRONG>csh(1)</STRONG>
             syntax.
 
-       TERM Denotes  your  terminal  type.  Each terminal type is
-            distinct, though many are similar.
+       <EM>TERM</EM> Denotes your terminal  type.   Each  terminal  type  is  distinct,
+            though many are similar.
 
-       TERMCAP
-            may denote the location of a termcap database.  If it
-            is not an absolute pathname, e.g., begins with a `/',
-            <STRONG>tset</STRONG> removes the variable from the environment before
-            looking for the terminal description.
+       <EM>TERMCAP</EM>
+            may  denote  the  location of a termcap database.  If it is not an
+            absolute pathname, e.g., begins  with  a  "/",  <STRONG>tset</STRONG>  removes  the
+            variable  from  the  environment  before  looking for the terminal
+            description.
 
 
-</PRE>
-<H2><a name="h2-FILES">FILES</a></H2><PRE>
-       /etc/ttys
-            system  port  name  to terminal type mapping database
-            (BSD versions only).
+</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
+       <EM>/etc/ttys</EM>
+              system port name to terminal type mapping database (BSD versions
+              only).
 
-       /usr/share/terminfo
-            terminal capability database
+       <EM>/usr/share/terminfo</EM>
+              compiled terminal description database directory
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG>csh(1)</STRONG>,   <STRONG>sh(1)</STRONG>,   <STRONG>stty(1)</STRONG>,   <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>,   <STRONG>tty(4)</STRONG>,
-       <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG>ttys(5)</STRONG>, <STRONG>environ(7)</STRONG>
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       Neither  IEEE  Std  1003.1/The  Open  Group Base Specifications Issue 7
+       (POSIX.1-2008) nor X/Open Curses Issue 7 documents <STRONG>tset</STRONG> or <STRONG>reset</STRONG>.
 
-       This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20150808).
+       The AT&amp;T <STRONG>tput</STRONG> utility (AIX, HP-UX, Solaris) incorporated the  terminal-
+       mode  manipulation  as well as termcap-based features such as resetting
+       tabstops from <STRONG>tset</STRONG> in BSD (4.1c),  presumably  with  the  intention  of
+       making  <STRONG>tset</STRONG>  obsolete.   However, each of those systems still provides
+       <STRONG>tset</STRONG>.  In fact, the commonly-used <STRONG>reset</STRONG> utility is always an alias  for
+       <STRONG>tset</STRONG>.
+
+       The <STRONG>tset</STRONG> utility provides backward compatibility with BSD environments;
+       under most modern  Unices,  <EM>/etc/inittab</EM>  and  <STRONG>getty(8)</STRONG>  can  set  <EM>TERM</EM>
+       appropriately  for  each  dial-up  line, obviating what was <STRONG>tset</STRONG>'s most
+       important use.  This implementation behaves like 4.4BSD  <STRONG>tset</STRONG>,  with  a
+       few exceptions we shall consider now.
+
+       A  few  options are different because the <EM>TERMCAP</EM> variable is no longer
+       supported under terminfo-based <EM>ncurses</EM>:
+
+       <STRONG>o</STRONG>   The <STRONG>-S</STRONG> option of BSD <STRONG>tset</STRONG> no  longer  works;  it  prints  an  error
+           message to the standard error and dies.
+
+       <STRONG>o</STRONG>   The <STRONG>-s</STRONG> option only sets <EM>TERM</EM>, not <EM>TERMCAP</EM>.
+
+       There  was an undocumented 4.4BSD feature that invoking <STRONG>tset</STRONG> via a link
+       named "TSET" (or via  any  other  name  beginning  with  an  upper-case
+       letter) set the terminal to use upper-case only.  This feature has been
+       omitted.
+
+       The <STRONG>-A</STRONG>, <STRONG>-E</STRONG>, <STRONG>-h</STRONG>, <STRONG>-u</STRONG> and <STRONG>-v</STRONG> options were deleted from the <STRONG>tset</STRONG> utility in
+       4.4BSD.   None of them were documented in 4.3BSD and all are of limited
+       utility at best.   The  <STRONG>-a</STRONG>,  <STRONG>-d</STRONG>,  and  <STRONG>-p</STRONG>  options  are  similarly  not
+       documented  or  useful,  but  were  retained  as  they  appear to be in
+       widespread use.  It is strongly recommended that  any  usage  of  these
+       three options be changed to use the <STRONG>-m</STRONG> option instead.  The <STRONG>-a</STRONG>, <STRONG>-d</STRONG>, and
+       <STRONG>-p</STRONG> options are therefore omitted from the usage summary above.
+
+       Very old systems, e.g., 3BSD, used a different  terminal  driver  which
+       was  replaced  in  4BSD in the early 1980s.  To accommodate these older
+       systems, the 4BSD <STRONG>tset</STRONG> provided a <STRONG>-n</STRONG> option to  specify  that  the  new
+       terminal  driver  should be used.  This implementation does not provide
+       that choice.
+
+       It is still permissible to specify the <STRONG>-e</STRONG>, <STRONG>-i</STRONG>, and <STRONG>-k</STRONG>  options  without
+       arguments, although it is strongly recommended that such usage be fixed
+       to explicitly specify the character.
+
+       As of 4.4BSD, executing <STRONG>tset</STRONG> as <STRONG>reset</STRONG> no longer implies the <STRONG>-Q</STRONG>  option.
+       Also, the interaction between the - option and the <EM>terminal</EM> argument in
+       some historic implementations of <STRONG>tset</STRONG> has been removed.
+
+       The <STRONG>-c</STRONG> and  <STRONG>-w</STRONG>  options  are  not  found  in  earlier  implementations.
+       However, a different window size-change feature was provided in 4.4BSD.
+
+       <STRONG>o</STRONG>   In  4.4BSD,  <STRONG>tset</STRONG> uses the window size from the termcap description
+           to set the window size if <STRONG>tset</STRONG> is not able  to  obtain  the  window
+           size from the operating system.
+
+       <STRONG>o</STRONG>   In <EM>ncurses</EM>, <STRONG>tset</STRONG> obtains the window size using <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>, which
+           may be from the operating system, the <EM>LINES</EM> and <EM>COLUMNS</EM> environment
+           variables or the terminal description.
+
+       Obtaining  the window size from a terminal's type description is common
+       to  both  implementations,  but  considered  obsolescent.    Its   only
+       practical  use  is  for hardware terminals.  Generally, the window size
+       will remain uninitialized only if there were a  problem  obtaining  the
+       value  from the operating system (and <STRONG>setupterm</STRONG> would still fail).  The
+       <EM>LINES</EM> and <EM>COLUMNS</EM> environment variables may thus be useful for  working
+       around  window-size  problems, but have the drawback that if the window
+       is resized, their  values  must  be  recomputed  and  reassigned.   The
+       <STRONG>resize(1)</STRONG> program distributed with <STRONG>xterm(1)</STRONG> assists this activity.
+
+
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+       A  <STRONG>reset</STRONG>  command written by Kurt Shoens appeared in 1BSD (March 1978).
+       It  set  the  <EM>erase</EM>  and  <EM>kill</EM>  characters  to  <STRONG>^H</STRONG>  (backspace)  and  <STRONG>@</STRONG>
+       respectively.   Mark Horton improved this <STRONG>reset</STRONG> in 3BSD (October 1979),
+       adding <EM>intr</EM>, <EM>quit</EM>, <EM>start</EM>/<EM>stop</EM>, and <EM>eof</EM> characters as well  as  changing
+       the  program  to  avoid  modifying  any user settings.  That version of
+       <STRONG>reset</STRONG> did not use <EM>termcap</EM>.
+
+       Eric Allman wrote a distinct <STRONG>tset</STRONG> command for 1BSD, using a  forerunner
+       of  <EM>termcap</EM>  called  <EM>ttycap</EM>.   Allman's  comments  in  the  source code
+       indicate that he began work in  October  1977,  continuing  development
+       over  the next few years.  By late 1979, it had migrated to <EM>termcap</EM> and
+       handled the <EM>TERMCAP</EM> variable.  Later comments indicate  that  <STRONG>tset</STRONG>  was
+       modified  in  September  1980 to use logic copied from the 3BSD "reset"
+       program when it  was  invoked  as  <STRONG>reset</STRONG>.   This  version  appeared  in
+       4.1cBSD,  late  in 1982.  Other developers such as Keith Bostic and Jim
+       Bloom continued to modify <STRONG>tset</STRONG> until 4.4BSD was released in 1993.
+
+       The <EM>ncurses</EM> implementation was lightly adapted from the 4.4BSD  sources
+       to use the <EM>terminfo</EM> API by Eric S. Raymond &lt;esr@snark.thyrsus.com&gt;.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG>csh(1)</STRONG>,   <STRONG>sh(1)</STRONG>,   <STRONG>stty(1)</STRONG>,   <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>,  <STRONG>tty(4)</STRONG>,  <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>,
+       <STRONG>ttys(5)</STRONG>, <STRONG>environ(7)</STRONG>
 
 
 
-                                                                <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
+ncurses 6.5                       2024-04-27                           <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
 <li><a href="#h2-NAME">NAME</a></li>
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
-<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
-<li><a href="#h2-SETTING-THE-ENVIRONMENT">SETTING THE ENVIRONMENT</a></li>
-<li><a href="#h2-TERMINAL-TYPE-MAPPING">TERMINAL TYPE MAPPING</a></li>
-<li><a href="#h2-HISTORY">HISTORY</a></li>
-<li><a href="#h2-COMPATIBILITY">COMPATIBILITY</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-tset----initialization">tset -- initialization</a></li>
+<li><a href="#h3-reset----reinitialization">reset -- reinitialization</a></li>
+<li><a href="#h3-Setting-the-Environment">Setting the Environment</a></li>
+<li><a href="#h3-Terminal-Type-Mapping">Terminal Type Mapping</a></li>
+</ul>
+</li>
+<li><a href="#h2-OPTIONS">OPTIONS</a></li>
 <li><a href="#h2-ENVIRONMENT">ENVIRONMENT</a></li>
 <li><a href="#h2-FILES">FILES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>
diff --git a/doc/html/man/user_caps.5.html b/doc/html/man/user_caps.5.html
new file mode 100644
index 0000000..10b6f77
--- /dev/null
+++ b/doc/html/man/user_caps.5.html
@@ -0,0 +1,425 @@
+<!--
+  * t
+  ****************************************************************************
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 2017 Free Software Foundation, Inc.                            *
+  *                                                                          *
+  * Permission is hereby granted, free of charge, to any person obtaining a  *
+  * copy of this software and associated documentation files (the            *
+  * "Software"), to deal in the Software without restriction, including      *
+  * without limitation the rights to use, copy, modify, merge, publish,      *
+  * distribute, distribute with modifications, sublicense, and/or sell       *
+  * copies of the Software, and to permit persons to whom the Software is    *
+  * furnished to do so, subject to the following conditions:                 *
+  *                                                                          *
+  * The above copyright notice and this permission notice shall be included  *
+  * in all copies or substantial portions of the Software.                   *
+  *                                                                          *
+  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+  * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+  * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+  * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+  * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+  *                                                                          *
+  * Except as contained in this notice, the name(s) of the above copyright   *
+  * holders shall not be used in advertising or otherwise to promote the     *
+  * sale, use or other dealings in this Software without prior written       *
+  * authorization.                                                           *
+  ****************************************************************************
+  * @Id: user_caps.5,v 1.49 2024/03/16 15:35:01 tom Exp @
+-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<HTML>
+<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>user_caps 5 2024-03-16 ncurses 6.5 File formats</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+</HEAD>
+<BODY>
+<H1 class="no-header">user_caps 5 2024-03-16 ncurses 6.5 File formats</H1>
+<PRE>
+<STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>                     File formats                     <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
+
+
+
+
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       user_caps - user-defined <EM>terminfo</EM> capability format
+
+
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+       <STRONG>infocmp</STRONG> <STRONG>-x</STRONG>
+
+       <STRONG>tic</STRONG> <STRONG>-x</STRONG>
+
+
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+
+</PRE><H3><a name="h3-Background">Background</a></H3><PRE>
+       Before  <EM>ncurses</EM>  5.0,  terminfo  databases  used  a <EM>fixed</EM> <EM>repertoire</EM> of
+       terminal capabilities designed for the SVr2 terminal database in  1984,
+       and  extended  in  stages  through SVr4 (1989), and standardized in the
+       Single Unix Specification beginning in 1995.
+
+       Most of the <EM>extensions</EM> in this fixed repertoire were additions  to  the
+       tables of Boolean, numeric and string capabilities.  Rather than change
+       the meaning of an existing capability,  a  new  name  was  added.   The
+       terminfo  database  uses  a  binary  format;  binary  compatibility was
+       ensured by using a header which gave the number of items in the  tables
+       for each type of capability.  The standardization was incomplete:
+
+       <STRONG>o</STRONG>   The  <EM>binary</EM>  <EM>format</EM>  itself  is  not described in the X/Open Curses
+           documentation.  Only the <EM>source</EM> <EM>format</EM> is described.
+
+           Library developers rely upon the SVr4 documentation,  and  reverse-
+           engineering the compiled terminfo files to match the binary format.
+
+       <STRONG>o</STRONG>   Lacking a standard for the binary format, most implementations copy
+           the SVr2 binary format, which uses 16-bit signed integers,  and  is
+           limited to 4096-byte entries.
+
+           The  format  cannot  represent very large numeric capabilities, nor
+           can it represent large numbers of special keyboard definitions.
+
+       <STRONG>o</STRONG>   The tables of capability names differ between implementations.
+
+           Although they <EM>may</EM> provide all of the standard capability names, the
+           position  in the tables differs because some features were added as
+           needed, while others were added  (out  of  order)  to  comply  with
+           X/Open Curses.
+
+           While  <EM>ncurses</EM>' repertoire of predefined capabilities is closest to
+           Solaris, Solaris's terminfo database has a few differences from the
+           list  published  by  X/Open  Curses.   For  example, <EM>ncurses</EM> can be
+           configured with tables which match the terminal databases for  AIX,
+           HP-UX or OSF/1, rather than the default Solaris-like configuration.
+
+       <STRONG>o</STRONG>   In  SVr4  curses  and  <EM>ncurses</EM>, the terminal database is defined at
+           compile-time using a text file which lists the  different  terminal
+           capabilities.
+
+           In  principle,  the  text-file  can  be  extended,  but  doing this
+           requires recompiling and reinstalling the library.   The  text-file
+           used  in  <EM>ncurses</EM>  for  terminal  capabilities includes details for
+           various systems past the documented X/Open  Curses  features.   For
+           example, <EM>ncurses</EM> supports these capabilities in each configuration:
+
+               memory_lock
+                    (meml) lock memory above cursor
+
+               memory_unlock
+                    (memu) unlock memory
+
+               box_chars_1
+                    (box1) box characters primary set
+
+           The memory lock/unlock capabilities were included because they were
+           used in the X11R6 terminal  description  for  <STRONG>xterm(1)</STRONG>.   The  <EM>box1</EM>
+           capability  is  used  in  tic  to  help  with terminal descriptions
+           written for AIX.
+
+       During the 1990s, some users were reluctant to use terminfo in spite of
+       its performance advantages over termcap:
+
+       <STRONG>o</STRONG>   The  fixed  repertoire  prevented  users  from  adding features for
+           unanticipated terminal improvements  (or  required  them  to  reuse
+           existing capabilities as a workaround).
+
+       <STRONG>o</STRONG>   The  limitation  to  16-bit  signed  integers  was  also mentioned.
+           Because termcap stores everything as a string, it  could  represent
+           larger numbers.
+
+       Although  termcap's  extensibility  was  rarely  used (it was never the
+       <EM>speaker</EM> who had actually used the feature), the criticism had a  point.
+       <EM>ncurses</EM>   5.0  provided  a  way  to  detect  nonstandard  capabilities,
+       determine their type and optionally store and retrieve them  in  a  way
+       which did not interfere with other applications.  These are referred to
+       as <EM>user-defined</EM> <EM>capabilities</EM> because no modifications to the  toolset's
+       predefined capability names are needed.
+
+       The  <EM>ncurses</EM>  utilities <STRONG>tic</STRONG> and <STRONG>infocmp</STRONG> have a command-line option "-x"
+       to  control  whether  the  nonstandard  capabilities  are   stored   or
+       retrieved.   A  library function <STRONG>use_extended_names</STRONG> is provided for the
+       same purpose.
+
+       When compiling a terminal database, if "-x" is set, <STRONG>tic</STRONG>  will  store  a
+       user-defined  capability  if  the  capability  name  is  not one of the
+       predefined names.
+
+       Because <EM>ncurses</EM> provides  a  termcap  library  interface,  these  user-
+       defined capabilities may be visible to termcap applications:
+
+       <STRONG>o</STRONG>   The   termcap  interface  (like  all  implementations  of  termcap)
+           requires that the capability names are 2-characters.
+
+           When  the  capability  is  simple  enough  for  use  in  a  termcap
+           application, it is provided as a 2-character name.
+
+       <STRONG>o</STRONG>   There  are  other user-defined capabilities which refer to features
+           not usable in termcap, e.g., parameterized strings  that  use  more
+           than two parameters or use more than the trivial expression support
+           provided by termcap.  For these, the terminfo database should  have
+           only capability names with 3 or more characters.
+
+       <STRONG>o</STRONG>   Some terminals can send distinct strings for special keys (cursor-,
+           keypad-  or  function-keys)  depending  on  modifier  keys  (shift,
+           control,  etc.).   While  terminfo  and  termcap  have  a set of 60
+           predefined function-key names, to which a series  of  keys  can  be
+           assigned,   that  is  insufficient  for  more  than  a  dozen  keys
+           multiplied by more than a couple  of  modifier  combinations.   The
+           <EM>ncurses</EM>  database  uses  a  convention based on <STRONG>xterm(1)</STRONG> to provide
+           extended special-key names.
+
+           Fitting that into termcap's limitation of 2-character  names  would
+           be   pointless.   These  extended  keys  are  available  only  with
+           terminfo.
+
+
+</PRE><H3><a name="h3-Recognized-Capabilities">Recognized Capabilities</a></H3><PRE>
+       The <EM>ncurses</EM> library uses the user-definable  capabilities.   While  the
+       terminfo  database  may  have  other extensions, <EM>ncurses</EM> makes explicit
+       checks for these:
+
+          AX <EM>Boolean</EM>, asserts that the terminal interprets SGR 39 and  SGR  49
+             by  resetting  the foreground and background color, respectively,
+             to the default.
+
+             This is a feature recognized by the <STRONG>screen</STRONG> program as well.
+
+          E3 <EM>string</EM>, tells how to  clear  the  terminal's  scrollback  buffer.
+             When present, the <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG> program sends this before clearing the
+             terminal.
+
+             The command "<STRONG>tput</STRONG> <STRONG>clear</STRONG>" does the same thing.
+
+          NQ <EM>Boolean</EM>, used to suppress a consistency  check  in  tic  for  the
+             <EM>ncurses</EM>  capabilities  in user6 through user9 (u6, u7, u8 and u9)
+             which tell how to query the terminal's cursor  position  and  its
+             device attributes.
+
+          RGB
+             <EM>Boolean</EM>,   <EM>number</EM>   <STRONG>or</STRONG>   <EM>string</EM>,   used   to   assert   that  the
+             <STRONG>set_a_foreground</STRONG> and <STRONG>set_a_background</STRONG> capabilities correspond  to
+             <EM>direct</EM>  <EM>colors</EM>,  using  an RGB (red/green/blue) convention.  This
+             capability  allows   the   <STRONG>color_content</STRONG>   function   to   return
+             appropriate   values   without   requiring   the  application  to
+             initialize colors using <STRONG>init_color</STRONG>.
+
+             The capability type determines the values which <EM>ncurses</EM> sees:
+
+             <EM>Boolean</EM>
+                implies that the number of bits for red, green  and  blue  are
+                the  same.   Using  the maximum number of colors, <EM>ncurses</EM> adds
+                two, divides that sum by three, and assigns the result to red,
+                green and blue in that order.
+
+                If the number of bits needed for the number of colors is not a
+                multiple of three, the blue (and  green)  components  lose  in
+                comparison to red.
+
+             <EM>number</EM>
+                tells  <EM>ncurses</EM>  what result to add to red, green and blue.  If
+                <EM>ncurses</EM> runs out of bits, blue (and green) lose just as in the
+                <EM>Boolean</EM> case.
+
+             <EM>string</EM>
+                explicitly  list  the  number  of bits used for red, green and
+                blue components as a slash-separated list of decimal integers.
+
+             Because there are several  RGB  encodings  in  use,  applications
+             which  make  assumptions  about  the number of bits per color are
+             unlikely to work reliably.  As a trivial case, for  example,  one
+             could  define  <STRONG>RGB#1</STRONG> to represent the standard eight ANSI colors,
+             i.e., one bit per color.
+
+          U8 <EM>number</EM>, asserts that <EM>ncurses</EM> must use Unicode  values  for  line-
+             drawing  characters,  and  that  it  should  ignore the alternate
+             character set capabilities when the locale uses  UTF-8  encoding.
+             For  more  information, see the discussion of <STRONG>NCURSES_NO_UTF8_ACS</STRONG>
+             in <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.
+
+             Set this capability to a nonzero value to enable it.
+
+          XM <EM>string</EM>, override <EM>ncurses</EM>'s built-in string which enables/disables
+             <STRONG>xterm(1)</STRONG> mouse mode.
+
+             <EM>ncurses</EM>  sends a character sequence to the terminal to initialize
+             mouse mode, and when the user clicks the  mouse  buttons  or  (in
+             certain  modes) moves the mouse, handles the characters sent back
+             by the terminal to tell it what was done with the mouse.
+
+             The mouse protocol  is  enabled  when  the  <EM>mask</EM>  passed  in  the
+             <STRONG>mousemask</STRONG>  function  is nonzero.  By default, <EM>ncurses</EM> handles the
+             responses for the X11 xterm mouse protocol.  It also knows  about
+             the  <EM>SGR</EM>  <EM>1006</EM>  xterm mouse protocol, but must to be told to look
+             for this specifically.  It will not be able to guess  which  mode
+             is  used,  because  the  responses  are  enough  alike  that only
+             confusion would result.
+
+             The <STRONG>XM</STRONG> capability has a single parameter.  If nonzero, the  mouse
+             protocol  should  be enabled.  If zero, the mouse protocol should
+             be disabled.  <EM>ncurses</EM> inspects this capability if it is  present,
+             to  see whether the 1006 protocol is used.  If so, it expects the
+             responses to use the <EM>SGR</EM> <EM>1006</EM> xterm mouse protocol.
+
+             The xterm mouse protocol is used  by  other  terminal  emulators.
+             The  terminal database uses building-blocks for the various xterm
+             mouse  protocols  which  can  be  used  in  customized   terminal
+             descriptions.
+
+             The terminal database building blocks for this mouse feature also
+             have  an  experimental  capability  <EM>xm</EM>.   The   "xm"   capability
+             describes  the mouse response.  Currently there is no interpreter
+             which would use  this  information  to  make  the  mouse  support
+             completely data-driven.
+
+             <EM>xm</EM> shows the format of the mouse responses.  In this experimental
+             capability, the parameters are
+
+               <EM>p1</EM>   y-ordinate
+
+               <EM>p2</EM>   x-ordinate
+
+               <EM>p3</EM>   button
+
+               <EM>p4</EM>   state, e.g., pressed or released
+
+               <EM>p5</EM>   y-ordinate starting region
+
+               <EM>p6</EM>   x-ordinate starting region
+
+               <EM>p7</EM>   y-ordinate ending region
+
+               <EM>p8</EM>   x-ordinate ending region
+
+             Here are  examples  from  the  terminal  database  for  the  most
+             commonly used xterm mouse protocols:
+
+               xterm+x11mouse|X11 xterm mouse protocol,
+                       kmous=\E[M, XM=\E[?1000%?%p1%{1}%=%th%el%;,
+                       xm=\E[M
+                          %?%p4%t%p3%e%{3}%;%' '%+%c
+                          %p2%'!'%+%c
+                          %p1%'!'%+%c,
+
+               xterm+sm+1006|xterm SGR-mouse,
+                       kmous=\E[&lt;, XM=\E[?1006;1000%?%p1%{1}%=%th%el%;,
+                       xm=\E[&lt;%i%p3%d;
+                          %p1%d;
+                          %p2%d;
+                          %?%p4%tM%em%;,
+
+
+</PRE><H3><a name="h3-Extended-Key-Definitions">Extended Key Definitions</a></H3><PRE>
+       Several  terminals  provide  the  ability  to send distinct strings for
+       combinations of modified special keys.  There is no standard  for  what
+       those keys can send.
+
+       Since  1999,  <STRONG>xterm(1)</STRONG>  has  supported  <EM>shift</EM>,  <EM>control</EM>,  <EM>alt</EM>, and <EM>meta</EM>
+       modifiers which produce distinct special-key strings.   In  a  terminal
+       description,  <EM>ncurses</EM>  has  no special knowledge of the modifiers used.
+       Applications can use the <EM>naming</EM> <EM>convention</EM>  established  for  <STRONG>xterm</STRONG>  to
+       find these special keys in the terminal description.
+
+       Starting  with  the  <EM>curses</EM> convention that capability codes describing
+       the input generated by a terminal's key caps begin with "k",  and  that
+       shifted  special  keys  use uppercase letters in their names, <EM>ncurses</EM>'s
+       terminal database defines the following names  and  codes  to  which  a
+       suffix is added.
+
+            <STRONG>Code</STRONG>   <STRONG>Description</STRONG>
+            -------------------------------------------------------------------
+            <STRONG>kDC</STRONG>    shifted kdch1 (delete character)
+            <STRONG>kDN</STRONG>    shifted kcud1 (cursor down)
+            <STRONG>kEND</STRONG>   shifted kend (end)
+            <STRONG>kHOM</STRONG>   shifted khome (home)
+            <STRONG>kLFT</STRONG>   shifted kcub1 (cursor back)
+            <STRONG>kNXT</STRONG>   shifted knext (next)
+            <STRONG>kPRV</STRONG>   shifted kprev (previous)
+            <STRONG>kRIT</STRONG>   shifted kcuf1 (cursor forward)
+            <STRONG>kUP</STRONG>    shifted kcuu1 (cursor up)
+
+       Keycap  nomenclature on the Unix systems for which <EM>curses</EM> was developed
+       differs from today's ubiquitous descendants of the IBM  PC/AT  keyboard
+       layout.  In the foregoing, interpret "backward" as "left", "forward" as
+       "right", "next" as "page down", and "prev(ious)" as "page up".
+
+       These are the suffixes used to denote the modifiers:
+
+            <STRONG>Value</STRONG>   <STRONG>Description</STRONG>
+            ----------------------------------
+            2       Shift
+            3       Alt
+            4       Shift + Alt
+            5       Control
+            6       Shift + Control
+            7       Alt + Control
+            8       Shift + Alt + Control
+            9       Meta
+            10      Meta + Shift
+            11      Meta + Alt
+            12      Meta + Alt + Shift
+            13      Meta + Ctrl
+            14      Meta + Ctrl + Shift
+            15      Meta + Ctrl + Alt
+            16      Meta + Ctrl + Alt + Shift
+
+       None of these are predefined; terminal descriptions can refer to  <EM>names</EM>
+       which <EM>ncurses</EM> will allocate at runtime to <EM>key-codes</EM>.  To use these keys
+       in an <EM>ncurses</EM> program, an application could do this:
+
+       <STRONG>o</STRONG>   using a list of extended key  <EM>names</EM>,  ask  <STRONG><A HREF="curs_terminfo.3x.html">tigetstr(3x)</A></STRONG>  for  their
+           values, and
+
+       <STRONG>o</STRONG>   given  the  list  of  values,  ask <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG> for the <EM>key-code</EM>
+           which would be returned for those keys by <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       The "-x" extension feature of <STRONG>tic</STRONG>  and  <STRONG>infocmp</STRONG>  has  been  adopted  in
+       NetBSD  curses.   That implementation stores user-defined capabilities,
+       but makes no use of these capabilities itself.
+
+
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Thomas E. Dickey
+       beginning with <EM>ncurses</EM> 5.0 (1999)
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>
+
+       The  terminal  database  section  <EM>NCURSES</EM>  <EM>USER-DEFINABLE</EM>  <EM>CAPABILITIES</EM>
+       summarizes  commonly-used  user-defined  capabilities which are used in
+       the terminal descriptions.  Some of those  features  are  mentioned  in
+       <STRONG>screen(1)</STRONG> or <STRONG>tmux(1)</STRONG>.
+
+       <EM>XTerm</EM>  <EM>Control</EM>  <EM>Sequences</EM>  provides further information on the <STRONG>xterm(1)</STRONG>
+       features that are used in these extended capabilities.
+
+
+
+ncurses 6.5                       2024-03-16                      <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
+</PRE>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-Background">Background</a></li>
+<li><a href="#h3-Recognized-Capabilities">Recognized Capabilities</a></li>
+<li><a href="#h3-Extended-Key-Definitions">Extended Key Definitions</a></li>
+</ul>
+</li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
+</BODY>
+</HTML>
diff --git a/doc/html/man/wresize.3x.html b/doc/html/man/wresize.3x.html
index 8e986cd..b224fd3 100644
--- a/doc/html/man/wresize.3x.html
+++ b/doc/html/man/wresize.3x.html
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc.              *
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2010,2015 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -27,77 +28,74 @@
   * authorization.                                                           *
   ****************************************************************************
   * Author: Thomas E. Dickey 1996
-  * @Id: wresize.3x,v 1.13 2010/12/04 18:40:45 tom Exp @
+  * @Id: wresize.3x,v 1.36 2024/03/16 15:35:01 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>wresize 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>wresize 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
 </HEAD>
 <BODY>
-<H1 class="no-header">wresize 3x</H1>
+<H1 class="no-header">wresize 3x 2024-03-16 ncurses 6.5 Library calls</H1>
 <PRE>
-<STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>                                                 <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>
+<STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>                      Library calls                     <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>
 
 
 
 
-</PRE>
-<H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <STRONG>wresize</STRONG> - resize a curses window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>wresize</STRONG> - resize a <EM>curses</EM> window
 
 
-</PRE>
-<H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
-       <STRONG>int</STRONG> <STRONG>wresize(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>lines,</STRONG> <STRONG>int</STRONG> <STRONG>columns);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wresize(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>lines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>columns</EM><STRONG>);</STRONG>
 
 
-</PRE>
-<H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-       This  is  an  extension to the curses library.  It reallo-
-       cates storage for an <STRONG>ncurses</STRONG> window to adjust  its  dimen-
-       sions  to  the  specified  values.  If either dimension is
-       larger than the  current  values,  the  window's  data  is
-       filled with blanks that have the current background rendi-
-       tion (as set by <STRONG>wbkgdset</STRONG>) merged into them.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       This  <EM>ncurses</EM>  extension  to  standard <EM>curses</EM> reallocates storage for a
+       <EM>curses</EM> window to adjust its dimensions to  the  specified  values.   If
+       either dimension is larger than its current value, the expanded part of
+       the window  is  filled  with  blanks  merged  with  current  background
+       rendition (as set by <STRONG><A HREF="curs_bkgd.3x.html">wbkgdset(3x)</A></STRONG>).
 
 
-</PRE>
-<H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       The function returns the integer <STRONG>ERR</STRONG> upon failure  and  <STRONG>OK</STRONG>
-       on success.  It will fail if either of the dimensions less
-       than or equal  to  zero,  or  if  an  error  occurs  while
-       (re)allocating memory for the window.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       <STRONG>wresize</STRONG>  returns  <STRONG>ERR</STRONG>  upon failure and <STRONG>OK</STRONG> on success.  It will fail if
+       either of the dimensions is less than or equal to zero, or if an  error
+       occurs while (re)allocating memory for the window.
 
 
-</PRE>
-<H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       The only restriction placed on the dimensions is that they
-       be greater than zero.  The dimensions are not compared  to
-       <STRONG>curses</STRONG>   screen   dimensions  to  simplify  the  logic  of
-       <STRONG>resizeterm</STRONG>.  The caller  must  ensure  that  the  window's
-       dimensions fit within the actual screen dimensions.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       The  only  restriction placed on the dimensions is that they be greater
+       than zero.  They are <EM>not</EM> compared to the <EM>curses</EM> screen dimensions; this
+       keeps  the logic of <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> simple.  The caller must ensure that
+       the window's dimensions fit within the actual screen dimensions.
 
 
-</PRE>
-<H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       It is not possible to resize windows with SVr4 <EM>curses</EM>.
+
+       <EM>ncurses</EM> introduced this extension in mid-1995.  NetBSD  <EM>curses</EM>  adopted
+       it in 2001, and <EM>PDCurses</EM> in 2003.
 
 
-</PRE>
-<H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
-       Thomas Dickey (from an equivalent function written in 1988
-       for BSD curses).
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Thomas  Dickey  (from  an  equivalent  function written in 1988 for BSD
+       <EM>curses</EM>).
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>
 
 
 
-                                                            <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>
+ncurses 6.5                       2024-03-16                       <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -106,8 +104,9 @@
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
 <li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
-<li><a href="#h2-AUTHOR">AUTHOR</a></li>
 </ul>
 </div>
 </BODY>
diff --git a/doc/html/ncurses-intro.html b/doc/html/ncurses-intro.html
index a6cd40c..1948502 100644
--- a/doc/html/ncurses-intro.html
+++ b/doc/html/ncurses-intro.html
@@ -1,8 +1,8 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <!--
-  $Id: ncurses-intro.html,v 1.46 2013/05/17 23:29:27 tom Exp $
+  $Id: ncurses-intro.html,v 1.57 2022/11/26 19:33:46 tom Exp $
   ****************************************************************************
-  * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc.              *
+  * Copyright 2019-2020,2022 Thomas E. Dickey                                *
+  * Copyright 2000-2013,2017 Free Software Foundation, Inc.                  *
   *                                                                          *
   * Permission is hereby granted, free of charge, to any person obtaining a  *
   * copy of this software and associated documentation files (the            *
@@ -29,408 +29,608 @@
   * authorization.                                                           *
   ****************************************************************************
 -->
-<HTML>
-<HEAD>
-<TITLE>Writing Programs with NCURSES</TITLE>
-<link rev="made" href="mailto:bugs-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<BODY>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<html>
+<head>
+  <meta name="generator" content=
+  "HTML Tidy for HTML5 for Linux version 5.6.0">
+  <title>Writing Programs with NCURSES</title>
+  <link rel="author" href="mailto:bugs-ncurses@gnu.org">
+  <meta http-equiv="Content-Type" content=
+  "text/html; charset=us-ascii">
+</head>
+<body>
+  <h1 class="no-header">Writing Programs with NCURSES</h1>
 
-<H1>Writing Programs with NCURSES</H1>
+  <h2>Writing Programs with NCURSES</h2>
 
-<BLOCKQUOTE>
-by Eric S. Raymond and Zeyd M. Ben-Halim<BR>
-updates since release 1.9.9e by Thomas Dickey
-</BLOCKQUOTE>
+  <blockquote>
+    by Eric S. Raymond and Zeyd M. Ben-Halim<br>
+    updates since release 1.9.9e by Thomas Dickey
+  </blockquote>
 
-<H1>Contents</H1>
-<UL>
-<LI><A HREF="#introduction">Introduction</A>
-<UL>
-<LI><A HREF="#history">A Brief History of Curses</A>
-<LI><A HREF="#scope">Scope of This Document</A>
-<LI><A HREF="#terminology">Terminology</A>
-</UL>
-<LI><A HREF="#curses">The Curses Library</A>
-<UL>
-<LI><A HREF="#overview">An Overview of Curses</A>
-<UL>
-<LI><A HREF="#compiling">Compiling Programs using Curses</A>
-<LI><A HREF="#updating">Updating the Screen</A>
-<LI><A HREF="#stdscr">Standard Windows and Function Naming Conventions</A>
-<LI><A HREF="#variables">Variables</A>
-</UL>
-<LI><A HREF="#using">Using the Library</A>
-<UL>
-<LI><A HREF="#starting">Starting up</A>
-<LI><A HREF="#output">Output</A>
-<LI><A HREF="#input">Input</A>
-<LI><A HREF="#formschars">Using Forms Characters</A>
-<LI><A HREF="#attributes">Character Attributes and Color</A>
-<LI><A HREF="#mouse">Mouse Interfacing</A>
-<LI><A HREF="#finishing">Finishing Up</A>
-</UL>
-<LI><A HREF="#functions">Function Descriptions</A>
-<UL>
-<LI><A HREF="#init">Initialization and Wrapup</A>
-<LI><A HREF="#flush">Causing Output to the Terminal</A>
-<LI><A HREF="#lowlevel">Low-Level Capability Access</A>
-<LI><A HREF="#debugging">Debugging</A>
-</UL>
-<LI><A HREF="#hints">Hints, Tips, and Tricks</A>
-<UL>
-<LI><A HREF="#caution">Some Notes of Caution</A>
-<LI><A HREF="#leaving">Temporarily Leaving ncurses Mode</A>
-<LI><A HREF="#xterm">Using <CODE>ncurses</CODE> under <CODE>xterm</CODE></A>
-<LI><A HREF="#screens">Handling Multiple Terminal Screens</A>
-<LI><A HREF="#testing">Testing for Terminal Capabilities</A>
-<LI><A HREF="#tuning">Tuning for Speed</A>
-<LI><A HREF="#special">Special Features of <CODE>ncurses</CODE></A>
-</UL>
-<LI><A HREF="#compat">Compatibility with Older Versions</A>
-<UL>
-<LI><A HREF="#refbug">Refresh of Overlapping Windows</A>
-<LI><A HREF="#backbug">Background Erase</A>
-</UL>
-<LI><A HREF="#xsifuncs">XSI Curses Conformance</A>
-</UL>
-<LI><A HREF="#panels">The Panels Library</A>
-<UL>
-<LI><A HREF="#pcompile">Compiling With the Panels Library</A>
-<LI><A HREF="#poverview">Overview of Panels</A>
-<LI><A HREF="#pstdscr">Panels, Input, and the Standard Screen</A>
-<LI><A HREF="#hiding">Hiding Panels</A>
-<LI><A HREF="#pmisc">Miscellaneous Other Facilities</A>
-</UL>
-<LI><A HREF="#menu">The Menu Library</A>
-<UL>
-<LI><A HREF="#mcompile">Compiling with the menu Library</A>
-<LI><A HREF="#moverview">Overview of Menus</A>
-<LI><A HREF="#mselect">Selecting items</A>
-<LI><A HREF="#mdisplay">Menu Display</A>
-<LI><A HREF="#mwindows">Menu Windows</A>
-<LI><A HREF="#minput">Processing Menu Input</A>
-<LI><A HREF="#mmisc">Miscellaneous Other Features</A>
-</UL>
-<LI><A HREF="#form">The Forms Library</A>
-<UL>
-<LI><A HREF="#fcompile">Compiling with the forms Library</A>
-<LI><A HREF="#foverview">Overview of Forms</A>
-<LI><A HREF="#fcreate">Creating and Freeing Fields and Forms</A>
-<LI><A HREF="#fattributes">Fetching and Changing Field Attributes</A>
-<UL>
-<LI><A HREF="#fsizes">Fetching Size and Location Data</A>
-<LI><A HREF="#flocation">Changing the Field Location</A>
-<LI><A HREF="#fjust">The Justification Attribute</A>
-<LI><A HREF="#fdispatts">Field Display Attributes</A>
-<LI><A HREF="#foptions">Field Option Bits</A>
-<LI><A HREF="#fstatus">Field Status</A>
-<LI><A HREF="#fuser">Field User Pointer</A>
-</UL>
-<LI><A HREF="#fdynamic">Variable-Sized Fields</A>
-<LI><A HREF="#fvalidation">Field Validation</A>
-<UL>
-<LI><A HREF="#ftype_alpha">TYPE_ALPHA</A>
-<LI><A HREF="#ftype_alnum">TYPE_ALNUM</A>
-<LI><A HREF="#ftype_enum">TYPE_ENUM</A>
-<LI><A HREF="#ftype_integer">TYPE_INTEGER</A>
-<LI><A HREF="#ftype_numeric">TYPE_NUMERIC</A>
-<LI><A HREF="#ftype_regexp">TYPE_REGEXP</A>
-</UL>
-<LI><A HREF="#fbuffer">Direct Field Buffer Manipulation</A>
-<LI><A HREF="#formattrs">Attributes of Forms</A>
-<LI><A HREF="#fdisplay">Control of Form Display</A>
-<LI><A HREF="#fdriver">Input Processing in the Forms Driver</A>
-<UL>
-<LI><A HREF="#fpage">Page Navigation Requests</A>
-<LI><A HREF="#ffield">Inter-Field Navigation Requests</A>
-<LI><A HREF="#fifield">Intra-Field Navigation Requests</A>
-<LI><A HREF="#fscroll">Scrolling Requests</A>
-<LI><A HREF="#fedit">Field Editing Requests</A>
-<LI><A HREF="#forder">Order Requests</A>
-<LI><A HREF="#fappcmds">Application Commands</A>
-</UL>
-<LI><A HREF="#fhooks">Field Change Hooks</A>
-<LI><A HREF="#ffocus">Field Change Commands</A>
-<LI><A HREF="#frmoptions">Form Options</A>
-<LI><A HREF="#fcustom">Custom Validation Types</A>
-<UL>
-<LI><A HREF="#flinktypes">Union Types</A>
-<LI><A HREF="#fnewtypes">New Field Types</A>
-<LI><A HREF="#fcheckargs">Validation Function Arguments</A>
-<LI><A HREF="#fcustorder">Order Functions For Custom Types</A>
-<LI><A HREF="#fcustprobs">Avoiding Problems</A>
-</UL>
-</UL>
-</UL>
+  <div class="nav">
+    <h2>Contents</h2>
 
-<HR>
-<H1><A NAME="introduction">Introduction</A></H1>
+    <ul>
+      <li>
+        <a href="#introduction">Introduction</a>
+        <ul>
+          <li><a href="#history">A Brief History of Curses</a></li>
 
-This document is an introduction to programming with <CODE>curses</CODE>. It is
-not an exhaustive reference for the curses Application Programming Interface
-(API); that role is filled by the <CODE>curses</CODE> manual pages.  Rather, it
-is intended to help C programmers ease into using the package. <P>
+          <li><a href="#scope">Scope of This Document</a></li>
 
-This document is aimed at C applications programmers not yet specifically
-familiar with ncurses.  If you are already an experienced <CODE>curses</CODE>
-programmer, you should nevertheless read the sections on
-<A HREF="#mouse">Mouse Interfacing</A>, <A HREF="#debugging">Debugging</A>,
-<A HREF="#compat">Compatibility with Older Versions</A>,
-and <A HREF="#hints">Hints, Tips, and Tricks</A>.  These will bring you up
-to speed on the special features and quirks of the <CODE>ncurses</CODE>
-implementation.  If you are not so experienced, keep reading. <P>
+          <li><a href="#terminology">Terminology</a></li>
+        </ul>
+      </li>
 
-The <CODE>curses</CODE> package is a subroutine library for
-terminal-independent screen-painting and input-event handling which
-presents a high level screen model to the programmer, hiding differences
-between terminal types and doing automatic optimization of output to change
-one screen full of text into another.  <CODE>Curses</CODE> uses terminfo, which
-is a database format that can describe the capabilities of thousands of
-different terminals. <P>
+      <li>
+        <a href="#curses">The Curses Library</a>
+        <ul>
+          <li>
+            <a href="#overview">An Overview of Curses</a>
+            <ul>
+              <li><a href="#compiling">Compiling Programs using
+              Curses</a></li>
 
-The <CODE>curses</CODE> API may seem something of an archaism on UNIX desktops
-increasingly dominated by X, Motif, and Tcl/Tk.  Nevertheless, UNIX still
-supports tty lines and X supports <EM>xterm(1)</EM>; the <CODE>curses</CODE>
-API has the advantage of (a) back-portability to character-cell terminals,
-and (b) simplicity.  For an application that does not require bit-mapped
-graphics and multiple fonts, an interface implementation using <CODE>curses</CODE>
-will typically be a great deal simpler and less expensive than one using an
-X toolkit.
+              <li><a href="#updating">Updating the Screen</a></li>
 
-<H2><A NAME="history">A Brief History of Curses</A></H2>
+              <li><a href="#stdscr">Standard Windows and Function
+              Naming Conventions</a></li>
 
-Historically, the first ancestor of <CODE>curses</CODE> was the routines written to
-provide screen-handling for the game <CODE>rogue</CODE>; these used the
-already-existing <CODE>termcap</CODE> database facility for describing terminal
-capabilities.  These routines were abstracted into a documented library and
-first released with the early BSD UNIX versions. <P>
+              <li><a href="#variables">Variables</a></li>
+            </ul>
+          </li>
 
-System III UNIX from Bell Labs featured a rewritten and much-improved
-<CODE>curses</CODE> library.  It introduced the terminfo format.  Terminfo is based
-on Berkeley's termcap database, but contains a number of improvements and
-extensions. Parameterized capabilities strings were introduced, making it
-possible to describe multiple video attributes, and colors and to handle far
-more unusual terminals than possible with termcap.  In the later AT&amp;T
-System V releases, <CODE>curses</CODE> evolved to use more facilities and offer
-more capabilities, going far beyond BSD curses in power and flexibility.
+          <li>
+            <a href="#using">Using the Library</a>
+            <ul>
+              <li><a href="#starting">Starting up</a></li>
 
-<H2><A NAME="scope">Scope of This Document</A></H2>
+              <li><a href="#output">Output</a></li>
 
-This document describes <CODE>ncurses</CODE>, a free implementation of
-the System V <CODE>curses</CODE> API with some clearly marked extensions.
-It includes the following System V curses features:
-<UL>
-<LI>Support for multiple screen highlights (BSD curses could only
-handle one `standout' highlight, usually reverse-video).
-<LI>Support for line- and box-drawing using forms characters.
-<LI>Recognition of function keys on input.
-<LI>Color support.
-<LI>Support for pads (windows of larger than screen size on which the
-screen or a subwindow defines a viewport).
-</UL>
+              <li><a href="#input">Input</a></li>
 
-Also, this package makes use of the insert and delete line and character
-features of terminals so equipped, and determines how to optimally use these
-features with no help from the programmer.  It allows arbitrary combinations of
-video attributes to be displayed, even on terminals that leave ``magic
-cookies'' on the screen to mark changes in attributes. <P>
+              <li><a href="#formschars">Using Forms Characters</a></li>
 
-The <CODE>ncurses</CODE> package can also capture and use event reports from a
-mouse in some environments (notably, xterm under the X window system).  This
-document includes tips for using the mouse. <P>
+              <li><a href="#attributes">Character Attributes and
+              Color</a></li>
 
-The <CODE>ncurses</CODE> package was originated by Pavel Curtis.  The original
-maintainer of this package is
-<A HREF="mailto:zmbenhal@netcom.com">Zeyd Ben-Halim</A>
-&lt;zmbenhal@netcom.com&gt;.
-<A HREF="mailto:esr@snark.thyrsus.com">Eric S. Raymond</A>
-&lt;esr@snark.thyrsus.com&gt;
-wrote many of the new features in versions after 1.8.1
-and wrote most of this introduction.
-J&uuml;rgen Pfeifer
-wrote all of the menu and forms code as well as the
-<A HREF="http://www.adahome.com">Ada95</A> binding.
-Ongoing work is being done by
-<A HREF="mailto:dickey@invisible-island.net">Thomas Dickey</A> (maintainer).
-Contact the current maintainers at
-<A HREF="mailto:bug-ncurses@gnu.org">bug-ncurses@gnu.org</A>.
-<P>
+              <li><a href="#mouse">Mouse Interfacing</a></li>
 
-This document also describes the <A HREF="#panels">panels</A> extension library,
-similarly modeled on the SVr4 panels facility.  This library allows you to
-associate backing store with each of a stack or deck of overlapping windows,
-and provides operations for moving windows around in the stack that change
-their visibility in the natural way (handling window overlaps). <P>
+              <li><a href="#finishing">Finishing Up</a></li>
+            </ul>
+          </li>
 
-Finally, this document describes in detail the <A HREF="#menu">menus</A> and <A
-HREF="#form">forms</A> extension libraries, also cloned from System V,
-which support easy construction and sequences of menus and fill-in
-forms.
+          <li>
+            <a href="#functions">Function Descriptions</a>
+            <ul>
+              <li><a href="#init">Initialization and Wrapup</a></li>
 
+              <li><a href="#flush">Causing Output to the
+              Terminal</a></li>
 
-<H2><A NAME="terminology">Terminology</A></H2>
+              <li><a href="#lowlevel">Low-Level Capability
+              Access</a></li>
 
-In this document, the following terminology is used with reasonable
-consistency:
+              <li><a href="#debugging">Debugging</a></li>
+            </ul>
+          </li>
 
-<DL>
-<DT> window
-<DD>
-A data structure describing a sub-rectangle of the screen (possibly the
-entire screen).  You can write to a window as though it were a miniature
-screen, scrolling independently of other windows on the physical screen.
-<DT> screens
-<DD>
-A subset of windows which are as large as the terminal screen, i.e., they start
-at the upper left hand corner and encompass the lower right hand corner.  One
-of these, <CODE>stdscr</CODE>, is automatically provided for the programmer.
-<DT> terminal screen
-<DD>
-The package's idea of what the terminal display currently looks like, i.e.,
-what the user sees now.  This is a special screen.
-</DL>
+          <li>
+            <a href="#hints">Hints, Tips, and Tricks</a>
+            <ul>
+              <li><a href="#caution">Some Notes of Caution</a></li>
 
-<H1><A NAME="curses">The Curses Library</A></H1>
+              <li><a href="#leaving">Temporarily Leaving ncurses
+              Mode</a></li>
 
-<H2><A NAME="overview">An Overview of Curses</A></H2>
+              <li><a href="#xterm">Using <code>ncurses</code> under
+              <code>xterm</code></a></li>
 
-<H3><A NAME="compiling">Compiling Programs using Curses</A></H3>
+              <li><a href="#screens">Handling Multiple Terminal
+              Screens</a></li>
 
-In order to use the library, it is necessary to have certain types and
-variables defined.  Therefore, the programmer must have a line:
+              <li><a href="#testing">Testing for Terminal
+              Capabilities</a></li>
 
-<PRE>
-	  #include &lt;curses.h&gt;
-</PRE>
+              <li><a href="#tuning">Tuning for Speed</a></li>
 
-at the top of the program source.  The screen package uses the Standard I/O
-library, so <CODE>&lt;curses.h&gt;</CODE> includes
-<CODE>&lt;stdio.h&gt;</CODE>. <CODE>&lt;curses.h&gt;</CODE> also includes
-<CODE>&lt;termios.h&gt;</CODE>, <CODE>&lt;termio.h&gt;</CODE>, or
-<CODE>&lt;sgtty.h&gt;</CODE> depending on your system.  It is redundant (but
-harmless) for the programmer to do these includes, too. In linking with
-<CODE>curses</CODE> you need to have <CODE>-lncurses</CODE> in your LDFLAGS or on the
-command line.  There is no need for any other libraries.
+              <li><a href="#special">Special Features of
+              <code>ncurses</code></a></li>
+            </ul>
+          </li>
 
-<H3><A NAME="updating">Updating the Screen</A></H3>
+          <li>
+            <a href="#compat">Compatibility with Older Versions</a>
+            <ul>
+              <li><a href="#refbug">Refresh of Overlapping
+              Windows</a></li>
 
-In order to update the screen optimally, it is necessary for the routines to
-know what the screen currently looks like and what the programmer wants it to
-look like next. For this purpose, a data type (structure) named WINDOW is
-defined which describes a window image to the routines, including its starting
-position on the screen (the (y, x) coordinates of the upper left hand corner)
-and its size.  One of these (called <CODE>curscr</CODE>, for current screen) is a
-screen image of what the terminal currently looks like.  Another screen (called
-<CODE>stdscr</CODE>, for standard screen) is provided by default to make changes
-on. <P>
+              <li><a href="#backbug">Background Erase</a></li>
+            </ul>
+          </li>
 
-A window is a purely internal representation. It is used to build and store a
-potential image of a portion of the terminal.  It doesn't bear any necessary
-relation to what is really on the terminal screen; it's more like a
-scratchpad or write buffer. <P>
+          <li><a href="#xsifuncs">XSI Curses Conformance</a></li>
+        </ul>
+      </li>
 
-To make the section of physical screen corresponding to a window reflect the
-contents of the window structure, the routine <CODE>refresh()</CODE> (or
-<CODE>wrefresh()</CODE> if the window is not <CODE>stdscr</CODE>) is called. <P>
+      <li>
+        <a href="#panels">The Panels Library</a>
+        <ul>
+          <li><a href="#pcompile">Compiling With the Panels
+          Library</a></li>
 
-A given physical screen section may be within the scope of any number of
-overlapping windows.  Also, changes can be made to windows in any order,
-without regard to motion efficiency.  Then, at will, the programmer can
-effectively say ``make it look like this,'' and let the package implementation
-determine the most efficient way to repaint the screen.
+          <li><a href="#poverview">Overview of Panels</a></li>
 
-<H3><A NAME="stdscr">Standard Windows and Function Naming Conventions</A></H3>
+          <li><a href="#pstdscr">Panels, Input, and the Standard
+          Screen</a></li>
 
-As hinted above, the routines can use several windows, but two are
-automatically given: <CODE>curscr</CODE>, which knows what the terminal looks like,
-and <CODE>stdscr</CODE>, which is what the programmer wants the terminal to look
-like next.  The user should never actually access <CODE>curscr</CODE> directly.
-Changes should be made to through the API, and then the routine
-<CODE>refresh()</CODE> (or <CODE>wrefresh()</CODE>) called. <P>
+          <li><a href="#hiding">Hiding Panels</a></li>
 
-Many functions are defined to use <CODE>stdscr</CODE> as a default screen.  For
-example, to add a character to <CODE>stdscr</CODE>, one calls <CODE>addch()</CODE> with
-the desired character as argument.  To write to a different window. use the
-routine <CODE>waddch()</CODE> (for `w'indow-specific addch()) is provided.  This
-convention of prepending function names with a `w' when they are to be
-applied to specific windows is consistent.  The only routines which do not
-follow it are those for which a window must always be specified. <P>
+          <li><a href="#pmisc">Miscellaneous Other Facilities</a></li>
+        </ul>
+      </li>
 
-In order to move the current (y, x) coordinates from one point to another, the
-routines <CODE>move()</CODE> and <CODE>wmove()</CODE> are provided.  However, it is
-often desirable to first move and then perform some I/O operation.  In order to
-avoid clumsiness, most I/O routines can be preceded by the prefix 'mv' and
-the desired (y, x) coordinates prepended to the arguments to the function.  For
-example, the calls
+      <li>
+        <a href="#menu">The Menu Library</a>
+        <ul>
+          <li><a href="#mcompile">Compiling with the menu
+          Library</a></li>
 
-<PRE>
-	  move(y, x);
-	  addch(ch);
-</PRE>
+          <li><a href="#moverview">Overview of Menus</a></li>
 
-can be replaced by
+          <li><a href="#mselect">Selecting items</a></li>
 
-<PRE>
-	  mvaddch(y, x, ch);
-</PRE>
+          <li><a href="#mdisplay">Menu Display</a></li>
 
-and
+          <li><a href="#mwindows">Menu Windows</a></li>
 
-<PRE>
-	  wmove(win, y, x);
-	  waddch(win, ch);
-</PRE>
+          <li><a href="#minput">Processing Menu Input</a></li>
 
-can be replaced by
+          <li><a href="#mmisc">Miscellaneous Other Features</a></li>
+        </ul>
+      </li>
 
-<PRE>
-	  mvwaddch(win, y, x, ch);
-</PRE>
+      <li>
+        <a href="#form">The Forms Library</a>
+        <ul>
+          <li><a href="#fcompile">Compiling with the forms
+          Library</a></li>
 
-Note that the window description pointer (win) comes before the added (y, x)
-coordinates.  If a function requires a window pointer, it is always the first
-parameter passed.
+          <li><a href="#foverview">Overview of Forms</a></li>
 
-<H3><A NAME="variables">Variables</A></H3>
+          <li><a href="#fcreate">Creating and Freeing Fields and
+          Forms</a></li>
 
-The <CODE>curses</CODE> library sets some variables describing the terminal
-capabilities.
+          <li>
+            <a href="#fattributes">Fetching and Changing Field
+            Attributes</a>
+            <ul>
+              <li><a href="#fsizes">Fetching Size and Location
+              Data</a></li>
 
-<PRE>
+              <li><a href="#flocation">Changing the Field
+              Location</a></li>
+
+              <li><a href="#fjust">The Justification Attribute</a></li>
+
+              <li><a href="#fdispatts">Field Display Attributes</a></li>
+
+              <li><a href="#foptions">Field Option Bits</a></li>
+
+              <li><a href="#fstatus">Field Status</a></li>
+
+              <li><a href="#fuser">Field User Pointer</a></li>
+            </ul>
+          </li>
+
+          <li><a href="#fdynamic">Variable-Sized Fields</a></li>
+
+          <li>
+            <a href="#fvalidation">Field Validation</a>
+            <ul>
+              <li><a href="#ftype_alpha">TYPE_ALPHA</a></li>
+
+              <li><a href="#ftype_alnum">TYPE_ALNUM</a></li>
+
+              <li><a href="#ftype_enum">TYPE_ENUM</a></li>
+
+              <li><a href="#ftype_integer">TYPE_INTEGER</a></li>
+
+              <li><a href="#ftype_numeric">TYPE_NUMERIC</a></li>
+
+              <li><a href="#ftype_regexp">TYPE_REGEXP</a></li>
+            </ul>
+          </li>
+
+          <li><a href="#fbuffer">Direct Field Buffer
+          Manipulation</a></li>
+
+          <li><a href="#formattrs">Attributes of Forms</a></li>
+
+          <li><a href="#fdisplay">Control of Form Display</a></li>
+
+          <li>
+            <a href="#fdriver">Input Processing in the Forms
+            Driver</a>
+            <ul>
+              <li><a href="#fpage">Page Navigation Requests</a></li>
+
+              <li><a href="#ffield">Inter-Field Navigation
+              Requests</a></li>
+
+              <li><a href="#fifield">Intra-Field Navigation
+              Requests</a></li>
+
+              <li><a href="#fscroll">Scrolling Requests</a></li>
+
+              <li><a href="#fedit">Field Editing Requests</a></li>
+
+              <li><a href="#forder">Order Requests</a></li>
+
+              <li><a href="#fappcmds">Application Commands</a></li>
+            </ul>
+          </li>
+
+          <li><a href="#fhooks">Field Change Hooks</a></li>
+
+          <li><a href="#ffocus">Field Change Commands</a></li>
+
+          <li><a href="#frmoptions">Form Options</a></li>
+
+          <li>
+            <a href="#fcustom">Custom Validation Types</a>
+            <ul>
+              <li><a href="#flinktypes">Union Types</a></li>
+
+              <li><a href="#fnewtypes">New Field Types</a></li>
+
+              <li><a href="#fcheckargs">Validation Function
+              Arguments</a></li>
+
+              <li><a href="#fcustorder">Order Functions For Custom
+              Types</a></li>
+
+              <li><a href="#fcustprobs">Avoiding Problems</a></li>
+            </ul>
+          </li>
+        </ul>
+      </li>
+    </ul>
+  </div>
+
+  <hr>
+
+  <h2><a name="introduction" id="introduction">Introduction</a></h2>
+
+  <p>This document is an introduction to programming with
+  <code>curses</code>. It is not an exhaustive reference for the
+  curses Application Programming Interface (API); that role is
+  filled by the <code>curses</code> manual pages. Rather, it is
+  intended to help C programmers ease into using the package.</p>
+
+  <p>This document is aimed at C applications programmers not yet
+  specifically familiar with ncurses. If you are already an
+  experienced <code>curses</code> programmer, you should
+  nevertheless read the sections on <a href="#mouse">Mouse
+  Interfacing</a>, <a href="#debugging">Debugging</a>, <a href=
+  "#compat">Compatibility with Older Versions</a>, and <a href=
+  "#hints">Hints, Tips, and Tricks</a>. These will bring you up to
+  speed on the special features and quirks of the
+  <code>ncurses</code> implementation. If you are not so
+  experienced, keep reading.</p>
+
+  <p>The <code>curses</code> package is a subroutine library for
+  terminal-independent screen-painting and input-event handling
+  which presents a high level screen model to the programmer,
+  hiding differences between terminal types and doing automatic
+  optimization of output to change one screen full of text into
+  another. <code>Curses</code> uses terminfo, which is a database
+  format that can describe the capabilities of thousands of
+  different terminals.</p>
+
+  <p>The <code>curses</code> API may seem something of an archaism
+  on UNIX desktops increasingly dominated by X, Motif, and Tcl/Tk.
+  Nevertheless, UNIX still supports tty lines and X supports
+  <em>xterm(1)</em>; the <code>curses</code> API has the advantage
+  of (a) back-portability to character-cell terminals, and (b)
+  simplicity. For an application that does not require bit-mapped
+  graphics and multiple fonts, an interface implementation using
+  <code>curses</code> will typically be a great deal simpler and
+  less expensive than one using an X toolkit.</p>
+
+  <h3><a name="history" id="history">A Brief History of Curses</a></h3>
+
+  <p>Historically, the first ancestor of <code>curses</code> was
+  the routines written to provide screen-handling for the
+  <code>vi</code> editor; these used the <code>termcap</code>
+  database facility (both released in 3BSD) for describing terminal
+  capabilities. These routines were abstracted into a documented
+  library and first released with the early BSD UNIX versions. All
+  of this work was done by students at the University of California
+  (Berkeley campus). The curses library was first published in
+  4.0BSD, a year after 3BSD (i.e., late 1980).</p>
+
+  <p>After graduation, one of those students went to work at
+  AT&amp;T Bell Labs, and made an improved <code>termcap</code>
+  library called <code>terminfo</code> (i.e.,
+  &ldquo;libterm&rdquo;), and adapted the curses library to use
+  this. That was subsequently released in System V Release 2 (early
+  1984). Thereafter, other developers added to the curses and
+  terminfo libraries. For instance, a student at Cornell University
+  wrote an improved terminfo library as well as a tool
+  (<code>tic</code>) to compile the terminal descriptions. As a
+  general rule, AT&amp;T did not identify the developers in the
+  source-code or documentation; the <code>tic</code> and
+  <code>infocmp</code> programs are the exceptions.</p>
+
+  <p>System V Release 3 (System III UNIX) from Bell Labs featured a
+  rewritten and much-improved <code>curses</code> library, along
+  with the <code>tic</code> program (late 1986).</p>
+
+  <p>To recap, terminfo is based on Berkeley's termcap database,
+  but contains a number of improvements and extensions.
+  Parameterized capabilities strings were introduced, making it
+  possible to describe multiple video attributes, and colors and to
+  handle far more unusual terminals than possible with termcap. In
+  the later AT&amp;T System V releases, <code>curses</code> evolved
+  to use more facilities and offer more capabilities, going far
+  beyond BSD curses in power and flexibility.</p>
+
+  <h3><a name="scope" id="scope">Scope of This Document</a></h3>
+
+  <p>This document describes <code>ncurses</code>, a free
+  implementation of the System V <code>curses</code> API with some
+  clearly marked extensions. It includes the following System V
+  curses features:</p>
+
+  <ul>
+    <li>Support for multiple screen highlights (BSD curses could
+    only handle one &ldquo;standout&rdquo; highlight, usually
+    reverse-video).</li>
+
+    <li>Support for line- and box-drawing using forms
+    characters.</li>
+
+    <li>Recognition of function keys on input.</li>
+
+    <li>Color support.</li>
+
+    <li>Support for pads (windows of larger than screen size on
+    which the screen or a subwindow defines a viewport).</li>
+  </ul>
+
+  <p>Also, this package makes use of the insert and delete line and
+  character features of terminals so equipped, and determines how
+  to optimally use these features with no help from the programmer.
+  It allows arbitrary combinations of video attributes to be
+  displayed, even on terminals that leave &ldquo;magic
+  cookies&rdquo; on the screen to mark changes in attributes.</p>
+
+  <p>The <code>ncurses</code> package can also capture and use
+  event reports from a mouse in some environments (notably, xterm
+  under the X window system). This document includes tips for using
+  the mouse.</p>
+
+  <p>The <code>ncurses</code> package was originated by Pavel
+  Curtis. The original maintainer of this package is <a href=
+  "mailto:zmbenhal@netcom.com">Zeyd Ben-Halim</a>
+  &lt;zmbenhal@netcom.com&gt;. <a href=
+  "mailto:esr@snark.thyrsus.com">Eric S. Raymond</a>
+  &lt;esr@snark.thyrsus.com&gt; wrote many of the new features in
+  versions after 1.8.1 and wrote most of this introduction.
+  J&uuml;rgen Pfeifer wrote all of the menu and forms code as well
+  as the <a href="http://www.adahome.com">Ada95</a> binding.
+  Ongoing work is being done by <a href=
+  "mailto:dickey@invisible-island.net">Thomas Dickey</a>
+  (maintainer). Contact the current maintainers at <a href=
+  "mailto:bug-ncurses@gnu.org">bug-ncurses@gnu.org</a>.</p>
+
+  <p>This document also describes the <a href="#panels">panels</a>
+  extension library, similarly modeled on the SVr4 panels facility.
+  This library allows you to associate backing store with each of a
+  stack or deck of overlapping windows, and provides operations for
+  moving windows around in the stack that change their visibility
+  in the natural way (handling window overlaps).</p>
+
+  <p>Finally, this document describes in detail the <a href=
+  "#menu">menus</a> and <a href="#form">forms</a> extension
+  libraries, also cloned from System V, which support easy
+  construction and sequences of menus and fill-in forms.</p>
+
+  <h3><a name="terminology" id="terminology">Terminology</a></h3>
+
+  <p>In this document, the following terminology is used with
+  reasonable consistency:</p>
+
+  <dl>
+    <dt>window</dt>
+
+    <dd>A data structure describing a sub-rectangle of the screen
+    (possibly the entire screen). You can write to a window as
+    though it were a miniature screen, scrolling independently of
+    other windows on the physical screen.</dd>
+
+    <dt>screens</dt>
+
+    <dd>A subset of windows which are as large as the terminal
+    screen, i.e., they start at the upper left hand corner and
+    encompass the lower right hand corner. One of these,
+    <code>stdscr</code>, is automatically provided for the
+    programmer.</dd>
+
+    <dt>terminal screen</dt>
+
+    <dd>The package's idea of what the terminal display currently
+    looks like, i.e., what the user sees now. This is a special
+    screen.</dd>
+  </dl>
+
+  <h2><a name="curses" id="curses">The Curses Library</a></h2>
+
+  <h3><a name="overview" id="overview">An Overview of Curses</a></h3>
+
+  <h4><a name="compiling" id="compiling">Compiling Programs using
+  Curses</a></h4>
+
+  <p>In order to use the library, it is necessary to have certain
+  types and variables defined. Therefore, the programmer must have
+  a line:</p>
+
+  <pre class="code-block">
+          #include &lt;curses.h&gt;
+</pre>
+  <p>at the top of the program source. The screen package uses the
+  Standard I/O library, so <code>&lt;curses.h&gt;</code> includes
+  <code>&lt;stdio.h&gt;</code>. <code>&lt;curses.h&gt;</code> also
+  includes <code>&lt;termios.h&gt;</code>,
+  <code>&lt;termio.h&gt;</code>, or <code>&lt;sgtty.h&gt;</code>
+  depending on your system. It is redundant (but harmless) for the
+  programmer to do these includes, too. In linking with
+  <code>curses</code> you need to have <code>-lncurses</code> in
+  your LDFLAGS or on the command line. There is no need for any
+  other libraries.</p>
+
+  <h4><a name="updating" id="updating">Updating the Screen</a></h4>
+
+  <p>In order to update the screen optimally, it is necessary for
+  the routines to know what the screen currently looks like and
+  what the programmer wants it to look like next. For this purpose,
+  a data type (structure) named WINDOW is defined which describes a
+  window image to the routines, including its starting position on
+  the screen (the (y, x) coordinates of the upper left hand corner)
+  and its size. One of these (called <code>curscr</code>, for
+  current screen) is a screen image of what the terminal currently
+  looks like. Another screen (called <code>stdscr</code>, for
+  standard screen) is provided by default to make changes on.</p>
+
+  <p>A window is a purely internal representation. It is used to
+  build and store a potential image of a portion of the terminal.
+  It does not bear any necessary relation to what is really on the
+  terminal screen; it is more like a scratchpad or write
+  buffer.</p>
+
+  <p>To make the section of physical screen corresponding to a
+  window reflect the contents of the window structure, the routine
+  <code>refresh()</code> (or <code>wrefresh()</code> if the window
+  is not <code>stdscr</code>) is called.</p>
+
+  <p>A given physical screen section may be within the scope of any
+  number of overlapping windows. Also, changes can be made to
+  windows in any order, without regard to motion efficiency. Then,
+  at will, the programmer can effectively say &ldquo;make it look
+  like this,&rdquo; and let the package implementation determine
+  the most efficient way to repaint the screen.</p>
+
+  <h4><a name="stdscr" id="stdscr">Standard Windows and Function
+  Naming Conventions</a></h4>
+
+  <p>As hinted above, the routines can use several windows, but two
+  are automatically given: <code>curscr</code>, which knows what
+  the terminal looks like, and <code>stdscr</code>, which is what
+  the programmer wants the terminal to look like next. The user
+  should never actually access <code>curscr</code> directly.
+  Changes should be made to through the API, and then the routine
+  <code>refresh()</code> (or <code>wrefresh()</code>) called.</p>
+
+  <p>Many functions are defined to use <code>stdscr</code> as a
+  default screen. For example, to add a character to
+  <code>stdscr</code>, one calls <code>addch()</code> with the
+  desired character as argument. To write to a different window.
+  use the routine <code>waddch()</code> (for
+  <strong>w</strong>indow-specific addch()) is provided. This
+  convention of prepending function names with a &ldquo;w&rdquo;
+  when they are to be applied to specific windows is consistent.
+  The only routines which do not follow it are those for which a
+  window must always be specified.</p>
+
+  <p>In order to move the current (y, x) coordinates from one point
+  to another, the routines <code>move()</code> and
+  <code>wmove()</code> are provided. However, it is often desirable
+  to first move and then perform some I/O operation. In order to
+  avoid clumsiness, most I/O routines can be preceded by the prefix
+  &ldquo;mv&rdquo; and the desired (y, x) coordinates prepended to
+  the arguments to the function. For example, the calls</p>
+
+  <pre class="code-block">
+          move(y, x);
+          addch(ch);
+</pre>
+  <p>can be replaced by</p>
+
+  <pre class="code-block">
+          mvaddch(y, x, ch);
+</pre>
+  <p>and</p>
+
+  <pre class="code-block">
+          wmove(win, y, x);
+          waddch(win, ch);
+</pre>
+  <p>can be replaced by</p>
+
+  <pre class="code-block">
+          mvwaddch(win, y, x, ch);
+</pre>
+  <p>Note that the window description pointer (win) comes before
+  the added (y, x) coordinates. If a function requires a window
+  pointer, it is always the first parameter passed.</p>
+
+  <h4><a name="variables" id="variables">Variables</a></h4>
+
+  <p>The <code>curses</code> library sets some variables describing
+  the terminal capabilities.</p>
+
+  <pre class="code-block">
       type   name      description
       ------------------------------------------------------------------
       int    LINES     number of lines on the terminal
       int    COLS      number of columns on the terminal
-</PRE>
+</pre>
+  <p>The <code>curses.h</code> also introduces some
+  <code>#define</code> constants and types of general
+  usefulness:</p>
 
-The <CODE>curses.h</CODE> also introduces some <CODE>#define</CODE> constants and types
-of general usefulness:
+  <dl>
+    <dt><code>bool</code>
+    </dt>
 
-<DL>
-<DT> <CODE>bool</CODE>
-<DD> boolean type, actually a `char' (e.g., <CODE>bool doneit;</CODE>)
-<DT> <CODE>TRUE</CODE>
-<DD> boolean `true' flag (1).
-<DT> <CODE>FALSE</CODE>
-<DD> boolean `false' flag (0).
-<DT> <CODE>ERR</CODE>
-<DD> error flag returned by routines on a failure (-1).
-<DT> <CODE>OK</CODE>
-<DD> error flag returned by routines when things go right.
-</DL>
+    <dd>boolean type, actually a &ldquo;char&rdquo; (e.g.,
+    <code>bool doneit;</code>)</dd>
 
-<H2><A NAME="using">Using the Library</A></H2>
+    <dt><code>TRUE</code>
+    </dt>
 
-Now we describe how to actually use the screen package.  In it, we assume all
-updating, reading, etc. is applied to <CODE>stdscr</CODE>.  These instructions will
-work on any window, providing you change the function names and parameters as
-mentioned above. <P>
+    <dd>boolean &ldquo;true&rdquo; flag (1).</dd>
 
-Here is a sample program to motivate the discussion:
+    <dt><code>FALSE</code>
+    </dt>
 
-<PRE>
+    <dd>boolean &ldquo;false&rdquo; flag (0).</dd>
+
+    <dt><code>ERR</code>
+    </dt>
+
+    <dd>error flag returned by routines on a failure (-1).</dd>
+
+    <dt><code>OK</code>
+    </dt>
+
+    <dd>error flag returned by routines when things go right.</dd>
+  </dl>
+
+  <h3><a name="using" id="using">Using the Library</a></h3>
+
+  <p>Now we describe how to actually use the screen package. In it,
+  we assume all updating, reading, etc. is applied to
+  <code>stdscr</code>. These instructions will work on any window,
+  providing you change the function names and parameters as
+  mentioned above.</p>
+
+  <p>Here is a sample program to motivate the discussion:</p>
+
+  <pre class="code-block">
 #include &lt;stdlib.h&gt;
 #include &lt;curses.h&gt;
 #include &lt;signal.h&gt;
@@ -458,9 +658,9 @@
 
         /*
          * Simple color assignment, often all we need.  Color pair 0 cannot
-	 * be redefined.  This example uses the same value for the color
-	 * pair as for the foreground color, though of course that is not
-	 * necessary:
+         * be redefined.  This example uses the same value for the color
+         * pair as for the foreground color, though of course that is not
+         * necessary:
          */
         init_pair(1, COLOR_RED,     COLOR_BLACK);
         init_pair(2, COLOR_GREEN,   COLOR_BLACK);
@@ -474,13 +674,13 @@
     for (;;)
     {
         int c = getch();     /* refresh, accept single keystroke of input */
-	attrset(COLOR_PAIR(num % 8));
-	num++;
+        attrset(COLOR_PAIR(num % 8));
+        num++;
 
         /* process the command keystroke */
     }
 
-    finish(0);               /* we're done */
+    finish(0);               /* we are done */
 }
 
 static void finish(int sig)
@@ -491,1165 +691,1364 @@
 
     exit(0);
 }
-</PRE>
+</pre>
+  <h4><a name="starting" id="starting">Starting up</a></h4>
 
-<H3><A NAME="starting">Starting up</A></H3>
+  <p>In order to use the screen package, the routines must know
+  about terminal characteristics, and the space for
+  <code>curscr</code> and <code>stdscr</code> must be allocated.
+  These function <code>initscr()</code> does both these things.
+  Since it must allocate space for the windows, it can overflow
+  memory when attempting to do so. On the rare occasions this
+  happens, <code>initscr()</code> will terminate the program with
+  an error message. <code>initscr()</code> must always be called
+  before any of the routines which affect windows are used. If it
+  is not, the program will core dump as soon as either
+  <code>curscr</code> or <code>stdscr</code> are referenced.
+  However, it is usually best to wait to call it until after you
+  are sure you will need it, like after checking for startup
+  errors. Terminal status changing routines like <code>nl()</code>
+  and <code>cbreak()</code> should be called after
+  <code>initscr()</code>.</p>
 
-In order to use the screen package, the routines must know about terminal
-characteristics, and the space for <CODE>curscr</CODE> and <CODE>stdscr</CODE> must be
-allocated.  These function <CODE>initscr()</CODE> does both these things. Since it
-must allocate space for the windows, it can overflow memory when attempting to
-do so. On the rare occasions this happens, <CODE>initscr()</CODE> will terminate
-the program with an error message.  <CODE>initscr()</CODE> must always be called
-before any of the routines which affect windows are used.  If it is not, the
-program will core dump as soon as either <CODE>curscr</CODE> or <CODE>stdscr</CODE> are
-referenced.  However, it is usually best to wait to call it until after you are
-sure you will need it, like after checking for startup errors.  Terminal status
-changing routines like <CODE>nl()</CODE> and <CODE>cbreak()</CODE> should be called
-after <CODE>initscr()</CODE>. <P>
+  <p>Once the screen windows have been allocated, you can set them
+  up for your program. If you want to, say, allow a screen to
+  scroll, use <code>scrollok()</code>. If you want the cursor to be
+  left in place after the last change, use <code>leaveok()</code>.
+  If this is not done, <code>refresh()</code> will move the cursor
+  to the window's current (y, x) coordinates after updating it.</p>
 
-Once the screen windows have been allocated, you can set them up for
-your program.  If you want to, say, allow a screen to scroll, use
-<CODE>scrollok()</CODE>.  If you want the cursor to be left in place after
-the last change, use <CODE>leaveok()</CODE>.  If this isn't done,
-<CODE>refresh()</CODE> will move the cursor to the window's current (y, x)
-coordinates after updating it. <P>
+  <p>You can create new windows of your own using the functions
+  <code>newwin()</code>, <code>derwin()</code>, and
+  <code>subwin()</code>. The routine <code>delwin()</code> will
+  allow you to get rid of old windows. All the options described
+  above can be applied to any window.</p>
 
-You can create new windows of your own using the functions <CODE>newwin()</CODE>,
-<CODE>derwin()</CODE>, and <CODE>subwin()</CODE>.  The routine <CODE>delwin()</CODE> will
-allow you to get rid of old windows.  All the options described above can be
-applied to any window.
+  <h4><a name="output" id="output">Output</a></h4>
 
-<H3><A NAME="output">Output</A></H3>
+  <p>Now that we have set things up, we will want to actually
+  update the terminal. The basic functions used to change what will
+  go on a window are <code>addch()</code> and <code>move()</code>.
+  <code>addch()</code> adds a character at the current (y, x)
+  coordinates. <code>move()</code> changes the current (y, x)
+  coordinates to whatever you want them to be. It returns
+  <code>ERR</code> if you try to move off the window. As mentioned
+  above, you can combine the two into <code>mvaddch()</code> to do
+  both things at once.</p>
 
-Now that we have set things up, we will want to actually update the terminal.
-The basic functions used to change what will go on a window are
-<CODE>addch()</CODE> and <CODE>move()</CODE>.  <CODE>addch()</CODE> adds a character at the
-current (y, x) coordinates.  <CODE>move()</CODE> changes the current (y, x)
-coordinates to whatever you want them to be.  It returns <CODE>ERR</CODE> if you
-try to move off the window.  As mentioned above, you can combine the two into
-<CODE>mvaddch()</CODE> to do both things at once. <P>
+  <p>The other output functions, such as <code>addstr()</code> and
+  <code>printw()</code>, all call <code>addch()</code> to add
+  characters to the window.</p>
 
-The other output functions, such as <CODE>addstr()</CODE> and <CODE>printw()</CODE>,
-all call <CODE>addch()</CODE> to add characters to the window. <P>
+  <p>After you have put on the window what you want there, when you
+  want the portion of the terminal covered by the window to be made
+  to look like it, you must call <code>refresh()</code>. In order
+  to optimize finding changes, <code>refresh()</code> assumes that
+  any part of the window not changed since the last
+  <code>refresh()</code> of that window has not been changed on the
+  terminal, i.e., that you have not refreshed a portion of the
+  terminal with an overlapping window. If this is not the case, the
+  routine <code>touchwin()</code> is provided to make it look like
+  the entire window has been changed, thus making
+  <code>refresh()</code> check the whole subsection of the terminal
+  for changes.</p>
 
-After you have put on the window what you want there, when you want the portion
-of the terminal covered by the window to be made to look like it, you must call
-<CODE>refresh()</CODE>.  In order to optimize finding changes, <CODE>refresh()</CODE>
-assumes that any part of the window not changed since the last
-<CODE>refresh()</CODE> of that window has not been changed on the terminal, i.e.,
-that you have not refreshed a portion of the terminal with an overlapping
-window.  If this is not the case, the routine <CODE>touchwin()</CODE> is provided
-to make it look like the entire window has been changed, thus making
-<CODE>refresh()</CODE> check the whole subsection of the terminal for changes. <P>
+  <p>If you call <code>wrefresh()</code> with <code>curscr</code>
+  as its argument, it will make the screen look like
+  <code>curscr</code> thinks it looks like. This is useful for
+  implementing a command which would redraw the screen in case it
+  get messed up.</p>
 
-If you call <CODE>wrefresh()</CODE> with <CODE>curscr</CODE> as its argument, it will
-make the screen look like <CODE>curscr</CODE> thinks it looks like.  This is useful
-for implementing a command which would redraw the screen in case it get messed
-up.
+  <h4><a name="input" id="input">Input</a></h4>
 
-<H3><A NAME="input">Input</A></H3>
+  <p>The complementary function to <code>addch()</code> is
+  <code>getch()</code> which, if echo is set, will call
+  <code>addch()</code> to echo the character. Since the screen
+  package needs to know what is on the terminal at all times, if
+  characters are to be echoed, the tty must be in raw or cbreak
+  mode. Since initially the terminal has echoing enabled and is in
+  ordinary &ldquo;cooked&rdquo; mode, one or the other has to
+  changed before calling <code>getch()</code>; otherwise, the
+  program's output will be unpredictable.</p>
 
-The complementary function to <CODE>addch()</CODE> is <CODE>getch()</CODE> which, if
-echo is set, will call <CODE>addch()</CODE> to echo the character.  Since the
-screen package needs to know what is on the terminal at all times, if
-characters are to be echoed, the tty must be in raw or cbreak mode.  Since
-initially the terminal has echoing enabled and is in ordinary ``cooked'' mode,
-one or the other has to changed before calling <CODE>getch()</CODE>; otherwise,
-the program's output will be unpredictable. <P>
+  <p>When you need to accept line-oriented input in a window, the
+  functions <code>wgetstr()</code> and friends are available. There
+  is even a <code>wscanw()</code> function that can do
+  <code>scanf()</code>(3)-style multi-field parsing on window
+  input. These pseudo-line-oriented functions turn on echoing while
+  they execute.</p>
 
-When you need to accept line-oriented input in a window, the functions
-<CODE>wgetstr()</CODE> and friends are available.  There is even a <CODE>wscanw()</CODE>
-function that can do <CODE>scanf()</CODE>(3)-style multi-field parsing on window
-input.  These pseudo-line-oriented functions turn on echoing while they
-execute. <P>
+  <p>The example code above uses the call <code>keypad(stdscr,
+  TRUE)</code> to enable support for function-key mapping. With
+  this feature, the <code>getch()</code> code watches the input
+  stream for character sequences that correspond to arrow and
+  function keys. These sequences are returned as pseudo-character
+  values. The <code>#define</code> values returned are listed in
+  the <code>curses.h</code> The mapping from sequences to
+  <code>#define</code> values is determined by <code>key_</code>
+  capabilities in the terminal's terminfo entry.</p>
 
-The example code above uses the call <CODE>keypad(stdscr, TRUE)</CODE> to enable
-support for function-key mapping.  With this feature, the <CODE>getch()</CODE> code
-watches the input stream for character sequences that correspond to arrow and
-function keys.  These sequences are returned as pseudo-character values.  The
-<CODE>#define</CODE> values returned are listed in the <CODE>curses.h</CODE> The
-mapping from sequences to <CODE>#define</CODE> values is determined by
-<CODE>key_</CODE> capabilities in the terminal's terminfo entry.
+  <h4><a name="formschars" id="formschars">Using Forms
+  Characters</a></h4>
 
-<H3><A NAME="formschars">Using Forms Characters</A></H3>
+  <p>The <code>addch()</code> function (and some others, including
+  <code>box()</code> and <code>border()</code>) can accept some
+  pseudo-character arguments which are specially defined by
+  <code>ncurses</code>. These are <code>#define</code> values set
+  up in the <code>curses.h</code> header; see there for a complete
+  list (look for the prefix <code>ACS_</code>).</p>
 
-The <CODE>addch()</CODE> function (and some others, including <CODE>box()</CODE> and
-<CODE>border()</CODE>) can accept some pseudo-character arguments which are specially
-defined by <CODE>ncurses</CODE>.  These are <CODE>#define</CODE> values set up in
-the <CODE>curses.h</CODE> header; see there for a complete list (look for
-the prefix <CODE>ACS_</CODE>). <P>
+  <p>The most useful of the ACS defines are the forms-drawing
+  characters. You can use these to draw boxes and simple graphs on
+  the screen. If the terminal does not have such characters,
+  <code>curses.h</code> will map them to a recognizable (though
+  ugly) set of ASCII defaults.</p>
 
-The most useful of the ACS defines are the forms-drawing characters.  You can
-use these to draw boxes and simple graphs on the screen.  If the terminal
-does not have such characters, <CODE>curses.h</CODE> will map them to a
-recognizable (though ugly) set of ASCII defaults.
+  <h4><a name="attributes" id="attributes">Character Attributes and
+  Color</a></h4>
 
-<H3><A NAME="attributes">Character Attributes and Color</A></H3>
+  <p>The <code>ncurses</code> package supports screen highlights
+  including standout, reverse-video, underline, and blink. It also
+  supports color, which is treated as another kind of
+  highlight.</p>
 
-The <CODE>ncurses</CODE> package supports screen highlights including standout,
-reverse-video, underline, and blink.  It also supports color, which is treated
-as another kind of highlight. <P>
+  <p>Highlights are encoded, internally, as high bits of the
+  pseudo-character type (<code>chtype</code>) that
+  <code>curses.h</code> uses to represent the contents of a screen
+  cell. See the <code>curses.h</code> header file for a complete
+  list of highlight mask values (look for the prefix
+  <code>A_</code>).</p>
 
-Highlights are encoded, internally, as high bits of the pseudo-character type
-(<CODE>chtype</CODE>) that <CODE>curses.h</CODE> uses to represent the contents of a
-screen cell.  See the <CODE>curses.h</CODE> header file for a complete list of
-highlight mask values (look for the prefix <CODE>A_</CODE>).<P>
+  <p>There are two ways to make highlights. One is to logical-or
+  the value of the highlights you want into the character argument
+  of an <code>addch()</code> call, or any other output call that
+  takes a <code>chtype</code> argument.</p>
 
-There are two ways to make highlights.  One is to logical-or the value of the
-highlights you want into the character argument of an <CODE>addch()</CODE> call,
-or any other output call that takes a <CODE>chtype</CODE> argument. <P>
+  <p>The other is to set the current-highlight value. This is
+  <em>logical-OR</em>ed with any highlight you specify the first
+  way. You do this with the functions <code>attron()</code>,
+  <code>attroff()</code>, and <code>attrset()</code>; see the
+  manual pages for details. Color is a special kind of highlight.
+  The package actually thinks in terms of color pairs, combinations
+  of foreground and background colors. The sample code above sets
+  up eight color pairs, all of the guaranteed-available colors on
+  black. Note that each color pair is, in effect, given the name of
+  its foreground color. Any other range of eight non-conflicting
+  values could have been used as the first arguments of the
+  <code>init_pair()</code> values.</p>
 
-The other is to set the current-highlight value.  This is logical-or'ed with
-any highlight you specify the first way.  You do this with the functions
-<CODE>attron()</CODE>, <CODE>attroff()</CODE>, and <CODE>attrset()</CODE>; see the manual
-pages for details.
+  <p>Once you have done an <code>init_pair()</code> that creates
+  color-pair N, you can use <code>COLOR_PAIR(N)</code> as a
+  highlight that invokes that particular color combination. Note
+  that <code>COLOR_PAIR(N)</code>, for constant N, is itself a
+  compile-time constant and can be used in initializers.</p>
 
-Color is a special kind of highlight.  The package actually thinks in terms
-of color pairs, combinations of foreground and background colors.  The sample
-code above sets up eight color pairs, all of the guaranteed-available colors
-on black.  Note that each color pair is, in effect, given the name of its
-foreground color.  Any other range of eight non-conflicting values could
-have been used as the first arguments of the <CODE>init_pair()</CODE> values. <P>
+  <h4><a name="mouse" id="mouse">Mouse Interfacing</a></h4>
 
-Once you've done an <CODE>init_pair()</CODE> that creates color-pair N, you can
-use <CODE>COLOR_PAIR(N)</CODE> as a highlight that invokes that particular
-color combination.  Note that <CODE>COLOR_PAIR(N)</CODE>, for constant N,
-is itself a compile-time constant and can be used in initializers.
+  <p>The <code>ncurses</code> library also provides a mouse
+  interface.</p>
 
-<H3><A NAME="mouse">Mouse Interfacing</A></H3>
+  <blockquote>
+    <strong>NOTE:</strong> this facility is specific to
+    <code>ncurses</code>, it is not part of either the XSI Curses
+    standard, nor of System V Release 4, nor BSD curses. System V
+    Release 4 curses contains code with similar interface
+    definitions, however it is not documented. Other than by
+    disassembling the library, we have no way to determine exactly
+    how that mouse code works. Thus, we recommend that you wrap
+    mouse-related code in an #ifdef using the feature macro
+    NCURSES_MOUSE_VERSION so it will not be compiled and linked on
+    non-ncurses systems.
+  </blockquote>
 
-The <CODE>ncurses</CODE> library also provides a mouse interface.
-<!-- The 'note' tag is not portable enough -->
-<blockquote>
-<strong>NOTE:</strong> this facility is specific to <CODE>ncurses</CODE>, it is not part of either
-the XSI Curses standard, nor of System V Release 4, nor BSD curses.
-System V Release 4 curses contains code with similar interface definitions,
-however it is not documented.  Other than by disassembling the library, we
-have no way to determine exactly how that mouse code works.
-Thus, we recommend that you wrap mouse-related code in an #ifdef using the
-feature macro NCURSES_MOUSE_VERSION so it will not be compiled and linked
-on non-ncurses systems.
-</blockquote>
+  <p>Presently, mouse event reporting works in the following
+  environments:</p>
 
-Presently, mouse event reporting works in the following environments:
-<ul>
-<li>xterm and similar programs such as rxvt.
-<li>Linux console, when configured with <CODE>gpm</CODE>(1), Alessandro
-Rubini's mouse server.
-<li>FreeBSD sysmouse (console)
-<li>OS/2 EMX
-</ul>
-<P>
-The mouse interface is very simple.  To activate it, you use the function
-<CODE>mousemask()</CODE>, passing it as first argument a bit-mask that specifies
-what kinds of events you want your program to be able to see.  It will
-return the bit-mask of events that actually become visible, which may differ
-from the argument if the mouse device is not capable of reporting some of
-the event types you specify. <P>
+  <ul>
+    <li>xterm and similar programs such as rxvt.</li>
 
-Once the mouse is active, your application's command loop should watch
-for a return value of <CODE>KEY_MOUSE</CODE> from <CODE>wgetch()</CODE>.  When
-you see this, a mouse event report has been queued.  To pick it off
-the queue, use the function <CODE>getmouse()</CODE> (you must do this before
-the next <CODE>wgetch()</CODE>, otherwise another mouse event might come
-in and make the first one inaccessible). <P>
+    <li>Linux console, when configured with <code>gpm</code>(1),
+    Alessandro Rubini's mouse server.</li>
 
-Each call to <CODE>getmouse()</CODE> fills a structure (the address of which you'll
-pass it) with mouse event data.  The event data includes zero-origin,
-screen-relative character-cell coordinates of the mouse pointer.  It also
-includes an event mask.  Bits in this mask will be set, corresponding
-to the event type being reported. <P>
+    <li>FreeBSD sysmouse (console)</li>
 
-The mouse structure contains two additional fields which may be
-significant in the future as ncurses interfaces to new kinds of
-pointing device.  In addition to x and y coordinates, there is a slot
-for a z coordinate; this might be useful with touch-screens that can
-return a pressure or duration parameter.  There is also a device ID
-field, which could be used to distinguish between multiple pointing
-devices. <P>
+    <li>OS/2 EMX</li>
+  </ul>
 
-The class of visible events may be changed at any time via <CODE>mousemask()</CODE>.
-Events that can be reported include presses, releases, single-, double- and
-triple-clicks (you can set the maximum button-down time for clicks).  If
-you don't make clicks visible, they will be reported as press-release
-pairs.  In some environments, the event mask may include bits reporting
-the state of shift, alt, and ctrl keys on the keyboard during the event. <P>
+  <p>The mouse interface is very simple. To activate it, you use
+  the function <code>mousemask()</code>, passing it as first
+  argument a bit-mask that specifies what kinds of events you want
+  your program to be able to see. It will return the bit-mask of
+  events that actually become visible, which may differ from the
+  argument if the mouse device is not capable of reporting some of
+  the event types you specify.</p>
 
-A function to check whether a mouse event fell within a given window is
-also supplied.  You can use this to see whether a given window should
-consider a mouse event relevant to it. <P>
+  <p>Once the mouse is active, your application's command loop
+  should watch for a return value of <code>KEY_MOUSE</code> from
+  <code>wgetch()</code>. When you see this, a mouse event report
+  has been queued. To pick it off the queue, use the function
+  <code>getmouse()</code> (you must do this before the next
+  <code>wgetch()</code>, otherwise another mouse event might come
+  in and make the first one inaccessible).</p>
 
-Because mouse event reporting will not be available in all
-environments, it would be unwise to build <CODE>ncurses</CODE>
-applications that <EM>require</EM> the use of a mouse.  Rather, you should
-use the mouse as a shortcut for point-and-shoot commands your application
-would normally accept from the keyboard.  Two of the test games in the
-<CODE>ncurses</CODE> distribution (<CODE>bs</CODE> and <CODE>knight</CODE>) contain
-code that illustrates how this can be done. <P>
+  <p>Each call to <code>getmouse()</code> fills a structure (the
+  address of which you will pass it) with mouse event data. The
+  event data includes zero-origin, screen-relative character-cell
+  coordinates of the mouse pointer. It also includes an event mask.
+  Bits in this mask will be set, corresponding to the event type
+  being reported.</p>
 
-See the manual page <CODE>curs_mouse(3X)</CODE> for full details of the
-mouse-interface functions.
+  <p>The mouse structure contains two additional fields which may
+  be significant in the future as ncurses interfaces to new kinds
+  of pointing device. In addition to x and y coordinates, there is
+  a slot for a z coordinate; this might be useful with
+  touch-screens that can return a pressure or duration parameter.
+  There is also a device ID field, which could be used to
+  distinguish between multiple pointing devices.</p>
 
-<H3><A NAME="finishing">Finishing Up</A></H3>
+  <p>The class of visible events may be changed at any time via
+  <code>mousemask()</code>. Events that can be reported include
+  presses, releases, single-, double- and triple-clicks (you can
+  set the maximum button-down time for clicks). If you do not make
+  clicks visible, they will be reported as press-release pairs. In
+  some environments, the event mask may include bits reporting the
+  state of shift, alt, and ctrl keys on the keyboard during the
+  event.</p>
 
-In order to clean up after the <CODE>ncurses</CODE> routines, the routine
-<CODE>endwin()</CODE> is provided.  It restores tty modes to what they were when
-<CODE>initscr()</CODE> was first called, and moves the cursor down to the
-lower-left corner.  Thus, anytime after the call to initscr, <CODE>endwin()</CODE>
-should be called before exiting.
+  <p>A function to check whether a mouse event fell within a given
+  window is also supplied. You can use this to see whether a given
+  window should consider a mouse event relevant to it.</p>
 
-<H2><A NAME="functions">Function Descriptions</A></H2>
+  <p>Because mouse event reporting will not be available in all
+  environments, it would be unwise to build <code>ncurses</code>
+  applications that <em>require</em> the use of a mouse. Rather,
+  you should use the mouse as a shortcut for point-and-shoot
+  commands your application would normally accept from the
+  keyboard. Two of the test games in the <code>ncurses</code>
+  distribution (<code>bs</code> and <code>knight</code>) contain
+  code that illustrates how this can be done.</p>
 
-We describe the detailed behavior of some important curses functions here, as a
-supplement to the manual page descriptions.
+  <p>See the manual page <code>curs_mouse(3X)</code> for full
+  details of the mouse-interface functions.</p>
 
-<H3><A NAME="init">Initialization and Wrapup</A></H3>
+  <h4><a name="finishing" id="finishing">Finishing Up</a></h4>
 
-<DL>
-<DT> <CODE>initscr()</CODE>
-<DD> The first function called should almost always be <CODE>initscr()</CODE>.
-This will determine the terminal type and
-initialize curses data structures. <CODE>initscr()</CODE> also arranges that
-the first call to <CODE>refresh()</CODE> will clear the screen.  If an error
-occurs a message is written to standard error and the program
-exits. Otherwise it returns a pointer to stdscr.  A few functions may be
-called before initscr (<CODE>slk_init()</CODE>, <CODE>filter()</CODE>,
-<CODE>ripoffline()</CODE>, <CODE>use_env()</CODE>, and, if you are using multiple
-terminals, <CODE>newterm()</CODE>.)
-<DT> <CODE>endwin()</CODE>
-<DD> Your program should always call <CODE>endwin()</CODE> before exiting or
-shelling out of the program. This function will restore tty modes,
-move the cursor to the lower left corner of the screen, reset the
-terminal into the proper non-visual mode.  Calling <CODE>refresh()</CODE>
-or <CODE>doupdate()</CODE> after a temporary escape from the program will
-restore the ncurses screen from before the escape.
-<DT> <CODE>newterm(type, ofp, ifp)</CODE>
-<DD> A program which outputs to more than one terminal should use
-<CODE>newterm()</CODE> instead of <CODE>initscr()</CODE>.  <CODE>newterm()</CODE> should
-be called once for each terminal.  It returns a variable of type
-<CODE>SCREEN *</CODE> which should be saved as a reference to that
-terminal.
-(NOTE: a SCREEN variable is not a <em>screen</em> in the sense we
-are describing in this introduction, but a collection of 
-parameters used to assist in optimizing the display.)
-The arguments are the type of the terminal (a string) and
-<CODE>FILE</CODE> pointers for the output and input of the terminal.  If
-type is NULL then the environment variable <CODE>$TERM</CODE> is used.
-<CODE>endwin()</CODE> should called once at wrapup time for each terminal
-opened using this function.
-<DT> <CODE>set_term(new)</CODE>
-<DD> This function is used to switch to a different terminal previously
-opened by <CODE>newterm()</CODE>.  The screen reference for the new terminal
-is passed as the parameter.  The previous terminal is returned by the
-function.  All other calls affect only the current terminal.
-<DT> <CODE>delscreen(sp)</CODE>
-<DD> The inverse of <CODE>newterm()</CODE>; deallocates the data structures
-associated with a given <CODE>SCREEN</CODE> reference.
-</DL>
+  <p>In order to clean up after the <code>ncurses</code> routines,
+  the routine <code>endwin()</code> is provided. It restores tty
+  modes to what they were when <code>initscr()</code> was first
+  called, and moves the cursor down to the lower-left corner. Thus,
+  anytime after the call to initscr, <code>endwin()</code> should
+  be called before exiting.</p>
 
-<H3><A NAME="flush">Causing Output to the Terminal</A></H3>
+  <h3><a name="functions" id="functions">Function Descriptions</a></h3>
 
-<DL>
-<DT> <CODE>refresh()</CODE> and <CODE>wrefresh(win)</CODE>
-<DD> These functions must be called to actually get any output on
-the  terminal,  as  other  routines  merely  manipulate data
-structures.  <CODE>wrefresh()</CODE> copies the named window  to the physical
-terminal screen,  taking  into account  what is already
-there in  order to  do optimizations.  <CODE>refresh()</CODE> does a
-refresh of <CODE>stdscr</CODE>.   Unless <CODE>leaveok()</CODE> has been
-enabled, the physical cursor of the terminal is left at  the
-location of the window's cursor.
-<DT> <CODE>doupdate()</CODE> and <CODE>wnoutrefresh(win)</CODE>
-<DD> These two functions allow multiple updates with more efficiency
-than wrefresh.  To use them, it is important to understand how curses
-works.  In addition to all the window structures, curses keeps two
-data structures representing the terminal screen: a physical screen,
-describing what is actually on the screen, and a virtual screen,
-describing what the programmer wants to have on the screen.  wrefresh
-works by first copying the named window to the virtual screen
-(<CODE>wnoutrefresh()</CODE>), and then calling the routine to update the
-screen (<CODE>doupdate()</CODE>).  If the programmer wishes to output
-several windows at once, a series of calls to <CODE>wrefresh</CODE> will result
-in alternating calls to <CODE>wnoutrefresh()</CODE> and <CODE>doupdate()</CODE>,
-causing several bursts of output to the screen.  By calling
-<CODE>wnoutrefresh()</CODE> for each window, it is then possible to call
-<CODE>doupdate()</CODE> once, resulting in only one burst of output, with
-fewer total characters transmitted (this also avoids a visually annoying
-flicker at each update).
-</DL>
+  <p>We describe the detailed behavior of some important curses
+  functions here, as a supplement to the manual page
+  descriptions.</p>
 
-<H3><A NAME="lowlevel">Low-Level Capability Access</A></H3>
+  <h4><a name="init" id="init">Initialization and Wrapup</a></h4>
 
-<DL>
-<DT> <CODE>setupterm(term, filenum, errret)</CODE>
-<DD> This routine is called to initialize a terminal's description, without setting
-up the curses screen structures or changing the tty-driver mode bits.
-<CODE>term</CODE> is the character string representing the name of the terminal
-being used.  <CODE>filenum</CODE> is the UNIX file descriptor of the terminal to
-be used for output.  <CODE>errret</CODE> is a pointer to an integer, in which a
-success or failure indication is returned.  The values returned can be 1 (all
-is well), 0 (no such terminal), or -1 (some problem locating the terminfo
-database). <P>
+  <dl>
+    <dt><code>initscr()</code>
+    </dt>
 
-The value of <CODE>term</CODE> can be given as NULL, which will cause the value of
-<CODE>TERM</CODE> in the environment to be used.  The <CODE>errret</CODE> pointer can
-also be given as NULL, meaning no error code is wanted.  If <CODE>errret</CODE> is
-defaulted, and something goes wrong, <CODE>setupterm()</CODE> will print an
-appropriate error message and exit, rather than returning.  Thus, a simple
-program can call setupterm(0, 1, 0) and not worry about initialization
-errors. <P>
+    <dd>The first function called should almost always be
+    <code>initscr()</code>. This will determine the terminal type
+    and initialize curses data structures. <code>initscr()</code>
+    also arranges that the first call to <code>refresh()</code>
+    will clear the screen. If an error occurs a message is written
+    to standard error and the program exits. Otherwise it returns a
+    pointer to stdscr. A few functions may be called before initscr
+    (<code>slk_init()</code>, <code>filter()</code>,
+    <code>ripoffline()</code>, <code>use_env()</code>, and, if you
+    are using multiple terminals, <code>newterm()</code>.)</dd>
 
-After the call to <CODE>setupterm()</CODE>, the global variable <CODE>cur_term</CODE> is
-set to point to the current structure of terminal capabilities. By calling
-<CODE>setupterm()</CODE> for each terminal, and saving and restoring
-<CODE>cur_term</CODE>, it is possible for a program to use two or more terminals at
-once.  <CODE>Setupterm()</CODE> also stores the names section of the terminal
-description in the global character array <CODE>ttytype[]</CODE>.  Subsequent calls
-to <CODE>setupterm()</CODE> will overwrite this array, so you'll have to save it
-yourself if need be.
-</DL>
+    <dt><code>endwin()</code>
+    </dt>
 
-<H3><A NAME="debugging">Debugging</A></H3>
+    <dd>Your program should always call <code>endwin()</code>
+    before exiting or shelling out of the program. This function
+    will restore tty modes, move the cursor to the lower left
+    corner of the screen, reset the terminal into the proper
+    non-visual mode. Calling <code>refresh()</code> or
+    <code>doupdate()</code> after a temporary escape from the
+    program will restore the ncurses screen from before the
+    escape.</dd>
 
-<!-- The 'note' tag is not portable enough -->
-<blockquote>
-<strong>NOTE:</strong> These functions are not part of the standard curses API!
-</blockquote>
+    <dt><code>newterm(type, ofp, ifp)</code>
+    </dt>
 
-<DL>
-<DT> <CODE>trace()</CODE>
-<DD>
-This function can be used to explicitly set a trace level.  If the
-trace level is nonzero, execution of your program will generate a file
-called `trace' in the current working directory containing a report on
-the library's actions.  Higher trace levels enable more detailed (and
-verbose) reporting -- see comments attached to <CODE>TRACE_</CODE> defines
-in the <CODE>curses.h</CODE> file for details.  (It is also possible to set
-a trace level by assigning a trace level value to the environment variable
-<CODE>NCURSES_TRACE</CODE>).
-<DT> <CODE>_tracef()</CODE>
-<DD>
-This function can be used to output your own debugging information.  It is only
-available only if you link with -lncurses_g.  It can be used the same way as
-<CODE>printf()</CODE>, only it outputs a newline after the end of arguments.
-The output goes to a file called <CODE>trace</CODE> in the current directory.
-</DL>
+    <dd>A program which outputs to more than one terminal should
+    use <code>newterm()</code> instead of <code>initscr()</code>.
+    <code>newterm()</code> should be called once for each terminal.
+    It returns a variable of type <code>SCREEN *</code> which
+    should be saved as a reference to that terminal. (NOTE: a
+    SCREEN variable is not a <em>screen</em> in the sense we are
+    describing in this introduction, but a collection of parameters
+    used to assist in optimizing the display.) The arguments are
+    the type of the terminal (a string) and <code>FILE</code>
+    pointers for the output and input of the terminal. If type is
+    NULL then the environment variable <code>$TERM</code> is used.
+    <code>endwin()</code> should called once at wrapup time for
+    each terminal opened using this function.</dd>
 
-Trace logs can be difficult to interpret due to the sheer volume of
-data dumped in them.  There is a script called <STRONG>tracemunch</STRONG>
-included with the <CODE>ncurses</CODE> distribution that can alleviate
-this problem somewhat; it compacts long sequences of similar operations into
-more succinct single-line pseudo-operations. These pseudo-ops can be
-distinguished by the fact that they are named in capital letters.
+    <dt><code>set_term(new)</code>
+    </dt>
 
-<H2><A NAME="hints">Hints, Tips, and Tricks</A></H2>
+    <dd>This function is used to switch to a different terminal
+    previously opened by <code>newterm()</code>. The screen
+    reference for the new terminal is passed as the parameter. The
+    previous terminal is returned by the function. All other calls
+    affect only the current terminal.</dd>
 
-The <CODE>ncurses</CODE> manual pages are a complete reference for this library.
-In the remainder of this document, we discuss various useful methods that
-may not be obvious from the manual page descriptions.
+    <dt><code>delscreen(sp)</code>
+    </dt>
 
-<H3><A NAME="caution">Some Notes of Caution</A></H3>
+    <dd>The inverse of <code>newterm()</code>; deallocates the data
+    structures associated with a given <code>SCREEN</code>
+    reference.</dd>
+  </dl>
 
-If you find yourself thinking you need to use <CODE>noraw()</CODE> or
-<CODE>nocbreak()</CODE>, think again and move carefully.  It's probably
-better design to use <CODE>getstr()</CODE> or one of its relatives to
-simulate cooked mode.  The <CODE>noraw()</CODE> and <CODE>nocbreak()</CODE>
-functions try to restore cooked mode, but they may end up clobbering
-some control bits set before you started your application.  Also, they
-have always been poorly documented, and are likely to hurt your
-application's usability with other curses libraries. <P>
+  <h4><a name="flush" id="flush">Causing Output to the Terminal</a></h4>
 
-Bear in mind that <CODE>refresh()</CODE> is a synonym for <CODE>wrefresh(stdscr)</CODE>.
-Don't try to mix use of <CODE>stdscr</CODE> with use of windows declared
-by <CODE>newwin()</CODE>; a <CODE>refresh()</CODE> call will blow them off the
-screen.  The right way to handle this is to use <CODE>subwin()</CODE>, or
-not touch <CODE>stdscr</CODE> at all and tile your screen with declared
-windows which you then <CODE>wnoutrefresh()</CODE> somewhere in your program
-event loop, with a single <CODE>doupdate()</CODE> call to trigger actual
-repainting. <P>
+  <dl>
+    <dt><code>refresh()</code> and <code>wrefresh(win)</code></dt>
 
-You are much less likely to run into problems if you design your screen
-layouts to use tiled rather than overlapping windows.  Historically,
-curses support for overlapping windows has been weak, fragile, and poorly
-documented.  The <CODE>ncurses</CODE> library is not yet an exception to this
-rule. <P>
+    <dd>These functions must be called to actually get any output
+    on the terminal, as other routines merely manipulate data
+    structures. <code>wrefresh()</code> copies the named window to
+    the physical terminal screen, taking into account what is
+    already there in order to do optimizations.
+    <code>refresh()</code> does a refresh of <code>stdscr</code>.
+    Unless <code>leaveok()</code> has been enabled, the physical
+    cursor of the terminal is left at the location of the window's
+    cursor.</dd>
 
-There is a panels library included in the <CODE>ncurses</CODE>
-distribution that does a pretty good job of strengthening the
-overlapping-windows facilities. <P>
+    <dt><code>doupdate()</code> and
+    <code>wnoutrefresh(win)</code></dt>
 
-Try to avoid using the global variables LINES and COLS.  Use
-<CODE>getmaxyx()</CODE> on the <CODE>stdscr</CODE> context instead.  Reason:
-your code may be ported to run in an environment with window resizes,
-in which case several screens could be open with different sizes.
+    <dd>These two functions allow multiple updates with more
+    efficiency than wrefresh. To use them, it is important to
+    understand how curses works. In addition to all the window
+    structures, curses keeps two data structures representing the
+    terminal screen: a physical screen, describing what is actually
+    on the screen, and a virtual screen, describing what the
+    programmer wants to have on the screen. wrefresh works by first
+    copying the named window to the virtual screen
+    (<code>wnoutrefresh()</code>), and then calling the routine to
+    update the screen (<code>doupdate()</code>). If the programmer
+    wishes to output several windows at once, a series of calls to
+    <code>wrefresh</code> will result in alternating calls to
+    <code>wnoutrefresh()</code> and <code>doupdate()</code>,
+    causing several bursts of output to the screen. By calling
+    <code>wnoutrefresh()</code> for each window, it is then
+    possible to call <code>doupdate()</code> once, resulting in
+    only one burst of output, with fewer total characters
+    transmitted (this also avoids a visually annoying flicker at
+    each update).</dd>
+  </dl>
 
-<H3><A NAME="leaving">Temporarily Leaving NCURSES Mode</A></H3>
+  <h4><a name="lowlevel" id="lowlevel">Low-Level Capability
+  Access</a></h4>
 
-Sometimes you will want to write a program that spends most of its time in
-screen mode, but occasionally returns to ordinary `cooked' mode.  A common
-reason for this is to support shell-out.  This behavior is simple to arrange
-in <CODE>ncurses</CODE>. <P>
+  <dl>
+    <dt><code>setupterm(term, filenum, errret)</code>
+    </dt>
 
-To leave <CODE>ncurses</CODE> mode, call <CODE>endwin()</CODE> as you would if you
-were intending to terminate the program.  This will take the screen back to
-cooked mode; you can do your shell-out.  When you want to return to
-<CODE>ncurses</CODE> mode, simply call <CODE>refresh()</CODE> or <CODE>doupdate()</CODE>.
-This will repaint the screen. <P>
+    <dd>
+      This routine is called to initialize a terminal's
+      description, without setting up the curses screen structures
+      or changing the tty-driver mode bits. <code>term</code> is
+      the character string representing the name of the terminal
+      being used. <code>filenum</code> is the UNIX file descriptor
+      of the terminal to be used for output. <code>errret</code> is
+      a pointer to an integer, in which a success or failure
+      indication is returned. The values returned can be 1 (all is
+      well), 0 (no such terminal), or -1 (some problem locating the
+      terminfo database).
+      <p>The value of <code>term</code> can be given as NULL, which
+      will cause the value of <code>TERM</code> in the environment
+      to be used. The <code>errret</code> pointer can also be given
+      as NULL, meaning no error code is wanted. If
+      <code>errret</code> is defaulted, and something goes wrong,
+      <code>setupterm()</code> will print an appropriate error
+      message and exit, rather than returning. Thus, a simple
+      program can call setupterm(0, 1, 0) and not worry about
+      initialization errors.</p>
 
-There is a boolean function, <CODE>isendwin()</CODE>, which code can use to
-test whether <CODE>ncurses</CODE> screen mode is active.  It returns <CODE>TRUE</CODE>
-in the interval between an <CODE>endwin()</CODE> call and the following
-<CODE>refresh()</CODE>, <CODE>FALSE</CODE> otherwise.  <P>
+      <p>After the call to <code>setupterm()</code>, the global
+      variable <code>cur_term</code> is set to point to the current
+      structure of terminal capabilities. By calling
+      <code>setupterm()</code> for each terminal, and saving and
+      restoring <code>cur_term</code>, it is possible for a program
+      to use two or more terminals at once.
+      <code>Setupterm()</code> also stores the names section of the
+      terminal description in the global character array
+      <code>ttytype[]</code>. Subsequent calls to
+      <code>setupterm()</code> will overwrite this array, so you
+      will have to save it yourself if need be.</p>
+    </dd>
+  </dl>
 
-Here is some sample code for shellout:
+  <h4><a name="debugging" id="debugging">Debugging</a></h4>
 
-<PRE>
+  <blockquote>
+    <strong>NOTE:</strong> These functions are not part of the
+    standard curses API!
+  </blockquote>
+
+  <dl>
+    <dt><code>trace()</code>
+    </dt>
+
+    <dd>This function can be used to explicitly set a trace level.
+    If the trace level is nonzero, execution of your program will
+    generate a file called &ldquo;trace&rdquo; in the current
+    working directory containing a report on the library's actions.
+    Higher trace levels enable more detailed (and verbose)
+    reporting -- see comments attached to <code>TRACE_</code>
+    defines in the <code>curses.h</code> file for details. (It is
+    also possible to set a trace level by assigning a trace level
+    value to the environment variable
+    <code>NCURSES_TRACE</code>).</dd>
+
+    <dt><code>_tracef()</code>
+    </dt>
+
+    <dd>This function can be used to output your own debugging
+    information. It is only available only if you link with
+    -lncurses_g. It can be used the same way as
+    <code>printf()</code>, only it outputs a newline after the end
+    of arguments. The output goes to a file called
+    <code>trace</code> in the current directory.</dd>
+  </dl>
+
+  <p>Trace logs can be difficult to interpret due to the sheer
+  volume of data dumped in them. There is a script called
+  <strong>tracemunch</strong> included with the
+  <code>ncurses</code> distribution that can alleviate this problem
+  somewhat; it compacts long sequences of similar operations into
+  more succinct single-line pseudo-operations. These pseudo-ops can
+  be distinguished by the fact that they are named in capital
+  letters.</p>
+
+  <h3><a name="hints" id="hints">Hints, Tips, and Tricks</a></h3>
+
+  <p>The <code>ncurses</code> manual pages are a complete reference
+  for this library. In the remainder of this document, we discuss
+  various useful methods that may not be obvious from the manual
+  page descriptions.</p>
+
+  <h4><a name="caution" id="caution">Some Notes of Caution</a></h4>
+
+  <p>If you find yourself thinking you need to use
+  <code>noraw()</code> or <code>nocbreak()</code>, think again and
+  move carefully. It is probably better design to use
+  <code>getstr()</code> or one of its relatives to simulate cooked
+  mode. The <code>noraw()</code> and <code>nocbreak()</code>
+  functions try to restore cooked mode, but they may end up
+  clobbering some control bits set before you started your
+  application. Also, they have always been poorly documented, and
+  are likely to hurt your application's usability with other curses
+  libraries.</p>
+
+  <p>Bear in mind that <code>refresh()</code> is a synonym for
+  <code>wrefresh(stdscr)</code>. Do not try to mix use of
+  <code>stdscr</code> with use of windows declared by
+  <code>newwin()</code>; a <code>refresh()</code> call will blow
+  them off the screen. The right way to handle this is to use
+  <code>subwin()</code>, or not touch <code>stdscr</code> at all
+  and tile your screen with declared windows which you then
+  <code>wnoutrefresh()</code> somewhere in your program event loop,
+  with a single <code>doupdate()</code> call to trigger actual
+  repainting.</p>
+
+  <p>You are much less likely to run into problems if you design
+  your screen layouts to use tiled rather than overlapping windows.
+  Historically, curses support for overlapping windows has been
+  weak, fragile, and poorly documented. The <code>ncurses</code>
+  library is not yet an exception to this rule.</p>
+
+  <p>There is a panels library included in the <code>ncurses</code>
+  distribution that does a pretty good job of strengthening the
+  overlapping-windows facilities.</p>
+
+  <p>Try to avoid using the global variables LINES and COLS. Use
+  <code>getmaxyx()</code> on the <code>stdscr</code> context
+  instead. Reason: your code may be ported to run in an environment
+  with window resizes, in which case several screens could be open
+  with different sizes.</p>
+
+  <h4><a name="leaving" id="leaving">Temporarily Leaving NCURSES
+  Mode</a></h4>
+
+  <p>Sometimes you will want to write a program that spends most of
+  its time in screen mode, but occasionally returns to ordinary
+  &ldquo;cooked&rdquo; mode. A common reason for this is to support
+  shell-out. This behavior is simple to arrange in
+  <code>ncurses</code>.</p>
+
+  <p>To leave <code>ncurses</code> mode, call <code>endwin()</code>
+  as you would if you were intending to terminate the program. This
+  will take the screen back to cooked mode; you can do your
+  shell-out. When you want to return to <code>ncurses</code> mode,
+  simply call <code>refresh()</code> or <code>doupdate()</code>.
+  This will repaint the screen.</p>
+
+  <p>There is a boolean function, <code>isendwin()</code>, which
+  code can use to test whether <code>ncurses</code> screen mode is
+  active. It returns <code>TRUE</code> in the interval between an
+  <code>endwin()</code> call and the following
+  <code>refresh()</code>, <code>FALSE</code> otherwise.</p>
+
+  <p>Here is some sample code for shellout:</p>
+
+  <pre class="code-block">
     addstr("Shelling out...");
     def_prog_mode();           /* save current tty modes */
     endwin();                  /* restore original tty modes */
     system("sh");              /* run shell */
     addstr("returned.\n");     /* prepare return message */
     refresh();                 /* restore save modes, repaint screen */
-</PRE>
+</pre>
+  <h4><a name="xterm" id="xterm">Using NCURSES under XTERM</a></h4>
 
-<H3><A NAME="xterm">Using NCURSES under XTERM</A></H3>
+  <p>A resize operation in X sends <code>SIGWINCH</code> to the
+  application running under xterm. The easiest way to handle
+  <code>SIGWINCH</code> is to do an <code>endwin</code>, followed
+  by an <code>refresh</code> and a screen repaint you code
+  yourself. The <code>refresh</code> will pick up the new screen
+  size from the xterm's environment.</p>
 
-A resize operation in X sends <CODE>SIGWINCH</CODE> to the application running
-under xterm.
+  <p>That is the standard way, of course (it even works with some
+  vendor's curses implementations). Its drawback is that it clears
+  the screen to reinitialize the display, and does not resize
+  subwindows which must be shrunk. <code>Ncurses</code> provides an
+  extension which works better, the <code>resizeterm</code>
+  function. That function ensures that all windows are limited to
+  the new screen dimensions, and pads <code>stdscr</code> with
+  blanks if the screen is larger.</p>
 
-The easiest way to handle <CODE>SIGWINCH</CODE>
-is to do an <CODE>endwin</CODE>,
-followed by an <CODE>refresh</CODE> and a screen repaint you code
-yourself.
-The <CODE>refresh</CODE> will pick up the new screen size from the
-xterm's environment. <P>
+  <p>The <code>ncurses</code> library provides a SIGWINCH signal
+  handler, which pushes a <code>KEY_RESIZE</code> via the wgetch()
+  calls. When <code>ncurses</code> returns that code, it calls
+  <code>resizeterm</code> to update the size of the standard
+  screen's window, repainting that (filling with blanks or
+  truncating as needed). It also resizes other windows, but its
+  effect may be less satisfactory because it cannot know how you
+  want the screen re-painted. You will usually have to write
+  special-purpose code to handle <code>KEY_RESIZE</code>
+  yourself.</p>
 
-That is the standard way, of course (it even works with some vendor's curses
-implementations).
-Its drawback is that it clears the screen to reinitialize the display, and does
-not resize subwindows which must be shrunk.
-<CODE>Ncurses</CODE> provides an extension which works better, the
-<CODE>resizeterm</CODE> function.  That function ensures that all windows
-are limited to the new screen dimensions, and pads <CODE>stdscr</CODE>
-with blanks if the screen is larger. <P>
+  <h4><a name="screens" id="screens">Handling Multiple Terminal
+  Screens</a></h4>
 
-The <CODE>ncurses</CODE> library provides a SIGWINCH signal handler,
-which pushes a <CODE>KEY_RESIZE</CODE> via the wgetch() calls.
-When <CODE>ncurses</CODE> returns that code,
-it calls <code>resizeterm</CODE>
-to update the size of the standard screen's window, repainting that
-(filling with blanks or truncating as needed).
-It also resizes other windows,
-but its effect may be less satisfactory because it cannot
-know how you want the screen re-painted.
-You will usually have to write special-purpose code to handle
-<CODE>KEY_RESIZE</CODE> yourself.
+  <p>The <code>initscr()</code> function actually calls a function
+  named <code>newterm()</code> to do most of its work. If you are
+  writing a program that opens multiple terminals, use
+  <code>newterm()</code> directly.</p>
 
-<H3><A NAME="screens">Handling Multiple Terminal Screens</A></H3>
+  <p>For each call, you will have to specify a terminal type and a
+  pair of file pointers; each call will return a screen reference,
+  and <code>stdscr</code> will be set to the last one allocated.
+  You will switch between screens with the <code>set_term</code>
+  call. Note that you will also have to call
+  <code>def_shell_mode</code> and <code>def_prog_mode</code> on
+  each tty yourself.</p>
 
-The <CODE>initscr()</CODE> function actually calls a function named
-<CODE>newterm()</CODE> to do most of its work.  If you are writing a program that
-opens multiple terminals, use <CODE>newterm()</CODE> directly. <P>
+  <h4><a name="testing" id="testing">Testing for Terminal
+  Capabilities</a></h4>
 
-For each call, you will have to specify a terminal type and a pair of file
-pointers; each call will return a screen reference, and <CODE>stdscr</CODE> will be
-set to the last one allocated.  You will switch between screens with the
-<CODE>set_term</CODE> call.  Note that you will also have to call
-<CODE>def_shell_mode</CODE> and <CODE>def_prog_mode</CODE> on each tty yourself.
+  <p>Sometimes you may want to write programs that test for the
+  presence of various capabilities before deciding whether to go
+  into <code>ncurses</code> mode. An easy way to do this is to call
+  <code>setupterm()</code>, then use the functions
+  <code>tigetflag()</code>, <code>tigetnum()</code>, and
+  <code>tigetstr()</code> to do your testing.</p>
 
-<H3><A NAME="testing">Testing for Terminal Capabilities</A></H3>
+  <p>A particularly useful case of this often comes up when you
+  want to test whether a given terminal type should be treated as
+  &ldquo;smart&rdquo; (cursor-addressable) or &ldquo;stupid&rdquo;.
+  The right way to test this is to see if the return value of
+  <code>tigetstr("cup")</code> is non-NULL. Alternatively, you can
+  include the <code>term.h</code> file and test the value of the
+  macro <code>cursor_address</code>.</p>
 
-Sometimes you may want to write programs that test for the presence of various
-capabilities before deciding whether to go into <CODE>ncurses</CODE> mode.  An easy
-way to do this is to call <CODE>setupterm()</CODE>, then use the functions
-<CODE>tigetflag()</CODE>, <CODE>tigetnum()</CODE>, and <CODE>tigetstr()</CODE> to do your
-testing. <P>
+  <h4><a name="tuning" id="tuning">Tuning for Speed</a></h4>
 
-A particularly useful case of this often comes up when you want to
-test whether a given terminal type should be treated as `smart'
-(cursor-addressable) or `stupid'.  The right way to test this is to see
-if the return value of <CODE>tigetstr("cup")</CODE> is non-NULL.  Alternatively,
-you can include the <CODE>term.h</CODE> file and test the value of the
-macro <CODE>cursor_address</CODE>.
+  <p>Use the <code>addchstr()</code> family of functions for fast
+  screen-painting of text when you know the text does not contain
+  any control characters. Try to make attribute changes infrequent
+  on your screens. Do not use the <code>immedok()</code>
+  option!</p>
 
-<H3><A NAME="tuning">Tuning for Speed</A></H3>
+  <h4><a name="special" id="special">Special Features of
+  NCURSES</a></h4>
 
-Use the <CODE>addchstr()</CODE> family of functions for fast
-screen-painting of text when you know the text doesn't contain any
-control characters.  Try to make attribute changes infrequent on your
-screens.  Don't use the <CODE>immedok()</CODE> option!
+  <p>The <code>wresize()</code> function allows you to resize a
+  window in place. The associated <code>resizeterm()</code>
+  function simplifies the construction of <a href=
+  "#xterm">SIGWINCH</a> handlers, for resizing all windows.</p>
 
-<H3><A NAME="special">Special Features of NCURSES</A></H3>
+  <p>The <code>define_key()</code> function allows you to define at
+  runtime function-key control sequences which are not in the
+  terminal description. The <code>keyok()</code> function allows
+  you to temporarily enable or disable interpretation of any
+  function-key control sequence.</p>
 
-The <CODE>wresize()</CODE> function allows you to resize a window in place.
-The associated <CODE>resizeterm()</CODE> function simplifies the construction
-of <a HREF="#xterm">SIGWINCH</a> handlers, for resizing all windows.  <P>
+  <p>The <code>use_default_colors()</code> function allows you to
+  construct applications which can use the terminal's default
+  foreground and background colors as an additional "default"
+  color. Several terminal emulators support this feature, which is
+  based on ISO 6429.</p>
 
-The <CODE>define_key()</CODE> function allows you
-to define at runtime function-key control sequences which are not in the
-terminal description.
-The <CODE>keyok()</CODE> function allows you to temporarily
-enable or disable interpretation of any function-key control sequence. <P>
+  <p>Ncurses supports up 16 colors, unlike SVr4 curses which
+  defines only 8. While most terminals which provide color allow
+  only 8 colors, about a quarter (including XFree86 xterm) support
+  16 colors.</p>
 
-The <CODE>use_default_colors()</CODE> function allows you to construct
-applications which can use the terminal's default foreground and
-background colors as an additional "default" color.
-Several terminal emulators support this feature, which is based on ISO 6429. <P>
+  <h3><a name="compat" id="compat">Compatibility with Older
+  Versions</a></h3>
 
-Ncurses supports up 16 colors, unlike SVr4 curses which defines only 8.
-While most terminals which provide color allow only 8 colors, about
-a quarter (including XFree86 xterm) support 16 colors.
+  <p>Despite our best efforts, there are some differences between
+  <code>ncurses</code> and the (undocumented!) behavior of older
+  curses implementations. These arise from ambiguities or omissions
+  in the documentation of the API.</p>
 
-<H2><A NAME="compat">Compatibility with Older Versions</A></H2>
+  <h4><a name="refbug" id="refbug">Refresh of Overlapping
+  Windows</a></h4>
 
-Despite our best efforts, there are some differences between <CODE>ncurses</CODE>
-and the (undocumented!) behavior of older curses implementations.  These arise
-from ambiguities or omissions in the documentation of the API.
+  <p>If you define two windows A and B that overlap, and then
+  alternately scribble on and refresh them, the changes made to the
+  overlapping region under historic <code>curses</code> versions
+  were often not documented precisely.</p>
 
-<H3><A NAME="refbug">Refresh of Overlapping Windows</A></H3>
+  <p>To understand why this is a problem, remember that screen
+  updates are calculated between two representations of the
+  <em>entire</em> display. The documentation says that when you
+  refresh a window, it is first copied to the virtual screen, and
+  then changes are calculated to update the physical screen (and
+  applied to the terminal). But "copied to" is not very specific,
+  and subtle differences in how copying works can produce different
+  behaviors in the case where two overlapping windows are each
+  being refreshed at unpredictable intervals.</p>
 
-If you define two windows A and B that overlap, and then alternately scribble
-on and refresh them, the changes made to the overlapping region under historic
-<CODE>curses</CODE> versions were often not documented precisely. <P>
+  <p>What happens to the overlapping region depends on what
+  <code>wnoutrefresh()</code> does with its argument -- what
+  portions of the argument window it copies to the virtual screen.
+  Some implementations do "change copy", copying down only
+  locations in the window that have changed (or been marked changed
+  with <code>wtouchln()</code> and friends). Some implementations
+  do "entire copy", copying <em>all</em> window locations to the
+  virtual screen whether or not they have changed.</p>
 
-To understand why this is a problem, remember that screen updates are
-calculated between two representations of the <EM>entire</EM> display. The
-documentation says that when you refresh a window, it is first copied to the
-virtual screen, and then changes are calculated to update the physical screen
-(and applied to the terminal).  But "copied to" is not very specific, and
-subtle differences in how copying works can produce different behaviors in the
-case where two overlapping windows are each being refreshed at unpredictable
-intervals. <P>
+  <p>The <code>ncurses</code> library itself has not always been
+  consistent on this score. Due to a bug, versions 1.8.7 to 1.9.8a
+  did entire copy. Versions 1.8.6 and older, and versions 1.9.9 and
+  newer, do change copy.</p>
 
-What happens to the overlapping region depends on what <CODE>wnoutrefresh()</CODE>
-does with its argument -- what portions of the argument window it copies to the
-virtual screen.  Some implementations do "change copy", copying down only
-locations in the window that have changed (or been marked changed with
-<CODE>wtouchln()</CODE> and friends).  Some implementations do  "entire copy",
-copying <EM>all</EM> window locations to the virtual screen whether or not
-they have changed. <P>
+  <p>For most commercial curses implementations, it is not
+  documented and not known for sure (at least not to the
+  <code>ncurses</code> maintainers) whether they do change copy or
+  entire copy. We know that System V release 3 curses has logic in
+  it that looks like an attempt to do change copy, but the
+  surrounding logic and data representations are sufficiently
+  complex, and our knowledge sufficiently indirect, that it is hard
+  to know whether this is reliable. It is not clear what the SVr4
+  documentation and XSI standard intend. The XSI Curses standard
+  barely mentions wnoutrefresh(); the SVr4 documents seem to be
+  describing entire-copy, but it is possible with some effort and
+  straining to read them the other way.</p>
 
-The <CODE>ncurses</CODE> library itself has not always been consistent on this
-score.  Due to a bug, versions 1.8.7 to 1.9.8a did entire copy.  Versions
-1.8.6 and older, and versions 1.9.9 and newer, do change copy. <P>
+  <p>It might therefore be unwise to rely on either behavior in
+  programs that might have to be linked with other curses
+  implementations. Instead, you can do an explicit
+  <code>touchwin()</code> before the <code>wnoutrefresh()</code>
+  call to guarantee an entire-contents copy anywhere.</p>
 
-For most commercial curses implementations, it is not documented and not known
-for sure (at least not to the <CODE>ncurses</CODE> maintainers) whether they do
-change copy or entire copy.  We know that System V release 3 curses has logic
-in it that looks like an attempt to do change copy, but the surrounding logic
-and data representations are sufficiently complex, and our knowledge
-sufficiently indirect, that it's hard to know whether this is reliable.
+  <p>The really clean way to handle this is to use the panels
+  library. If, when you want a screen update, you do
+  <code>update_panels()</code>, it will do all the necessary
+  <code>wnoutrefresh()</code> calls for whatever panel stacking
+  order you have defined. Then you can do one
+  <code>doupdate()</code> and there will be a <em>single</em> burst
+  of physical I/O that will do all your updates.</p>
 
-It is not clear what the SVr4 documentation and XSI standard intend.  The XSI
-Curses standard barely mentions wnoutrefresh(); the SVr4 documents seem to be
-describing entire-copy, but it is possible with some effort and straining to
-read them the other way. <P>
+  <h4><a name="backbug" id="backbug">Background Erase</a></h4>
 
-It might therefore be unwise to rely on either behavior in programs that might
-have to be linked with other curses implementations.  Instead, you can do an
-explicit <CODE>touchwin()</CODE> before the <CODE>wnoutrefresh()</CODE> call to
-guarantee an entire-contents copy anywhere. <P>
+  <p>If you have been using a very old versions of
+  <code>ncurses</code> (1.8.7 or older) you may be surprised by the
+  behavior of the erase functions. In older versions, erased areas
+  of a window were filled with a blank modified by the window's
+  current attribute (as set by <strong>wattrset()</strong>,
+  <strong>wattron()</strong>, <strong>wattroff()</strong> and
+  friends).</p>
 
-The really clean way to handle this is to use the panels library.  If,
-when you want a screen update, you do <CODE>update_panels()</CODE>, it will
-do all the necessary <CODE>wnoutrefresh()</CODE> calls for whatever panel
-stacking order you have defined.  Then you can do one <CODE>doupdate()</CODE>
-and there will be a <EM>single</EM> burst of physical I/O that will do
-all your updates.
+  <p>In newer versions, this is not so. Instead, the attribute of
+  erased blanks is normal unless and until it is modified by the
+  functions <code>bkgdset()</code> or <code>wbkgdset()</code>.</p>
 
-<H3><A NAME="backbug">Background Erase</A></H3>
+  <p>This change in behavior conforms <code>ncurses</code> to
+  System V Release 4 and the XSI Curses standard.</p>
 
-If you have been using a very old versions of <CODE>ncurses</CODE> (1.8.7 or
-older) you may be surprised by the behavior of the erase functions.  In older
-versions, erased areas of a window were filled with a blank modified by the
-window's current attribute (as set by <STRONG>wattrset()</STRONG>, <STRONG>wattron()</STRONG>,
-<STRONG>wattroff()</STRONG> and friends). <P>
+  <h3><a name="xsifuncs" id="xsifuncs">XSI Curses Conformance</a></h3>
 
-In newer versions, this is not so.  Instead, the attribute of erased blanks
-is normal unless and until it is modified by the functions <CODE>bkgdset()</CODE>
-or <CODE>wbkgdset()</CODE>. <P>
+  <p>The <code>ncurses</code> library is intended to be base-level
+  conformant with the XSI Curses standard from X/Open. Many
+  extended-level features (in fact, almost all features not
+  directly concerned with wide characters and internationalization)
+  are also supported.</p>
 
-This change in behavior conforms <CODE>ncurses</CODE> to System V Release 4 and
-the XSI Curses standard.
+  <p>One effect of XSI conformance is the change in behavior
+  described under <a href="#backbug">"Background Erase --
+  Compatibility with Old Versions"</a>.</p>
 
-<H2><A NAME="xsifuncs">XSI Curses Conformance</A></H2>
+  <p>Also, <code>ncurses</code> meets the XSI requirement that
+  every macro entry point have a corresponding function which may
+  be linked (and will be prototype-checked) if the macro definition
+  is disabled with <code>#undef</code>.</p>
 
-The <CODE>ncurses</CODE> library is intended to be base-level conformant with the
-XSI Curses standard from X/Open.  Many extended-level features (in fact, almost
-all features not directly concerned with wide characters and
-internationalization) are also supported. <P>
+  <h2><a name="panels" id="panels">The Panels Library</a></h2>
 
-One effect of XSI conformance is the change in behavior described under
-<A HREF="#backbug">"Background Erase -- Compatibility with Old Versions"</A>. <P>
+  <p>The <code>ncurses</code> library by itself provides good
+  support for screen displays in which the windows are tiled
+  (non-overlapping). In the more general case that windows may
+  overlap, you have to use a series of <code>wnoutrefresh()</code>
+  calls followed by a <code>doupdate()</code>, and be careful about
+  the order you do the window refreshes in. It has to be
+  bottom-upwards, otherwise parts of windows that should be
+  obscured will show through.</p>
 
-Also, <CODE>ncurses</CODE> meets the XSI requirement that every macro
-entry point have a corresponding function which may be linked (and
-will be prototype-checked) if the macro definition is disabled with
-<CODE>#undef</CODE>.
+  <p>When your interface design is such that windows may dive
+  deeper into the visibility stack or pop to the top at runtime,
+  the resulting book-keeping can be tedious and difficult to get
+  right. Hence the panels library.</p>
 
-<H1><A NAME="panels">The Panels Library</A></H1>
+  <p>The <code>panel</code> library first appeared in AT&amp;T
+  System V. The version documented here is the <code>panel</code>
+  code distributed with <code>ncurses</code>.</p>
 
-The <CODE>ncurses</CODE> library by itself provides good support for screen
-displays in which the windows are tiled (non-overlapping).  In the more
-general case that windows may overlap, you have to use a series of
-<CODE>wnoutrefresh()</CODE> calls followed by a <CODE>doupdate()</CODE>, and be
-careful about the order you do the window refreshes in.  It has to be
-bottom-upwards, otherwise parts of windows that should be obscured will
-show through. <P>
+  <h3><a name="pcompile" id="pcompile">Compiling With the Panels
+  Library</a></h3>
 
-When your interface design is such that windows may dive deeper into the
-visibility stack or pop to the top at runtime, the resulting book-keeping
-can be tedious and difficult to get right.  Hence the panels library. <P>
+  <p>Your panels-using modules must import the panels library
+  declarations with</p>
 
-The <CODE>panel</CODE> library first appeared in AT&amp;T System V.  The
-version documented here is the <CODE>panel</CODE> code distributed
-with <CODE>ncurses</CODE>.
+  <pre class="code-block">
+          #include &lt;panel.h&gt;
+</pre>
+  <p>and must be linked explicitly with the panels library using an
+  <code>-lpanel</code> argument. Note that they must also link the
+  <code>ncurses</code> library with <code>-lncurses</code>. Many
+  linkers are two-pass and will accept either order, but it is
+  still good practice to put <code>-lpanel</code> first and
+  <code>-lncurses</code> second.</p>
 
-<H2><A NAME="pcompile">Compiling With the Panels Library</A></H2>
+  <h3><a name="poverview" id="poverview">Overview of Panels</a></h3>
 
-Your panels-using modules must import the panels library declarations with
+  <p>A panel object is a window that is implicitly treated as part
+  of a <dfn>deck</dfn> including all other panel objects. The deck
+  has an implicit bottom-to-top visibility order. The panels
+  library includes an update function (analogous to
+  <code>refresh()</code>) that displays all panels in the deck in
+  the proper order to resolve overlaps. The standard window,
+  <code>stdscr</code>, is considered below all panels.</p>
 
-<PRE>
-	  #include &lt;panel.h&gt;
-</PRE>
+  <p>Details on the panels functions are available in the man
+  pages. We will just hit the highlights here.</p>
 
-and must be linked explicitly with the panels library using an
-<CODE>-lpanel</CODE> argument.  Note that they must also link the
-<CODE>ncurses</CODE> library with <CODE>-lncurses</CODE>.  Many linkers
-are two-pass and will accept either order, but it is still good practice
-to put <CODE>-lpanel</CODE> first and <CODE>-lncurses</CODE> second.
+  <p>You create a panel from a window by calling
+  <code>new_panel()</code> on a window pointer. It then becomes the
+  top of the deck. The panel's window is available as the value of
+  <code>panel_window()</code> called with the panel pointer as
+  argument.</p>
 
-<H2><A NAME="poverview">Overview of Panels</A></H2>
+  <p>You can delete a panel (removing it from the deck) with
+  <code>del_panel</code>. This will not deallocate the associated
+  window; you have to do that yourself. You can replace a panel's
+  window with a different window by calling
+  <code>replace_window</code>. The new window may be of different
+  size; the panel code will re-compute all overlaps. This operation
+  does not change the panel's position in the deck.</p>
 
-A panel object is a window that is implicitly treated as part of a
-<DFN>deck</DFN> including all other panel objects.  The deck has an implicit
-bottom-to-top visibility order.  The panels library includes an update
-function (analogous to <CODE>refresh()</CODE>) that displays all panels in the
-deck in the proper order to resolve overlaps.  The standard window,
-<CODE>stdscr</CODE>, is considered below all panels. <P>
+  <p>To move a panel's window, use <code>move_panel()</code>. The
+  <code>mvwin()</code> function on the panel's window is not
+  sufficient because it does not update the panels library's
+  representation of where the windows are. This operation leaves
+  the panel's depth, contents, and size unchanged.</p>
 
-Details on the panels functions are available in the man pages.  We'll just
-hit the highlights here. <P>
+  <p>Two functions (<code>top_panel()</code>,
+  <code>bottom_panel()</code>) are provided for rearranging the
+  deck. The first pops its argument window to the top of the deck;
+  the second sends it to the bottom. Either operation leaves the
+  panel's screen location, contents, and size unchanged.</p>
 
-You create a panel from a window by calling <CODE>new_panel()</CODE> on a
-window pointer.  It then becomes the top of the deck.  The panel's window
-is available as the value of <CODE>panel_window()</CODE> called with the
-panel pointer as argument.<P>
+  <p>The function <code>update_panels()</code> does all the
+  <code>wnoutrefresh()</code> calls needed to prepare for
+  <code>doupdate()</code> (which you must call yourself,
+  afterwards).</p>
 
-You can delete a panel (removing it from the deck) with <CODE>del_panel</CODE>.
-This will not deallocate the associated window; you have to do that yourself.
+  <p>Typically, you will want to call <code>update_panels()</code>
+  and <code>doupdate()</code> just before accepting command input,
+  once in each cycle of interaction with the user. If you call
+  <code>update_panels()</code> after each and every panel write,
+  you will generate a lot of unnecessary refresh activity and
+  screen flicker.</p>
 
-You can replace a panel's window with a different window by calling
-<CODE>replace_window</CODE>.  The new window may be of different size;
-the panel code will re-compute all overlaps.  This operation doesn't
-change the panel's position in the deck. <P>
+  <h3><a name="pstdscr" id="pstdscr">Panels, Input, and the
+  Standard Screen</a></h3>
 
-To move a panel's window, use <CODE>move_panel()</CODE>.  The
-<CODE>mvwin()</CODE> function on the panel's window isn't sufficient because it
-doesn't update the panels library's representation of where the windows are.
-This operation leaves the panel's depth, contents, and size unchanged. <P>
+  <p>You should not mix <code>wnoutrefresh()</code> or
+  <code>wrefresh()</code> operations with panels code; this will
+  work only if the argument window is either in the top panel or
+  unobscured by any other panels.</p>
 
-Two functions (<CODE>top_panel()</CODE>, <CODE>bottom_panel()</CODE>) are
-provided for rearranging the deck.  The first pops its argument window to the
-top of the deck; the second sends it to the bottom.  Either operation leaves
-the panel's screen location, contents, and size unchanged. <P>
+  <p>The <code>stsdcr</code> window is a special case. It is
+  considered below all panels. Because changes to panels may
+  obscure parts of <code>stdscr</code>, though, you should call
+  <code>update_panels()</code> before <code>doupdate()</code> even
+  when you only change <code>stdscr</code>.</p>
 
-The function <CODE>update_panels()</CODE> does all the
-<CODE>wnoutrefresh()</CODE> calls needed to prepare for
-<CODE>doupdate()</CODE> (which you must call yourself, afterwards). <P>
+  <p>Note that <code>wgetch</code> automatically calls
+  <code>wrefresh</code>. Therefore, before requesting input from a
+  panel window, you need to be sure that the panel is totally
+  unobscured.</p>
 
-Typically, you will want to call <CODE>update_panels()</CODE> and
-<CODE>doupdate()</CODE> just before accepting command input, once in each cycle
-of interaction with the user.  If you call <CODE>update_panels()</CODE> after
-each and every panel write, you'll generate a lot of unnecessary refresh
-activity and screen flicker.
+  <p>There is presently no way to display changes to one obscured
+  panel without repainting all panels.</p>
+
+  <h3><a name="hiding" id="hiding">Hiding Panels</a></h3>
+
+  <p>It is possible to remove a panel from the deck temporarily;
+  use <code>hide_panel</code> for this. Use
+  <code>show_panel()</code> to render it visible again. The
+  predicate function <code>panel_hidden</code> tests whether or not
+  a panel is hidden.</p>
+
+  <p>The <code>panel_update</code> code ignores hidden panels. You
+  cannot do <code>top_panel()</code> or <code>bottom_panel</code>
+  on a hidden panel(). Other panels operations are applicable.</p>
+
+  <h3><a name="pmisc" id="pmisc">Miscellaneous Other Facilities</a></h3>
+
+  <p>It is possible to navigate the deck using the functions
+  <code>panel_above()</code> and <code>panel_below</code>. Handed a
+  panel pointer, they return the panel above or below that panel.
+  Handed <code>NULL</code>, they return the bottom-most or top-most
+  panel.</p>
+
+  <p>Every panel has an associated user pointer, not used by the
+  panel code, to which you can attach application data. See the man
+  page documentation of <code>set_panel_userptr()</code> and
+  <code>panel_userptr</code> for details.</p>
+
+  <h2><a name="menu" id="menu">The Menu Library</a></h2>
+
+  <p>A menu is a screen display that assists the user to choose
+  some subset of a given set of items. The <code>menu</code>
+  library is a curses extension that supports easy programming of
+  menu hierarchies with a uniform but flexible interface.</p>
+
+  <p>The <code>menu</code> library first appeared in AT&amp;T
+  System V. The version documented here is the <code>menu</code>
+  code distributed with <code>ncurses</code>.</p>
+
+  <h3><a name="mcompile" id="mcompile">Compiling With the menu
+  Library</a></h3>
+
+  <p>Your menu-using modules must import the menu library
+  declarations with</p>
+
+  <pre class="code-block">
+          #include &lt;menu.h&gt;
+</pre>
+  <p>and must be linked explicitly with the menus library using an
+  <code>-lmenu</code> argument. Note that they must also link the
+  <code>ncurses</code> library with <code>-lncurses</code>. Many
+  linkers are two-pass and will accept either order, but it is
+  still good practice to put <code>-lmenu</code> first and
+  <code>-lncurses</code> second.</p>
+
+  <h3><a name="moverview" id="moverview">Overview of Menus</a></h3>
+
+  <p>The menus created by this library consist of collections of
+  <dfn>items</dfn> including a name string part and a description
+  string part. To make menus, you create groups of these items and
+  connect them with menu frame objects.</p>
 
-<H2><A NAME="pstdscr">Panels, Input, and the Standard Screen</A></H2>
+  <p>The menu can then by <dfn>posted</dfn>, that is written to an
+  associated window. Actually, each menu has two associated
+  windows; a containing window in which the programmer can scribble
+  titles or borders, and a subwindow in which the menu items proper
+  are displayed. If this subwindow is too small to display all the
+  items, it will be a scrollable viewport on the collection of
+  items.</p>
 
-You shouldn't mix <CODE>wnoutrefresh()</CODE> or <CODE>wrefresh()</CODE>
-operations with panels code; this will work only if the argument window
-is either in the top panel or unobscured by any other panels. <P>
+  <p>A menu may also be <dfn>unposted</dfn> (that is, undisplayed),
+  and finally freed to make the storage associated with it and its
+  items available for re-use.</p>
 
-The <CODE>stsdcr</CODE> window is a special case.  It is considered below all
-panels.  Because changes to panels may obscure parts of <CODE>stdscr</CODE>,
-though, you should call <CODE>update_panels()</CODE> before
-<CODE>doupdate()</CODE> even when you only change <CODE>stdscr</CODE>. <P>
+  <p>The general flow of control of a menu program looks like
+  this:</p>
 
-Note that <CODE>wgetch</CODE> automatically calls <CODE>wrefresh</CODE>.
-Therefore, before requesting input from a panel window, you need to be sure
-that the panel is totally unobscured. <P>
+  <ol>
+    <li>Initialize <code>curses</code>.</li>
 
-There is presently no way to display changes to one obscured panel without
-repainting all panels.
+    <li>Create the menu items, using <code>new_item()</code>.</li>
 
-<H2><A NAME="hiding">Hiding Panels</A></H2>
+    <li>Create the menu using <code>new_menu()</code>.</li>
 
-It's possible to remove a panel from the deck temporarily; use
-<CODE>hide_panel</CODE> for this.  Use <CODE>show_panel()</CODE> to render it
-visible again.  The predicate function <CODE>panel_hidden</CODE>
-tests whether or not a panel is hidden. <P>
+    <li>Post the menu using <code>post_menu()</code>.</li>
 
-The <CODE>panel_update</CODE> code ignores hidden panels.  You cannot do
-<CODE>top_panel()</CODE> or <CODE>bottom_panel</CODE> on a hidden panel().
-Other panels operations are applicable.
+    <li>Refresh the screen.</li>
 
-<H2><A NAME="pmisc">Miscellaneous Other Facilities</A></H2>
+    <li>Process user requests via an input loop.</li>
 
-It's possible to navigate the deck using the functions
-<CODE>panel_above()</CODE> and <CODE>panel_below</CODE>.  Handed a panel
-pointer, they return the panel above or below that panel.  Handed
-<CODE>NULL</CODE>, they return the bottom-most or top-most panel. <P>
+    <li>Unpost the menu using <code>unpost_menu()</code>.</li>
 
-Every panel has an associated user pointer, not used by the panel code, to
-which you can attach application data.  See the man page documentation
-of <CODE>set_panel_userptr()</CODE> and <CODE>panel_userptr</CODE> for
-details.
+    <li>Free the menu, using <code>free_menu()</code>.</li>
 
-<H1><A NAME="menu">The Menu Library</A></H1>
+    <li>Free the items using <code>free_item()</code>.</li>
 
-A menu is a screen display that assists the user to choose some subset
-of a given set of items.  The <CODE>menu</CODE> library is a curses
-extension that supports easy programming of menu hierarchies with a
-uniform but flexible interface. <P>
+    <li>Terminate <code>curses</code>.</li>
+  </ol>
 
-The <CODE>menu</CODE> library first appeared in AT&amp;T System V.  The
-version documented here is the <CODE>menu</CODE> code distributed
-with <CODE>ncurses</CODE>.
+  <h3><a name="mselect" id="mselect">Selecting items</a></h3>
 
-<H2><A NAME="mcompile">Compiling With the menu Library</A></H2>
+  <p>Menus may be multi-valued or (the default) single-valued (see
+  the manual page <code>menu_opts(3x)</code> to see how to change
+  the default). Both types always have a <dfn>current
+  item</dfn>.</p>
 
-Your menu-using modules must import the menu library declarations with
+  <p>From a single-valued menu you can read the selected value
+  simply by looking at the current item. From a multi-valued menu,
+  you get the selected set by looping through the items applying
+  the <code>item_value()</code> predicate function. Your
+  menu-processing code can use the function
+  <code>set_item_value()</code> to flag the items in the select
+  set.</p>
 
-<PRE>
-	  #include &lt;menu.h&gt;
-</PRE>
+  <p>Menu items can be made unselectable using
+  <code>set_item_opts()</code> or <code>item_opts_off()</code> with
+  the <code>O_SELECTABLE</code> argument. This is the only option
+  so far defined for menus, but it is good practice to code as
+  though other option bits might be on.</p>
 
-and must be linked explicitly with the menus library using an
-<CODE>-lmenu</CODE> argument.  Note that they must also link the
-<CODE>ncurses</CODE> library with <CODE>-lncurses</CODE>.  Many linkers
-are two-pass and will accept either order, but it is still good practice
-to put <CODE>-lmenu</CODE> first and <CODE>-lncurses</CODE> second.
+  <h3><a name="mdisplay" id="mdisplay">Menu Display</a></h3>
 
-<H2><A NAME="moverview">Overview of Menus</A></H2>
+  <p>The menu library calculates a minimum display size for your
+  window, based on the following variables:</p>
 
-The menus created by this library consist of collections of
-<DFN>items</DFN> including a name string part and a description string
-part.  To make menus, you create groups of these items and connect
-them with menu frame objects. <P>
+  <ul>
+    <li>The number and maximum length of the menu items</li>
 
-The menu can then by <DFN>posted</DFN>, that is written to an
-associated window.  Actually, each menu has two associated windows; a
-containing window in which the programmer can scribble titles or
-borders, and a subwindow in which the menu items proper are displayed.
-If this subwindow is too small to display all the items, it will be a
-scrollable viewport on the collection of items. <P>
+    <li>Whether the O_ROWMAJOR option is enabled</li>
 
-A menu may also be <DFN>unposted</DFN> (that is, undisplayed), and finally
-freed to make the storage associated with it and its items available for
-re-use. <P>
+    <li>Whether display of descriptions is enabled</li>
 
-The general flow of control of a menu program looks like this:
+    <li>Whatever menu format may have been set by the
+    programmer</li>
 
-<OL>
-<LI>Initialize <CODE>curses</CODE>.
-<LI>Create the menu items, using <CODE>new_item()</CODE>.
-<LI>Create the menu using <CODE>new_menu()</CODE>.
-<LI>Post the menu using <CODE>post_menu()</CODE>.
-<LI>Refresh the screen.
-<LI>Process user requests via an input loop.
-<LI>Unpost the menu using <CODE>unpost_menu()</CODE>.
-<LI>Free the menu, using <CODE>free_menu()</CODE>.
-<LI>Free the items using <CODE>free_item()</CODE>.
-<LI>Terminate <CODE>curses</CODE>.
-</OL>
+    <li>The length of the menu mark string used for highlighting
+    selected items</li>
+  </ul>
 
-<H2><A NAME="mselect">Selecting items</A></H2>
+  <p>The function <code>set_menu_format()</code> allows you to set
+  the maximum size of the viewport or <dfn>menu page</dfn> that
+  will be used to display menu items. You can retrieve any format
+  associated with a menu with <code>menu_format()</code>. The
+  default format is rows=16, columns=1.</p>
 
-Menus may be multi-valued or (the default) single-valued (see the manual
-page <CODE>menu_opts(3x)</CODE> to see how to change the default).
-Both types always have a <DFN>current item</DFN>. <P>
+  <p>The actual menu page may be smaller than the format size. This
+  depends on the item number and size and whether O_ROWMAJOR is on.
+  This option (on by default) causes menu items to be displayed in
+  a &ldquo;raster-scan&rdquo; pattern, so that if more than one
+  item will fit horizontally the first couple of items are
+  side-by-side in the top row. The alternative is column-major
+  display, which tries to put the first several items in the first
+  column.</p>
 
-From a single-valued menu you can read the selected value simply by looking
-at the current item.  From a multi-valued menu, you get the selected set
-by looping through the items applying the <CODE>item_value()</CODE>
-predicate function.  Your menu-processing code can use the function
-<CODE>set_item_value()</CODE> to flag the items in the select set. <P>
+  <p>As mentioned above, a menu format not large enough to allow
+  all items to fit on-screen will result in a menu display that is
+  vertically scrollable.</p>
 
-Menu items can be made unselectable using <CODE>set_item_opts()</CODE>
-or <CODE>item_opts_off()</CODE> with the <CODE>O_SELECTABLE</CODE>
-argument.  This is the only option so far defined for menus, but it
-is good practice to code as though other option bits might be on.
+  <p>You can scroll it with requests to the menu driver, which will
+  be described in the section on <a href="#minput">menu input
+  handling</a>.</p>
 
-<H2><A NAME="mdisplay">Menu Display</A></H2>
+  <p>Each menu has a <dfn>mark string</dfn> used to visually tag
+  selected items; see the <code>menu_mark(3x)</code> manual page
+  for details. The mark string length also influences the menu page
+  size.</p>
 
-The menu library calculates a minimum display size for your window, based
-on the following variables:
+  <p>The function <code>scale_menu()</code> returns the minimum
+  display size that the menu code computes from all these factors.
+  There are other menu display attributes including a select
+  attribute, an attribute for selectable items, an attribute for
+  unselectable items, and a pad character used to separate item
+  name text from description text. These have reasonable defaults
+  which the library allows you to change (see the
+  <code>menu_attribs(3x)</code> manual page.</p>
 
-<UL>
-<LI>The number and maximum length of the menu items
-<LI>Whether the O_ROWMAJOR option is enabled
-<LI>Whether display of descriptions is enabled
-<LI>Whatever menu format may have been set by the programmer
-<LI>The length of the menu mark string used for highlighting selected items
-</UL>
+  <h3><a name="mwindows" id="mwindows">Menu Windows</a></h3>
 
-The function <CODE>set_menu_format()</CODE> allows you to set the
-maximum size of the viewport or <DFN>menu page</DFN> that will be used
-to display menu items.  You can retrieve any format associated with a
-menu with <CODE>menu_format()</CODE>. The default format is rows=16,
-columns=1. <P>
+  <p>Each menu has, as mentioned previously, a pair of associated
+  windows. Both these windows are painted when the menu is posted
+  and erased when the menu is unposted.</p>
 
-The actual menu page may be smaller than the format size.  This depends
-on the item number and size and whether O_ROWMAJOR is on.  This option
-(on by default) causes menu items to be displayed in a `raster-scan'
-pattern, so that if more than one item will fit horizontally the first
-couple of items are side-by-side in the top row.  The alternative is
-column-major display, which tries to put the first several items in
-the first column. <P>
+  <p>The outer or frame window is not otherwise touched by the menu
+  routines. It exists so the programmer can associate a title, a
+  border, or perhaps help text with the menu and have it properly
+  refreshed or erased at post/unpost time. The inner window or
+  <dfn>subwindow</dfn> is where the current menu page is
+  displayed.</p>
 
-As mentioned above, a menu format not large enough to allow all items to fit
-on-screen will result in a menu display that is vertically scrollable. <P>
-You can scroll it with requests to the menu driver, which will be described
-in the section on <A HREF="#minput">menu input handling</A>. <P>
+  <p>By default, both windows are <code>stdscr</code>. You can set
+  them with the functions in <code>menu_win(3x)</code>.</p>
 
-Each menu has a <DFN>mark string</DFN> used to visually tag selected items;
-see the <CODE>menu_mark(3x)</CODE> manual page for details.  The mark
-string length also influences the menu page size. <P>
+  <p>When you call <code>post_menu()</code>, you write the menu to
+  its subwindow. When you call <code>unpost_menu()</code>, you
+  erase the subwindow, However, neither of these actually modifies
+  the screen. To do that, call <code>wrefresh()</code> or some
+  equivalent.</p>
 
-The function <CODE>scale_menu()</CODE> returns the minimum display size
-that the menu code computes from all these factors.
+  <h3><a name="minput" id="minput">Processing Menu Input</a></h3>
 
-There are other menu display attributes including a select attribute,
-an attribute for selectable items, an attribute for unselectable items,
-and a pad character used to separate item name text from description
-text.  These have reasonable defaults which the library allows you to
-change (see the <CODE>menu_attribs(3x)</CODE> manual page.
+  <p>The main loop of your menu-processing code should call
+  <code>menu_driver()</code> repeatedly. The first argument of this
+  routine is a menu pointer; the second is a menu command code. You
+  should write an input-fetching routine that maps input characters
+  to menu command codes, and pass its output to
+  <code>menu_driver()</code>. The menu command codes are fully
+  documented in <code>menu_driver(3x)</code>.</p>
 
-<H2><A NAME="mwindows">Menu Windows</A></H2>
+  <p>The simplest group of command codes is
+  <code>REQ_NEXT_ITEM</code>, <code>REQ_PREV_ITEM</code>,
+  <code>REQ_FIRST_ITEM</code>, <code>REQ_LAST_ITEM</code>,
+  <code>REQ_UP_ITEM</code>, <code>REQ_DOWN_ITEM</code>,
+  <code>REQ_LEFT_ITEM</code>, <code>REQ_RIGHT_ITEM</code>. These
+  change the currently selected item. These requests may cause
+  scrolling of the menu page if it only partially displayed.</p>
 
-Each menu has, as mentioned previously, a pair of associated windows.
-Both these windows are painted when the menu is posted and erased when
-the menu is unposted. <P>
+  <p>There are explicit requests for scrolling which also change
+  the current item (because the select location does not change,
+  but the item there does). These are <code>REQ_SCR_DLINE</code>,
+  <code>REQ_SCR_ULINE</code>, <code>REQ_SCR_DPAGE</code>, and
+  <code>REQ_SCR_UPAGE</code>.</p>
 
-The outer or frame window is not otherwise touched by the menu
-routines.  It exists so the programmer can associate a title, a
-border, or perhaps help text with the menu and have it properly
-refreshed or erased at post/unpost time.  The inner window or
-<DFN>subwindow</DFN> is where the current menu page is displayed. <P>
+  <p>The <code>REQ_TOGGLE_ITEM</code> selects or deselects the
+  current item. It is for use in multi-valued menus; if you use it
+  with <code>O_ONEVALUE</code> on, you will get an error return
+  (<code>E_REQUEST_DENIED</code>).</p>
 
-By default, both windows are <CODE>stdscr</CODE>.  You can set them with the
-functions in <CODE>menu_win(3x)</CODE>. <P>
+  <p>Each menu has an associated pattern buffer. The
+  <code>menu_driver()</code> logic tries to accumulate printable
+  ASCII characters passed in in that buffer; when it matches a
+  prefix of an item name, that item (or the next matching item) is
+  selected. If appending a character yields no new match, that
+  character is deleted from the pattern buffer, and
+  <code>menu_driver()</code> returns <code>E_NO_MATCH</code>.</p>
 
-When you call <CODE>post_menu()</CODE>, you write the menu to its
-subwindow.  When you call <CODE>unpost_menu()</CODE>, you erase the
-subwindow, However, neither of these actually modifies the screen.  To
-do that, call <CODE>wrefresh()</CODE> or some equivalent.
+  <p>Some requests change the pattern buffer directly:
+  <code>REQ_CLEAR_PATTERN</code>, <code>REQ_BACK_PATTERN</code>,
+  <code>REQ_NEXT_MATCH</code>, <code>REQ_PREV_MATCH</code>. The
+  latter two are useful when pattern buffer input matches more than
+  one item in a multi-valued menu.</p>
 
-<H2><A NAME="minput">Processing Menu Input</A></H2>
+  <p>Each successful scroll or item navigation request clears the
+  pattern buffer. It is also possible to set the pattern buffer
+  explicitly with <code>set_menu_pattern()</code>.</p>
 
-The main loop of your menu-processing code should call
-<CODE>menu_driver()</CODE> repeatedly. The first argument of this routine
-is a menu pointer; the second is a menu command code.  You should write an
-input-fetching routine that maps input characters to menu command codes, and
-pass its output to <CODE>menu_driver()</CODE>.  The menu command codes are
-fully documented in <CODE>menu_driver(3x)</CODE>. <P>
+  <p>Finally, menu driver requests above the constant
+  <code>MAX_COMMAND</code> are considered application-specific
+  commands. The <code>menu_driver()</code> code ignores them and
+  returns <code>E_UNKNOWN_COMMAND</code>.</p>
 
-The simplest group of command codes is <CODE>REQ_NEXT_ITEM</CODE>,
-<CODE>REQ_PREV_ITEM</CODE>, <CODE>REQ_FIRST_ITEM</CODE>,
-<CODE>REQ_LAST_ITEM</CODE>, <CODE>REQ_UP_ITEM</CODE>,
-<CODE>REQ_DOWN_ITEM</CODE>, <CODE>REQ_LEFT_ITEM</CODE>,
-<CODE>REQ_RIGHT_ITEM</CODE>.  These change the currently selected
-item.  These requests may cause scrolling of the menu page if it only
-partially displayed. <P>
+  <h3><a name="mmisc" id="mmisc">Miscellaneous Other Features</a></h3>
 
-There are explicit requests for scrolling which also change the
-current item (because the select location does not change, but the
-item there does).  These are <CODE>REQ_SCR_DLINE</CODE>,
-<CODE>REQ_SCR_ULINE</CODE>, <CODE>REQ_SCR_DPAGE</CODE>, and
-<CODE>REQ_SCR_UPAGE</CODE>. <P>
+  <p>Various menu options can affect the processing and visual
+  appearance and input processing of menus. See <code>menu_opts(3x)
+  for details.</code></p>
 
-The <CODE>REQ_TOGGLE_ITEM</CODE> selects or deselects the current item.
-It is for use in multi-valued menus; if you use it with <CODE>O_ONEVALUE</CODE>
-on, you'll get an error return (<CODE>E_REQUEST_DENIED</CODE>). <P>
+  <p>It is possible to change the current item from application
+  code; this is useful if you want to write your own navigation
+  requests. It is also possible to explicitly set the top row of
+  the menu display. See <code>mitem_current(3x)</code>. If your
+  application needs to change the menu subwindow cursor for any
+  reason, <code>pos_menu_cursor()</code> will restore it to the
+  correct location for continuing menu driver processing.</p>
 
-Each menu has an associated pattern buffer.  The
-<CODE>menu_driver()</CODE> logic tries to accumulate printable ASCII
-characters passed in in that buffer; when it matches a prefix of an
-item name, that item (or the next matching item) is selected.  If
-appending a character yields no new match, that character is deleted
-from the pattern buffer, and <CODE>menu_driver()</CODE> returns
-<CODE>E_NO_MATCH</CODE>. <P>
+  <p>It is possible to set hooks to be called at menu
+  initialization and wrapup time, and whenever the selected item
+  changes. See <code>menu_hook(3x)</code>.</p>
 
-Some requests change the pattern buffer directly:
-<CODE>REQ_CLEAR_PATTERN</CODE>, <CODE>REQ_BACK_PATTERN</CODE>,
-<CODE>REQ_NEXT_MATCH</CODE>, <CODE>REQ_PREV_MATCH</CODE>.  The latter
-two are useful when pattern buffer input matches more than one item
-in a multi-valued menu. <P>
+  <p>Each item, and each menu, has an associated user pointer on
+  which you can hang application data. See
+  <code>mitem_userptr(3x)</code> and
+  <code>menu_userptr(3x)</code>.</p>
 
-Each successful scroll or item navigation request clears the pattern
-buffer.  It is also possible to set the pattern buffer explicitly
-with <CODE>set_menu_pattern()</CODE>. <P>
+  <h2><a name="form" id="form">The Forms Library</a></h2>
 
-Finally, menu driver requests above the constant <CODE>MAX_COMMAND</CODE>
-are considered application-specific commands.  The <CODE>menu_driver()</CODE>
-code ignores them and returns <CODE>E_UNKNOWN_COMMAND</CODE>.
+  <p>The <code>form</code> library is a curses extension that
+  supports easy programming of on-screen forms for data entry and
+  program control.</p>
 
-<H2><A NAME="mmisc">Miscellaneous Other Features</A></H2>
+  <p>The <code>form</code> library first appeared in AT&amp;T
+  System V. The version documented here is the <code>form</code>
+  code distributed with <code>ncurses</code>.</p>
 
-Various menu options can affect the processing and visual appearance
-and input processing of menus.  See <CODE>menu_opts(3x) for
-details.</CODE> <P>
+  <h3><a name="fcompile" id="fcompile">Compiling With the form
+  Library</a></h3>
 
-It is possible to change the current item from application code; this
-is useful if you want to write your own navigation requests.  It is
-also possible to explicitly set the top row of the menu display.  See
-<CODE>mitem_current(3x)</CODE>.
+  <p>Your form-using modules must import the form library
+  declarations with</p>
 
-If your application needs to change the menu subwindow cursor for
-any reason, <CODE>pos_menu_cursor()</CODE> will restore it to the
-correct location for continuing menu driver processing. <P>
+  <pre class="code-block">
+          #include &lt;form.h&gt;
+</pre>
+  <p>and must be linked explicitly with the forms library using an
+  <code>-lform</code> argument. Note that they must also link the
+  <code>ncurses</code> library with <code>-lncurses</code>. Many
+  linkers are two-pass and will accept either order, but it is
+  still good practice to put <code>-lform</code> first and
+  <code>-lncurses</code> second.</p>
 
-It is possible to set hooks to be called at menu initialization and
-wrapup time, and whenever the selected item changes.  See
-<CODE>menu_hook(3x)</CODE>. <P>
+  <h3><a name="foverview" id="foverview">Overview of Forms</a></h3>
 
-Each item, and each menu, has an associated user pointer on which you
-can hang application data.  See <CODE>mitem_userptr(3x)</CODE> and
-<CODE>menu_userptr(3x)</CODE>.
+  <p>A form is a collection of fields; each field may be either a
+  label (explanatory text) or a data-entry location. Long forms may
+  be segmented into pages; each entry to a new page clears the
+  screen.</p>
 
-<H1><A NAME="form">The Forms Library</A></H1>
+  <p>To make forms, you create groups of fields and connect them
+  with form frame objects; the form library makes this relatively
+  simple.</p>
 
-The <CODE>form</CODE> library is a curses extension that supports easy
-programming of on-screen forms for data entry and program control. <P>
+  <p>Once defined, a form can be <dfn>posted</dfn>, that is written
+  to an associated window. Actually, each form has two associated
+  windows; a containing window in which the programmer can scribble
+  titles or borders, and a subwindow in which the form fields
+  proper are displayed.</p>
 
-The <CODE>form</CODE> library first appeared in AT&amp;T System V.  The
-version documented here is the <CODE>form</CODE> code distributed
-with <CODE>ncurses</CODE>.
+  <p>As the form user fills out the posted form, navigation and
+  editing keys support movement between fields, editing keys
+  support modifying field, and plain text adds to or changes data
+  in a current field. The form library allows you (the forms
+  designer) to bind each navigation and editing key to any
+  keystroke accepted by <code>curses</code> Fields may have
+  validation conditions on them, so that they check input data for
+  type and value. The form library supplies a rich set of
+  pre-defined field types, and makes it relatively easy to define
+  new ones.</p>
 
-<H2><A NAME="fcompile">Compiling With the form Library</A></H2>
+  <p>Once its transaction is completed (or aborted), a form may be
+  <dfn>unposted</dfn> (that is, undisplayed), and finally freed to
+  make the storage associated with it and its items available for
+  re-use.</p>
 
-Your form-using modules must import the form library declarations with
+  <p>The general flow of control of a form program looks like
+  this:</p>
 
-<PRE>
-	  #include &lt;form.h&gt;
-</PRE>
+  <ol>
+    <li>Initialize <code>curses</code>.</li>
 
-and must be linked explicitly with the forms library using an
-<CODE>-lform</CODE> argument.  Note that they must also link the
-<CODE>ncurses</CODE> library with <CODE>-lncurses</CODE>.  Many linkers
-are two-pass and will accept either order, but it is still good practice
-to put <CODE>-lform</CODE> first and <CODE>-lncurses</CODE> second.
+    <li>Create the form fields, using
+    <code>new_field()</code>.</li>
 
-<H2><A NAME="foverview">Overview of Forms</A></H2>
+    <li>Create the form using <code>new_form()</code>.</li>
 
-A form is a collection of fields; each field may be either a label
-(explanatory text) or a data-entry location.  Long forms may be
-segmented into pages; each entry to a new page clears the screen. <P>
-To make forms, you create groups of fields and connect them with form
-frame objects; the form library makes this relatively simple. <P>
+    <li>Post the form using <code>post_form()</code>.</li>
 
-Once defined, a form can be <DFN>posted</DFN>, that is written to an
-associated window.  Actually, each form has two associated windows; a
-containing window in which the programmer can scribble titles or
-borders, and a subwindow in which the form fields proper are displayed. <P>
+    <li>Refresh the screen.</li>
 
-As the form user fills out the posted form, navigation and editing
-keys support movement between fields, editing keys support modifying
-field, and plain text adds to or changes data in a current field.  The
-form library allows you (the forms designer) to bind each navigation
-and editing key to any keystroke accepted by <CODE>curses</CODE>
+    <li>Process user requests via an input loop.</li>
 
-Fields may have validation conditions on them, so that they check input
-data for type and value.  The form library supplies a rich set of
-pre-defined field types, and makes it relatively easy to define new ones. <P>
+    <li>Unpost the form using <code>unpost_form()</code>.</li>
 
-Once its transaction is completed (or aborted), a form may be
-<DFN>unposted</DFN> (that is, undisplayed), and finally freed to make
-the storage associated with it and its items available for re-use. <P>
+    <li>Free the form, using <code>free_form()</code>.</li>
 
-The general flow of control of a form program looks like this:
+    <li>Free the fields using <code>free_field()</code>.</li>
 
-<OL>
-<LI>Initialize <CODE>curses</CODE>.
-<LI>Create the form fields, using <CODE>new_field()</CODE>.
-<LI>Create the form using <CODE>new_form()</CODE>.
-<LI>Post the form using <CODE>post_form()</CODE>.
-<LI>Refresh the screen.
-<LI>Process user requests via an input loop.
-<LI>Unpost the form using <CODE>unpost_form()</CODE>.
-<LI>Free the form, using <CODE>free_form()</CODE>.
-<LI>Free the fields using <CODE>free_field()</CODE>.
-<LI>Terminate <CODE>curses</CODE>.
-</OL>
+    <li>Terminate <code>curses</code>.</li>
+  </ol>
 
-Note that this looks much like a menu program; the form library handles
-tasks which are in many ways similar, and its interface was obviously
-designed to resemble that of the <A HREF="#menu">menu library</A>
-wherever possible. <P>
+  <p>Note that this looks much like a menu program; the form
+  library handles tasks which are in many ways similar, and its
+  interface was obviously designed to resemble that of the <a href=
+  "#menu">menu library</a> wherever possible.</p>
 
-In forms programs, however, the `process user requests' is somewhat more
-complicated than for menus.  Besides menu-like navigation operations,
-the menu driver loop has to support field editing and data validation.
+  <p>In forms programs, however, the &ldquo;process user
+  requests&rdquo; is somewhat more complicated than for menus.
+  Besides menu-like navigation operations, the menu driver loop has
+  to support field editing and data validation.</p>
 
-<H2><A NAME="fcreate">Creating and Freeing Fields and Forms</A></H2>
+  <h3><a name="fcreate" id="fcreate">Creating and Freeing Fields
+  and Forms</a></h3>
 
-The basic function for creating fields is <CODE>new_field()</CODE>:
+  <p>The basic function for creating fields is
+  <code>new_field()</code>:</p>
 
-<PRE>
+  <pre class="code-block">
 FIELD *new_field(int height, int width,   /* new field size */
                  int top, int left,       /* upper left corner */
                  int offscreen,           /* number of offscreen rows */
                  int nbuf);               /* number of working buffers */
-</PRE>
+</pre>
+  <p>Menu items always occupy a single row, but forms fields may
+  have multiple rows. So <code>new_field()</code> requires you to
+  specify a width and height (the first two arguments, which mist
+  both be greater than zero).</p>
 
-Menu items always occupy a single row, but forms fields may have
-multiple rows.  So <CODE>new_field()</CODE> requires you to specify a
-width and height (the first two arguments, which mist both be greater
-than zero). <P>
+  <p>You must also specify the location of the field's upper left
+  corner on the screen (the third and fourth arguments, which must
+  be zero or greater). Note that these coordinates are relative to
+  the form subwindow, which will coincide with <code>stdscr</code>
+  by default but need not be <code>stdscr</code> if you have done
+  an explicit <code>set_form_win()</code> call.</p>
 
-You must also specify the location of the field's upper left corner on
-the screen (the third and fourth arguments, which must be zero or
-greater). Note that these coordinates are relative to the form
-subwindow, which will coincide with <CODE>stdscr</CODE> by default but
-need not be <CODE>stdscr</CODE> if you've done an explicit
-<CODE>set_form_win()</CODE> call. <P>
+  <p>The fifth argument allows you to specify a number of
+  off-screen rows. If this is zero, the entire field will always be
+  displayed. If it is nonzero, the form will be scrollable, with
+  only one screen-full (initially the top part) displayed at any
+  given time. If you make a field dynamic and grow it so it will no
+  longer fit on the screen, the form will become scrollable even if
+  the <code>offscreen</code> argument was initially zero.</p>
 
-The fifth argument allows you to specify a number of off-screen rows.  If
-this is zero, the entire field will always be displayed.  If it is
-nonzero, the form will be scrollable, with only one screen-full (initially
-the top part) displayed at any given time.  If you make a field dynamic
-and grow it so it will no longer fit on the screen, the form will become
-scrollable even if the <CODE>offscreen</CODE> argument was initially zero. <P>
+  <p>The forms library allocates one working buffer per field; the
+  size of each buffer is <code>((height + offscreen)*width +
+  1</code>, one character for each position in the field plus a NUL
+  terminator. The sixth argument is the number of additional data
+  buffers to allocate for the field; your application can use them
+  for its own purposes.</p>
 
-The forms library allocates one working buffer per field; the size of
-each buffer is <CODE>((height + offscreen)*width + 1</CODE>, one character
-for each position in the field plus a NUL terminator.  The sixth
-argument is the number of additional data buffers to allocate for the
-field; your application can use them for its own purposes.
-
-<PRE>
+  <pre class="code-block">
 FIELD *dup_field(FIELD *field,            /* field to copy */
                  int top, int left);      /* location of new copy */
-</PRE>
+</pre>
+  <p>The function <code>dup_field()</code> duplicates an existing
+  field at a new location. Size and buffering information are
+  copied; some attribute flags and status bits are not (see the
+  <code>form_field_new(3X)</code> for details).</p>
 
-The function <CODE>dup_field()</CODE> duplicates an existing field at a
-new location.  Size and buffering information are copied; some
-attribute flags and status bits are not (see the
-<CODE>form_field_new(3X)</CODE> for details).
-
-<PRE>
+  <pre class="code-block">
 FIELD *link_field(FIELD *field,           /* field to copy */
                   int top, int left);     /* location of new copy */
-</PRE>
+</pre>
+  <p>The function <code>link_field()</code> also duplicates an
+  existing field at a new location. The difference from
+  <code>dup_field()</code> is that it arranges for the new field's
+  buffer to be shared with the old one.</p>
 
-The function <CODE>link_field()</CODE> also duplicates an existing field
-at a new location.  The difference from <CODE>dup_field()</CODE> is that
-it arranges for the new field's buffer to be shared with the old one. <P>
+  <p>Besides the obvious use in making a field editable from two
+  different form pages, linked fields give you a way to hack in
+  dynamic labels. If you declare several fields linked to an
+  original, and then make them inactive, changes from the original
+  will still be propagated to the linked fields.</p>
 
-Besides the obvious use in making a field editable from two different
-form pages, linked fields give you a way to hack in dynamic labels.  If
-you declare several fields linked to an original, and then make them
-inactive, changes from the original will still be propagated to the
-linked fields. <P>
+  <p>As with duplicated fields, linked fields have attribute bits
+  separate from the original.</p>
 
-As with duplicated fields, linked fields have attribute bits separate
-from the original. <P>
+  <p>As you might guess, all these field-allocations return
+  <code>NULL</code> if the field allocation is not possible due to
+  an out-of-memory error or out-of-bounds arguments.</p>
 
-As you might guess, all these field-allocations return <CODE>NULL</CODE> if
-the field allocation is not possible due to an out-of-memory error or
-out-of-bounds arguments. <P>
+  <p>To connect fields to a form, use</p>
 
-To connect fields to a form, use
-
-<PRE>
+  <pre class="code-block">
 FORM *new_form(FIELD **fields);
-</PRE>
+</pre>
+  <p>This function expects to see a NULL-terminated array of field
+  pointers. Said fields are connected to a newly-allocated form
+  object; its address is returned (or else NULL if the allocation
+  fails).</p>
 
-This function expects to see a NULL-terminated array of field pointers.
-Said fields are connected to a newly-allocated form object; its address
-is returned (or else NULL if the allocation fails).   <P>
+  <p>Note that <code>new_field()</code> does <em>not</em> copy the
+  pointer array into private storage; if you modify the contents of
+  the pointer array during forms processing, all manner of bizarre
+  things might happen. Also note that any given field may only be
+  connected to one form.</p>
 
-Note that <CODE>new_field()</CODE> does <EM>not</EM> copy the pointer array
-into private storage; if you modify the contents of the pointer array
-during forms processing, all manner of bizarre things might happen.  Also
-note that any given field may only be connected to one form. <P>
+  <p>The functions <code>free_field()</code> and
+  <code>free_form</code> are available to free field and form
+  objects. It is an error to attempt to free a field connected to a
+  form, but not vice-versa; thus, you will generally free your form
+  objects first.</p>
 
-The functions <CODE>free_field()</CODE> and <CODE>free_form</CODE> are available
-to free field and form objects.  It is an error to attempt to free a field
-connected to a form, but not vice-versa; thus, you will generally free
-your form objects first.
+  <h3><a name="fattributes" id="fattributes">Fetching and Changing
+  Field Attributes</a></h3>
 
-<H2><A NAME="fattributes">Fetching and Changing Field Attributes</A></H2>
+  <p>Each form field has a number of location and size attributes
+  associated with it. There are other field attributes used to
+  control display and editing of the field. Some (for example, the
+  <code>O_STATIC</code> bit) involve sufficient complications to be
+  covered in sections of their own later on. We cover the functions
+  used to get and set several basic attributes here.</p>
 
-Each form field has a number of location and size attributes
-associated with it. There are other field attributes used to control
-display and editing of the field.  Some (for example, the <CODE>O_STATIC</CODE> bit)
-involve sufficient complications to be covered in sections of their own
-later on.  We cover the functions used to get and set several basic
-attributes here. <P>
+  <p>When a field is created, the attributes not specified by the
+  <code>new_field</code> function are copied from an invisible
+  system default field. In attribute-setting and -fetching
+  functions, the argument NULL is taken to mean this field. Changes
+  to it persist as defaults until your forms application
+  terminates.</p>
 
-When a field is created, the attributes not specified by the
-<CODE>new_field</CODE> function are copied from an invisible system
-default field.  In attribute-setting and -fetching functions, the
-argument NULL is taken to mean this field.  Changes to it persist
-as defaults until your forms application terminates.
+  <h4><a name="fsizes" id="fsizes">Fetching Size and Location
+  Data</a></h4>
 
-<H3><A NAME="fsizes">Fetching Size and Location Data</A></H3>
+  <p>You can retrieve field sizes and locations through:</p>
 
-You can retrieve field sizes and locations through:
-
-<PRE>
+  <pre class="code-block">
 int field_info(FIELD *field,              /* field from which to fetch */
                int *height, *int width,   /* field size */
                int *top, int *left,       /* upper left corner */
                int *offscreen,            /* number of offscreen rows */
                int *nbuf);                /* number of working buffers */
-</PRE>
+</pre>
+  <p>This function is a sort of inverse of
+  <code>new_field()</code>; instead of setting size and location
+  attributes of a new field, it fetches them from an existing
+  one.</p>
 
-This function is a sort of inverse of <CODE>new_field()</CODE>; instead of
-setting size and location attributes of a new field, it fetches them
-from an existing one.
+  <h4><a name="flocation" id="flocation">Changing the Field
+  Location</a></h4>
 
-<H3><A NAME="flocation">Changing the Field Location</A></H3>
+  <p>It is possible to move a field's location on the screen:</p>
 
-It is possible to move a field's location on the screen:
-
-<PRE>
+  <pre class="code-block">
 int move_field(FIELD *field,              /* field to alter */
                int top, int left);        /* new upper-left corner */
-</PRE>
+</pre>
+  <p>You can, of course. query the current location through
+  <code>field_info()</code>.</p>
 
-You can, of course. query the current location through <CODE>field_info()</CODE>.
+  <h4><a name="fjust" id="fjust">The Justification Attribute</a></h4>
 
-<H3><A NAME="fjust">The Justification Attribute</A></H3>
+  <p>One-line fields may be unjustified, justified right, justified
+  left, or centered. Here is how you manipulate this attribute:</p>
 
-One-line fields may be unjustified, justified right, justified left,
-or centered.  Here is how you manipulate this attribute:
-
-<PRE>
+  <pre class="code-block">
 int set_field_just(FIELD *field,          /* field to alter */
                    int justmode);         /* mode to set */
 
 int field_just(FIELD *field);             /* fetch mode of field */
-</PRE>
+</pre>
+  <p>The mode values accepted and returned by this functions are
+  preprocessor macros <code>NO_JUSTIFICATION</code>,
+  <code>JUSTIFY_RIGHT</code>, <code>JUSTIFY_LEFT</code>, or
+  <code>JUSTIFY_CENTER</code>.</p>
 
-The mode values accepted and returned by this functions are
-preprocessor macros <CODE>NO_JUSTIFICATION</CODE>, <CODE>JUSTIFY_RIGHT</CODE>,
-<CODE>JUSTIFY_LEFT</CODE>, or <CODE>JUSTIFY_CENTER</CODE>.
+  <h4><a name="fdispatts" id="fdispatts">Field Display
+  Attributes</a></h4>
 
-<H3><A NAME="fdispatts">Field Display Attributes</A></H3>
+  <p>For each field, you can set a foreground attribute for entered
+  characters, a background attribute for the entire field, and a
+  pad character for the unfilled portion of the field. You can also
+  control pagination of the form.</p>
 
-For each field, you can set a foreground attribute for entered
-characters, a background attribute for the entire field, and a pad
-character for the unfilled portion of the field.  You can also
-control pagination of the form. <P>
+  <p>This group of four field attributes controls the visual
+  appearance of the field on the screen, without affecting in any
+  way the data in the field buffer.</p>
 
-This group of four field attributes controls the visual appearance
-of the field on the screen, without affecting in any way the data
-in the field buffer.
-
-<PRE>
+  <pre class="code-block">
 int set_field_fore(FIELD *field,          /* field to alter */
                    chtype attr);          /* attribute to set */
 
@@ -1669,22 +2068,20 @@
                  int flag);               /* TRUE to force new page */
 
 chtype new_page(FIELD *field);            /* field to query */
-</PRE>
+</pre>
+  <p>The attributes set and returned by the first four functions
+  are normal <code>curses(3x)</code> display attribute values
+  (<code>A_STANDOUT</code>, <code>A_BOLD</code>,
+  <code>A_REVERSE</code> etc). The page bit of a field controls
+  whether it is displayed at the start of a new form screen.</p>
 
-The attributes set and returned by the first four functions are normal
-<CODE>curses(3x)</CODE> display attribute values (<CODE>A_STANDOUT</CODE>,
-<CODE>A_BOLD</CODE>, <CODE>A_REVERSE</CODE> etc).
+  <h4><a name="foptions" id="foptions">Field Option Bits</a></h4>
 
-The page bit of a field controls whether it is displayed at the start of
-a new form screen.
+  <p>There is also a large collection of field option bits you can
+  set to control various aspects of forms processing. You can
+  manipulate them with these functions:</p>
 
-<H3><A NAME="foptions">Field Option Bits</A></H3>
-
-There is also a large collection of field option bits you can set to control
-various aspects of forms processing.  You can manipulate them with these
-functions:
-
-<PRE>
+  <pre class="code-block">
 int set_field_opts(FIELD *field,          /* field to alter */
                    int attr);             /* attribute to set */
 
@@ -1695,423 +2092,470 @@
                    int attr);             /* attributes to turn off */
 
 int field_opts(FIELD *field);             /* field to query */
-</PRE>
+</pre>
+  <p>By default, all options are on. Here are the available option
+  bits:</p>
 
-By default, all options are on.  Here are the available option bits:
-<DL>
-<DT> O_VISIBLE
-<DD> Controls whether the field is visible on the screen.  Can be used
-during form processing to hide or pop up fields depending on the value
-of parent fields.
-<DT> O_ACTIVE
-<DD> Controls whether the field is active during forms processing (i.e.
-visited by form navigation keys).  Can be used to make labels or derived
-fields with buffer values alterable by the forms application, not the user.
-<DT> O_PUBLIC
-<DD> Controls whether data is displayed during field entry.  If this option is
-turned off on a field, the library will accept and edit data in that field,
-but it will not be displayed and the visible field cursor will not move.
-You can turn off the O_PUBLIC bit to define password fields.
-<DT> O_EDIT
-<DD> Controls whether the field's data can be modified.  When this option is
-off, all editing requests except <CODE>REQ_PREV_CHOICE</CODE> and
-<CODE>REQ_NEXT_CHOICE</CODE> will fail.  Such read-only fields may be useful for
-help messages.
-<DT> O_WRAP
-<DD> Controls word-wrapping in multi-line fields.  Normally, when any
-character of a (blank-separated) word reaches the end of the current line, the
-entire word is wrapped to the next line (assuming there is one).  When this
-option is off, the word will be split across the line break.
-<DT> O_BLANK
-<DD> Controls field blanking.  When this option is on, entering a character at
-the first field position erases the entire field (except for the just-entered
-character).
-<DT> O_AUTOSKIP
-<DD> Controls automatic skip to next field when this one fills.  Normally,
-when the forms user tries to type more data into a field than will fit,
-the editing location jumps to next field.  When this option is off, the
-user's cursor will hang at the end of the field.  This option is ignored
-in dynamic fields that have not reached their size limit.
-<DT> O_NULLOK
-<DD> Controls whether <A HREF="#fvalidation">validation</A> is applied to
-blank fields.  Normally, it is not; the user can leave a field blank
-without invoking the usual validation check on exit.  If this option is
-off on a field, exit from it will invoke a validation check.
-<DT> O_PASSOK
-<DD> Controls whether validation occurs on every exit, or only after
-the field is modified.  Normally the latter is true.  Setting O_PASSOK
-may be useful if your field's validation function may change during
-forms processing.
-<DT> O_STATIC
-<DD> Controls whether the field is fixed to its initial dimensions.  If you
-turn this off, the field becomes <A HREF="#fdynamic">dynamic</A> and will
-stretch to fit entered data.
-</DL>
+  <dl>
+    <dt>O_VISIBLE</dt>
 
-A field's options cannot be changed while the field is currently selected.
-However, options may be changed on posted fields that are not current. <P>
+    <dd>Controls whether the field is visible on the screen. Can be
+    used during form processing to hide or pop up fields depending
+    on the value of parent fields.</dd>
 
-The option values are bit-masks and can be composed with logical-or in
-the obvious way.
+    <dt>O_ACTIVE</dt>
 
-<H2><A NAME="fstatus">Field Status</A></H2>
+    <dd>Controls whether the field is active during forms
+    processing (i.e. visited by form navigation keys). Can be used
+    to make labels or derived fields with buffer values alterable
+    by the forms application, not the user.</dd>
 
-Every field has a status flag, which is set to FALSE when the field is
-created and TRUE when the value in field buffer 0 changes.  This flag can
-be queried and set directly:
+    <dt>O_PUBLIC</dt>
 
-<PRE>
+    <dd>Controls whether data is displayed during field entry. If
+    this option is turned off on a field, the library will accept
+    and edit data in that field, but it will not be displayed and
+    the visible field cursor will not move. You can turn off the
+    O_PUBLIC bit to define password fields.</dd>
+
+    <dt>O_EDIT</dt>
+
+    <dd>Controls whether the field's data can be modified. When
+    this option is off, all editing requests except
+    <code>REQ_PREV_CHOICE</code> and <code>REQ_NEXT_CHOICE</code>
+    will fail. Such read-only fields may be useful for help
+    messages.</dd>
+
+    <dt>O_WRAP</dt>
+
+    <dd>Controls word-wrapping in multi-line fields. Normally, when
+    any character of a (blank-separated) word reaches the end of
+    the current line, the entire word is wrapped to the next line
+    (assuming there is one). When this option is off, the word will
+    be split across the line break.</dd>
+
+    <dt>O_BLANK</dt>
+
+    <dd>Controls field blanking. When this option is on, entering a
+    character at the first field position erases the entire field
+    (except for the just-entered character).</dd>
+
+    <dt>O_AUTOSKIP</dt>
+
+    <dd>Controls automatic skip to next field when this one fills.
+    Normally, when the forms user tries to type more data into a
+    field than will fit, the editing location jumps to next field.
+    When this option is off, the user's cursor will hang at the end
+    of the field. This option is ignored in dynamic fields that
+    have not reached their size limit.</dd>
+
+    <dt>O_NULLOK</dt>
+
+    <dd>Controls whether <a href="#fvalidation">validation</a> is
+    applied to blank fields. Normally, it is not; the user can
+    leave a field blank without invoking the usual validation check
+    on exit. If this option is off on a field, exit from it will
+    invoke a validation check.</dd>
+
+    <dt>O_PASSOK</dt>
+
+    <dd>Controls whether validation occurs on every exit, or only
+    after the field is modified. Normally the latter is true.
+    Setting O_PASSOK may be useful if your field's validation
+    function may change during forms processing.</dd>
+
+    <dt>O_STATIC</dt>
+
+    <dd>Controls whether the field is fixed to its initial
+    dimensions. If you turn this off, the field becomes <a href=
+    "#fdynamic">dynamic</a> and will stretch to fit entered
+    data.</dd>
+  </dl>
+
+  <p>A field's options cannot be changed while the field is
+  currently selected. However, options may be changed on posted
+  fields that are not current.</p>
+
+  <p>The option values are bit-masks and can be composed with
+  logical-or in the obvious way.</p>
+
+  <h3><a name="fstatus" id="fstatus">Field Status</a></h3>
+
+  <p>Every field has a status flag, which is set to FALSE when the
+  field is created and TRUE when the value in field buffer 0
+  changes. This flag can be queried and set directly:</p>
+
+  <pre class="code-block">
 int set_field_status(FIELD *field,      /* field to alter */
                    int status);         /* mode to set */
 
 int field_status(FIELD *field);         /* fetch mode of field */
-</PRE>
+</pre>
+  <p>Setting this flag under program control can be useful if you
+  use the same form repeatedly, looking for modified fields each
+  time.</p>
 
-Setting this flag under program control can be useful if you use the same
-form repeatedly, looking for modified fields each time. <P>
+  <p>Calling <code>field_status()</code> on a field not currently
+  selected for input will return a correct value. Calling
+  <code>field_status()</code> on a field that is currently selected
+  for input may not necessarily give a correct field status value,
+  because entered data is not necessarily copied to buffer zero
+  before the exit validation check. To guarantee that the returned
+  status value reflects reality, call <code>field_status()</code>
+  either (1) in the field's exit validation check routine, (2) from
+  the field's or form's initialization or termination hooks, or (3)
+  just after a <code>REQ_VALIDATION</code> request has been
+  processed by the forms driver.</p>
 
-Calling <CODE>field_status()</CODE> on a field not currently selected
-for input will return a correct value.  Calling <CODE>field_status()</CODE> on a
-field that is currently selected for input may not necessarily give a
-correct field status value, because entered data isn't necessarily copied to
-buffer zero before the exit validation check.
+  <h3><a name="fuser" id="fuser">Field User Pointer</a></h3>
 
-To guarantee that the returned status value reflects reality, call
-<CODE>field_status()</CODE> either (1) in the field's exit validation check
-routine, (2) from the field's or form's initialization or termination
-hooks, or (3) just after a <CODE>REQ_VALIDATION</CODE> request has been
-processed by the forms driver.
+  <p>Each field structure contains one character pointer slot that
+  is not used by the forms library. It is intended to be used by
+  applications to store private per-field data. You can manipulate
+  it with:</p>
 
-<H2><A NAME="fuser">Field User Pointer</A></H2>
-
-Each field structure contains one character pointer slot that is not used
-by the forms library.  It is intended to be used by applications to store
-private per-field data.  You can manipulate it with:
-
-<PRE>
+  <pre class="code-block">
 int set_field_userptr(FIELD *field,       /* field to alter */
                    char *userptr);        /* mode to set */
 
 char *field_userptr(FIELD *field);        /* fetch mode of field */
-</PRE>
+</pre>(Properly, this user pointer field ought to have <code>(void
+*)</code> type. The <code>(char *)</code> type is retained for
+System V compatibility.)
+  <p>It is valid to set the user pointer of the default field (with
+  a <code>set_field_userptr()</code> call passed a NULL field
+  pointer.) When a new field is created, the default-field user
+  pointer is copied to initialize the new field's user pointer.</p>
 
-(Properly, this user pointer field ought to have <CODE>(void *)</CODE> type.
-The <CODE>(char *)</CODE> type is retained for System V compatibility.) <P>
+  <h3><a name="fdynamic" id="fdynamic">Variable-Sized Fields</a></h3>
 
-It is valid to set the user pointer of the default field (with a
-<CODE>set_field_userptr()</CODE> call passed a NULL field pointer.)
-When a new field is created, the default-field user pointer is copied
-to initialize the new field's user pointer.
+  <p>Normally, a field is fixed at the size specified for it at
+  creation time. If, however, you turn off its O_STATIC bit, it
+  becomes <dfn>dynamic</dfn> and will automatically resize itself
+  to accommodate data as it is entered. If the field has extra
+  buffers associated with it, they will grow right along with the
+  main input buffer.</p>
 
-<H2><A NAME="fdynamic">Variable-Sized Fields</A></H2>
+  <p>A one-line dynamic field will have a fixed height (1) but
+  variable width, scrolling horizontally to display data within the
+  field area as originally dimensioned and located. A multi-line
+  dynamic field will have a fixed width, but variable height
+  (number of rows), scrolling vertically to display data within the
+  field area as originally dimensioned and located.</p>
 
-Normally, a field is fixed at the size specified for it at creation
-time.  If, however, you turn off its O_STATIC bit, it becomes
-<DFN>dynamic</DFN> and will automatically resize itself to accommodate
-data as it is entered.  If the field has extra buffers associated with it,
-they will grow right along with the main input buffer.  <P>
+  <p>Normally, a dynamic field is allowed to grow without limit.
+  But it is possible to set an upper limit on the size of a dynamic
+  field. You do it with this function:</p>
 
-A one-line dynamic field will have a fixed height (1) but variable
-width, scrolling horizontally to display data within the field area as
-originally dimensioned and located.  A multi-line dynamic field will
-have a fixed width, but variable height (number of rows), scrolling
-vertically to display data within the field area as originally
-dimensioned and located. <P>
-
-Normally, a dynamic field is allowed to grow without limit.  But it is
-possible to set an upper limit on the size of a dynamic field.  You do
-it with this function:
-
-<PRE>
+  <pre class="code-block">
 int set_max_field(FIELD *field,     /* field to alter (may not be NULL) */
                    int max_size);   /* upper limit on field size */
-</PRE>
+</pre>
+  <p>If the field is one-line, <code>max_size</code> is taken to be
+  a column size limit; if it is multi-line, it is taken to be a
+  line size limit. To disable any limit, use an argument of zero.
+  The growth limit can be changed whether or not the O_STATIC bit
+  is on, but has no effect until it is.</p>
 
-If the field is one-line, <CODE>max_size</CODE> is taken to be a column size
-limit; if it is multi-line, it is taken to be a line size limit.  To disable
-any limit, use an argument of zero.  The growth limit can be changed whether
-or not the O_STATIC bit is on, but has no effect until it is. <P>
+  <p>The following properties of a field change when it becomes
+  dynamic:</p>
 
-The following properties of a field change when it becomes dynamic:
+  <ul>
+    <li>If there is no growth limit, there is no final position of
+    the field; therefore <code>O_AUTOSKIP</code> and
+    <code>O_NL_OVERLOAD</code> are ignored.</li>
 
-<UL>
-<LI>If there is no growth limit, there is no final position of the field;
-therefore <CODE>O_AUTOSKIP</CODE> and <CODE>O_NL_OVERLOAD</CODE> are ignored.
-<LI>Field justification will be ignored (though whatever justification is
-set up will be retained internally and can be queried).
-<LI>The <CODE>dup_field()</CODE> and <CODE>link_field()</CODE> calls copy
-dynamic-buffer sizes.  If the <CODE>O_STATIC</CODE> option is set on one of a
-collection of links, buffer resizing will occur only when the field is
-edited through that link.
-<LI>The call <CODE>field_info()</CODE> will retrieve the original static size of
-the field; use <CODE>dynamic_field_info()</CODE> to get the actual dynamic size.
-</UL>
+    <li>Field justification will be ignored (though whatever
+    justification is set up will be retained internally and can be
+    queried).</li>
 
-<H2><A NAME="fvalidation">Field Validation</A></H2>
+    <li>The <code>dup_field()</code> and <code>link_field()</code>
+    calls copy dynamic-buffer sizes. If the <code>O_STATIC</code>
+    option is set on one of a collection of links, buffer resizing
+    will occur only when the field is edited through that
+    link.</li>
 
-By default, a field will accept any data that will fit in its input buffer.
-However, it is possible to attach a validation type to a field.  If you do
-this, any attempt to leave the field while it contains data that doesn't
-match the validation type will fail.  Some validation types also have a
-character-validity check for each time a character is entered in the field. <P>
+    <li>The call <code>field_info()</code> will retrieve the
+    original static size of the field; use
+    <code>dynamic_field_info()</code> to get the actual dynamic
+    size.</li>
+  </ul>
 
-A field's validation check (if any) is not called when
-<CODE>set_field_buffer()</CODE> modifies the input buffer, nor when that buffer
-is changed through a linked field. <P>
+  <h3><a name="fvalidation" id="fvalidation">Field Validation</a></h3>
 
-The <CODE>form</CODE> library provides a rich set of pre-defined validation
-types, and gives you the capability to define custom ones of your own.  You
-can examine and change field validation attributes with the following
-functions:
+  <p>By default, a field will accept any data that will fit in its
+  input buffer. However, it is possible to attach a validation type
+  to a field. If you do this, any attempt to leave the field while
+  it contains data that does not match the validation type will
+  fail. Some validation types also have a character-validity check
+  for each time a character is entered in the field.</p>
 
-<PRE>
+  <p>A field's validation check (if any) is not called when
+  <code>set_field_buffer()</code> modifies the input buffer, nor
+  when that buffer is changed through a linked field.</p>
+
+  <p>The <code>form</code> library provides a rich set of
+  pre-defined validation types, and gives you the capability to
+  define custom ones of your own. You can examine and change field
+  validation attributes with the following functions:</p>
+
+  <pre class="code-block">
 int set_field_type(FIELD *field,          /* field to alter */
                    FIELDTYPE *ftype,      /* type to associate */
                    ...);                  /* additional arguments*/
 
 FIELDTYPE *field_type(FIELD *field);      /* field to query */
-</PRE>
+</pre>
+  <p>The validation type of a field is considered an attribute of
+  the field. As with other field attributes, Also, doing
+  <code>set_field_type()</code> with a <code>NULL</code> field
+  default will change the system default for validation of
+  newly-created fields.</p>
 
-The validation type of a field is considered an attribute of the field.  As
-with other field attributes, Also, doing <CODE>set_field_type()</CODE> with a
-<CODE>NULL</CODE> field default will change the system default for validation of
-newly-created fields. <P>
+  <p>Here are the pre-defined validation types:</p>
 
-Here are the pre-defined validation types:
+  <h4><a name="ftype_alpha" id="ftype_alpha">TYPE_ALPHA</a></h4>
 
-<H3><A NAME="ftype_alpha">TYPE_ALPHA</A></H3>
+  <p>This field type accepts alphabetic data; no blanks, no digits,
+  no special characters (this is checked at character-entry time).
+  It is set up with:</p>
 
-This field type accepts alphabetic data; no blanks, no digits, no special
-characters (this is checked at character-entry time).  It is set up with:
-
-<PRE>
+  <pre class="code-block">
 int set_field_type(FIELD *field,          /* field to alter */
                    TYPE_ALPHA,            /* type to associate */
                    int width);            /* maximum width of field */
-</PRE>
+</pre>
+  <p>The <code>width</code> argument sets a minimum width of data.
+  Typically you will want to set this to the field width; if it is
+  greater than the field width, the validation check will always
+  fail. A minimum width of zero makes field completion
+  optional.</p>
 
-The <CODE>width</CODE> argument sets a minimum width of data.  Typically
-you'll want to set this to the field width; if it's greater than the
-field width, the validation check will always fail.  A minimum width
-of zero makes field completion optional.
+  <h4><a name="ftype_alnum" id="ftype_alnum">TYPE_ALNUM</a></h4>
 
-<H3><A NAME="ftype_alnum">TYPE_ALNUM</A></H3>
+  <p>This field type accepts alphabetic data and digits; no blanks,
+  no special characters (this is checked at character-entry time).
+  It is set up with:</p>
 
-This field type accepts alphabetic data and digits; no blanks, no special
-characters (this is checked at character-entry time).  It is set up with:
-
-<PRE>
+  <pre class="code-block">
 int set_field_type(FIELD *field,          /* field to alter */
                    TYPE_ALNUM,            /* type to associate */
                    int width);            /* maximum width of field */
-</PRE>
+</pre>
+  <p>The <code>width</code> argument sets a minimum width of data.
+  As with TYPE_ALPHA, typically you will want to set this to the
+  field width; if it is greater than the field width, the
+  validation check will always fail. A minimum width of zero makes
+  field completion optional.</p>
 
-The <CODE>width</CODE> argument sets a minimum width of data.  As with
-TYPE_ALPHA, typically you'll want to set this to the field width; if it's
-greater than the field width, the validation check will always fail.  A
-minimum width of zero makes field completion optional.
+  <h4><a name="ftype_enum" id="ftype_enum">TYPE_ENUM</a></h4>
 
-<H3><A NAME="ftype_enum">TYPE_ENUM</A></H3>
+  <p>This type allows you to restrict a field's values to be among
+  a specified set of string values (for example, the two-letter
+  postal codes for U.S. states). It is set up with:</p>
 
-This type allows you to restrict a field's values to be among a specified
-set of string values (for example, the two-letter postal codes for U.S.
-states).  It is set up with:
-
-<PRE>
+  <pre class="code-block">
 int set_field_type(FIELD *field,          /* field to alter */
                    TYPE_ENUM,             /* type to associate */
                    char **valuelist;      /* list of possible values */
                    int checkcase;         /* case-sensitive? */
                    int checkunique);      /* must specify uniquely? */
-</PRE>
+</pre>
+  <p>The <code>valuelist</code> parameter must point at a
+  NULL-terminated list of valid strings. The <code>checkcase</code>
+  argument, if true, makes comparison with the string
+  case-sensitive.</p>
 
-The <CODE>valuelist</CODE> parameter must point at a NULL-terminated list of
-valid strings.  The <CODE>checkcase</CODE> argument, if true, makes comparison
-with the string case-sensitive. <P>
+  <p>When the user exits a TYPE_ENUM field, the validation
+  procedure tries to complete the data in the buffer to a valid
+  entry. If a complete choice string has been entered, it is of
+  course valid. But it is also possible to enter a prefix of a
+  valid string and have it completed for you.</p>
 
-When the user exits a TYPE_ENUM field, the validation procedure tries to
-complete the data in the buffer to a valid entry.  If a complete choice string
-has been entered, it is of course valid.  But it is also possible to enter a
-prefix of a valid string and have it completed for you. <P>
+  <p>By default, if you enter such a prefix and it matches more
+  than one value in the string list, the prefix will be completed
+  to the first matching value. But the <code>checkunique</code>
+  argument, if true, requires prefix matches to be unique in order
+  to be valid.</p>
 
-By default, if you enter such a prefix and it matches more than one value
-in the string list, the prefix will be completed to the first matching
-value.  But the <CODE>checkunique</CODE> argument, if true, requires prefix
-matches to be unique in order to be valid. <P>
+  <p>The <code>REQ_NEXT_CHOICE</code> and
+  <code>REQ_PREV_CHOICE</code> input requests can be particularly
+  useful with these fields.</p>
 
-The <CODE>REQ_NEXT_CHOICE</CODE> and <CODE>REQ_PREV_CHOICE</CODE> input requests
-can be particularly useful with these fields.
+  <h4><a name="ftype_integer" id="ftype_integer">TYPE_INTEGER</a></h4>
 
-<H3><A NAME="ftype_integer">TYPE_INTEGER</A></H3>
+  <p>This field type accepts an integer. It is set up as
+  follows:</p>
 
-This field type accepts an integer.  It is set up as follows:
-
-<PRE>
+  <pre class="code-block">
 int set_field_type(FIELD *field,          /* field to alter */
                    TYPE_INTEGER,          /* type to associate */
                    int padding,           /* # places to zero-pad to */
                    int vmin, int vmax);   /* valid range */
-</PRE>
+</pre>
+  <p>Valid characters consist of an optional leading minus and
+  digits. The range check is performed on exit. If the range
+  maximum is less than or equal to the minimum, the range is
+  ignored.</p>
 
-Valid characters consist of an optional leading minus and digits.
-The range check is performed on exit.  If the range maximum is less
-than or equal to the minimum, the range is ignored. <P>
+  <p>If the value passes its range check, it is padded with as many
+  leading zero digits as necessary to meet the padding
+  argument.</p>
 
-If the value passes its range check, it is padded with as many leading
-zero digits as necessary to meet the padding argument. <P>
+  <p>A <code>TYPE_INTEGER</code> value buffer can conveniently be
+  interpreted with the C library function <code>atoi(3)</code>.</p>
 
-A <CODE>TYPE_INTEGER</CODE> value buffer can conveniently be interpreted
-with the C library function <CODE>atoi(3)</CODE>.
+  <h4><a name="ftype_numeric" id="ftype_numeric">TYPE_NUMERIC</a></h4>
 
-<H3><A NAME="ftype_numeric">TYPE_NUMERIC</A></H3>
+  <p>This field type accepts a decimal number. It is set up as
+  follows:</p>
 
-This field type accepts a decimal number.  It is set up as follows:
-
-<PRE>
+  <pre class="code-block">
 int set_field_type(FIELD *field,              /* field to alter */
                    TYPE_NUMERIC,              /* type to associate */
                    int padding,               /* # places of precision */
                    double vmin, double vmax); /* valid range */
-</PRE>
+</pre>
+  <p>Valid characters consist of an optional leading minus and
+  digits. possibly including a decimal point. If your system
+  supports locale's, the decimal point character used must be the
+  one defined by your locale. The range check is performed on exit.
+  If the range maximum is less than or equal to the minimum, the
+  range is ignored.</p>
 
-Valid characters consist of an optional leading minus and digits. possibly
-including a decimal point. If your system supports locale's, the decimal point
-character used must be the one defined by your locale. The range check is
-performed on exit. If the range maximum is less than or equal to the minimum,
-the range is ignored. <P>
+  <p>If the value passes its range check, it is padded with as many
+  trailing zero digits as necessary to meet the padding
+  argument.</p>
 
-If the value passes its range check, it is padded with as many trailing
-zero digits as necessary to meet the padding argument. <P>
+  <p>A <code>TYPE_NUMERIC</code> value buffer can conveniently be
+  interpreted with the C library function <code>atof(3)</code>.</p>
 
-A <CODE>TYPE_NUMERIC</CODE> value buffer can conveniently be interpreted
-with the C library function <CODE>atof(3)</CODE>.
+  <h4><a name="ftype_regexp" id="ftype_regexp">TYPE_REGEXP</a></h4>
 
-<H3><A NAME="ftype_regexp">TYPE_REGEXP</A></H3>
+  <p>This field type accepts data matching a regular expression. It
+  is set up as follows:</p>
 
-This field type accepts data matching a regular expression.  It is set up
-as follows:
-
-<PRE>
+  <pre class="code-block">
 int set_field_type(FIELD *field,          /* field to alter */
                    TYPE_REGEXP,           /* type to associate */
                    char *regexp);         /* expression to match */
-</PRE>
+</pre>
+  <p>The syntax for regular expressions is that of
+  <code>regcomp(3)</code>. The check for regular-expression match
+  is performed on exit.</p>
 
-The syntax for regular expressions is that of <CODE>regcomp(3)</CODE>.
-The check for regular-expression match is performed on exit.
+  <h3><a name="fbuffer" id="fbuffer">Direct Field Buffer
+  Manipulation</a></h3>
 
-<H2><A NAME="fbuffer">Direct Field Buffer Manipulation</A></H2>
+  <p>The chief attribute of a field is its buffer contents. When a
+  form has been completed, your application usually needs to know
+  the state of each field buffer. You can find this out with:</p>
 
-The chief attribute of a field is its buffer contents.  When a form has
-been completed, your application usually needs to know the state of each
-field buffer.  You can find this out with:
-
-<PRE>
+  <pre class="code-block">
 char *field_buffer(FIELD *field,          /* field to query */
                    int bufindex);         /* number of buffer to query */
-</PRE>
+</pre>
+  <p>Normally, the state of the zero-numbered buffer for each field
+  is set by the user's editing actions on that field. It is
+  sometimes useful to be able to set the value of the zero-numbered
+  (or some other) buffer from your application:</p>
 
-Normally, the state of the zero-numbered buffer for each field is set by
-the user's editing actions on that field.  It's sometimes useful to be able
-to set the value of the zero-numbered (or some other) buffer from your
-application:
-
-<PRE>
+  <pre class="code-block">
 int set_field_buffer(FIELD *field,        /* field to alter */
                    int bufindex,          /* number of buffer to alter */
                    char *value);          /* string value to set */
-</PRE>
+</pre>
+  <p>If the field is not large enough and cannot be resized to a
+  sufficiently large size to contain the specified value, the value
+  will be truncated to fit.</p>
 
-If the field is not large enough and cannot be resized to a sufficiently
-large size to contain the specified value, the value will be truncated
-to fit. <P>
+  <p>Calling <code>field_buffer()</code> with a null field pointer
+  will raise an error. Calling <code>field_buffer()</code> on a
+  field not currently selected for input will return a correct
+  value. Calling <code>field_buffer()</code> on a field that is
+  currently selected for input may not necessarily give a correct
+  field buffer value, because entered data is not necessarily
+  copied to buffer zero before the exit validation check. To
+  guarantee that the returned buffer value reflects on-screen
+  reality, call <code>field_buffer()</code> either (1) in the
+  field's exit validation check routine, (2) from the field's or
+  form's initialization or termination hooks, or (3) just after a
+  <code>REQ_VALIDATION</code> request has been processed by the
+  forms driver.</p>
 
-Calling <CODE>field_buffer()</CODE> with a null field pointer will raise an
-error.  Calling <CODE>field_buffer()</CODE> on a field not currently selected
-for input will return a correct value.  Calling <CODE>field_buffer()</CODE> on a
-field that is currently selected for input may not necessarily give a
-correct field buffer value, because entered data isn't necessarily copied to
-buffer zero before the exit validation check.
+  <h3><a name="formattrs" id="formattrs">Attributes of Forms</a></h3>
 
-To guarantee that the returned buffer value reflects on-screen reality,
-call <CODE>field_buffer()</CODE> either (1) in the field's exit validation
-check routine, (2) from the field's or form's initialization or termination
-hooks, or (3) just after a <CODE>REQ_VALIDATION</CODE> request has been processed
-by the forms driver.
+  <p>As with field attributes, form attributes inherit a default
+  from a system default form structure. These defaults can be
+  queried or set by of these functions using a form-pointer
+  argument of <code>NULL</code>.</p>
 
-<H2><A NAME="formattrs">Attributes of Forms</A></H2>
+  <p>The principal attribute of a form is its field list. You can
+  query and change this list with:</p>
 
-As with field attributes, form attributes inherit a default from a
-system default form structure.  These defaults can be queried or set by
-of these functions using a form-pointer argument of <CODE>NULL</CODE>. <P>
-
-The principal attribute of a form is its field list.  You can query
-and change this list with:
-
-<PRE>
+  <pre class="code-block">
 int set_form_fields(FORM *form,           /* form to alter */
                     FIELD **fields);      /* fields to connect */
 
 char *form_fields(FORM *form);            /* fetch fields of form */
 
 int field_count(FORM *form);              /* count connect fields */
-</PRE>
+</pre>
+  <p>The second argument of <code>set_form_fields()</code> may be a
+  NULL-terminated field pointer array like the one required by
+  <code>new_form()</code>. In that case, the old fields of the form
+  are disconnected but not freed (and eligible to be connected to
+  other forms), then the new fields are connected.</p>
 
-The second argument of <CODE>set_form_fields()</CODE> may be a
-NULL-terminated field pointer array like the one required by
-<CODE>new_form()</CODE>. In that case, the old fields of the form are
-disconnected but not freed (and eligible to be connected to other
-forms), then the new fields are connected. <P>
+  <p>It may also be null, in which case the old fields are
+  disconnected (and not freed) but no new ones are connected.</p>
 
-It may also be null, in which case the old fields are disconnected
-(and not freed) but no new ones are connected. <P>
+  <p>The <code>field_count()</code> function simply counts the
+  number of fields connected to a given from. It returns -1 if the
+  form-pointer argument is NULL.</p>
 
-The <CODE>field_count()</CODE> function simply counts the number of fields
-connected to a given from.  It returns -1 if the form-pointer argument
-is NULL.
+  <h3><a name="fdisplay" id="fdisplay">Control of Form Display</a></h3>
 
-<H2><A NAME="fdisplay">Control of Form Display</A></H2>
+  <p>In the overview section, you saw that to display a form you
+  normally start by defining its size (and fields), posting it, and
+  refreshing the screen. There is an hidden step before posting,
+  which is the association of the form with a frame window
+  (actually, a pair of windows) within which it will be displayed.
+  By default, the forms library associates every form with the
+  full-screen window <code>stdscr</code>.</p>
 
-In the overview section, you saw that to display a form you normally
-start by defining its size (and fields), posting it, and refreshing
-the screen.  There is an hidden step before posting, which is the
-association of the form with a frame window (actually, a pair of
-windows) within which it will be displayed.  By default, the forms
-library associates every form with the full-screen window
-<CODE>stdscr</CODE>. <P>
+  <p>By making this step explicit, you can associate a form with a
+  declared frame window on your screen display. This can be useful
+  if you want to adapt the form display to different screen sizes,
+  dynamically tile forms on the screen, or use a form as part of an
+  interface layout managed by <a href="#panels">panels</a>.</p>
 
-By making this step explicit, you can associate a form with a declared
-frame window on your screen display.  This can be useful if you want to
-adapt the form display to different screen sizes, dynamically tile
-forms on the screen, or use a form as part of an interface layout
-managed by <A HREF="#panels">panels</A>. <P>
+  <p>The two windows associated with each form have the same
+  functions as their analogues in the <a href="#menu">menu
+  library</a>. Both these windows are painted when the form is
+  posted and erased when the form is unposted.</p>
 
-The two windows associated with each form have the same functions as
-their analogues in the <A HREF="#menu">menu library</A>.  Both these
-windows are painted when the form is posted and erased when the form
-is unposted. <P>
+  <p>The outer or frame window is not otherwise touched by the form
+  routines. It exists so the programmer can associate a title, a
+  border, or perhaps help text with the form and have it properly
+  refreshed or erased at post/unpost time. The inner window or
+  subwindow is where the current form page is actually
+  displayed.</p>
 
-The outer or frame window is not otherwise touched by the form
-routines.  It exists so the programmer can associate a title, a
-border, or perhaps help text with the form and have it properly
-refreshed or erased at post/unpost time. The inner window or subwindow
-is where the current form page is actually displayed. <P>
+  <p>In order to declare your own frame window for a form, you will
+  need to know the size of the form's bounding rectangle. You can
+  get this information with:</p>
 
-In order to declare your own frame window for a form, you'll need to
-know the size of the form's bounding rectangle.  You can get this
-information with:
-
-<PRE>
+  <pre class="code-block">
 int scale_form(FORM *form,                /* form to query */
                int *rows,                 /* form rows */
                int *cols);                /* form cols */
-</PRE>
+</pre>
+  <p>The form dimensions are passed back in the locations pointed
+  to by the arguments. Once you have this information, you can use
+  it to declare of windows, then use one of these functions:</p>
 
-The form dimensions are passed back in the locations pointed to by
-the arguments.  Once you have this information, you can use it to
-declare of windows, then use one of these functions:
-
-<PRE>
+  <pre class="code-block">
 int set_form_win(FORM *form,              /* form to alter */
                  WINDOW *win);            /* frame window to connect */
 
@@ -2121,319 +2565,503 @@
                  WINDOW *win);            /* form subwindow to connect */
 
 WINDOW *form_sub(FORM *form);             /* fetch form subwindow of form */
-</PRE>
+</pre>
+  <p>Note that curses operations, including <code>refresh()</code>,
+  on the form, should be done on the frame window, not the form
+  subwindow.</p>
 
-Note that curses operations, including <CODE>refresh()</CODE>, on the form,
-should be done on the frame window, not the form subwindow. <P>
+  <p>It is possible to check from your application whether all of a
+  scrollable field is actually displayed within the menu subwindow.
+  Use these functions:</p>
 
-It is possible to check from your application whether all of a
-scrollable field is actually displayed within the menu subwindow.  Use
-these functions:
-
-<PRE>
+  <pre class="code-block">
 int data_ahead(FORM *form);               /* form to be queried */
 
 int data_behind(FORM *form);              /* form to be queried */
-</PRE>
+</pre>
+  <p>The function <code>data_ahead()</code> returns TRUE if (a) the
+  current field is one-line and has undisplayed data off to the
+  right, (b) the current field is multi-line and there is data
+  off-screen below it.</p>
 
-The function <CODE>data_ahead()</CODE> returns TRUE if (a) the current
-field is one-line and has undisplayed data off to the right, (b) the current
-field is multi-line and there is data off-screen below it. <P>
+  <p>The function <code>data_behind()</code> returns TRUE if the
+  first (upper left hand) character position is off-screen (not
+  being displayed).</p>
 
-The function <CODE>data_behind()</CODE> returns TRUE if the first (upper
-left hand) character position is off-screen (not being displayed). <P>
+  <p>Finally, there is a function to restore the form window's
+  cursor to the value expected by the forms driver:</p>
 
-Finally, there is a function to restore the form window's cursor to the
-value expected by the forms driver:
-
-<PRE>
+  <pre class="code-block">
 int pos_form_cursor(FORM *)               /* form to be queried */
-</PRE>
+</pre>
+  <p>If your application changes the form window cursor, call this
+  function before handing control back to the forms driver in order
+  to re-synchronize it.</p>
 
-If your application changes the form window cursor, call this function before
-handing control back to the forms driver in order to re-synchronize it.
+  <h3><a name="fdriver" id="fdriver">Input Processing in the Forms
+  Driver</a></h3>
 
-<H2><A NAME="fdriver">Input Processing in the Forms Driver</A></H2>
+  <p>The function <code>form_driver()</code> handles virtualized
+  input requests for form navigation, editing, and validation
+  requests, just as <code>menu_driver</code> does for menus (see
+  the section on <a href="#minput">menu input handling</a>).</p>
 
-The function <CODE>form_driver()</CODE> handles virtualized input requests
-for form navigation, editing, and validation requests, just as
-<CODE>menu_driver</CODE> does for menus (see the section on <A
-HREF="#minput">menu input handling</A>).
-
-<PRE>
+  <pre class="code-block">
 int form_driver(FORM *form,               /* form to pass input to */
                 int request);             /* form request code */
-</PRE>
+</pre>
+  <p>Your input virtualization function needs to take input and
+  then convert it to either an alphanumeric character (which is
+  treated as data to be entered in the currently-selected field),
+  or a forms processing request.</p>
 
-Your input virtualization function needs to take input and then convert it
-to either an alphanumeric character (which is treated as data to be
-entered in the currently-selected field), or a forms processing request. <P>
+  <p>The forms driver provides hooks (through input-validation and
+  field-termination functions) with which your application code can
+  check that the input taken by the driver matched what was
+  expected.</p>
 
-The forms driver provides hooks (through input-validation and
-field-termination functions) with which your application code can check
-that the input taken by the driver matched what was expected.
+  <h4><a name="fpage" id="fpage">Page Navigation Requests</a></h4>
 
-<H3><A NAME="fpage">Page Navigation Requests</A></H3>
+  <p>These requests cause page-level moves through the form,
+  triggering display of a new form screen.</p>
 
-These requests cause page-level moves through the form,
-triggering display of a new form screen.
+  <dl>
+    <dt><code>REQ_NEXT_PAGE</code>
+    </dt>
 
-<DL>
-<DT> <CODE>REQ_NEXT_PAGE</CODE>
-<DD> Move to the next form page.
-<DT> <CODE>REQ_PREV_PAGE</CODE>
-<DD> Move to the previous form page.
-<DT> <CODE>REQ_FIRST_PAGE</CODE>
-<DD> Move to the first form page.
-<DT> <CODE>REQ_LAST_PAGE</CODE>
-<DD> Move to the last form page.
-</DL>
+    <dd>Move to the next form page.</dd>
 
-These requests treat the list as cyclic; that is, <CODE>REQ_NEXT_PAGE</CODE>
-from the last page goes to the first, and <CODE>REQ_PREV_PAGE</CODE> from
-the first page goes to the last.
+    <dt><code>REQ_PREV_PAGE</code>
+    </dt>
 
-<H3><A NAME="ffield">Inter-Field Navigation Requests</A></H3>
+    <dd>Move to the previous form page.</dd>
 
-These requests handle navigation between fields on the same page.
+    <dt><code>REQ_FIRST_PAGE</code>
+    </dt>
 
-<DL>
-<DT> <CODE>REQ_NEXT_FIELD</CODE>
-<DD> Move to next field.
-<DT> <CODE>REQ_PREV_FIELD</CODE>
-<DD> Move to previous field.
-<DT> <CODE>REQ_FIRST_FIELD</CODE>
-<DD> Move to the first field.
-<DT> <CODE>REQ_LAST_FIELD</CODE>
-<DD> Move to the last field.
-<DT> <CODE>REQ_SNEXT_FIELD</CODE>
-<DD> Move to sorted next field.
-<DT> <CODE>REQ_SPREV_FIELD</CODE>
-<DD> Move to sorted previous field.
-<DT> <CODE>REQ_SFIRST_FIELD</CODE>
-<DD> Move to the sorted first field.
-<DT> <CODE>REQ_SLAST_FIELD</CODE>
-<DD> Move to the sorted last field.
-<DT> <CODE>REQ_LEFT_FIELD</CODE>
-<DD> Move left to field.
-<DT> <CODE>REQ_RIGHT_FIELD</CODE>
-<DD> Move right to field.
-<DT> <CODE>REQ_UP_FIELD</CODE>
-<DD> Move up to field.
-<DT> <CODE>REQ_DOWN_FIELD</CODE>
-<DD> Move down to field.
-</DL>
+    <dd>Move to the first form page.</dd>
 
-These requests treat the list of fields on a page as cyclic; that is,
-<CODE>REQ_NEXT_FIELD</CODE> from the last field goes to the first, and
-<CODE>REQ_PREV_FIELD</CODE> from the first field goes to the last. The
-order of the fields for these (and the <CODE>REQ_FIRST_FIELD</CODE> and
-<CODE>REQ_LAST_FIELD</CODE> requests) is simply the order of the field
-pointers in the form array (as set up by <CODE>new_form()</CODE> or
-<CODE>set_form_fields()</CODE> <P>
+    <dt><code>REQ_LAST_PAGE</code>
+    </dt>
 
-It is also possible to traverse the fields as if they had been sorted in
-screen-position order, so the sequence goes left-to-right and top-to-bottom.
-To do this, use the second group of four sorted-movement requests.  <P>
+    <dd>Move to the last form page.</dd>
+  </dl>
 
-Finally, it is possible to move between fields using visual directions up,
-down, right, and left.  To accomplish this, use the third group of four
-requests.  Note, however, that the position of a form for purposes of these
-requests is its upper-left corner. <P>
+  <p>These requests treat the list as cyclic; that is,
+  <code>REQ_NEXT_PAGE</code> from the last page goes to the first,
+  and <code>REQ_PREV_PAGE</code> from the first page goes to the
+  last.</p>
 
-For example, suppose you have a multi-line field B, and two
-single-line fields A and C on the same line with B, with A to the left
-of B and C to the right of B.  A <CODE>REQ_MOVE_RIGHT</CODE> from A will
-go to B only if A, B, and C <EM>all</EM> share the same first line;
-otherwise it will skip over B to C.
+  <h4><a name="ffield" id="ffield">Inter-Field Navigation
+  Requests</a></h4>
 
-<H3><A NAME="fifield">Intra-Field Navigation Requests</A></H3>
+  <p>These requests handle navigation between fields on the same
+  page.</p>
 
-These requests drive movement of the edit cursor within the currently
-selected field.
+  <dl>
+    <dt><code>REQ_NEXT_FIELD</code>
+    </dt>
 
-<DL>
-<DT> <CODE>REQ_NEXT_CHAR</CODE>
-<DD> Move to next character.
-<DT> <CODE>REQ_PREV_CHAR</CODE>
-<DD> Move to previous character.
-<DT> <CODE>REQ_NEXT_LINE</CODE>
-<DD> Move to next line.
-<DT> <CODE>REQ_PREV_LINE</CODE>
-<DD> Move to previous line.
-<DT> <CODE>REQ_NEXT_WORD</CODE>
-<DD> Move to next word.
-<DT> <CODE>REQ_PREV_WORD</CODE>
-<DD> Move to previous word.
-<DT> <CODE>REQ_BEG_FIELD</CODE>
-<DD> Move to beginning of field.
-<DT> <CODE>REQ_END_FIELD</CODE>
-<DD> Move to end of field.
-<DT> <CODE>REQ_BEG_LINE</CODE>
-<DD> Move to beginning of line.
-<DT> <CODE>REQ_END_LINE</CODE>
-<DD> Move to end of line.
-<DT> <CODE>REQ_LEFT_CHAR</CODE>
-<DD> Move left in field.
-<DT> <CODE>REQ_RIGHT_CHAR</CODE>
-<DD> Move right in field.
-<DT> <CODE>REQ_UP_CHAR</CODE>
-<DD> Move up in field.
-<DT> <CODE>REQ_DOWN_CHAR</CODE>
-<DD> Move down in field.
-</DL>
+    <dd>Move to next field.</dd>
 
-Each <EM>word</EM> is separated from the previous and next characters
-by whitespace.  The commands to move to beginning and end of line or field
-look for the first or last non-pad character in their ranges.
+    <dt><code>REQ_PREV_FIELD</code>
+    </dt>
 
-<H3><A NAME="fscroll">Scrolling Requests</A></H3>
+    <dd>Move to previous field.</dd>
 
-Fields that are dynamic and have grown and fields explicitly created
-with offscreen rows are scrollable.  One-line fields scroll horizontally;
-multi-line fields scroll vertically.  Most scrolling is triggered by
-editing and intra-field movement (the library scrolls the field to keep the
-cursor visible).  It is possible to explicitly request scrolling with the
-following requests:
+    <dt><code>REQ_FIRST_FIELD</code>
+    </dt>
 
-<DL>
-<DT> <CODE>REQ_SCR_FLINE</CODE>
-<DD> Scroll vertically forward a line.
-<DT> <CODE>REQ_SCR_BLINE</CODE>
-<DD> Scroll vertically backward a line.
-<DT> <CODE>REQ_SCR_FPAGE</CODE>
-<DD> Scroll vertically forward a page.
-<DT> <CODE>REQ_SCR_BPAGE</CODE>
-<DD> Scroll vertically backward a page.
-<DT> <CODE>REQ_SCR_FHPAGE</CODE>
-<DD> Scroll vertically forward half a page.
-<DT> <CODE>REQ_SCR_BHPAGE</CODE>
-<DD> Scroll vertically backward half a page.
-<DT> <CODE>REQ_SCR_FCHAR</CODE>
-<DD> Scroll horizontally forward a character.
-<DT> <CODE>REQ_SCR_BCHAR</CODE>
-<DD> Scroll horizontally backward a character.
-<DT> <CODE>REQ_SCR_HFLINE</CODE>
-<DD> Scroll horizontally one field width forward.
-<DT> <CODE>REQ_SCR_HBLINE</CODE>
-<DD> Scroll horizontally one field width backward.
-<DT> <CODE>REQ_SCR_HFHALF</CODE>
-<DD> Scroll horizontally one half field width forward.
-<DT> <CODE>REQ_SCR_HBHALF</CODE>
-<DD> Scroll horizontally one half field width backward.
-</DL>
+    <dd>Move to the first field.</dd>
 
-For scrolling purposes, a <EM>page</EM> of a field is the height
-of its visible part.
+    <dt><code>REQ_LAST_FIELD</code>
+    </dt>
 
-<H3><A NAME="fedit">Editing Requests</A></H3>
+    <dd>Move to the last field.</dd>
 
-When you pass the forms driver an ASCII character, it is treated as a
-request to add the character to the field's data buffer.  Whether this
-is an insertion or a replacement depends on the field's edit mode
-(insertion is the default. <P>
+    <dt><code>REQ_SNEXT_FIELD</code>
+    </dt>
 
-The following requests support editing the field and changing the edit
-mode:
+    <dd>Move to sorted next field.</dd>
 
-<DL>
-<DT> <CODE>REQ_INS_MODE</CODE>
-<DD> Set insertion mode.
-<DT> <CODE>REQ_OVL_MODE</CODE>
-<DD> Set overlay mode.
-<DT> <CODE>REQ_NEW_LINE</CODE>
-<DD> New line request (see below for explanation).
-<DT> <CODE>REQ_INS_CHAR</CODE>
-<DD> Insert space at character location.
-<DT> <CODE>REQ_INS_LINE</CODE>
-<DD> Insert blank line at character location.
-<DT> <CODE>REQ_DEL_CHAR</CODE>
-<DD> Delete character at cursor.
-<DT> <CODE>REQ_DEL_PREV</CODE>
-<DD> Delete previous word at cursor.
-<DT> <CODE>REQ_DEL_LINE</CODE>
-<DD> Delete line at cursor.
-<DT> <CODE>REQ_DEL_WORD</CODE>
-<DD> Delete word at cursor.
-<DT> <CODE>REQ_CLR_EOL</CODE>
-<DD> Clear to end of line.
-<DT> <CODE>REQ_CLR_EOF</CODE>
-<DD> Clear to end of field.
-<DT> <CODE>REQ_CLEAR_FIELD</CODE>
-<DD> Clear entire field.
-</DL>
+    <dt><code>REQ_SPREV_FIELD</code>
+    </dt>
 
-The behavior of the <CODE>REQ_NEW_LINE</CODE> and <CODE>REQ_DEL_PREV</CODE> requests
-is complicated and partly controlled by a pair of forms options.
-The special cases are triggered when the cursor is at the beginning of
-a field, or on the last line of the field. <P>
+    <dd>Move to sorted previous field.</dd>
 
-First, we consider <CODE>REQ_NEW_LINE</CODE>: <P>
+    <dt><code>REQ_SFIRST_FIELD</code>
+    </dt>
 
-The normal behavior of <CODE>REQ_NEW_LINE</CODE> in insert mode is to break the
-current line at the position of the edit cursor, inserting the portion of
-the current line after the cursor as a new line following the current
-and moving the cursor to the beginning of that new line (you may think
-of this as inserting a newline in the field buffer). <P>
+    <dd>Move to the sorted first field.</dd>
 
-The normal behavior of <CODE>REQ_NEW_LINE</CODE> in overlay mode is to clear the
-current line from the position of the edit cursor to end of line.
-The cursor is then moved to the beginning of the next line. <P>
+    <dt><code>REQ_SLAST_FIELD</code>
+    </dt>
 
-However, <CODE>REQ_NEW_LINE</CODE> at the beginning of a field, or on the
-last line of a field, instead does a <CODE>REQ_NEXT_FIELD</CODE>.
-<CODE>O_NL_OVERLOAD</CODE> option is off, this special action is
-disabled. <P>
+    <dd>Move to the sorted last field.</dd>
 
-Now, let us consider <CODE>REQ_DEL_PREV</CODE>: <P>
+    <dt><code>REQ_LEFT_FIELD</code>
+    </dt>
 
-The normal behavior of <CODE>REQ_DEL_PREV</CODE> is to delete the previous
-character.  If insert mode is on, and the cursor is at the start of a
-line, and the text on that line will fit on the previous one, it
-instead appends the contents of the current line to the previous one
-and deletes the current line (you may think of this as deleting a
-newline from the field buffer). <P>
+    <dd>Move left to field.</dd>
 
-However, <CODE>REQ_DEL_PREV</CODE> at the beginning of a field is instead
-treated as a <CODE>REQ_PREV_FIELD</CODE>. <P> If the
-<CODE>O_BS_OVERLOAD</CODE> option is off, this special action is
-disabled and the forms driver just returns <CODE>E_REQUEST_DENIED</CODE>. <P>
+    <dt><code>REQ_RIGHT_FIELD</code>
+    </dt>
 
-See <A HREF="#frmoptions">Form Options</A> for discussion of how to set
-and clear the overload options.
+    <dd>Move right to field.</dd>
 
-<H3><A NAME="forder">Order Requests</A></H3>
+    <dt><code>REQ_UP_FIELD</code>
+    </dt>
 
-If the type of your field is ordered, and has associated functions
-for getting the next and previous values of the type from a given value,
-there are requests that can fetch that value into the field buffer:
+    <dd>Move up to field.</dd>
 
-<DL>
-<DT> <CODE>REQ_NEXT_CHOICE</CODE>
-<DD> Place the successor value of the current value in the buffer.
-<DT> <CODE>REQ_PREV_CHOICE</CODE>
-<DD> Place the predecessor value of the current value in the buffer.
-</DL>
+    <dt><code>REQ_DOWN_FIELD</code>
+    </dt>
 
-Of the built-in field types, only <CODE>TYPE_ENUM</CODE> has built-in successor
-and predecessor functions.  When you define a field type of your own
-(see <A HREF="#fcustom">Custom Validation Types</A>), you can associate
-our own ordering functions.
+    <dd>Move down to field.</dd>
+  </dl>
 
-<H3><A NAME="fappcmds">Application Commands</A></H3>
+  <p>These requests treat the list of fields on a page as cyclic;
+  that is, <code>REQ_NEXT_FIELD</code> from the last field goes to
+  the first, and <code>REQ_PREV_FIELD</code> from the first field
+  goes to the last. The order of the fields for these (and the
+  <code>REQ_FIRST_FIELD</code> and <code>REQ_LAST_FIELD</code>
+  requests) is simply the order of the field pointers in the form
+  array (as set up by <code>new_form()</code> or
+  <code>set_form_fields()</code></p>
 
-Form requests are represented as integers above the <CODE>curses</CODE> value
-greater than <CODE>KEY_MAX</CODE> and less than or equal to the constant
-<CODE>MAX_COMMAND</CODE>.  If your input-virtualization routine returns a
-value above <CODE>MAX_COMMAND</CODE>, the forms driver will ignore it.
+  <p>It is also possible to traverse the fields as if they had been
+  sorted in screen-position order, so the sequence goes
+  left-to-right and top-to-bottom. To do this, use the second group
+  of four sorted-movement requests.</p>
 
-<H2><A NAME="fhooks">Field Change Hooks</A></H2>
+  <p>Finally, it is possible to move between fields using visual
+  directions up, down, right, and left. To accomplish this, use the
+  third group of four requests. Note, however, that the position of
+  a form for purposes of these requests is its upper-left
+  corner.</p>
 
-It is possible to set function hooks to be executed whenever the
-current field or form changes.  Here are the functions that support this:
+  <p>For example, suppose you have a multi-line field B, and two
+  single-line fields A and C on the same line with B, with A to the
+  left of B and C to the right of B. A <code>REQ_MOVE_RIGHT</code>
+  from A will go to B only if A, B, and C <em>all</em> share the
+  same first line; otherwise it will skip over B to C.</p>
 
-<PRE>
-typedef void	(*HOOK)();       /* pointer to function returning void */
+  <h4><a name="fifield" id="fifield">Intra-Field Navigation
+  Requests</a></h4>
+
+  <p>These requests drive movement of the edit cursor within the
+  currently selected field.</p>
+
+  <dl>
+    <dt><code>REQ_NEXT_CHAR</code>
+    </dt>
+
+    <dd>Move to next character.</dd>
+
+    <dt><code>REQ_PREV_CHAR</code>
+    </dt>
+
+    <dd>Move to previous character.</dd>
+
+    <dt><code>REQ_NEXT_LINE</code>
+    </dt>
+
+    <dd>Move to next line.</dd>
+
+    <dt><code>REQ_PREV_LINE</code>
+    </dt>
+
+    <dd>Move to previous line.</dd>
+
+    <dt><code>REQ_NEXT_WORD</code>
+    </dt>
+
+    <dd>Move to next word.</dd>
+
+    <dt><code>REQ_PREV_WORD</code>
+    </dt>
+
+    <dd>Move to previous word.</dd>
+
+    <dt><code>REQ_BEG_FIELD</code>
+    </dt>
+
+    <dd>Move to beginning of field.</dd>
+
+    <dt><code>REQ_END_FIELD</code>
+    </dt>
+
+    <dd>Move to end of field.</dd>
+
+    <dt><code>REQ_BEG_LINE</code>
+    </dt>
+
+    <dd>Move to beginning of line.</dd>
+
+    <dt><code>REQ_END_LINE</code>
+    </dt>
+
+    <dd>Move to end of line.</dd>
+
+    <dt><code>REQ_LEFT_CHAR</code>
+    </dt>
+
+    <dd>Move left in field.</dd>
+
+    <dt><code>REQ_RIGHT_CHAR</code>
+    </dt>
+
+    <dd>Move right in field.</dd>
+
+    <dt><code>REQ_UP_CHAR</code>
+    </dt>
+
+    <dd>Move up in field.</dd>
+
+    <dt><code>REQ_DOWN_CHAR</code>
+    </dt>
+
+    <dd>Move down in field.</dd>
+  </dl>
+
+  <p>Each <em>word</em> is separated from the previous and next
+  characters by whitespace. The commands to move to beginning and
+  end of line or field look for the first or last non-pad character
+  in their ranges.</p>
+
+  <h4><a name="fscroll" id="fscroll">Scrolling Requests</a></h4>
+
+  <p>Fields that are dynamic and have grown and fields explicitly
+  created with offscreen rows are scrollable. One-line fields
+  scroll horizontally; multi-line fields scroll vertically. Most
+  scrolling is triggered by editing and intra-field movement (the
+  library scrolls the field to keep the cursor visible). It is
+  possible to explicitly request scrolling with the following
+  requests:</p>
+
+  <dl>
+    <dt><code>REQ_SCR_FLINE</code>
+    </dt>
+
+    <dd>Scroll vertically forward a line.</dd>
+
+    <dt><code>REQ_SCR_BLINE</code>
+    </dt>
+
+    <dd>Scroll vertically backward a line.</dd>
+
+    <dt><code>REQ_SCR_FPAGE</code>
+    </dt>
+
+    <dd>Scroll vertically forward a page.</dd>
+
+    <dt><code>REQ_SCR_BPAGE</code>
+    </dt>
+
+    <dd>Scroll vertically backward a page.</dd>
+
+    <dt><code>REQ_SCR_FHPAGE</code>
+    </dt>
+
+    <dd>Scroll vertically forward half a page.</dd>
+
+    <dt><code>REQ_SCR_BHPAGE</code>
+    </dt>
+
+    <dd>Scroll vertically backward half a page.</dd>
+
+    <dt><code>REQ_SCR_FCHAR</code>
+    </dt>
+
+    <dd>Scroll horizontally forward a character.</dd>
+
+    <dt><code>REQ_SCR_BCHAR</code>
+    </dt>
+
+    <dd>Scroll horizontally backward a character.</dd>
+
+    <dt><code>REQ_SCR_HFLINE</code>
+    </dt>
+
+    <dd>Scroll horizontally one field width forward.</dd>
+
+    <dt><code>REQ_SCR_HBLINE</code>
+    </dt>
+
+    <dd>Scroll horizontally one field width backward.</dd>
+
+    <dt><code>REQ_SCR_HFHALF</code>
+    </dt>
+
+    <dd>Scroll horizontally one half field width forward.</dd>
+
+    <dt><code>REQ_SCR_HBHALF</code>
+    </dt>
+
+    <dd>Scroll horizontally one half field width backward.</dd>
+  </dl>
+
+  <p>For scrolling purposes, a <em>page</em> of a field is the
+  height of its visible part.</p>
+
+  <h4><a name="fedit" id="fedit">Editing Requests</a></h4>
+
+  <p>When you pass the forms driver an ASCII character, it is
+  treated as a request to add the character to the field's data
+  buffer. Whether this is an insertion or a replacement depends on
+  the field's edit mode (insertion is the default.</p>
+
+  <p>The following requests support editing the field and changing
+  the edit mode:</p>
+
+  <dl>
+    <dt><code>REQ_INS_MODE</code>
+    </dt>
+
+    <dd>Set insertion mode.</dd>
+
+    <dt><code>REQ_OVL_MODE</code>
+    </dt>
+
+    <dd>Set overlay mode.</dd>
+
+    <dt><code>REQ_NEW_LINE</code>
+    </dt>
+
+    <dd>New line request (see below for explanation).</dd>
+
+    <dt><code>REQ_INS_CHAR</code>
+    </dt>
+
+    <dd>Insert space at character location.</dd>
+
+    <dt><code>REQ_INS_LINE</code>
+    </dt>
+
+    <dd>Insert blank line at character location.</dd>
+
+    <dt><code>REQ_DEL_CHAR</code>
+    </dt>
+
+    <dd>Delete character at cursor.</dd>
+
+    <dt><code>REQ_DEL_PREV</code>
+    </dt>
+
+    <dd>Delete previous word at cursor.</dd>
+
+    <dt><code>REQ_DEL_LINE</code>
+    </dt>
+
+    <dd>Delete line at cursor.</dd>
+
+    <dt><code>REQ_DEL_WORD</code>
+    </dt>
+
+    <dd>Delete word at cursor.</dd>
+
+    <dt><code>REQ_CLR_EOL</code>
+    </dt>
+
+    <dd>Clear to end of line.</dd>
+
+    <dt><code>REQ_CLR_EOF</code>
+    </dt>
+
+    <dd>Clear to end of field.</dd>
+
+    <dt><code>REQ_CLEAR_FIELD</code>
+    </dt>
+
+    <dd>Clear entire field.</dd>
+  </dl>
+
+  <p>The behavior of the <code>REQ_NEW_LINE</code> and
+  <code>REQ_DEL_PREV</code> requests is complicated and partly
+  controlled by a pair of forms options. The special cases are
+  triggered when the cursor is at the beginning of a field, or on
+  the last line of the field.</p>
+
+  <p>First, we consider <code>REQ_NEW_LINE</code>:</p>
+
+  <p>The normal behavior of <code>REQ_NEW_LINE</code> in insert
+  mode is to break the current line at the position of the edit
+  cursor, inserting the portion of the current line after the
+  cursor as a new line following the current and moving the cursor
+  to the beginning of that new line (you may think of this as
+  inserting a newline in the field buffer).</p>
+
+  <p>The normal behavior of <code>REQ_NEW_LINE</code> in overlay
+  mode is to clear the current line from the position of the edit
+  cursor to end of line. The cursor is then moved to the beginning
+  of the next line.</p>
+
+  <p>However, <code>REQ_NEW_LINE</code> at the beginning of a
+  field, or on the last line of a field, instead does a
+  <code>REQ_NEXT_FIELD</code>. <code>O_NL_OVERLOAD</code> option is
+  off, this special action is disabled.</p>
+
+  <p>Now, let us consider <code>REQ_DEL_PREV</code>:</p>
+
+  <p>The normal behavior of <code>REQ_DEL_PREV</code> is to delete
+  the previous character. If insert mode is on, and the cursor is
+  at the start of a line, and the text on that line will fit on the
+  previous one, it instead appends the contents of the current line
+  to the previous one and deletes the current line (you may think
+  of this as deleting a newline from the field buffer).</p>
+
+  <p>However, <code>REQ_DEL_PREV</code> at the beginning of a field
+  is instead treated as a <code>REQ_PREV_FIELD</code>.</p>
+
+  <p>If the <code>O_BS_OVERLOAD</code> option is off, this special
+  action is disabled and the forms driver just returns
+  <code>E_REQUEST_DENIED</code>.</p>
+
+  <p>See <a href="#frmoptions">Form Options</a> for discussion of
+  how to set and clear the overload options.</p>
+
+  <h4><a name="forder" id="forder">Order Requests</a></h4>
+
+  <p>If the type of your field is ordered, and has associated
+  functions for getting the next and previous values of the type
+  from a given value, there are requests that can fetch that value
+  into the field buffer:</p>
+
+  <dl>
+    <dt><code>REQ_NEXT_CHOICE</code>
+    </dt>
+
+    <dd>Place the successor value of the current value in the
+    buffer.</dd>
+
+    <dt><code>REQ_PREV_CHOICE</code>
+    </dt>
+
+    <dd>Place the predecessor value of the current value in the
+    buffer.</dd>
+  </dl>
+
+  <p>Of the built-in field types, only <code>TYPE_ENUM</code> has
+  built-in successor and predecessor functions. When you define a
+  field type of your own (see <a href="#fcustom">Custom Validation
+  Types</a>), you can associate our own ordering functions.</p>
+
+  <h4><a name="fappcmds" id="fappcmds">Application Commands</a></h4>
+
+  <p>Form requests are represented as integers above the
+  <code>curses</code> value greater than <code>KEY_MAX</code> and
+  less than or equal to the constant <code>MAX_COMMAND</code>. If
+  your input-virtualization routine returns a value above
+  <code>MAX_COMMAND</code>, the forms driver will ignore it.</p>
+
+  <h3><a name="fhooks" id="fhooks">Field Change Hooks</a></h3>
+
+  <p>It is possible to set function hooks to be executed whenever
+  the current field or form changes. Here are the functions that
+  support this:</p>
+
+  <pre class="code-block">
+typedef void    (*HOOK)();       /* pointer to function returning void */
 
 int set_form_init(FORM *form,    /* form to alter */
                   HOOK hook);    /* initialization hook */
@@ -2454,53 +3082,66 @@
                   HOOK hook);    /* termination hook */
 
 HOOK field_term(FORM *form);     /* form to query */
-</PRE>
+</pre>
+  <p>These functions allow you to either set or query four
+  different hooks. In each of the set functions, the second
+  argument should be the address of a hook function. These
+  functions differ only in the timing of the hook call.</p>
 
-These functions allow you to either set or query four different hooks.
-In each of the set functions, the second argument should be the
-address of a hook function.  These functions differ only in the timing
-of the hook call.
+  <dl>
+    <dt>form_init</dt>
 
-<DL>
-<DT> form_init
-<DD> This hook is called when the form is posted; also, just after
-each page change operation.
-<DT> field_init
-<DD> This hook is called when the form is posted; also, just after
-each field change
-<DT> field_term
-<DD> This hook is called just after field validation; that is, just before
-the field is altered.  It is also called when the form is unposted.
-<DT> form_term
-<DD> This hook is called when the form is unposted; also, just before
-each page change operation.
-</DL>
+    <dd>This hook is called when the form is posted; also, just
+    after each page change operation.</dd>
 
-Calls to these hooks may be triggered
-<OL>
-<LI>When user editing requests are processed by the forms driver
-<LI>When the current page is changed by <CODE>set_current_field()</CODE> call
-<LI>When the current field is changed by a <CODE>set_form_page()</CODE> call
-</OL>
+    <dt>field_init</dt>
 
-See <A NAME="ffocus">Field Change Commands</A> for discussion of the latter
-two cases. <P>
+    <dd>This hook is called when the form is posted; also, just
+    after each field change</dd>
 
-You can set a default hook for all fields by passing one of the set functions
-a NULL first argument. <P>
+    <dt>field_term</dt>
 
-You can disable any of these hooks by (re)setting them to NULL, the default
-value.
+    <dd>This hook is called just after field validation; that is,
+    just before the field is altered. It is also called when the
+    form is unposted.</dd>
 
-<H2><A HREF="#ffocus">Field Change Commands</A></H2>
+    <dt>form_term</dt>
 
-Normally, navigation through the form will be driven by the user's
-input requests.  But sometimes it is useful to be able to move the
-focus for editing and viewing under control of your application, or
-ask which field it currently is in.  The following functions help you
-accomplish this:
+    <dd>This hook is called when the form is unposted; also, just
+    before each page change operation.</dd>
+  </dl>
 
-<PRE>
+  <p>Calls to these hooks may be triggered</p>
+
+  <ol>
+    <li>When user editing requests are processed by the forms
+    driver</li>
+
+    <li>When the current page is changed by
+    <code>set_current_field()</code> call</li>
+
+    <li>When the current field is changed by a
+    <code>set_form_page()</code> call</li>
+  </ol>
+
+  <p>See <a name="ffocus" id="ffocus">Field Change Commands</a> for
+  discussion of the latter two cases.</p>
+
+  <p>You can set a default hook for all fields by passing one of
+  the set functions a NULL first argument.</p>
+
+  <p>You can disable any of these hooks by (re)setting them to
+  NULL, the default value.</p>
+
+  <h3><a href="#ffocus">Field Change Commands</a></h3>
+
+  <p>Normally, navigation through the form will be driven by the
+  user's input requests. But sometimes it is useful to be able to
+  move the focus for editing and viewing under control of your
+  application, or ask which field it currently is in. The following
+  functions help you accomplish this:</p>
+
+  <pre class="code-block">
 int set_current_field(FORM *form,         /* form to alter */
                       FIELD *field);      /* field to shift to */
 
@@ -2508,33 +3149,33 @@
 
 int field_index(FORM *form,               /* form to query */
                 FIELD *field);            /* field to get index of */
-</PRE>
+</pre>
+  <p>The function <code>field_index()</code> returns the index of
+  the given field in the given form's field array (the array passed
+  to <code>new_form()</code> or
+  <code>set_form_fields()</code>).</p>
 
-The function <CODE>field_index()</CODE> returns the index of the given field
-in the given form's field array (the array passed to <CODE>new_form()</CODE> or
-<CODE>set_form_fields()</CODE>). <P>
+  <p>The initial current field of a form is the first active field
+  on the first page. The function <code>set_form_fields()</code>
+  resets this.</p>
 
-The initial current field of a form is the first active field on the
-first page. The function <CODE>set_form_fields()</CODE> resets this.<P>
+  <p>It is also possible to move around by pages.</p>
 
-It is also possible to move around by pages.
-
-<PRE>
+  <pre class="code-block">
 int set_form_page(FORM *form,             /* form to alter */
                   int page);              /* page to go to (0-origin) */
 
 int form_page(FORM *form);                /* return form's current page */
-</PRE>
+</pre>
+  <p>The initial page of a newly-created form is 0. The function
+  <code>set_form_fields()</code> resets this.</p>
 
-The initial page of a newly-created form is 0.  The function
-<CODE>set_form_fields()</CODE> resets this.
+  <h3><a name="frmoptions" id="frmoptions">Form Options</a></h3>
 
-<H2><A NAME="frmoptions">Form Options</A></H2>
+  <p>Like fields, forms may have control option bits. They can be
+  changed or queried with these functions:</p>
 
-Like fields, forms may have control option bits.  They can be changed
-or queried with these functions:
-
-<PRE>
+  <pre class="code-block">
 int set_form_opts(FORM *form,             /* form to alter */
                   int attr);              /* attribute to set */
 
@@ -2545,179 +3186,205 @@
                   int attr);              /* attributes to turn off */
 
 int form_opts(FORM *form);                /* form to query */
-</PRE>
+</pre>
+  <p>By default, all options are on. Here are the available option
+  bits:</p>
 
-By default, all options are on.  Here are the available option bits:
+  <dl>
+    <dt>O_NL_OVERLOAD</dt>
 
-<DL>
-<DT> O_NL_OVERLOAD
-<DD> Enable overloading of <CODE>REQ_NEW_LINE</CODE> as described in <A
-href="#fedit">Editing Requests</A>.  The value of this option is
-ignored on dynamic fields that have not reached their size limit;
-these have no last line, so the circumstances for triggering a
-<CODE>REQ_NEXT_FIELD</CODE> never arise.
-<DT> O_BS_OVERLOAD
-<DD> Enable overloading of <CODE>REQ_DEL_PREV</CODE> as described in
-<A href="#fedit">Editing Requests</A>.
-</DL>
+    <dd>Enable overloading of <code>REQ_NEW_LINE</code> as
+    described in <a href="#fedit">Editing Requests</a>. The value
+    of this option is ignored on dynamic fields that have not
+    reached their size limit; these have no last line, so the
+    circumstances for triggering a <code>REQ_NEXT_FIELD</code>
+    never arise.</dd>
 
-The option values are bit-masks and can be composed with logical-or in
-the obvious way.
+    <dt>O_BS_OVERLOAD</dt>
 
-<H2><A NAME="fcustom">Custom Validation Types</A></H2>
+    <dd>Enable overloading of <code>REQ_DEL_PREV</code> as
+    described in <a href="#fedit">Editing Requests</a>.</dd>
+  </dl>
 
-The <CODE>form</CODE> library gives you the capability to define custom
-validation types of your own.  Further, the optional additional arguments
-of <CODE>set_field_type</CODE> effectively allow you to parameterize validation
-types.  Most of the complications in the validation-type interface have to
-do with the handling of the additional arguments within custom validation
-functions.
+  <p>The option values are bit-masks and can be composed with
+  logical-or in the obvious way.</p>
 
-<H3><A NAME="flinktypes">Union Types</A></H3>
+  <h3><a name="fcustom" id="fcustom">Custom Validation Types</a></h3>
 
-The simplest way to create a custom data type is to compose it from two
-preexisting ones:
+  <p>The <code>form</code> library gives you the capability to
+  define custom validation types of your own. Further, the optional
+  additional arguments of <code>set_field_type</code> effectively
+  allow you to parameterize validation types. Most of the
+  complications in the validation-type interface have to do with
+  the handling of the additional arguments within custom validation
+  functions.</p>
 
-<PRE>
+  <h4><a name="flinktypes" id="flinktypes">Union Types</a></h4>
+
+  <p>The simplest way to create a custom data type is to compose it
+  from two preexisting ones:</p>
+
+  <pre class="code-block">
 FIELD *link_fieldtype(FIELDTYPE *type1,
                       FIELDTYPE *type2);
-</PRE>
+</pre>
+  <p>This function creates a field type that will accept any of the
+  values legal for either of its argument field types (which may be
+  either predefined or programmer-defined). If a
+  <code>set_field_type()</code> call later requires arguments, the
+  new composite type expects all arguments for the first type, than
+  all arguments for the second. Order functions (see <a href=
+  "#forder">Order Requests</a>) associated with the component types
+  will work on the composite; what it does is check the validation
+  function for the first type, then for the second, to figure what
+  type the buffer contents should be treated as.</p>
 
-This function creates a field type that will accept any of the values
-legal for either of its argument field types (which may be either
-predefined or programmer-defined).
+  <h4><a name="fnewtypes" id="fnewtypes">New Field Types</a></h4>
 
-If a <CODE>set_field_type()</CODE> call later requires arguments, the new
-composite type expects all arguments for the first type, than all arguments
-for the second.  Order functions (see <A HREF="#forder">Order Requests</A>)
-associated with the component types will work on the composite; what it does
-is check the validation function for the first type, then for the second, to
-figure what type the buffer contents should be treated as.
+  <p>To create a field type from scratch, you need to specify one
+  or both of the following things:</p>
 
-<H3><A NAME="fnewtypes">New Field Types</A></H3>
+  <ul>
+    <li>A character-validation function, to check each character as
+    it is entered.</li>
 
-To create a field type from scratch, you need to specify one or both of the
-following things:
+    <li>A field-validation function to be applied on exit from the
+    field.</li>
+  </ul>
 
-<UL>
-<LI>A character-validation function, to check each character as it is entered.
-<LI>A field-validation function to be applied on exit from the field.
-</UL>
+  <p>Here is how you do that:</p>
 
-Here's how you do that:
-<PRE>
-typedef int	(*HOOK)();       /* pointer to function returning int */
+  <pre class="code-block">
+typedef int     (*HOOK)();       /* pointer to function returning int */
 
 FIELDTYPE *new_fieldtype(HOOK f_validate, /* field validator */
                          HOOK c_validate) /* character validator */
 
-
 int free_fieldtype(FIELDTYPE *ftype);     /* type to free */
-</PRE>
+</pre>
+  <p>At least one of the arguments of <code>new_fieldtype()</code>
+  must be non-NULL. The forms driver will automatically call the
+  new type's validation functions at appropriate points in
+  processing a field of the new type.</p>
 
-At least one of the arguments of <CODE>new_fieldtype()</CODE> must be
-non-NULL.  The forms driver will automatically call the new type's
-validation functions at appropriate points in processing a field of
-the new type. <P>
+  <p>The function <code>free_fieldtype()</code> deallocates the
+  argument fieldtype, freeing all storage associated with it.</p>
 
-The function <CODE>free_fieldtype()</CODE> deallocates the argument
-fieldtype, freeing all storage associated with it. <P>
+  <p>Normally, a field validator is called when the user attempts
+  to leave the field. Its first argument is a field pointer, from
+  which it can get to field buffer 0 and test it. If the function
+  returns TRUE, the operation succeeds; if it returns FALSE, the
+  edit cursor stays in the field.</p>
 
-Normally, a field validator is called when the user attempts to
-leave the field.  Its first argument is a field pointer, from which it
-can get to field buffer 0 and test it.  If the function returns TRUE,
-the operation succeeds; if it returns FALSE, the edit cursor stays in
-the field. <P>
+  <p>A character validator gets the character passed in as a first
+  argument. It too should return TRUE if the character is valid,
+  FALSE otherwise.</p>
 
-A character validator gets the character passed in as a first argument.
-It too should return TRUE if the character is valid, FALSE otherwise.
+  <h4><a name="fcheckargs" id="fcheckargs">Validation Function
+  Arguments</a></h4>
 
-<H3><A NAME="fcheckargs">Validation Function Arguments</A></H3>
+  <p>Your field- and character- validation functions will be passed
+  a second argument as well. This second argument is the address of
+  a structure (which we will call a <em>pile</em>) built from any
+  of the field-type-specific arguments passed to
+  <code>set_field_type()</code>. If no such arguments are defined
+  for the field type, this pile pointer argument will be NULL.</p>
 
-Your field- and character- validation functions will be passed a
-second argument as well.  This second argument is the address of a
-structure (which we'll call a <EM>pile</EM>) built from any of the
-field-type-specific arguments passed to <CODE>set_field_type()</CODE>.  If
-no such arguments are defined for the field type, this pile pointer
-argument will be NULL. <P>
+  <p>In order to arrange for such arguments to be passed to your
+  validation functions, you must associate a small set of
+  storage-management functions with the type. The forms driver will
+  use these to synthesize a pile from the trailing arguments of
+  each <code>set_field_type()</code> argument, and a pointer to the
+  pile will be passed to the validation functions.</p>
 
-In order to arrange for such arguments to be passed to your validation
-functions, you must associate a small set of storage-management functions
-with the type.  The forms driver will use these to synthesize a pile
-from the trailing arguments of each <CODE>set_field_type()</CODE> argument, and
-a pointer to the pile will be passed to the validation functions. <P>
+  <p>Here is how you make the association:</p>
 
-Here is how you make the association:
-
-<PRE>
-typedef char	*(*PTRHOOK)();    /* pointer to function returning (char *) */
-typedef void	(*VOIDHOOK)();    /* pointer to function returning void */
+  <pre class="code-block">
+typedef char    *(*PTRHOOK)();    /* pointer to function returning (char *) */
+typedef void    (*VOIDHOOK)();    /* pointer to function returning void */
 
 int set_fieldtype_arg(FIELDTYPE *type,    /* type to alter */
                       PTRHOOK make_str,   /* make structure from args */
                       PTRHOOK copy_str,   /* make copy of structure */
                       VOIDHOOK free_str); /* free structure storage */
-</PRE>
+</pre>
+  <p>Here is how the storage-management hooks are used:</p>
 
-Here is how the storage-management hooks are used:
+  <dl>
+    <dt><code>make_str</code>
+    </dt>
 
-<DL>
-<DT> <CODE>make_str</CODE>
-<DD> This function is called by <CODE>set_field_type()</CODE>.  It gets one
-argument, a <CODE>va_list</CODE> of the type-specific arguments passed to
-<CODE>set_field_type()</CODE>.  It is expected to return a pile pointer to a data
-structure that encapsulates those arguments.
-<DT> <CODE>copy_str</CODE>
-<DD> This function is called by form library functions that allocate new
-field instances.  It is expected to take a pile pointer, copy the pile
-to allocated storage, and return the address of the pile copy.
-<DT> <CODE>free_str</CODE>
-<DD> This function is called by field- and type-deallocation routines in the
-library.  It takes a pile pointer argument, and is expected to free the
-storage of that pile.
-</DL>
+    <dd>This function is called by <code>set_field_type()</code>.
+    It gets one argument, a <code>va_list</code> of the
+    type-specific arguments passed to
+    <code>set_field_type()</code>. It is expected to return a pile
+    pointer to a data structure that encapsulates those
+    arguments.</dd>
 
-The <CODE>make_str</CODE> and <CODE>copy_str</CODE> functions may return NULL to
-signal allocation failure.  The library routines will that call them will
-return error indication when this happens.  Thus, your validation functions
-should never see a NULL file pointer and need not check specially for it.
+    <dt><code>copy_str</code>
+    </dt>
 
-<H3><A NAME="fcustorder">Order Functions For Custom Types</A></H3>
+    <dd>This function is called by form library functions that
+    allocate new field instances. It is expected to take a pile
+    pointer, copy the pile to allocated storage, and return the
+    address of the pile copy.</dd>
 
-Some custom field types are simply ordered in the same well-defined way
-that <CODE>TYPE_ENUM</CODE> is.  For such types, it is possible to define
-successor and predecessor functions to support the <CODE>REQ_NEXT_CHOICE</CODE>
-and <CODE>REQ_PREV_CHOICE</CODE> requests. Here's how:
+    <dt><code>free_str</code>
+    </dt>
 
-<PRE>
-typedef int	(*INTHOOK)();     /* pointer to function returning int */
+    <dd>This function is called by field- and type-deallocation
+    routines in the library. It takes a pile pointer argument, and
+    is expected to free the storage of that pile.</dd>
+  </dl>
+
+  <p>The <code>make_str</code> and <code>copy_str</code> functions
+  may return NULL to signal allocation failure. The library
+  routines will that call them will return error indication when
+  this happens. Thus, your validation functions should never see a
+  NULL file pointer and need not check specially for it.</p>
+
+  <h4><a name="fcustorder" id="fcustorder">Order Functions For
+  Custom Types</a></h4>
+
+  <p>Some custom field types are simply ordered in the same
+  well-defined way that <code>TYPE_ENUM</code> is. For such types,
+  it is possible to define successor and predecessor functions to
+  support the <code>REQ_NEXT_CHOICE</code> and
+  <code>REQ_PREV_CHOICE</code> requests. Here is how:</p>
+
+  <pre class="code-block">
+typedef int     (*INTHOOK)();     /* pointer to function returning int */
 
 int set_fieldtype_arg(FIELDTYPE *type,    /* type to alter */
                       INTHOOK succ,       /* get successor value */
                       INTHOOK pred);      /* get predecessor value */
-</PRE>
+</pre>
+  <p>The successor and predecessor arguments will each be passed
+  two arguments; a field pointer, and a pile pointer (as for the
+  validation functions). They are expected to use the function
+  <code>field_buffer()</code> to read the current value, and
+  <code>set_field_buffer()</code> on buffer 0 to set the next or
+  previous value. Either hook may return TRUE to indicate success
+  (a legal next or previous value was set) or FALSE to indicate
+  failure.</p>
 
-The successor and predecessor arguments will each be passed two arguments;
-a field pointer, and a pile pointer (as for the validation functions).  They
-are expected to use the function <CODE>field_buffer()</CODE> to read the
-current value, and <CODE>set_field_buffer()</CODE> on buffer 0 to set the next
-or previous value.  Either hook may return TRUE to indicate success (a
-legal next or previous value was set) or FALSE to indicate failure.
+  <h4><a name="fcustprobs" id="fcustprobs">Avoiding Problems</a></h4>
 
-<H3><A NAME="fcustprobs">Avoiding Problems</A></H3>
+  <p>The interface for defining custom types is complicated and
+  tricky. Rather than attempting to create a custom type entirely
+  from scratch, you should start by studying the library source
+  code for whichever of the pre-defined types seems to be closest
+  to what you want.</p>
 
-The interface for defining custom types is complicated and tricky.
-Rather than attempting to create a custom type entirely from scratch,
-you should start by studying the library source code for whichever of
-the pre-defined types seems to be closest to what you want. <P>
+  <p>Use that code as a model, and evolve it towards what you
+  really want. You will avoid many problems and annoyances that
+  way. The code in the <code>ncurses</code> library has been
+  specifically exempted from the package copyright to support
+  this.</p>
 
-Use that code as a model, and evolve it towards what you really want.
-You will avoid many problems and annoyances that way.  The code
-in the <CODE>ncurses</CODE> library has been specifically exempted from
-the package copyright to support this. <P>
-
-If your custom type defines order functions, have do something intuitive
-with a blank field.  A useful convention is to make the successor of a
-blank field the types minimum value, and its predecessor the maximum.
-</BODY>
-</HTML>
+  <p>If your custom type defines order functions, have do something
+  intuitive with a blank field. A useful convention is to make the
+  successor of a blank field the types minimum value, and its
+  predecessor the maximum.</p>
+</body>
+</html>
