ncurses: Update master to work with v5.7 in contrib.
authorJan Lentfer <Jan.Lentfer@web.de>
Thu, 17 Dec 2009 14:57:20 +0000 (15:57 +0100)
committerJan Lentfer <Jan.Lentfer@web.de>
Thu, 17 Dec 2009 14:57:20 +0000 (15:57 +0100)
131 files changed:
lib/libncurses/include/MKterm.h.awk
lib/libncurses/include/curses.head
lib/libncurses/include/ncurses_cfg.h
lib/libncurses/include/ncurses_dll.h [copied from lib/libncurses/include/termcap.h with 60% similarity]
lib/libncurses/include/termcap.h
lib/libncurses/libform/Makefile
lib/libncurses/libmenu/Makefile
lib/libncurses/libncurses/Makefile
lib/libncurses/libncurses/termcap.c
lib/libncurses/man/Makefile
lib/libncurses/man/clear.1
lib/libncurses/man/curs_add_wch.3
lib/libncurses/man/curs_add_wchstr.3
lib/libncurses/man/curs_addch.3
lib/libncurses/man/curs_addchstr.3
lib/libncurses/man/curs_addstr.3
lib/libncurses/man/curs_addwstr.3
lib/libncurses/man/curs_attr.3
lib/libncurses/man/curs_beep.3
lib/libncurses/man/curs_bkgd.3
lib/libncurses/man/curs_bkgrnd.3
lib/libncurses/man/curs_border.3
lib/libncurses/man/curs_border_set.3
lib/libncurses/man/curs_clear.3
lib/libncurses/man/curs_color.3
lib/libncurses/man/curs_delch.3
lib/libncurses/man/curs_deleteln.3
lib/libncurses/man/curs_extend.3
lib/libncurses/man/curs_get_wch.3
lib/libncurses/man/curs_get_wstr.3
lib/libncurses/man/curs_getcchar.3
lib/libncurses/man/curs_getch.3
lib/libncurses/man/curs_getstr.3
lib/libncurses/man/curs_getyx.3
lib/libncurses/man/curs_in_wch.3
lib/libncurses/man/curs_in_wchstr.3
lib/libncurses/man/curs_inch.3
lib/libncurses/man/curs_inchstr.3
lib/libncurses/man/curs_initscr.3
lib/libncurses/man/curs_inopts.3
lib/libncurses/man/curs_ins_wch.3
lib/libncurses/man/curs_ins_wstr.3
lib/libncurses/man/curs_insch.3
lib/libncurses/man/curs_insstr.3
lib/libncurses/man/curs_instr.3
lib/libncurses/man/curs_inwstr.3
lib/libncurses/man/curs_kernel.3
lib/libncurses/man/curs_legacy.3 [copied from lib/libncurses/man/curs_getyx.3 with 61% similarity]
lib/libncurses/man/curs_memleaks.3 [copied from lib/libncurses/man/curs_insch.3 with 61% similarity]
lib/libncurses/man/curs_mouse.3
lib/libncurses/man/curs_move.3
lib/libncurses/man/curs_opaque.3 [copied from lib/libncurses/man/form_field_opts.3 with 50% similarity]
lib/libncurses/man/curs_outopts.3
lib/libncurses/man/curs_overlay.3
lib/libncurses/man/curs_pad.3
lib/libncurses/man/curs_print.3
lib/libncurses/man/curs_printw.3
lib/libncurses/man/curs_refresh.3
lib/libncurses/man/curs_scanw.3
lib/libncurses/man/curs_scr_dump.3
lib/libncurses/man/curs_scroll.3
lib/libncurses/man/curs_slk.3
lib/libncurses/man/curs_termattrs.3
lib/libncurses/man/curs_termcap.3
lib/libncurses/man/curs_terminfo.3
lib/libncurses/man/curs_threads.3 [new file with mode: 0644]
lib/libncurses/man/curs_touch.3
lib/libncurses/man/curs_trace.3
lib/libncurses/man/curs_util.3
lib/libncurses/man/curs_window.3
lib/libncurses/man/default_colors.3
lib/libncurses/man/define_key.3
lib/libncurses/man/form.3
lib/libncurses/man/form_cursor.3
lib/libncurses/man/form_data.3
lib/libncurses/man/form_driver.3
lib/libncurses/man/form_field.3
lib/libncurses/man/form_field_attributes.3
lib/libncurses/man/form_field_buffer.3
lib/libncurses/man/form_field_info.3
lib/libncurses/man/form_field_just.3
lib/libncurses/man/form_field_new.3
lib/libncurses/man/form_field_opts.3
lib/libncurses/man/form_field_userptr.3
lib/libncurses/man/form_field_validation.3
lib/libncurses/man/form_fieldtype.3
lib/libncurses/man/form_hook.3
lib/libncurses/man/form_new.3
lib/libncurses/man/form_new_page.3
lib/libncurses/man/form_opts.3
lib/libncurses/man/form_page.3
lib/libncurses/man/form_post.3
lib/libncurses/man/form_requestname.3
lib/libncurses/man/form_userptr.3
lib/libncurses/man/form_win.3
lib/libncurses/man/key_defined.3
lib/libncurses/man/keybound.3
lib/libncurses/man/keyok.3
lib/libncurses/man/legacy_coding.3 [copied from lib/libncurses/man/define_key.3 with 61% similarity]
lib/libncurses/man/menu.3
lib/libncurses/man/menu_attributes.3
lib/libncurses/man/menu_cursor.3
lib/libncurses/man/menu_driver.3
lib/libncurses/man/menu_format.3
lib/libncurses/man/menu_hook.3
lib/libncurses/man/menu_items.3
lib/libncurses/man/menu_mark.3
lib/libncurses/man/menu_new.3
lib/libncurses/man/menu_opts.3
lib/libncurses/man/menu_pattern.3
lib/libncurses/man/menu_post.3
lib/libncurses/man/menu_requestname.3
lib/libncurses/man/menu_spacing.3
lib/libncurses/man/menu_userptr.3
lib/libncurses/man/menu_win.3
lib/libncurses/man/mitem_current.3
lib/libncurses/man/mitem_name.3
lib/libncurses/man/mitem_new.3
lib/libncurses/man/mitem_opts.3
lib/libncurses/man/mitem_userptr.3
lib/libncurses/man/mitem_value.3
lib/libncurses/man/mitem_visible.3
lib/libncurses/man/ncurses.3
lib/libncurses/man/panel.3
lib/libncurses/man/resizeterm.3
lib/libncurses/man/term.5
lib/libncurses/man/term.7
lib/libncurses/man/terminfo.5
lib/libncurses/man/tput.1
lib/libncurses/man/tset.1
lib/libncurses/man/wresize.3

index 2f47f7d..587ba37 100644 (file)
@@ -1,7 +1,7 @@
-# $DragonFly: src/lib/libncurses/include/MKterm.h.awk,v 1.3 2005/07/29 14:20:11 joerg Exp $
+# vile:awkmode
 BEGIN          {
                    print  "/****************************************************************************"
-                   print  " * Copyright (c) 1998-2001,2003 Free Software Foundation, Inc.              *"
+                   print  " * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc.              *"
                    print  " *                                                                          *"
                    print  " * Permission is hereby granted, free of charge, to any person obtaining a  *"
                    print  " * copy of this software and associated documentation files (the            *"
@@ -31,10 +31,10 @@ BEGIN               {
                    print  "/****************************************************************************/"
                    print  "/* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995                */"
                    print  "/*    and: Eric S. Raymond <esr@snark.thyrsus.com>                          */"
-                   print  "/*    and: Thomas E. Dickey                        1995-2003                */"
+                   print  "/*    and: Thomas E. Dickey                        1995-on                  */"
                    print  "/****************************************************************************/"
                    print  ""
-                   print  "/* $Id: MKterm.h.awk.in,v 1.42 2003/12/27 19:09:16 tom Exp $ */"
+                   print  "/* $Id: MKterm.h.awk.in,v 1.50 2008/05/24 23:13:59 tom Exp $ */"
                    print  ""
                    print  "/*"
                    print  "**  term.h -- Definition of struct term"
@@ -44,29 +44,9 @@ BEGIN                {
                    print  "#define NCURSES_TERM_H_incl 1"
                    print  ""
                    print  "#undef  NCURSES_VERSION"
-                   print  "#define NCURSES_VERSION \"5.4\""
+                   print  "#define NCURSES_VERSION \"5.7\""
                    print  ""
-                   print  "#if 0"
                    print  "#include <ncurses_dll.h>"
-                   print  "#else"
-                   print  "/* From ncurses_dll.h */"
-                   print  "/* This is copied so we don't need to install "
-                   print  "   ncurses_dll.h as well */"
-                   print  "/* Take care of non-cygwin platforms */"
-                   print  "#if !defined(NCURSES_IMPEXP)"
-                   print  "#  define NCURSES_IMPEXP /* nothing */"
-                   print  "#endif"
-                   print  "#if !defined(NCURSES_API)"
-                   print  "#  define NCURSES_API /* nothing */"
-                   print  "#endif"
-                   print  "#if !defined(NCURSES_EXPORT)"
-                   print  "#  define NCURSES_EXPORT(type) NCURSES_IMPEXP type NCURSES_API"
-                   print  "#endif"
-                   print  "#if !defined(NCURSES_EXPORT_VAR)"
-                   print  "#  define NCURSES_EXPORT_VAR(type) NCURSES_IMPEXP type"
-                   print  "#endif"
-                   print  "#endif"
-                   print  "#"
                    print  ""
                    print  "#ifdef __cplusplus"
                    print  "extern \"C\" {"
@@ -76,15 +56,12 @@ BEGIN               {
                    print  " * definition (based on the system for which this was configured)."
                    print  " */"
                    print  ""
-                   print  "#undef  HAVE_TERMIOS_H"
-                   print  "#define HAVE_TERMIOS_H 1/*default*/"
-                   print  ""
-                   print  "#undef  HAVE_TCGETATTR"
-                   print  "#define HAVE_TCGETATTR 1/*default*/"
-                   print  ""
                    print  "#undef  NCURSES_CONST"
                    print  "#define NCURSES_CONST const"
                    print  ""
+                   print  "#undef  NCURSES_SBOOL"
+                   print  "#define NCURSES_SBOOL char"
+                   print  ""
                    print  "#undef  NCURSES_XNAMES"
                    print  "#define NCURSES_XNAMES 1"
                    print  ""
@@ -96,7 +73,8 @@ BEGIN         {
                    print  "#undef  GET_TTY"
                    print  ""
                    print  "/* Assume POSIX termio if we have the header and function */"
-                   print  "#if HAVE_TERMIOS_H && HAVE_TCGETATTR"
+                   print  "/* #if HAVE_TERMIOS_H && HAVE_TCGETATTR */"
+                   print  "#if 1 && 1"
                    print  ""
                    print  "#undef  TERMIOS"
                    print  "#define TERMIOS 1"
@@ -106,7 +84,8 @@ BEGIN                {
                    print  ""
                    print  "#else /* !HAVE_TERMIOS_H */"
                    print  ""
-                   print  "#if HAVE_TERMIO_H"
+                   print  "/* #if HAVE_TERMIO_H */"
+                   print  "#if 0"
                    print  ""
                    print  "#undef  TERMIOS"
                    print  "#define TERMIOS 1"
@@ -221,7 +200,7 @@ END         {
                        print  "typedef struct termtype {       /* in-core form of terminfo data */"
                        print  "    char  *term_names;          /* str_table offset of term names */"
                        print  "    char  *str_table;           /* pointer to string table */"
-                       print  "    char  *Booleans;            /* array of boolean values */"
+                       print  "    NCURSES_SBOOL  *Booleans;   /* array of boolean values */"
                        print  "    short *Numbers;             /* array of integer values */"
                        print  "    char  **Strings;            /* array of string offsets */"
                        print  ""
@@ -249,31 +228,33 @@ END               {
                        print  "    char *      _termname;      /* used for termname() */"
                        print  "} TERMINAL;"
                        print  ""
-                       print  "extern NCURSES_EXPORT_VAR(TERMINAL *) cur_term;"
-                       print  ""
-                       print  "#if BROKEN_LINKER"
-                       print  "#define boolnames  _nc_boolnames()"
-                       print  "#define boolcodes  _nc_boolcodes()"
-                       print  "#define boolfnames _nc_boolfnames()"
-                       print  "#define numnames   _nc_numnames()"
-                       print  "#define numcodes   _nc_numcodes()"
-                       print  "#define numfnames  _nc_numfnames()"
-                       print  "#define strnames   _nc_strnames()"
-                       print  "#define strcodes   _nc_strcodes()"
-                       print  "#define strfnames  _nc_strfnames()"
+                       print  "#if 0 || 0"
+                       print  "NCURSES_WRAPPED_VAR(TERMINAL *, cur_term);"
+                       print  "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolnames);"
+                       print  "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolcodes);"
+                       print  "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolfnames);"
+                       print  "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numnames);"
+                       print  "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numcodes);"
+                       print  "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numfnames);"
+                       print  "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strnames);"
+                       print  "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strcodes);"
+                       print  "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strfnames);"
                        print  ""
-                       print  "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_boolnames (void);"
-                       print  "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_boolcodes (void);"
-                       print  "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_boolfnames (void);"
-                       print  "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_numnames (void);"
-                       print  "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_numcodes (void);"
-                       print  "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_numfnames (void);"
-                       print  "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_strnames (void);"
-                       print  "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_strcodes (void);"
-                       print  "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_strfnames (void);"
+                       print  "#define cur_term   NCURSES_PUBLIC_VAR(cur_term())"
+                       print  "#define boolnames  NCURSES_PUBLIC_VAR(boolnames())"
+                       print  "#define boolcodes  NCURSES_PUBLIC_VAR(boolcodes())"
+                       print  "#define boolfnames NCURSES_PUBLIC_VAR(boolfnames())"
+                       print  "#define numnames   NCURSES_PUBLIC_VAR(numnames())"
+                       print  "#define numcodes   NCURSES_PUBLIC_VAR(numcodes())"
+                       print  "#define numfnames  NCURSES_PUBLIC_VAR(numfnames())"
+                       print  "#define strnames   NCURSES_PUBLIC_VAR(strnames())"
+                       print  "#define strcodes   NCURSES_PUBLIC_VAR(strcodes())"
+                       print  "#define strfnames  NCURSES_PUBLIC_VAR(strfnames())"
                        print  ""
                        print  "#else"
                        print  ""
+                       print  "extern NCURSES_EXPORT_VAR(TERMINAL *) cur_term;"
+                       print  ""
                        print  "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolnames[];"
                        print  "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolcodes[];"
                        print  "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolfnames[];"
@@ -291,9 +272,9 @@ END         {
                        print  "extern NCURSES_EXPORT(int) _nc_get_tty_mode (TTY *buf);"
                        print  "extern NCURSES_EXPORT(int) _nc_read_entry (const char * const, char * const, TERMTYPE *const);"
                        print  "extern NCURSES_EXPORT(int) _nc_read_file_entry (const char *const, TERMTYPE *);"
+                       print  "extern NCURSES_EXPORT(int) _nc_read_termtype (TERMTYPE *, char *, int);"
                        print  "extern NCURSES_EXPORT(char *) _nc_first_name (const char *const);"
                        print  "extern NCURSES_EXPORT(int) _nc_name_match (const char *const, const char *const, const char *const);"
-                       print  "extern NCURSES_EXPORT(int) _nc_read_termcap_entry (const char *const, TERMTYPE *const);"
                        print  "extern NCURSES_EXPORT(const TERMTYPE *) _nc_fallback (const char *);"
                        print  ""
                        print  "/* entry points */"
@@ -307,11 +288,18 @@ END               {
                        print  "/* terminfo entry points, also declared in curses.h */"
                        print  "#if !defined(__NCURSES_H)"
                        print  "extern NCURSES_EXPORT(char *) tigetstr (NCURSES_CONST char *);"
-                       print  "extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, ...);"
                        print  "extern NCURSES_EXPORT_VAR(char) ttytype[];"
                        print  "extern NCURSES_EXPORT(int) putp (const char *);"
                        print  "extern NCURSES_EXPORT(int) tigetflag (NCURSES_CONST char *);"
                        print  "extern NCURSES_EXPORT(int) tigetnum (NCURSES_CONST char *);"
+                       print  ""
+                       print  "#if 1 /* NCURSES_TPARM_VARARGS */"
+                       print  "extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, ...);        /* special */"
+                       print  "#else"
+                       print  "extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, long,long,long,long,long,long,long,long,long);       /* special */"
+                       print  "extern NCURSES_EXPORT(char *) tparm_varargs (NCURSES_CONST char *, ...);        /* special */"
+                       print  "#endif"
+                       print  ""
                        print  "#endif /* __NCURSES_H */"
                        print  ""
                        print  "/* termcap database emulation (XPG4 uses const only for 2nd param of tgetent) */"
index fc6b899..ffe1b2e 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc.              *
+ * Copyright (c) 1998-2007,2008 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            *
 /****************************************************************************
  *  Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995               *
  *     and: Eric S. Raymond <esr@snark.thyrsus.com>                         *
- *     and: Thomas E. Dickey 1996-on                                        *
+ *     and: Thomas E. Dickey                        1996-on                 *
  ****************************************************************************/
 
-/* $Id: curses.h.in,v 1.148 2004/01/14 23:50:12 tom Exp $ */
-/* $DragonFly: src/lib/libncurses/include/curses.head,v 1.3 2005/09/22 11:14:44 asmodai Exp $ */
+/* $Id: curses.h.in,v 1.187 2008/08/30 20:11:29 tom Exp $ */
 
 #ifndef __NCURSES_H
 #define __NCURSES_H
 
 /* These are defined only in curses.h, and are used for conditional compiles */
 #define NCURSES_VERSION_MAJOR 5
-#define NCURSES_VERSION_MINOR 4
-#define NCURSES_VERSION_PATCH 20040208
+#define NCURSES_VERSION_MINOR 7
+#define NCURSES_VERSION_PATCH 20081102
 
 /* This is defined in more than one ncurses header, for identification */
 #undef  NCURSES_VERSION
-#define NCURSES_VERSION "5.4"
+#define NCURSES_VERSION "5.7"
 
-#if 0
+/*
+ * Identify the mouse encoding version.
+ */
+#define NCURSES_MOUSE_VERSION 1
+
+/*
+ * Definitions to facilitate DLL's.
+ */
 #include <ncurses_dll.h>
-#else
-/* From ncurses_dll.h */
-/* This is copied so we don't need to install ncurses_dll.h as well */
-/* Take care of non-cygwin platforms */
-#if !defined(NCURSES_IMPEXP)
-#  define NCURSES_IMPEXP /* nothing */
-#endif
-#if !defined(NCURSES_API)
-#  define NCURSES_API /* nothing */
-#endif
-#if !defined(NCURSES_EXPORT)
-#  define NCURSES_EXPORT(type) NCURSES_IMPEXP type NCURSES_API
-#endif
-#if !defined(NCURSES_EXPORT_VAR)
-#  define NCURSES_EXPORT_VAR(type) NCURSES_IMPEXP type
-#endif
+
+/*
+ * User-definable tweak to disable the include of <stdbool.h>.
+ */
+#ifndef NCURSES_ENABLE_STDBOOL_H
+#define NCURSES_ENABLE_STDBOOL_H 1
 #endif
 
 /*
  * configured using --disable-macros.
  */
 #ifdef NCURSES_NOMACROS
+#ifndef NCURSES_ATTR_T
 #define NCURSES_ATTR_T attr_t
 #endif
+#endif /* NCURSES_NOMACROS */
 
 #ifndef NCURSES_ATTR_T
 #define NCURSES_ATTR_T int
 #undef  NCURSES_CONST
 #define NCURSES_CONST const
 
+#undef NCURSES_INLINE
+#define NCURSES_INLINE inline
+
 /*
  * The internal type used for color values
  */
 #undef NCURSES_COLOR_T
 #define        NCURSES_COLOR_T short
 
+/*
+ * Definition used to make WINDOW and similar structs opaque.
+ */
+#ifndef NCURSES_OPAQUE
+#define NCURSES_OPAQUE 0
+#endif
+
 /*
  * The internal type used for window dimensions.
  */
 #undef NCURSES_SIZE_T
 #define        NCURSES_SIZE_T short
 
+/*
+ * Control whether tparm() supports varargs or fixed-parameter list.
+ */
+#undef NCURSES_TPARM_VARARGS
+#define NCURSES_TPARM_VARARGS 1
+
 /*
  * NCURSES_CH_T is used in building the library, but not used otherwise in
  * this header file, since that would make the normal/wide-character versions
 #undef NCURSES_CH_T
 #define NCURSES_CH_T cchar_t
 
-typedef unsigned long chtype;
+#if 0 && defined(_LP64)
+typedef unsigned chtype;
+typedef unsigned mmask_t;
+#else
+typedef unsigned int chtype;
+typedef unsigned long mmask_t;
+#endif
 
 #include <stdio.h>
 #include <unctrl.h>
@@ -124,7 +144,7 @@ typedef unsigned long chtype;
 #include <stddef.h>    /* we want wchar_t */
 #endif /* _XOPEN_SOURCE_EXTENDED */
 
-/* XSI and SVr4 specify that curses implements 'bool'.  However, C++ may also
+/* X/Open and SVr4 specify that curses implements 'bool'.  However, C++ may also
  * implement it.  If so, we must use the C++ compiler's type to avoid conflict
  * with other interfaces.
  *
@@ -151,7 +171,7 @@ typedef unsigned char NCURSES_BOOL;
 
 #else                  /* c89, c99, etc. */
 
-#if 1
+#if NCURSES_ENABLE_STDBOOL_H
 #include <stdbool.h>
 /* use whatever the C compiler decides bool really is */
 #define NCURSES_BOOL bool
@@ -165,10 +185,13 @@ typedef unsigned char NCURSES_BOOL;
 
 #ifdef __cplusplus
 extern "C" {
+#define NCURSES_CAST(type,value) static_cast<type>(value)
+#else
+#define NCURSES_CAST(type,value) (type)(value)
 #endif
 
 /*
- * XSI attributes.  In the ncurses implementation, they are identical to the
+ * X/Open attributes.  In the ncurses implementation, they are identical to the
  * A_ attributes.
  */
 #define WA_ATTRIBUTES  A_ATTRIBUTES
@@ -190,9 +213,6 @@ extern "C" {
 #define WA_VERTICAL    A_VERTICAL
 
 /* colors */
-extern NCURSES_EXPORT_VAR(int) COLORS;
-extern NCURSES_EXPORT_VAR(int) COLOR_PAIRS;
-
 #define COLOR_BLACK    0
 #define COLOR_RED      1
 #define COLOR_GREEN    2
@@ -204,14 +224,14 @@ extern NCURSES_EXPORT_VAR(int) COLOR_PAIRS;
 
 /* line graphics */
 
-#if 0
-extern NCURSES_EXPORT_VAR(chtype*) _nc_acs_map(void);
+#if 0 || 0
+NCURSES_WRAPPED_VAR(chtype*, acs_map);
 #define acs_map (_nc_acs_map())
 #else
 extern NCURSES_EXPORT_VAR(chtype) acs_map[];
 #endif
 
-#define NCURSES_ACS(c) (acs_map[(unsigned char)c])
+#define NCURSES_ACS(c) (acs_map[NCURSES_CAST(unsigned char,c)])
 
 /* VT100 symbols begin here */
 #define ACS_ULCORNER   NCURSES_ACS('l') /* upper left corner */
@@ -329,11 +349,17 @@ typedef struct
 {
     attr_t     attr;
     wchar_t    chars[CCHARW_MAX];
+#if 0
+#undef NCURSES_EXT_COLORS
+#define NCURSES_EXT_COLORS 20081102
+    int                ext_color;      /* color pair, must be more than 16-bits */
+#endif
 }
 cchar_t;
 
 #endif /* _XOPEN_SOURCE_EXTENDED */
 
+#if !NCURSES_OPAQUE
 struct ldat;
 
 struct _win_st
@@ -385,50 +411,20 @@ struct _win_st
 
 #ifdef _XOPEN_SOURCE_EXTENDED
        cchar_t  _bkgrnd;       /* current background char/attribute pair */
+#if 0
+       int     _color;         /* current color-pair for non-space character */
 #endif
-};
-
-extern NCURSES_EXPORT_VAR(WINDOW *)   stdscr;
-extern NCURSES_EXPORT_VAR(WINDOW *)   curscr;
-extern NCURSES_EXPORT_VAR(WINDOW *)   newscr;
-
-extern NCURSES_EXPORT_VAR(int) LINES;
-extern NCURSES_EXPORT_VAR(int) COLS;
-extern NCURSES_EXPORT_VAR(int) TABSIZE;
-
-/*
- * This global was an undocumented feature under AIX curses.
- */
-extern NCURSES_EXPORT_VAR(int) ESCDELAY;       /* ESC expire time in milliseconds */
-
-extern NCURSES_EXPORT_VAR(char) ttytype[];     /* needed for backward compatibility */
-
-/*
- * These functions are extensions - not in XSI Curses.
- */
-#if 1
-extern NCURSES_EXPORT(bool) is_term_resized (int, int);
-extern NCURSES_EXPORT(char *) keybound (int, int);
-extern NCURSES_EXPORT(const char *) curses_version (void);
-extern NCURSES_EXPORT(int) assume_default_colors (int, int);
-extern NCURSES_EXPORT(int) define_key (const char *, int);
-extern NCURSES_EXPORT(int) key_defined (const char *);
-extern NCURSES_EXPORT(int) keyok (int, bool);
-extern NCURSES_EXPORT(int) resize_term (int, int);
-extern NCURSES_EXPORT(int) resizeterm (int, int);
-extern NCURSES_EXPORT(int) use_default_colors (void);
-extern NCURSES_EXPORT(int) use_extended_names (bool);
-extern NCURSES_EXPORT(int) wresize (WINDOW *, int, int);
-#else
-#define curses_version() NCURSES_VERSION
 #endif
+};
+#endif /* NCURSES_OPAQUE */
 
 /*
  * This is an extension to support events...
  */
 #if 1
 #ifdef NCURSES_WGETCH_EVENTS
-#if !defined(__BEOS__)         /* Fix _nc_timed_wait() on BEOS... */
+#if !defined(__BEOS__) || defined(__HAIKU__)
+   /* Fix _nc_timed_wait() on BEOS... */
 #  define NCURSES_EVENT_VERSION        1
 #endif /* !defined(__BEOS__) */
 
@@ -484,7 +480,11 @@ extern NCURSES_EXPORT(int) wgetnstr_events(WINDOW *,char *,int,_nc_eventlist *);
 
 /*
  * We cannot define these in ncurses_cfg.h, since they require parameters to be
- * passed (that's non-portable).
+ * passed (that is non-portable).  If you happen to be using gcc with warnings
+ * enabled, define
+ *     GCC_PRINTF
+ *     GCC_SCANF
+ * to improve checking of calls to printw(), etc.
  */
 #ifndef GCC_PRINTFLIKE
 #if defined(GCC_PRINTF) && !defined(printf)
@@ -511,7 +511,7 @@ extern NCURSES_EXPORT(int) wgetnstr_events(WINDOW *,char *,int,_nc_eventlist *);
 #endif
 
 /*
- * Function prototypes.  This is the complete XSI Curses list of required
+ * Function prototypes.  This is the complete X/Open Curses list of required
  * functions.  Those marked `generated' will have sources generated from the
  * macro definitions later in this file, in order to satisfy XPG4.2
  * requirements.
@@ -674,7 +674,6 @@ extern NCURSES_EXPORT(int) pnoutrefresh (WINDOW*,int,int,int,int,int,int);/* imp
 extern NCURSES_EXPORT(int) prefresh (WINDOW *,int,int,int,int,int,int);        /* implemented */
 extern NCURSES_EXPORT(int) printw (const char *,...)                   /* implemented */
                GCC_PRINTFLIKE(1,2);
-extern NCURSES_EXPORT(int) putp (const char *);                                /* implemented */
 extern NCURSES_EXPORT(int) putwin (WINDOW *, FILE *);                  /* implemented */
 extern NCURSES_EXPORT(void) qiflush (void);                            /* implemented */
 extern NCURSES_EXPORT(int) raw (void);                                 /* implemented */
@@ -716,17 +715,13 @@ extern NCURSES_EXPORT(int) standout (void);                               /* generated */
 extern NCURSES_EXPORT(int) standend (void);                            /* generated */
 extern NCURSES_EXPORT(int) start_color (void);                         /* implemented */
 extern NCURSES_EXPORT(WINDOW *) subpad (WINDOW *, int, int, int, int); /* implemented */
-extern NCURSES_EXPORT(WINDOW *) subwin (WINDOW *,int,int,int,int);     /* implemented */
+extern NCURSES_EXPORT(WINDOW *) subwin (WINDOW *, int, int, int, int); /* implemented */
 extern NCURSES_EXPORT(int) syncok (WINDOW *, bool);                    /* implemented */
 extern NCURSES_EXPORT(chtype) termattrs (void);                                /* implemented */
 extern NCURSES_EXPORT(char *) termname (void);                         /* implemented */
-extern NCURSES_EXPORT(int) tigetflag (NCURSES_CONST char *);           /* implemented */
-extern NCURSES_EXPORT(int) tigetnum (NCURSES_CONST char *);            /* implemented */
-extern NCURSES_EXPORT(char *) tigetstr (NCURSES_CONST char *);         /* implemented */
 extern NCURSES_EXPORT(void) timeout (int);                             /* generated */
 extern NCURSES_EXPORT(int) touchline (WINDOW *, int, int);             /* generated */
 extern NCURSES_EXPORT(int) touchwin (WINDOW *);                                /* generated */
-extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, ...);       /* implemented */
 extern NCURSES_EXPORT(int) typeahead (int);                            /* implemented */
 extern NCURSES_EXPORT(int) ungetch (int);                              /* implemented */
 extern NCURSES_EXPORT(int) untouchwin (WINDOW *);                      /* generated */
@@ -796,43 +791,152 @@ extern NCURSES_EXPORT(int) wtouchln (WINDOW *,int,int,int);              /* implemented */
 extern NCURSES_EXPORT(int) wvline (WINDOW *,chtype,int);               /* implemented */
 
 /*
- * vid_attr() was implemented originally based on the draft of XSI curses.
+ * These are also declared in <term.h>:
+ */
+extern NCURSES_EXPORT(int) tigetflag (NCURSES_CONST char *);           /* implemented */
+extern NCURSES_EXPORT(int) tigetnum (NCURSES_CONST char *);            /* implemented */
+extern NCURSES_EXPORT(char *) tigetstr (NCURSES_CONST char *);         /* implemented */
+extern NCURSES_EXPORT(int) putp (const char *);                                /* implemented */
+
+#if NCURSES_TPARM_VARARGS
+extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, ...);       /* special */
+#else
+extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, long,long,long,long,long,long,long,long,long);      /* special */
+extern NCURSES_EXPORT(char *) tparm_varargs (NCURSES_CONST char *, ...);       /* special */
+#endif
+
+/*
+ * These functions are not in X/Open, but we use them in macro definitions:
+ */
+extern NCURSES_EXPORT(int) getattrs (const WINDOW *);                  /* generated */
+extern NCURSES_EXPORT(int) getcurx (const WINDOW *);                   /* generated */
+extern NCURSES_EXPORT(int) getcury (const WINDOW *);                   /* generated */
+extern NCURSES_EXPORT(int) getbegx (const WINDOW *);                   /* generated */
+extern NCURSES_EXPORT(int) getbegy (const WINDOW *);                   /* generated */
+extern NCURSES_EXPORT(int) getmaxx (const WINDOW *);                   /* generated */
+extern NCURSES_EXPORT(int) getmaxy (const WINDOW *);                   /* generated */
+extern NCURSES_EXPORT(int) getparx (const WINDOW *);                   /* generated */
+extern NCURSES_EXPORT(int) getpary (const WINDOW *);                   /* generated */
+
+/*
+ * vid_attr() was implemented originally based on a draft of X/Open curses.
  */
 #ifndef _XOPEN_SOURCE_EXTENDED
 #define vid_attr(a,pair,opts) vidattr(a)
 #endif
 
+/*
+ * These functions are extensions - not in X/Open Curses.
+ */
+#if 1
+#undef  NCURSES_EXT_FUNCS
+#define NCURSES_EXT_FUNCS 20081102
+typedef int (*NCURSES_WINDOW_CB)(WINDOW *, void *);
+typedef int (*NCURSES_SCREEN_CB)(SCREEN *, void *);
+extern NCURSES_EXPORT(bool) is_term_resized (int, int);
+extern NCURSES_EXPORT(char *) keybound (int, int);
+extern NCURSES_EXPORT(const char *) curses_version (void);
+extern NCURSES_EXPORT(int) assume_default_colors (int, int);
+extern NCURSES_EXPORT(int) define_key (const char *, int);
+extern NCURSES_EXPORT(int) key_defined (const char *);
+extern NCURSES_EXPORT(int) keyok (int, bool);
+extern NCURSES_EXPORT(int) resize_term (int, int);
+extern NCURSES_EXPORT(int) resizeterm (int, int);
+extern NCURSES_EXPORT(int) set_escdelay (int);
+extern NCURSES_EXPORT(int) set_tabsize (int);
+extern NCURSES_EXPORT(int) use_default_colors (void);
+extern NCURSES_EXPORT(int) use_extended_names (bool);
+extern NCURSES_EXPORT(int) use_legacy_coding (int);
+extern NCURSES_EXPORT(int) use_screen (SCREEN *, NCURSES_SCREEN_CB, void *);
+extern NCURSES_EXPORT(int) use_window (WINDOW *, NCURSES_WINDOW_CB, void *);
+extern NCURSES_EXPORT(int) wresize (WINDOW *, int, int);
+extern NCURSES_EXPORT(void) nofilter(void);
+
+/*
+ * These extensions provide access to information stored in the WINDOW even
+ * when NCURSES_OPAQUE is set:
+ */
+extern NCURSES_EXPORT(WINDOW *) wgetparent (const WINDOW *);   /* generated */
+extern NCURSES_EXPORT(bool) is_cleared (const WINDOW *);       /* generated */
+extern NCURSES_EXPORT(bool) is_idcok (const WINDOW *);         /* generated */
+extern NCURSES_EXPORT(bool) is_idlok (const WINDOW *);         /* generated */
+extern NCURSES_EXPORT(bool) is_immedok (const WINDOW *);       /* generated */
+extern NCURSES_EXPORT(bool) is_keypad (const WINDOW *);                /* generated */
+extern NCURSES_EXPORT(bool) is_leaveok (const WINDOW *);       /* generated */
+extern NCURSES_EXPORT(bool) is_nodelay (const WINDOW *);       /* generated */
+extern NCURSES_EXPORT(bool) is_notimeout (const WINDOW *);     /* generated */
+extern NCURSES_EXPORT(bool) is_scrollok (const WINDOW *);      /* generated */
+extern NCURSES_EXPORT(bool) is_syncok (const WINDOW *);                /* generated */
+extern NCURSES_EXPORT(int) wgetscrreg (const WINDOW *, int *, int *); /* generated */
+
+#else
+#define curses_version() NCURSES_VERSION
+#endif
+
 /* attributes */
 
 #define NCURSES_ATTR_SHIFT       8
 #define NCURSES_BITS(mask,shift) ((mask) << ((shift) + NCURSES_ATTR_SHIFT))
 
-#define A_NORMAL       0L
-#define A_ATTRIBUTES   NCURSES_BITS(~(1UL - 1UL),0)
-#define A_CHARTEXT     (NCURSES_BITS(1UL,0) - 1UL)
-#define A_COLOR                NCURSES_BITS(((1UL) << 8) - 1UL,0)
-#define A_STANDOUT     NCURSES_BITS(1UL,8)
-#define A_UNDERLINE    NCURSES_BITS(1UL,9)
-#define A_REVERSE      NCURSES_BITS(1UL,10)
-#define A_BLINK                NCURSES_BITS(1UL,11)
-#define A_DIM          NCURSES_BITS(1UL,12)
-#define A_BOLD         NCURSES_BITS(1UL,13)
-#define A_ALTCHARSET   NCURSES_BITS(1UL,14)
-#define A_INVIS                NCURSES_BITS(1UL,15)
-#define A_PROTECT      NCURSES_BITS(1UL,16)
-#define A_HORIZONTAL   NCURSES_BITS(1UL,17)
-#define A_LEFT         NCURSES_BITS(1UL,18)
-#define A_LOW          NCURSES_BITS(1UL,19)
-#define A_RIGHT                NCURSES_BITS(1UL,20)
-#define A_TOP          NCURSES_BITS(1UL,21)
-#define A_VERTICAL     NCURSES_BITS(1UL,22)
+#define A_NORMAL       (1U - 1U)
+#define A_ATTRIBUTES   NCURSES_BITS(~(1U - 1U),0)
+#define A_CHARTEXT     (NCURSES_BITS(1U,0) - 1U)
+#define A_COLOR                NCURSES_BITS(((1U) << 8) - 1U,0)
+#define A_STANDOUT     NCURSES_BITS(1U,8)
+#define A_UNDERLINE    NCURSES_BITS(1U,9)
+#define A_REVERSE      NCURSES_BITS(1U,10)
+#define A_BLINK                NCURSES_BITS(1U,11)
+#define A_DIM          NCURSES_BITS(1U,12)
+#define A_BOLD         NCURSES_BITS(1U,13)
+#define A_ALTCHARSET   NCURSES_BITS(1U,14)
+#define A_INVIS                NCURSES_BITS(1U,15)
+#define A_PROTECT      NCURSES_BITS(1U,16)
+#define A_HORIZONTAL   NCURSES_BITS(1U,17)
+#define A_LEFT         NCURSES_BITS(1U,18)
+#define A_LOW          NCURSES_BITS(1U,19)
+#define A_RIGHT                NCURSES_BITS(1U,20)
+#define A_TOP          NCURSES_BITS(1U,21)
+#define A_VERTICAL     NCURSES_BITS(1U,22)
 
-#define COLOR_PAIR(n)  NCURSES_BITS(n, 0)
-#define PAIR_NUMBER(a) ((int)(((a) & A_COLOR) >> NCURSES_ATTR_SHIFT))
+/*
+ * Most of the pseudo functions are macros that either provide compatibility
+ * with older versions of curses, or provide inline functionality to improve
+ * performance.
+ */
 
 /*
- * pseudo functions
+ * These pseudo functions are always implemented as macros:
  */
+
+#define getyx(win,y,x)         (y = getcury(win), x = getcurx(win))
+#define getbegyx(win,y,x)      (y = getbegy(win), x = getbegx(win))
+#define getmaxyx(win,y,x)      (y = getmaxy(win), x = getmaxx(win))
+#define getparyx(win,y,x)      (y = getpary(win), x = getparx(win))
+
+#define getsyx(y,x) do { if (newscr) { \
+                            if (is_leaveok(newscr)) \
+                               (y) = (x) = -1; \
+                            else \
+                                getyx(newscr,(y), (x)); \
+                       } \
+                   } while(0)
+
+#define setsyx(y,x) do { if (newscr) { \
+                           if ((y) == -1 && (x) == -1) \
+                               leaveok(newscr, TRUE); \
+                           else { \
+                               leaveok(newscr, FALSE); \
+                               wmove(newscr, (y), (x)); \
+                           } \
+                       } \
+                   } while(0)
+
+#ifndef NCURSES_NOMACROS
+
+/*
+ * These miscellaneous pseudo functions are provided for compatibility:
+ */
+
 #define wgetstr(w, s)          wgetnstr(w, s, -1)
 #define getnstr(s, n)          wgetnstr(stdscr, s, n)
 
@@ -845,36 +949,33 @@ extern NCURSES_EXPORT(int) wvline (WINDOW *,chtype,int);          /* implemented */
 #define nocrmode()             nocbreak()
 #define gettmode()
 
-#define getyx(win,y,x)         (y = getcury(win), x = getcurx(win))
-#define getbegyx(win,y,x)      (y = getbegy(win), x = getbegx(win))
-#define getmaxyx(win,y,x)      (y = getmaxy(win), x = getmaxx(win))
-#define getparyx(win,y,x)      (y = getpary(win), x = getparx(win))
-
-#define getsyx(y,x) do { if(newscr->_leaveok) (y)=(x)=-1; \
-                        else getyx(newscr,(y),(x)); \
-                   } while(0)
-#define setsyx(y,x) do { if((y)==-1 && (x)==-1) newscr->_leaveok=TRUE; \
-                        else {newscr->_leaveok=FALSE;wmove(newscr,(y),(x));} \
-                   } while(0)
-
 /* It seems older SYSV curses versions define these */
-#define getattrs(win)          ((win)?(win)->_attrs:A_NORMAL)
-#define getcurx(win)           ((win)?(win)->_curx:ERR)
-#define getcury(win)           ((win)?(win)->_cury:ERR)
-#define getbegx(win)           ((win)?(win)->_begx:ERR)
-#define getbegy(win)           ((win)?(win)->_begy:ERR)
-#define getmaxx(win)           ((win)?((win)->_maxx + 1):ERR)
-#define getmaxy(win)           ((win)?((win)->_maxy + 1):ERR)
-#define getparx(win)           ((win)?(win)->_parx:ERR)
-#define getpary(win)           ((win)?(win)->_pary:ERR)
+#if !NCURSES_OPAQUE
+#define getattrs(win)          ((win) ? (win)->_attrs : A_NORMAL)
+#define getcurx(win)           ((win) ? (win)->_curx : ERR)
+#define getcury(win)           ((win) ? (win)->_cury : ERR)
+#define getbegx(win)           ((win) ? (win)->_begx : ERR)
+#define getbegy(win)           ((win) ? (win)->_begy : ERR)
+#define getmaxx(win)           ((win) ? ((win)->_maxx + 1) : ERR)
+#define getmaxy(win)           ((win) ? ((win)->_maxy + 1) : ERR)
+#define getparx(win)           ((win) ? (win)->_parx : ERR)
+#define getpary(win)           ((win) ? (win)->_pary : ERR)
+#endif /* NCURSES_OPAQUE */
 
 #define wstandout(win)         (wattrset(win,A_STANDOUT))
 #define wstandend(win)         (wattrset(win,A_NORMAL))
-#define wattr_set(win,a,p,opts) ((win)->_attrs = (((a) & ~A_COLOR) | COLOR_PAIR(p)), OK)
 
-#define wattron(win,at)                wattr_on(win, (attr_t) at, (void *)0)
-#define wattroff(win,at)       wattr_off(win, (attr_t) at, (void *)0)
+#define wattron(win,at)                wattr_on(win, NCURSES_CAST(attr_t, at), NULL)
+#define wattroff(win,at)       wattr_off(win, NCURSES_CAST(attr_t, at), NULL)
+
+#if !NCURSES_OPAQUE
+#if defined(_XOPEN_SOURCE_EXTENDED) && 0
+#define wattrset(win,at)       ((win)->_color = PAIR_NUMBER(at), \
+                                (win)->_attrs = (at))
+#else
 #define wattrset(win,at)       ((win)->_attrs = (at))
