ncurses: Upgrade version 5.9 (20110402) => 6.0 (20160305)
authorJohn Marino <draco@marino.st>
Fri, 11 Mar 2016 19:11:40 +0000 (20:11 +0100)
committerJohn Marino <draco@marino.st>
Fri, 11 Mar 2016 20:00:59 +0000 (21:00 +0100)
The tic program has been updated at the same time.
The symbol maps were expanded using the vendor symbol maps so they
should be more accurate than before.  Only one new symbol came in
for the 6.0 version, but I didn't see it present in any library.

For now, the ncurses headers are still being installed.  They may
be removed later if dports will support it and it doesn't cause
problem with unix specifications.  (On DragonFly, the ncurses
base libraries are private so in theory the headers should be too).

23 files changed:
Makefile_upgrade.inc
lib/libncurses/Makefile
lib/libncurses/Makefile.inc
lib/libncurses/Symbol.base.map [new file with mode: 0644]
lib/libncurses/Symbol.wide.map [new file with mode: 0644]
lib/libncurses/Versions.def
lib/libncurses/include/MKterm.h.awk
lib/libncurses/include/curses.head
lib/libncurses/include/ncurses_cfg.h
lib/libncurses/include/ncurses_dll.h
lib/libncurses/include/termcap.h
lib/libncurses/include/unctrl.h
lib/libncurses/libncurses/Makefile
lib/libncurses/libncurses/Symbol.map [deleted file]
lib/libncurses/libncursesw/Makefile
lib/libncurses/libncursesw/Symbol.map [deleted file]
lib/libncurses/libpanel/Makefile
lib/libncurses/libpanel/Symbol.map [deleted file]
lib/libncurses/libpanelw/Makefile
lib/libncurses/libpanelw/Symbol.map [deleted file]
share/terminfo/Makefile.entries
usr.bin/tic/Makefile
usr.bin/tic/tic.1

index b497c5d..8596626 100644 (file)
@@ -3085,6 +3085,7 @@ TO_REMOVE+=/usr/lib/priv/profile/libprivate_termlib.a
 TO_REMOVE+=/usr/lib/priv/profile/libprivate_termlibw.a
 TO_REMOVE+=/usr/lib/priv/profile/libprivate_tinfo.a
 TO_REMOVE+=/usr/lib/priv/profile/libprivate_tinfow.a
+TO_REMOVE+=/usr/share/terminfo/s/screen-bce.mlterm
 
 .if !defined(WANT_INSTALLER)
 TO_REMOVE+=/usr/sbin/dfuibe_installer
index af03df7..84d8bd4 100644 (file)
@@ -1,7 +1,8 @@
-SUBDIR=        \
-       libncurses \
+SUBDIR=        libncurses \
        libpanel \
        libncursesw \
        libpanelw
 
+SUBDIR_ORDERED=
+
 .include <bsd.subdir.mk>
index 9ad71d7..c9d0955 100644 (file)
@@ -1,14 +1,20 @@
 NCURSESDIR=    ${.CURDIR}/../../../contrib/ncurses
 
+SHLIB_MAJOR=   60
+VERSION_DEF=   ${.CURDIR}/../Versions.def
+SYMBOL_MAPS=   ${.CURDIR}/../Symbol.base.map
+TERMINFO_CAPS=  ${NCURSESDIR}/include/Caps
+
 .if defined (ENABLE_WIDEC)
 CFLAGS+=       -D_XOPEN_SOURCE_EXTENDED
 CFLAGS+=       -DENABLE_WIDEC
-CFLAGS+=       -DSET_NCURSES_CH_T=cchar_t
-CFLAGS+=       -DSET_NEED_WCHAR_H=1
+SW_WIDEC=      1
+SW_TYPE=       cchar_t
 LIB_SUFFIX=    w
+SYMBOL_MAPS+=  ${.CURDIR}/../Symbol.wide.map
 .else
-CFLAGS+=       -DSET_NCURSES_CH_T=chtype
-CFLAGS+=       -DSET_NEED_WCHAR_H=0
+SW_WIDEC=      0
+SW_TYPE=       chtype
 LIB_SUFFIX=
 .endif
 
@@ -19,12 +25,31 @@ CFLAGS+=    -I${.CURDIR}/../include
 CFLAGS+=       -I${.CURDIR}
 CFLAGS+=       -I${.OBJDIR}
 
-SHLIB_MAJOR=   59
+.PATH: ${NCURSESDIR}/include ${.CURDIR}/../include
+.if defined(ZPANEL)
+.PATH: ${NCURSESDIR}/panel
+.endif
+.if defined(ZNCURSES)
+.PATH: ${NCURSESBASEDIR}
+.PATH: ${NCURSESSERIALDIR}
+.PATH: ${NCURSESTINFODIR}
+.PATH: ${NCURSESDIR}/ncurses/trace
+. if defined (ENABLE_WIDEC)
+.PATH: ${NCURSESDIR}/ncurses/widechar
+. endif
+.endif
 
-VERSION_DEF=   ${.CURDIR}/../Versions.def
-SYMBOL_MAPS=   ${.CURDIR}/../lib${LIB:S|private_||:S|w||}/Symbol.map
+ncurses_def.h: MKncurses_def.sh ncurses_defs
+       AWK=awk sh ${NCURSESDIR}/include/MKncurses_def.sh \
+       ${NCURSESDIR}/include/ncurses_defs > ${.TARGET}
+
+curses.h: $(TERMINFO_CAPS) curses.head curses.tail MKkey_defs.sh
+       cat ${.CURDIR}/../include/curses.head | \
+       sed -e 's|SET_NEED_WCHAR_H|${SW_WIDEC}|' \
+           -e 's|SET_NCURSES_CH_T|${SW_TYPE}|' > ${.TARGET}.new
+       AWK=awk sh ${NCURSESDIR}/include/MKkey_defs.sh $(TERMINFO_CAPS) >> ${.TARGET}.new
 .if defined(ENABLE_WIDEC)
-SYMBOL_MAPS+=  ${.CURDIR}/Symbol.map
+       cat ${NCURSESDIR}/include/curses.wide >> ${.TARGET}.new
 .endif
