]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - doc/html/man/curs_outopts.3x.html
ncurses 6.4 - patch 20240420
[ncurses.git] / doc / html / man / curs_outopts.3x.html
index f77255ec87a775de96e2bd41b41a6c8ca804fd97..65efa41b461bc496673f3276ed4ae28118d1dacd 100644 (file)
@@ -1,6 +1,7 @@
-<!-- 
+<!--
   ****************************************************************************
-  * Copyright (c) 1998-2015,2016 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            *
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_outopts.3x,v 1.27 2016/10/15 17:02:31 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.4 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.4 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
+       <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>
        <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>.
+       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.
+       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.
+       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.
+       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.
+       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-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.)
+       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-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-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.
+       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><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>.
+       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,
 
-       X/Open Curses does not define any error conditions.
+       <STRONG>o</STRONG>   those functions that have a window pointer will return an error  if
+           the window pointer is null
 
-       In this implementation, 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.
 
-              <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.
+</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 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.
-
-       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  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.  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.
+       These functions are described in X/Open Curses, Issue 4.
 
+       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>.
 
-</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.
+       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.
+
+       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.
 
-       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>.
+       <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.4                       2024-04-20                  <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
 <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>