+#endif
+#endif /* NCURSES_OPAQUE */
 
 #define scroll(win)            wscrl(win,1)
 
@@ -891,10 +992,19 @@ extern NCURSES_EXPORT(int) wvline (WINDOW *,chtype,int);          /* implemented */
 #define winchstr(w, s)         winchnstr(w, s, -1)
 #define winsstr(w, s)          winsnstr(w, s, -1)
 
+#if !NCURSES_OPAQUE
 #define redrawwin(win)         wredrawln(win, 0, (win)->_maxy+1)
+#endif /* NCURSES_OPAQUE */
+
 #define waddstr(win,str)       waddnstr(win,str,-1)
 #define waddchstr(win,str)     waddchnstr(win,str,-1)
 
+/*
+ * These apply to the first 256 color pairs.
+ */
+#define COLOR_PAIR(n)  NCURSES_BITS(n, 0)
+#define PAIR_NUMBER(a) (NCURSES_CAST(int,(((a) & A_COLOR) >> NCURSES_ATTR_SHIFT)))
+
 /*
  * pseudo functions for standard screen
  */
@@ -959,7 +1069,7 @@ extern NCURSES_EXPORT(int) wvline (WINDOW *,chtype,int);           /* implemented */
 #define mvwgetnstr(win,y,x,str,n)      (wmove(win,y,x) == ERR ? ERR : wgetnstr(win,str,n))
 #define mvwgetstr(win,y,x,str)         (wmove(win,y,x) == ERR ? ERR : wgetstr(win,str))
 #define mvwhline(win,y,x,c,n)          (wmove(win,y,x) == ERR ? ERR : whline(win,c,n))
-#define mvwinch(win,y,x)               (wmove(win,y,x) == ERR ? (chtype)ERR : winch(win))
+#define mvwinch(win,y,x)               (wmove(win,y,x) == ERR ? NCURSES_CAST(chtype, ERR) : winch(win))
 #define mvwinchnstr(win,y,x,s,n)       (wmove(win,y,x) == ERR ? ERR : winchnstr(win,s,n))
 #define mvwinchstr(win,y,x,s)          (wmove(win,y,x) == ERR ? ERR : winchstr(win,s))
 #define mvwinnstr(win,y,x,s,n)         (wmove(win,y,x) == ERR ? ERR : winnstr(win,s,n))
@@ -991,19 +1101,33 @@ extern NCURSES_EXPORT(int) wvline (WINDOW *,chtype,int);         /* implemented */
 #define mvvline(y,x,c,n)               mvwvline(stdscr,y,x,c,n)
 
 /*
- * Some wide-character functions do not depend on the extensions.
+ * Some wide-character functions can be implemented without the extensions.
  */
+#if !NCURSES_OPAQUE
 #define getbkgd(win)                    ((win)->_bkgd)
+#endif /* NCURSES_OPAQUE */
 
 #define slk_attr_off(a,v)              ((v) ? ERR : slk_attroff(a))
 #define slk_attr_on(a,v)               ((v) ? ERR : slk_attron(a))
 
-#define wattr_get(win,a,p,opts)                ((void)((a) != 0 && (*(a) = (win)->_attrs)), \
-                                        (void)((p) != 0 && (*(p) = PAIR_NUMBER((win)->_attrs))), \
+#if !NCURSES_OPAQUE
+#if defined(_XOPEN_SOURCE_EXTENDED) && 0
+#define wattr_set(win,a,p,opts)                ((win)->_attrs = ((a) & ~A_COLOR), \
+                                        (win)->_color = (p), \
                                         OK)
+#define wattr_get(win,a,p,opts)                ((void)((a) != (void *)0 && (*(a) = (win)->_attrs)), \
+                                        (void)((p) != (void *)0 && (*(p) = (win)->_color)), \
+                                        OK)
+#else
+#define wattr_set(win,a,p,opts)                ((win)->_attrs = (((a) & ~A_COLOR) | COLOR_PAIR(p)), OK)
+#define wattr_get(win,a,p,opts)                ((void)((a) != (void *)0 && (*(a) = (win)->_attrs)), \
+                                        (void)((p) != (void *)0 && (*(p) = PAIR_NUMBER((win)->_attrs))), \
+                                        OK)
+#endif
+#endif /* NCURSES_OPAQUE */
 
 /*
- * XSI curses deprecates SVr4 vwprintw/vwscanw, which are supposed to use
+ * X/Open curses deprecates SVr4 vwprintw/vwscanw, which are supposed to use
  * varargs.h.  It adds new calls vw_printw/vw_scanw, which are supposed to
  * use POSIX stdarg.h.  The ncurses versions of vwprintw/vwscanw already
  * use stdarg.h, so...
@@ -1019,6 +1143,75 @@ extern NCURSES_EXPORT(int) wvline (WINDOW *,chtype,int);         /* implemented */
 NCURSES_EXPORT(int) vsscanf(const char *, const char *, va_list);
 #endif
 
+/*
+ * These macros are extensions - not in X/Open Curses.
+ */
+#if 1
+#if !NCURSES_OPAQUE
+#define is_cleared(win)                ((win)->_clear)
+#define is_idcok(win)          ((win)->_idcok)
+#define is_idlok(win)          ((win)->_idlok)
+#define is_immedok(win)                ((win)->_immed)
+#define is_keypad(win)         ((win)->_use_keypad)
+#define is_leaveok(win)                ((win)->_leaveok)
+#define is_nodelay(win)                ((win)->_delay == 0)
+#define is_notimeout(win)      ((win)->_notimeout)
+#define is_scrollok(win)       ((win)->_scroll)
+#define is_syncok(win)         ((win)->_sync)
+#define wgetparent(win)                ((win) ? (win)->_parent : 0)
+#define wgetscrreg(win,t,b)    ((win) ? (*(t) = (win)->_regtop, *(b) = (win)->_regbottom, OK) : ERR)
+#endif
+#endif
+
+#endif /* NCURSES_NOMACROS */
+
+/*
+ * Public variables.
+ *
+ * Notes:
+ *     a. ESCDELAY was an undocumented feature under AIX curses.
+ *        It gives the ESC expire time in milliseconds.
+ *     b. ttytype is needed for backward compatibility
+ */
+#if 0
+
+NCURSES_WRAPPED_VAR(WINDOW *, curscr);
+NCURSES_WRAPPED_VAR(WINDOW *, newscr);
+NCURSES_WRAPPED_VAR(WINDOW *, stdscr);
+NCURSES_WRAPPED_VAR(char *, ttytype);
+NCURSES_WRAPPED_VAR(int, COLORS);
+NCURSES_WRAPPED_VAR(int, COLOR_PAIRS);
+NCURSES_WRAPPED_VAR(int, COLS);
+NCURSES_WRAPPED_VAR(int, ESCDELAY);
+NCURSES_WRAPPED_VAR(int, LINES);
+NCURSES_WRAPPED_VAR(int, TABSIZE);
+
+#define curscr      NCURSES_PUBLIC_VAR(curscr())
+#define newscr      NCURSES_PUBLIC_VAR(newscr())
+#define stdscr      NCURSES_PUBLIC_VAR(stdscr())
+#define ttytype     NCURSES_PUBLIC_VAR(ttytype())
+#define COLORS      NCURSES_PUBLIC_VAR(COLORS())
+#define COLOR_PAIRS NCURSES_PUBLIC_VAR(COLOR_PAIRS())
+#define COLS        NCURSES_PUBLIC_VAR(COLS())
+#define ESCDELAY    NCURSES_PUBLIC_VAR(ESCDELAY())
+#define LINES       NCURSES_PUBLIC_VAR(LINES())
+#define TABSIZE     NCURSES_PUBLIC_VAR(TABSIZE())
+
+#else
+
+extern NCURSES_EXPORT_VAR(WINDOW *) curscr;
+extern NCURSES_EXPORT_VAR(WINDOW *) newscr;
+extern NCURSES_EXPORT_VAR(WINDOW *) stdscr;
+extern NCURSES_EXPORT_VAR(char) ttytype[];
+extern NCURSES_EXPORT_VAR(int) COLORS;
+extern NCURSES_EXPORT_VAR(int) COLOR_PAIRS;
+extern NCURSES_EXPORT_VAR(int) COLS;
+extern NCURSES_EXPORT_VAR(int) ESCDELAY;
+extern NCURSES_EXPORT_VAR(int) LINES;
+extern NCURSES_EXPORT_VAR(int) TABSIZE;
+
+#endif
+
 /*
  * Pseudo-character tokens outside ASCII range.  The curses wgetch() function
  * will return any given one of these only if the corresponding k- capability
index d0ff3a7..54b146e 100644 (file)
@@ -1,6 +1,6 @@
 /* include/ncurses_cfg.h.  Generated automatically by configure.  */
 /****************************************************************************
- * Copyright (c) 1998 Free Software Foundation, Inc.                        *
+ * Copyright (c) 1998-2004,2005 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,7 +31,7 @@
  *  Author: Thomas E. Dickey <dickey@clark.net> 1997                        *
  ****************************************************************************/
 /*
- * $Id: ncurses_cfg.hin,v 1.4 2002/09/07 16:55:14 tom Exp $
+ * $Id: ncurses_cfg.hin,v 1.7 2005/01/02 01:26:58 tom Exp $
  *
  * This is a template-file used to generate the "ncurses_cfg.h" file.
  *
  *     http://invisible-island.net/autoconf/
  *     ftp://invisible-island.net/autoconf/
  */
-/* $DragonFly: src/lib/libncurses/include/ncurses_cfg.h,v 1.2 2005/09/22 11:14:44 asmodai Exp $ */
 #ifndef NC_CONFIG_H
 #define NC_CONFIG_H
 
-#define SYSTEM_NAME "dragonfly1.3.6"
+#define SYSTEM_NAME "dragonfly2.5.1"
 #define CC_HAS_PROTOS 1
-#ifdef __cplusplus
+#if 0
 #include <stdlib.h>
 #endif
 #define HAVE_LONG_FILE_NAMES 1
 #define USE_TERMCAP 1
 #define TERMPATH "/etc/termcap:/usr/share/misc/termcap"
 #define USE_HOME_TERMINFO 1
+#define USE_ROOT_ENVIRON 1
 #define HAVE_REMOVE 1
 #define HAVE_UNLINK 1
 #define HAVE_LINK 1
 #define HAVE_SYMLINK 1
+#define USE_LINKS 1
+#define BSD_TPUTS 1
+#define HAVE_LANGINFO_CODESET 1
+#define USE_WIDEC_SUPPORT 1
+#define HAVE_PUTWC 1
+#define HAVE_BTOWC 1
+#define HAVE_WCTOB 1
+#define HAVE_MBTOWC 1
+#define HAVE_WCTOMB 1
+#define HAVE_MBLEN 1
+#define HAVE_MBRLEN 1
+#define HAVE_MBRTOWC 1
+#define HAVE_WCSRTOMBS 1
+#define HAVE_MBSRTOWCS 1
+#define HAVE_WCSTOMBS 1
+#define HAVE_MBSTOWCS 1
+#define NEED_WCHAR_H 1
+#define HAVE_FSEEKO 1
 #define HAVE_CURSES_VERSION 1
 #define HAVE_HAS_KEY 1
 #define HAVE_RESIZETERM 1
 #define HAVE_WRESIZE 1
 #define NCURSES_EXT_FUNCS 1
 #define NCURSES_NO_PADDING 1
+#define STDC_HEADERS 1
+#define HAVE_SYS_TYPES_H 1
+#define HAVE_SYS_STAT_H 1
+#define HAVE_STDLIB_H 1
+#define HAVE_STRING_H 1
+#define HAVE_MEMORY_H 1
+#define HAVE_STRINGS_H 1
+#define HAVE_INTTYPES_H 1
+#define HAVE_STDINT_H 1
+#define HAVE_UNISTD_H 1
+#define SIZEOF_SIGNED_CHAR 1
 #define USE_SIGWINCH 1
-#define USE_ROOT_ENVIRON 1
 #define USE_ASSUMED_COLOR 1
 #define USE_HASHMAP 1
-#define USE_WIDEC_SUPPORT 1
-#define HAVE_PUTWC 1
-#define HAVE_BTOWC 1
-#define HAVE_WCTOB 1
-#define HAVE_MBTOWC 1
-#define HAVE_WCTOMB 1
-#define HAVE_MBLEN 1
-#define HAVE_MBRLEN 1
-#define HAVE_MBRTOWC 1
-#define NEED_WCHAR_H 1
 #define GCC_SCANF 1
 #define GCC_PRINTF 1
 #define GCC_UNUSED __attribute__((unused))
 #define HAVE_UNISTD_H 1
 #define HAVE_WCTYPE_H 1
 #define HAVE_SYS_TIME_SELECT 1
-#define CC_HAS_INLINE_FUNCS 1
-#define TYPEOF_CHTYPE long
-#define HAVE_ERRNO 1
+#define SIG_ATOMIC_T volatile sig_atomic_t
+#define TYPEOF_CHTYPE int
 #define HAVE_GETCWD 1
 #define HAVE_GETEGID 1
 #define HAVE_GETEUID 1
 #define HAVE_GETTTYNAM 1
 #define HAVE_ISSETUGID 1
-#define HAVE_MEMCCPY 1
-#define HAVE_NANOSLEEP 1
 #define HAVE_POLL 1
 #define HAVE_REMOVE 1
 #define HAVE_SELECT 1
 #define HAVE_TIMES 1
 #define HAVE_VSNPRINTF 1
 #define HAVE_ISASCII 1
+#define HAVE_NANOSLEEP 1
 #define HAVE_TERMIOS_H 1
 #define HAVE_UNISTD_H 1
 #define HAVE_TCGETATTR 1
 #define RETSIGTYPE void
 #define HAVE_SIZECHANGE 1
 #define HAVE_WORKING_POLL 1
+#define HAVE_IOSTREAM 1
 #define HAVE_TYPEINFO 1
+#define IOSTREAM_NAMESPACE 1
 #define ETIP_NEEDS_MATH_H 1
-#define CPP_HAS_VSCAN_FUNC 1
-#define USE_STDIO_VSCAN 1
+#define CPP_HAS_STATIC_CAST 1
 #define HAVE_SLK_COLOR 1
 #define HAVE_PANEL_H 1
 #define HAVE_LIBPANEL 1
 #define HAVE_FORM_H 1
 #define HAVE_LIBFORM 1
 #define NCURSES_PATHSEP ':'
-#define NCURSES_VERSION_STRING "5.4.20040208"
+#define NCURSES_VERSION_STRING "5.7.20081102"
 
 #include <ncurses_def.h>
 
 #undef inline
 #define inline /* nothing */
 #endif
+#endif
+
+       /* On HP-UX, the C compiler doesn't grok mbstate_t without
+          -D_XOPEN_SOURCE=500. However, this causes problems on
+          IRIX. So, we #define mbstate_t to int in configure.in
+          only for the C compiler if needed. */
+#ifndef __cplusplus
+#ifdef NEED_MBSTATE_T_DEF
+#define mbstate_t int
+#endif
 #endif
 
 #endif /* NC_CONFIG_H */
similarity index 60%
copy from lib/libncurses/include/termcap.h
copy to lib/libncurses/include/ncurses_dll.h
index e5796f3..e24feee 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
+ * Copyright (c) 1998-2006,2007 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: ncurses_dll.h,v 1.6 2007/03/10 19:21:49 tom Exp $ */
 
-/****************************************************************************
- *  Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995               *
- *     and: Eric S. Raymond <esr@snark.thyrsus.com>                         *
- ****************************************************************************/
+#ifndef NCURSES_DLL_H_incl
+#define NCURSES_DLL_H_incl 1
 
-/* $Id: termcap.h.in,v 1.16 2001/03/24 21:53:27 tom Exp $ */
-/* $DragonFly: src/lib/libncurses/include/termcap.h,v 1.2 2005/07/29 14:20:11 joerg Exp $ */
+/* no longer needed on cygwin or mingw, thanks to auto-import       */
+/* but this structure may be useful at some point for an MSVC build */
+/* so, for now unconditionally define the important flags           */
+/* "the right way" for proper static and dll+auto-import behavior   */
+#undef NCURSES_DLL
+#define NCURSES_STATIC
 
-#ifndef NCURSES_TERMCAP_H_incl
-#define NCURSES_TERMCAP_H_incl 1
-
-#undef  NCURSES_VERSION
-#define NCURSES_VERSION "5.4"
+#if defined(__CYGWIN__)
+#  if defined(NCURSES_DLL)
+#    if defined(NCURSES_STATIC)
+#      undef NCURSES_STATIC
+#    endif
+#  endif
+#  undef NCURSES_IMPEXP
+#  undef NCURSES_API
+#  undef NCURSES_EXPORT
+#  undef NCURSES_EXPORT_VAR
+#  if defined(NCURSES_DLL)
+/* building a DLL */
+#    define NCURSES_IMPEXP __declspec(dllexport)
+#  elif defined(NCURSES_STATIC)
+/* building or linking to a static library */
+#    define NCURSES_IMPEXP /* nothing */
+#  else
+/* linking to the DLL */
+#    define NCURSES_IMPEXP __declspec(dllimport)
+#  endif
+#  define NCURSES_API __cdecl
+#  define NCURSES_EXPORT(type) NCURSES_IMPEXP type NCURSES_API
+#  define NCURSES_EXPORT_VAR(type) NCURSES_IMPEXP type
+#endif
 
-#if 0
-#include <ncurses_dll.h>
-#else
-/* From ncurses_dll.h */
-/* This is copied so we don't need to install ncurses_dll.h as well */
 /* Take care of non-cygwin platforms */
 #if !defined(NCURSES_IMPEXP)
 #  define NCURSES_IMPEXP /* nothing */
 #if !defined(NCURSES_EXPORT_VAR)
 #  define NCURSES_EXPORT_VAR(type) NCURSES_IMPEXP type
 #endif
-#endif
-
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif /* __cplusplus */
-
-#include <sys/types.h>
-
-#undef  NCURSES_CONST 
-#define NCURSES_CONST const
-
-#undef  NCURSES_OSPEED 
-#define NCURSES_OSPEED short 
-
-extern NCURSES_EXPORT_VAR(char) PC;
-extern NCURSES_EXPORT_VAR(char *) UP;
-extern NCURSES_EXPORT_VAR(char *) BC;
-extern NCURSES_EXPORT_VAR(NCURSES_OSPEED) ospeed; 
-
-#if !defined(NCURSES_TERM_H_incl)
-extern NCURSES_EXPORT(char *) tgetstr (NCURSES_CONST char *, char **);
-extern NCURSES_EXPORT(char *) tgoto (const char *, int, int);
-extern NCURSES_EXPORT(int) tgetent (char *, const char *);
-extern NCURSES_EXPORT(int) tgetflag (NCURSES_CONST char *);
-extern NCURSES_EXPORT(int) tgetnum (NCURSES_CONST char *);
-extern NCURSES_EXPORT(int) tputs (const char *, int, int (*)(int));
-#endif
 
-#ifdef __cplusplus
-}
-#endif
+/*
+ * For reentrant code, we map the various global variables into SCREEN by
+ * using functions to access them.
+ */
+#define NCURSES_PUBLIC_VAR(name) _nc_##name
+#define NCURSES_WRAPPED_VAR(type,name) extern type NCURSES_PUBLIC_VAR(name)(void)
 
-#endif /* NCURSES_TERMCAP_H_incl */
+#endif /* NCURSES_DLL_H_incl */
index e5796f3..1e631e5 100644 (file)
  ****************************************************************************/
 
 /* $Id: termcap.h.in,v 1.16 2001/03/24 21:53:27 tom Exp $ */
-/* $DragonFly: src/lib/libncurses/include/termcap.h,v 1.2 2005/07/29 14:20:11 joerg Exp $ */
 
 #ifndef NCURSES_TERMCAP_H_incl
 #define NCURSES_TERMCAP_H_incl 1
 
 #undef  NCURSES_VERSION
-#define NCURSES_VERSION "5.4"
+#define NCURSES_VERSION "5.7"
 
-#if 0
 #include <ncurses_dll.h>
-#else
-/* From ncurses_dll.h */
-/* This is copied so we don't need to install ncurses_dll.h as well */
-/* Take care of non-cygwin platforms */
-#if !defined(NCURSES_IMPEXP)
-#  define NCURSES_IMPEXP /* nothing */
-#endif
-#if !defined(NCURSES_API)
-#  define NCURSES_API /* nothing */
-#endif
-#if !defined(NCURSES_EXPORT)
-#  define NCURSES_EXPORT(type) NCURSES_IMPEXP type NCURSES_API
-#endif
-#if !defined(NCURSES_EXPORT_VAR)
-#  define NCURSES_EXPORT_VAR(type) NCURSES_IMPEXP type
-#endif
-#endif
-
 
 #ifdef __cplusplus
 extern "C"
@@ -69,7 +49,7 @@ extern "C"
 #include <sys/types.h>
 
 #undef  NCURSES_CONST 
-#define NCURSES_CONST const
+#define NCURSES_CONST const 
 
 #undef  NCURSES_OSPEED 
 #define NCURSES_OSPEED short 
index 8c61ab0..ba284b7 100644 (file)
@@ -8,7 +8,7 @@ NCURSESFORMDIR= ${NCURSESDIR}/form ${.OBJDIR}
 
 .PATH: ${NCURSESFORMDIR}
 
-CFLAGS+=       -I${NCURSESDIR}/menu
+CFLAGS+=       -I${NCURSESDIR}/menu -I${NCURSESDIR}/ncurses
 
 TERMINFO_CAPS=  ${NCURSESDIR}/include/Caps
 
@@ -27,6 +27,7 @@ SRCS= \
        curses.h
 
 SRCS+= \
+       f_trace.c \
        fld_arg.c \
        fld_attr.c \
        fld_current.c \