-
-TERMINFO_CAPS=  ${NCURSESDIR}/include/Caps
+       cat ${NCURSESDIR}/include/curses.tail >> ${.TARGET}.new
+       mv -f ${.TARGET}.new ${.TARGET}
diff --git a/lib/libncurses/Symbol.base.map b/lib/libncurses/Symbol.base.map
new file mode 100644 (file)
index 0000000..0c79e7a
--- /dev/null
@@ -0,0 +1,802 @@
+NCURSES_5.9 {
+       BC;
+       COLORS;
+       COLOR_PAIR;
+       COLOR_PAIRS;
+       COLS;
+       ESCDELAY;
+       LINES;
+       PAIR_NUMBER;
+       PC;
+       SP;
+       TABSIZE;
+       TYPE_ALNUM;
+       TYPE_ALPHA;
+       TYPE_ENUM;
+       TYPE_INTEGER;
+       TYPE_IPV4;
+       TYPE_NUMERIC;
+       TYPE_REGEXP;
+       UP;
+       _nc_Default_Field;
+       _nc_Default_Form;
+       _nc_access;
+       _nc_add_to_try;
+       _nc_align_termtype;
+       _nc_alloc_entry_leaks;
+       _nc_basename;
+       _nc_capcmp;
+       _nc_captoinfo_leaks;
+       _nc_check_termtype2;
+       _nc_check_termtype;
+       _nc_comp_scan_leaks;
+       _nc_copy_termtype;
+       _nc_curr_col;
+       _nc_curr_line;
+       _nc_db_close;
+       _nc_db_first;
+       _nc_db_have_data;
+       _nc_db_next;
+       _nc_db_open;
+       _nc_db_put;
+       _nc_disable_period;
+       _nc_doalloc;
+       _nc_entry_match;
+       _nc_env_access;
+       _nc_err_abort;
+       _nc_eventlist_timeout;
+       _nc_fallback;
+       _nc_find_entry;
+       _nc_find_type_entry;
+       _nc_first_db;
+       _nc_first_name;
+       _nc_flush;
+       _nc_flush_sp;
+       _nc_free_and_exit;
+       _nc_free_entries;
+       _nc_free_termtype;
+       _nc_free_tic;
+       _nc_free_tinfo;
+       _nc_free_tparm;
+       _nc_freeall;
+       _nc_get_alias_table;
+       _nc_get_hash_table;
+       _nc_get_locale;
+       _nc_get_screensize;
+       _nc_get_source;
+       _nc_get_table;
+       _nc_get_tty_mode;
+       _nc_get_tty_mode_sp;
+       _nc_get_type;
+       _nc_getenv_num;
+       _nc_globals;
+       _nc_handle_sigwinch;
+       _nc_has_mouse;
+       _nc_head;
+       _nc_home_terminfo;
+       _nc_info_hash_table;
+       _nc_infotocap;
+       _nc_init_acs;
+       _nc_init_acs_sp;
+       _nc_init_termtype;
+       _nc_is_abs_path;
+       _nc_is_dir_path;
+       _nc_is_file_path;
+       _nc_keep_tic_dir;
+       _nc_keyname_leaks;
+       _nc_keypad;
+       _nc_last_db;
+       _nc_leaks_tinfo;
+       _nc_locale_breaks_acs;
+       _nc_name_match;
+       _nc_next_db;
+       _nc_optimize_enable;
+       _nc_outc_wrapper;
+       _nc_outch;
+       _nc_outch_sp;
+       _nc_outchars;
+       _nc_panelhook;
+       _nc_panelhook_sp;
+       _nc_pathlast;
+       _nc_prescreen;
+       _nc_putchar;
+       _nc_putchar_sp;
+       _nc_putp;
+       _nc_putp_flush;
+       _nc_putp_flush_sp;
+       _nc_putp_sp;
+       _nc_read_entry;
+       _nc_read_entry_source;
+       _nc_read_file_entry;
+       _nc_read_termtype;
+       _nc_reset_input;
+       _nc_resolve_uses2;
+       _nc_resolve_uses;
+       _nc_retrace_attr_t;
+       _nc_retrace_bool;
+       _nc_retrace_chtype;
+       _nc_retrace_cptr;
+       _nc_retrace_cvoid_ptr;
+       _nc_retrace_int;
+       _nc_retrace_int_attr_t;
+       _nc_retrace_ptr;
+       _nc_retrace_sp;
+       _nc_retrace_unsigned;
+       _nc_retrace_void_ptr;
+       _nc_retrace_win;
+       _nc_ripoffline;
+       _nc_rootname;
+       _nc_safe_strcat;
+       _nc_safe_strcpy;
+       _nc_screen_chain;
+       _nc_screen_of;
+       _nc_set_buffer;
+       _nc_set_buffer_sp;
+       _nc_set_no_padding;
+       _nc_set_source;
+       _nc_set_tty_mode;
+       _nc_set_tty_mode_sp;
+       _nc_set_type;
+       _nc_set_writedir;
+       _nc_setupterm;
+       _nc_str_copy;
+       _nc_str_init;
+       _nc_str_null;
+       _nc_strict_bsd;
+       _nc_suppress_warnings;
+       _nc_syntax;
+       _nc_syserr_abort;
+       _nc_tail;
+       _nc_tgetent_leaks;
+       _nc_tic_dir;
+       _nc_tic_expand;
+       _nc_tic_written;
+       _nc_timed_wait;
+       _nc_tinfo_fkeys;
+       _nc_tinfo_fkeysf;
+       _nc_tparm_analyze;
+       _nc_tparm_err;
+       _nc_tputs_trace;
+       _nc_trace_buf;
+       _nc_trace_bufcat;
+       _nc_tracechar;
+       _nc_tracing;
+       _nc_trans_string;
+       _nc_trim_sgr0;
+       _nc_unicode_locale;
+       _nc_update_screensize;
+       _nc_user_definable;
+       _nc_visbuf2;
+       _nc_visbuf;
+       _nc_visbufn;
+       _nc_viscbuf;
+       _nc_warning;
+       _nc_write_entry;
+       _traceattr2;
+       _traceattr;
+       _tracechar;
+       _tracechtype2;
+       _tracechtype;
+       _tracef;
+       acs_map;
+       addch;
+       addchnstr;
+       addchstr;
+       addnstr;
+       addstr;
+       assume_default_colors;
+       assume_default_colors_sp;
+       attr_get;
+       attr_off;
+       attr_on;
+       attr_set;
+       attroff;
+       attron;
+       attrset;
+       baudrate;
+       baudrate_sp;
+       beep;
+       beep_sp;
+       bkgd;
+       bkgdset;
+       boolcodes;
+       boolfnames;
+       boolnames;
+       border;
+       bottom_panel;
+       box;
+       can_change_color;
+       can_change_color_sp;
+       cbreak;
+       cbreak_sp;
+       ceiling_panel;
+       chgat;
+       clear;
+       clearok;
+       clrtobot;
+       clrtoeol;
+       color_content;
+       color_content_sp;
+       color_set;
+       copywin;
+       cur_term;
+       current_field;
+       current_item;
+       curs_set;
+       curs_set_sp;
+       curscr;
+       curses_version;
+       data_ahead;
+       data_behind;
+       def_prog_mode;
+       def_prog_mode_sp;
+       def_shell_mode;
+       def_shell_mode_sp;
+       define_key;
+       define_key_sp;
+       del_curterm;
+       del_curterm_sp;
+       del_panel;
+       delay_output;
+       delay_output_sp;
+       delch;
+       deleteln;
+       delscreen;
+       delwin;
+       derwin;
+       doupdate;
+       doupdate_sp;
+       dup_field;
+       dupwin;
+       dynamic_field_info;
+       echo;
+       echo_sp;
+       echochar;
+       endwin;
+       endwin_sp;
+       erase;
+       erasechar;
+       erasechar_sp;
+       field_arg;
+       field_back;
+       field_buffer;
+       field_count;
+       field_fore;
+       field_index;
+       field_info;
+       field_init;
+       field_just;
+       field_opts;
+       field_opts_off;
+       field_opts_on;
+       field_pad;
+       field_status;
+       field_term;
+       field_type;
+       field_userptr;
+       filter;
+       filter_sp;
+       flash;
+       flash_sp;
+       flushinp;
+       flushinp_sp;
+       form_driver;
+       form_fields;
+       form_init;
+       form_opts;
+       form_opts_off;
+       form_opts_on;
+       form_page;
+       form_request_by_name;
+       form_request_name;
+       form_sub;
+       form_term;
+       form_userptr;
+       form_win;
+       free_field;
+       free_fieldtype;
+       free_form;
+       free_item;
+       free_menu;
+       get_escdelay;
+       get_escdelay_sp;
+       getattrs;
+       getbegx;
+       getbegy;
+       getbkgd;
+       getch;
+       getcurx;
+       getcury;
+       getmaxx;
+       getmaxy;
+       getmouse;
+       getmouse_sp;
+       getnstr;
+       getparx;
+       getpary;
+       getstr;
+       getwin;
+       getwin_sp;
+       ground_panel;
+       halfdelay;
+       halfdelay_sp;
+       has_colors;
+       has_colors_sp;
+       has_ic;
+       has_ic_sp;
+       has_il;
+       has_il_sp;
+       has_key;
+       has_key_sp;
+       has_mouse;
+       has_mouse_sp;
+       hide_panel;
+       hline;
+       idcok;
+       idlok;
+       immedok;
+       inch;
+       inchnstr;
+       inchstr;
+       init_color;
+       init_color_sp;
+       init_pair;
+       init_pair_sp;
+       initscr;
+       innstr;
+       insch;
+       insdelln;
+       insertln;
+       insnstr;
+       insstr;
+       instr;
+       intrflush;
+       intrflush_sp;
+       is_cleared;
+       is_idcok;
+       is_idlok;
+       is_immedok;
+       is_keypad;
+       is_leaveok;
+       is_linetouched;
+       is_nodelay;
+       is_notimeout;
+       is_pad;
+       is_scrollok;
+       is_subwin;
+       is_syncok;
+       is_term_resized;
+       is_term_resized_sp;
+       is_wintouched;
+       isendwin;
+       isendwin_sp;
+       item_count;
+       item_description;
+       item_index;
+       item_init;
+       item_name;
+       item_opts;
+       item_opts_off;
+       item_opts_on;
+       item_term;
+       item_userptr;
+       item_value;
+       item_visible;
+       key_defined;
+       key_defined_sp;
+       keybound;
+       keybound_sp;
+       keyname;
+       keyname_sp;
+       keyok;
+       keyok_sp;
+       keypad;
+       killchar;
+       killchar_sp;
+       leaveok;
+       link_field;
+       link_fieldtype;
+       longname;
+       mcprint;
+       mcprint_sp;
+       menu_back;
+       menu_driver;
+       menu_fore;
+       menu_format;
+       menu_grey;
+       menu_init;
+       menu_items;
+       menu_mark;
+       menu_opts;
+       menu_opts_off;
+       menu_opts_on;
+       menu_pad;
+       menu_pattern;
+       menu_request_by_name;
+       menu_request_name;
+       menu_spacing;
+       menu_sub;
+       menu_term;
+       menu_userptr;
+       menu_win;
+       meta;
+       mouse_trafo;
+       mouseinterval;
+       mouseinterval_sp;
+       mousemask;
+       mousemask_sp;
+       move;
+       move_field;
+       move_panel;
+       mvaddch;
+       mvaddchnstr;
+       mvaddchstr;
+       mvaddnstr;
+       mvaddstr;
+       mvchgat;
+       mvcur;
+       mvcur_sp;
+       mvdelch;
+       mvderwin;
+       mvgetch;
+       mvgetnstr;
+       mvgetstr;
+       mvhline;
+       mvinch;
+       mvinchnstr;
+       mvinchstr;
+       mvinnstr;
+       mvinsch;
+       mvinsnstr;
+       mvinsstr;
+       mvinstr;
+       mvprintw;
+       mvscanw;
+       mvvline;
+       mvwaddch;
+       mvwaddchnstr;
+       mvwaddchstr;
+       mvwaddnstr;
+       mvwaddstr;
+       mvwchgat;
+       mvwdelch;
+       mvwgetch;
+       mvwgetnstr;
+       mvwgetstr;
+       mvwhline;
+       mvwin;
+       mvwinch;
+       mvwinchnstr;
+       mvwinchstr;
+       mvwinnstr;
+       mvwinsch;
+       mvwinsnstr;
+       mvwinsstr;
+       mvwinstr;
+       mvwprintw;
+       mvwscanw;
+       mvwvline;
+       napms;
+       napms_sp;
+       new_field;
+       new_fieldtype;
+       new_form;
+       new_form_sp;
+       new_item;
+       new_menu;
+       new_menu_sp;
+       new_page;
+       new_panel;
+       new_prescr;
+       newpad;
+       newpad_sp;
+       newscr;
+       newterm;
+       newterm_sp;
+       newwin;
+       newwin_sp;
+       nl;
+       nl_sp;
+       nocbreak;
+       nocbreak_sp;
+       nodelay;
+       noecho;
+       noecho_sp;
+       nofilter;
+       nofilter_sp;
+       nonl;
+       nonl_sp;
+       noqiflush;
+       noqiflush_sp;
+       noraw;
+       noraw_sp;
+       notimeout;
+       numcodes;
+       numfnames;
+       numnames;
+       ospeed;
+       overlay;
+       overwrite;
+       pair_content;
+       pair_content_sp;
+       panel_above;
+       panel_below;
+       panel_hidden;
+       panel_userptr;
+       panel_window;
+       pechochar;
+       pnoutrefresh;
+       pos_form_cursor;
+       pos_menu_cursor;
+       post_form;
+       post_menu;
+       prefresh;
+       printw;
+       putp;
+       putp_sp;
+       putwin;
+       qiflush;
+       qiflush_sp;
+       raw;
+       raw_sp;
+       redrawwin;
+       refresh;
+       replace_panel;
+       reset_prog_mode;
+       reset_prog_mode_sp;
+       reset_shell_mode;
+       reset_shell_mode_sp;
+       resetty;
+       resetty_sp;
+       resize_term;
+       resize_term_sp;
+       resizeterm;
+       resizeterm_sp;
+       restartterm;
+       restartterm_sp;
+       ripoffline;
+       ripoffline_sp;
+       savetty;
+       savetty_sp;
+       scale_form;
+       scale_menu;
+       scanw;
+       scr_dump;
+       scr_init;
+       scr_init_sp;
+       scr_restore;
+       scr_restore_sp;
+       scr_set;
+       scr_set_sp;
+       scrl;
+       scroll;
+       scrollok;
+       set_current_field;
+       set_current_item;
+       set_curterm;
+       set_curterm_sp;
+       set_escdelay;
+       set_escdelay_sp;
+       set_field_back;
+       set_field_buffer;
+       set_field_fore;
+       set_field_init;
+       set_field_just;
+       set_field_opts;
+       set_field_pad;
+       set_field_status;
+       set_field_term;
+       set_field_type;
+       set_field_userptr;
+       set_fieldtype_arg;
+       set_fieldtype_choice;
+       set_form_fields;
+       set_form_init;
+       set_form_opts;
+       set_form_page;
+       set_form_sub;
+       set_form_term;
+       set_form_userptr;
+       set_form_win;
+       set_item_init;
+       set_item_opts;
+       set_item_term;
+       set_item_userptr;
+       set_item_value;
+       set_max_field;
+       set_menu_back;
+       set_menu_fore;
+       set_menu_format;
+       set_menu_grey;
+       set_menu_init;
+       set_menu_items;
+       set_menu_mark;
+       set_menu_opts;
+       set_menu_pad;
+       set_menu_pattern;
+       set_menu_spacing;
+       set_menu_sub;
+       set_menu_term;
+       set_menu_userptr;
+       set_menu_win;
+       set_new_page;
+       set_panel_userptr;
+       set_tabsize;
+       set_tabsize_sp;
+       set_term;
+       set_top_row;
+       setscrreg;
+       setupterm;
+       show_panel;
+       slk_attr;
+       slk_attr_off;
+       slk_attr_on;
+       slk_attr_set;
+       slk_attr_set_sp;
+       slk_attr_sp;
+       slk_attroff;
+       slk_attroff_sp;
+       slk_attron;
+       slk_attron_sp;
+       slk_attrset;
+       slk_attrset_sp;
+       slk_clear;
+       slk_clear_sp;
+       slk_color;
+       slk_color_sp;
+       slk_init;
+       slk_init_sp;
+       slk_label;
+       slk_label_sp;
+       slk_noutrefresh;
+       slk_noutrefresh_sp;
+       slk_refresh;
+       slk_refresh_sp;
+       slk_restore;
+       slk_restore_sp;
+       slk_set;
+       slk_set_sp;
+       slk_touch;
+       slk_touch_sp;
+       standend;
+       standout;
+       start_color;
+       start_color_sp;
+       stdscr;
+       strcodes;
+       strfnames;
+       strnames;
+       subpad;
+       subwin;
+       syncok;
+       termattrs;
+       termattrs_sp;
+       termname;
+       termname_sp;
+       tgetent;
+       tgetent_sp;
+       tgetflag;
+       tgetflag_sp;
+       tgetnum;
+       tgetnum_sp;
+       tgetstr;
+       tgetstr_sp;
+       tgoto;
+       tigetflag;
+       tigetflag_sp;
+       tigetnum;
+       tigetnum_sp;
+       tigetstr;
+       tigetstr_sp;
+       timeout;
+       tiparm;
+       top_panel;
+       top_row;
+       touchline;
+       touchwin;
+       tparm;
+       tputs;
+       tputs_sp;
+       trace;
+       ttytype;
+       typeahead;
+       typeahead_sp;
+       unctrl;
+       unctrl_sp;
+       ungetch;
+       ungetch_sp;
+       ungetmouse;
+       ungetmouse_sp;
+       unpost_form;
+       unpost_menu;
+       untouchwin;
+       update_panels;
+       update_panels_sp;
+       use_default_colors;
+       use_default_colors_sp;
+       use_env;
+       use_env_sp;
+       use_extended_names;
+       use_legacy_coding;
+       use_legacy_coding_sp;
+       use_screen;
+       use_tioctl;
+       use_tioctl_sp;
+       use_window;
+       vid_attr;
+       vidattr;
+       vidattr_sp;
+       vidputs;
+       vidputs_sp;
+       vline;
+       vw_printw;
+       vw_scanw;
+       vwprintw;
+       vwscanw;
+       waddch;
+       waddchnstr;
+       waddchstr;
+       waddnstr;
+       waddstr;
+       wattr_get;
+       wattr_off;
+       wattr_on;
+       wattr_set;
+       wattroff;
+       wattron;
+       wattrset;
+       wbkgd;
+       wbkgdset;
+       wborder;
+       wchgat;
+       wclear;
+       wclrtobot;
+       wclrtoeol;
+       wcolor_set;
+       wcursyncup;
+       wdelch;
+       wdeleteln;
+       wechochar;
+       wenclose;
+       werase;
+       wgetch;
+       wgetch_events;
+       wgetdelay;
+       wgetnstr;
+       wgetnstr_events;
+       wgetparent;
+       wgetscrreg;
+       wgetstr;
+       whline;
+       winch;
+       winchnstr;
+       winchstr;
+       winnstr;
+       winsch;
+       winsdelln;
+       winsertln;
+       winsnstr;
+       winsstr;
+       winstr;
+       wmouse_trafo;
+       wmove;
+       wnoutrefresh;
+       wprintw;
+       wredrawln;
+       wrefresh;
+       wresize;
+       wscanw;
+       wscrl;
+       wsetscrreg;
+       wstandend;
+       wstandout;
+       wsyncdown;
+       wsyncup;
+       wtimeout;
+       wtouchln;
+       wvline;
+};
+
+NCURSES_6.0 {
+       _nc_write_object;
+};
diff --git a/lib/libncurses/Symbol.wide.map b/lib/libncurses/Symbol.wide.map
new file mode 100644 (file)
index 0000000..33a9d36
--- /dev/null
@@ -0,0 +1,112 @@
+NCURSES_5.9 {
+       _nc_altcharset_name;
+       _nc_utf8_outch;
+       _nc_viswbuf;
+       _nc_viswbufn;
+       _nc_viswibuf;
+       _nc_wacs;
+       _nc_wchstrlen;
+       _nc_wcrtomb;
+       _tracecchar_t2;
+       _tracecchar_t;
+       add_wch;
+       add_wchnstr;
+       add_wchstr;
+       addnwstr;
+       addwstr;
+       bkgrnd;
+       bkgrndset;
+       border_set;
+       box_set;
+       echo_wchar;
+       erasewchar;
+       form_driver_w;
+       get_wch;
+       get_wstr;
+       getbkgrnd;
+       getcchar;
+       getn_wstr;
+       hline_set;
+       in_wch;
+       in_wchnstr;
+       in_wchstr;
+       innwstr;
+       ins_nwstr;
+       ins_wch;
+       ins_wstr;
+       inwstr;
+       key_name;
+       killwchar;
+       mvadd_wch;
+       mvadd_wchnstr;
+       mvadd_wchstr;
+       mvaddnwstr;
+       mvaddwstr;
+       mvget_wch;
+       mvget_wstr;
+       mvgetn_wstr;
+       mvhline_set;
+       mvin_wch;
+       mvin_wchnstr;
+       mvin_wchstr;
+       mvinnwstr;
+       mvins_nwstr;
+       mvins_wch;
+       mvins_wstr;
+       mvinwstr;
+       mvvline_set;
+       mvwadd_wch;
+       mvwadd_wchnstr;
+       mvwadd_wchstr;
+       mvwaddnwstr;
+       mvwaddwstr;
+       mvwget_wch;
+       mvwget_wstr;
+       mvwgetn_wstr;
+       mvwhline_set;
+       mvwin_wch;
+       mvwin_wchnstr;
+       mvwin_wchstr;
+       mvwinnwstr;
+       mvwins_nwstr;
+       mvwins_wch;
+       mvwins_wstr;
+       mvwinwstr;
+       mvwvline_set;
+       pecho_wchar;
+       setcchar;
+       slk_wset;
+       term_attrs;
+       term_attrs_sp;
+       unget_wch;
+       unget_wch_sp;
+       vid_attr_sp;
+       vid_puts;
+       vid_puts_sp;
+       vline_set;
+       wadd_wch;
+       wadd_wchnstr;
+       wadd_wchstr;
+       waddnwstr;
+       waddwstr;
+       wbkgrnd;
+       wbkgrndset;
+       wborder_set;
+       wecho_wchar;
+       wget_wch;
+       wget_wstr;
+       wgetbkgrnd;
+       wgetn_wstr;
+       whline_set;
+       win_wch;
+       win_wchnstr;
+       win_wchstr;
+       winnwstr;
+       wins_nwstr;
+       wins_wch;
+       wins_wstr;
+       winwstr;
+       wunctrl;
+       wunctrl_sp;
+       wvline_set;
+};
index e70187b..0cd7697 100644 (file)
@@ -1,5 +1,8 @@
 NCURSES_5.9 {
 };
 