index 9f4b5b4..7ea2486 100644 (file)
@@ -8,7 +8,7 @@ NCURSESMENUDIR= ${NCURSESDIR}/menu ${.OBJDIR}
 
 .PATH: ${NCURSESMENUDIR}
 
-CFLAGS+=       -I${NCURSESDIR}/menu
+CFLAGS+=       -I${NCURSESDIR}/menu -I${NCURSESDIR}/ncurses
 
 TERMINFO_CAPS=  ${NCURSESDIR}/include/Caps
 
@@ -51,6 +51,7 @@ SRCS+=        \
        m_scale.c \
        m_spacing.c \
        m_sub.c \
+       m_trace.c \
        m_userptr.c \
        m_win.c
 
index c018cb1..fe87b20 100644 (file)
@@ -19,11 +19,20 @@ CFLAGS+=    -DTRACE
 TERMINFO_CAPS=  ${NCURSESDIR}/include/Caps
 ncurses_def.h:
        sh ${NCURSESDIR}/include/MKncurses_def.sh ${NCURSESDIR}/include/ncurses_defs > ${.TARGET}
-curses.h: curses.head curses.tail
-       cat ${.CURDIR}/../include/curses.head >$@
-       sh ${NCURSESDIR}/include/MKkey_defs.sh $(TERMINFO_CAPS) >>$@
-       cat ${NCURSESDIR}/include/curses.wide >>$@
+curses.h: $(TERMINFO_CAPS) \
+               curses.head \
+               ${NCURSESDIR}/include/curses.tail \
+               ${NCURSESDIR}/include//MKkey_defs.sh
+       cat  ${.CURDIR}/../include/curses.head >$@
+       AWK=awk sh ${NCURSESDIR}/include/MKkey_defs.sh $(TERMINFO_CAPS) >>$@
+       sh -c 'if test "cchar_t" = "cchar_t" ; then cat ${NCURSESDIR}/include/curses.wide >>$@ ; fi'
        cat ${NCURSESDIR}/include/curses.tail >>$@
+
+#curses.h: curses.head curses.tail
+#      cat ${.CURDIR}/../include/curses.head >$@
+#      sh ${NCURSESDIR}/include/MKkey_defs.sh $(TERMINFO_CAPS) >>$@
+#      cat ${NCURSESDIR}/include/curses.wide >>$@
+#      cat ${NCURSESDIR}/include/curses.tail >>$@
 term.h: MKterm.h.awk ncurses_cfg.h
        awk -f ${.CURDIR}/../include/MKterm.h.awk ${TERMINFO_CAPS} > $@
        sh ${NCURSESDIR}/include/edit_cfg.sh ${.CURDIR}/../include/ncurses_cfg.h $@
@@ -40,12 +49,14 @@ make_keys: ${NCURSESTINFODIR}/make_keys.c names.c ncurses_def.h
 keys.list:
        sh ${NCURSESTINFODIR}/MKkeys_list.sh ${TERMINFO_CAPS} | sort > $@
 
-names.c codes.c:
-       awk -f ${NCURSESTINFODIR}/MKnames.awk ${TERMINFO_CAPS}
-       cat namehdr boolnames boolfnames numnames numfnames strnames strfnames nameftr >names.c
-       cat namehdr boolcodes numcodes strcodes codeftr >codes.c
+names.c: ${NCURSESTINFODIR}/MKnames.awk
+       awk -f ${NCURSESTINFODIR}/MKnames.awk bigstrings=$(USE_BIG_STRINGS) ${TERMINFO_CAPS} >$@
+       #cat namehdr boolnames boolfnames numnames numfnames strnames strfnames nameftr >names.c
+       #cat namehdr boolcodes numcodes strcodes codeftr >codes.c
+codes.c: ${NCURSESTINFODIR}/MKcodes.awk
+       awk -f ${NCURSESTINFODIR}/MKcodes.awk bigstrings=$(USE_BIG_STRINGS) ${TERMINFO_CAPS} >$@
 comp_captab.c: make_hash
-       sh ${NCURSESTINFODIR}/MKcaptab.awk awk ${TERMINFO_CAPS} > $@
+       sh -e ${NCURSESTINFODIR}/MKcaptab.sh awk 0 ${NCURSESTINFODIR}/MKcaptab.awk ${TERMINFO_CAPS} > $@
 
 make_hash: ${NCURSESTINFODIR}/comp_hash.c
        ${NXCC} ${NXCFLAGS} ${NXLDFLAGS} -DMAIN_PROGRAM ${NXLDLIBS} -o ${.TARGET} ${NCURSESTINFODIR}/comp_hash.c
@@ -82,6 +93,7 @@ SRCS+=        \
        key_defined.c \
        keybound.c \
        keyok.c \
+       legacy_coding.c \
        lib_addch.c \
        lib_addstr.c \
        lib_beep.c \
@@ -111,6 +123,7 @@ SRCS+=      \
        lib_insch.c \
        lib_insdel.c \
        lib_instr.c \
+       lib_insnstr.c \
        lib_isendwin.c \
        lib_leaveok.c \
        lib_mouse.c \
@@ -156,6 +169,7 @@ SRCS+=      \
        resizeterm.c \
        safe_sprintf.c \
        tries.c \
+       use_window.c \
        version.c \
        vsscanf.c \
        wresize.c
@@ -183,8 +197,11 @@ SRCS+=     \
        comp_parse.c \
        comp_scan.c \
        doalloc.c \
+       db_iterator.c \
+       entries.c \
        free_ttype.c \
        getenv_num.c \
+       hashed_db.c \
        home_terminfo.c \
        init_keytry.c \
        lib_acs.c \
@@ -211,6 +228,8 @@ SRCS+=      \
        read_entry.c \
        setbuf.c \
        strings.c \
+       trim_sgr0.c \
+       use_screen.c \
        write_entry.c
 
 # Trace
@@ -241,6 +260,7 @@ SRCS+=      \
        lib_in_wchnstr.c \
        lib_ins_wch.c \
        lib_inwstr.c \
+       lib_key_name.c \
        lib_pecho_wchar.c \
        lib_slk_wset.c \
        lib_unget_wch.c \
index 2103e84..1a8cbcc 100644 (file)
  * 2. Redistributions in binary form must reproduce the above copyright
  *    notice, this list of conditions and the following disclaimer in the
  *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
  * 4. Neither the name of the University nor the names of its contributors
  *    may be used to endorse or promote products derived from this software
  *    without specific prior written permission.
  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
- *
- * @(#)termcap.c       8.1 (Berkeley) 6/4/93
- * $FreeBSD: src/lib/libncurses/termcap.c,v 1.2.2.2 2002/08/15 08:30:26 ru Exp $
- * $DragonFly: src/lib/libncurses/libncurses/termcap.c,v 1.1 2005/03/12 19:13:54 eirikn Exp $
  */
 
 #include <stdio.h>
@@ -198,7 +190,7 @@ _nc_read_termcap_entry(const char *const name, TERMTYPE *const tp)
                for (;;) {
                        while ((tok = strsep(&ps, ":")) != NULL &&
                               *(tok - 2) != '\\' &&
-                              (*tok == '\0' || *tok == '\\' || !isgraph(*tok)))
+                              (*tok == '\0' || *tok == '\\' || !isgraph(UChar(*tok))))
                                ;
                        if (tok == NULL)
                                break;
@@ -230,35 +222,34 @@ done:
  */
 
        if (i < 0)
-               return(ERR);
+               return(TGETENT_ERR);
 
        _nc_set_source("TERMCAP");
        _nc_read_entry_source((FILE *)NULL, _nc_termcap, FALSE, TRUE, NULLHOOK);
 
        if (_nc_head == (ENTRY *)NULL)
-               return(ERR);
+               return(TGETENT_ERR);
 
        /* resolve all use references */
-       _nc_resolve_uses(TRUE);
+       _nc_resolve_uses2(TRUE, FALSE);
 
        for_entry_list(ep)
                if (_nc_name_match(ep->tterm.term_names, name, "|:"))
                {
                        /*
-                        * Make a local copy of the terminal capabilities. free
-                        * all entry storage except the string table for the
-                        * loaded type (which we disconnected from the list by
-                        * NULLing out ep->tterm.str_table above).
+                        * Make a local copy of the terminal capabilities, delinked
+                        * from the list.
                         */
                        memcpy(tp, &ep->tterm, sizeof(TERMTYPE));
-                       ep->tterm.str_table = (char *)NULL;
+                       _nc_delink_entry(_nc_head, &(ep->tterm));
+                       free(ep);
                        _nc_free_entries(_nc_head);
                        _nc_head = _nc_tail = NULL;     /* do not reuse! */
 
-                       return 1;       /* OK */
+                       return TGETENT_YES;     /* OK */
                }
 
        _nc_free_entries(_nc_head);
        _nc_head = _nc_tail = NULL;     /* do not reuse! */
-       return(0);      /* not found */
+       return(TGETENT_NO);     /* not found */
 }
index b3b1c63..8486154 100644 (file)
@@ -38,8 +38,11 @@ MAN= \
        curs_instr.3 \
        curs_inwstr.3 \
        curs_kernel.3 \
+       curs_legacy.3 \
+       curs_memleaks.3 \
        curs_mouse.3 \
        curs_move.3 \
+       curs_opaque.3 \
        curs_outopts.3 \
        curs_overlay.3 \
        curs_pad.3 \
@@ -53,6 +56,7 @@ MAN=  \
        curs_termattrs.3 \
        curs_termcap.3 \
        curs_terminfo.3 \
+       curs_threads.3 \
        curs_touch.3 \
        curs_trace.3 \
        curs_util.3 \
@@ -85,6 +89,7 @@ MAN=  \
        key_defined.3 \
        keybound.3 \
        keyok.3 \
+       legacy_coding.3 \
        menu.3 \
        menu_attributes.3 \
        menu_cursor.3 \
index ce4d049..31d0f93 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
+.\" Copyright (c) 1998-2000,2006 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: clear.1,v 1.3 2000/07/15 23:59:35 china Exp $
-.\" $DragonFly: src/lib/libncurses/man/clear.1,v 1.1 2005/03/12 19:13:54 eirikn Exp $
-.TH clear 1 ""
+.\" $Id: clear.1,v 1.6 2006/12/24 18:07:53 tom Exp $
+.TH @CLEAR@ 1 ""
 .ds n 5
 .SH NAME
-\fBclear\fR - clear the terminal screen
+\fB@CLEAR@\fR - clear the terminal screen
 .SH SYNOPSIS
-\fBclear\fR
+\fB@CLEAR@\fR
 .br
 .SH DESCRIPTION
-\fBclear\fR clears your screen if this is possible.  It looks in the
+\fB@CLEAR@\fR clears your screen if this is possible.  It looks in the
 environment for the terminal type and then in the \fBterminfo\fR database to
 figure out how to clear the screen.
+.PP
+\fB@CLEAR@\fR ignores any command-line parameters that may be present.
 .SH SEE ALSO
-\fBtput\fR(1), \fBterminfo\fR(\*n)
+\fB@TPUT@\fR(1), \fBterminfo\fR(\*n)
+.PP
+This describes \fBncurses\fR
+version @NCURSES_MAJOR@.@NCURSES_MINOR@ (patch @NCURSES_PATCH@).
 .\"#
 .\"# The following sets edit modes for GNU EMACS
 .\"# Local Variables:
index 4533524..51ac1a4 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 2001,2002 Free Software Foundation, Inc.                   *
+.\" Copyright (c) 2001-2002,2006 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,8 +26,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_add_wch.3x,v 1.4 2002/02/16 22:28:43 tom Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_add_wch.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_add_wch.3x,v 1.6 2006/12/24 15:22:22 tom Exp $
 .TH curs_add_wch 3X ""
 .SH NAME
 \fBadd_wch\fP,
@@ -83,7 +82,7 @@ and the rendition specified by \fIwch\fP is ignored.
 -
 If the character part of \fIwch\fP is
 a tab, newline, backspace or other control character,
-the window is updated and the cursor moves as if \fBaddch\fR(3X) were called.
+the window is updated and the cursor moves as if \fBaddch\fR were called.
 .PP
 The \fBecho_wchar\fP
 function is functionally equivalent to a call to
@@ -122,7 +121,8 @@ Those are not currently implemented in \fBncurses\fP.
 .SH SEE ALSO
 .PP
 \fBcurses\fR(3X),
-\fBcurs_attr_get\fR(3X),
+\fBcurs_addch\fR(3X),
+\fBcurs_attr\fR(3X),
 \fBcurs_clear\fR(3X),
 \fBcurs_outopts\fR(3X),
 \fBcurs_refresh\fR(3X),
index 371e7db..f84c2cb 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 2002,2003 Free Software Foundation, Inc.                   *
+.\" Copyright (c) 2002-2004,2005 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_add_wchstr.3x,v 1.2 2003/12/27 18:53:41 tom Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_add_wchstr.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_add_wchstr.3x,v 1.6 2005/01/02 01:28:49 tom Exp $
 .TH curs_add_wchstr 3X ""
 .SH NAME
-.PP
 \fBadd_wchstr\fR,
 \fBadd_wchnstr\fR,
 \fBwadd_wchstr\fR,
@@ -74,7 +72,7 @@ On the other hand, they do not perform checking
 they do not advance the current cursor position,
 they do not expand other control characters to ^-escapes,
 and they truncate the string if it crosses the right margin,
-rather then wrapping it around to the new line.
+rather than wrapping it around to the new line.
 .PP
 These routines end successfully
 on encountering a null \fIcchar_t\fR, or
@@ -89,7 +87,7 @@ All routines return the integer \fBERR\fR upon failure and \fBOK\fR on success.
 All these entry points are described in the XSI Curses standard, Issue 4.
 .SH SEE ALSO
 \fBcurses\fR(3X),
-\fBcurs_addchstr\fR(3X)
+\fBcurs_addchstr\fR(3X),
 \fBcurs_addwstr\fR(3X)
 .\"#
 .\"# The following sets edit modes for GNU EMACS
index a11a76c..73918b8 100644 (file)
@@ -1,6 +1,6 @@
 '\" t
 .\"***************************************************************************
-.\" Copyright (c) 1998-2003,2004 Free Software Foundation, Inc.              *
+.\" Copyright (c) 1998-2006,2007 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,8 +27,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_addch.3x,v 1.23 2004/01/31 13:16:21 tom Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_addch.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_addch.3x,v 1.27 2007/06/02 20:40:07 tom Exp $
 .TH curs_addch 3X ""
 .SH NAME
 \fBaddch\fR, \fBwaddch\fR, \fBmvaddch\fR, \fBmvwaddch\fR,
@@ -88,9 +87,9 @@ their equivalents.
 .SS Line Graphics
 The following variables may be used to add line drawing characters to the
 screen with routines of the \fBaddch\fR family.  The default character listed
-below is used if the \fBacsc\fR capability doesn't define a terminal-specific
-replacement for it (but see the EXTENSIONS section below).  The names are
-taken from VT100 nomenclature.
+below is used if the \fBacsc\fR capability does not define a terminal-specific
+replacement for it.
+The names are taken from VT100 nomenclature.
 .PP
 .TS
 l l l
@@ -163,9 +162,17 @@ If \fIch\fR 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.
 .SH SEE ALSO
-\fBcurses\fR(3X), \fBcurs_attr\fR(3X), \fBcurs_clear\fR(3X),
-\fBcurs_inch\fR(3X), \fBcurs_outopts\fR(3X), \fBcurs_refresh\fR(3X),
-\fBputc\fR(3S).
+\fBcurses\fR(3X),
+\fBcurs_attr\fR(3X),
+\fBcurs_clear\fR(3X),
+\fBcurs_inch\fR(3X),
+\fBcurs_outopts\fR(3X),
+\fBcurs_refresh\fR(3X),
+\fBputc\fR(3).
+.PP
+Comparable functions in the wide-character (ncursesw) library are
+described in
+\fBcurs_add_wch\fR(3X).
 .\"#
 .\"# The following sets edit modes for GNU EMACS
 .\"# Local Variables:
index 6f2fd6a..ac1b040 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
+.\" Copyright (c) 1998-2005,2006 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_addchstr.3x,v 1.8 2003/12/27 18:51:24 tom Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_addchstr.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_addchstr.3x,v 1.12 2006/12/02 17:02:45 tom Exp $
 .TH curs_addchstr 3X ""
+.na
+.hy 0
 .SH NAME
-\fBaddchstr\fR, \fBaddchnstr\fR, \fBwaddchstr\fR,
-\fBwaddchnstr\fR, \fBmvaddchstr\fR, \fBmvaddchnstr\fR, \fBmvwaddchstr\fR,
+\fBaddchstr\fR,
+\fBaddchnstr\fR,
+\fBwaddchstr\fR,
+\fBwaddchnstr\fR,
+\fBmvaddchstr\fR,
+\fBmvaddchnstr\fR,
+\fBmvwaddchstr\fR,
 \fBmvwaddchnstr\fR - add a string of characters (and attributes) to a \fBcurses\fR window
+.ad
+.hy
 .SH SYNOPSIS
 \fB#include <curses.h>\fR
 .PP
@@ -59,22 +67,30 @@ If \fBn\fR=\fB-1\fR then the whole string is copied, to the maximum number of
 characters that will fit on the line.
 .PP
 The window cursor is \fInot\fR advanced, and these routines work faster than
-\fBwaddnstr\fR.  On the other hand, they don't perform any kind of checking
-(such as for the newline, backspace, or carriage return characters), they don't
-advance the current cursor position, they don't expand other control characters
+\fBwaddnstr\fR.  On the other hand, they do not perform any kind of checking
+(such as for the newline, backspace, or carriage return characters), they do not
+advance the current cursor position, they do not expand other control characters
 to ^-escapes, and they truncate the string if it crosses the right margin,
-rather then wrapping it around to the new line.
+rather than wrapping it around to the new line.
 .SH RETURN VALUES
 All routines return the integer \fBERR\fR upon failure and \fBOK\fR on success
 (the SVr4 manuals specify only "an integer value other than \fBERR\fR") upon
 successful completion, unless otherwise noted in the preceding routine
 descriptions.
+.PP
+X/Open does not define any error conditions.
+This implementation returns an error
+if the window pointer is null.
 .SH NOTES
 Note that all routines except \fBwaddchnstr\fR may be macros.
 .SH PORTABILITY
-All these entry points are described in the XSI Curses standard, Issue 4.
+These entry points are described in the XSI Curses standard, Issue 4.
 .SH SEE ALSO
 \fBcurses\fR(3X).
+.PP
+Comparable functions in the wide-character (ncursesw) library are
+described in
+\fBcurs_add_wchstr\fR(3X).
 .\"#
 .\"# The following sets edit modes for GNU EMACS
 .\"# Local Variables:
index 86685dd..488b9dd 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
+.\" Copyright (c) 1998-2003,2005 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_addstr.3x,v 1.11 2003/12/27 18:51:15 tom Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_addstr.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_addstr.3x,v 1.13 2005/05/15 16:17:14 tom Exp $
 .TH curs_addstr 3X ""
+.na
+.hy 0
 .SH NAME
 \fBaddstr\fR,
 \fBaddnstr\fR,
@@ -38,6 +39,8 @@
 \fBmvaddnstr\fR,
 \fBmvwaddstr\fR,
 \fBmvwaddnstr\fR - add a string of characters to a \fBcurses\fR window and advance cursor
+.ad
+.hy
 .SH SYNOPSIS
 .nf
 \fB#include <curses.h>\fR
@@ -71,6 +74,12 @@ or until a terminating null is reached.
 All routines return the integer \fBERR\fR upon failure and \fBOK\fR on success
 (the SVr4 manuals specify only "an integer value other than \fBERR\fR") upon
 successful completion.
+.PP
+X/Open does not define any error conditions.
+This implementation returns an error
+if the window pointer is null or
+if the string pointer is null or
+if the corresponding calls to \fBwaddch\fP return an error.
 .SH NOTES
 Note that all of these routines except \fBwaddstr\fR and \fBwaddnstr\fR may be
 macros.
index 9211de6..63d2746 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 2002,2003 Free Software Foundation, Inc.                   *
+.\" Copyright (c) 2002-2005,2006 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_addwstr.3x,v 1.3 2003/12/27 18:51:01 tom Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_addwstr.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_addwstr.3x,v 1.7 2006/02/25 20:59:08 tom Exp $
 .TH curs_addwstr 3X ""
+.na
+.hy 0
 .SH NAME
 \fBaddwstr\fR,
 \fBaddnwstr\fR,
@@ -38,6 +39,8 @@
 \fBmvaddnwstr\fR,
 \fBmvwaddwstr\fR,
 \fBmvwaddnwstr\fR \- add a string of wide characters to a \fBcurses\fR window and advance cursor
+.ad
+.hy
 .SH SYNOPSIS
 .nf
 \fB#include <curses.h>\fR
@@ -59,7 +62,8 @@
 \fBint mvwaddnwstr(WINDOW *\fR\fIwin\fR\fB, int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, const wchar_t *\fR\fIwstr\fR\fB, int \fR\fIn\fR\fB);\fR
 .fi
 .SH DESCRIPTION
-These routines write the characters of the (null-terminated) \fBwchar_t\fRcharacter string
+These routines write the characters of the
+(null-terminated) \fBwchar_t\fR character string
 \fIwstr\fR on the given window.
 It is similar to constructing a \fBcchar_t\fR for each wchar_t in the string,
 then calling \fBwadd_wch\fR for the resulting \fBcchar_t\fR.
@@ -80,8 +84,6 @@ Note that all of these routines except \fBwaddnwstr\fR may be macros.
 .SH PORTABILITY
 All these entry points are described in the XSI Curses standard, Issue 4.
 .SH SEE ALSO
-.PP
-Functions:
 \fBcurses\fR(3X),
 \fBcurs_add_wch\fR(3X)
 .\"#
index 898d3f1..cf58aff 100644 (file)
@@ -1,6 +1,6 @@
 '\" t
 .\"***************************************************************************
-.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
+.\" Copyright (c) 1998-2006,2007 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_attr.3x,v 1.27 2003/12/27 18:50:51 tom Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_attr.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_attr.3x,v 1.31 2007/03/17 20:30:33 tom Exp $
 .TH curs_attr 3X ""
+.na
+.hy 0
 .SH NAME
-\fBattroff\fR, \fBwattroff\fR, \fBattron\fR, \fBwattron\fR,
-\fBattrset\fR, \fBwattrset\fR, \fBcolor_set\fR, \fBwcolor_set\fR,
-\fBstandend\fR, \fBwstandend\fR, \fBstandout\fR, \fBwstandout\fR,
-\fBattr_get\fR, \fBwattr_get\fR,
-\fBattr_off\fR, \fBwattr_off\fR,
-\fBattr_on\fR, \fBwattr_on\fR,
-\fBattr_set\fR, \fBwattr_set\fR,
-\fBchgat\fR, \fBwchgat\fR,
-\fBmvchgat\fR, \fBmvwchgat\fR,
+\fBattroff\fR,
+\fBwattroff\fR,
+\fBattron\fR,
+\fBwattron\fR,
+\fBattrset\fR,
+\fBwattrset\fR,
+\fBcolor_set\fR,
+\fBwcolor_set\fR,
+\fBstandend\fR,
+\fBwstandend\fR,
+\fBstandout\fR,
+\fBwstandout\fR,
+\fBattr_get\fR,
+\fBwattr_get\fR,
+\fBattr_off\fR,
+\fBwattr_off\fR,
+\fBattr_on\fR,
+\fBwattr_on\fR,
+\fBattr_set\fR,
+\fBwattr_set\fR,
+\fBchgat\fR,
+\fBwchgat\fR,
+\fBmvchgat\fR,
+\fBmvwchgat\fR,
 \fBPAIR_NUMBER\fR - \fBcurses\fR character and window attribute control routines
+.ad
+.hy
 .SH SYNOPSIS
 \fB#include <curses.h>\fR
 .br
@@ -141,13 +159,9 @@ window; the \fBmvwchgat\fR function does a cursor move before acting.  In these
 functions, the color argument is a color-pair index (as in the first argument
 of \fIinit_pair\fR, see \fBcurs_color\fR(3X)).  The \fBopts\fR argument is not
 presently used, but is reserved for the future (leave it \fBNULL\fR).
-Note that changing the attributes does not imply
-that a subsequent \fBrefresh\fR will update the screen to match,
-since the character values are not modified.
-Use \fBtouchwin\fR to force the screen to match the updated attributes.
 .SS Attributes
 The following video attributes, defined in \fB<curses.h>\fR, can be passed to
-the routines \fBattron\fR, \fBattroff\fR, and \fBattrset\fR, or OR'ed with the
+the routines \fBattron\fR, \fBattroff\fR, and \fBattrset\fR, or OR'd with the
 characters passed to \fBaddch\fR.
 .PP
 .TS
@@ -180,8 +194,15 @@ The SVr4 manual page claims (falsely) that these routines always return \fB1\fR.
 .SH NOTES
 Note that \fBattroff\fR, \fBwattroff\fR, \fBattron\fR, \fBwattron\fR,
 \fBattrset\fR, \fBwattrset\fR, \fBstandend\fR and \fBstandout\fR may be macros.
+.PP
+\fBCOLOR_PAIR\fP values can only be OR'd with attributes if the pair
+number is less than 256.
+The alternate functions such as \fBcolor_set\fP 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 support more than 256 color pairs.
 .SH PORTABILITY
-All these functions are supported in the XSI Curses standard, Issue 4.  The
+These functions are supported in the XSI Curses standard, Issue 4.  The
 standard defined the dedicated type for highlights, \fBattr_t\fR, which is not
 defined in SVr4 curses. The functions taking \fBattr_t\fR arguments are
 not supported under SVr4.
@@ -198,6 +219,10 @@ XSI Curses added the new entry points, \fBattr_get\fR, \fBattr_on\fR,
 \fBwattr_get\fR, \fBwattr_set\fR.  These are intended to work with
 a new series of highlight macros prefixed with \fBWA_\fR.
 .PP
+Older versions of this library did not force an update of the screen
+when changing the attributes.
+Use \fBtouchwin\fR to force the screen to match the updated attributes.
+.PP
 .TS
 center ;
 l l .
@@ -218,7 +243,19 @@ information.
 The XSI standard extended conformance level adds new highlights
 \fBA_HORIZONTAL\fR, \fBA_LEFT\fR, \fBA_LOW\fR, \fBA_RIGHT\fR, \fBA_TOP\fR,
 \fBA_VERTICAL\fR (and corresponding \fBWA_\fR macros for each) which this
-curses does not yet support.
+implementation does not yet support.
+.SH RETURN VALUE
+All routines return the integer \fBOK\fR on success, or \fBERR\fP on failure.
+.PP
+X/Open does not define any error conditions.
+.PP
+This implementation returns an error
+if the window pointer is null.
+The \fBwcolor_set\fP function returns an error if the color pair parameter
+is outside the range 0..COLOR_PAIRS-1.
+This implementation also provides
+\fBgetattrs\fR
+for compatibility with older versions of curses.
 .SH SEE ALSO
 \fBcurses\fR(3X),
 \fBcurs_addch\fR(3X),
index 606d7d4..49e5761 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 1998,2003 Free Software Foundation, Inc.                   *
+.\" Copyright (c) 1998-2003,2005 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,8 +26,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_beep.3x,v 1.9 2003/12/27 18:44:30 tom Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_beep.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_beep.3x,v 1.10 2005/01/08 17:55:51 tom Exp $
 .TH curs_beep 3X ""
 .SH NAME
 \fBbeep\fR, \fBflash\fR - \fBcurses\fR bell and screen flash routines
@@ -52,8 +51,8 @@ These routines return \fBOK\fR if they succeed in beeping or flashing,
 SVr4's beep and flash routines always returned \fBOK\fR, so it was not
 possible to tell when the beep or flash failed.
 .SH PORTABILITY
-These functions are defined in the XSI Curses standard, Issue 4.  Like SVr4, it
-specifies that they always return \fBOK\fR.
+These functions are described in the XSI Curses standard, Issue 4.
+Like SVr4, it specifies that they always return \fBOK\fR.
 .SH SEE ALSO
 \fBcurses\fR(3X)
 .\"#
index 6f9d159..b2d768a 100644 (file)
@@ -27,7 +27,6 @@
 .\"***************************************************************************
 .\"
 .\" $Id: curs_bkgd.3x,v 1.19 2003/12/27 18:50:40 tom Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_bkgd.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
 .TH curs_bkgd 3X ""
 .SH NAME
 \fBbkgdset\fR, \fBwbkgdset\fR,
index 3d5e2cb..8c6f6af 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 2002 Free Software Foundation, Inc.                        *
+.\" Copyright (c) 2002-2004,2006 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_bkgrnd.3x,v 1.1 2002/02/23 23:23:42 tom Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_bkgrnd.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_bkgrnd.3x,v 1.3 2006/02/25 21:49:19 tom Exp $
 .TH curs_bkgrnd 3X ""
 .SH NAME
-.PP
 \fBbkgrnd\fR,
 \fBwbkgrnd\fR,
 \fBbkgrndset\fR,
@@ -40,7 +38,7 @@
 .SH SYNOPSIS
 .PP
 .B #include <curses.h>
-
+.sp
 \fBint bkgrnd(\fR\fB const cchar_t *\fR\fIwch\fR\fB);\fR
 .br
 \fBint wbkgrnd(\fR\fB WINDOW *\fR\fIwin\fR\fB, const cchar_t *\fR\fIwch\fR\fB);\fR
@@ -65,26 +63,26 @@ 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.
-
+.PP
 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.
-
+.PP
 The \fBbkgrnd\fR and \fBwbkgrnd\fR functions
 set the background property of the current or specified window
 and then apply this setting to every character position in that window:
-
 .RS
+.PP
 The rendition of every character on the screen is changed to
 the new background rendition.
-
+.PP
 Wherever the former background character
 appears, it is changed to the new background character.
 .RE
-
+.PP
 The \fBgetbkgrnd\fR function returns the given window's current background
 character/attribute pair via the \fBwch\fR pointer.
-
+.
 .SH NOTES
 Note that
 \fBbkgrnd\fR,
index b4fbb43..09f9a4c 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
+.\" Copyright (c) 1998-2006,2007 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_border.3x,v 1.15 2002/02/16 22:21:47 tom Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_border.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_border.3x,v 1.19 2007/02/24 16:15:38 tom Exp $
 .TH curs_border 3X ""
+.na
+.hy 0
 .SH NAME
-\fBborder\fR, \fBwborder\fR, \fBbox\fR,
-\fBhline\fR, \fBwhline\fR,
-\fBvline\fR, \fBwvline\fR,
-\fBmvhline\fR, \fBmvwhline\fR,
-\fBmvvline\fR, \fBmvwvline\fR - create \fBcurses\fR borders, horizontal and vertical lines
+\fBborder\fR,
+\fBwborder\fR,
+\fBbox\fR,
+\fBhline\fR,
+\fBwhline\fR,
+\fBvline\fR,
+\fBwvline\fR,
+\fBmvhline\fR,
+\fBmvwhline\fR,
+\fBmvvline\fR,
+\fBmvwvline\fR - create \fBcurses\fR borders, horizontal and vertical lines
+.ad
+.hy
 .SH SYNOPSIS
 \fB#include <curses.h>\fR
 .br
@@ -55,9 +64,9 @@
 .br
 \fBint wvline(WINDOW *win, chtype ch, int n);\fR
 .br
-\fBmvhline(int y, int x, chtype ch, int n);\fR
+\fBint mvhline(int y, int x, chtype ch, int n);\fR
 .br
-\fBmvwhline(WINDOW *, int y, int x, chtype ch, int n);\fR
+\fBint mvwhline(WINDOW *, int y, int x, chtype ch, int n);\fR
 .br
 \fBint mvvline(int y, int x, chtype ch, int n);\fR
 .br
@@ -67,6 +76,7 @@
 The \fBborder\fR, \fBwborder\fR and \fBbox\fR routines
 draw a box around the edges of a window.
 Other than the window, each argument is a character with attributes:
+.sp
 .RS
 \fIls\fR - left side,
 .br
@@ -84,8 +94,10 @@ Other than the window, each argument is a character with attributes:
 .br
 \fIbr\fR - bottom right-hand corner.
 .RE
+.PP
 If any of these arguments is zero, then the corresponding
 default values (defined in \fBcurses.h\fR) are used instead:
+.sp
 .RS
 \fBACS_VLINE\fR,
 .br
@@ -103,16 +115,16 @@ default values (defined in \fBcurses.h\fR) are used instead:
 .br
 \fBACS_LRCORNER\fR.
 .RE