-NCURSESprivate_1.0 {
+NCURSES_6.0 {
 } NCURSES_5.9;
+
+NCURSESprivate_1.0 {
+} NCURSES_6.0;
index c9df74a..78f4786 100644 (file)
@@ -1,7 +1,7 @@
 # vile:awkmode
 BEGIN          {
                    print  "/****************************************************************************"
-                   print  " * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc.              *"
+                   print  " * Copyright (c) 1998-2011,2013 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            *"
@@ -34,7 +34,7 @@ BEGIN         {
                    print  "/*    and: Thomas E. Dickey                        1995-on                  */"
                    print  "/****************************************************************************/"
                    print  ""
-                   print  "/* $Id: MKterm.h.awk.in,v 1.58 2010/01/09 19:53:26 tom Exp $ */"
+                   print  "/* $Id: MKterm.h.awk.in,v 1.62 2013/08/17 19:21:56 tom Exp $ */"
                    print  ""
                    print  "/*"
                    print  "**  term.h -- Definition of struct term"
@@ -44,7 +44,7 @@ BEGIN         {
                    print  "#define NCURSES_TERM_H_incl 1"
                    print  ""
                    print  "#undef  NCURSES_VERSION"
-                   print  "#define NCURSES_VERSION \"5.9\""
+                   print  "#define NCURSES_VERSION \"6.0\""
                    print  ""
                    print  "#include <ncurses_dll.h>"
                    print  ""
@@ -62,6 +62,12 @@ BEGIN                {
                    print  "#undef  NCURSES_SBOOL"
                    print  "#define NCURSES_SBOOL char"
                    print  ""
+                   print  "#undef  NCURSES_USE_DATABASE"
+                   print  "#define NCURSES_USE_DATABASE 1"
+                   print  ""
+                   print  "#undef  NCURSES_USE_TERMCAP"
+                   print  "#define NCURSES_USE_TERMCAP 1"
+                   print  ""
                    print  "#undef  NCURSES_XNAMES"
                    print  "#define NCURSES_XNAMES 1"
                    print  ""
@@ -93,41 +99,6 @@ BEGIN                {
                    print  "#include <termio.h>"
                    print  "#define TTY struct termio"
                    print  ""
-                   print  "/* Add definitions to make termio look like termios."
-                   print  " * But ifdef it, since there are some implementations"
-                   print  " * that try to do this for us in a fake <termio.h>."
-                   print  " */"
-                   print  "#ifndef TCSANOW"
-                   print  "#define TCSANOW TCSETA"
-                   print  "#endif"
-                   print  "#ifndef TCSADRAIN"
-                   print  "#define TCSADRAIN TCSETAW"
-                   print  "#endif"
-                   print  "#ifndef TCSAFLUSH"
-                   print  "#define TCSAFLUSH TCSETAF"
-                   print  "#endif"
-                   print  "#ifndef tcsetattr"
-                   print  "#define tcsetattr(fd, cmd, arg) ioctl(fd, cmd, arg)"
-                   print  "#endif"
-                   print  "#ifndef tcgetattr"
-                   print  "#define tcgetattr(fd, arg) ioctl(fd, TCGETA, arg)"
-                   print  "#endif"
-                   print  "#ifndef cfgetospeed"
-                   print  "#define cfgetospeed(t) ((t)->c_cflag & CBAUD)"
-                   print  "#endif"
-                   print  "#ifndef TCIFLUSH "
-                   print  "#define TCIFLUSH 0"
-                   print  "#endif"
-                   print  "#ifndef TCOFLUSH "
-                   print  "#define TCOFLUSH 1"
-                   print  "#endif"
-                   print  "#ifndef TCIOFLUSH "
-                   print  "#define TCIOFLUSH 2"
-                   print  "#endif"
-                   print  "#ifndef tcflush"
-                   print  "#define tcflush(fd, arg) ioctl(fd, TCFLSH, arg)"
-                   print  "#endif"
-                   print  ""
                    print  "#else /* !HAVE_TERMIO_H */"
                    print  ""
                    print  "#if __MINGW32__"
@@ -281,6 +252,7 @@ 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(void) _nc_init_termtype (TERMTYPE *const);"
                        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);"
index 151f5ea..826db53 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc.              *
+ * Copyright (c) 1998-2015,2016 Free Software Foundation, Inc.              *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
@@ -32,7 +32,7 @@
  *     and: Thomas E. Dickey                        1996-on                 *
  ****************************************************************************/
 
-/* $Id: curses.h.in,v 1.220 2011/01/22 19:47:20 tom Exp $ */
+/* $Id: curses.h.in,v 1.243 2016/01/23 22:20:31 tom Exp $ */
 
 #ifndef __NCURSES_H
 #define __NCURSES_H
 #define CURSES_H 1
 
 /* These are defined only in curses.h, and are used for conditional compiles */
-#define NCURSES_VERSION_MAJOR 5
-#define NCURSES_VERSION_MINOR 9
-#define NCURSES_VERSION_PATCH 20110404
+#define NCURSES_VERSION_MAJOR 6
+#define NCURSES_VERSION_MINOR 0
+#define NCURSES_VERSION_PATCH 20160305
 
 /* This is defined in more than one ncurses header, for identification */
 #undef  NCURSES_VERSION
-#define NCURSES_VERSION "5.9"
+#define NCURSES_VERSION "6.0"
 
 /*
  * Identify the mouse encoding version.
  */
-#define NCURSES_MOUSE_VERSION 1
+#define NCURSES_MOUSE_VERSION 2
 
 /*
  * Definitions to facilitate DLL's.
  */
 #include <ncurses_dll.h>
 
+#if 1
+#include <stdint.h>
+#endif
+
 /*
  * User-definable tweak to disable the include of <stdbool.h>.
  */
  * NCURSES_ATTR_T is used to quiet compiler warnings when building ncurses
  * 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
 #endif
 #define NCURSES_INLINE inline
 
 /*
- * The internal type used for color values
+ * The internal type used for color values, and for color-pairs.  The latter
+ * allows the curses library to enumerate the combinations of foreground and
+ * background colors used by an application, and is normally the product of the
+ * total foreground and background colors.
+ *
+ * X/Open uses "short" for both of these types, ultimately because they are
+ * numbers from the terminal database, which uses 16-bit signed values.
  */
 #undef NCURSES_COLOR_T
 #define        NCURSES_COLOR_T short
 
+#undef NCURSES_PAIRS_T
+#define        NCURSES_PAIRS_T short
+
 /*
  * Definition used to make WINDOW and similar structs opaque.
  */
  * Control whether bindings for interop support are added.
  */
 #undef NCURSES_INTEROP_FUNCS
-#define        NCURSES_INTEROP_FUNCS 0
+#define        NCURSES_INTEROP_FUNCS 1
 
 /*
  * The internal type used for window dimensions.
 #undef NCURSES_TPARM_VARARGS
 #define NCURSES_TPARM_VARARGS 1
 
+/*
+ * Control type used for tparm's arguments.  While X/Open equates long and
+ * char* values, this is not always workable for 64-bit platforms.
+ */
+#undef NCURSES_TPARM_ARG
+#define NCURSES_TPARM_ARG intptr_t
+
+/*
+ * Control whether ncurses uses wcwidth() for checking width of line-drawing
+ * characters.
+ */
+#undef NCURSES_WCWIDTH_GRAPHICS
+#define NCURSES_WCWIDTH_GRAPHICS 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 SET_NCURSES_CH_T
 
-#if 0 && defined(_LP64)
+#if 1 && defined(_LP64)
 typedef unsigned chtype;
 typedef unsigned mmask_t;
 #else
-typedef unsigned int chtype;
-typedef unsigned long mmask_t;
+typedef uint32_t chtype;
+typedef uint32_t mmask_t;
 #endif
 
 /*
@@ -151,15 +172,21 @@ typedef unsigned long mmask_t;
 
 /*
  * With XPG4, you must define _XOPEN_SOURCE_EXTENDED, it is redundant (or
- * conflicting) when _XOPEN_SOURCE is 500 or greater.
+ * conflicting) when _XOPEN_SOURCE is 500 or greater.  If NCURSES_WIDECHAR is
+ * not already defined, e.g., if the platform relies upon nonstandard feature
+ * test macros, define it at this point if the standard feature test macros
+ * indicate that it should be defined.
  */
-#undef NCURSES_WIDECHAR
-#if defined(_XOPEN_SOURCE_EXTENDED) || defined(_XPG5)
-#define NCURSES_WIDECHAR
+#ifndef NCURSES_WIDECHAR
+#if defined(_XOPEN_SOURCE_EXTENDED) || (defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE - 0 >= 500))
+#define NCURSES_WIDECHAR 1
+#else
+#define NCURSES_WIDECHAR 0
 #endif
+#endif /* NCURSES_WIDECHAR */
 
 #include <stdarg.h>    /* we need va_list */
-#ifdef NCURSES_WIDECHAR
+#if NCURSES_WIDECHAR
 #include <stddef.h>    /* we want wchar_t */
 #endif
 
@@ -231,6 +258,10 @@ extern "C" {
 #define WA_TOP         A_TOP
 #define WA_VERTICAL    A_VERTICAL
 
+#if 1
+#define WA_ITALIC      A_ITALIC        /* ncurses extension */
+#endif
+
 /* colors */
 #define COLOR_BLACK    0
 #define COLOR_RED      1
@@ -250,7 +281,7 @@ NCURSES_WRAPPED_VAR(chtype*, acs_map);
 extern NCURSES_EXPORT_VAR(chtype) acs_map[];
 #endif
 
-#define NCURSES_ACS(c) (acs_map[NCURSES_CAST(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 */
@@ -342,7 +373,7 @@ typedef struct _win_st WINDOW;
 
 typedef        chtype  attr_t;         /* ...must be at least as wide as chtype */
 
-#ifdef NCURSES_WIDECHAR
+#if NCURSES_WIDECHAR
 
 #if 0
 #ifdef mblen                   /* libutf8.h defines it w/o undefining first */
@@ -368,7 +399,7 @@ typedef unsigned int wint_t1;
 /*
  * cchar_t stores an array of CCHARW_MAX wide characters.  The first is
  * normally a spacing character.  The others are non-spacing.  If those
- * (spacing and nonspacing) do not fill the array, a null L'\0' follows. 
+ * (spacing and nonspacing) do not fill the array, a null L'\0' follows.
  * Otherwise, a null is assumed to follow when extracting via getcchar().
  */
 #define CCHARW_MAX     5
@@ -376,9 +407,9 @@ typedef struct
 {
     attr_t     attr;
     wchar_t    chars[CCHARW_MAX];
-#if 0
+#if SET_NEED_WCHAR_H
 #undef NCURSES_EXT_COLORS
-#define NCURSES_EXT_COLORS 20110404
+#define NCURSES_EXT_COLORS 20160305
     int                ext_color;      /* color pair, must be more than 16-bits */
 #endif
 }
@@ -436,9 +467,9 @@ struct _win_st
 
        NCURSES_SIZE_T _yoffset; /* real begy is _begy + _yoffset */
 
-#ifdef NCURSES_WIDECHAR
+#if NCURSES_WIDECHAR
        cchar_t  _bkgrnd;       /* current background char/attribute pair */
-#if 0
+#if SET_NEED_WCHAR_H
        int     _color;         /* current color-pair for non-space character */
 #endif
 #endif
@@ -558,10 +589,10 @@ extern NCURSES_EXPORT(int) addstr (const char *);                 /* generated */
 extern NCURSES_EXPORT(int) attroff (NCURSES_ATTR_T);                   /* generated */
 extern NCURSES_EXPORT(int) attron (NCURSES_ATTR_T);                    /* generated */
 extern NCURSES_EXPORT(int) attrset (NCURSES_ATTR_T);                   /* generated */
-extern NCURSES_EXPORT(int) attr_get (attr_t *, short *, void *);       /* generated */
+extern NCURSES_EXPORT(int) attr_get (attr_t *, NCURSES_PAIRS_T *, void *);     /* generated */
 extern NCURSES_EXPORT(int) attr_off (attr_t, void *);                  /* generated */
 extern NCURSES_EXPORT(int) attr_on (attr_t, void *);                   /* generated */
-extern NCURSES_EXPORT(int) attr_set (attr_t, short, void *);           /* generated */
+extern NCURSES_EXPORT(int) attr_set (attr_t, NCURSES_PAIRS_T, void *);         /* generated */
 extern NCURSES_EXPORT(int) baudrate (void);                            /* implemented */
 extern NCURSES_EXPORT(int) beep  (void);                               /* implemented */
 extern NCURSES_EXPORT(int) bkgd (chtype);                              /* generated */
@@ -570,13 +601,13 @@ extern NCURSES_EXPORT(int) border (chtype,chtype,chtype,chtype,chtype,chtype,cht
 extern NCURSES_EXPORT(int) box (WINDOW *, chtype, chtype);             /* generated */
 extern NCURSES_EXPORT(bool) can_change_color (void);                   /* implemented */
 extern NCURSES_EXPORT(int) cbreak (void);                              /* implemented */
-extern NCURSES_EXPORT(int) chgat (int, attr_t, short, const void *);   /* generated */
+extern NCURSES_EXPORT(int) chgat (int, attr_t, NCURSES_PAIRS_T, const void *); /* generated */
 extern NCURSES_EXPORT(int) clear (void);                               /* generated */
 extern NCURSES_EXPORT(int) clearok (WINDOW *,bool);                    /* implemented */
 extern NCURSES_EXPORT(int) clrtobot (void);                            /* generated */
 extern NCURSES_EXPORT(int) clrtoeol (void);                            /* generated */
-extern NCURSES_EXPORT(int) color_content (short,short*,short*,short*); /* implemented */
-extern NCURSES_EXPORT(int) color_set (short,void*);                    /* generated */
+extern NCURSES_EXPORT(int) color_content (NCURSES_COLOR_T,NCURSES_COLOR_T*,NCURSES_COLOR_T*,NCURSES_COLOR_T*); /* implemented */
+extern NCURSES_EXPORT(int) color_set (NCURSES_PAIRS_T,void*);                  /* generated */
 extern NCURSES_EXPORT(int) COLOR_PAIR (int);                           /* generated */
 extern NCURSES_EXPORT(int) copywin (const WINDOW*,WINDOW*,int,int,int,int,int,int,int);        /* implemented */
 extern NCURSES_EXPORT(int) curs_set (int);                             /* implemented */
@@ -615,8 +646,8 @@ extern NCURSES_EXPORT(chtype) inch (void);                          /* generated */
 extern NCURSES_EXPORT(int) inchnstr (chtype *, int);                   /* generated */
 extern NCURSES_EXPORT(int) inchstr (chtype *);                         /* generated */
 extern NCURSES_EXPORT(WINDOW *) initscr (void);                                /* implemented */
-extern NCURSES_EXPORT(int) init_color (short,short,short,short);       /* implemented */
-extern NCURSES_EXPORT(int) init_pair (short,short,short);              /* implemented */
+extern NCURSES_EXPORT(int) init_color (NCURSES_COLOR_T,NCURSES_COLOR_T,NCURSES_COLOR_T,NCURSES_COLOR_T);       /* implemented */
+extern NCURSES_EXPORT(int) init_pair (NCURSES_PAIRS_T,NCURSES_COLOR_T,NCURSES_COLOR_T);                /* implemented */
 extern NCURSES_EXPORT(int) innstr (char *, int);                       /* generated */
 extern NCURSES_EXPORT(int) insch (chtype);                             /* generated */
 extern NCURSES_EXPORT(int) insdelln (int);                             /* generated */
@@ -640,7 +671,7 @@ extern NCURSES_EXPORT(int) mvaddchnstr (int, int, const chtype *, int);     /* gener
 extern NCURSES_EXPORT(int) mvaddchstr (int, int, const chtype *);      /* generated */
 extern NCURSES_EXPORT(int) mvaddnstr (int, int, const char *, int);    /* generated */
 extern NCURSES_EXPORT(int) mvaddstr (int, int, const char *);          /* generated */
-extern NCURSES_EXPORT(int) mvchgat (int, int, int, attr_t, short, const void *);       /* generated */
+extern NCURSES_EXPORT(int) mvchgat (int, int, int, attr_t, NCURSES_PAIRS_T, const void *);     /* generated */
 extern NCURSES_EXPORT(int) mvcur (int,int,int,int);                    /* implemented */
 extern NCURSES_EXPORT(int) mvdelch (int, int);                         /* generated */
 extern NCURSES_EXPORT(int) mvderwin (WINDOW *, int, int);              /* implemented */
@@ -666,7 +697,7 @@ extern NCURSES_EXPORT(int) mvwaddchnstr (WINDOW *, int, int, const chtype *, int
 extern NCURSES_EXPORT(int) mvwaddchstr (WINDOW *, int, int, const chtype *);   /* generated */
 extern NCURSES_EXPORT(int) mvwaddnstr (WINDOW *, int, int, const char *, int); /* generated */
 extern NCURSES_EXPORT(int) mvwaddstr (WINDOW *, int, int, const char *);       /* generated */
-extern NCURSES_EXPORT(int) mvwchgat (WINDOW *, int, int, int, attr_t, short, const void *);/* generated */
+extern NCURSES_EXPORT(int) mvwchgat (WINDOW *, int, int, int, attr_t, NCURSES_PAIRS_T, const void *);/* generated */
 extern NCURSES_EXPORT(int) mvwdelch (WINDOW *, int, int);              /* generated */
 extern NCURSES_EXPORT(int) mvwgetch (WINDOW *, int, int);              /* generated */
 extern NCURSES_EXPORT(int) mvwgetnstr (WINDOW *, int, int, char *, int);       /* generated */
@@ -700,7 +731,7 @@ extern NCURSES_EXPORT(int) noraw (void);                            /* implemented */
 extern NCURSES_EXPORT(int) notimeout (WINDOW *,bool);                  /* implemented */
 extern NCURSES_EXPORT(int) overlay (const WINDOW*,WINDOW *);           /* implemented */
 extern NCURSES_EXPORT(int) overwrite (const WINDOW*,WINDOW *);         /* implemented */
-extern NCURSES_EXPORT(int) pair_content (short,short*,short*);         /* implemented */
+extern NCURSES_EXPORT(int) pair_content (NCURSES_PAIRS_T,NCURSES_COLOR_T*,NCURSES_COLOR_T*);           /* implemented */
 extern NCURSES_EXPORT(int) PAIR_NUMBER (int);                          /* generated */
 extern NCURSES_EXPORT(int) pechochar (WINDOW *, const chtype);         /* implemented */
 extern NCURSES_EXPORT(int) pnoutrefresh (WINDOW*,int,int,int,int,int,int);/* implemented */
@@ -734,9 +765,9 @@ extern NCURSES_EXPORT(int) slk_attron (const chtype);                       /* implemented */
 extern NCURSES_EXPORT(int) slk_attr_on (attr_t,void*);                 /* generated:WIDEC */
 extern NCURSES_EXPORT(int) slk_attrset (const chtype);                 /* implemented */
 extern NCURSES_EXPORT(attr_t) slk_attr (void);                         /* implemented */
-extern NCURSES_EXPORT(int) slk_attr_set (const attr_t,short,void*);    /* implemented */
+extern NCURSES_EXPORT(int) slk_attr_set (const attr_t,NCURSES_PAIRS_T,void*);  /* implemented */
 extern NCURSES_EXPORT(int) slk_clear (void);                           /* implemented */
-extern NCURSES_EXPORT(int) slk_color (short);                          /* implemented */
+extern NCURSES_EXPORT(int) slk_color (NCURSES_PAIRS_T);                                /* implemented */
 extern NCURSES_EXPORT(int) slk_init (int);                             /* implemented */
 extern NCURSES_EXPORT(char *) slk_label (int);                         /* implemented */
 extern NCURSES_EXPORT(int) slk_noutrefresh (void);                     /* implemented */
@@ -759,6 +790,7 @@ extern NCURSES_EXPORT(int) typeahead (int);                         /* implemented */
 extern NCURSES_EXPORT(int) ungetch (int);                              /* implemented */
 extern NCURSES_EXPORT(int) untouchwin (WINDOW *);                      /* generated */
 extern NCURSES_EXPORT(void) use_env (bool);                            /* implemented */
+extern NCURSES_EXPORT(void) use_tioctl (bool);                         /* implemented */
 extern NCURSES_EXPORT(int) vidattr (chtype);                           /* implemented */
 extern NCURSES_EXPORT(int) vidputs (chtype, NCURSES_OUTC);             /* implemented */
 extern NCURSES_EXPORT(int) vline (chtype, int);                                /* generated */
@@ -774,18 +806,18 @@ extern NCURSES_EXPORT(int) waddstr (WINDOW *,const char *);               /* generated */
 extern NCURSES_EXPORT(int) wattron (WINDOW *, int);                    /* generated */
 extern NCURSES_EXPORT(int) wattroff (WINDOW *, int);                   /* generated */
 extern NCURSES_EXPORT(int) wattrset (WINDOW *, int);                   /* generated */
-extern NCURSES_EXPORT(int) wattr_get (WINDOW *, attr_t *, short *, void *);    /* generated */
+extern NCURSES_EXPORT(int) wattr_get (WINDOW *, attr_t *, NCURSES_PAIRS_T *, void *);  /* generated */
 extern NCURSES_EXPORT(int) wattr_on (WINDOW *, attr_t, void *);                /* implemented */
 extern NCURSES_EXPORT(int) wattr_off (WINDOW *, attr_t, void *);       /* implemented */
-extern NCURSES_EXPORT(int) wattr_set (WINDOW *, attr_t, short, void *);        /* generated */
+extern NCURSES_EXPORT(int) wattr_set (WINDOW *, attr_t, NCURSES_PAIRS_T, void *);      /* generated */
 extern NCURSES_EXPORT(int) wbkgd (WINDOW *, chtype);                   /* implemented */
 extern NCURSES_EXPORT(void) wbkgdset (WINDOW *,chtype);                        /* implemented */
 extern NCURSES_EXPORT(int) wborder (WINDOW *,chtype,chtype,chtype,chtype,chtype,chtype,chtype,chtype); /* implemented */
-extern NCURSES_EXPORT(int) wchgat (WINDOW *, int, attr_t, short, const void *);/* implemented */
+extern NCURSES_EXPORT(int) wchgat (WINDOW *, int, attr_t, NCURSES_PAIRS_T, const void *);/* implemented */
 extern NCURSES_EXPORT(int) wclear (WINDOW *);                          /* implemented */
 extern NCURSES_EXPORT(int) wclrtobot (WINDOW *);                       /* implemented */
 extern NCURSES_EXPORT(int) wclrtoeol (WINDOW *);                       /* implemented */
-extern NCURSES_EXPORT(int) wcolor_set (WINDOW*,short,void*);           /* implemented */
+extern NCURSES_EXPORT(int) wcolor_set (WINDOW*,NCURSES_PAIRS_T,void*);         /* implemented */
 extern NCURSES_EXPORT(void) wcursyncup (WINDOW *);                     /* implemented */
 extern NCURSES_EXPORT(int) wdelch (WINDOW *);                          /* implemented */
 extern NCURSES_EXPORT(int) wdeleteln (WINDOW *);                       /* generated */
@@ -834,7 +866,7 @@ 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 (NCURSES_CONST char *, NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG); /* special */
 extern NCURSES_EXPORT(char *) tparm_varargs (NCURSES_CONST char *, ...);       /* special */
 #endif
 
@@ -856,7 +888,7 @@ extern NCURSES_EXPORT(int) getpary (const WINDOW *);                        /* generated */
 /*
  * vid_attr() was implemented originally based on a draft of X/Open curses.
  */
-#ifndef NCURSES_WIDECHAR
+#if !NCURSES_WIDECHAR
 #define vid_attr(a,pair,opts) vidattr(a)
 #endif
 
@@ -865,7 +897,7 @@ extern NCURSES_EXPORT(int) getpary (const WINDOW *);                        /* generated */
  */
 #if 1
 #undef  NCURSES_EXT_FUNCS
-#define NCURSES_EXT_FUNCS 20110404
+#define NCURSES_EXT_FUNCS 20160305
 typedef int (*NCURSES_WINDOW_CB)(WINDOW *, void *);
 typedef int (*NCURSES_SCREEN_CB)(SCREEN *, void *);
 extern NCURSES_EXPORT(bool) is_term_resized (int, int);
@@ -905,6 +937,7 @@ extern NCURSES_EXPORT(bool) is_pad (const WINDOW *);                /* generated */
 extern NCURSES_EXPORT(bool) is_scrollok (const WINDOW *);      /* generated */
 extern NCURSES_EXPORT(bool) is_subwin (const WINDOW *);                /* generated */
 extern NCURSES_EXPORT(bool) is_syncok (const WINDOW *);                /* generated */
+extern NCURSES_EXPORT(int) wgetdelay (const WINDOW *);         /* generated */
 extern NCURSES_EXPORT(int) wgetscrreg (const WINDOW *, int *, int *); /* generated */
 
 #else
@@ -915,9 +948,9 @@ extern NCURSES_EXPORT(int) wgetscrreg (const WINDOW *, int *, int *); /* generat
  * Extra extension-functions, which pass a SCREEN pointer rather than using
  * a global variable SP.
  */
-#if 0
+#if 1
 #undef  NCURSES_SP_FUNCS
-#define NCURSES_SP_FUNCS 20110404
+#define NCURSES_SP_FUNCS 20160305
 #define NCURSES_SP_NAME(name) name##_sp
 
 /* Define the sp-funcs helper function */
@@ -931,7 +964,7 @@ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(beep) (SCREEN*); /* implemented:SP_FU
 extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(can_change_color) (SCREEN*); /* implemented:SP_FUNC */
 extern NCURSES_EXPORT(int) NCURSES_SP_NAME(cbreak) (SCREEN*); /* implemented:SP_FUNC */
 extern NCURSES_EXPORT(int) NCURSES_SP_NAME(curs_set) (SCREEN*, int); /* implemented:SP_FUNC */
-extern NCURSES_EXPORT(int) NCURSES_SP_NAME(color_content) (SCREEN*, short, short*, short*, short*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(color_content) (SCREEN*, NCURSES_PAIRS_T, NCURSES_COLOR_T*, NCURSES_COLOR_T*, NCURSES_COLOR_T*); /* implemented:SP_FUNC */
 extern NCURSES_EXPORT(int) NCURSES_SP_NAME(def_prog_mode) (SCREEN*); /* implemented:SP_FUNC */
 extern NCURSES_EXPORT(int) NCURSES_SP_NAME(def_shell_mode) (SCREEN*); /* implemented:SP_FUNC */
 extern NCURSES_EXPORT(int) NCURSES_SP_NAME(delay_output) (SCREEN*, int); /* implemented:SP_FUNC */
@@ -947,8 +980,8 @@ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(halfdelay) (SCREEN*, int); /* impleme
 extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(has_colors) (SCREEN*); /* implemented:SP_FUNC */
 extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(has_ic) (SCREEN*); /* implemented:SP_FUNC */
 extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(has_il) (SCREEN*); /* implemented:SP_FUNC */
-extern NCURSES_EXPORT(int) NCURSES_SP_NAME(init_color) (SCREEN*, short, short, short, short); /* implemented:SP_FUNC */
-extern NCURSES_EXPORT(int) NCURSES_SP_NAME(init_pair) (SCREEN*, short, short, short); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(init_color) (SCREEN*, NCURSES_COLOR_T, NCURSES_COLOR_T, NCURSES_COLOR_T, NCURSES_COLOR_T); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(init_pair) (SCREEN*, NCURSES_PAIRS_T, NCURSES_COLOR_T, NCURSES_COLOR_T); /* implemented:SP_FUNC */
 extern NCURSES_EXPORT(int) NCURSES_SP_NAME(intrflush) (SCREEN*, WINDOW*, bool);        /* implemented:SP_FUNC */
 extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(isendwin) (SCREEN*); /* implemented:SP_FUNC */
 extern NCURSES_EXPORT(NCURSES_CONST char *) NCURSES_SP_NAME(keyname) (SCREEN*, int); /* implemented:SP_FUNC */
@@ -965,7 +998,7 @@ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(noecho) (SCREEN*); /* implemented:SP_
 extern NCURSES_EXPORT(int) NCURSES_SP_NAME(nonl) (SCREEN*); /* implemented:SP_FUNC */
 extern NCURSES_EXPORT(void) NCURSES_SP_NAME(noqiflush) (SCREEN*); /* implemented:SP_FUNC */
 extern NCURSES_EXPORT(int) NCURSES_SP_NAME(noraw) (SCREEN*); /* implemented:SP_FUNC */
-extern NCURSES_EXPORT(int) NCURSES_SP_NAME(pair_content) (SCREEN*, short, short*, short*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(pair_content) (SCREEN*, NCURSES_PAIRS_T, NCURSES_COLOR_T*, NCURSES_COLOR_T*); /* implemented:SP_FUNC */
 extern NCURSES_EXPORT(void) NCURSES_SP_NAME(qiflush) (SCREEN*); /* implemented:SP_FUNC */
 extern NCURSES_EXPORT(int) NCURSES_SP_NAME(raw) (SCREEN*); /* implemented:SP_FUNC */
 extern NCURSES_EXPORT(int) NCURSES_SP_NAME(reset_prog_mode) (SCREEN*); /* implemented:SP_FUNC */
@@ -980,9 +1013,9 @@ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_attroff) (SCREEN*, const chtype);
 extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_attron) (SCREEN*, const chtype); /* implemented:SP_FUNC */
 extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_attrset) (SCREEN*, const chtype); /* implemented:SP_FUNC */
 extern NCURSES_EXPORT(attr_t) NCURSES_SP_NAME(slk_attr) (SCREEN*); /* implemented:SP_FUNC */
-extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_attr_set) (SCREEN*, const attr_t, short, void*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_attr_set) (SCREEN*, const attr_t, NCURSES_PAIRS_T, void*); /* implemented:SP_FUNC */
 extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_clear) (SCREEN*); /* implemented:SP_FUNC */
-extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_color) (SCREEN*, short); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_color) (SCREEN*, NCURSES_PAIRS_T); /* implemented:SP_FUNC */
 extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_init) (SCREEN*, int); /* implemented:SP_FUNC */
 extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(slk_label) (SCREEN*, int); /* implemented:SP_FUNC */
 extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_noutrefresh) (SCREEN*); /* implemented:SP_FUNC */
@@ -996,6 +1029,7 @@ extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(termname) (SCREEN*); /* implemente
 extern NCURSES_EXPORT(int) NCURSES_SP_NAME(typeahead) (SCREEN*, int); /* implemented:SP_FUNC */
 extern NCURSES_EXPORT(int) NCURSES_SP_NAME(ungetch) (SCREEN*, int); /* implemented:SP_FUNC */
 extern NCURSES_EXPORT(void) NCURSES_SP_NAME(use_env) (SCREEN*, bool); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(void) NCURSES_SP_NAME(use_tioctl) (SCREEN*, bool); /* implemented:SP_FUNC */
 extern NCURSES_EXPORT(int) NCURSES_SP_NAME(vidattr) (SCREEN*, chtype); /* implemented:SP_FUNC */
 extern NCURSES_EXPORT(int) NCURSES_SP_NAME(vidputs) (SCREEN*, chtype, NCURSES_SP_OUTC); /* implemented:SP_FUNC */
 #if 1
@@ -1024,7 +1058,7 @@ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(use_legacy_coding) (SCREEN*, int);     /*
 /* attributes */
 
 #define NCURSES_ATTR_SHIFT       8
-#define NCURSES_BITS(mask,shift) ((mask) << ((shift) + NCURSES_ATTR_SHIFT))
+#define NCURSES_BITS(mask,shift) (NCURSES_CAST(chtype,(mask)) << ((shift) + NCURSES_ATTR_SHIFT))
 
 #define A_NORMAL       (1U - 1U)
 #define A_ATTRIBUTES   NCURSES_BITS(~(1U - 1U),0)
@@ -1046,6 +1080,10 @@ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(use_legacy_coding) (SCREEN*, int);    /*
 #define A_TOP          NCURSES_BITS(1U,21)
 #define A_VERTICAL     NCURSES_BITS(1U,22)
 
+#if 1
+#define A_ITALIC       NCURSES_BITS(1U,23)     /* ncurses extension */
+#endif
+
 /*
  * Most of the pseudo functions are macros that either provide compatibility
  * with older versions of curses, or provide inline functionality to improve
@@ -1086,7 +1124,7 @@ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(use_legacy_coding) (SCREEN*, int);     /*
  */
 
 #define wgetstr(w, s)          wgetnstr(w, s, -1)
-#define getnstr(s, n)          wgetnstr(stdscr, s, n)
+#define getnstr(s, n)          wgetnstr(stdscr, s, (n))
 
 #define setterm(term)          setupterm(term, 1, (int *)0)
 
@@ -1117,9 +1155,9 @@ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(use_legacy_coding) (SCREEN*, int);     /*
 #define wattroff(win,at)       wattr_off(win, NCURSES_CAST(attr_t, at), NULL)
 
 #if !NCURSES_OPAQUE
-#if defined(NCURSES_WIDECHAR) && 0
+#if NCURSES_WIDECHAR && SET_NEED_WCHAR_H
 #define wattrset(win,at)       ((win) \
-                                 ? ((win)->_color = PAIR_NUMBER(at), \
+                                 ? ((win)->_color = NCURSES_CAST(int, PAIR_NUMBER(at)), \
                                      (win)->_attrs = NCURSES_CAST(attr_t, at), \
                                      OK) \
                                  : ERR)
@@ -1139,15 +1177,15 @@ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(use_legacy_coding) (SCREEN*, int);   /*
 
 #define box(win, v, h)         wborder(win, v, v, h, h, 0, 0, 0, 0)
 #define border(ls, rs, ts, bs, tl, tr, bl, br) wborder(stdscr, ls, rs, ts, bs, tl, tr, bl, br)
-#define hline(ch, n)           whline(stdscr, ch, n)
-#define vline(ch, n)           wvline(stdscr, ch, n)
+#define hline(ch, n)           whline(stdscr, ch, (n))
+#define vline(ch, n)           wvline(stdscr, ch, (n))
 
 #define winstr(w, s)           winnstr(w, s, -1)
 #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)
+#define redrawwin(win)         wredrawln(win, 0, ((win) ? (win)->_maxy+1 : -1))
 #endif /* NCURSES_OPAQUE */
 
 #define waddstr(win,str)       waddnstr(win,str,-1)
@@ -1156,55 +1194,55 @@ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(use_legacy_coding) (SCREEN*, int);   /*
 /*
  * These apply to the first 256 color pairs.
  */
-#define COLOR_PAIR(n)  NCURSES_BITS(n, 0)
-#define PAIR_NUMBER(a) (NCURSES_CAST(int,((NCURSES_CAST(unsigned long,a) & A_COLOR) >> NCURSES_ATTR_SHIFT)))
+#define COLOR_PAIR(n)  NCURSES_BITS((n), 0)
+#define PAIR_NUMBER(a) (NCURSES_CAST(int,((NCURSES_CAST(unsigned long,(a)) & A_COLOR) >> NCURSES_ATTR_SHIFT)))
 
 /*
  * pseudo functions for standard screen
  */
 
-#define addch(ch)              waddch(stdscr,ch)
-#define addchnstr(str,n)       waddchnstr(stdscr,str,n)
-#define addchstr(str)          waddchstr(stdscr,str)
-#define addnstr(str,n)         waddnstr(stdscr,str,n)
-#define addstr(str)            waddnstr(stdscr,str,-1)
-#define attroff(at)            wattroff(stdscr,at)
-#define attron(at)             wattron(stdscr,at)
-#define attrset(at)            wattrset(stdscr,at)
-#define attr_get(ap,cp,o)      wattr_get(stdscr,ap,cp,o)
-#define attr_off(a,o)          wattr_off(stdscr,a,o)
-#define attr_on(a,o)           wattr_on(stdscr,a,o)
-#define attr_set(a,c,o)                wattr_set(stdscr,a,c,o)
-#define bkgd(ch)               wbkgd(stdscr,ch)
-#define bkgdset(ch)            wbkgdset(stdscr,ch)
-#define chgat(n,a,c,o)         wchgat(stdscr,n,a,c,o)
+#define addch(ch)              waddch(stdscr,(ch))
+#define addchnstr(str,n)       waddchnstr(stdscr,(str),(n))
+#define addchstr(str)          waddchstr(stdscr,(str))
+#define addnstr(str,n)         waddnstr(stdscr,(str),(n))
+#define addstr(str)            waddnstr(stdscr,(str),-1)
+#define attr_get(ap,cp,o)      wattr_get(stdscr,(ap),(cp),(o))
+#define attr_off(a,o)          wattr_off(stdscr,(a),(o))
+#define attr_on(a,o)           wattr_on(stdscr,(a),(o))
+#define attr_set(a,c,o)                wattr_set(stdscr,(a),(c),(o))
+#define attroff(at)            wattroff(stdscr,(at))
+#define attron(at)             wattron(stdscr,(at))
+#define attrset(at)            wattrset(stdscr,(at))
+#define bkgd(ch)               wbkgd(stdscr,(ch))
+#define bkgdset(ch)            wbkgdset(stdscr,(ch))
+#define chgat(n,a,c,o)         wchgat(stdscr,(n),(a),(c),(o))
 #define clear()                        wclear(stdscr)
 #define clrtobot()             wclrtobot(stdscr)
 #define clrtoeol()             wclrtoeol(stdscr)
-#define color_set(c,o)         wcolor_set(stdscr,c,o)
+#define color_set(c,o)         wcolor_set(stdscr,(c),(o))
 #define delch()                        wdelch(stdscr)
 #define deleteln()             winsdelln(stdscr,-1)
-#define echochar(c)            wechochar(stdscr,c)
+#define echochar(c)            wechochar(stdscr,(c))
 #define erase()                        werase(stdscr)
 #define getch()                        wgetch(stdscr)
-#define getstr(str)            wgetstr(stdscr,str)
+#define getstr(str)            wgetstr(stdscr,(str))
 #define inch()                 winch(stdscr)
-#define inchnstr(s,n)          winchnstr(stdscr,s,n)
-#define inchstr(s)             winchstr(stdscr,s)
-#define innstr(s,n)            winnstr(stdscr,s,n)
-#define insch(c)               winsch(stdscr,c)
-#define insdelln(n)            winsdelln(stdscr,n)
+#define inchnstr(s,n)          winchnstr(stdscr,(s),(n))
+#define inchstr(s)             winchstr(stdscr,(s))
+#define innstr(s,n)            winnstr(stdscr,(s),(n))
+#define insch(c)               winsch(stdscr,(c))
+#define insdelln(n)            winsdelln(stdscr,(n))
 #define insertln()             winsdelln(stdscr,1)
-#define insnstr(s,n)           winsnstr(stdscr,s,n)
-#define insstr(s)              winsstr(stdscr,s)
-#define instr(s)               winstr(stdscr,s)
-#define move(y,x)              wmove(stdscr,y,x)
+#define insnstr(s,n)           winsnstr(stdscr,(s),(n))
+#define insstr(s)              winsstr(stdscr,(s))
+#define instr(s)               winstr(stdscr,(s))
+#define move(y,x)              wmove(stdscr,(y),(x))
 #define refresh()              wrefresh(stdscr)
-#define scrl(n)                        wscrl(stdscr,n)
-#define setscrreg(t,b)         wsetscrreg(stdscr,t,b)
+#define scrl(n)                        wscrl(stdscr,(n))
+#define setscrreg(t,b)         wsetscrreg(stdscr,(t),(b))
 #define standend()             wstandend(stdscr)
 #define standout()             wstandout(stdscr)
-#define timeout(delay)         wtimeout(stdscr,delay)
+#define timeout(delay)         wtimeout(stdscr,(delay))
 #define wdeleteln(win)         winsdelln(win,-1)
 #define winsertln(win)         winsdelln(win,1)
 
@@ -1212,70 +1250,75 @@ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(use_legacy_coding) (SCREEN*, int);   /*
  * mv functions
  */
 
-#define mvwaddch(win,y,x,ch)           (wmove(win,y,x) == ERR ? ERR : waddch(win,ch))
-#define mvwaddchnstr(win,y,x,str,n)    (wmove(win,y,x) == ERR ? ERR : waddchnstr(win,str,n))
-#define mvwaddchstr(win,y,x,str)       (wmove(win,y,x) == ERR ? ERR : waddchnstr(win,str,-1))
-#define mvwaddnstr(win,y,x,str,n)      (wmove(win,y,x) == ERR ? ERR : waddnstr(win,str,n))
-#define mvwaddstr(win,y,x,str)         (wmove(win,y,x) == ERR ? ERR : waddnstr(win,str,-1))
-#define mvwdelch(win,y,x)              (wmove(win,y,x) == ERR ? ERR : wdelch(win))
-#define mvwchgat(win,y,x,n,a,c,o)      (wmove(win,y,x) == ERR ? ERR : wchgat(win,n,a,c,o))
-#define mvwgetch(win,y,x)              (wmove(win,y,x) == ERR ? ERR : wgetch(win))
-#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 ? 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))
-#define mvwinsch(win,y,x,c)            (wmove(win,y,x) == ERR ? ERR : winsch(win,c))
-#define mvwinsnstr(win,y,x,s,n)                (wmove(win,y,x) == ERR ? ERR : winsnstr(win,s,n))
-#define mvwinsstr(win,y,x,s)           (wmove(win,y,x) == ERR ? ERR : winsstr(win,s))
-#define mvwinstr(win,y,x,s)            (wmove(win,y,x) == ERR ? ERR : winstr(win,s))
-#define mvwvline(win,y,x,c,n)          (wmove(win,y,x) == ERR ? ERR : wvline(win,c,n))
-
-#define mvaddch(y,x,ch)                        mvwaddch(stdscr,y,x,ch)
-#define mvaddchnstr(y,x,str,n)         mvwaddchnstr(stdscr,y,x,str,n)
-#define mvaddchstr(y,x,str)            mvwaddchstr(stdscr,y,x,str)
-#define mvaddnstr(y,x,str,n)           mvwaddnstr(stdscr,y,x,str,n)
-#define mvaddstr(y,x,str)              mvwaddstr(stdscr,y,x,str)
-#define mvchgat(y,x,n,a,c,o)           mvwchgat(stdscr,y,x,n,a,c,o)
-#define mvdelch(y,x)                   mvwdelch(stdscr,y,x)
-#define mvgetch(y,x)                   mvwgetch(stdscr,y,x)
-#define mvgetnstr(y,x,str,n)           mvwgetnstr(stdscr,y,x,str,n)
-#define mvgetstr(y,x,str)              mvwgetstr(stdscr,y,x,str)
-#define mvhline(y,x,c,n)               mvwhline(stdscr,y,x,c,n)
-#define mvinch(y,x)                    mvwinch(stdscr,y,x)
-#define mvinchnstr(y,x,s,n)            mvwinchnstr(stdscr,y,x,s,n)
-#define mvinchstr(y,x,s)               mvwinchstr(stdscr,y,x,s)
-#define mvinnstr(y,x,s,n)              mvwinnstr(stdscr,y,x,s,n)
-#define mvinsch(y,x,c)                 mvwinsch(stdscr,y,x,c)
-#define mvinsnstr(y,x,s,n)             mvwinsnstr(stdscr,y,x,s,n)
-#define mvinsstr(y,x,s)                        mvwinsstr(stdscr,y,x,s)
-#define mvinstr(y,x,s)                 mvwinstr(stdscr,y,x,s)
-#define mvvline(y,x,c,n)               mvwvline(stdscr,y,x,c,n)
+#define mvwaddch(win,y,x,ch)           (wmove((win),(y),(x)) == ERR ? ERR : waddch((win),(ch)))
+#define mvwaddchnstr(win,y,x,str,n)    (wmove((win),(y),(x)) == ERR ? ERR : waddchnstr((win),(str),(n)))
+#define mvwaddchstr(win,y,x,str)       (wmove((win),(y),(x)) == ERR ? ERR : waddchnstr((win),(str),-1))
+#define mvwaddnstr(win,y,x,str,n)      (wmove((win),(y),(x)) == ERR ? ERR : waddnstr((win),(str),(n)))
+#define mvwaddstr(win,y,x,str)         (wmove((win),(y),(x)) == ERR ? ERR : waddnstr((win),(str),-1))
+#define mvwchgat(win,y,x,n,a,c,o)      (wmove((win),(y),(x)) == ERR ? ERR : wchgat((win),(n),(a),(c),(o)))
+#define mvwdelch(win,y,x)              (wmove((win),(y),(x)) == ERR ? ERR : wdelch(win))
+#define mvwgetch(win,y,x)              (wmove((win),(y),(x)) == ERR ? ERR : wgetch(win))
+#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 ? 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)))
+#define mvwinsch(win,y,x,c)            (wmove((win),(y),(x)) == ERR ? ERR : winsch((win),(c)))
+#define mvwinsnstr(win,y,x,s,n)                (wmove((win),(y),(x)) == ERR ? ERR : winsnstr((win),(s),(n)))
+#define mvwinsstr(win,y,x,s)           (wmove((win),(y),(x)) == ERR ? ERR : winsstr((win),(s)))
+#define mvwinstr(win,y,x,s)            (wmove((win),(y),(x)) == ERR ? ERR : winstr((win),(s)))
+#define mvwvline(win,y,x,c,n)          (wmove((win),(y),(x)) == ERR ? ERR : wvline((win),(c),(n)))
+
+#define mvaddch(y,x,ch)                        mvwaddch(stdscr,(y),(x),(ch))
+#define mvaddchnstr(y,x,str,n)         mvwaddchnstr(stdscr,(y),(x),(str),(n))
+#define mvaddchstr(y,x,str)            mvwaddchstr(stdscr,(y),(x),(str))
+#define mvaddnstr(y,x,str,n)           mvwaddnstr(stdscr,(y),(x),(str),(n))
+#define mvaddstr(y,x,str)              mvwaddstr(stdscr,(y),(x),(str))
+#define mvchgat(y,x,n,a,c,o)           mvwchgat(stdscr,(y),(x),(n),(a),(c),(o))
+#define mvdelch(y,x)                   mvwdelch(stdscr,(y),(x))
+#define mvgetch(y,x)                   mvwgetch(stdscr,(y),(x))
+#define mvgetnstr(y,x,str,n)           mvwgetnstr(stdscr,(y),(x),(str),(n))
+#define mvgetstr(y,x,str)              mvwgetstr(stdscr,(y),(x),(str))
+#define mvhline(y,x,c,n)               mvwhline(stdscr,(y),(x),(c),(n))
+#define mvinch(y,x)                    mvwinch(stdscr,(y),(x))
+#define mvinchnstr(y,x,s,n)            mvwinchnstr(stdscr,(y),(x),(s),(n))
+#define mvinchstr(y,x,s)               mvwinchstr(stdscr,(y),(x),(s))
+#define mvinnstr(y,x,s,n)              mvwinnstr(stdscr,(y),(x),(s),(n))
+#define mvinsch(y,x,c)                 mvwinsch(stdscr,(y),(x),(c))
+#define mvinsnstr(y,x,s,n)             mvwinsnstr(stdscr,(y),(x),(s),(n))
+#define mvinsstr(y,x,s)                        mvwinsstr(stdscr,(y),(x),(s))
+#define mvinstr(y,x,s)                 mvwinstr(stdscr,(y),(x),(s))
+#define mvvline(y,x,c,n)               mvwvline(stdscr,(y),(x),(c),(n))
 
 /*
  * Some wide-character functions can be implemented without the extensions.
  */
 #if !NCURSES_OPAQUE
-#define getbkgd(win)                    ((win)->_bkgd)
+#define getbkgd(win)                    ((win) ? ((win)->_bkgd) : 0)
 #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))
 
 #if !NCURSES_OPAQUE
-#if defined(NCURSES_WIDECHAR) && 0
-#define wattr_set(win,a,p,opts)                ((win)->_attrs = ((a) & ~A_COLOR), \
-                                        (win)->_color = (p), \
+#if NCURSES_WIDECHAR && SET_NEED_WCHAR_H
+#define wattr_set(win,a,p,opts)                (((win) \
+                                         ? ((win)->_attrs = ((a) & ~A_COLOR), \
+                                            (win)->_color = (p)) \
+                                         : OK), \
                                         OK)
-#define wattr_get(win,a,p,opts)                ((void)((a) != (void *)0 && (*(a) = (win)->_attrs)), \
-                                        (void)((p) != (void *)0 && (*(p) = (short)(win)->_color)), \
+#define wattr_get(win,a,p,opts)                ((void)(((a) != (void *)0) ? (*(a) = (win) ? (win)->_attrs : 0) : OK), \
+                                        (void)(((p) != (void *)0) ? (*(p) = (NCURSES_PAIRS_T) ((win) ? (win)->_color : 0)) : OK), \
                                         OK)
 #else
-#define wattr_set(win,a,p,opts)                ((win)->_attrs = (((a) & ~A_COLOR) | (attr_t)COLOR_PAIR(p)), OK)
-#define wattr_get(win,a,p,opts)                ((void)((a) != (void *)0 && (*(a) = (win)->_attrs)), \
-                                        (void)((p) != (void *)0 && (*(p) = (short)PAIR_NUMBER((win)->_attrs))), \
+#define wattr_set(win,a,p,opts)                (((win) \
+                                         ? ((win)->_attrs = (((a) & ~A_COLOR) | (attr_t)COLOR_PAIR(p))) \
+                                         : OK), \
+                                        OK)
+#define wattr_get(win,a,p,opts)                ((void)(((a) != (void *)0) ? (*(a) = (win) ? (win)->_attrs : 0) : OK), \
+                                        (void)(((p) != (void *)0) ? (*(p) = (NCURSES_PAIRS_T) ((win) ? PAIR_NUMBER((win)->_attrs) : 0)) : OK), \
                                         OK)
 #endif
 #endif /* NCURSES_OPAQUE */