-
+.PP
 \fBbox(\fR\fIwin\fR\fB, \fR\fIverch\fR\fB, \fR\fIhorch\fR\fB)\fR is a shorthand
 for the following call: \fBwborder(\fR\fIwin\fR\fB,\fR \fIverch\fR\fB,\fR
 \fIverch\fR\fB,\fR \fIhorch\fR\fB,\fR \fIhorch\fR\fB, 0, 0, 0, 0)\fR.
-
+.PP
 The \fBhline\fR and \fBwhline\fR functions draw a horizontal (left to right)
 line using \fIch\fR starting at the current cursor position in the window.  The
 current cursor position is not changed.  The line is at most \fIn\fR characters
 long, or as many as fit into the window.
-
+.PP
 The \fBvline\fR and \fBwvline\fR functions draw a vertical (top to bottom) line
 using \fIch\fR starting at the current cursor position in the window.  The
 current cursor position is not changed.  The line is at most \fIn\fR characters
@@ -120,10 +132,14 @@ long, or as many as fit into the window.
 .SH RETURN VALUE
 All routines return the integer \fBOK\fR.  The SVr4.0 manual says "or a
 non-negative integer if \fBimmedok\fR is set", but this appears to be an error.
+.PP
+X/Open does not define any error conditions.
+This implementation returns an error
+if the window pointer is null.
 .SH NOTES
 The borders generated by these functions are \fIinside\fR borders (this
 is also true of SVr4 curses, though the fact is not documented).
-
+.PP
 Note that \fBborder\fR and \fBbox\fR may be macros.
 .SH PORTABILITY
 These functions are described in the XSI Curses standard, Issue 4.
index 809cedd..dbf8653 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 2002 Free Software Foundation, Inc.                        *
+.\" Copyright (c) 2002-2004,2005 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_border_set.3x,v 1.3 2002/04/20 16:49:13 tom Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_border_set.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_border_set.3x,v 1.6 2005/05/15 16:17:37 tom Exp $
 .TH curs_border_set 3X ""
+.na
+.hy 0
 .SH NAME
-.PP
 \fBborder_set\fR,
 \fBwborder_set\fR,
 \fBbox_set\fR,
@@ -42,6 +42,8 @@
 \fBwvline_set\fR,
 \fBmvvline_set\fR,
 \fBmvwvline_set\fR \- create \fBcurses\fR borders or lines using complex characters and renditions
+.ad
+.hy
 .SH SYNOPSIS
 .PP
 \fB#include <curses.h>\fR
@@ -191,6 +193,8 @@ Upon successful completion, these functions return
 \fBOK\fR.
 Otherwise, they return
 \fBERR\fR.
+.PP
+Functions using a window parameter return an error if it is null.
 .SH SEE ALSO
 \fBncurses\fR(3X),
 \fBcurs_border\fR(3X),
index 099c3c7..adbfd2c 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 1998 Free Software Foundation, Inc.                        *
+.\" Copyright (c) 1998-2005,2007 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_clear.3x,v 1.7 1998/03/11 21:12:53 juergen Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_clear.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_clear.3x,v 1.11 2007/12/29 15:58:38 tom Exp $
 .TH curs_clear 3X ""
+.na
+.hy 0
 .SH NAME
-\fBerase\fR, \fBwerase\fR, \fBclear\fR,
-\fBwclear\fR, \fBclrtobot\fR, \fBwclrtobot\fR, \fBclrtoeol\fR,
+\fBerase\fR,
+\fBwerase\fR,
+\fBclear\fR,
+\fBwclear\fR,
+\fBclrtobot\fR,
+\fBwclrtobot\fR,
+\fBclrtoeol\fR,
 \fBwclrtoeol\fR - clear all or part of a \fBcurses\fR window
+.ad
+.hy
 .SH SYNOPSIS
 \fB# include <curses.h>\fR
-
+.sp
 \fBint erase(void);\fR
 .br
 \fBint werase(WINDOW *win);\fR
 .SH DESCRIPTION
 The \fBerase\fR and \fBwerase\fR routines copy blanks to every
 position in the window, clearing the screen.
-
+.PP
 The \fBclear\fR and \fBwclear\fR routines are like \fBerase\fR and
 \fBwerase\fR, but they also call \fBclearok\fR, so that the screen is
 cleared completely on the next call to \fBwrefresh\fR for that window
 and repainted from scratch.
-
+.PP
 The \fBclrtobot\fR and \fBwclrtobot\fR 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.
-
+.PP
 The \fBclrtoeol\fR and \fBwclrtoeol\fR routines erase the current line
 to the right of the cursor, inclusive, to the end of the current line.
-
+.PP
 Blanks created by erasure have the current background rendition (as set
 by \fBwbkgdset\fR) merged into them.
 .SH RETURN VALUE
-All routines return the integer \fBOK\fR.  The SVr4.0 manual says "or a
+All routines return the integer \fBOK\fR on success and \fBERR\fP on failure.
+The SVr4.0 manual says "or a
 non-negative integer if \fBimmedok\fR is set", but this appears to be an error.
+.PP
+X/Open defines no error conditions.
+In this implementation,
+functions using a window pointer parameter return an error if it is null.
 .SH NOTES
 Note that \fBerase\fR, \fBwerase\fR, \fBclear\fR, \fBwclear\fR,
 \fBclrtobot\fR, and \fBclrtoeol\fR may be macros.
@@ -80,11 +93,24 @@ Note that \fBerase\fR, \fBwerase\fR, \fBclear\fR, \fBwclear\fR,
 These functions are described in the XSI Curses standard, Issue 4.  The
 standard specifies that they return \fBERR\fR on failure, but specifies no
 error conditions.
-
+.PP
 Some historic curses implementations had, as an undocumented feature, the
 ability to do the equivalent of \fBclearok(..., 1)\fR by saying
 \fBtouchwin(stdscr)\fR or \fBclear(stdscr)\fR.  This will not work under
 ncurses.
+.PP
+This implementation, and others such as Solaris,
+sets the current position to 0,0 after erasing
+via \fBwerase()\fP and \fBwclear()\fP.
+That fact is not documented in other implementations,
+and may not be true of implementations
+which were not derived from SVr4 source.
+.PP
+Not obvious from the description,
+most implementations clear the screen after \fBwclear\fP
+even for a subwindow or derived window.
+If you do not want to clear the screen during the next \fBwrefresh\fP,
+use \fBwerase\fP instead.
 .SH SEE ALSO
 \fBcurses\fR(3X), \fBcurs_outopts\fR(3X), \fBcurs_refresh\fR(3X)
 .\"#
index eed07fa..99e63ef 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
+.\" Copyright (c) 1998-2004,2005 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_color.3x,v 1.19 2002/02/16 22:38:32 tom Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_color.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_color.3x,v 1.28 2005/12/18 00:00:37 tom Exp $
 .TH curs_color 3X ""
+.na
+.hy 0
 .SH NAME
 \fBstart_color\fR,
 \fBinit_pair\fR,
@@ -38,6 +39,8 @@
 \fBcolor_content\fR,
 \fBpair_content\fR,
 \fBCOLOR_PAIR\fR - \fBcurses\fR color manipulation routines
+.ad
+.hy
 .SH SYNOPSIS
 \fB# include <curses.h>\fR
 .br
@@ -65,7 +68,7 @@ color (for the blank field on which the characters are displayed).  A
 programmer initializes a color-pair with the routine \fBinit_pair\fR.  After it
 has been initialized, \fBCOLOR_PAIR\fR(\fIn\fR), a macro defined in
 \fB<curses.h>\fR, can be used as a new video attribute.
-
+.PP
 If a terminal is capable of redefining colors, the programmer can use the
 routine \fBinit_color\fR to change the definition of a color.  The routines
 \fBhas_colors\fR and \fBcan_change_color\fR return \fBTRUE\fR or \fBFALSE\fR,
@@ -85,7 +88,7 @@ and white), and two global variables, \fBCOLORS\fR and
 and color-pairs the terminal can support).  It also restores the
 colors on the terminal to the values they had when the terminal was
 just turned on.
-
+.PP
 The \fBinit_pair\fR 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.
@@ -97,18 +100,20 @@ must be between \fB1\fR and \fBCOLOR_PAIRS-1\fR.
 .TP 5
 -
 The value of the second and
-third arguments must be between 0 and \fBCOLORS\fR (the 0 color pair is wired
-to white on black and cannot be changed).
+third arguments must be between 0 and \fBCOLORS\fR.
+Color pair 0 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.
 .PP
 If the color-pair was previously
 initialized, the screen is refreshed and all occurrences of that color-pair
 are changed to the new definition.
-
+.PP
 As an extension, ncurses allows you to set color pair 0 via
 the \fBassume_default_colors\fR routine, or to specify the use of
 default colors (color number \fB-1\fR) if you first invoke the
 \fBuse_default_colors\fR routine.
-
+.PP
 The \fBinit_color\fR 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 value of the first
@@ -117,18 +122,18 @@ argument must be between \fB0\fR and \fBCOLORS\fR.  (See the section
 must be a value between 0 and 1000.  When \fBinit_color\fR is used, all
 occurrences of that color on the screen immediately change to the new
 definition.
-
+.PP
 The \fBhas_colors\fR routine requires no arguments.  It returns \fBTRUE\fR if
 the terminal can manipulate colors; otherwise, it returns \fBFALSE\fR.  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.
-
+.PP
 The \fBcan_change_color\fR routine requires no arguments.  It returns
 \fBTRUE\fR if the terminal supports colors and can change their definitions;
 other, it returns \fBFALSE\fR.  This routine facilitates writing
 terminal-independent programs.
-
+.PP
 The \fBcolor_content\fR 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 \fBshort\fRs for storing
@@ -137,7 +142,7 @@ given color.  The value of the first argument must be between 0 and
 \fBCOLORS\fR.  The values that are stored at the addresses pointed to by the
 last three arguments are between 0 (no component) and 1000 (maximum amount of
 component).
-
+.PP
 The \fBpair_content\fR 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 \fBshort\fRs for storing the foreground and the
@@ -148,7 +153,7 @@ to by the second and third arguments are between 0 and \fBCOLORS\fR.
 In \fB<curses.h>\fR the following macros are defined.  These are the default
 colors.  \fBcurses\fR also assumes that \fBCOLOR_BLACK\fR is the default
 background color for all terminals.
-
+.PP
 .nf
       \fBCOLOR_BLACK\fR
       \fBCOLOR_RED\fR
@@ -162,22 +167,44 @@ background color for all terminals.
 .SH RETURN VALUE
 The routines \fBcan_change_color()\fR and \fBhas_colors()\fR return \fBTRUE\fR
 or \fBFALSE\fR.
-
+.PP
 All other routines return the integer \fBERR\fR upon failure and an \fBOK\fR
 (SVr4 specifies only "an integer value other than \fBERR\fR") upon successful
 completion.
+.PP
+X/Open defines no error conditions.
+This implementation will return \fBERR\fR on attempts to
+use color values outside the range 0 to COLORS-1
+(except for the default colors extension),
+or use color pairs outside the range 0 to COLOR_PAIR-1.
+Color values used in \fBinit_color\fP must be in the range 0 to 1000.
+An error is returned from all functions
+if the terminal has not been initialized.
+An error is returned from secondary functions such as \fBinit_pair\fP
+if \fBstart_color\fP was not called.
+.RS
+.TP 5
+\fBinit_color\fP
+returns an error if the terminal does not support
+this feature, e.g., if the \fIinitialize_color\fP capability is absent
+from the terminal description.
+.TP 5
+\fBstart_color\fP
+returns an error
+If the color table cannot be allocated.
+.RE
 .SH NOTES
 In the \fIncurses\fR implementation, there is a separate color activation flag,
 color palette, color pairs table, and associated COLORS and COLOR_PAIRS counts
 for each screen; the \fBstart_color\fR 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.
-
+.PP
 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 \fBcurs_bkgd\fR(3X).
-
+.PP
 Several caveats apply on 386 and 486 machines with VGA-compatible graphics:
 .TP 5
 -
@@ -202,8 +229,12 @@ but only if that routine has been first invoked.
 .PP
 The assumption that \fBCOLOR_BLACK\fR is the default
 background color for all terminals can be modified using the
-\fBassume_default_colors\fP extension,
-
+\fBassume_default_colors\fP extension.
+.PP
+This implementation checks the pointers,
+e.g., for the values returned by
+\fBcolor_content\fP and \fBpair_content\fP,
+and will treat those as optional parameters when null.
 .SH SEE ALSO
 \fBcurses\fR(3X),
 \fBcurs_initscr\fR(3X),
index ea7dfb7..7026667 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
+.\" Copyright (c) 1998-2000,2006 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,8 +26,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_delch.3x,v 1.7 2000/07/01 19:55:37 tom Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_delch.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_delch.3x,v 1.8 2006/02/25 21:42:57 tom Exp $
 .TH curs_delch 3X ""
 .SH NAME
 \fBdelch\fR,
@@ -36,7 +35,7 @@
 \fBmvwdelch\fR - delete character under the cursor in a \fBcurses\fR window
 .SH SYNOPSIS
 \fB#include <curses.h>\fR
-
+.sp
 \fBint delch(void);\fR
 .br
 \fBint wdelch(WINDOW *win);\fR
index db72fe5..fc7b16a 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
+.\" Copyright (c) 1998-2006,2007 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,8 +26,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_deleteln.3x,v 1.8 2003/05/10 20:33:49 jmc Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_deleteln.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_deleteln.3x,v 1.11 2007/06/02 20:40:07 tom Exp $
 .TH curs_deleteln 3X ""
 .SH NAME
 \fBdeleteln\fR,
@@ -38,7 +37,7 @@
 \fBwinsertln\fR - delete and insert lines in a \fBcurses\fR window
 .SH SYNOPSIS
 \fB#include <curses.h>\fR
-
+.sp
 \fBint deleteln(void);\fR
 .br
 \fBint wdeleteln(WINDOW *win);\fR
 The \fBdeleteln\fR and \fBwdeleteln\fR 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.
-
+.PP
 The \fBinsdelln\fR and \fBwinsdelln\fR routines, for positive \fIn\fR, insert
 \fIn\fR lines into the specified window above the current line.  The \fIn\fR
 bottom lines are lost.  For negative \fIn\fR, delete \fIn\fR lines (starting
 with the one under the cursor), and move the remaining lines up.  The bottom
 \fIn\fR lines are cleared.  The current cursor position remains the same.
-
+.PP
 The \fBinsertln\fR and \fBwinsertln\fR routines insert a blank line above the
 current line and the bottom line is lost.
 .SH RETURN VALUE
 All routines return the integer \fBERR\fR upon failure and an \fBOK\fR (SVr4
 specifies only "an integer value other than \fBERR\fR") upon successful
 completion.
+.PP
+X/Open defines no error conditions.
+In this implementation,
+if the window parameter is null, an error is returned.
 .SH PORTABILITY
 These functions are described in the XSI Curses standard, Issue 4.  The
 standard specifies that they return \fBERR\fR on failure, but specifies no
 error conditions.
 .SH NOTES
 Note that all but \fBwinsdelln\fR may be macros.
-
+.PP
 These routines do not require a hardware line delete or insert feature in the
-terminal.  In fact, they won't use hardware line delete/insert unless
+terminal.  In fact, they will not use hardware line delete/insert unless
 \fBidlok(..., TRUE)\fR has been set on the current window.
 .SH SEE ALSO
 \fBcurses\fR(3X)
index fc69940..3092253 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 1999-2002,2003 Free Software Foundation, Inc.              *
+.\" Copyright (c) 1999-2004,2006 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" Author: Thomas E. Dickey 1999
+.\" Author: Thomas E. Dickey 1999-on
 .\"
-.\" $Id: curs_extend.3x,v 1.12 2003/10/25 20:33:16 tom Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_extend.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_extend.3x,v 1.17 2006/12/24 18:01:48 tom Exp $
 .TH curs_extend 3X ""
 .SH NAME
 \fBcurses_version\fP,
 \fBuse_extended_names\fP \- miscellaneous curses extensions
-
+.
 .SH SYNOPSIS
 \fB#include <curses.h>\fP
-
+.sp
 \fBconst char * curses_version(void);\fP
 .br
 \fBint use_extended_names(bool enable);\fP
@@ -57,7 +56,7 @@ 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 \fB\-x\fP option of \fItic\fP to compile
+is made by using the \fB-x\fP option of \fB@TIC@\fP to compile
 extended terminal definitions.
 However you can disable this feature
 to ensure compatibility with other implementations of curses.
@@ -69,6 +68,7 @@ any code depending on them be conditioned using NCURSES_VERSION.
 \fBcurs_getch\fR(3X),
 \fBcurs_mouse\fR(3X),
 \fBcurs_print\fR(3X),
+\fBcurs_util\fR(3X),
 \fBdefault_colors\fR(3X),
 \fBdefine_key\fR(3X),
 \fBkeybound\fR(3X),
index 05c8042..6ecff79 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 2002,2003 Free Software Foundation, Inc.                   *
+.\" Copyright (c) 2002-2003,2006 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,8 +26,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_get_wch.3x,v 1.5 2003/05/10 20:33:49 jmc Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_get_wch.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_get_wch.3x,v 1.6 2006/02/25 21:47:06 tom Exp $
 .TH curs_get_wch 3X ""
 .SH NAME
 \fBget_wch\fR,
@@ -65,14 +64,14 @@ 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.
-
+.PP
 Unless \fBnoecho\fR has been set,
 these routines echo the character into the designated window.
-
+.PP
 If the window is not a pad and has been moved or modified since the
 last call to \fBwrefresh\fR,
 \fBwrefresh\fR will be called before another character is read.
-
+.PP
 If \fBkeypad\fR is enabled,
 these functions respond to
 the pressing of a function key by setting the object pointed to by
index 854fd9e..4286c78 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 2002,2003 Free Software Foundation, Inc.                   *
+.\" Copyright (c) 2002-2005,2006 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_get_wstr.3x,v 1.3 2003/07/05 11:15:28 tom Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_get_wstr.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_get_wstr.3x,v 1.6 2006/02/25 21:49:19 tom Exp $
 .TH curs_get_wstr 3X ""
+.na
+.hy 0
 .SH NAME
 \fBget_wstr\fR,
 \fBgetn_wstr\fR,
 \fBmvgetn_wstr\fR,
 \fBmvwget_wstr\fR,
 \fBmvwgetn_wstr\fR \- get an array of wide characters from a curses terminal keyboard
+.ad
+.hy
 .SH SYNOPSIS
 .nf
 \fB#include <curses.h>\fR
-
+.sp
 \fBint get_wstr(wint_t *\fR\fIwstr\fR\fB);\fR
 .br
 \fBint getn_wstr(wint_t *\fR\fIwstr\fR\fB, int \fR\fIn\fR\fB);\fR
@@ -69,22 +72,22 @@ An end-of-file condition is represented by \fBWEOF\fR, as defined in \fB<wchar.h
 The newline and end-of-line conditions are represented by the \fB\\n\fR \fBwchar_t\fR value.
 In all instances, the end of the string is terminated by a null \fBwchar_t\fR.
 The routine places resulting values in the area pointed to by \fIwstr\fR.
-
+.PP
 The user's erase and kill characters are interpreted.  If keypad
 mode is on for the window, \fBKEY_LEFT\fR and \fBKEY_BACKSPACE\fR
 are both considered equivalent to the user's kill character.
-
+.PP
 Characters input are echoed only if \fBecho\fR is currently on.  In that case,
 backspace is echoed as deletion of the previous character (typically a left
 motion).
-
+.PP
 The effect of
 \fBwget_wstr\fR
 is as though a series of
 calls to
 \fBwget_wch\fR
 were made.
-
+.PP
 The effect of
 \fBmvget_wstr\fR
 is as though a call to
@@ -93,7 +96,7 @@ and then a series of calls to
 \fBget_wch\fR
 were
 made.
-
+.PP
 The effect of
 \fBmvwget_wstr\fR
 is as though a call to
@@ -101,7 +104,7 @@ is as though a call to
 and then a series of calls to
 \fBwget_wch\fR
 were made.
-
+.PP
 The
 \fBgetn_wstr\fR,
 \fBmvgetn_wstr\fR,
@@ -136,14 +139,21 @@ The use of
 \fBmvgetn_wstr\fR,
 \fBmvwgetn_wstr\fR, or
 \fBwgetn_wstr\fR, respectively, is recommended.
-
+.PP
 These functions cannot return \fBKEY_\fR values because there
 is no way to distinguish a \fBKEY_\fR value from a valid \fBwchar_t\fR value.
-
+.PP
 All of these routines except \fBwgetn_wstr\fR may be macros.
 .SH RETURN VALUES
 All of these functions return \fBOK\fR upon successful completion.
 Otherwise, they return \fBERR\fR.
+.PP
+Functions using a window parameter return an error if it is null.
+.RS
+.TP 5
+\fBwgetn_wstr\fP
+returns an error if the associated call to \fBwget_wch\fP failed.
+.RE
 .SH PORTABILITY
 These functions are described in The Single Unix Specification, Version 2.
 No error conditions are defined.
index d6df05e..cb02f5d 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 2001-2002,2003 Free Software Foundation, Inc.              *
+.\" Copyright (c) 2001-2006,2008 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,8 +26,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_getcchar.3x,v 1.7 2003/05/10 20:33:49 jmc Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_getcchar.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_getcchar.3x,v 1.11 2008/05/17 19:37:05 tom Exp $
 .TH curs_getcchar 3X ""
 .SH NAME
 \fBgetcchar\fP,
@@ -107,9 +106,14 @@ The color pair in
 -
 The wide-character string pointed to by \fIwch\fP.
 The string must be L'\\0' terminated,
-contain at most one character with strictly positive width,
-which must be the first,
-and contain no characters of negative width.
+contain at most one spacing character,
+which must be the first.
+.IP
+Up to \fBCCHARW_MAX\fP-1 nonspacing characters may follow.
+Additional nonspacing characters are ignored.
+.IP
+The string may contain a single control character instead.
+In that case, no nonspacing characters are allowed.
 .SH NOTES
 .PP
 The \fIopts\fP argument is reserved for future use.
@@ -122,7 +126,7 @@ If \fIwcval\fP is constructed by any other means, the effect is unspecified.
 .PP
 When \fIwch\fP is a null pointer,
 \fBgetcchar\fP returns the number of wide characters referenced by
-\fIwcval\fP, including the null terminator.
+\fIwcval\fP.
 .PP
 When \fIwch\fP is not a null pointer,
 \fBgetcchar\fP returns \fBOK\fP upon successful completion,
@@ -133,10 +137,10 @@ Otherwise, it returns \fBERR\fP.
 .SH SEE ALSO
 .PP
 Functions:
+\fBcurs_attr\fR(3X),
+\fBcurs_color\fR(3X),
 \fBcurses\fR(3X),
-\fBwcwidth\fR(3X),
-\fBcurs_attr_get\fR(3X),
-\fBcan_change_color\fR(3X).
+\fBwcwidth\fR(3).
 .\"#
 .\"# The following sets edit modes for GNU EMACS
 .\"# Local Variables:
index d1fc959..71fed5f 100644 (file)
@@ -1,6 +1,6 @@
 '\" t
 .\"***************************************************************************
-.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
+.\" Copyright (c) 1998-2005,2006 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_getch.3x,v 1.24 2003/12/27 18:46:06 tom Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_getch.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_getch.3x,v 1.30 2006/12/02 17:02:53 tom Exp $
 .TH curs_getch 3X ""
+.na
+.hy 0
 .SH NAME
 \fBgetch\fR,
 \fBwgetch\fR,
@@ -37,6 +38,8 @@
 \fBmvwgetch\fR,
 \fBungetch\fR,
 \fBhas_key\fR \- get (or push back) characters from \fBcurses\fR terminal keyboard
+.ad
+.hy
 .SH SYNOPSIS
 \fB#include <curses.h>\fR
 .PP
@@ -111,7 +114,6 @@ center tab(/) ;
 l l
 l l .
 \fIName\fR/\fIKey\fR \fIname\fR
-.PP
 KEY_BREAK/Break key
 KEY_DOWN/The four arrow keys ...
 KEY_UP
@@ -224,24 +226,38 @@ The \fBhas_key\fR routine takes a key value from the above list, and
 returns TRUE or FALSE according to whether
 the current terminal type recognizes a key with that value.
 Note that a few values do not correspond to a real key,
-e.g., KEY_RESIZE and KEY_MOUSE.
+e.g., \fBKEY_RESIZE\fP and \fBKEY_MOUSE\fP.
+See \fBresizeterm\fR(3X) for more details about \fBKEY_RESIZE\fP, and
+\fBcurs_mouse\fR(3X) for a discussion of \fBKEY_MOUSE\fP.
 .PP
 .SH RETURN VALUE
 All routines return the integer \fBERR\fR upon failure and an integer value
 other than \fBERR\fR (\fBOK\fR in the case of ungetch()) upon successful
 completion.
+.RS
+.TP 5
+\fBungetch\fP
+returns an error
+if there is no more room in the FIFO.
+.TP 5
+\fBwgetch\fP
+returns an error
+if the window pointer is null, or
+if its timeout expires without having any data.
+.RE
 .SH NOTES
 Use of the escape key by a programmer for a single character function is
 discouraged, as it will cause a delay of up to one second while the
 keypad code looks for a following function-key sequence.
 .PP
 Note that some keys may be the same as commonly used control
-keys, e.g., KEY_ENTER versus control/M, KEY_BACKSPACE versus control/H.
+keys, e.g., \fBKEY_ENTER\fP versus control/M, \fBKEY_BACKSPACE\fP versus control/H.
 Some curses implementations may differ according to whether they
 treat these control keys specially (and ignore the terminfo), or
 use the terminfo definitions.
 \fBNcurses\fR uses the terminfo definition.
-If it says that KEY_ENTER is control/M, \fBgetch\fR will return KEY_ENTER
+If it says that \fBKEY_ENTER\fP is control/M,
+\fBgetch\fR will return \fBKEY_ENTER\fP
 when you press control/M.
 .PP
 When using \fBgetch\fR, \fBwgetch\fR, \fBmvgetch\fR, or
@@ -298,8 +314,12 @@ any code using it be conditionalized on the \fBNCURSES_VERSION\fR feature macro.
 \fBcurs_inopts\fR(3X),
 \fBcurs_mouse\fR(3X),
 \fBcurs_move\fR(3X),
-\fBcurs_refresh\fR(3X).
+\fBcurs_refresh\fR(3X),
 \fBresizeterm\fR(3X).
+.PP
+Comparable functions in the wide-character (ncursesw) library are
+described in
+\fBcurs_get_wch\fR(3X).
 .\"#
 .\"# The following sets edit modes for GNU EMACS
 .\"# Local Variables:
index 243eb22..f131765 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
+.\" Copyright (c) 1998-2003,2005 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_getstr.3x,v 1.12 2003/05/10 20:33:49 jmc Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_getstr.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_getstr.3x,v 1.15 2006/01/12 00:30:58 tom Exp $
 .TH curs_getstr 3X ""
+.na
+.hy 0
 .SH NAME
 \fBgetstr\fR,
 \fBgetnstr\fR,
 \fBmvgetnstr\fR,
 \fBmvwgetstr\fR,
 \fBmvwgetnstr\fR - accept character strings from \fBcurses\fR terminal keyboard
+.ad
+.hy
 .SH SYNOPSIS
 \fB#include <curses.h>\fR
-
+.sp
 \fBint getstr(char *str);\fR
 .br
 \fBint getnstr(char *str, int n);\fR
@@ -62,17 +65,17 @@ The function \fBgetstr\fR is equivalent to a series of calls to \fBgetch\fR,
 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 pointed to by the character pointer \fIstr\fR.
-
+.PP
 \fBwgetnstr\fR reads at most \fIn\fR 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 \fBgetnstr\fR function reads
 from the \fIstdscr\fR default window.
-
+.PP
 The user's erase and kill characters are interpreted.  If keypad
 mode is on for the window, \fBKEY_LEFT\fR and \fBKEY_BACKSPACE\fR
 are both considered equivalent to the user's kill character.
-
+.PP
 Characters input are echoed only if \fBecho\fR is currently on.  In that case,
 backspace is echoed as deletion of the previous character (typically a left
 motion).
@@ -80,6 +83,17 @@ motion).
 All routines return the integer \fBERR\fR upon failure and an \fBOK\fR (SVr4
 specifies only "an integer value other than \fBERR\fR") upon successful
 completion.
+.PP
+X/Open defines no error conditions.
+.PP
+In this implementation,
+these functions return an error
+if the window pointer is null, or
+if its timeout expires without having any data.
+.PP
+This implementation provides an extension as well.
+If a SIGWINCH interrupts the function, it will return \fBKEY_RESIZE\fP
+rather than \fBOK\fP or \fBERR\fP.
 .SH NOTES
 Note that \fBgetstr\fR, \fBmvgetstr\fR, and \fBmvwgetstr\fR may be macros.
 .SH PORTABILITY
@@ -88,14 +102,14 @@ They read single-byte characters only.
 The standard does not define any error conditions.
 This implementation returns ERR if the window pointer is null,
 or if the lower-level \fBwgetch\fR call returns an ERR.
-
+.PP
 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, \fIetc\fR.) 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).
-
+.PP
 The functions \fBgetnstr\fR, \fBmvgetnstr\fR, and \fBmvwgetnstr\fR were
 present but not documented in SVr4.
 .SH SEE ALSO
index 3ec7299..2581253 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
+.\" Copyright (c) 1998-2006,2007 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,8 +26,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_getyx.3x,v 1.10 2003/05/10 20:33:49 jmc Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_getyx.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_getyx.3x,v 1.16 2007/05/12 16:34:49 tom Exp $
 .TH curs_getyx 3X ""
 .SH NAME
 \fBgetyx\fR,
@@ -36,7 +35,7 @@
 \fBgetmaxyx\fR - get \fBcurses\fR cursor and window coordinates
 .SH SYNOPSIS
 \fB#include <curses.h>\fR
-
+.sp
 \fBvoid getyx(WINDOW *win, int y, int x);\fR
 .br
 \fBvoid getparyx(WINDOW *win, int y, int x);\fR
 .SH DESCRIPTION
 The \fBgetyx\fR macro places the current cursor position of the given window in
 the two integer variables \fIy\fR and \fIx\fR.
-
+.PP
 If \fIwin\fR is a subwindow, the \fBgetparyx\fR macro places the beginning
 coordinates of the subwindow relative to the parent window into two integer
 variables \fIy\fR and \fIx\fR.
 Otherwise, \fB-1\fR is placed into \fIy\fR and \fIx\fR.
-
+.PP
 Like \fBgetyx\fR, the \fBgetbegyx\fR and \fBgetmaxyx\fR macros store
 the current beginning coordinates and size of the specified window.
 .SH RETURN VALUE
@@ -68,9 +67,9 @@ The
 \fBgetparyx\fR,
 \fBgetbegyx\fR and
 \fBgetmaxyx\fR
-functions are described in the XSI Curses standard, Issue 4.
+macros are described in the XSI Curses standard, Issue 4.
 .PP
-This implementation also provides
+This implementation also provides functions
 \fBgetbegx\fR,
 \fBgetbegy\fR,
 \fBgetcurx\fR,
@@ -80,8 +79,25 @@ This implementation also provides
 \fBgetparx\fR and
 \fBgetpary\fR
 for compatibility with older versions of curses.
+.PP
+Although X/Open Curses does not address this,
+many implementations provide members of the WINDOW structure
+containing 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).
+.PP
+Besides the problem of opaque structures,
+the data stored in like-named members may not have like-values in
+different 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 implementations.
+The difference is hidden by means of the macro \fBgetmaxyx\fP.
 .SH SEE ALSO
-\fBcurses\fR(3X)
+\fBcurses\fR(3X),
+\fBcurs_legacy\fR(3X),
+\fBcurs_opaque\fR(3X)
 .\"#
 .\"# The following sets edit modes for GNU EMACS
 .\"# Local Variables:
index 1ef20a6..8709d13 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 2002 Free Software Foundation, Inc.                        *
+.\" Copyright (c) 2002,2006 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,8 +26,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_in_wch.3x,v 1.1 2002/03/10 15:08:57 tom Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_in_wch.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_in_wch.3x,v 1.2 2006/02/25 21:42:22 tom Exp $
 .TH curs_in_wch 3X ""
 .SH NAME
 \fBin_wch\fR,