@@ -1314,6 +1357,7 @@ NCURSES_EXPORT(int) vsscanf(const char *, const char *, va_list);
 #define is_scrollok(win)       ((win) ? (win)->_scroll : FALSE)
 #define is_subwin(win)         ((win) ? ((win)->_flags & _SUBWIN) != 0 : FALSE)
 #define is_syncok(win)         ((win) ? (win)->_sync : FALSE)
+#define wgetdelay(win)         ((win) ? (win)->_delay : 0)
 #define wgetparent(win)                ((win) ? (win)->_parent : 0)
 #define wgetscrreg(win,t,b)    ((win) ? (*(t) = (win)->_regtop, *(b) = (win)->_regbottom, OK) : ERR)
 #endif
index 381e767..7b8fc1e 100644 (file)
@@ -1,6 +1,6 @@
 /* include/ncurses_cfg.h.  Generated automatically by configure.  */
 /****************************************************************************
- * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc.              *
+ * Copyright (c) 1998-2015,2016 Free Software Foundation, Inc.              *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
  ****************************************************************************/
 
 /****************************************************************************
- *  Author: Thomas E. Dickey <dickey@clark.net> 1997                        *
+ *  Author: Thomas E. Dickey      1997-on                                   *
  ****************************************************************************/
 /*
- * $Id: ncurses_cfg.hin,v 1.7 2005/01/02 01:26:58 tom Exp $
+ * $Id: ncurses_cfg.hin,v 1.9 2016/03/05 21:45:24 tom Exp $
  *
  * This is a template-file used to generate the "ncurses_cfg.h" file.
  *
 #ifndef NC_CONFIG_H
 #define NC_CONFIG_H
 
-#define SYSTEM_NAME "dragonfly3.1"
-#define CC_HAS_PROTOS 1
+#define PACKAGE "ncurses"
+#define NCURSES_VERSION "6.0"
+#define NCURSES_PATCHDATE 20160305
+#define SYSTEM_NAME "dragonfly4.5"
 #if 0
 #include <stdlib.h>
 #endif
 #define HAVE_LONG_FILE_NAMES 1
 #define MIXEDCASE_FILENAMES 1
 #define USE_SYSMOUSE 1
-#define USE_DATABASE 1
 #define TERMINFO_DIRS "/usr/share/terminfo"
 #define TERMINFO "/usr/share/terminfo"
 #define HAVE_BIG_CORE 1
-#define USE_TERMCAP 1
 #define TERMPATH "/etc/termcap:/usr/share/misc/termcap"
 #define USE_GETCAP 1
 #define USE_HOME_TERMINFO 1
 #define USE_LINKS 1
 #define BSD_TPUTS 1
 #define HAVE_LANGINFO_CODESET 1
-#ifdef ENABLE_WIDEC
-#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
-#endif
 #define HAVE_FSEEKO 1
+#define HAVE_ASSUME_DEFAULT_COLORS 1
 #define HAVE_CURSES_VERSION 1
 #define HAVE_HAS_KEY 1
 #define HAVE_RESIZETERM 1
 #define HAVE_RESIZE_TERM 1
 #define HAVE_TERM_ENTRY_H 1
 #define HAVE_USE_DEFAULT_COLORS 1
+#define HAVE_USE_SCREEN 1
+#define HAVE_USE_WINDOW 1
 #define HAVE_WRESIZE 1
 #define NCURSES_EXT_FUNCS 1
+#define NCURSES_SP_FUNCS 1
+#define NCURSES_EXT_PUTWIN 1
 #define NCURSES_NO_PADDING 1
 #define STDC_HEADERS 1
 #define HAVE_SYS_TYPES_H 1
 #define USE_HASHMAP 1
 #define NCURSES_WRAP_PREFIX "_nc_"
 #define GCC_SCANF 1
-#define GCC_SCANFLIKE(fmt,var)  __attribute__((format(scanf,fmt,var)))
+#define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
 #define GCC_PRINTF 1
 #define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
 #define GCC_UNUSED __attribute__((unused))
 #define GCC_NORETURN __attribute__((noreturn))
-#define NDEBUG 1
 #define HAVE_NC_ALLOC_H 1
 #define HAVE_GETTIMEOFDAY 1
 #define STDC_HEADERS 1
 #define HAVE_TTYENT_H 1
 #define HAVE_UNISTD_H 1
 #define HAVE_WCTYPE_H 1
+#define HAVE_UNISTD_H 1
+#define HAVE_GETOPT_H 1
+#define HAVE_GETOPT_HEADER 1
 #define HAVE_SYS_TIME_SELECT 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_GETOPT 1
 #define HAVE_GETTTYNAM 1
 #define HAVE_ISSETUGID 1
 #define HAVE_POLL 1
+#define HAVE_PUTENV 1
 #define HAVE_REMOVE 1
 #define HAVE_SELECT 1
 #define HAVE_SETBUF 1
 #define HAVE_SETBUFFER 1
+#define HAVE_SETENV 1
 #define HAVE_SETVBUF 1
 #define HAVE_SIGACTION 1
 #define HAVE_SIGVEC 1
 #define HAVE_TIMES 1
 #define HAVE_VSNPRINTF 1
 #define HAVE_BSD_CGETENT 1
+#define CGETENT_CONST const
 #define HAVE_ISASCII 1
 #define HAVE_NANOSLEEP 1
 #define HAVE_TERMIOS_H 1
 #define HAVE_TCGETATTR 1
 #define HAVE_VSSCANF 1
 #define HAVE_MKSTEMP 1
-#define RETSIGTYPE void
 #define HAVE_SIZECHANGE 1
 #define HAVE_WORKING_POLL 1
 #define HAVE_VA_COPY 1
 #define HAVE_WORKING_FORK 1
 #define USE_OPENPTY_HEADER <libutil.h>
 #define USE_XTERM_PTY 1
-#define HAVE_IOSTREAM 1
 #define HAVE_TYPEINFO 1
+#define HAVE_IOSTREAM 1
 #define IOSTREAM_NAMESPACE 1
-#define ETIP_NEEDS_MATH_H 1
 #define CPP_HAS_STATIC_CAST 1
 #define HAVE_SLK_COLOR 1
 #define HAVE_PANEL_H 1
 #define HAVE_FORM_H 1
 #define HAVE_LIBFORM 1
 #define NCURSES_PATHSEP ':'
-#define NCURSES_VERSION_STRING "5.9.20110404"
+#define NCURSES_VERSION_STRING "6.0.20160305"
+#define NCURSES_OSPEED_COMPAT 1
+
+/*
+ * Begin DragonFly-specific changes
+ */
+/* Support ENABLE_WIDEC */
+#ifdef ENABLE_WIDEC
+#define USE_WIDEC_SUPPORT 1
+#define NCURSES_WIDECHAR 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 SIZEOF_WCHAR_T 4
+#define NCURSES_EXT_COLORS 1
+#else
+#define NEED_WCHAR_H 0
+#define NCURSES_EXT_COLORS 0
+#endif
+/*
+ * End DragonFly-specific changes
+ */
 
 #include <ncurses_def.h>
 
 #ifdef __cplusplus
 #undef const
 #undef inline