@@ -36,7 +35,7 @@
 \fBwin_wch\fR - extract a complex character and rendition from a window
 .SH SYNOPSIS
 \fB#include <curses.h>\fR
-
+.sp
 \fBint in_wch(cchar_t *\fR\fIwcval\fR\fB);\fR
 .br
 \fBint mvin_wch(int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, cchar_t *\fR\fIwcval\fR\fB);\fR
index 69a432d..b04a1f5 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 2002 Free Software Foundation, Inc.                        *
+.\" Copyright (c) 2002-2005,2006 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_in_wchstr.3x,v 1.2 2002/05/18 21:48:30 tom Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_in_wchstr.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_in_wchstr.3x,v 1.6 2006/12/02 17:03:07 tom Exp $
 .TH curs_in_wchstr 3X ""
+.na
+.hy 0
 .SH NAME
 \fBin_wchstr\fR,
 \fBin_wchnstr\fR,
 \fBmvin_wchnstr\fR,
 \fBmvwin_wchstr\fR,
 \fBmvwin_wchnstr\fR \- get an array of complex characters and renditions from a curses window
+.ad
+.hy
 .SH SYNOPSIS
 .nf
 \fB#include <curses.h>\fR
-
+.sp
 \fBint in_wchstr(cchar_t *\fR\fIwchstr\fR\fB);\fR
 .br
 \fBint in_wchnstr(cchar_t *\fR\fIwchstr\fR\fB, int \fR\fIn\fR\fB);\fR
@@ -107,9 +110,10 @@ returning ERR in that case.
 .SH SEE ALSO
 Functions:
 \fBcurses\fR(3X),
-\fBcurs_in_wch\fR(3X)
+\fBcurs_in_wch\fR(3X),
 \fBcurs_instr\fR(3X),
 \fBcurs_inwstr\fR(3X)
+\fBcurs_inchstr\fR(3X)
 .\"#
 .\"# The following sets edit modes for GNU EMACS
 .\"# Local Variables:
index b74391c..3091b9c 100644 (file)
@@ -1,6 +1,6 @@
 '\" t
 .\"***************************************************************************
-.\" Copyright (c) 1998 Free Software Foundation, Inc.                        *
+.\" Copyright (c) 1998,2006 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_inch.3x,v 1.11 1998/11/29 01:04:34 Rick.Ohnemus Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_inch.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_inch.3x,v 1.13 2006/12/02 16:58:55 tom Exp $
 .TH curs_inch 3X ""
 .SH NAME
 \fBinch\fR, \fBwinch\fR, \fBmvinch\fR, \fBmvwinch\fR
 - get a character and attributes from a \fBcurses\fR window
 .SH SYNOPSIS
 \fB#include <curses.h>\fR
-
+.sp
 \fBchtype inch(void);\fR
 .br
 \fBchtype winch(WINDOW *win);\fR
@@ -50,10 +49,10 @@ 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
 \fB<curses.h>\fR can be used with the \fB&\fR (logical AND) operator to
 extract the character or attributes alone.
-
+.
 .SS Attributes
 The following bit-masks may be AND-ed with characters returned by \fBwinch\fR.
-
+.
 .TS
 l l .
 \fBA_CHARTEXT\fR       Bit-mask to extract character
@@ -66,6 +65,10 @@ Note that all of these routines may be macros.
 These functions are described in the XSI Curses standard, Issue 4.
 .SH SEE ALSO
 \fBcurses\fR(3X).
+.PP
+Comparable functions in the wide-character (ncursesw) library are
+described in
+\fBcurs_in_wch\fR(3X).
 .\"#
 .\"# The following sets edit modes for GNU EMACS
 .\"# Local Variables:
index 034cad2..18c21dc 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
+.\" Copyright (c) 1998-2005,2006 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_inchstr.3x,v 1.8 2000/07/01 20:16:18 tom Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_inchstr.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_inchstr.3x,v 1.12 2006/12/02 17:00:58 tom Exp $
 .TH curs_inchstr 3X ""
+.na
+.hy 0
 .SH NAME
 \fBinchstr\fR,
 \fBinchnstr\fR,
 \fBmvinchnstr\fR,
 \fBmvwinchstr\fR,
 \fBmvwinchnstr\fR - get a string of characters (and attributes) from a \fBcurses\fR window
+.ad
+.hy
 .SH SYNOPSIS
 \fB#include <curses.h>\fR
-
+.sp
 \fBint inchstr(chtype *chstr);\fR
 .br
 \fBint inchnstr(chtype *chstr, int n);\fR
@@ -70,6 +73,11 @@ in the \fIchstr\fR [see \fBcurs_inch\fR(3X)].
 All routines return the integer \fBERR\fR upon failure and an integer value
 other than \fBERR\fR upon successful completion (the number of characters
 retrieved, exclusive of the trailing 0).
+.PP
+No error conditions are defined.
+If the \fIchstr\fP parameter is null,
+no data is returned,
+and the return value is zero.
 .SH NOTES
 Note that all routines except \fBwinchnstr\fR may be macros.  SVr4 does not
 document whether the result string is 0-terminated; it does not document
@@ -81,6 +89,10 @@ more specific than the SVr4 documentation on the trailing 0.  It does specify
 that the successful return of the functions is \fBOK\fR.
 .SH SEE ALSO
 \fBcurses\fR(3X), \fBcurs_inch\fR(3X).
+.PP
+Comparable functions in the wide-character (ncursesw) library are
+described in
+\fBcurs_in_wchstr\fR(3X).
 .\"#
 .\"# The following sets edit modes for GNU EMACS
 .\"# Local Variables:
index fe6b599..1a865f9 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
+.\" Copyright (c) 1998-2003,2005 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_initscr.3x,v 1.12 2003/05/10 20:33:49 jmc Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_initscr.3,v 1.2 2005/08/03 09:56:19 eirikn Exp $
+.\" $Id: curs_initscr.3x,v 1.14 2005/05/15 16:18:01 tom Exp $
 .TH curs_initscr 3X ""
+.na
+.hy 0
 .SH NAME
 \fBinitscr\fR,
 \fBnewterm\fR,
 \fBisendwin\fR,
 \fBset_term\fR,
 \fBdelscreen\fR - \fBcurses\fR screen initialization and manipulation routines
+.ad
+.hy
 .SH SYNOPSIS
 \fB#include <curses.h>\fR
-
+.sp
 \fBWINDOW *initscr(void);\fR
 .br
 \fBint endwin(void);\fR
 .br
 \fBbool isendwin(void);\fR
 .br
-\fBSCREEN *newterm(const char *type, FILE *outfd, FILE *infd);\fR
+\fBSCREEN *newterm(char *type, FILE *outfd, FILE *infd);\fR
 .br
 \fBSCREEN *set_term(SCREEN *new);\fR
 .br
@@ -57,13 +60,13 @@ initializing a program.  A few special routines sometimes need to be
 called before it; these are \fBslk_init\fR, \fBfilter\fR, \fBripoffline\fR,
 \fBuse_env\fR.  For multiple-terminal applications, \fBnewterm\fR may be
 called before \fBinitscr\fR.
-
+.PP
 The initscr code determines the terminal type and initializes all \fBcurses\fR
 data structures.  \fBinitscr\fR also causes the first call to \fBrefresh\fR to
 clear the screen.  If errors occur, \fBinitscr\fR writes an appropriate error
 message to standard error and exits; otherwise, a pointer is returned to
 \fBstdscr\fR.
-
+.PP
 A program that outputs to more than one terminal should use the \fBnewterm\fR
 routine for each terminal instead of \fBinitscr\fR.  A program that needs to
 inspect capabilities, so it can continue to run in a line-oriented mode if the
@@ -77,23 +80,23 @@ is \fBNULL\fR, \fB$TERM\fR will be used).  The program must also call
 \fBendwin\fR for each terminal being used before exiting from \fBcurses\fR.
 If \fBnewterm\fR is called more than once for the same terminal, the first
 terminal referred to must be the last one for which \fBendwin\fR is called.
-
+.PP
 A program should always call \fBendwin\fR before exiting or escaping from
 \fBcurses\fR mode temporarily.  This routine restores tty modes, moves the
 cursor to the lower left-hand corner of the screen and resets the terminal into
 the proper non-visual mode.  Calling \fBrefresh\fR or \fBdoupdate\fR after a
 temporary escape causes the program to resume visual mode.
-
+.PP
 The \fBisendwin\fR routine returns \fBTRUE\fR if \fBendwin\fR has been
 called without any subsequent calls to \fBwrefresh\fR, and \fBFALSE\fR
 otherwise.
-
+.PP
 The \fBset_term\fR routine is used to switch between different
 terminals.  The screen reference \fBnew\fR becomes the new current
 terminal.  The previous terminal is returned by the routine.  This is
 the only routine which manipulates \fBSCREEN\fR pointers; all other
 routines affect only the current terminal.
-
+.PP
 The \fBdelscreen\fR routine frees storage associated with the
 \fBSCREEN\fR data structure.  The \fBendwin\fR routine does not do
 this, so \fBdelscreen\fR should be called after \fBendwin\fR if a
@@ -101,15 +104,19 @@ particular \fBSCREEN\fR is no longer needed.
 .SH RETURN VALUE
 \fBendwin\fR returns the integer \fBERR\fR upon failure and \fBOK\fR
 upon successful completion.
-
+.PP
 Routines that return pointers always return \fBNULL\fR on error.
+.PP
+X/Open defines no error conditions.
+In this implementation
+\fBendwin\fP returns an error if the terminal was not initialized.
 .SH NOTES
 Note that \fBinitscr\fR and \fBnewterm\fR may be macros.
 .SH PORTABILITY
 These functions are described in the XSI Curses standard, Issue 4.  It
 specifies that portable applications must not call \fBinitscr\fR more than
 once.
-
+.PP
 Old versions of curses, e.g., BSD 4.4, may have returned a null pointer
 from \fBinitscr\fR when an error is detected, rather than exiting.
 It is safe but redundant to check the return value of \fBinitscr\fR
index fac9c46..7b5a17b 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
+.\" Copyright (c) 1998-2003,2005 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_inopts.3x,v 1.11 2003/12/27 18:45:42 tom Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_inopts.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_inopts.3x,v 1.13 2005/05/15 16:18:07 tom Exp $
 .TH curs_inopts 3X ""
+.na
+.hy 0
 .SH NAME
-\fBcbreak\fR, \fBnocbreak\fR, \fBecho\fR,
-\fBnoecho\fR, \fBhalfdelay\fR, \fBintrflush\fR, \fBkeypad\fR,
-\fBmeta\fR, \fBnodelay\fR, \fBnotimeout\fR, \fBraw\fR, \fBnoraw\fR,
-\fBnoqiflush\fR, \fBqiflush\fR, \fBtimeout\fR, \fBwtimeout\fR,
+\fBcbreak\fR,
+\fBnocbreak\fR,
+\fBecho\fR,
+\fBnoecho\fR,
+\fBhalfdelay\fR,
+\fBintrflush\fR,
+\fBkeypad\fR,
+\fBmeta\fR,
+\fBnodelay\fR,
+\fBnotimeout\fR,
+\fBraw\fR,
+\fBnoraw\fR,
+\fBnoqiflush\fR,
+\fBqiflush\fR,
+\fBtimeout\fR,
+\fBwtimeout\fR,
 \fBtypeahead\fR - \fBcurses\fR input options
+.ad
+.hy
 .SH SYNOPSIS
 \fB#include <curses.h>\fR
 .PP
@@ -187,6 +202,18 @@ The \fBtypeahead\fR routine specifies that the file descriptor
 All routines that return an integer return \fBERR\fR upon failure and OK (SVr4
 specifies only "an integer value other than \fBERR\fR") upon successful
 completion, unless otherwise noted in the preceding routine descriptions.
+.PP
+X/Open does not define 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,
+.RS
+.TP 5
+\fBhalfdelay\fP
+returns an error
+if its parameter is outside the range 1..255.
+.RE
 .SH PORTABILITY
 These functions are described in the XSI Curses standard, Issue 4.
 .PP
index 29213fa..bb8a9a3 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 2002 Free Software Foundation, Inc.                        *
+.\" Copyright (c) 2002,2006 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,8 +26,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_ins_wch.3x,v 1.2 2002/03/10 23:43:27 tom Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_ins_wch.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_ins_wch.3x,v 1.3 2006/02/25 21:42:22 tom Exp $
 .TH curs_ins_wch 3X ""
 .SH NAME
 \fBins_wch\fR,
@@ -36,7 +35,7 @@
 \fBwins_wch\fR \- insert a complex character and rendition into a window
 .SH SYNOPSIS
 #include <curses.h>
-
+.sp
 \fBint ins_wch(const cchar_t *\fR\fIwch\fR\fB);\fR
 .br
 \fBint wins_wch(WINDOW *\fR\fIwin, const cchar_t *\fR\fIwch\fR\fB);\fR
index a62b4f7..0c153c4 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 2002 Free Software Foundation, Inc.                        *
+.\" Copyright (c) 2002,2005 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_ins_wstr.3x,v 1.2 2002/03/10 23:43:27 tom Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_ins_wstr.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_ins_wstr.3x,v 1.4 2005/05/15 17:02:54 tom Exp $
 .TH curs_ins_wstr 3X ""
+.na
+.hy 0
 .SH NAME
 \fBins_wstr\fR,
 \fBins_nwstr\fR,
 \fBmvins_nwstr\fR,
 \fBmvwins_wstr\fR,
 \fBmvwins_nwstr\fR \- insert a wide-character string into a curses window
+.ad
+.hy
 .SH SYNOPSIS
 .nf
 \fB#include <curses.h>\fR
-
+.sp
 \fBint ins_wstr(const wchar_t *\fR\fIwstr);\fR
 .br
 \fBint ins_nwstr(const wchar_t *\fR\fIwstr\fR\fB, int \fR\fIn\fR\fB);\fR
@@ -70,7 +73,7 @@ The cursor position does not change
 The four routines with \fIn\fR as the last argument
 insert a leading substring of at most \fIn\fR \fBwchar_t\fR characters.
 If \fIn\fR is less than 1, the entire string is inserted.
-
+.PP
 If a character in \fIwstr\fR is a tab, newline, carriage return or
 backspace, the cursor is moved appropriately within the window.
 A newline also does a \fBclrtoeol\fR before moving.
@@ -84,7 +87,7 @@ but instead returns a character in the ^-representation
 of the control character.
 .SH NOTES
 Note that all but wins_nwstr may be macros.
-
+.PP
 If the first character in the string is a nonspacing character, these
 functions will fail.
 XSI does not define what will happen if a nonspacing character follows
index 741d0bb..78ab5a5 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
+.\" Copyright (c) 1998-2003,2006 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,8 +26,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_insch.3x,v 1.8 2003/05/10 20:33:49 jmc Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_insch.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_insch.3x,v 1.10 2006/12/02 17:01:50 tom Exp $
 .TH curs_insch 3X ""
 .SH NAME
 \fBinsch\fR,
@@ -36,7 +35,7 @@
 \fBmvwinsch\fR - insert a character before cursor in a \fBcurses\fR window
 .SH SYNOPSIS
 \fB#include <curses.h>\fR
-
+.sp
 \fBint insch(chtype ch);\fR
 .br
 \fBint winsch(WINDOW *win, chtype ch);\fR
@@ -57,12 +56,16 @@ completion, unless otherwise noted in the preceding routine descriptions.
 .SH NOTES
 These routines do not necessarily imply use of a hardware insert character
 feature.
-
+.PP
 Note that \fBinsch\fR, \fBmvinsch\fR, and \fBmvwinsch\fR may be macros.
 .SH PORTABILITY
 These functions are described in the XSI Curses standard, Issue 4.
 .SH SEE ALSO
 \fBcurses\fR(3X).
+.PP
+Comparable functions in the wide-character (ncursesw) library are
+described in
+\fBcurs_ins_wch\fR(3X).
 .\"#
 .\"# The following sets edit modes for GNU EMACS
 .\"# Local Variables:
index faee5bb..1536ea2 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 1998,2000,2001 Free Software Foundation, Inc.              *
+.\" Copyright (c) 1998-2005,2006 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,8 +26,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_insstr.3x,v 1.12 2001/11/03 19:59:03 tom Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_insstr.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_insstr.3x,v 1.18 2006/12/24 14:59:30 tom Exp $
 .TH curs_insstr 3X ""
 .SH NAME
 \fBinsstr\fR,
 \fBint mvwinsnstr(WINDOW *win, int y, int x, const char *str, int n);\fR
 .br
 .SH DESCRIPTION