-#else
-#if defined(lint) || defined(TRACE)
-#undef inline
-#define inline /* nothing */
-#endif
 #endif
 
        /* On HP-UX, the C compiler doesn't grok mbstate_t without
 #endif
 #endif
 
+/*
+ * vile:cmode
+ */
 #endif /* NC_CONFIG_H */
index a385d2b..249493f 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright (c) 1998-2007,2009 Free Software Foundation, Inc.              *
+ * Copyright (c) 1998-2009,2014 Free Software Foundation, Inc.              *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
  * sale, use or other dealings in this Software without prior written       *
  * authorization.                                                           *
  ****************************************************************************/
-/* $Id: ncurses_dll.h.in,v 1.8 2009/04/04 22:26:27 tom Exp $ */
+/* $Id: ncurses_dll.h.in,v 1.9 2014/08/02 21:30:20 tom Exp $ */
 
 #ifndef NCURSES_DLL_H_incl
 #define NCURSES_DLL_H_incl 1
 
+/* 2014-08-02 workaround for broken MinGW compiler.
+ * Oddly, only TRACE is mapped to trace - the other -D's are okay.
+ * suggest TDM as an alternative.
+ */
+#if defined(__MINGW64__)
+#elif defined(__MINGW32__)
+#if (__GNUC__ == 4) && (__GNUC_MINOR__ == 8)
+
+#ifdef trace
+#undef trace
+#define TRACE
+#endif
+
+#endif /* broken compiler */
+#endif /* MingW */
+
 /*
  * For reentrant code, we map the various global variables into SCREEN by
  * using functions to access them.
index 427451f..909c708 100644 (file)
@@ -37,7 +37,7 @@
 #define NCURSES_TERMCAP_H_incl 1
 
 #undef  NCURSES_VERSION
-#define NCURSES_VERSION "5.9"
+#define NCURSES_VERSION "6.0"
 
 #include <ncurses_dll.h>
 
index ff844d7..e7767d4 100644 (file)
@@ -45,7 +45,7 @@
 #define NCURSES_UNCTRL_H_incl  1
 
 #undef  NCURSES_VERSION
-#define NCURSES_VERSION "5.9"
+#define NCURSES_VERSION "6.0"
 
 #ifdef __cplusplus
 extern "C" {
@@ -56,7 +56,7 @@ extern "C" {
 #undef unctrl
 NCURSES_EXPORT(NCURSES_CONST char *) unctrl (chtype);
 
-#if 0
+#if 1
 NCURSES_EXPORT(NCURSES_CONST char *) NCURSES_SP_NAME(unctrl) (SCREEN*, chtype);
 #endif
 
index 9d78a64..f48f20d 100644 (file)
@@ -4,94 +4,87 @@ SHLIBDIR?=    /lib/priv
 LIBDIR?=       /usr/lib/priv
 PROFLIBDIR?=   /usr/lib/priv/profile
 
-.include "../Makefile.inc"
-
-NCURSESBASEDIR=${NCURSESDIR}/ncurses/base
-NCURSESSERIALDIR=${NCURSESDIR}/ncurses/tty
-NCURSESTINFODIR=${NCURSESDIR}/ncurses/tinfo
-NCURSESTRACEDIR=${NCURSESDIR}/ncurses/trace
-NCURSESWCHARDIR=${NCURSESDIR}/ncurses/widechar
-.PATH: ${NCURSESBASEDIR} ${NCURSESSERIALDIR} ${NCURSESTINFODIR} ${NCURSESTRACEDIR} \
-       ${.OBJDIR} ${.CURDIR}/../include ${NCURSESDIR}/include/
+NCURSESBASEDIR=                ${NCURSESDIR}/ncurses/base
+NCURSESSERIALDIR=      ${NCURSESDIR}/ncurses/tty
+NCURSESTINFODIR=       ${NCURSESDIR}/ncurses/tinfo
 
+ZNCURSES=      yes
 CFLAGS+=       -DTRACE
 CFLAGS+=       -DDRAGONFLY_NATIVE
 
-ncurses_def.h:
-       AWK=awk sh ${NCURSESDIR}/include/MKncurses_def.sh \
-         ${NCURSESDIR}/include/ncurses_defs > ${.TARGET}
+GENHDRS= \
+       curses.h \
+       hashsize.h \
+       init_keytry.h \
+       ncurses_def.h \
+       parametrized.h \
+       term.h
 
-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) >>$@
-.if defined(ENABLE_WIDEC)
-       cat ${NCURSESDIR}/include/curses.wide >>$@
-.endif
-       cat ${NCURSESDIR}/include/curses.tail >>$@
+GENSRCS= \
+       codes.c \
+       comp_captab.c \
+       expanded.c \
+       fallback.c \
+       lib_gen.c \
+       lib_keyname.c \
+       names.c \
+       unctrl.c
+
+HEADERS=       curses.h term.h termcap.h unctrl.h
+SRCHDRS=       ncurses_dll.h
 
-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 $@
+term.h: MKterm.h.awk edit_cfg.sh Caps
+       awk -f ${.CURDIR}/../include/MKterm.h.awk ${TERMINFO_CAPS} > ${.TARGET}.new
+       sh ${NCURSESDIR}/include/edit_cfg.sh ${.CURDIR}/../include/ncurses_cfg.h ${.TARGET}.new
+       mv -f ${.TARGET}.new ${.TARGET}
 
-hashsize.h:
-       sh ${NCURSESDIR}/include/MKhashsize.sh ${TERMINFO_CAPS} >$@
+hashsize.h: MKhashsize.sh Caps
+       sh ${NCURSESDIR}/include/MKhashsize.sh ${TERMINFO_CAPS} > ${.TARGET}
 
-parametrized.h:
-       sh ${NCURSESDIR}/include/MKparametrized.sh ${TERMINFO_CAPS} >$@
+parametrized.h: MKparametrized.sh Caps
+       sh ${NCURSESDIR}/include/MKparametrized.sh ${TERMINFO_CAPS} > ${.TARGET}
 
 init_keytry.h: make_keys keys.list
-       ./make_keys keys.list > $@
+       ./make_keys keys.list > ${.TARGET}
 
-make_keys: ${NCURSESTINFODIR}/make_keys.c names.c ncurses_def.h ${VERSION_MAP}
+make_keys: make_keys.c names.c ncurses_def.h ${VERSION_MAP} ${HEADERS}
        ${NXCC} ${NXCFLAGS} -static ${NCURSESTINFODIR}/make_keys.c ${NXLDLIBS} -o ${.TARGET}
 
-keys.list:
-       sh ${NCURSESTINFODIR}/MKkeys_list.sh ${TERMINFO_CAPS} | sort > $@
+keys.list: MKkeys_list.sh Caps
+       sh ${NCURSESTINFODIR}/MKkeys_list.sh ${TERMINFO_CAPS} | LC_ALL=C sort > ${.TARGET}
 
-names.c: ${NCURSESTINFODIR}/MKnames.awk
-       awk -f ${NCURSESTINFODIR}/MKnames.awk bigstrings=$(USE_BIG_STRINGS) ${TERMINFO_CAPS} >$@
+names.c: MKnames.awk Caps
+       awk -f ${NCURSESTINFODIR}/MKnames.awk bigstrings=1 ${TERMINFO_CAPS} > ${.TARGET}
 
-codes.c: ${NCURSESTINFODIR}/MKcodes.awk
-       awk -f ${NCURSESTINFODIR}/MKcodes.awk bigstrings=$(USE_BIG_STRINGS) ${TERMINFO_CAPS} >$@
+codes.c: MKcodes.awk Caps
+       awk -f ${NCURSESTINFODIR}/MKcodes.awk bigstrings=1 ${TERMINFO_CAPS} > ${.TARGET}
 
-comp_captab.c: make_hash
-       sh -e ${NCURSESTINFODIR}/MKcaptab.sh awk 0 ${NCURSESTINFODIR}/MKcaptab.awk ${TERMINFO_CAPS} > $@
+comp_captab.c: make_hash MKcaptab.sh MKcaptab.awk Caps
+       sh -e ${NCURSESTINFODIR}/MKcaptab.sh awk 1 ${NCURSESTINFODIR}/MKcaptab.awk ${TERMINFO_CAPS} > ${.TARGET}
 
-make_hash: ${NCURSESTINFODIR}/make_hash.c
+make_hash: make_hash.c hashsize.h ncurses_def.h ${HEADERS}
        ${NXCC} ${NXCFLAGS} -static -DMAIN_PROGRAM ${NXLDLIBS} -o ${.TARGET} ${NCURSESTINFODIR}/make_hash.c
 
-make_hash: hashsize.h ncurses_def.h curses.h
+expanded.c: MKexpanded.sh
+       sh ${NCURSESSERIALDIR}/MKexpanded.sh "${CC}" -E ${CFLAGS} > ${.TARGET}
 
-expanded.c:
-       sh ${NCURSESSERIALDIR}/MKexpanded.sh "${CC}" -E ${CFLAGS} > $@
-fallback.c:
-       sh ${NCURSESTINFODIR}/MKfallback.sh /usr/share/terminfo ${NCURSESDIR}/misc/terminfo.src >$@
-lib_gen.c: curses.h
-       sh ${NCURSESBASEDIR}/MKlib_gen.sh "${CC} -E ${CFLAGS}" awk generated <curses.h >$@
-lib_keyname.c: keys.list
-       awk -f ${NCURSESBASEDIR}/MKkeyname.awk keys.list > $@
-unctrl.c:
-       echo | awk -f ${NCURSESBASEDIR}/MKunctrl.awk >$@
+fallback.c: MKfallback.sh
+       sh ${NCURSESTINFODIR}/MKfallback.sh /usr/share/terminfo ${NCURSESDIR}/misc/terminfo.src > ${.TARGET}
 
-CLEANFILES=     curses.h ncurses_def.h term.h hashsize.h parametrized.h comp_captab.c
-CLEANFILES+=    namehdr boolnames boolfnames numnames numfnames strnames strfnames nameftr
-CLEANFILES+=    codes.c init_keytry.h numcodes strcodes boolcodes codeftr make_keys names.c
-CLEANFILES+=    make_hash expanded.c fallback.c lib_gen.c lib_keyname.c unctrl.c keys.list
+lib_gen.c: MKlib_gen.sh curses.h
+       sh ${NCURSESBASEDIR}/MKlib_gen.sh "${CC} -E ${CFLAGS}" awk generated <curses.h > ${.TARGET}
 
-SRCS=  \
-       curses.h \
-       ncurses_def.h \
-       term.h \
-       hashsize.h \
-       parametrized.h \
-       init_keytry.h
+lib_keyname.c: MKkeyname.awk keys.list
+       awk -f ${NCURSESBASEDIR}/MKkeyname.awk bigstrings=1 keys.list > ${.TARGET}
+
+unctrl.c: MKunctrl.awk
+       echo | awk -f ${NCURSESBASEDIR}/MKunctrl.awk bigstrings=1 > ${.TARGET}
+
+CLEANFILES=     ${GENSRCS} ${GENHDRS} term.h.new curses.h.new
+CLEANFILES+=   make_keys make_hash keys.list
 
 # Base
-SRCS+= \
-       define_key.c \
+SRCS=  define_key.c \
        key_defined.c \
        keybound.c \
        keyok.c \
@@ -124,8 +117,8 @@ SRCS+=      \
        lib_initscr.c \
        lib_insch.c \
        lib_insdel.c \
-       lib_instr.c \
        lib_insnstr.c \
+       lib_instr.c \
        lib_isendwin.c \
        lib_leaveok.c \
        lib_mouse.c \
@@ -166,7 +159,6 @@ SRCS+=      \
        lib_wattron.c \
        lib_winch.c \
        lib_window.c \
-       memmove.c \
        nc_panel.c \
        resizeterm.c \
        safe_sprintf.c \
@@ -177,8 +169,7 @@ SRCS+=      \
        wresize.c
 
 # Serial
-SRCS+= \
-       hardscroll.c \
+SRCS+= hardscroll.c \
        hashmap.c \
        lib_mvcur.c \
        lib_tstp.c \
@@ -187,8 +178,7 @@ SRCS+=      \
        tty_update.c
 
 # Tinfo
-SRCS+= \
-       access.c \
+SRCS+= access.c \
        add_tries.c \
        alloc_entry.c \
        alloc_ttype.c \
@@ -198,8 +188,8 @@ SRCS+=      \
        comp_hash.c \
        comp_parse.c \
        comp_scan.c \
-       doalloc.c \
        db_iterator.c \
+       doalloc.c \
        entries.c \
        free_ttype.c \
        getenv_num.c \
@@ -226,18 +216,17 @@ SRCS+=    \
        lib_tputs.c \
        lib_ttyflags.c \
        name_match.c \
+       obsolete.c \
        parse_entry.c \
        read_entry.c \
        read_termcap.c \
-       setbuf.c \
        strings.c \
        trim_sgr0.c \
        use_screen.c \
        write_entry.c
 
 # Trace
-SRCS+= \
-       lib_trace.c \
+SRCS+= lib_trace.c \
        lib_traceatr.c \
        lib_tracebits.c \
        lib_tracechr.c \
@@ -249,11 +238,17 @@ SRCS+=    \
        varargs.c \
        visbuf.c \
 
-# Widechar
+# Generated
+SRCS+= ${GENSRCS} ${GENHDRS}
+
+NCSTATIC=      libprivate_ncurses${LIB_SUFFIX}.a
+NCDYN=         libprivate_ncurses${LIB_SUFFIX}.so
+
 .if defined(ENABLE_WIDEC)
-.PATH: ${NCURSESWCHARDIR}
-SRCS+= \
-       charable.c \
+INCS=          ${HEADERS} ${SRCHDRS}
+INCSLINKS=     curses.h ${INCLUDEDIR}/ncurses.h
+
+SRCS+= charable.c \
        lib_add_wch.c \
        lib_box_set.c \
        lib_cchar.c \
@@ -275,40 +270,4 @@ SRCS+=     \
        lib_wunctrl.c
 .endif
 
-# Generated
-SRCS+= \
-       codes.c \
-       comp_captab.c \
-       expanded.c \
-       fallback.c \
-       lib_gen.c \
-       lib_keyname.c \
-       names.c \
-       unctrl.c
-
-NCSTATIC=      libprivate_ncurses${LIB_SUFFIX}.a
-NCDYN=         libprivate_ncurses${LIB_SUFFIX}.so
-
-XINCS= term.h ${.CURDIR}/../include/termcap.h \
-       ${.CURDIR}/../include/unctrl.h curses.h \
-       ${.CURDIR}/../include/ncurses_dll.h
-
-.if defined(ENABLE_WIDEC)
-INCS= ${XINCS}
-INCSLINKS=curses.h ${INCLUDEDIR}/ncurses.h
-.endif
-
-# Make the generated files depend on the headers, otherwise
-# the make depend step cannot run -j parallel due to not yet
-# knowing what the actual dependencies are.
-#
-codes.c: ${XINCS}
-comp_captab.c: ${XINCS}
-expanded.c: ${XINCS}
-fallback.c: ${XINCS}
-lib_gen.c: ${XINCS}
-lib_keyname.c: ${XINCS}
-names.c: ${XINCS}
-unctrl.c: ${XINCS}
-
 .include <bsd.lib.mk>
diff --git a/lib/libncurses/libncurses/Symbol.map b/lib/libncurses/libncurses/Symbol.map
deleted file mode 100644 (file)
index 5857944..0000000
+++ /dev/null
@@ -1,566 +0,0 @@
-NCURSES_5.9 {
-    BC;
-    COLORS;
-    COLOR_PAIR;
-    COLOR_PAIRS;
-    COLS;
-    ESCDELAY;
-    LINES;
-    PAIR_NUMBER;
-    PC;
-    SP;
-    TABSIZE;
-    UP;
-    acs_map;
-    addch;
-    addchnstr;
-    addchstr;
-    addnstr;
-    addstr;
-    assume_default_colors;
-    attr_get;
-    attr_off;
-    attr_on;
-    attr_set;
-    attroff;
-    attron;
-    attrset;
-    baudrate;
-    beep;
-    bkgd;
-    bkgdset;
-    boolcodes;
-    boolfnames;
-    boolnames;
-    border;
-    box;
-    can_change_color;
-    cbreak;
-    chgat;
-    clear;
-    clearok;
-    clrtobot;
-    clrtoeol;
-    color_content;
-    color_set;
-    copywin;
-    cur_term;
-    curs_set;
-    curscr;
-    curses_version;
-    def_prog_mode;
-    def_shell_mode;
-    define_key;
-    del_curterm;
-    delay_output;
-    delch;
-    deleteln;
-    delscreen;
-    delwin;
-    derwin;
-    doupdate;
-    dupwin;
-    echo;
-    echochar;
-    endwin;
-    erase;
-    erasechar;
-    filter;
-    flash;
-    flushinp;
-    get_escdelay;
-    getattrs;
-    getbegx;
-    getbegy;
-    getbkgd;
-    getch;
-    getcurx;
-    getcury;
-    getmaxx;
-    getmaxy;
-    getmouse;
-    getnstr;
-    getparx;
-    getpary;
-    getstr;
-    getwin;
-    halfdelay;
-    has_colors;
-    has_ic;
-    has_il;
-    has_key;
-    has_mouse;
-    hline;
-    idcok;
-    idlok;
-    immedok;
-    inch;
-    inchnstr;
-    inchstr;
-    init_color;
-    init_pair;
-    initscr;
-    innstr;
-    insch;
-    insdelln;
-    insertln;
-    insnstr;
-    insstr;
-    instr;
-    intrflush;
-    is_cleared;
-    is_idcok;
-    is_idlok;
-    is_immedok;
-    is_keypad;
-    is_leaveok;
-    is_linetouched;
-    is_nodelay;
-    is_notimeout;
-    is_pad;
-    is_scrollok;
-    is_subwin;
-    is_syncok;
-    is_term_resized;
-    is_wintouched;
-    isendwin;
-    key_defined;
-    keybound;
-    keyname;
-    keyok;
-    keypad;
-    killchar;
-    leaveok;
-    longname;
-    mcprint;
-    meta;
-    mouse_trafo;
-    mouseinterval;
-    mousemask;
-    move;
-    mvaddch;
-    mvaddchnstr;
-    mvaddchstr;
-    mvaddnstr;
-    mvaddstr;
-    mvchgat;
-    mvcur;
-    mvdelch;
-    mvderwin;
-    mvgetch;
-    mvgetnstr;
-    mvgetstr;
-    mvhline;
-    mvinch;
-    mvinchnstr;
-    mvinchstr;
-    mvinnstr;
-    mvinsch;
-    mvinsnstr;
-    mvinsstr;
-    mvinstr;
-    mvprintw;
-    mvscanw;
-    mvvline;
-    mvwaddch;
-    mvwaddchnstr;
-    mvwaddchstr;
-    mvwaddnstr;
-    mvwaddstr;
-    mvwchgat;
-    mvwdelch;
-    mvwgetch;
-    mvwgetnstr;
-    mvwgetstr;
-    mvwhline;
-    mvwin;
-    mvwinch;
-    mvwinchnstr;
-    mvwinchstr;
-    mvwinnstr;
-    mvwinsch;
-    mvwinsnstr;
-    mvwinsstr;
-    mvwinstr;
-    mvwprintw;
-    mvwscanw;
-    mvwvline;
-    napms;
-    newpad;
-    newscr;
-    newterm;
-    newwin;
-    nl;
-    nocbreak;
-    nodelay;
-    noecho;
-    nofilter;
-    nonl;
-    noqiflush;
-    noraw;
-    notimeout;
-    numcodes;
-    numfnames;
-    numnames;
-    ospeed;
-    overlay;
-    overwrite;
-    pair_content;
-    pechochar;
-    pnoutrefresh;
-    prefresh;
-    printw;
-    putp;
-    putwin;
-    qiflush;
-    raw;
-    redrawwin;
-    refresh;
-    reset_prog_mode;
-    reset_shell_mode;
-    resetty;
-    resize_term;
-    resizeterm;
-    restartterm;
-    ripoffline;
-    savetty;
-    scanw;
-    scr_dump;
-    scr_init;
-    scr_restore;
-    scr_set;
-    scrl;
-    scroll;
-    scrollok;
-    set_curterm;
-    set_escdelay;
-    set_tabsize;
-    set_term;
-    setscrreg;
-    setupterm;
-    slk_attr;
-    slk_attr_set;
-    slk_attroff;
-    slk_attron;
-    slk_attrset;
-    slk_clear;
-    slk_color;
-    slk_init;
-    slk_label;
-    slk_noutrefresh;
-    slk_refresh;
-    slk_restore;
-    slk_set;
-    slk_touch;
-    standend;
-    standout;
-    start_color;
-    stdscr;
-    strcodes;
-    strfnames;
-    strnames;
-    subpad;
-    subwin;
-    syncok;
-    termattrs;
-    termname;
-    tgetent;
-    tgetflag;
-    tgetnum;
-    tgetstr;
-    tgoto;
-    tigetflag;
-    tigetnum;
-    tigetstr;
-    timeout;
-    tiparm;
-    touchline;
-    touchwin;
-    tparm;
-    tputs;
-    trace;
-    ttytype;
-    typeahead;
-    unctrl;
-    ungetch;
-    ungetmouse;
-    untouchwin;
-    use_default_colors;
-    use_env;
-    use_extended_names;
-    use_legacy_coding;
-    use_screen;
-    use_window;
-    vidattr;
-    vidputs;
-    vline;
-    vw_printw;
-    vw_scanw;
-    vwprintw;
-    vwscanw;
-    waddch;
-    waddchnstr;
-    waddchstr;
-    waddnstr;
-    waddstr;
-    wattr_get;
-    wattr_off;
-    wattr_on;
-    wattr_set;
-    wattroff;
-    wattron;
-    wattrset;
-    wbkgd;
-    wbkgdset;
-    wborder;
-    wchgat;
-    wclear;
-    wclrtobot;
-    wclrtoeol;
-    wcolor_set;
-    wcursyncup;
-    wdelch;
-    wdeleteln;
-    wechochar;
-    wenclose;
-    werase;
-    wgetch;
-    wgetnstr;
-    wgetparent;
-    wgetscrreg;
-    wgetstr;
-    whline;
-    winch;
-    winchnstr;
-    winchstr;
-    winnstr;
-    winsch;
-    winsdelln;
-    winsertln;
-    winsnstr;
-    winsstr;
-    winstr;
-    wmouse_trafo;
-    wmove;
-    wnoutrefresh;
-    wprintw;
-    wredrawln;
-    wrefresh;
-    wresize;
-    wscanw;
-    wscrl;
-    wsetscrreg;
-    wstandend;
-    wstandout;
-    wsyncdown;
-    wsyncup;
-    wtimeout;
-    wtouchln;
-    wvline;
-};
-
-NCURSESprivate_1.0 {
-    _nc_access;
-    _nc_add_to_try;
-    _nc_align_termtype;
-    _nc_altcharset_name;
-    _nc_basename;
-    _nc_baudrate;
-    _nc_capcmp;
-    _nc_captoinfo;
-    _nc_check_termtype;
-    _nc_check_termtype2;
-    _nc_comment_end;
-    _nc_comment_start;
-    _nc_copy_entry;
-    _nc_copy_termtype;
-    _nc_curr_col;
-    _nc_curr_file_pos;
-    _nc_curr_line;
-    _nc_curr_token;
-    _nc_delink_entry;
-    _nc_disable_period;
-    _nc_do_color;
-    _nc_doalloc;
-    _nc_entry_match;
-    _nc_err_abort;
-    _nc_expand_try;
-    _nc_expanded;
-    _nc_fallback;
-    _nc_fifo_dump;
-    _nc_find_entry;
-    _nc_find_type_entry;
-    _nc_first_db;
-    _nc_first_name;
-    _nc_flush;
-    _nc_format_slks;
-    _nc_free_and_exit;
-    _nc_free_entries;
-    _nc_free_entry;
-    _nc_free_termtype;
-    _nc_freeall;
-    _nc_freewin;
-    _nc_get_alias_table;
-    _nc_get_hash_info;
-    _nc_get_hash_table;
-    _nc_get_locale;
-    _nc_get_screensize;
-    _nc_get_source;
-    _nc_get_table;
-    _nc_get_token;
-    _nc_get_tty_mode;
-    _nc_get_type;
-    _nc_getenv_num;
-    _nc_globals;
-    _nc_handle_sigwinch;
-    _nc_has_mouse;
-    _nc_hash_map;
-    _nc_hashed_db;
-    _nc_head;
-    _nc_home_terminfo;
-    _nc_infotocap;
-    _nc_init_acs;
-    _nc_init_entry;
-    _nc_init_keytry;
-    _nc_insert_ch;
-    _nc_is_abs_path;
-    _nc_is_dir_path;
-    _nc_is_file_path;
-    _nc_keep_tic_dir;
-    _nc_keyname;
-    _nc_keypad;
-    _nc_last_db;
-    _nc_leaks_tinfo;
-    _nc_linedump;
-    _nc_locale_breaks_acs;
-    _nc_make_oldhash;
-    _nc_makenew;
-    _nc_memmove;
-    _nc_merge_entry;
-    _nc_msec_cost;
-    _nc_mvcur_init;
-    _nc_mvcur_resume;
-    _nc_mvcur_wrap;
-    _nc_name_match;
-    _nc_next_db;
-    _nc_nulls_sent;
-    _nc_oldnums;
-    _nc_optimize_enable;
-    _nc_ospeed;
-    _nc_outch;
-    _nc_outchars;
-    _nc_panelhook;
-    _nc_panic_mode;
-    _nc_parse_entry;
-    _nc_pathlast;
-    _nc_prescreen;
-    _nc_printf_string;
-    _nc_push_token;
-    _nc_putp;
-    _nc_putp_flush;
-    _nc_read_entry;
-    _nc_read_entry_source;
-    _nc_read_file_entry;
-    _nc_read_termcap_entry;
-    _nc_read_termtype;
-    _nc_remove_key;
-    _nc_remove_string;
-    _nc_render;
-    _nc_reset_colors;
-    _nc_reset_input;
-    _nc_resolve_uses;
-    _nc_resolve_uses2;
-    _nc_retrace_attr_t;
-    _nc_retrace_bool;
-    _nc_retrace_char;
-    _nc_retrace_chtype;
-    _nc_retrace_cptr;
-    _nc_retrace_cvoid_ptr;
-    _nc_retrace_int;
-    _nc_retrace_int_attr_t;
-    _nc_retrace_mmask_t;
-    _nc_retrace_ptr;
-    _nc_retrace_sp;
-    _nc_retrace_unsigned;
-    _nc_retrace_void_ptr;
-    _nc_retrace_win;
-    _nc_ripoffline;
-    _nc_rootname;
-    _nc_safe_strcat;
-    _nc_safe_strcpy;
-    _nc_save_str;
-    _nc_screen_chain;
-    _nc_screen_init;
-    _nc_screen_of;
-    _nc_screen_resume;
-    _nc_screen_wrap;
-    _nc_scroll_oldhash;
-    _nc_scroll_optimize;
-    _nc_scroll_window;
-    _nc_scrolln;
-    _nc_set_buffer;
-    _nc_set_no_padding;
-    _nc_set_source;
-    _nc_set_tty_mode;
-    _nc_set_type;
-    _nc_set_writedir;
-    _nc_setup_tinfo;
-    _nc_setupscreen;
-    _nc_setupterm;
-    _nc_signal_handler;
-    _nc_slk_initialize;
-    _nc_start_line;
-    _nc_str_copy;
-    _nc_str_init;
-    _nc_str_null;
-    _nc_suppress_warnings;
-    _nc_synchook;
-    _nc_syntax;
-    _nc_syserr_abort;
-    _nc_tail;
-    _nc_tic_dir;
-    _nc_tic_expand;
-    _nc_tic_written;
-    _nc_timed_wait;
-    _nc_tinfo_cmdch;
-    _nc_tinfo_fkeys;
-    _nc_tparm_analyze;
-    _nc_tparm_err;
-    _nc_tputs_trace;
-    _nc_trace_buf;
-    _nc_trace_bufcat;
-    _nc_trace_tries;
-    _nc_trace_ttymode;
-    _nc_trace_xnames;
-    _nc_tracebits;
-    _nc_tracechar;
-    _nc_tracemouse;
-    _nc_tracing;
-    _nc_trans_string;
-    _nc_trim_sgr0;
-    _nc_unctrl;
-    _nc_ungetch;
-    _nc_unicode_locale;
-    _nc_update_screensize;
-    _nc_user_definable;
-    _nc_varargs;
-    _nc_visbuf;
-    _nc_visbuf2;
-    _nc_visbufn;
-    _nc_viscbuf;
-    _nc_viscbuf2;
-    _nc_vsscanf;
-    _nc_waddch_nosync;
-    _nc_warning;
-    _nc_wgetch;
-    _nc_wrap_entry;
-    _nc_write_entry;
-    _traceattr;
-    _traceattr2;
-    _tracechar;
-    _tracechtype;
-    _tracechtype2;
-    _tracedump;
-    _tracef;
-    _tracemouse;
-};
index d34d040..4cc7ed5 100644 (file)
@@ -1,5 +1,3 @@
-ENABLE_WIDEC=
-
-.PATH: ${.CURDIR}/../libncurses
+ENABLE_WIDEC=  yes
 
 .include "${.CURDIR}/../libncurses/Makefile"
diff --git a/lib/libncurses/libncursesw/Symbol.map b/lib/libncurses/libncursesw/Symbol.map
deleted file mode 100644 (file)
index 758e9ca..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-NCURSES_5.9 {
-    add_wch;
-    add_wchnstr;
-    add_wchstr;
-    addnwstr;
-    addwstr;
-    bkgrnd;
-    bkgrndset;
-    border_set;
-    box_set;
-    echo_wchar;
-    erasewchar;
-    get_wch;
-    get_wstr;
-    getbkgrnd;
-    getcchar;
-    getn_wstr;
-    hline_set;
-    in_wch;
-    in_wchnstr;
-    in_wchstr;
-    innwstr;
-    ins_nwstr;
-    ins_wch;
-    ins_wstr;
-    inwstr;
-    key_name;
-    killwchar;
-    mvadd_wch;
-    mvadd_wchnstr;
-    mvadd_wchstr;
-    mvaddnwstr;
-    mvaddwstr;
-    mvget_wch;
-    mvget_wstr;
-    mvgetn_wstr;
-    mvhline_set;
-    mvin_wch;
-    mvin_wchnstr;
-    mvin_wchstr;
-    mvinnwstr;
-    mvins_nwstr;
-    mvins_wch;
-    mvins_wstr;
-    mvinwstr;
-    mvvline_set;
-    mvwadd_wch;
-    mvwadd_wchnstr;
-    mvwadd_wchstr;
-    mvwaddnwstr;
-    mvwaddwstr;
-    mvwget_wch;
-    mvwget_wstr;
-    mvwgetn_wstr;
-    mvwhline_set;
-    mvwin_wch;
-    mvwin_wchnstr;
-    mvwin_wchstr;
-    mvwinnwstr;
-    mvwins_nwstr;
-    mvwins_wch;
-    mvwins_wstr;
-    mvwinwstr;
-    mvwvline_set;
-    pecho_wchar;
-    setcchar;
-    slk_attr_off;
-    slk_attr_on;
-    slk_wset;
-    term_attrs;
-    unget_wch;
-    vid_attr;
-    vid_puts;
-    vline_set;
-    wadd_wch;
-    wadd_wchnstr;
-    wadd_wchstr;
-    waddnwstr;
-    waddwstr;
-    wbkgrnd;
-    wbkgrndset;
-    wborder_set;
-    wecho_wchar;
-    wget_wch;
-    wget_wstr;
-    wgetbkgrnd;
-    wgetn_wstr;
-    whline_set;
-    win_wch;
-    win_wchnstr;
-    win_wchstr;
-    winnwstr;
-    wins_nwstr;
-    wins_wch;
-    wins_wstr;
-    winwstr;
-    wunctrl;
-    wvline_set;
-};
-
-NCURSESprivate_1.0 {
-    _nc_build_wch;
-    _nc_init_wacs;
-    _nc_insert_wch;
-    _nc_is_charable;
-    _nc_to_char;
-    _nc_to_widechar;
-    _nc_viswbuf;
-    _nc_viswbuf2;
-    _nc_viswbufn;
-    _nc_viswibuf;
-    _nc_wacs;
-    _nc_wchstrlen;
-    _nc_wcrtomb;
-    _tracecchar_t;
-    _tracecchar_t2;
-};
index 7e302da..7b49c9e 100644 (file)
@@ -1,36 +1,13 @@
+ZPANEL=        yes
 LIB=    private_panel${LIB_SUFFIX}
 
-.include "../Makefile.inc"
-
-NCURSESPANELDIR=${NCURSESDIR}/panel ${.OBJDIR}
-
-.PATH: ${NCURSESPANELDIR}
-
-CFLAGS+=       -I${NCURSESDIR}/menu
-
-ncurses_def.h:
-       AWK=awk sh ${NCURSESDIR}/include/MKncurses_def.sh \
-         ${NCURSESDIR}/include/ncurses_defs > ${.TARGET}
-
-curses.h:
-       cat ${.CURDIR}/../include/curses.head >$@
-       sh ${NCURSESDIR}/include/MKkey_defs.sh $(TERMINFO_CAPS) >>$@
-       cat ${NCURSESDIR}/include/curses.wide >>$@
-       cat ${NCURSESDIR}/include/curses.tail >>$@
-
-CLEANFILES=    curses.h ncurses_def.h
-SRCS=  \
-       ncurses_def.h \
-       curses.h
-
-SRCS+= \
-       panel.c \
+SRCS=  ncurses_def.h \
        p_above.c \
        p_below.c \
        p_bottom.c \
        p_delete.c \
-       p_hide.c \
        p_hidden.c \
+       p_hide.c \
        p_move.c \
        p_new.c \
        p_replace.c \
@@ -38,9 +15,13 @@ SRCS+=       \
        p_top.c \
        p_update.c \
        p_user.c \
-       p_win.c
+       p_win.c \
+       panel.c
+
+${SRCS:M*.c}: curses.h
 
 INCS=  panel.h
 
-.include <bsd.lib.mk>
+CLEANFILES=    ncurses_def.h curses.h curses.h.new
 
+.include <bsd.lib.mk>
diff --git a/lib/libncurses/libpanel/Symbol.map b/lib/libncurses/libpanel/Symbol.map
deleted file mode 100644 (file)
index 3cea4af..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-NCURSES_5.9 {
-    bottom_panel;
-    del_panel;
-    hide_panel;
-    move_panel;
-    new_panel;
-    panel_above;
-    panel_below;
-    panel_hidden;
-    panel_userptr;
-    panel_window;
-    replace_panel;
-    set_panel_userptr;
-    show_panel;
-    top_panel;
-    update_panels;
-};
index 0aaceba..612d499 100644 (file)
@@ -1,3 +1,3 @@
-ENABLE_WIDEC=
+ENABLE_WIDEC=  yes
 
 .include "${.CURDIR}/../libpanel/Makefile"
diff --git a/lib/libncurses/libpanelw/Symbol.map b/lib/libncurses/libpanelw/Symbol.map
deleted file mode 100644 (file)
index eb4882f..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/* No additional symbols for libpanelw */
index d7500bf..909cd2d 100644 (file)
@@ -1770,7 +1770,6 @@ ENTRY=    1/1178 \
        s/screen-bce.gnome \
        s/screen-bce.konsole \
        s/screen-bce.linux \