-These routines insert a character string (as many characters 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 characters
-on the line being lost.  The cursor position does not change (after moving to
-\fIy\fR, \fIx\fR, if specified). The four routines with \fIn\fR as the last
-argument insert a leading substring of at most \fIn\fR characters.  If
-\fIn\fR<=0, then the entire string is inserted.
-
-If a character in \fIstr\fR is a tab, newline, carriage return or
-backspace, the cursor is moved appropriately within the window.  A
-newline also does a \fBclrtoeol\fR before moving.  Tabs are considered
-to be at every eighth column.  If a character in \fIstr\fR is another
-control character, it is drawn in the \fB^\fR\fIX\fR notation.
-Calling \fBwinch\fR after adding a control character (and moving to
-it, if necessary) does not return the control character, but instead
-returns a character in the ^-representation of the control character.
+These routines insert a character string
+(as many characters 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 characters on the line being lost.
+The cursor position does not change
+(after moving to \fIy\fR, \fIx\fR, if specified).
+The functions with \fIn\fR as the last argument
+insert a leading substring of at most \fIn\fR characters.
+If \fIn\fR<=0, then the entire string is inserted.
+.PP
+Special characters are handled as in \fBaddch\fP.
 .SH RETURN VALUE
 All routines that return an integer return \fBERR\fR upon failure and OK (SVr4
 specifies only "an integer value other than \fBERR\fR") upon successful
 completion, unless otherwise noted in the preceding routine descriptions.
+.PP
+X/Open defines no error conditions.
+In this implementation,
+if the window parameter is null or the str parameter is null,
+an error is returned.
 .SH NOTES
 Note that all but \fBwinsnstr\fR may be macros.
 .SH PORTABILITY
 These functions are described in the XSI Curses standard, Issue 4, which adds
-const qualifiers to the arguments.  The XSI Curses error conditions
-\fBEILSEQ\fR and \fBEILOVERFLOW\fR associated with extended-level conformance
-are not yet detected (this implementation does not yet support XPG4 multibyte
-characters).
+const qualifiers to the arguments.
+.LP
+The Single Unix Specification, Version 2 states that 
+\fBinsnstr\fP and \fBwinsnstr\fP perform wrapping.
+This is probably an error, since it makes this group of functions inconsistent.
+Also, no implementation of curses documents this inconsistency.
 .SH SEE ALSO
-\fBcurses\fR(3X), \fBcurs_clear\fR(3X), \fBcurs_inch\fR(3X).
+\fBcurses\fR(3X),
+\fBcurs_util\fR(3X),
+\fBcurs_clear\fR(3X),
+\fBcurs_inch\fR(3X).
 .\"#
 .\"# The following sets edit modes for GNU EMACS
 .\"# Local Variables:
index 7593380..a93de27 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 1998,2000,2001 Free Software Foundation, Inc.              *
+.\" Copyright (c) 1998-2005,2006 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,8 +26,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_instr.3x,v 1.10 2001/11/03 19:58:56 tom Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_instr.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_instr.3x,v 1.13 2006/02/25 21:49:19 tom Exp $
 .TH curs_instr 3X ""
 .SH NAME
 \fBinstr\fR,
@@ -40,7 +39,7 @@
 \fBmvwinnstr\fR - get a string of characters from a \fBcurses\fR window
 .SH SYNOPSIS
 \fB#include <curses.h>\fR
-
+.sp
 \fBint instr(char *str);\fR
 .br
 \fBint innstr(char *str, int n);\fR
@@ -66,13 +65,14 @@ functions with \fIn\fR as the last argument return a leading substring at most
 .SH RETURN VALUE
 All of the functions return \fBERR\fR upon failure,
 or the number of characters actually read into the string.
+.PP
+X/Open defines no error conditions.
+In this implementation,
+if the window parameter is null or the str parameter is null,
+a zero is returned.
 .SH NOTES
 Note that all routines except \fBwinnstr\fR may be macros.
 .SH PORTABILITY
-The XSI Curses
-error conditions \fBEILSEQ\fR and \fBEILOVERFLOW\fR associated with
-extended-level conformance are not yet detected (this implementation does not
-yet support XPG4 multibyte characters).
 SVr4 does not
 document whether a length limit includes or excludes the trailing NUL.
 .PP
@@ -87,4 +87,3 @@ In this case, the functions return the string ending at the right margin.
 .\"# mode:nroff
 .\"# fill-column:79
 .\"# End:
-
index 5b0d5be..990789c 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 2002 Free Software Foundation, Inc.                        *
+.\" Copyright (c) 2002-2005,2006 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_inwstr.3x,v 1.2 2002/04/13 20:25:35 tom Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_inwstr.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
-.TH curs_inwstr 3 ""
+.\" $Id: curs_inwstr.3x,v 1.5 2006/02/25 21:20:20 tom Exp $
+.TH curs_inwstr 3X ""
 .SH NAME
-.PP
 \fBinwstr\fR,
 \fBinnwstr\fR,
 \fBwinwstr\fR,
@@ -42,7 +40,7 @@
 .SH SYNOPSIS
 .nf
 \fB#include <curses.h> \fR
-
+.sp
 \fBint inwstr(\fR\fBwchar_t *\fR\fIstr\fR\fB);\fR
 .br
 \fBint innwstr(\fR\fBwchar_t *\fR\fIstr\fR\fB, int \fR\fIn\fR\fB);\fR
@@ -84,7 +82,6 @@ routines return
 routines return the
 number of characters read into the string.
 .SH SEE ALSO
-Functions:
 \fBcurses\fR(3X),
 \fBcurs_instr\fR(3X),
 \fBcurs_in_wchstr\fR(3X)
index 192b301..9403973 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 1998 Free Software Foundation, Inc.                        *
+.\" Copyright (c) 1998-2001,2005 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_kernel.3x,v 1.13 2001/12/08 18:01:25 tom Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_kernel.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_kernel.3x,v 1.15 2005/05/15 16:18:13 tom Exp $
 .TH curs_kernel 3X ""
+.na
+.hy 0
 .SH NAME
-\fBdef_prog_mode\fR, \fBdef_shell_mode\fR,
-\fBreset_prog_mode\fR, \fBreset_shell_mode\fR, \fBresetty\fR,
-\fBsavetty\fR, \fBgetsyx\fR, \fBsetsyx\fR, \fBripoffline\fR,
-\fBcurs_set\fR, \fBnapms\fR - low-level \fBcurses\fR routines
+\fBdef_prog_mode\fR,
+\fBdef_shell_mode\fR,
+\fBreset_prog_mode\fR,
+\fBreset_shell_mode\fR,
+\fBresetty\fR,
+\fBsavetty\fR,
+\fBgetsyx\fR,
+\fBsetsyx\fR,
+\fBripoffline\fR,
+\fBcurs_set\fR,
+\fBnapms\fR - low-level \fBcurses\fR routines
+.ad
+.hy
 .SH SYNOPSIS
 \fB#include <curses.h>\fR
-
+.sp
 \fBint def_prog_mode(void);\fR
 .br
 \fBint def_shell_mode(void);\fR
 The following routines give low-level access to various \fBcurses\fR
 capabilities.  Theses routines typically are used inside library
 routines.
-
+.PP
 The \fBdef_prog_mode\fR and \fBdef_shell_mode\fR routines save the
 current terminal modes as the "program" (in \fBcurses\fR) or "shell"
 (not in \fBcurses\fR) state for use by the \fBreset_prog_mode\fR and
 \fBreset_shell_mode\fR routines.  This is done automatically by
 \fBinitscr\fR.  There is one such save area for each screen context
 allocated by \fBnewterm()\fR.
-
+.PP
 The \fBreset_prog_mode\fR and \fBreset_shell_mode\fR routines restore
 the terminal to "program" (in \fBcurses\fR) or "shell" (out of
 \fBcurses\fR) state.  These are done automatically by \fBendwin\fR
 and, after an \fBendwin\fR, by \fBdoupdate\fR, so they normally are
 not called.
-
+.PP
 The \fBresetty\fR and \fBsavetty\fR routines save and restore the
 state of the terminal modes.  \fBsavetty\fR saves the current state in
 a buffer and \fBresetty\fR restores the state to what it was at the
 last call to \fBsavetty\fR.
-
+.PP
 The \fBgetsyx\fR routine returns the current coordinates of the virtual screen
 cursor in \fIy\fR and \fIx\fR.  If \fBleaveok\fR is currently \fBTRUE\fR, then
 \fB-1\fR,\fB-1\fR is returned.  If lines have been removed from the top of the
 screen, using \fBripoffline\fR, \fIy\fR and \fIx\fR include these lines;
 therefore, \fIy\fR and \fIx\fR should be used only as arguments for
 \fBsetsyx\fR.
-
+.PP
 The \fBsetsyx\fR routine sets the virtual screen cursor to
 \fIy\fR, \fIx\fR.  If \fIy\fR and \fIx\fR are both \fB-1\fR, then
 \fBleaveok\fR is set.  The two routines \fBgetsyx\fR and \fBsetsyx\fR
@@ -98,7 +108,7 @@ of the program's cursor.  The library routine would call \fBgetsyx\fR
 at the beginning, do its manipulation of its own windows, do a
 \fBwnoutrefresh\fR on its windows, call \fBsetsyx\fR, and then call
 \fBdoupdate\fR.
-
+.PP
 The \fBripoffline\fR routine provides access to the same facility that
 \fBslk_init\fR [see \fBcurs_slk\fR(3X)] uses to reduce the size of the
 screen.  \fBripoffline\fR must be called before \fBinitscr\fR or
@@ -113,29 +123,45 @@ and \fBCOLS\fR (defined in \fB<curses.h>\fR) are not guaranteed to be
 accurate and \fBwrefresh\fR or \fBdoupdate\fR must not be called.  It
 is allowable to call \fBwnoutrefresh\fR during the initialization
 routine.
-
+.PP
 \fBripoffline\fR can be called up to five times before calling \fBinitscr\fR or
 \fBnewterm\fR.
-
+.PP
 The \fBcurs_set\fR routine sets the cursor state is set to invisible,
 normal, or very visible for \fBvisibility\fR equal to \fB0\fR,
 \fB1\fR, or \fB2\fR respectively.  If the terminal supports the
 \fIvisibility\fR requested, the previous \fIcursor\fR state is
 returned; otherwise, \fBERR\fR is returned.
-
+.PP
 The \fBnapms\fR routine is used to sleep for \fIms\fR milliseconds.
 .SH RETURN VALUE
 Except for \fBcurs_set\fR, these routines always return \fBOK\fR.
-\fBcurs_set\fR returns the previous cursor state, or \fBERR\fR if the
+.PP
+\fBcurs_set\fR
+returns the previous cursor state, or \fBERR\fR if the
 requested \fIvisibility\fR is not supported.
+.PP
+X/Open defines no error conditions.
+In this implementation
+.RS
+.TP 5
+\fBdef_prog_mode\fR, \fBdef_shell_mode\fR, \fBreset_prog_mode\fR, \fBreset_shell_mode\fR
+return an error
+if the terminal was not initialized, or
+if the I/O call to obtain the terminal settings fails.
+.TP 5
+\fBripoffline\fP
+returns an error if the maximum number of ripped-off lines
+exceeds the maximum (NRIPS = 5).
+.RE
 .SH NOTES
 Note that \fBgetsyx\fR is a macro, so \fB&\fR is not necessary before
 the variables \fIy\fR and \fIx\fR.
-
+.PP
 Older SVr4 man pages warn that the return value of \fBcurs_set\fR "is currently
 incorrect".  This implementation gets it right, but it may be unwise to count
 on the correctness of the return value anywhere else.
-
+.PP
 Both ncurses and SVr4 will call \fBcurs_set\fR in \fBendwin\fR
 if \fBcurs_set\fR
 has been called to make the cursor other than normal, i.e., either
@@ -145,7 +171,7 @@ restore that.
 .SH PORTABILITY
 The functions \fBsetsyx\fR and \fBgetsyx\fR are not described in the XSI
 Curses standard, Issue 4.  All other functions are as described in XSI Curses.
-
+.PP
 The SVr4 documentation describes \fBsetsyx\fR and \fBgetsyx\fR as having return
 type int. This is misleading, as they are macros with no documented semantics
 for the return value.
similarity index 61%
copy from lib/libncurses/man/curs_getyx.3
copy to lib/libncurses/man/curs_legacy.3
index 3ec7299..251ae49 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
+.\" Copyright (c) 2007 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_getyx.3x,v 1.10 2003/05/10 20:33:49 jmc Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_getyx.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
-.TH curs_getyx 3X ""
+.\" $Id: curs_legacy.3x,v 1.1 2007/04/07 23:54:29 tom Exp $
+.TH curs_legacy 3X ""
 .SH NAME
-\fBgetyx\fR,
-\fBgetparyx\fR,
-\fBgetbegyx\fR,
-\fBgetmaxyx\fR - get \fBcurses\fR cursor and window coordinates
+\fBgetbegx\fR,
+\fBgetbegy\fR,
+\fBgetcurx\fR,
+\fBgetcury\fR,
+\fBgetmaxx\fR,
+\fBgetmaxy\fR,
+\fBgetparx\fR,
+\fBgetpary\fR - get \fBcurses\fR cursor and window coordinates
 .SH SYNOPSIS
 \fB#include <curses.h>\fR
-
-\fBvoid getyx(WINDOW *win, int y, int x);\fR
+.sp
+\fBint getbegx(WINDOW *win);\fR
+.br
+\fBint getbegy(WINDOW *win);\fR
+.br
+\fBint getcurx(WINDOW *win);\fR
+.br
+\fBint getcury(WINDOW *win);\fR
+.br
+\fBint getmaxx(WINDOW *win);\fR
 .br
-\fBvoid getparyx(WINDOW *win, int y, int x);\fR
+\fBint getmaxy(WINDOW *win);\fR
 .br
-\fBvoid getbegyx(WINDOW *win, int y, int x);\fR
+\fBint getparx(WINDOW *win);\fR
 .br
-\fBvoid getmaxyx(WINDOW *win, int y, int x);\fR
+\fBint getpary(WINDOW *win);\fR
 .br
 .SH DESCRIPTION
-The \fBgetyx\fR macro places the current cursor position of the given window in
-the two integer variables \fIy\fR and \fIx\fR.
-
-If \fIwin\fR is a subwindow, the \fBgetparyx\fR macro places the beginning
-coordinates of the subwindow relative to the parent window into two integer
-variables \fIy\fR and \fIx\fR.
-Otherwise, \fB-1\fR is placed into \fIy\fR and \fIx\fR.
-
-Like \fBgetyx\fR, the \fBgetbegyx\fR and \fBgetmaxyx\fR macros store
-the current beginning coordinates and size of the specified window.
+The \fBgetbegy\fR and \fBgetbegx\fR functions return the same
+data as \fBgetbegyx\fR.
+.PP
+The \fBgetcury\fR and \fBgetcurx\fR functions return the same
+data as \fBgetyx\fR.
+.PP
+The \fBgetmaxy\fR and \fBgetmaxx\fR functions return the same
+data as \fBgetmaxyx\fR.
+.PP
+The \fBgetpary\fR and \fBgetparx\fR functions return the same
+data as \fBgetparyx\fR.
 .SH RETURN VALUE
-The return values of these macros are undefined (i.e.,
-they should not be used as the right-hand side of assignment statements).
+These functions return an integer,
+or ERR if the window parameter is null.
 .SH NOTES
-All of these interfaces are macros.
-A "\fB&\fR" is not necessary before the variables \fIy\fR and \fIx\fR.
+All of these interfaces are provided as macros and functions.
+The macros are suppressed (and only the functions provided)
+when \fBNCURSES_OPAQUE\fR is defined.
+The standard forms such as \fBgetyx\fP 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.
 .SH PORTABILITY
-The
-\fBgetyx\fR,
-\fBgetparyx\fR,
-\fBgetbegyx\fR and
-\fBgetmaxyx\fR
-functions are described in the XSI Curses standard, Issue 4.
-.PP
-This implementation also provides
-\fBgetbegx\fR,
-\fBgetbegy\fR,
-\fBgetcurx\fR,
-\fBgetcury\fR,
-\fBgetmaxx\fR,
-\fBgetmaxy\fR,
-\fBgetparx\fR and
-\fBgetpary\fR
-for compatibility with older versions of curses.
+These functions were supported on Version 7, BSD or System V implementations.
 .SH SEE ALSO
-\fBcurses\fR(3X)
+\fBcurses\fR(3X),
+\fBcurs_getyx\fR(3X),
+\fBcurs_opaque\fR(3X)
 .\"#
 .\"# The following sets edit modes for GNU EMACS
 .\"# Local Variables:
similarity index 61%
copy from lib/libncurses/man/curs_insch.3
copy to lib/libncurses/man/curs_memleaks.3
index 741d0bb..a8a4552 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
+.\" Copyright (c) 2008 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_insch.3x,v 1.8 2003/05/10 20:33:49 jmc Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_insch.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
-.TH curs_insch 3X ""
+.\" $Id: curs_memleaks.3x,v 1.1 2008/10/25 23:38:13 tom Exp $
+.TH curs_memleaks 3X ""
+.na
+.hy 0
 .SH NAME
-\fBinsch\fR,
-\fBwinsch\fR,
-\fBmvinsch\fR,
-\fBmvwinsch\fR - insert a character before cursor in a \fBcurses\fR window
+\fB_nc_freeall\fP
+\fB_nc_free_and_exit\fP - \fBcurses\fR memory-leak checking
+.ad
+.hy
 .SH SYNOPSIS
 \fB#include <curses.h>\fR
-
-\fBint insch(chtype ch);\fR
-.br
-\fBint winsch(WINDOW *win, chtype ch);\fR
-.br
-\fBint mvinsch(int y, int x, chtype ch);\fR
-.br
-\fBint mvwinsch(WINDOW *win, int y, int x, chtype ch);\fR
+.sp
+\fBvoid _nc_freeall(void);\fR
 .br
+\fBvoid _nc_free_and_exit(int);\fR
 .SH DESCRIPTION
-These routines insert the character \fIch\fR before the character under the
-cursor.  All characters 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.
+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 \fB--disable-leaks\fP option.
+That compiles-in code that frees memory that normally would not be freed.
+.PP
+Any implementation of curses must not free the memory associated with
+a screen, since (even after calling \fBendwin\fP), it must be available
+for use in the next call to \fBrefresh\fP.
+There are also chunks of memory held for performance reasons.
+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.
+.PP
+The \fP_nc_free_and_exit\fP 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 \fPexit\fP routine.
 .SH RETURN VALUE
-All routines that return an integer return \fBERR\fR upon failure and OK (SVr4
-specifies only "an integer value other than \fBERR\fR") upon successful
-completion, unless otherwise noted in the preceding routine descriptions.
-.SH NOTES
-These routines do not necessarily imply use of a hardware insert character
-feature.
-
-Note that \fBinsch\fR, \fBmvinsch\fR, and \fBmvwinsch\fR may be macros.
+These functions do not return a value.
 .SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4.
+These functions are not part of the XSI interface.
 .SH SEE ALSO
 \fBcurses\fR(3X).
 .\"#
index 46836db..23f9f9c 100644 (file)
@@ -1,6 +1,6 @@
 '\" t
 .\"***************************************************************************
-.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
+.\" Copyright (c) 1998-2005,2006 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_mouse.3x,v 1.24 2003/12/27 18:47:54 tom Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_mouse.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_mouse.3x,v 1.30 2006/12/30 23:43:34 tom Exp $
 .TH curs_mouse 3X ""
+.na
+.hy 0
 .SH NAME
 \fBgetmouse\fR, \fBungetmouse\fR,
 \fBmousemask\fR, \fBwenclose\fR,
 \fBmouse_trafo\fR, \fBwmouse_trafo\fR,
 \fBmouseinterval\fR - mouse interface through curses
+.ad
+.hy
 .SH SYNOPSIS
 .nf
 \fB#include <curses.h>
@@ -86,7 +89,7 @@ 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.
 .PP
-Here are the mouse event type masks:
+Here are the mouse event type masks which may be defined:
 .PP
 .TS
 l l
@@ -98,26 +101,37 @@ 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
 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
+_
 .TE
 .PP
 Once a class of mouse events have been made visible in a window,
@@ -144,22 +158,23 @@ if it is and FALSE otherwise.
 It is useful for determining what subset of
 the screen windows enclose the location of a mouse event.
 .PP
-The \fBwmouse_trafo\fR function transforms a given pair of coordinates from
-stdscr-relative coordinates to screen-relative coordinates or vice versa.
+The \fBwmouse_trafo\fR function transforms a given pair of coordinates
+from stdscr-relative coordinates
+to coordinates relative to the given window or vice versa.
 Please remember, that stdscr-relative coordinates are not always identical
-to screen-relative coordinates due to the mechanism to reserve lines on top
-or bottom of the screen for other purposes (ripoff() call, see also slk_...
-functions).
+to window-relative coordinates due to the mechanism to reserve lines on top
+or bottom of the screen for other purposes
+(see the \fBripoffline()\fP and \fBslk_init\fR calls, for example).
 If the parameter \fBto_screen\fR is \fBTRUE\fR, the pointers
-\fBpY, pX\fR must reference the coordinates of a location inside the window
-\fBwin\fR.
-They are converted to screen-relative coordinates and returned
+\fBpY, pX\fR must reference the coordinates of a location
+inside the window \fBwin\fR.
+They are converted to window-relative coordinates and returned
 through the pointers.
 If the conversion was successful, the function returns \fBTRUE\fR.
 If one of the parameters was NULL or the location is
 not inside the window, \fBFALSE\fR is returned.
 If \fBto_screen\fR is
-\fBFALSE\fR, the pointers \fBpY, pX\fR must reference screen-relative
+\fBFALSE\fR, the pointers \fBpY, pX\fR must reference window-relative
 coordinates.
 They are converted to stdscr-relative coordinates if the
 window \fBwin\fR encloses this point.
@@ -170,11 +185,16 @@ Please notice, that the referenced coordinates
 are only replaced by the converted coordinates if the transformation was
 successful.
 .PP
+The \fBmouse_trafo\fR function performs the same translation
+as \fBwmouse_trafo\fR,
+using stdscr for \fBwin\fR.
+.PP
 The \fBmouseinterval\fR function sets the maximum time (in thousands of a
 second) that can elapse between press and release events for them to
 be recognized as a click.
-Use \fBmouseinterval(-1)\fR to disable click resolution.
+Use \fBmouseinterval(0)\fR to disable click resolution.
 This function returns the previous interval value.
+Use \fBmouseinterval(-1)\fR to obtain the interval without altering it.
 The default is one sixth of a second.
 .PP
 Note that mouse events will be ignored when input is in cooked mode, and will
@@ -182,11 +202,28 @@ cause an error beep when cooked mode is being simulated in a window by a
 function such as \fBgetstr\fR that expects a linefeed for input-loop
 termination.
 .SH RETURN VALUE
-\fBgetmouse\fR, \fBungetmouse\fR and \fBmouseinterval\fR
+\fBgetmouse\fR and \fBungetmouse\fR
 return the integer \fBERR\fR upon failure or \fBOK\fR
 upon successful completion.
-\fBmousemask\fR returns the
-mask of reportable events.
+.RS
+.TP 5
+\fBgetmouse\fP
+returns an error.
+If no mouse driver was initialized, or
+if the mask parameter is zero,
+.TP 5
+\fBungetmouse\fP
+returns an error if the FIFO is full.
+.RE
+.PP
+\fBmousemask\fR
+returns the mask of reportable events.
+.PP
+\fBmouseinterval\fR
+returns the previous interval value, unless
+the terminal was not initialized.
+In that case, it returns the maximum interval value (166).
+.PP
 \fBwenclose\fR and \fBwmouse_trafo\fR
 are boolean functions returning \fBTRUE\fR or \fBFALSE\fR depending
 on their test result.
@@ -195,9 +232,22 @@ These calls were designed for \fBncurses\fR(3X), and are not found in SVr4
 curses, 4.4BSD curses, or any other previous version of curses.
 .PP
 The feature macro \fBNCURSES_MOUSE_VERSION\fR is provided so the preprocessor
-can be used to test whether these features are present (its value is 1).
+can be used to test whether these features are present.
 If the interface is changed, the value of \fBNCURSES_MOUSE_VERSION\fR will be
 incremented.
+These values for \fBNCURSES_MOUSE_VERSION\fR may be
+specified when configuring ncurses:
+.RS
+.TP 3
+1
+has definitions for reserved events.
+The mask uses 28 bits.
+.TP 3
+2
+adds definitions for button 5,
+removes the definitions for reserved events.
+The mask uses 29 bits.
+.RE
 .PP
 The order of the \fBMEVENT\fR structure members is not guaranteed.
 Additional fields may be added to the structure in the future.
@@ -214,7 +264,7 @@ OS/2 EMX
 .RE
 If you are using an unsupported configuration,
 mouse events will not be visible to
-\fBncurses\fR(3X) (and the \fBwmousemask\fR function will always
+\fBncurses\fR(3X) (and the \fBmousemask\fR function will always
 return \fB0\fR).
 .PP
 If the terminfo entry contains a \fBXM\fR string,
@@ -231,14 +281,17 @@ for use with touch screens (which may be pressure-sensitive) or with
 3D-mice/trackballs/power gloves.
 .SH BUGS
 Mouse events under xterm will not in fact be ignored during cooked mode,
-if they have been enabled by \fBwmousemask\fR.
+if they have been enabled by \fBmousemask\fR.
 Instead, the xterm mouse
 report sequence will appear in the string read.
 .PP
 Mouse events under xterm will not be detected correctly in a window with
 its keypad bit off, since they are interpreted as a variety of function key.
-Your terminfo description must have \fBkmous\fR set to "\\E[M" (the beginning
-of the response from xterm for mouse clicks).
+Your terminfo description should have \fBkmous\fR set to "\\E[M"
+(the beginning of the response from xterm for mouse clicks).
+Other values for \fBkmous\fR are permitted,
+but under the same assumption,
+i.e., it is the beginning of the response.
 .PP
 Because there are no standard terminal responses that would serve to identify
 terminals which support the xterm mouse protocol, \fBncurses\fR assumes that
@@ -246,7 +299,9 @@ if your $TERM environment variable contains "xterm",
 or \fBkmous\fR is defined in
 the terminal description, then the terminal may send mouse events.
 .SH SEE ALSO
-\fBcurses\fR(3X).
+\fBcurses\fR(3X),
+\fBcurs_kernel\fR(3X),
+\fBcurs_slk\fR(3X).
 .\"#
 .\"# The following sets edit modes for GNU EMACS
 .\"# Local Variables:
index 55341ee..8046377 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 1998,2001 Free Software Foundation, Inc.                   *
+.\" Copyright (c) 1998-2005,2006 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_move.3x,v 1.7 2001/11/03 19:58:47 tom Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_move.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_move.3x,v 1.12 2006/02/25 21:49:19 tom Exp $
 .TH curs_move 3X ""
+.na
+.hy 0
 .SH NAME
-\fBmove\fR, \fBwmove\fR - move \fBcurses\fR window cursor
+\fBmove\fR,
+\fBwmove\fR - move \fBcurses\fR window cursor
+.ad
+.hy
 .SH SYNOPSIS
 \fB#include <curses.h>\fR
-
+.sp
 \fBint move(int y, int x);\fR
 .br
 \fBint wmove(WINDOW *win, int y, int x);\fR
@@ -47,13 +51,14 @@ left-hand corner of the window, which is (0,0).
 These routines return \fBERR\fR upon failure and OK (SVr4
 specifies only "an integer value other than \fBERR\fR") upon successful
 completion.
+.PP
+Specifically, they return an error
+if the window pointer is null, or
+if the position is outside the window.
 .SH NOTES
 Note that \fBmove\fR may be a macro.
 .SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4.  The
-standard specifies that if (y,x) is within a multi-column character, the cursor
-is moved to the first column of that character; however, this implementation
-does not yet support the extended-level XSI multibyte characters.
+These functions are described in the XSI Curses standard, Issue 4.
 .SH SEE ALSO
 \fBcurses\fR(3X), \fBcurs_refresh\fR(3X)
 .\"#
similarity index 50%
copy from lib/libncurses/man/form_field_opts.3
copy to lib/libncurses/man/curs_opaque.3
index 7d0089b..6c9cfaa 100644 (file)
@@ -1,6 +1,5 @@
-'\" t
 .\"***************************************************************************
-.\" Copyright (c) 1998,2003 Free Software Foundation, Inc.                   *
+.\" Copyright (c) 2007 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: form_field_opts.3x,v 1.8 2003/05/10 20:33:49 jmc Exp $
-.\" $DragonFly: src/lib/libncurses/man/form_field_opts.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
-.TH form_field_opts 3X ""
+.\" $Id: curs_opaque.3x,v 1.6 2007/09/08 18:49:13 tom Exp $
+.TH curs_opaque 3X ""
+.na
+.hy 0
 .SH NAME
-\fBform_field_opts\fR - set and get field options
+\fBis_cleared\fR,
+\fBis_idlok\fR,
+\fBis_idcok\fR,
+\fBis_immedok\fR,
+\fBis_keypad\fR,
+\fBis_leaveok\fR,
+\fBis_nodelay\fR,
+\fBis_timeout\fR,
+\fBis_scrollok\fR,
+\fBis_syncok\fR - \fBcurses\fR window properties
+.ad
+.hy
 .SH SYNOPSIS
-\fB#include <form.h>\fR
+\fB#include <curses.h>\fR
+.sp
+\fBbool is_cleared(const WINDOW *win);\fR
 .br
-int set_field_opts(FIELD *field, OPTIONS opts);
+\fBbool is_idcok(const WINDOW *win);\fR
 .br
-int field_opts_on(FIELD *field, OPTIONS opts);
+\fBbool is_idlok(const WINDOW *win);\fR
 .br
-int field_opts_off(FIELD *field, OPTIONS opts);
+\fBbool is_immedok(const WINDOW *win);\fR
 .br
-OPTIONS field_opts(const FIELD *field);
+\fBbool is_keypad(const WINDOW *win);\fR
+.br
+\fBbool is_leaveok(const WINDOW *win);\fR
+.br
+\fBbool is_nodelay(const WINDOW *win);\fR
+.br
+\fBbool is_notimeout(const WINDOW *win);\fR
+.br
+\fBbool is_scrollok(const WINDOW *win);\fR
+.br
+\fBbool is_syncok(const WINDOW *win);\fR
+.br
+\fBWINDOW * wgetparent(const WINDOW *win);\fR
+.br
+\fBint wgetscrreg(const WINDOW *win, int *top, int *bottom);\fR
 .br
 .SH DESCRIPTION
-The function \fBset_field_opts\fR sets all the given field's option bits (field
-option bits may be logically-OR'ed together).
-
-The function \fBfield_opts_on\fR turns on the given option bits, and leaves
-others alone.
-
-The function \fBfield_opts_off\fR turns off the given option bits, and leaves
-others alone.
-
-The function \fBfield_opts\fR returns the field's current option bits.
-
-The following options are defined (all are on by default):
+This implementation provides functions which return properties
+set in the WINDOW structure, allowing it to be ``opaque'' if
+the symbol \fBNCURSES_OPAQUE\fR is defined:
 .TP 5
-O_VISIBLE
-The field is displayed.  If this option is off, display of the field is
-suppressed.
+\fBis_cleared\fR
+returns the value set in \fBclearok\fR
 .TP 5
-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.
+\fBis_idcok\fR
+returns the value set in \fBidcok\fR
 .TP 5
-O_PUBLIC
-The field contents are displayed as data is entered.
+\fBis_idlok\fR
+returns the value set in \fBidlok\fR
 .TP 5
-O_EDIT
-The field can be edited.
+\fBis_immedok\fR
+returns the value set in \fBimmedok\fR
 .TP 5
-O_WRAP
-Words that don't fit on a line are wrapped to the next line.  Words are
-blank-separated.
+\fBis_keypad\fR
+returns the value set in \fBkeypad\fR
 .TP 5
-O_BLANK
-The field is cleared whenever a character is entered at the first position.
+\fBis_leaveok\fR
+returns the value set in \fBleaveok\fR
 .TP 5
-O_AUTOSKIP
-Skip to the next field when this one fills.
+\fBis_nodelay\fR
+returns the value set in \fBnodelay\fR
 .TP 5
-O_NULLOK
-Allow a blank field.
+\fBis_notimeout\fR
+returns the value set in \fBnotimeout\fR
 .TP 5
-O_STATIC
-Field buffers are fixed to field's original size.
+\fBis_scrollok\fR
+returns the value set in \fBscrollok\fR
 .TP 5
-O_PASSOK
-Validate field only if modified by user.
-.SH RETURN VALUE
-Except for \fBfield_opts\fR, each routine returns one of the following:
-.TP 5
-\fBE_OK\fR
-The routine succeeded.
-.TP 5
-\fBE_SYSTEM_ERROR\fR
-System error occurred (see \fBerrno\fR).
+\fBis_syncok\fR
+returns the value set in \fBsyncok\fR
 .TP 5
-\fBE_CURRENT\fR
-The field is the current field.
-.SH SEE ALSO
-\fBcurses\fR(3X), \fBform\fR(3X).
+\fBwgetparent\fR
+returns the parent WINDOW pointer for subwindows,
+or NULL for windows having no parent.
 .TP 5
+\fBwgetscrreg\fR
+returns the top and bottom rows for the scrolling margin as set in \fBwsetscrreg\fP.
+.SH RETURN VALUE
+These functions all return TRUE or FALSE, except as noted.
 .SH NOTES
-The header file \fB<form.h>\fR automatically includes the header file
-\fB<curses.h>\fR.
+Both a macro and a function are provided for each name.
 .SH PORTABILITY
-These routines emulate the System V forms library.  They were not supported on
-Version 7 or BSD versions.
-.SH AUTHORS
-Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric
-S. Raymond.
+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 extensions
+be conditioned using NCURSES_VERSION.
+.SH SEE ALSO
+\fBcurses\fR(3X),
+\fBcurs_inopts\fR(3X),
+\fBcurs_outopts\fR(3X),
+\fBcurs_window\fR(3X)
 .\"#
 .\"# The following sets edit modes for GNU EMACS
 .\"# Local Variables:
index 7e8f3e0..3fd437a 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 1998-2001,2003 Free Software Foundation, Inc.              *
+.\" Copyright (c) 1998-2005,2007 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_outopts.3x,v 1.18 2003/05/10 20:33:49 jmc Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_outopts.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_outopts.3x,v 1.21 2007/06/02 20:40:07 tom Exp $
 .TH curs_outopts 3X ""
+.na
+.hy 0
 .SH NAME
-\fBclearok\fR, \fBidlok\fR, \fBidcok\fR, \fBimmedok\fR,
-\fBleaveok\fR, \fBsetscrreg\fR, \fBwsetscrreg\fR, \fBscrollok\fR,
-\fBnl\fR, \fBnonl\fR - \fBcurses\fR output options
+\fBclearok\fR,
+\fBidlok\fR,
+\fBidcok\fR,
+\fBimmedok\fR,
+\fBleaveok\fR,
+\fBsetscrreg\fR,
+\fBwsetscrreg\fR,
+\fBscrollok\fR,
+\fBnl\fR,
+\fBnonl\fR - \fBcurses\fR output options
+.ad
+.hy
 .SH SYNOPSIS
 \fB#include <curses.h>\fR
-
+.sp
 \fBint clearok(WINDOW *win, bool bf);\fR
 .br
 \fBint idlok(WINDOW *win, bool bf);\fR
@@ -61,7 +71,7 @@ These routines set options that change the style of output within
 \fBcurses\fR.
 All options are initially \fBFALSE\fR, unless otherwise stated.
 It is not necessary to turn these options off before calling \fBendwin\fR.
-
+.PP
 If \fBclearok\fR is called with \fBTRUE\fR as argument, the next
 call to \fBwrefresh\fR with this window will clear the screen completely and
 redraw the entire screen from scratch.
@@ -71,7 +81,7 @@ If
 the \fIwin\fR argument to \fBclearok\fR is the global variable \fBcurscr\fR,
 the next call to \fBwrefresh\fR with any window causes the screen to be cleared
 and repainted from scratch.
-
+.PP
 If \fBidlok\fR is called with \fBTRUE\fR as second argument, \fBcurses\fR
 considers using the hardware insert/delete line feature of terminals so
 equipped.
@@ -81,31 +91,31 @@ 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 isn't really needed.
+when used in applications where it is not really needed.
 If insert/delete line
 cannot be used, \fBcurses\fR redraws the changed portions of all lines.
-
+.PP
 If \fBidcok\fR is called with \fBFALSE\fR as second argument, \fBcurses\fR
 no longer considers using the hardware insert/delete character feature of
 terminals so equipped.
 Use of character insert/delete is enabled by default.
 Calling \fBidcok\fR with \fBTRUE\fR as second argument re-enables use
 of character insertion and deletion.
-
+.PP
 If \fBimmedok\fR is called with \fBTRUE as argument\fR, any change
 in the window image, such as the ones caused by \fBwaddch, wclrtobot, wscrl\fR,
 etc., automatically cause a call to \fBwrefresh\fR.
 However, it may
 degrade performance considerably, due to repeated calls to \fBwrefresh\fR.
 It is disabled by default.
-
+.PP
 Normally, the hardware cursor is left at the location of the window cursor
 being refreshed.
 The \fBleaveok\fR 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.
-
+.PP
 The \fBsetscrreg\fR and \fBwsetscrreg\fR routines allow the application
 programmer to set a software scrolling region in a window.
 \fItop\fR and
@@ -122,7 +132,7 @@ terminal, like that in the VT100.
 If \fBidlok\fR is enabled and the terminal
 has either a scrolling region or insert/delete line capability, they will
 probably be used by the output routines.)
-
+.PP
 The \fBscrollok\fR 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
@@ -132,7 +142,7 @@ line.
 If enabled, (\fIbf\fR is \fBTRUE\fR), the window is scrolled up one line
 (Note that to get the physical scrolling effect on the terminal, it is
 also necessary to call \fBidlok\fR).
-
+.PP
 The \fBnl\fR and \fBnonl\fR 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
@@ -149,30 +159,48 @@ The functions \fBsetscrreg\fR and \fBwsetscrreg\fR return \fBOK\fR upon success
 and \fBERR\fR upon failure.
 All other routines that return an integer always
 return \fBOK\fR.
+.PP
+X/Open does not define any error conditions.
+.PP
+In this implementation, those functions that have a window pointer
+will return an error if the window pointer is null.
+.RS
+.TP 5
+.B wclrtoeol
+returns an error
+if the cursor position is about to wrap.
+.TP 5
+.B wsetscrreg
+returns an error if the scrolling region limits extend outside the window.
+.RE
+.PP
+X/Open does not define any error conditions.
+This implementation returns an error
+if the window pointer is null.
 .SH PORTABILITY
 These functions are described in the XSI Curses standard, Issue 4.
-
+.PP
 The XSI Curses standard is ambiguous on the question of whether \fBraw\fR()
 should disable the CRLF translations controlled by \fBnl\fR() and \fBnonl\fR().
 BSD curses did turn off these translations; AT&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 does not mess with.
-
+system will not alter.
+.PP
 Some historic curses implementations had, as an undocumented feature, the
 ability to do the equivalent of \fBclearok(..., 1)\fR by saying
 \fBtouchwin(stdscr)\fR or \fBclear(stdscr)\fR.
 This will not work under
 ncurses.
-
+.PP
 Earlier System V curses implementations specified that with \fBscrollok\fR
 enabled, any window modification triggering a scroll also forced a physical
 refresh.
 XSI Curses does not require this, and \fBncurses\fR avoids doing
 it to perform better vertical-motion optimization at \fBwrefresh\fR
 time.
-
+.PP
 The XSI Curses standard does not mention that the cursor should be
 made invisible as a side-effect of \fBleaveok\fR.
 SVr4 curses documentation does this, but the code does not.
@@ -180,7 +208,7 @@ Use \fBcurs_set\fR to make the cursor invisible.
 .SH NOTES
 Note that \fBclearok\fR, \fBleaveok\fR, \fBscrollok\fR, \fBidcok\fR, \fBnl\fR,
 \fBnonl\fR and \fBsetscrreg\fR may be macros.
-
+.PP
 The \fBimmedok\fR routine is useful for windows that are used as terminal
 emulators.
 .SH SEE ALSO
index 4bfde21..066c3a4 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 1998,2000,2001 Free Software Foundation, Inc.              *
+.\" Copyright (c) 1998-2005,2006 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_overlay.3x,v 1.11 2002/07/20 14:53:00 tom Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_overlay.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_overlay.3x,v 1.14 2006/02/25 21:49:19 tom Exp $
 .TH curs_overlay 3X ""
+.na
+.hy 0
 .SH NAME
 \fBoverlay\fR,
 \fBoverwrite\fR,
 \fBcopywin\fR - overlay and manipulate overlapped \fBcurses\fR windows
+.ad
+.hy
 .SH SYNOPSIS
 \fB#include <curses.h>\fR
-
+.sp
 \fBint overlay(const WINDOW *srcwin, WINDOW *dstwin);\fR
 .br
 \fBint overwrite(const WINDOW *srcwin, WINDOW *dstwin);\fR
@@ -49,7 +52,7 @@ top of \fIdstwin\fR.  \fIscrwin\fR and \fIdstwin\fR are not required
 to be the same size; only text where the two windows overlap is
 copied.  The difference is that \fBoverlay\fR is non-destructive
 (blanks are not copied) whereas \fBoverwrite\fR is destructive.
-
+.PP
 The \fBcopywin\fR routine provides a finer granularity of control over the
 \fBoverlay\fR and \fBoverwrite\fR routines.  Like in the \fBprefresh\fR
 routine, a rectangle is specified in the destination window, (\fIdminrow\fR,
@@ -61,6 +64,13 @@ argument \fIoverlay\fR is \fBtrue\fR, then copying is non-destructive, as in
 Routines that return an integer return \fBERR\fR upon failure, and \fBOK\fR
 (SVr4 only specifies "an integer value other than \fBERR\fR") upon successful
 completion.
+.PP
+X/Open defines no error conditions.
+In this implementation,
+\fBcopywin\fP,
+\fBoverlay\fP and \fBoverwrite\fP return an error
+if either of the window pointers are null, or
+if some part of the window would be placed off-screen.
 .SH NOTES
 Note that \fBoverlay\fR and \fBoverwrite\fR may be macros.
 .SH PORTABILITY
index 34e5a4e..c722207 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 1998-2003,2004 Free Software Foundation, Inc.              *
+.\" Copyright (c) 1998-2004,2005 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_pad.3x,v 1.12 2004/01/04 01:36:49 tom Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_pad.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_pad.3x,v 1.14 2005/05/15 16:18:43 tom Exp $
 .TH curs_pad 3X ""
+.na
+.hy 0
 .SH NAME
-\fBnewpad\fR, \fBsubpad\fR, \fBprefresh\fR,
+\fBnewpad\fR,
+\fBsubpad\fR,
+\fBprefresh\fR,
 \fBpnoutrefresh\fR,
-\fBpechochar\fR, \fBpecho_wchar\fR - create and display \fBcurses\fR pads
+\fBpechochar\fR,
+\fBpecho_wchar\fR - create and display \fBcurses\fR pads
+.ad
+.hy
 .SH SYNOPSIS
 \fB#include <curses.h>\fR
 .sp
@@ -120,6 +126,28 @@ completion.
 .PP
 Routines that return pointers return \fBNULL\fR on error, and set \fBerrno\fR
 to \fBENOMEM\fR.
+.PP
+X/Open does not define any error conditions.
+In this implementation
+.RS
+.TP 5
+\fBprefresh\fP and \fBpnoutrefresh\fP
+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.
+.TP 5
+\fBpechochar\fP
+returns an error
+if the window is not really a pad, and the associated call
+to \fBwechochar\fP returns an error.
+.TP 5
+\fBpecho_wchar\fP
+returns an error
+if the window is not really a pad, and the associated call
+to \fBwecho_wchar\fP returns an error.
+.RE
 .SH NOTES
 Note that \fBpechochar\fR may be a macro.
 .SH PORTABILITY
index 3e58fb8..92b9ca2 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
+.\" Copyright (c) 1998-2005,2006 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_print.3x,v 1.6 2003/05/10 20:33:49 jmc Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_print.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_print.3x,v 1.8 2006/02/25 21:49:19 tom Exp $
 .TH curs_print 3X ""
 .SH NAME
 \fBmcprint\fR - ship binary data to printer
 .SH SYNOPSIS
 \fB#include <curses.h>\fR
-
+.sp
 \fBint mcprint(char *data, int len);\fR
 .SH DESCRIPTION
 This function uses the \fBmc5p\fR or \fBmc4\fR and \fBmc5\fR capabilities,
 if they are present, to ship given data to a printer attached to the terminal.
-
+.PP
 Note that the \fBmcprint\fR 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.
-
+.
 .SH RETURN VALUE
 The \fBmcprint\fR function returns \fBERR\fR if the write operation aborted
 for some reason.  In this case, errno will contain either an error associated
 with \fBwrite(2)\fR or one of the following:
 .TP 5
 ENODEV
-Capabilities for printer redirection don't exist.
+Capabilities for printer redirection do not exist.
 .TP 5
 ENOMEM
 Couldn't allocate sufficient memory to buffer the printer write.
-
+.PP
 When \fBmcprint\fR succeeds, it returns the number of characters actually
 sent to the printer.
 .SH PORTABILITY
index 25375d1..ead0f18 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
+.\" Copyright (c) 1998-2005,2006 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_printw.3x,v 1.13 2002/11/16 22:28:57 tom Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_printw.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_printw.3x,v 1.17 2006/12/24 16:05:17 tom Exp $
 .TH curs_printw 3X ""
+.na
+.hy 0
 .SH NAME
 \fBprintw\fR,
 \fBwprintw\fR,
 \fBmvprintw\fR,
 \fBmvwprintw\fR,
 \fBvwprintw\fR, \fBvw_printw\fR - print formatted output in \fBcurses\fR windows
+.ad
+.hy
 .SH SYNOPSIS
 \fB#include <curses.h>\fR
-
+.sp
 \fBint printw(const char *fmt, ...);\fR
 .br
 \fBint wprintw(WINDOW *win, const char *fmt, ...);\fR
 .br
 .SH DESCRIPTION
 The \fBprintw\fR, \fBwprintw\fR, \fBmvprintw\fR and \fBmvwprintw\fR
-routines are analogous to \fBprintf\fR [see \fBprintf\fR(3S)].  In
+routines are analogous to \fBprintf\fR [see \fBprintf\fR(3)].  In
 effect, the string that would be output by \fBprintf\fR is output
 instead as though \fBwaddstr\fR were used on the given window.
-
+.PP
 The \fBvwprintw\fR and \fBwv_printw\fR routines are analogous
-to \fBvprintf\fR [see \fBprintf\fR(3S)]
+to \fBvprintf\fR [see \fBprintf\fR(3)]
 and perform a \fBwprintw\fR using a variable argument list.
 The third argument is a \fBva_list\fR, a pointer to a
 list of arguments, as defined in \fB<stdarg.h>\fR.
@@ -65,6 +68,12 @@ list of arguments, as defined in \fB<stdarg.h>\fR.
 Routines that return an integer return \fBERR\fR upon failure and \fBOK\fR
 (SVr4 only specifies "an integer value other than \fBERR\fR") upon successful
 completion.
+.PP
+X/Open defines no error conditions.
+In this implementation,
+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.
 .SH PORTABILITY
 The XSI Curses standard, Issue 4 describes these functions.  The function
 \fBvwprintw\fR is marked TO BE WITHDRAWN, and is to be replaced by a function
@@ -76,7 +85,7 @@ cannot be used in the same file as \fB<stdarg.h>\fR.
 This implementation uses \fB<stdarg.h>\fR for both, because that header
 is included in \fB<curses.h\fR>.
 .SH SEE ALSO
-\fBcurses\fR(3X), \fBprintf\fR(3S), \fBvprintf(3S)\fR
+\fBcurses\fR(3X), \fBprintf\fR(3), \fBvprintf(3)\fR
 .\"#
 .\"# The following sets edit modes for GNU EMACS
 .\"# Local Variables:
index b1ba007..5ce0690 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 1998,2000,2001 Free Software Foundation, Inc.              *
+.\" Copyright (c) 1998-2001,2005 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_refresh.3x,v 1.10 2001/11/03 18:57:12 tom Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_refresh.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_refresh.3x,v 1.12 2005/05/15 16:18:49 tom Exp $
 .TH curs_refresh 3X ""
+.na
+.hy 0
 .SH NAME
 \fBdoupdate\fR,
 \fBredrawwin\fR,
 \fBwnoutrefresh\fR,
 \fBwredrawln\fR,
 \fBwrefresh\fR - refresh \fBcurses\fR windows and lines
+.ad
+.hy
 .SH SYNOPSIS
 \fB#include <curses.h>\fR
-
+.sp
 \fBint refresh(void);\fR
 .br
 \fBint wrefresh(WINDOW *win);\fR
@@ -63,14 +66,14 @@ same, using \fBstdscr\fR as the default window.
 Unless \fBleaveok\fR has been
 enabled, the physical cursor of the terminal is left at the location of the
 cursor for that window.
-
+.PP
 The \fBwnoutrefresh\fR and \fBdoupdate\fR routines allow multiple updates with
 more efficiency than \fBwrefresh\fR alone.
 In addition to all the window
 structures, \fBcurses\fR 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.
-
+.PP
 The routine \fBwrefresh\fR works by first calling \fBwnoutrefresh\fR, which
 copies the named window to the virtual screen, and then calling \fBdoupdate\fR,
 which compares the virtual screen to the physical screen and does the actual
@@ -85,7 +88,7 @@ characters transmitted and less CPU time used.
 If the \fIwin\fR argument to
 \fBwrefresh\fR is the global variable \fBcurscr\fR, the screen is immediately
 cleared and repainted from scratch.
-
+.PP
 The phrase "copies the named window to the virtual screen" above is ambiguous.
 What actually happens is that all \fItouched\fR (changed) lines in the window
 are copied to the virtual screen.
@@ -95,7 +98,7 @@ order and the overlap region will be modified only when it is explicitly
 changed.
 (But see the section on \fBPORTABILITY\fR below for a warning about
 exploiting this behavior.)
-
+.PP
 The \fBwredrawln\fR routine indicates to \fBcurses\fR 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).
@@ -104,11 +107,25 @@ The routine \fBredrawwin\fR() touches the entire window.
 Routines that return an integer return \fBERR\fR upon failure, and \fBOK\fR
 (SVr4 only specifies "an integer value other than \fBERR\fR") upon successful
 completion.
+.PP
+X/Open does not define any error conditions.
+In this implementation
+.RS
+.TP 5
+\fBwnoutrefresh\fP
+returns an error
+if the window pointer is null, or
+if the window is really a pad.
+.TP 5
+\fBwredrawln\fP
+returns an error
+if the associated call to \fBtouchln\fP returns an error.
+.RE
 .SH NOTES
 Note that \fBrefresh\fR and \fBredrawwin\fR may be macros.
 .SH PORTABILITY
 The XSI Curses standard, Issue 4 describes these functions.
-
+.PP
 Whether \fBwnoutrefresh()\fR 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).
index 2724862..71ba9ee 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
+.\" Copyright (c) 1998-2000,2006 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,8 +26,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_scanw.3x,v 1.12 2002/07/20 15:48:09 tom Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_scanw.3,v 1.2 2005/08/03 09:56:19 eirikn Exp $
+.\" $Id: curs_scanw.3x,v 1.14 2006/12/24 16:05:49 tom Exp $
 .TH curs_scanw 3X ""
 .SH NAME
 \fBscanw\fR,
 \fBvwscanw\fR, \fBvw_scanw\fR - convert formatted input from a \fBcurses\fR window
 .SH SYNOPSIS
 \fB#include <curses.h>\fR
-
-\fBint scanw(const char *fmt, ...);\fR
+.sp
+\fBint scanw(char *fmt, ...);\fR
 .br
-\fBint wscanw(WINDOW *win, const char *fmt, ...);\fR
+\fBint wscanw(WINDOW *win, char *fmt, ...);\fR
 .br
-\fBint mvscanw(int y, int x, const char *fmt, ...);\fR
+\fBint mvscanw(int y, int x, char *fmt, ...);\fR
 .br
-\fBint mvwscanw(WINDOW *win, int y, int x, const char *fmt, ...);\fR
+\fBint mvwscanw(WINDOW *win, int y, int x, char *fmt, ...);\fR
 .br
-\fBint vw_scanw(WINDOW *win, const char *fmt, va_list varglist);\fR
+\fBint vw_scanw(WINDOW *win, char *fmt, va_list varglist);\fR
 .br
-\fBint vwscanw(WINDOW *win, const char *fmt, va_list varglist);\fR
+\fBint vwscanw(WINDOW *win, char *fmt, va_list varglist);\fR
 .SH DESCRIPTION
 The \fBscanw\fR, \fBwscanw\fR and \fBmvscanw\fR routines are analogous to
-\fBscanf\fR [see \fBscanf\fR(3S)].  The effect of these routines is as though
+\fBscanf\fR [see \fBscanf\fR(3)].  The effect of these routines is as though
 \fBwgetstr\fR were called on the window, and the resulting line used as input
 for \fBsscanf\fR(3).  Fields which do not map to a variable in the \fIfmt\fR
 field are lost.
-
+.PP
 The \fBvwscanw\fR and \fBvw_scanw\fR routines are analogous to \fBvscanf\fR.
 They perform a \fBwscanw\fR using a variable argument list.
 The third argument is a \fIva_list\fR,
@@ -63,7 +62,7 @@ a pointer to a list of arguments, as defined in \fB<stdarg.h>\fR.
 .SH RETURN VALUE
 \fBvwscanw\fR returns \fBERR\fR on failure and an integer equal to the
 number of fields scanned on success.
-
+.PP
 Applications may use the return value from the \fBscanw\fR, \fBwscanw\fR,
 \fBmvscanw\fR and \fBmvwscanw\fR routines to determine the number of fields
 which were mapped in the call.
@@ -89,7 +88,7 @@ since the OK value (zero) is likely to be misleading.
 One possible 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.
 .SH SEE ALSO
-\fBcurses\fR(3X), \fBcurs_getstr\fR(3X), \fBcurs_printw\fR(3X), \fBscanf\fR(3S)
+\fBcurses\fR(3X), \fBcurs_getstr\fR(3X), \fBcurs_printw\fR(3X), \fBscanf\fR(3)
 .\"#
 .\"# The following sets edit modes for GNU EMACS
 .\"# Local Variables:
index ceec28c..7884f6a 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
+.\" Copyright (c) 1998-2005,2006 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_scr_dump.3x,v 1.3 2003/10/25 20:34:06 tom Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_scr_dump.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_scr_dump.3x,v 1.7 2006/12/24 16:05:49 tom Exp $
 .TH curs_scr_dump 3X ""
+.na
+.hy 0
 .SH NAME
 \fBscr_dump\fR,
 \fBscr_restore\fR,
 \fBscr_init\fR,
 \fBscr_set\fR - read (write) a \fBcurses\fR screen from (to) a file
+.ad
+.hy
 .SH SYNOPSIS
 \fB#include <curses.h>\fR
-
+.sp
 \fBint scr_dump(const char *filename);\fR
 .br
 \fBint scr_restore(const char *filename);\fR
 .SH DESCRIPTION
 The \fBscr_dump\fR routine dumps the current contents of the virtual screen
 to the file \fIfilename\fR.
-
+.PP
 The \fBscr_restore\fR routine sets the virtual screen to the contents
 of \fIfilename\fR, which must have been written using \fBscr_dump\fR.  The next
 call to \fBdoupdate\fR restores the screen to the way it looked in the dump
 file.
-
+.PP
 The \fBscr_init\fR routine reads in the contents of \fIfilename\fR and uses
 them to initialize the \fBcurses\fR data structures about what the terminal
 currently has on its screen.  If the data is determined to be valid,
@@ -64,29 +67,33 @@ the screen with another process which has done a \fBscr_dump\fR after its
 \fBendwin\fR call.  The data is declared invalid if the terminfo capabilities
 \fBrmcup\fR and \fBnrrmc\fR exist; also if the terminal has been written to
 since the preceding \fBscr_dump\fR call.
-
+.PP
 The \fBscr_set\fR routine is a combination of \fBscr_restore\fR and
 \fBscr_init\fR.  It tells the program that the information in \fIfilename\fR 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.
-
+.PP
 To read (write) a window from (to) a file, use the \fBgetwin\fR and
 \fBputwin\fR routines [see \fBcurs_util\fR(3X)].
 .SH RETURN VALUE
 All routines return the integer \fBERR\fR upon failure and \fBOK\fR
 upon success.
+.PP
+X/Open defines no error conditions.
+In this implementation,
+each will return an error if the file cannot be opened.
 .SH NOTES
 Note that \fBscr_init\fR, \fBscr_set\fR, and \fBscr_restore\fR may be macros.
 .SH PORTABILITY
 The XSI Curses standard, Issue 4, describes these functions (adding the const
 qualifiers).
-
+.PP
 The SVr4 docs merely say under \fBscr_init\fR that the dump data is also
-considered invalid "if the time-stamp of the tty is old" but don't define
+considered invalid "if the time-stamp of the tty is old" but do not define
 "old".
 .SH SEE ALSO
 \fBcurses\fR(3X), \fBcurs_initscr\fR(3X), \fBcurs_refresh\fR(3X),
-\fBcurs_util\fR(3X), \fBsystem\fR(3S)
+\fBcurs_util\fR(3X), \fBsystem\fR(3)
 .\"#
 .\"# The following sets edit modes for GNU EMACS
 .\"# Local Variables:
index 64e9edf..754b714 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 1998-2001,2003 Free Software Foundation, Inc.              *
+.\" Copyright (c) 1998-2005,2006 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_scroll.3x,v 1.10 2003/05/10 20:33:49 jmc Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_scroll.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_scroll.3x,v 1.13 2006/02/25 21:49:19 tom Exp $
 .TH curs_scroll 3X ""
+.na
+.hy 0
 .SH NAME
-\fBscroll\fR, \fBscrl\fR, \fBwscrl\fR - scroll a \fBcurses\fR window
+\fBscroll\fR,
+\fBscrl\fR,
+\fBwscrl\fR - scroll a \fBcurses\fR window
+.ad
+.hy
 .SH SYNOPSIS
 \fB#include <curses.h>\fR
-
+.sp
 \fBint scroll(WINDOW *win);\fR
 .br
 \fBint scrl(int n);\fR
@@ -47,28 +52,34 @@ 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.
-
+.PP
 For positive \fIn\fR, the \fBscrl\fR and \fBwscrl\fR routines scroll the
 window up \fIn\fR lines (line \fIi\fR+\fIn\fR becomes \fIi\fR); otherwise
 scroll the window down \fIn\fR lines.
 This involves moving the lines in the
 window character image structure.
 The current cursor position is not changed.
-
+.PP
 For these functions to work, scrolling must be enabled via \fBscrollok\fR.
 .SH RETURN VALUE
 These routines return \fBERR\fR upon failure, and \fBOK\fR (SVr4 only specifies
 "an integer value other than \fBERR\fR") upon successful completion.
+.PP
+X/Open defines no error conditions.
+.PP
+This implementation returns an error
+if the window pointer is null, or
+if scrolling is not enabled in the window, e.g., with \fBscrollok\fP.
 .SH NOTES
 Note that \fBscrl\fR and \fBscroll\fR may be macros.
-
+.PP
 The SVr4 documentation says that the optimization of physically 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 update.
-
+.PP
 Neither the SVr4 nor the XSI documentation specify whether the current
 attribute or
 current color-pair of blanks generated by the scroll function is zeroed.
index bca1383..6361268 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
+.\" Copyright (c) 1998-2006,2007 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_slk.3x,v 1.12 2003/05/10 20:33:49 jmc Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_slk.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_slk.3x,v 1.16 2007/06/02 20:40:07 tom Exp $
 .TH curs_slk 3X ""
+.na
+.hy 0
 .SH NAME
-\fBslk_init\fR, \fBslk_set\fR, \fBslk_refresh\fR,
-\fBslk_noutrefresh\fR, \fBslk_label\fR,
-\fBslk_clear\fR, \fBslk_restore\fR, \fBslk_touch\fR,
-\fBslk_attron\fR, \fBslk_attrset\fR, \fBslk_attroff\fR,
-\fBslk_attr_on\fR, \fBslk_attr_set\fR, \fBslk_attr_off\fR,
-\fBslk_attr\fR, \fBslk_color\fR - \fBcurses\fR soft label routines
+\fBslk_init\fR,
+\fBslk_set\fR,
+\fBslk_refresh\fR,
+\fBslk_noutrefresh\fR,
+\fBslk_label\fR,
+\fBslk_clear\fR,
+\fBslk_restore\fR,
+\fBslk_touch\fR,
+\fBslk_attron\fR,
+\fBslk_attrset\fR,
+\fBslk_attroff\fR,
+\fBslk_attr_on\fR,
+\fBslk_attr_set\fR,
+\fBslk_attr_off\fR,
+\fBslk_attr\fR,
+\fBslk_color\fR - \fBcurses\fR soft label routines
+.ad
+.hy
 .SH SYNOPSIS
 \fB#include <curses.h>\fR
-
+.sp
 \fBint slk_init(int fmt);\fR
 .br
 \fBint slk_set(int labnum, const char *label, int fmt);\fR
@@ -82,9 +95,9 @@ labels of up to eight characters each. In addition to this, the ncurses
 implementation supports a mode where it simulates 12 labels of up to five
 characters each. This is most common for todays PC like enduser devices.
 Please note that ncurses simulates this mode by taking over up to two lines at
-the bottom of the screen, it doesn't try to use any hardware support for this
+the bottom of the screen, it does not try to use any hardware support for this
 mode.
-
+.PP
 The \fBslk_init\fR routine must be called before \fBinitscr\fR or \fBnewterm\fR
 is called.  If \fBinitscr\fR eventually uses a line from \fBstdscr\fR to
 emulate the soft labels, then \fIfmt\fR determines how the labels are arranged
@@ -93,7 +106,7 @@ the labels, \fB1\fR indicates a 4-4 arrangement and \fB2\fR indicates the
 PC like 4-4-4 mode. If \fBfmt\fR is set to \fB3\fR, it 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.
-
+.PP
 The \fBslk_set\fR routine requires \fIlabnum\fR to be a label number,
 from \fB1\fR to \fB8\fR (resp. \fB12\fR); \fIlabel\fR must be the string
 to be put on the label, up to eight (resp. five) characters in length.
@@ -101,36 +114,78 @@ A null string or a null pointer sets up a blank label. \fIfmt\fR is either
 \fB0\fR, \fB1\fR, or \fB2\fR, indicating whether the label is  to be
 left-justified, centered, or right-justified, respectively, within the
 label.
-
+.PP
 The \fBslk_refresh\fR and \fBslk_noutrefresh\fR routines correspond to
 the \fBwrefresh\fR and \fBwnoutrefresh\fR routines.
-
+.PP
 The \fBslk_label\fR routine returns the current label for label number
 \fIlabnum\fR, with leading and trailing blanks stripped.
-
+.PP
 The \fBslk_clear\fR routine clears the soft labels from the screen.
-
+.PP
 The \fBslk_restore\fR routine restores the soft labels to the screen
 after a \fBslk_clear\fR has been performed.
-
+.PP
 The \fBslk_touch\fR routine forces all the soft labels to be output
 the next time a \fBslk_noutrefresh\fR is performed.
-
+.PP
 The \fBslk_attron\fR, \fBslk_attrset\fR, \fBslk_attroff\fR and \fBslk_attr\fR
 routines correspond to \fBattron\fR, \fBattrset\fR, \fBattroff\fR and \fBattr_get\fR.
 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).