-       s/screen-bce.mlterm \
        s/screen-bce.mrxvt \
        s/screen-bce.rxvt \
        s/screen-bce.xterm-new \
index a150a0c..239acf8 100644 (file)
@@ -57,6 +57,6 @@ dump_entry.o: ${PROGSDIR}/dump_entry.c termsort.h
 CLEANFILES=    ncurses_def.h parametrized.h termsort.c
 
 SRCS=  ncurses_def.h parametrized.h termsort.h
-SRCS+= tic.c dump_entry.c transform.c
+SRCS+= tic.c dump_entry.c tparm_type.c transform.c
 
 .include <bsd.prog.mk>
index 1647090..1549138 100644 (file)
@@ -27,7 +27,7 @@
 .\"***************************************************************************
 .\"
 .\" $Id: tic.1m,v 1.47 2010/12/04 18:38:55 tom Exp $
-.Dd September 14, 2013
+.Dd March 11, 2016
 .Dt TIC 1
 .Os
 .Sh NAME
@@ -77,7 +77,9 @@ if
 .Ev TERMINFO
 is not set, and finally look in
 .Pa /usr/share/terminfo .
-.Bl -tag -width ".Fl R subset"
+.Bl -tag -width "-e names"
+.It Fl 0
+restricts the output to a single line
 .It Fl 1
 restricts the output to a single column
 .It Fl a