-
+.PP
 The \fBslk_color\fR routine corresponds to \fBcolor_set\fR. It has an effect only
 if soft labels are simulated on the bottom line of the screen.
-
+.
 .SH RETURN VALUE
 These routines return \fBERR\fR upon failure and OK (SVr4 specifies only "an
-integer value other than \fBERR\fR") upon successful completion. \fBslk_attr\fR
+integer value other than \fBERR\fR") upon successful completion.
+.PP
+X/Open defines no error conditions.
+In this implementation
+.RS
+.TP 5
+\fBslk_attr\fR
 returns the attribute used for the soft keys.
-
-\fBslk_label\fR returns \fBNULL\fR on error.
+.TP 5
+.na
+.hy 0
+\fBslk_attroff\fP, \fBslk_attron\fP, \fBslk_clear\fP, \fBslk_noutrefresh\fP, \fBslk_refresh\fP, \fBslk_touch\fP
+.ad
+.hy
+return an error
+if the terminal or the softkeys were not initialized.
+.TP 5
+\fBslk_attrset\fP
+returns an error
+if the terminal or the softkeys were not initialized.
+.TP 5
+\fBslk_attr_set\fP
+returns an error
+if the terminal or the softkeys were not initialized, or
+the color pair is outside the range 0..COLOR_PAIRS-1,
+or opts is not null.
+.TP 5
+\fBslk_color\fP
+returns an error
+if the terminal or the softkeys were not initialized, or
+the color pair is outside the range 0..COLOR_PAIRS-1.
+.TP 5
+\fBslk_init\fR
+returns an error
+if the format parameter is outside the range 0..3.
+.TP 5
+\fBslk_label\fR
+returns \fBNULL\fR on error.
+.TP 5
+\fBslk_set\fP
+returns an error
+if the terminal or the softkeys were not initialized, or
+the \fIlabnum\fP 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.
+.RE
 .SH NOTES
 Most applications would use \fBslk_noutrefresh\fR because a
 \fBwrefresh\fR is likely to follow soon.
index e24ad4a..1e07307 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
+.\" Copyright (c) 1998-2003,2007 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,8 +26,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_termattrs.3x,v 1.9 2003/12/27 18:37:47 tom Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_termattrs.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_termattrs.3x,v 1.10 2007/06/02 20:40:07 tom Exp $
 .TH curs_termattrs 3X ""
 .SH NAME
 \fBbaudrate\fR,
@@ -102,7 +101,7 @@ overwritten by each call to \fBnewterm\fR and is not restored by
 \fBnewterm\fR if \fBlongname\fR is going to be used with multiple
 terminals.
 .PP
-If a given terminal doesn't support a video attribute that an
+If a given terminal does not support a video attribute that an
 application program is trying to use, \fBcurses\fR may substitute a
 different video attribute for it.
 The \fBtermattrs\fR and \fBterm_attrs\fR functions
index 5f6dab3..93ac2fb 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
+.\" Copyright (c) 1998-2006,2007 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,8 +26,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_termcap.3x,v 1.18 2003/02/08 22:25:47 tom Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_termcap.3,v 1.2 2005/08/03 09:56:19 eirikn Exp $
+.\" $Id: curs_termcap.3x,v 1.22 2007/06/02 20:40:07 tom Exp $
 .TH curs_termcap 3X ""
 .ds n 5
 .SH NAME
 \fB#include <curses.h>\fR
 .br
 \fB#include <term.h>\fR
-.br
+.sp
 \fBextern char PC;\fR
+.br
 \fBextern char * UP;\fR
+.br
 \fBextern char * BC;\fR
-\fBextern short ospeed;\fR
 .br
+\fBextern @NCURSES_OSPEED@ ospeed;\fR
+.sp
 \fBint tgetent(char *bp, const char *name);\fR
 .br
-\fBint tgetflag(const char *id);\fR
+\fBint tgetflag(char *id);\fR
 .br
-\fBint tgetnum(const char *id);\fR
+\fBint tgetnum(char *id);\fR
 .br
-\fBchar *tgetstr(const char *id, char **area);\fR
+\fBchar *tgetstr(char *id, char **area);\fR
 .br
 \fBchar *tgoto(const char *cap, int col, int row);\fR
 .br
@@ -65,36 +67,36 @@ the \fItermcap\fR library.  Their parameters are the same and the
 routines are emulated using the \fIterminfo\fR database.  Thus, they
 can only be used to query the capabilities of entries for which a
 terminfo entry has been compiled.
-
+.PP
 The \fBtgetent\fR routine loads the entry for \fIname\fR.
 It returns 1 on success, 0 if there is no such entry, and -1 if the
 terminfo database could not be found.
 The emulation ignores the buffer pointer \fIbp\fR.
-
+.PP
 The \fBtgetflag\fR routine gets the boolean entry for \fIid\fR,
 or zero if it is not available.
-
+.PP
 The \fBtgetnum\fR routine gets the numeric entry for \fIid\fR,
 or -1 if it is not available.
-
+.PP
 The \fBtgetstr\fR routine returns the string entry for \fIid\fR,
 or zero if it is not available.
 Use \fBtputs\fR to output the returned string.
 The return value will also be copied to the buffer pointed to by \fIarea\fR,
 and the \fIarea\fR value will be updated to point past the null ending
 this value.
-
+.PP
 Only the first two characters of the \fBid\fR parameter of
 \fBtgetflag\fR,
 \fBtgetnum\fR and
 \fBtgetstr\fR are compared in lookups.
-
+.PP
 The \fBtgoto\fR routine instantiates the parameters into the given capability.
 The output from this routine is to be passed to \fBtputs\fR.
-
+.PP
 The \fBtputs\fR routine is described on the \fBcurs_terminfo\fR(3X) manual
 page.  It can retrieve capabilities by either termcap or terminfo name.
-
+.PP
 The variables
 \fBPC\fR,
 \fBUP\fR and
@@ -109,29 +111,29 @@ respectively.
 \fBBC\fR is used in the \fBtgoto\fR emulation.
 The variable \fBospeed\fR is set by ncurses in a system-specific coding
 to reflect the terminal speed.
-
+.
 .SH RETURN VALUE
 Except where explicitly noted,
 routines that return an integer return \fBERR\fR upon failure and \fBOK\fR
 (SVr4 only specifies "an integer value other than \fBERR\fR") upon successful
 completion.
-
+.PP
 Routines that return pointers return \fBNULL\fR on error.
 .SH BUGS
 If you call \fBtgetstr\fR to fetch \fBca\fR or any other parameterized string,
 be aware that it will be returned in terminfo notation, not the older and
-not-quite-compatible termcap notation.  This won't cause problems if all
+not-quite-compatible termcap notation.  This will not cause problems if all
 you do with it is call \fBtgoto\fR or \fBtparm\fR, which both expand
 terminfo-style strings as terminfo.
 (The \fBtgoto\fR function, if configured to support termcap, will check
 if the string is indeed terminfo-style by looking for "%p" parameters or
 "$<..>" delays, and invoke a termcap-style parser if the string does not
 appear to be terminfo).
-
+.PP
 Because terminfo conventions for representing padding in string capabilities
 differ from termcap's, \fBtputs("50");\fR will put out a literal "50" rather
 than busy-waiting for 50 milliseconds.  Cope with it.
-
+.PP
 Note that termcap has nothing analogous to terminfo's \fBsgr\fR string.
 One consequence of this is that termcap applications assume \fRme\fR
 (terminfo \fBsgr0\fR) does not reset the alternate character set.
@@ -140,7 +142,7 @@ termcap interface to accommodate termcap's limitation in this respect.
 .SH PORTABILITY
 The XSI Curses standard, Issue 4 describes these functions.  However, they
 are marked TO BE WITHDRAWN and may be removed in future versions.
-
+.PP
 Neither the XSI Curses standard nor the SVr4 man pages documented the return
 values of \fBtgetent\fR correctly, though all three were in fact returned ever
 since SVr1.
@@ -149,14 +151,14 @@ misinterpreted to mean that \fBtgetent\fR returns \fBOK\fR or \fBERR\fR.
 Because the purpose of these functions is to provide compatibility with
 the \fItermcap\fR library, that is a defect in XCurses, Issue 4, Version 2
 rather than in ncurses.
-
+.PP
 External variables are provided for support of certain termcap applications.
 However, termcap applications' use of those variables is poorly documented,
 e.g., not distinguishing between input and output.
 In particular, some applications are reported to declare and/or
 modify \fBospeed\fR.
 .SH SEE ALSO
-\fBcurses\fR(3X), \fBterminfo\fR(\*n), \fBputc\fR(3S).
+\fBcurses\fR(3X), \fBterminfo\fR(\*n), \fBputc\fR(3).
 .\"#
 .\"# The following sets edit modes for GNU EMACS
 .\"# Local Variables:
index 5dad4d6..4412a6a 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 1999-2002,2003 Free Software Foundation, Inc.              *
+.\" Copyright (c) 1999-2007,2008 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_terminfo.3x,v 1.18 2003/12/27 18:48:59 tom Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_terminfo.3,v 1.2 2005/08/03 09:56:19 eirikn Exp $
+.\" $Id: curs_terminfo.3x,v 1.30 2008/08/16 20:53:27 tom Exp $
 .TH curs_terminfo 3X ""
 .ds n 5
+.na
+.hy 0
 .SH NAME
 \fBdel_curterm\fR,
 \fBmvcur\fR,
 \fBvid_puts\fR,
 \fBvidattr\fR,
 \fBvidputs\fR - \fBcurses\fR interfaces to terminfo database
+.ad
+.hy
 .SH SYNOPSIS
 .nf
 \fB#include <curses.h>\fR
 .br
 \fB#include <term.h>\fR
 .PP
-\fBint setupterm(const char *\fR\fIterm\fR\fB, int \fR\fIfildes\fR\fB, int *\fR\fIerrret\fR\fB);\fR
+\fBint setupterm(char *\fR\fIterm\fR\fB, int \fR\fIfildes\fR\fB, int *\fR\fIerrret\fR\fB);\fR
 .br
 \fBint setterm(char *\fR\fIterm\fR\fB);\fR
 .br
@@ -61,9 +64,9 @@
 .br
 \fBint del_curterm(TERMINAL *\fR\fIoterm\fR\fB);\fR
 .br
-\fBint restartterm(const char *\fR\fIterm\fR\fB, int \fR\fIfildes\fR\fB, int *\fR\fIerrret\fR\fB);\fR
+\fBint restartterm(char *\fR\fIterm\fR\fB, int \fR\fIfildes\fR\fB, int *\fR\fIerrret\fR\fB);\fR
 .br
-\fBchar *tparm(const char *\fR\fIstr\fR\fB, ...);\fR
+\fBchar *tparm(char *\fR\fIstr\fR\fB, ...);\fR
 .br
 \fBint tputs(const char *\fR\fIstr\fR\fB, int \fR\fIaffcnt\fR\fB, int (*\fR\fIputc\fR\fB)(int));\fR
 .br
 .br
 \fBint mvcur(int \fR\fIoldrow\fR\fB, int \fR\fIoldcol\fR\fB, int \fR\fInewrow\fR, int \fR\fInewcol\fR\fB);\fR
 .br
-\fBint tigetflag(const char *\fR\fIcapname\fR\fB);\fR
+\fBint tigetflag(char *\fR\fIcapname\fR\fB);\fR
 .br
-\fBint tigetnum(const char *\fR\fIcapname\fR\fB);\fR
+\fBint tigetnum(char *\fR\fIcapname\fR\fB);\fR
 .br
-\fBchar *tigetstr(const char *\fR\fIcapname\fR\fB);\fR
+\fBchar *tigetstr(char *\fR\fIcapname\fR\fB);\fR
 .br
 .fi
 .SH DESCRIPTION
@@ -96,16 +99,22 @@ recommended.
 Initially, \fBsetupterm\fR should be called.  Note that
 \fBsetupterm\fR is automatically called by \fBinitscr\fR and
 \fBnewterm\fR.  This defines the set of terminal-dependent variables
-[listed in \fBterminfo\fR(\*n)].  The \fBterminfo\fR variables
+[listed in \fBterminfo\fR(\*n)].
+The \fBterminfo\fR variables
 \fBlines\fR and \fBcolumns\fR are initialized by \fBsetupterm\fR as
-follows: If \fBuse_env(FALSE)\fR has been called, values for
+follows:
+.RS
+.PP
+If \fBuse_env(FALSE)\fR has been called, values for
 \fBlines\fR and \fBcolumns\fR specified in \fBterminfo\fR are used.
+.PP
 Otherwise, if the environment variables \fBLINES\fR and \fBCOLUMNS\fR
 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 \fBlines\fR and \fBcolumns\fR specified in the
 \fBterminfo\fR database are used.
+.RE
 .PP
 The header files \fBcurses.h\fR and \fBterm.h\fR should be included (in this
 order) to get the definitions for these strings, numbers, and flags.
@@ -151,15 +160,15 @@ means that the \fBterminfo\fR database could not be found.
 If \fIerrret\fR is
 null, \fBsetupterm\fR prints an error message upon finding an error
 and exits.  Thus, the simplest call is:
-
+.sp
       \fBsetupterm((char *)0, 1, (int *)0);\fR,
-
+.sp
 which uses all the defaults and sends the output to \fBstdout\fR.
 .PP
 The \fBsetterm\fR routine is being replaced by \fBsetupterm\fR.  The call:
-
+.sp
       \fBsetupterm(\fR\fIterm\fR\fB, 1, (int *)0)\fR
-
+.sp
 provides the same functionality as \fBsetterm(\fR\fIterm\fR\fB)\fR.
 The \fBsetterm\fR routine is included here for BSD compatibility, and
 is not recommended for new programs.
@@ -180,7 +189,8 @@ except that it is called after restoring memory to a previous state (for
 example, when reloading a game saved as a core image dump).  It 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,
-it saves various tty state bits, does a setupterm, and then restores the bits.
+it saves various tty state bits, calls \fBsetupterm\fP,
+and then restores the bits.
 .PP
 The \fBtparm\fR routine instantiates the string \fIstr\fR with
 parameters \fIpi\fR.  A pointer is returned to the result of \fIstr\fR
@@ -237,13 +247,15 @@ or \fB0\fR if it is canceled or absent from the terminal description.
 .PP
 The \fIcapname\fR for each capability is given in the table column entitled
 \fIcapname\fR code in the capabilities section of \fBterminfo\fR(\*n).
-
-\fBconst char *boolnames\fR, \fB*boolcodes\fR, \fB*boolfnames\fR
-
-\fBconst char *numnames\fR, \fB*numcodes\fR, \fB*numfnames\fR
-
-\fBconst char *strnames\fR, \fB*strcodes\fR, \fB*strfnames\fR
-
+.sp
+.RS
+\fBchar *boolnames[]\fR, \fB*boolcodes[]\fR, \fB*boolfnames[]\fR
+.sp
+\fBchar *numnames[]\fR, \fB*numcodes[]\fR, \fB*numfnames[]\fR
+.sp
+\fBchar *strnames[]\fR, \fB*strcodes[]\fR, \fB*strfnames[]\fR
+.RE
+.PP
 These null-terminated arrays contain the \fIcapnames\fR, the
 \fBtermcap\fR codes, and the full C names, for each of the
 \fBterminfo\fR variables.
@@ -253,6 +265,34 @@ Routines that return an integer return \fBERR\fR upon failure and \fBOK\fR
 completion, unless otherwise noted in the preceding routine descriptions.
 .PP
 Routines that return pointers always return \fBNULL\fR on error.
+.PP
+X/Open defines no error conditions.
+In this implementation
+.RS
+.TP 5
+\fBdel_curterm\fP
+returns an error
+if its terminal parameter is null.
+.TP 5
+\fBputp\fP
+calls \fBtputs\fP, returning the same error-codes.
+.TP 5
+\fBrestartterm\fP
+returns an error
+if the associated call to \fBsetupterm\fP returns an error.
+.TP 5
+\fBsetupterm\fP
+returns an error
+if it cannot allocate enough memory, or
+create the initial windows (stdscr, curscr, newscr).
+Other error conditions are documented above.
+.TP 5
+\fBtputs\fP
+returns an error if the string parameter is null.
+It does not detect I/O errors:
+X/Open states that \fBtputs\fP ignores the return value
+of the output function \fIputc\fP.
+.RE
 .SH NOTES
 The \fBsetupterm\fR routine should be used in place of \fBsetterm\fR.
 It may be useful when you want to test for terminal capabilities without
@@ -260,33 +300,50 @@ committing to the allocation of storage involved in \fBinitscr\fR.
 .PP
 Note that \fBvidattr\fR and \fBvidputs\fR may be macros.
 .SH PORTABILITY
-The function \fBsetterm\fR is not described in the XSI Curses standard and must
-be considered non-portable.  All other functions are as described in the XSI
-curses standard.
+The function \fBsetterm\fR is not described by X/Open and must
+be considered non-portable.  All other functions are as described by X/Open.
+.PP
+\fBsetupterm\fP copies the terminal name to the array \fBttytype\fP.
+This is not part of X/Open Curses, but is assumed by some applications.
 .PP
 In System V Release 4, \fBset_curterm\fR has an \fBint\fR return type and
-returns \fBOK\fR or \fBERR\fR.  We have chosen to implement the XSI Curses
+returns \fBOK\fR or \fBERR\fR.  We have chosen to implement the X/Open Curses
 semantics.
 .PP
 In System V Release 4, the third argument of \fBtputs\fR has the type
 \fBint (*putc)(char)\fR.
 .PP
-The XSI Curses standard prototypes \fBtparm\fR with a fixed number of parameters,
+At least one implementation of X/Open Curses (Solaris) returns a value
+other than OK/ERR from \fBtputs\fP.
+That returns the length of the string, and does no error-checking.
+.PP
+X/Open Curses prototypes \fBtparm\fR with a fixed number of parameters,
 rather than a variable argument list.
 This implementation uses a variable argument list.
 Portable applications should provide 9 parameters after the format;
 zeroes are fine for this purpose.
 .PP
-XSI notes that after calling \fBmvcur\fR, the curses state may not match the
+X/Open notes that after calling \fBmvcur\fR, the curses state may not match the
 actual terminal state, and that an application should touch and refresh
 the window before resuming normal curses calls.
 Both ncurses and System V Release 4 curses implement \fBmvcur\fR using
 the SCREEN data allocated in either \fBinitscr\fR or \fBnewterm\fR.
 So though it is documented as a terminfo function,
 \fBmvcur\fR is really a curses function which is not well specified.
+.PP
+X/Open states that the old location must be given for \fBmvcur\fP.
+This implementation allows the caller to use -1's for the old ordinates.
+In that case, the old location is unknown.
+.PP
+Extended terminal capability names, e.g., as defined by \fBtic\ -x\fP,
+are not stored in the arrays described in this section.
 .SH SEE ALSO
-\fBcurses\fR(3X), \fBcurs_initscr\fR(3X), \fBcurs_kernel\fR(3X), \fBcurs_termcap\fR(3X),
-\fBputc\fR(3S), \fBterminfo\fR(\*n)
+\fBcurses\fR(3X),
+\fBcurs_initscr\fR(3X),
+\fBcurs_kernel\fR(3X),
+\fBcurs_termcap\fR(3X),
+\fBputc\fR(3),
+\fBterminfo\fR(\*n)
 .\"#
 .\"# The following sets edit modes for GNU EMACS
 .\"# Local Variables:
diff --git a/lib/libncurses/man/curs_threads.3 b/lib/libncurses/man/curs_threads.3
new file mode 100644 (file)
index 0000000..17dabdb
--- /dev/null
@@ -0,0 +1,603 @@
+.\"***************************************************************************
+.\" Copyright (c) 2008 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: curs_threads.3x,v 1.12 2008/04/12 18:22:51 tom Exp $
+.TH curs_threads 3X ""
+.na
+.hy 0
+.SH NAME
+\fBuse_screen\fR,
+\fBuse_window\fR - \fBcurses\fR thread support
+.ad
+.hy
+.SH SYNOPSIS
+\fB#include <curses.h>\fR
+.sp
+\fBtypedef int (*NCURSES_WINDOW_CB)(WINDOW *, void *);\fR
+\fBtypedef int (*NCURSES_SCREEN_CB)(SCREEN *, void *);\fR
+.br
+\fBint set_escdelay(int size);\fR
+.br
+\fBint set_tabsize(int size);\fR
+.br
+\fBint use_screen(SCREEN *scr, NCURSES_WINDOW_CB func, void *data);\fR
+.br
+\fBint use_window(WINDOW *win, NCURSES_SCREEN_CB func, void *data);\fR
+.br
+.SH DESCRIPTION
+This implementation can be configured to provide rudimentary support
+for multi-threaded applications.
+This makes a different set of libraries, e.g., \fIlibncursest\fP since
+the binary interfaces are different.
+.PP
+Rather than modify the interfaces to pass a thread specifier 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.
+.PP
+In addition to forcing access to members of the \fBWINDOW\fP structure
+to be via functions (see \fBcurs_opaque\fP(3x)),
+it makes functions of the common global variables,
+e.g.,
+COLORS,
+COLOR_PAIRS,
+COLS,
+ESCDELAY,
+LINES,
+TABSIZE
+curscr,
+newscr and
+ttytype.
+Those variables are maintained as read-only values, stored in the \fBSCREEN\fP
+structure.
+.PP
+Even this is not enough to make a thread-safe application using curses.
+A multi-threaded application would be expected to have threads updating
+separate windows (within the same device),
+or updating on separate screens (on different devices).
+Also, a few of the global variables are considered writable by some
+applications.
+The functions described here address these special situations.
+.PP
+The ESCDELAY and TABSIZE global variables are modified by some applications.
+To modify them in any configuration,
+use the \fBset_escdelay\fP or \fBset_tabsize\fP functions.
+Other global variables are not modifiable.
+.PP
+The \fBuse_window\fP and \fBuse_screen\fP functions provide coarse
+granularity mutexes for their respective \fBWINDOW\fP and \fBSCREEN\fP
+parameters, and call a user-supplied function,
+passing it a \fIdata\fP parameter,
+and returning the value from the user-supplied function to the application.
+.\" ***************************************************************************
+.SS USAGE
+All of the ncurses library functions assume that the locale is not
+altered during operation.
+In addition,
+they use data which is maintained within a hierarchy of scopes.
+.RS
+.TP 3
+-
+global data, e.g., used in the low-level terminfo or termcap interfaces.
+.TP 3
+-
+terminal data, e.g., associated with a call to \fIset_curterm\fP.
+The terminal data are initialized when screens are created.
+.TP 3
+-
+screen data, e.g., associated with a call to \fInewterm\fP or \fIinitscr\fP.
+.TP 3
+-
+window data, e.g., associated with a call to \fInewwin\fP or \fIsubwin\fP.
+Windows are associated with screens.
+Pads are not necessarily associated with a particular screen.
+.IP
+Most curses applications operate on one or more windows within a single screen.
+.TP 3
+-
+reentrant, i.e., it uses only the data passed as parameters.
+.RE
+.PP
+This table lists the scope of data used for each symbol in the
+ncurses library when it is configured to support threading:
+.TS
+center tab(/);
+l l
+l l .
+Symbol/Scope
+=
+BC/global
+COLORS/screen (readonly)
+COLOR_PAIR/reentrant
+COLOR_PAIRS/screen (readonly)
+COLS/screen (readonly)
+ESCDELAY/screen (readonly, see \fIset_escdelay\fP)
+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)
+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)
+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)
+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
+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
+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
+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)
+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
+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
+.TE
+.\" ***************************************************************************
+.SH RETURN VALUE
+These functions all return TRUE or FALSE, except as noted.
+.SH NOTES
+Both a macro and a function are provided for each name.
+.SH PORTABILITY
+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 extensions
+be conditioned using NCURSES_VERSION.
+.SH SEE ALSO
+\fBcurses\fR(3X),
+\fBcurs_opaque\fR(3X)
+.\"#
+.\"# The following sets edit modes for GNU EMACS
+.\"# Local Variables:
+.\"# mode:nroff
+.\"# fill-column:79
+.\"# End:
index 415ff08..a7d07bc 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 1998,2000 Free Software Foundation, Inc.                   *
+.\" Copyright (c) 1998-2005,2006 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_touch.3x,v 1.8 2000/07/08 11:07:57 tom Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_touch.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_touch.3x,v 1.11 2006/02/25 21:49:19 tom Exp $
 .TH curs_touch 3X ""