@@ -94,6 +96,24 @@ Otherwise these are ignored.
 Force source translation to termcap format.
 Capabilities that are not translatable are left in the entry under
 their terminfo names but commented out with two preceding dots.
+The actual format used incorporates some improvements for escaped characters
+from terminfo format. For a stricter BSD-compatible translation,
+add the
+.Fl K
+option.
+.Pp
+If this is combined with -c, tic makes additional checks to report cases
+where the terminfo values do not have an exact equivalent in termcap form.
+For example:
+.Bl -bullet -width 1
+.It
+sgr usually will not convert, because termcap lacks the ability to work
+with more than two parameters, and because termcap lacks many of the
+arithmetic/logical operators used in terminfo.
+.It
+capabilities with more than one delay or with delays before the end of
+the string will not convert completely.
+.El
 .It Fl c
 tells
 .Nm
@@ -107,7 +127,24 @@ with this option, the code will print warnings about entries which,
 after use resolution, are more than 1023 (4096) bytes long.
 Due to a fixed buffer length in older termcap libraries
 (and a documented limit in terminfo),
-these entries may cause core dumps.
+these entries may cause core dumps with other implementations.
+.Pp
+.Nm
+checks string capabilities to ensure that those with parameters will be
+valid expressions.  It does this check only for the predefined string
+capabilities; those which are defined with the
+.Fl x
+option are ignored.
+.It Fl D
+tells
+.Nm
+to print the database locations that it knows about, and exit.
+The first location shown is the one to which it would write compiled
+terminal descriptions.  If
+.Nm
+is not able to find a writable database location according to the rules
+summarized above, it will print a diagnostic and exit with an
+error rather than printing a list of database locations.
 .It Fl e Ar names
 Limit writes and translations to the following comma-separated list of
 terminals.
@@ -134,6 +171,13 @@ Display constant character literals in quoted form
 rather than their decimal equivalents.
 .It Fl I
 Force source translation to terminfo format.
+.It Fl K
+Suppress some longstanding ncurses extensions to termcap format,
+e.g.,
+.Do
+\\s
+.Dc
+for space.
 .It Fl L
 Force source translation to terminfo format
 using the long C variable names listed in
@@ -227,30 +271,9 @@ If
 .Ar n
 is specified and greater than 1, the level of
 detail is increased.
-.It Fl w Ns Op Ar n
-specifies the width of the output.
-The parameter is optional.
-If it is omitted, it defaults to 60.
-.It Fl x
-Treat unknown capabilities as user-defined.
-That is, if you supply a capability name which
-.Nm
-does not recognize, it will infer its type (boolean, number or string)
-from the syntax and make an extended table entry for that.
-User-defined capability strings
-whose name begins with
-.Sq k
-are treated as function keys.
-.Ar file
-contains one or more
-.Xr terminfo 5
-terminal descriptions in source format.
-Each description in the file
-describes the capabilities of a particular terminal.
-.El
 .Pp
 The debug flag levels are as follows:
-.Bl -tag -width "1xxx"
+.Bl -tag -width "1xxx" -compact
 .It 1
 Names of files created and linked
 .It 2
@@ -272,6 +295,33 @@ All values computed in construction of the hash table
 If the debug level
 .Ar n
 is not given, it is taken to be one.
+.It Fl w Ns Op Ar n
+specifies the width of the output.
+The parameter is optional.
+If it is omitted, it defaults to 60.
+.It Fl x
+Treat unknown capabilities as user-defined.
+That is, if you supply a capability name which
+.Nm
+does not recognize, it will infer its type (boolean, number or string)
+from the syntax and make an extended table entry for that.
+User-defined capability strings
+whose name begins with
+.Sq k
+are treated as function keys.
+.Sh PARAMETERS
+.Bl -tag -width "file"
+.It Ar file
+contains one or more
+.Xr terminfo 5
+terminal descriptions in source format.
+Each description in the file
+describes the capabilities of a particular terminal.
+.Pp
+If file is "-", then the data is read from the standard input.
+The file parameter may also be the path of a character-device.
+.El
+.Sh PROCESSING
 .Pp
 All but one of the capabilities recognized by
 .Nm