+.na
+.hy 0
 .SH NAME
 \fBtouchwin\fR,
 \fBtouchline\fR,
@@ -36,6 +37,8 @@
 \fBwtouchln\fR,
 \fBis_linetouched\fR,
 \fBis_wintouched\fR - \fBcurses\fR refresh control routines
+.ad
+.hy
 .SH SYNOPSIS
 \fB#include <curses.h>\fR
 .br
@@ -60,15 +63,15 @@ 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 \fBtouchline\fR only pretends that \fIcount\fR lines have been
 changed, beginning with line \fIstart\fR.
-
+.PP
 The \fBuntouchwin\fR routine marks all lines in the window as unchanged since
 the last call to \fBwrefresh\fR.
-
+.PP
 The \fBwtouchln\fR routine makes \fIn\fR lines in the window, starting
 at line \fIy\fR, look as if they have (\fIchanged\fR\fB=1\fR) or have
 not (\fIchanged\fR\fB=0\fR) been changed since the last call to
 \fBwrefresh\fR.
-
+.PP
 The \fBis_linetouched\fR and \fBis_wintouched\fR routines return
 \fBTRUE\fR if the specified line/window was modified since the last
 call to \fBwrefresh\fR; otherwise they return \fBFALSE\fR.  In
@@ -78,9 +81,25 @@ valid for the given window.
 All routines return the integer \fBERR\fR upon failure and an integer value
 other than \fBERR\fR upon successful completion, unless otherwise noted in the
 preceding routine descriptions.
+.PP
+X/Open does not define any error conditions.
+In this implementation
+.RS
+.TP 5
+\fBis_linetouched\fP
+returns an error 
+if the window pointer is null, or
+if the line number is outside the window.
+Note that ERR is distinct from TRUE and FALSE, which are the normal return values of this function.
+.TP 5
+\fBwtouchln\fP
+returns an error 
+if the window pointer is null, or
+if the line number is outside the window.
+.RE
 .SH PORTABILITY
 The XSI Curses standard, Issue 4 describes these functions.
-
+.PP
 Some historic curses implementations had, as an undocumented feature, the
 ability to do the equivalent of \fBclearok(..., 1)\fR by saying
 \fBtouchwin(stdscr)\fR or \fBclear(stdscr)\fR.  This will not work under
index 5f8bff3..ca74952 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 2000,2002 Free Software Foundation, Inc.                   *
+.\" Copyright (c) 2000-2005,2007 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_trace.3x,v 1.5 2002/02/16 22:39:52 tom Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_trace.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_trace.3x,v 1.8 2007/02/24 17:33:49 tom Exp $
 .TH curs_trace 3X ""
+.na
+.hy 0
 .SH NAME
 \fB_tracef\fR,
 \fB_tracedump\fR,
 \fB_tracechtype2\fR,
 \fB_tracemouse\fR,
 \fBtrace\fR - \fBcurses\fR debugging routines
+.ad
+.hy
 .SH SYNOPSIS
 \fB#include <curses.h>\fR
-.br
+.sp
 \fBvoid _tracef(const char *format, ...);\fR
 .br
 \fBvoid _tracedump(const char *label, WINDOW *win);\fR
@@ -53,7 +56,7 @@
 .br
 \fBchar *_nc_tracebits(void);\fR
 .br
-\fBchar *_tracechar(const unsigned char ch);\fR
+\fBchar *_tracechar(int);\fR
 .br
 \fBchar *_tracechtype(chtype ch);\fR
 .br
@@ -68,11 +71,11 @@ as well as applications which use the ncurses libraries.
 These functions are normally available only with the debugging library
 \fIlibncurses_g.a\fR, but may be compiled into any model (shared, static,
 profile) by defining the symbol \fBTRACE\fR.
-
+.PP
 The principal parts of this interface are the \fBtrace\fR routine which
 selectively enables different tracing features, and the \fB_tracef\fR
 routine which writes formatted data to the \fItrace\fR file.
-
+.PP
 Calling \fBtrace\fR with a nonzero parameter opens the file \fBtrace\fR
 in the current directory for output.  The parameter is formed by OR'ing
 values from the list of \fBTRACE_\fP\fIxxx\fR definitions in \fB<curses.h>\fR.
@@ -128,7 +131,7 @@ trace changes to video attributes and colors.
 .TP 5
 TRACE_MAXIMUM
 maximum trace level, enables all of the separate trace features.
-
+.PP
 Some tracing features are enabled whenever the \fBtrace\fR parameter
 is nonzero.  Some features overlap.
 The specific names are used as a guideline.
index bb817b7..18e2b32 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 1998-2003,2004 Free Software Foundation, Inc.              *
+.\" Copyright (c) 1998-2007,2008 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_util.3x,v 1.12 2004/01/31 17:24:53 tom Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_util.3,v 1.2 2005/08/03 09:56:19 eirikn Exp $
+.\" $Id: curs_util.3x,v 1.27 2008/10/25 23:45:41 tom Exp $
 .TH curs_util 3X ""
+.na
+.hy 0
 .SH NAME
 \fBdelay_output\fR,
 \fBfilter\fR,
 \fBgetwin\fR,
 \fBkey_name\fR,
 \fBkeyname\fR,
+\fBnofilter\fR,
 \fBputwin\fR,
 \fBunctrl\fR,
 \fBuse_env\fR,
 \fBwunctrl\fR - miscellaneous \fBcurses\fR utility routines
+.ad
+.hy
 .SH SYNOPSIS
 \fB#include <curses.h>\fR
 .sp
-\fBconst char *unctrl(chtype c);\fR
+\fBchar *unctrl(chtype c);\fR
 .br
-\fBchar *wunctrl(cchar_t *c);\fR
+\fBwchar_t *wunctrl(cchar_t *c);\fR
 .br
-\fBconst char *keyname(int c);\fR
+\fBchar *keyname(int c);\fR
 .br
 \fBchar *key_name(wchar_t w);\fR
 .br
 \fBvoid filter(void);\fR
 .br
+\fBvoid nofilter(void);\fR
+.br
 \fBvoid use_env(bool f);\fR
 .br
 \fBint putwin(WINDOW *win, FILE *filep);\fR
@@ -71,10 +77,37 @@ Printing characters are displayed as is.
 The corresponding \fBwunctrl\fR returns a printable representation of
 a wide-character.
 .PP
-The \fBkeyname\fR routine returns a character string corresponding to the key \fIc\fR.
+The \fBkeyname\fR routine returns a character string corresponding to the key \fIc\fR:
+.RS 3
+.TP 3
+-
+Printable characters are displayed as themselves, e.g., a one-character string containing the key.
+.TP 3
+-
 Control characters are displayed in the \fB^\fR\fIX\fR notation.
-Values above 128 are either meta characters, shown in the \fBM-\fR\fIX\fR notation,
-or the names of function keys, or null.
+.TP 3
+-
+DEL (character 127) is displayed as \fB^?\fP.
+.TP 3
+-
+Values above 128 are either meta characters
+(if the screen has not been initialized,
+or if \fBmeta\fP has been called with a TRUE parameter),
+shown in the \fBM-\fR\fIX\fR notation,
+or are displayed as themselves.
+In the latter case, the values may not be printable;
+this follows the X/Open specification.
+.TP 3
+-
+Values above 256 may be the names of the names of function keys.
+.TP 3
+-
+Otherwise (if there is no corresponding name) the function returns null,
+to denote an error.
+X/Open also lists an "UNKNOWN KEY" return value, which some implementations
+return rather than null.
+.RE
+.LP
 The corresponding \fBkey_name\fR returns a character string corresponding
 to the wide-character value \fIw\fR.
 The two functions do not return the same set of strings;
@@ -86,6 +119,13 @@ is set to 1; the capabilities \fBclear\fR, \fBcup\fR, \fBcud\fR, \fBcud1\fR,
 \fBcuu1\fR, \fBcuu\fR, \fBvpa\fR are disabled; and the \fBhome\fR string is
 set to the value of \fBcr\fR.
 .PP
+The \fBnofilter\fP routine cancels the effect of a preceding \fBfilter\fP
+call.
+That allows the caller to initialize a screen on a different device,
+using a different value of \fB$TERM\fP.
+The limitation arises because the \fBfilter\fP routine modifies the
+in-memory copy of the terminal information.
+.PP
 The \fBuse_env\fR routine, if used, is called before \fBinitscr\fR or
 \fBnewterm\fR are called.  When called with \fBFALSE\fR as an
 argument, the values of \fBlines\fR and \fBcolumns\fR specified in the
@@ -94,6 +134,8 @@ argument, the values of \fBlines\fR and \fBcolumns\fR specified in the
 \fBcurses\fR is running in a window (in which case default behavior
 would be to use the window size if \fBLINES\fR and \fBCOLUMNS\fR are
 not set).
+Note that setting \fBLINES\fR or \fBCOLUMNS\fR overrides the
+corresponding size which may be obtained from the operating system.
 .PP
 The \fBputwin\fR routine writes all data associated with window \fIwin\fR into
 the file to which \fIfilep\fR points.  This information can be later retrieved
@@ -115,30 +157,99 @@ Except for \fBflushinp\fR, routines that return an integer return \fBERR\fR
 upon failure and \fBOK\fR (SVr4 specifies only "an integer value other than
 \fBERR\fR") upon successful completion.
 .PP
-\fBflushinp\fR always returns \fBOK\fR.
-.PP
 Routines that return pointers return \fBNULL\fR on error.
+.PP
+X/Open does not define any error conditions.
+In this implementation
+.RS 3
+.TP 5
+\fBflushinp\fR
+returns an error if the terminal was not initialized.
+.TP 5
+\fBmeta\fR
+returns an error if the terminal was not initialized.
+.TP 5
+\fBputwin\fP
+returns an error if the associated \fBfwrite\fP calls return an error.
+.RE
 .SH PORTABILITY
 The XSI Curses standard, Issue 4 describes these functions.
 It states that \fBunctrl\fR and \fBwunctrl\fR will return a null pointer if
 unsuccessful, but does not define any error conditions.
+This implementation checks for three cases:
+.RS
+.TP 5
+-
+the parameter is a 7-bit US-ASCII code.
+This is the case that X/Open Curses documented.
+.TP 5
+-
+the parameter is in the range 128-159, i.e., a C1 control code.
+If \fBuse_legacy_coding\fP has been called with a \fB2\fP parameter,
+\fBunctrl\fP 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.
+.IP
+X/Open Curses does not document whether \fBunctrl\fP can be called before
+initializing curses.
+This implementation permits that,
+and returns the ``~@'', etc., values in that case.
+.TP 5
+-
+parameter values outside the 0 to 255 range.
+\fBunctrl\fP returns a null pointer.
+.RE
 .PP
 The SVr4 documentation describes the action of \fBfilter\fR only in the vaguest
 terms.  The description here is adapted from the XSI Curses standard (which
 erroneously fails to describe the disabling of \fBcuu\fR).
 .PP
 The strings returned by \fBunctrl\fR in this implementation are determined
-at compile time, showing C1 controls from the upper-128 codes with a `~'
-prefix rather than `^'.
-Other implementations typically show both sets of control characters with `^',
-and may strip the parameter to 7 bits.
+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 \fBuse_legacy_coding\fP function allows the caller to
+change the output of \fBunctrl\fP.
+.PP
+Likewise, the \fBmeta\fP function allows the caller to change the
+output of \fBkeyname\fP, i.e.,
+it determines whether to use the `M-' prefix
+for ``meta'' keys (codes in the range 128 to 255).
+Both \fBuse_legacy_coding\fP and \fBmeta\fP 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 \fBkeyname\fP is called before initializing curses),
+this implementation returns strings ``M-^@'', ``M-^A'', etc.
+.PP
+The \fBkeyname\fP function may return the names of user-defined
+string capabilities which are defined in the terminfo entry via the \fB-x\fP
+option of \fBtic\fP.
+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 \fBuse_extended_names\fP function controls whether this data is
+loaded when the terminal description is read by the library.
+.PP
+The \fBnofilter\fP routine is specific to ncurses.
+It was 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.
 .SH SEE ALSO
+\fBlegacy_coding\fR(3X),
 \fBcurses\fR(3X),
 \fBcurs_initscr\fR(3X),
 \fBcurs_kernel\fR(3X),
-\fBcurs_scr_dump\fR(3X).
+\fBcurs_scr_dump\fR(3X),
+\fBlegacy_coding\fR(3X).
 .\"#
 .\"# The following sets edit modes for GNU EMACS
 .\"# Local Variables:
index 6f416bf..552862e 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 1998-2000,2003 Free Software Foundation, Inc.              *
+.\" Copyright (c) 1998-2005,2006 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_window.3x,v 1.10 2003/05/10 20:33:49 jmc Exp $
-.\" $DragonFly: src/lib/libncurses/man/curs_window.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: curs_window.3x,v 1.14 2006/02/25 21:49:19 tom Exp $
 .TH curs_window 3X ""
+.na
+.hy 0
 .SH NAME
 \fBnewwin\fR,
 \fBdelwin\fR,
 \fBsyncok\fR,
 \fBwcursyncup\fR,
 \fBwsyncdown\fR - create \fBcurses\fR windows
+.ad
+.hy
 .SH SYNOPSIS
 \fB#include <curses.h>\fR
-
+.sp
 \fBWINDOW *newwin(int nlines, int ncols, int begin_y,\fR
       \fBint begin_x);\fR
 .br
@@ -76,17 +79,17 @@ at line \fIbegin\fR_\fIy\fR, column \fIbegin\fR_\fIx\fR.  If either
 \fInlines\fR or \fIncols\fR is zero, they default to \fBLINES -\fR
 \fIbegin\fR_\fIy\fR and \fBCOLS -\fR \fIbegin\fR_\fIx\fR.  A new full-screen
 window is created by calling \fBnewwin(0,0,0,0)\fR.
-
+.PP
 Calling \fBdelwin\fR 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.
-
+.PP
 Calling \fBmvwin\fR moves the window so that the upper left-hand
 corner is at position (\fIx\fR, \fIy\fR).  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.
-
+.PP
 Calling \fBsubwin\fR creates and returns a pointer to a new window
 with the given number of lines, \fInlines\fR, and columns,
 \fIncols\fR.  The window is at position (\fIbegin\fR_\fIy\fR,
@@ -97,29 +100,29 @@ will affect both windows.  The subwindow shares memory with the window
 \fIorig\fR.  When using this routine, it is necessary to call
 \fBtouchwin\fR or \fBtouchline\fR on \fIorig\fR before calling
 \fBwrefresh\fR on the subwindow.
-
+.PP
 Calling \fBderwin\fR is the same as calling \fBsubwin,\fR except that
 \fIbegin\fR_\fIy\fR and \fIbegin\fR_\fIx\fR are relative to the origin
 of the window \fIorig\fR rather than the screen.  There is no
 difference between the subwindows and the derived windows.
-
+.PP
 Calling \fBmvderwin\fR 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.
-
+.PP
 Calling \fBdupwin\fR creates an exact duplicate of the window \fIwin\fR.
-
+.PP
 Calling \fBwsyncup\fR touches all locations in ancestors of \fIwin\fR that are
 changed in \fIwin\fR.  If \fBsyncok\fR is called with second argument
 \fBTRUE\fR then \fBwsyncup\fR is called automatically whenever there is a
 change in the window.
-
+.PP
 The \fBwsyncdown\fR routine touches each location in \fIwin\fR that has been
 touched in any of its ancestor windows.  This routine is called by
 \fBwrefresh\fR, so it should almost never be necessary to call it manually.
-
+.PP
 The routine \fBwcursyncup\fR updates the current cursor position of all the
 ancestors of the window to reflect the current cursor position of the
 window.
@@ -127,21 +130,46 @@ window.
 Routines that return an integer return the integer \fBERR\fR upon failure and
 \fBOK\fR (SVr4 only specifies "an integer value other than \fBERR\fR") upon
 successful completion.
-
-\fBdelwin\fR returns the integer \fBERR\fR upon failure and \fBOK\fR
-upon successful completion.
-
+.PP
 Routines that return pointers return \fBNULL\fR on error.
+.PP
+X/Open defines no error conditions.
+In this implementation
+.RS
+.TP 5
+\fBdelwin\fR
+returns an error if the window pointer is null, or
+if the window is the parent of another window.
+.IP
+This implementation also maintains a list of windows,
+and checks that the pointer passed to \fBdelwin\fP is one that
+it created, returning an error if it was not..
+.TP 5
+\fBmvderwin\fP
+returns an error
+if the window pointer is null, or
+if some part of the window would be placed off-screen.
+.TP 5
+\fBmvwin\fP
+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.
+.TP 5
+\fBsyncok\fP
+returns an error
+if the window pointer is null.
+.RE
 .SH NOTES
 If many small changes are made to the window, the \fBwsyncup\fR option could
 degrade performance.
-
+.PP
 Note that \fBsyncok\fR may be a macro.
 .SH BUGS
 The subwindow functions (\fIsubwin\fR, \fIderwin\fR, \fImvderwin\fR,
 \fBwsyncup\fR, \fBwsyncdown\fR, \fBwcursyncup\fR, \fBsyncok\fR) are flaky,
 incompletely implemented, and not well tested.
-
+.PP
 The System V curses documentation is very unclear about what \fBwsyncup\fR
 and \fBwsyncdown\fR actually do.  It seems to imply that they are only
 supposed to touch exactly those lines that are affected by ancestor changes.
index 1e2dc17..32518ba 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc.              *
+.\" Copyright (c) 1998-2005,2006 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" Author: Thomas E. Dickey 1997,1999,2000
+.\" Author: Thomas E. Dickey 1997,1999,2000,2005
 .\"
-.\" $Id: default_colors.3x,v 1.17 2003/10/25 20:41:08 tom Exp $
-.\" $DragonFly: src/lib/libncurses/man/default_colors.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: default_colors.3x,v 1.20 2006/12/24 15:02:53 tom Exp $
 .TH default_colors 3X ""
 .SH NAME
 \fBuse_default_colors\fR,
 \fBassume_default_colors\fR \- use terminal's default colors
 .SH SYNOPSIS
 \fB#include <curses.h>\fP
-
+.sp
 \fBint use_default_colors(void);\fP
 .br
 \fBint assume_default_colors(int fg, int bg);\fP
@@ -105,9 +104,28 @@ the \fIorig_pair\fP or \fIorig_colors\fP capability.
 If the \fIinitialize_pair\fP capability is found, this causes an
 error as well.
 .SH NOTES
-Associated with this extension, the \fBinit_pair\fR(3X) function accepts
-negative arguments to specify default foreground or background
-colors.
+Associated with this extension, the \fBinit_pair\fR function accepts
+negative arguments to specify default foreground or background colors.
+.PP
+The \fIuse_default_colors()\fP function was added to support \fIded\fP.
+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
+\fIorig_pair\fP and \fIback_color_erase\fP capabilities.
+.PP
+The \fIassume_default_colors()\fP 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.
 .SH PORTABILITY
 These routines are specific to ncurses.  They were not supported on
 Version 7, BSD or System V implementations.  It is recommended that
index 940d2a7..216a3cb 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 2003 Free Software Foundation, Inc.                        *
+.\" Copyright (c) 1998-2004,2006 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            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" Author: Thomas E. Dickey 2003
+.\" Author: Thomas E. Dickey 1997
 .\"
-.\" $Id: key_defined.3x,v 1.2 2003/05/17 23:24:45 tom Exp $
-.\" $DragonFly: src/lib/libncurses/man/define_key.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
-.TH key_defined 3X ""
+.\" $Id: define_key.3x,v 1.12 2006/02/25 21:49:19 tom Exp $
+.TH define_key 3X ""
 .SH NAME
 \fBdefine_key\fP \- define a keycode
 .SH SYNOPSIS
 \fB#include <curses.h>\fP
-
-\fBint key_defined(const char *definition);\fP
+.sp
+\fBint define_key(const char *definition, int keycode);\fP
 .SH DESCRIPTION
 This is an extension to the curses library.
-It permits an application to determine if a string is currently bound
-to any keycode.
+It permits an application to define keycodes with their corresponding control
+strings, so that the ncurses library will interpret them just as it would
+the predefined codes in the terminfo database.
+.PP
+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.
 .SH RETURN VALUE
-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.
+The keycode must be greater than zero, else ERR is returned.
 .SH PORTABILITY
 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 conditioned using NCURSES_VERSION.
 .SH SEE ALSO
-\fBdefine_key\fR(3X).
+\fBkeyok\fR(3X),
+\fBkey_defined\fR(3X).
 .SH AUTHOR
 Thomas Dickey.
 .\"#
index 833764e..dcba19b 100644 (file)
@@ -1,6 +1,6 @@
 '\" t
 .\"***************************************************************************
-.\" Copyright (c) 1998,2002 Free Software Foundation, Inc.                   *
+.\" Copyright (c) 1998-2006,2008 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,8 +27,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: form.3x,v 1.15 2002/01/19 22:48:05 tom Exp $
-.\" $DragonFly: src/lib/libncurses/man/form.3,v 1.1 2005/03/12 19:13:54 eirikn Exp $
+.\" $Id: form.3x,v 1.22 2008/10/11 20:48:11 tom Exp $
 .TH form 3X ""
 .SH NAME
 \fBform\fR - curses extension for programming forms
@@ -41,26 +40,34 @@ 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 \fBform\fR library uses the \fBcurses\fR libraries, and a curses
-initialization routine such as \fBinitscr\fR must be called before using any of
-these functions.  To use the \fBform\fR library, link with the options
+.PP
+The \fBform\fR library uses the \fBcurses\fR libraries.
+To use the \fBform\fR library, link with the options
 \fB-lform -lcurses\fR.
-
+.PP
+Your program should set up the locale, e.g.,
+.sp
+     \fBsetlocale(LC_ALL, "");\fP
+.sp
+so that input/output processing will work.
+.PP
+A curses initialization routine such as \fBinitscr\fR must be called
+before using any of these functions.
+.
 .SS Current Default Values for Field Attributes
-
+.
 The \fBform\fR library maintains a default value for field attributes.  You
 can get or set this default by calling the appropriate \fBset_\fR
 or retrieval
 routine with a \fBNULL\fR field pointer.  Changing this default with a
 \fBset_\fR function affects future field creations, but does not change the
 rendering of fields already created.
-
+.
 .SS Routine Name Index
-
+.
 The following table lists each \fBform\fR routine and the name of
 the manual page on which it is described.
-
+.
 .TS
 l l
 l l .
@@ -70,7 +77,7 @@ current_field \fBform_page\fR(3X)
 data_ahead     \fBform_data\fR(3X)
 data_behind    \fBform_data\fR(3X)
 dup_field      \fBform_field_new\fR(3X)
-dynamic_fieldinfo      \fBform_field_info\fR(3X)
+dynamic_field_info     \fBform_field_info\fR(3X)
 field_arg      \fBform_field_validation\fR(3X)
 field_back     \fBform_field_attributes\fR(3X)
 field_buffer   \fBform_field_buffer\fR(3X)
@@ -102,11 +109,13 @@ form_term \fBform_hook\fR(3X)
 form_userptr   \fBform_userptr\fR(3X)
 form_win       \fBform_win\fR(3X)
 free_field     \fBform_field_new\fR(3X)
+free_fieldtype \fBform_fieldtype\fR(3X)
 free_form      \fBform_new\fR(3X)
 link_field     \fBform_field_new\fR(3X)
 link_fieldtype \fBform_fieldtype\fR(3X)
 move_field     \fBform_field\fR(3X)
 new_field      \fBform_field_new\fR(3X)
+new_fieldtype  \fBform_fieldtype\fR(3X)
 new_form       \fBform_new\fR(3X)
 new_page       \fBform_new_page\fR(3X)
 pos_form_cursor        \fBform_cursor\fR(3X)
@@ -139,60 +148,66 @@ set_new_page      \fBform_new_page\fR(3X)
 unpost_form    \fBform_post\fR(3X)
 .TE
 .SH RETURN VALUE
-Routines that return pointers return \fBNULL\fR on error.  Routines that return
+Routines that return pointers return \fBNULL\fR 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:
 .TP 5
-\fBE_OK\fR
+.B E_OK
 The routine succeeded.
 .TP 5
-\fBE_CONNECTED\fR
-The field is already connected to a form.
-.TP 5
-\fBE_SYSTEM_ERROR\fR
-System error occurred (see \fBerrno\fR).
-.TP 5
-\fBE_BAD_ARGUMENT\fR
+.B E_BAD_ARGUMENT
 Routine detected an incorrect or out-of-range argument.
 .TP 5
-\fBE_POSTED\fR
-The form is already posted.
-.TP 5
-\fBE_BAD_STATE\fR
+.B E_BAD_STATE
 Routine was called from an initialization or termination function.
 .TP 5
-\fBE_NO_ROOM\fR
-Form is too large for its window.
-.TP 5
-\fBE_NOT_POSTED\fR
-The form has not been posted.
-.TP 5
-\fBE_UNKNOWN_COMMAND\fR
-The form driver code saw an unknown request code.
+.B E_CONNECTED
+The field is already connected to a form.
 .TP 5
-\fBE_INVALID_FIELD\fR
+.B E_INVALID_FIELD
 Contents of a