From 027ae42953e3186daed8f3882da73de48291b606 Mon Sep 17 00:00:00 2001 From: "Thomas E. Dickey" Date: Sun, 17 Dec 2006 23:32:42 -0500 Subject: [PATCH] ncurses 5.6 --- ANNOUNCE | 384 +- AUTHORS | 38 + Ada95/TODO | 30 +- Ada95/gen/Makefile.in | 11 +- Ada95/gen/html.m4 | 29 + Ada95/gen/normal.m4 | 29 + Ada95/gen/table.m4 | 29 + .../terminal_interface-curses-forms.ads.m4 | 10 +- ...terface-curses-menus-item_user_data.ads.m4 | 6 +- .../terminal_interface-curses-menus.ads.m4 | 7 +- .../terminal_interface-curses-mouse.ads.m4 | 7 +- .../terminal_interface-curses-panels.ads.m4 | 9 +- Ada95/gen/terminal_interface-curses.ads.m4 | 13 +- Ada95/samples/Makefile.in | 6 +- Ada95/samples/README | 33 +- Ada95/samples/ncurses2-acs_and_scroll.adb | 19 +- Ada95/samples/ncurses2-acs_display.adb | 8 +- Ada95/samples/ncurses2-attr_test.adb | 10 +- Ada95/samples/ncurses2-attr_test.ads | 6 +- Ada95/samples/ncurses2-color_edit.adb | 10 +- Ada95/samples/ncurses2-color_test.adb | 7 +- Ada95/samples/ncurses2-demo_forms.adb | 8 +- Ada95/samples/ncurses2-demo_pad.adb | 16 +- Ada95/samples/ncurses2-genericputs.adb | 17 +- Ada95/samples/ncurses2-genericputs.ads | 7 +- Ada95/samples/ncurses2-getch_test.adb | 7 +- Ada95/samples/ncurses2-getopt.ads | 7 +- Ada95/samples/ncurses2-m.adb | 18 +- Ada95/samples/ncurses2-menu_test.adb | 9 +- Ada95/samples/ncurses2-slk_test.adb | 7 +- .../samples/ncurses2-test_sgr_attributes.adb | 7 +- Ada95/samples/ncurses2-trace_set.adb | 11 +- Ada95/samples/ncurses2-util.adb | 15 +- Ada95/samples/ncurses2-util.ads | 11 +- Ada95/samples/sample-curses_demo-mouse.adb | 6 +- Ada95/samples/sample-explanation.adb | 7 +- Ada95/samples/sample-form_demo.adb | 8 +- Ada95/samples/sample-header_handler.adb | 7 +- Ada95/samples/sample-helpers.adb | 7 +- Ada95/samples/sample-keyboard_handler.adb | 7 +- Ada95/samples/sample-menu_demo-aux.adb | 6 +- Ada95/samples/sample-my_field_type.adb | 8 +- Ada95/samples/sample-my_field_type.ads | 5 +- Ada95/samples/sample-text_io_demo.adb | 8 +- ...e-curses-forms-field_types-user-choice.adb | 8 +- ...nterface-curses-forms-field_types-user.adb | 8 +- ...nal_interface-curses-forms-field_types.adb | 9 +- .../src/terminal_interface-curses-termcap.adb | 7 +- .../terminal_interface-curses-terminfo.adb | 6 +- .../terminal_interface-curses-text_io-aux.adb | 6 +- .../terminal_interface-curses-text_io-aux.ads | 6 +- .../src/terminal_interface-curses-text_io.adb | 12 +- Ada95/src/terminal_interface-curses.adb | 8 +- Ada95/src/terminal_interface.ads | 7 +- INSTALL | 183 +- MANIFEST | 20 + Makefile.os2 | 31 +- NEWS | 991 +- README | 29 +- README.emx | 29 +- TO-DO | 41 +- aclocal.m4 | 835 +- announce.html.in | 501 +- c++/Makefile.in | 6 +- c++/NEWS | 29 + c++/PROBLEMS | 29 + c++/README-first | 29 +- c++/demo.cc | 35 +- c++/internal.h | 4 +- config.guess | 57 +- config.sub | 95 +- configure | 6778 +++-- configure.in | 227 +- convert_configure.pl | 29 + dist.mk | 41 +- doc/hackguide.doc | 6 +- doc/html/ada/funcs/B.htm | 2 +- doc/html/ada/funcs/C.htm | 19 +- doc/html/ada/funcs/D.htm | 8 +- doc/html/ada/funcs/E.htm | 2 +- doc/html/ada/funcs/F.htm | 7 +- doc/html/ada/funcs/G.htm | 4 +- doc/html/ada/funcs/H.htm | 6 +- doc/html/ada/funcs/I.htm | 5 +- doc/html/ada/funcs/K.htm | 4 +- doc/html/ada/funcs/L.htm | 4 +- doc/html/ada/funcs/M.htm | 9 +- doc/html/ada/funcs/N.htm | 5 +- doc/html/ada/funcs/O.htm | 2 +- doc/html/ada/funcs/P.htm | 11 +- doc/html/ada/funcs/R.htm | 13 +- doc/html/ada/funcs/S.htm | 44 +- doc/html/ada/funcs/T.htm | 14 +- doc/html/ada/funcs/U.htm | 6 +- doc/html/ada/funcs/W.htm | 21 +- .../terminal_interface-curses-aux__adb.htm | 4 +- .../terminal_interface-curses-aux__ads.htm | 28 +- ...ce-curses-forms-field_types-alpha__adb.htm | 20 +- ...ce-curses-forms-field_types-alpha__ads.htm | 8 +- ...es-forms-field_types-alphanumeric__adb.htm | 20 +- ...es-forms-field_types-alphanumeric__ads.htm | 8 +- ...forms-field_types-enumeration-ada__adb.htm | 20 +- ...forms-field_types-enumeration-ada__ads.htm | 12 +- ...ses-forms-field_types-enumeration__adb.htm | 32 +- ...ses-forms-field_types-enumeration__ads.htm | 14 +- ...curses-forms-field_types-intfield__adb.htm | 24 +- ...curses-forms-field_types-intfield__ads.htm | 8 +- ...es-forms-field_types-ipv4_address__adb.htm | 18 +- ...es-forms-field_types-ipv4_address__ads.htm | 8 +- ...-curses-forms-field_types-numeric__adb.htm | 26 +- ...-curses-forms-field_types-numeric__ads.htm | 8 +- ...e-curses-forms-field_types-regexp__adb.htm | 20 +- ...e-curses-forms-field_types-regexp__ads.htm | 8 +- ...ses-forms-field_types-user-choice__adb.htm | 72 +- ...ses-forms-field_types-user-choice__ads.htm | 32 +- ...ace-curses-forms-field_types-user__adb.htm | 82 +- ...ace-curses-forms-field_types-user__ads.htm | 34 +- ...nterface-curses-forms-field_types__adb.htm | 231 +- ...nterface-curses-forms-field_types__ads.htm | 28 +- ...face-curses-forms-field_user_data__adb.htm | 24 +- ...face-curses-forms-field_user_data__ads.htm | 4 +- ...rface-curses-forms-form_user_data__adb.htm | 24 +- ...rface-curses-forms-form_user_data__ads.htm | 4 +- .../terminal_interface-curses-forms__adb.htm | 612 +- .../terminal_interface-curses-forms__ads.htm | 278 +- ...rface-curses-menus-item_user_data__adb.htm | 42 +- ...rface-curses-menus-item_user_data__ads.htm | 14 +- ...rface-curses-menus-menu_user_data__adb.htm | 24 +- ...rface-curses-menus-menu_user_data__ads.htm | 4 +- .../terminal_interface-curses-menus__adb.htm | 1066 +- .../terminal_interface-curses-menus__ads.htm | 223 +- .../terminal_interface-curses-mouse__adb.htm | 40 +- .../terminal_interface-curses-mouse__ads.htm | 13 +- ...interface-curses-panels-user_data__adb.htm | 34 +- ...interface-curses-panels-user_data__ads.htm | 6 +- .../terminal_interface-curses-panels__adb.htm | 146 +- .../terminal_interface-curses-panels__ads.htm | 15 +- .../terminal_interface-curses-putwin__adb.htm | 18 +- .../terminal_interface-curses-putwin__ads.htm | 4 +- ...terminal_interface-curses-termcap__adb.htm | 49 +- ...terminal_interface-curses-termcap__ads.htm | 6 +- ...erminal_interface-curses-terminfo__adb.htm | 50 +- ...erminal_interface-curses-terminfo__ads.htm | 12 +- ...inal_interface-curses-text_io-aux__adb.htm | 110 +- ...inal_interface-curses-text_io-aux__ads.htm | 22 +- ...terface-curses-text_io-complex_io__adb.htm | 20 +- ...terface-curses-text_io-complex_io__ads.htm | 10 +- ...terface-curses-text_io-decimal_io__adb.htm | 14 +- ...terface-curses-text_io-decimal_io__ads.htm | 6 +- ...ace-curses-text_io-enumeration_io__adb.htm | 14 +- ...ace-curses-text_io-enumeration_io__ads.htm | 6 +- ...interface-curses-text_io-fixed_io__adb.htm | 14 +- ...interface-curses-text_io-fixed_io__ads.htm | 6 +- ...interface-curses-text_io-float_io__adb.htm | 14 +- ...interface-curses-text_io-float_io__ads.htm | 6 +- ...terface-curses-text_io-integer_io__adb.htm | 14 +- ...terface-curses-text_io-integer_io__ads.htm | 6 +- ...terface-curses-text_io-modular_io__adb.htm | 14 +- ...terface-curses-text_io-modular_io__ads.htm | 6 +- ...terminal_interface-curses-text_io__adb.htm | 16 +- ...terminal_interface-curses-text_io__ads.htm | 4 +- .../terminal_interface-curses-trace__adb.htm | 8 +- .../terminal_interface-curses-trace__ads.htm | 8 +- .../ada/terminal_interface-curses__adb.htm | 1842 +- .../ada/terminal_interface-curses__ads.htm | 239 +- doc/html/ada/terminal_interface__ads.htm | 13 +- doc/html/announce.html | 505 +- doc/html/hackguide.html | 37 +- doc/html/index.html | 29 +- doc/html/man/captoinfo.1m.html | 10 +- doc/html/man/clear.1.html | 9 +- doc/html/man/curs_add_wch.3x.html | 9 +- doc/html/man/curs_addch.3x.html | 11 +- doc/html/man/curs_addchstr.3x.html | 9 +- doc/html/man/curs_addwstr.3x.html | 6 +- doc/html/man/curs_attr.3x.html | 14 +- doc/html/man/curs_bkgrnd.3x.html | 5 +- doc/html/man/curs_border.3x.html | 7 +- doc/html/man/curs_color.3x.html | 189 +- doc/html/man/curs_delch.3x.html | 4 +- doc/html/man/curs_deleteln.3x.html | 4 +- doc/html/man/curs_extend.3x.html | 9 +- doc/html/man/curs_get_wch.3x.html | 4 +- doc/html/man/curs_get_wstr.3x.html | 4 +- doc/html/man/curs_getcchar.3x.html | 13 +- doc/html/man/curs_getch.3x.html | 7 +- doc/html/man/curs_getstr.3x.html | 6 +- doc/html/man/curs_getyx.3x.html | 11 +- doc/html/man/curs_in_wch.3x.html | 4 +- doc/html/man/curs_in_wchstr.3x.html | 6 +- doc/html/man/curs_inch.3x.html | 9 +- doc/html/man/curs_inchstr.3x.html | 7 +- doc/html/man/curs_ins_wch.3x.html | 4 +- doc/html/man/curs_insch.3x.html | 7 +- doc/html/man/curs_insstr.3x.html | 4 +- doc/html/man/curs_instr.3x.html | 5 +- doc/html/man/curs_inwstr.3x.html | 6 +- doc/html/man/curs_move.3x.html | 4 +- doc/html/man/curs_overlay.3x.html | 4 +- doc/html/man/curs_print.3x.html | 9 +- doc/html/man/curs_printw.3x.html | 4 +- doc/html/man/curs_scanw.3x.html | 4 +- doc/html/man/curs_scr_dump.3x.html | 4 +- doc/html/man/curs_scroll.3x.html | 4 +- doc/html/man/curs_slk.3x.html | 5 +- doc/html/man/curs_termcap.3x.html | 113 +- doc/html/man/curs_terminfo.3x.html | 18 +- doc/html/man/curs_touch.3x.html | 4 +- doc/html/man/curs_util.3x.html | 48 +- doc/html/man/curs_window.3x.html | 4 +- doc/html/man/default_colors.3x.html | 4 +- doc/html/man/define_key.3x.html | 4 +- doc/html/man/form.3x.html | 69 +- doc/html/man/form_cursor.3x.html | 10 +- doc/html/man/form_data.3x.html | 4 +- doc/html/man/form_driver.3x.html | 18 +- doc/html/man/form_field.3x.html | 29 +- doc/html/man/form_field_attributes.3x.html | 10 +- doc/html/man/form_field_buffer.3x.html | 13 +- doc/html/man/form_field_info.3x.html | 4 +- doc/html/man/form_field_just.3x.html | 5 +- doc/html/man/form_field_new.3x.html | 31 +- doc/html/man/form_field_opts.3x.html | 16 +- doc/html/man/form_field_userptr.3x.html | 17 +- doc/html/man/form_field_validation.3x.html | 4 +- doc/html/man/form_fieldtype.3x.html | 25 +- doc/html/man/form_hook.3x.html | 4 +- doc/html/man/form_new.3x.html | 22 +- doc/html/man/form_new_page.3x.html | 4 +- doc/html/man/form_opts.3x.html | 4 +- doc/html/man/form_page.3x.html | 10 +- doc/html/man/form_post.3x.html | 22 +- doc/html/man/form_requestname.3x.html | 15 +- doc/html/man/form_userptr.3x.html | 17 +- doc/html/man/form_win.3x.html | 4 +- doc/html/man/index.html | 29 +- doc/html/man/infocmp.1m.html | 39 +- doc/html/man/infotocap.1m.html | 6 +- doc/html/man/key_defined.3x.html | 4 +- doc/html/man/keybound.3x.html | 4 +- doc/html/man/keyok.3x.html | 4 +- doc/html/man/legacy_coding.3x.html | 119 + doc/html/man/menu.3x.html | 46 +- doc/html/man/menu_attributes.3x.html | 4 +- doc/html/man/menu_cursor.3x.html | 4 +- doc/html/man/menu_driver.3x.html | 4 +- doc/html/man/menu_format.3x.html | 7 +- doc/html/man/menu_hook.3x.html | 4 +- doc/html/man/menu_items.3x.html | 33 +- doc/html/man/menu_mark.3x.html | 25 +- doc/html/man/menu_new.3x.html | 19 +- doc/html/man/menu_opts.3x.html | 4 +- doc/html/man/menu_pattern.3x.html | 31 +- doc/html/man/menu_post.3x.html | 4 +- doc/html/man/menu_requestname.3x.html | 17 +- doc/html/man/menu_userptr.3x.html | 17 +- doc/html/man/menu_win.3x.html | 4 +- doc/html/man/mitem_current.3x.html | 27 +- doc/html/man/mitem_name.3x.html | 11 +- doc/html/man/mitem_new.3x.html | 20 +- doc/html/man/mitem_opts.3x.html | 4 +- doc/html/man/mitem_userptr.3x.html | 17 +- doc/html/man/mitem_value.3x.html | 4 +- doc/html/man/ncurses.3x.html | 153 +- doc/html/man/panel.3x.html | 10 +- doc/html/man/term.5.html | 175 +- doc/html/man/term.7.html | 4 +- doc/html/man/terminfo.5.html | 1396 +- doc/html/man/tic.1m.html | 64 +- doc/html/man/toe.1m.html | 22 +- doc/html/man/tput.1.html | 133 +- doc/html/man/tset.1.html | 26 +- doc/html/man/wresize.3x.html | 4 +- doc/html/ncurses-intro.html | 31 +- doc/ncurses-intro.doc | 2 +- form/Makefile.in | 6 +- form/READ.ME | 30 +- form/form.priv.h | 5 +- form/frm_data.c | 6 +- form/frm_def.c | 25 +- form/frm_driver.c | 59 +- form/fty_alnum.c | 36 +- form/fty_alpha.c | 36 +- form/fty_enum.c | 35 +- form/fty_int.c | 36 +- form/fty_ipv4.c | 37 +- form/fty_num.c | 36 +- form/fty_regex.c | 35 +- include/Caps | 8 +- include/Caps.aix4 | 8 +- include/Caps.hpux11 | 8 +- include/Caps.keys | 8 +- include/Caps.osf1r5 | 8 +- include/Caps.uwin | 8 +- include/MKhashsize.sh | 28 + include/MKparametrized.sh | 29 +- include/MKterm.h.awk.in | 34 +- include/curses.h.in | 110 +- include/curses.tail | 14 +- include/curses.wide | 18 +- include/hashed_db.h | 67 + include/nc_tparm.h | 65 + include/ncurses_defs | 26 +- include/ncurses_dll.h | 29 +- include/tic.h | 41 +- man/captoinfo.1m | 16 +- man/clear.1 | 9 +- man/curs_add_wch.3x | 5 +- man/curs_addch.3x | 20 +- man/curs_addchstr.3x | 10 +- man/curs_addwstr.3x | 6 +- man/curs_attr.3x | 12 +- man/curs_bkgrnd.3x | 18 +- man/curs_border.3x | 15 +- man/curs_color.3x | 26 +- man/curs_delch.3x | 6 +- man/curs_deleteln.3x | 12 +- man/curs_extend.3x | 11 +- man/curs_get_wch.3x | 10 +- man/curs_get_wstr.3x | 22 +- man/curs_getcchar.3x | 6 +- man/curs_getch.3x | 8 +- man/curs_getstr.3x | 18 +- man/curs_getyx.3x | 14 +- man/curs_in_wch.3x | 6 +- man/curs_in_wchstr.3x | 5 +- man/curs_inch.3x | 14 +- man/curs_inchstr.3x | 10 +- man/curs_ins_wch.3x | 6 +- man/curs_insch.3x | 12 +- man/curs_insstr.3x | 6 +- man/curs_instr.3x | 7 +- man/curs_inwstr.3x | 7 +- man/curs_move.3x | 6 +- man/curs_overlay.3x | 8 +- man/curs_print.3x | 12 +- man/curs_printw.3x | 8 +- man/curs_scanw.3x | 10 +- man/curs_scr_dump.3x | 16 +- man/curs_scroll.3x | 14 +- man/curs_slk.3x | 26 +- man/curs_termcap.3x | 39 +- man/curs_terminfo.3x | 35 +- man/curs_touch.3x | 12 +- man/curs_util.3x | 38 +- man/curs_window.3x | 28 +- man/default_colors.3x | 6 +- man/define_key.3x | 6 +- man/form.3x | 76 +- man/form_cursor.3x | 17 +- man/form_data.3x | 6 +- man/form_driver.3x | 43 +- man/form_field.3x | 39 +- man/form_field_attributes.3x | 19 +- man/form_field_buffer.3x | 27 +- man/form_field_info.3x | 10 +- man/form_field_just.3x | 14 +- man/form_field_new.3x | 34 +- man/form_field_opts.3x | 23 +- man/form_field_userptr.3x | 22 +- man/form_field_validation.3x | 8 +- man/form_fieldtype.3x | 43 +- man/form_hook.3x | 16 +- man/form_new.3x | 30 +- man/form_new_page.3x | 14 +- man/form_opts.3x | 16 +- man/form_page.3x | 21 +- man/form_post.3x | 35 +- man/form_requestname.3x | 5 +- man/form_userptr.3x | 22 +- man/form_win.3x | 20 +- man/infocmp.1m | 69 +- man/infotocap.1m | 7 +- man/key_defined.3x | 6 +- man/keybound.3x | 6 +- man/keyok.3x | 6 +- man/legacy_coding.3x | 82 + man/man_db.renames | 30 +- man/menu.3x | 65 +- man/menu_attributes.3x | 16 +- man/menu_cursor.3x | 12 +- man/menu_driver.3x | 20 +- man/menu_format.3x | 19 +- man/menu_hook.3x | 16 +- man/menu_items.3x | 36 +- man/menu_mark.3x | 28 +- man/menu_new.3x | 23 +- man/menu_opts.3x | 18 +- man/menu_pattern.3x | 33 +- man/menu_post.3x | 22 +- man/menu_requestname.3x | 12 +- man/menu_userptr.3x | 22 +- man/menu_win.3x | 20 +- man/mitem_current.3x | 33 +- man/mitem_name.3x | 11 +- man/mitem_new.3x | 25 +- man/mitem_opts.3x | 16 +- man/mitem_userptr.3x | 22 +- man/mitem_value.3x | 12 +- man/ncurses.3x | 98 +- man/panel.3x | 9 +- man/term.5 | 93 +- man/term.7 | 12 +- man/terminfo.head | 6 +- man/terminfo.tail | 67 +- man/tic.1m | 48 +- man/toe.1m | 30 +- man/tput.1 | 45 +- man/tset.1 | 37 +- man/wresize.3x | 6 +- menu/Makefile.in | 6 +- menu/READ.ME | 30 +- menu/m_cursor.c | 8 +- menu/m_driver.c | 4 +- menu/m_global.c | 80 +- menu/m_item_new.c | 10 +- menu/m_new.c | 8 +- menu/m_pattern.c | 6 +- menu/mf_common.h | 11 +- misc/Makefile.in | 41 +- misc/chkdef.cmd | 30 +- misc/cleantic.cmd | 30 +- misc/cmpdef.cmd | 30 +- misc/emx.src | 29 +- misc/jpf-indent | 38 +- misc/makedef.cmd | 30 +- misc/ncu-indent | 36 +- misc/ncurses-config.in | 156 + misc/run_tic.in | 7 +- misc/terminfo.src | 22906 ++++++++-------- mk-1st.awk | 113 +- ncurses/Makefile.in | 59 +- ncurses/README | 29 + ncurses/README.IZ | 30 + ncurses/base/MKkeyname.awk | 49 +- ncurses/base/MKlib_gen.sh | 11 +- ncurses/base/MKunctrl.awk | 45 +- ncurses/base/README | 30 +- ncurses/base/define_key.c | 10 +- ncurses/base/keybound.c | 11 +- ncurses/base/keyok.c | 37 +- ncurses/base/legacy_coding.c | 48 + ncurses/base/lib_addch.c | 57 +- ncurses/base/lib_addstr.c | 25 +- ncurses/base/lib_bkgd.c | 18 +- ncurses/base/lib_box.c | 8 +- ncurses/base/lib_chgat.c | 11 +- ncurses/base/lib_clrbot.c | 8 +- ncurses/base/lib_color.c | 48 +- ncurses/base/lib_dft_fgbg.c | 4 +- ncurses/base/lib_erase.c | 21 +- ncurses/base/lib_freeall.c | 15 +- ncurses/base/lib_getch.c | 37 +- ncurses/base/lib_getstr.c | 17 +- ncurses/base/lib_hline.c | 8 +- ncurses/base/lib_initscr.c | 10 +- ncurses/base/lib_instr.c | 4 +- ncurses/base/lib_mouse.c | 278 +- ncurses/base/lib_mvwin.c | 10 +- ncurses/base/lib_newterm.c | 183 +- ncurses/base/lib_newwin.c | 10 +- ncurses/base/lib_overlay.c | 18 +- ncurses/base/lib_pad.c | 33 +- ncurses/base/lib_printw.c | 2 +- ncurses/base/lib_redrawln.c | 13 +- ncurses/base/lib_refresh.c | 6 +- ncurses/base/lib_restart.c | 57 +- ncurses/base/lib_screen.c | 10 +- ncurses/base/lib_scroll.c | 7 +- ncurses/base/lib_set_term.c | 147 +- ncurses/base/lib_slkatr_set.c | 2 +- ncurses/base/lib_slkclear.c | 6 +- ncurses/base/lib_slkrefr.c | 8 +- ncurses/base/lib_slkset.c | 4 +- ncurses/base/lib_vline.c | 8 +- ncurses/base/lib_wattroff.c | 11 +- ncurses/base/lib_wattron.c | 11 +- ncurses/base/lib_window.c | 6 +- ncurses/base/resizeterm.c | 20 +- ncurses/base/tries.c | 6 +- ncurses/base/wresize.c | 20 +- ncurses/curses.priv.h | 418 +- ncurses/llib-lncurses | 249 +- ncurses/llib-lncursesw | 264 +- ncurses/modules | 9 +- ncurses/tinfo/MKcaptab.awk | 29 +- ncurses/tinfo/MKfallback.sh | 31 +- ncurses/tinfo/MKnames.awk | 29 +- ncurses/tinfo/README | 30 +- ncurses/tinfo/access.c | 50 +- ncurses/tinfo/add_tries.c | 6 +- ncurses/tinfo/alloc_entry.c | 10 +- ncurses/tinfo/alloc_ttype.c | 36 +- ncurses/tinfo/captoinfo.c | 10 +- ncurses/tinfo/comp_error.c | 4 +- ncurses/tinfo/comp_expand.c | 16 +- ncurses/tinfo/comp_parse.c | 48 +- ncurses/tinfo/comp_scan.c | 10 +- ncurses/tinfo/db_iterator.c | 227 + ncurses/tinfo/free_ttype.c | 36 +- ncurses/tinfo/hashed_db.c | 260 + ncurses/tinfo/init_keytry.c | 6 +- ncurses/tinfo/lib_acs.c | 32 +- ncurses/tinfo/lib_options.c | 6 +- ncurses/tinfo/lib_print.c | 6 +- ncurses/tinfo/lib_setup.c | 124 +- ncurses/tinfo/lib_termcap.c | 98 +- ncurses/tinfo/lib_tgoto.c | 6 +- ncurses/tinfo/lib_tparm.c | 53 +- ncurses/tinfo/lib_ttyflags.c | 76 +- ncurses/tinfo/parse_entry.c | 6 +- ncurses/tinfo/read_entry.c | 438 +- ncurses/tinfo/read_termcap.c | 55 +- ncurses/tinfo/trim_sgr0.c | 4 +- ncurses/tinfo/write_entry.c | 372 +- ncurses/trace/README | 30 +- ncurses/trace/lib_trace.c | 7 +- ncurses/trace/lib_traceatr.c | 19 +- ncurses/trace/lib_tracebits.c | 6 +- ncurses/trace/lib_tracedmp.c | 10 +- ncurses/trace/visbuf.c | 97 +- ncurses/tty/hashmap.c | 12 +- ncurses/tty/lib_mvcur.c | 65 +- ncurses/tty/lib_tstp.c | 12 +- ncurses/tty/lib_twait.c | 104 +- ncurses/tty/lib_vidattr.c | 44 +- ncurses/tty/tty_update.c | 243 +- ncurses/widechar/lib_add_wch.c | 28 +- ncurses/widechar/lib_get_wch.c | 6 +- ncurses/widechar/lib_in_wch.c | 9 +- ncurses/widechar/lib_ins_wch.c | 4 +- ncurses/widechar/lib_vid_attr.c | 24 +- ncurses/widechar/lib_wacs.c | 9 +- panel/Makefile.in | 6 +- panel/panel.h | 4 +- panel/panel.priv.h | 8 +- progs/Makefile.in | 48 +- progs/capconvert | 29 +- progs/clear.c | 22 +- progs/clear.sh | 28 + progs/dump_entry.c | 185 +- progs/dump_entry.h | 9 +- progs/infocmp.c | 277 +- progs/progs.priv.h | 5 +- progs/tic.c | 43 +- progs/toe.c | 473 +- progs/tput.c | 48 +- progs/tset.c | 40 +- tack/HISTORY | 2 + tack/Makefile.in | 37 +- tack/charset.c | 8 +- tack/color.c | 60 +- tack/control.c | 14 +- tack/crum.c | 20 +- tack/edit.c | 77 +- tack/fun.c | 53 +- tack/init.c | 4 +- tack/modes.c | 18 +- tack/modules | 29 +- tack/output.c | 8 +- tack/sync.c | 4 +- tack/tack.1 | 29 + tack/tack.h | 7 +- test/Makefile.in | 189 +- test/README | 208 +- test/aclocal.m4 | 829 +- test/background.c | 29 +- test/blue.c | 42 +- test/bs.6 | 29 + test/bs.c | 70 +- test/bulgarian-utf8.txt | 6 + test/cardfile.c | 6 +- test/chgat.c | 367 + test/color_set.c | 29 +- test/configure | 3007 +- test/configure.in | 71 +- test/demo_altkeys.c | 163 + test/demo_defkey.c | 44 +- test/demo_forms.c | 45 +- test/demo_keyok.c | 31 +- test/demo_menus.c | 209 +- test/demo_panels.c | 29 +- test/demo_termcap.c | 21 +- test/dots.c | 35 +- test/echochar.c | 158 + test/edit_field.c | 32 +- test/edit_field.h | 29 +- test/filter.c | 29 +- test/firework.c | 39 +- test/firstlast.c | 29 +- test/foldkeys.c | 264 + test/gdc.6 | 61 +- test/gdc.c | 32 +- test/hanoi.c | 29 +- test/hashtest.c | 31 +- test/ins_wide.c | 29 +- test/inserts.c | 47 +- test/keynames.c | 29 +- test/knight.c | 29 +- test/linux-color.dat | 29 +- test/listused.sh | 29 +- test/lrtest.c | 34 +- test/mk-test.awk | 105 + test/modules | 13 +- test/movewindow.c | 633 + test/ncurses.c | 1168 +- test/newdemo.c | 7 +- test/programs | 74 + test/railroad.c | 25 +- test/rain.c | 33 +- test/redraw.c | 169 + test/savescreen.c | 48 + test/test.priv.h | 198 +- test/testaddch.c | 29 +- test/testcurs.c | 30 +- test/testscanw.c | 29 +- test/view.c | 33 +- test/widechars-utf8.txt | 7 + test/worm.c | 53 +- test/xmas.c | 35 +- test/xterm-16color.dat | 29 +- test/xterm-88color.dat | 29 +- 622 files changed, 39394 insertions(+), 24616 deletions(-) create mode 100644 AUTHORS create mode 100644 doc/html/man/legacy_coding.3x.html create mode 100644 include/hashed_db.h create mode 100644 include/nc_tparm.h create mode 100644 man/legacy_coding.3x create mode 100644 misc/ncurses-config.in create mode 100644 ncurses/base/legacy_coding.c create mode 100644 ncurses/tinfo/db_iterator.c create mode 100644 ncurses/tinfo/hashed_db.c create mode 100644 test/bulgarian-utf8.txt create mode 100644 test/chgat.c create mode 100644 test/demo_altkeys.c mode change 100644 => 100755 test/demo_panels.c create mode 100644 test/echochar.c create mode 100644 test/foldkeys.c create mode 100644 test/mk-test.awk create mode 100644 test/movewindow.c create mode 100644 test/programs create mode 100644 test/redraw.c create mode 100755 test/savescreen.c create mode 100644 test/widechars-utf8.txt diff --git a/ANNOUNCE b/ANNOUNCE index 5a2a1398..bbeeb892 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,4 +1,4 @@ - Announcing ncurses 5.5 + Announcing ncurses 5.6 The ncurses (new curses) library is a free software emulation of curses in System V Release 4.0, and more. It uses terminfo format, @@ -27,192 +27,205 @@ Release Notes This release is designed to be upward compatible from ncurses 5.0 - through 5.4; very few applications will require recompilation, + through 5.5; very few applications will require recompilation, depending on the platform. These are the highlights from the - change-log since ncurses 5.4 release. + change-log since ncurses 5.5 release. Interface changes: - * terminfo installs "xterm-new" as "xterm" entry rather than - "xterm-old" (aka xterm-r6). - * terminfo data is installed using the tic -x option (few systems - still use ncurses 4.2). - * modify C++ binding to work with newer C++ compilers by providing - initializers and using modern casts. Old-style header names are - still used in this release to allow compiling with not-so-old - compilers. - * modify parameter type in c++ binding for insch() and mvwinsch() to - be consistent with underlying ncurses library (was char, is - chtype). - * change NCursesWindow::err_handler() to a virtual function. - * form and menu libraries now work with wide-character data. - Applications which bypassed the form library and manipulated the - FIELD.buf data directly will not work properly with libformw, - since that no longer points to an array of char. The - set_field_buffer() and field_buffer() functions translate to/from - the actual field data. - * add symbol to curses.h which can be used to suppress include of - stdbool.h, e.g., - #define NCURSES_ENABLE_STDBOOL_H 0 - #include - - * change SP->_current_attr to a pointer, adjust ifdef's to ensure - that libtinfo.so and libtinfow.so have the same ABI. The reason - for this is that the corresponding data which belongs to the - upper-level ncurses library has a different size in each model. - * winnstr() now returns multibyte character strings for the - wide-character configuration. - * assume_default_colors() no longer requires that - use_default_colors() be called first. - * data_ahead() now works with wide-characters. - * slk_set() and slk_wset() now accept and store multibyte or - multicolumn characters. - * start_color() now returns OK if colors have already been started. - start_color() also returns ERR if it cannot allocate memory. - * pair_content() now returns -1 for consistency with init_pair() if - it corresponds to the default-color. - * unctrl() now returns null if its parameter does not correspond to - an unsigned char. + * generate linkable stubs for some macros: + getbegx, getbegy, getcurx, getcury, getmaxx, getmaxy, getparx, + getpary, getpary, + and (for libncursesw) + wgetbkgrnd New features and improvements: * library - + environment variable NCURSES_NO_UTF8_ACS supports - miscellaneous terminal emulators which ignore alternate - character set escape sequences when in UTF-8 mode. - + modify initialization of key lookup table so that if an - extended capability (tic -x) string is defined, and its name - begins with 'k', ncurses will automatically treat it as a - key. - + change GPM initialization, using dl library to load it - dynamically at runtime. - + form, menu and panel libraries support debug-tracing. - * add NCURSES-Programming-HOWTO.html by Pradeep Padala (see - http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/). + + support hashed databases for the terminal descriptions. This + uses the Berkeley database, has been tested for several + versions on different platforms. + + add use_legacy_coding() function to support lynx's + font-switching feature. + + add extension nofilter(), to cancel a prior filter() call. + + add/install a package config script, e.g., ncurses5-config or + ncursesw5-config, according to configuration options. + + provide ifdef for NCURSES_NOMACROS which suppresses most + macro definitions from curses.h, i.e., where a macro is + defined to override a function to improve performance. + + make ifdef's consistent in curses.h for the extended colors + so the header file can be used for the normal curses library. + The header file installed for extended colors is a variation + of the wide-character configuration. + + improve tgetstr() by making the return value point into the + user's buffer, if provided. + + add ifdef's allowing ncurses to be built with tparm() using + either varargs (the existing status), or using a + fixed-parameter list (to match X/Open). + + widen the test for xterm kmous a little to allow for other + strings than "\E[M", e.g., for xterm-sco functionality in + xterm. + + modify wgetnstr() to return KEY_RESIZE if a sigwinch occurs. + + move prototypes for wide-character trace functions from + curses.tail to curses.wide to avoid accidental reference to + those if _XOPEN_SOURCE_EXTENDED is defined without ensuring + that is included. + + change the way shared libraries (other than libtool) are + installed. Rather than copying the build-tree's libraries, + link the shared objects into the install directory. This + makes the --with-rpath option work except with $(DESTDIR). + + several improvements for rendering in hpterm. These are only + available if the library is configured using + --enable-xmc-glitch. + + Add NCURSES_NO_HARD_TABS and NCURSES_NO_MAGIC_COOKIE + environment variables to allow runtime suppression of the + related hard-tabs and xmc-glitch features. * programs: - * infocmp: - + The -i option now matches 8-bit controls against its table - entries, e.g., so it can analyze the xterm-8bit entry. - + add "-x" option to infocmp like tic's "-x", for use in "-F" - comparisons. This modifies infocmp to only report extended - capabilities if the -x option is given, making this more - consistent with tic. Some scripts may break, since infocmp - previous gave this information without an option. - * tic: - + modify termcap-parsing to retain 2-character aliases at the - beginning of an entry if the "-x" option is used in tic. - + filter out long extended names when translating to termcap - format. Only two characters are permissible for termcap - capability names. - + correct translation of "%%" in terminfo format to termcap, - e.g., using "tic -C". - + modify the "-c -v" options to ignore delays when comparing - strings. Also modify it to ignore a canceled sgr string, - e.g., for terminals which cannot properly combine attributes - in one control sequence. - + add a check for improperly ended strings, i.e., where a - following line begins in column 1. - + add a check in tic for terminfo entries having an sgr0 but no - sgr string. This confuses Tru64 and HPUX curses when combined - with color, e.g., making them leave line-drawing characters - in odd places. - + add check (with debug configuration) that provides about the - runtime changes that would be made to sgr0 for termcap - applications. - * tset: - + add -c and -w options to allow user to suppress ncurses' - resizing of the terminal emulator window in the special case - where it is not able to detect the true size. + + add new test programs: chgat.c, demo_altkeys.c, echochar.c, + foldkeys.c, movewindow.c, redraw.c, (noting that existing + test programs also were modified to test additional + features). + + modify tack to test extended capability function-key strings. + + modify toe to access termcap data, e.g., via cgetent() + functions, or as a text file if those are not available. + + improve infocmp/tic -f option formatting. + + add toe -a option, to show all databases. This uses new + private interfaces in the ncurses library for iterating + through the list of databases. + + modify MKfallback.sh to use tic -x when constructing fallback + tables to allow extended capabilities to be retrieved from a + fallback entry. + * terminal database + + add terminfo entries for xfce terminal (xfce) and multi gnome + terminal (mgt) + + add nsterm-16color entry + + updated mlterm terminfo entry + + add kon, kon2 and jfbterm terminfo entry + + remove invis capability from klone+sgr, mainly used by linux + entry, since it does not really do this + + add ka2, kb1, kb3, kc2 to vt220-keypad as an extension + + add shifted up/down arrow codes to xterm-new as kind/kri + strings + + add hpterm-color terminfo entry + + add 256color variants of terminfo entries for programs which + are reported to implement this feature + + correct order of use-clauses in rxvt-basic entry which made + codes for f1-f4 vt100-style rather than vt220-style. Major bug fixes: - * improve logic in tgetent() which adjusts the termcap "me" string - to work with ISO-2022 string used in xterm-new. This is a feature - that was incompletely implemented in ncurses 5.3. ncurses attempts - to provide termcap clients with the portion of the sgr0 (termcap - "me") string that does not reset line-drawing. - * cells in the WINDOW which are continuations of a multicolumn - character are encoded differently, making repainting more - reliable. - * amend change to setupterm() in ncurses 5.4 (20030405) which would - reuse the value of cur_term if the same output was selected. This - now reuses it only when setupterm() is called from tgetent(), - which has no notion of separate SCREENs. Note that tgetent() must - be called after initscr() or newterm() to use this feature. - * make setcchar() now works when its wchar_t* parameter is pointing - to a string which contains more data than can be converted. - * win_wchnstr() now works for more than one cell. - * resizeterm() now processes all levels of window hierarchy. - * disable GPM mouse support when $TERM happens to be prefixed with - "xterm". Gpm_Open() would otherwise assert that it can deal with - mouse events in this case. - * add SP->_screen_acs_map[], used to ensure that mapping of missing - line-drawing characters is handled properly. For example, - ACS_DARROW is absent from xterm-new, and it was coincidentally - displayed the same as ACS_BTEE. + * correct a typo in configure --with-bool option for the case where + --without-cxx is used. + * move assignment from environment variable ESCDELAY from initscr() + down to newterm() so the environment variable affects timeouts for + terminals opened with newterm() as well. + * modify werase to clear multicolumn characters that extend into a + derived window. + * modify wchgat() to mark updated cells as changed so a refresh will + repaint those cells. + * correct logic in wadd_wch() and wecho_wch(), which did not guard + against passing the multi-column attribute into a call on + waddch(), e.g., using data returned by win_wch() + * fix redrawing of windows other than stdscr using wredrawln() by + touching the corresponding rows in curscr. + * reduce memory leaks in repeated calls to tgetent() by remembering + the last TERMINAL* value allocated to hold the corresponding data + and freeing that if the tgetent() result buffer is the same as the + previous call. + * modify read_termtype() so the term_names data is always allocated + as part of the str_table, a better fix for a memory leak. + * fix wins_nwstr(), which did not handle single-column non-8bit + codes. + * modify wbkgrnd() to avoid clearing the A_CHARTEXT attribute bits + since those record the state of multicolumn characters. + * improve SIGWINCH handling by postponing its effect during + newterm(), etc., when allocating screens. + * remove 970913 feature for copying subwindows as they are moved in + mvwin(). + * add checks in waddchnstr() and wadd_wchnstr() to stop copying when + a null character is found. + * add some checks to ensure current position is within scrolling + region before scrolling on a new line. + * add a workaround to ACS mapping to allow applications such as + test/blue.c to use the "PC ROM" characters by masking them with + A_ALTCHARSET. This worked up til 5.5, but was lost in the revision + of legacy coding. Portability: * configure script: + new options: - --enable-largefile - set compiler and linker flags to use largefile - support. - - --enable-ext-colors - Allow encoding of 256 foreground and background - colors, e.g., with the xterm-256color or - xterm-88color terminfo entries. This requires ABI 6 - because it changes the size of cchar_t. - - --enable-ext-mouse - This defines NCURSES_MOUSE_VERSION 2, and modifies - the encoding of mouse events to support wheel mice, - which may transmit buttons 4 and 5. This works with - xterm and similar terminal emulators. This requires - ABI 6 because it changes the encoding of mouse - events. - - --with-chtype - overriding of the non-LP64 model's use of chtype - - --with-mmask-t - overriding of the non-LP64 model's use of mmask_t - - --without-xterm-new - Installs "xterm-old" as the "xterm" entry of the - terminfo database. - - + The --with-termlib option now accepts a value which sets the - name of the terminfo library. This would allow a packager to - build libtinfow.so renamed to coincide with libtinfo.so - + fixes/improvements for cross-compiling: - o suppress $suffix in misc/run_tic.sh when - cross-compiling. This allows cross-compiles to use the - host's tic program to handle the "make install.data" - step. - o correct BUILD_CPPFLAGS substitution in - ncurses/Makefile.in, to allow cross-compiling from a - separate directory tree. + --with-hashed-db + Use Berkeley hashed database for storing terminfo + data rather than storing each compiled entry in a + separate binary file within a directory tree. + + --without-dlsym + Do not use dlsym() to load GPM dynamically. + + --with-valgrind + Simplify building for testing with valgrind. + + --enable-wgetch-events + Compile with experimental wgetch-events code. + + --enable-signed-char + Store booleans in "signed char" rather than "char". + + + improved options: + + --disable-largefile + make the option work both ways. + + --with-gpm + The option now accepts a parameter, i.e., the name + of the dynamic GPM library to load via dlopen() + + --disable-symlinks + The option now allows one to disable symlink() in + tic even when link() does not work. + + * other configure/build issues: + + remove special case for Darwin in CF_XOPEN_SOURCE configure + macro. + + add configure check to ensure that SIGWINCH is defined on + platforms such as OS X which exclude that when _XOPEN_SOURCE, + etc., are defined + + use ld's -search_paths_first option on Darwin to work around + odd search rules on that platform. + + improve ifdef's for _POSIX_VDISABLE in tset to work with Mac + OS X. + + modify configure script to ensure that if the C compiler is + used rather than the loader in making shared libraries, the + $(CFLAGS) variable is also used. + + use ${CC} rather than ${LD} in shared library rules for + IRIX64, Solaris to help ensure that initialization sections + are provided for extra linkage requirements, e.g., of C++ + applications. + + improve some shared-library configure scripting for Linux, + FreeBSD and NetBSD to make --with-shlib-version work. + + split up dependency of names.c and codes.c in + ncurses/Makefile to work with parallel make. + + modify MKlib_gen.sh to change preprocessor-expanded _Bool + back to bool. + + modify progs/Makefile.in to make tput init work properly with + cygwin, i.e., do not pass a .exe in the reference string used + in check_aliases. * library: - + add ifdef's for _LP64 in curses.h to avoid using wasteful - 64-bits for chtype and mmask_t, but add configure option - --disable-lp64 in case anyone used that configuration. - + modify C++ binding to use some C internal functions to make - it compile properly on Solaris (and other platforms). - + remove check in newwin() that prevents allocating windows - that extend beyond the screen (Solaris does this). - + check for nl_langinfo(CODESET), use it if available. This - replaces ad hoc tests of environment variables to check if - the terminal is setup for UTF-8 encoding. Applications which - do not call setlocale() should be corrected, to make them - work properly with UTF-8 encoding. - In particular, applications which assume (and do not call - setlocale()) that Latin-1 codes are printable will no longer - work in a UTF-8 locale since the ad hoc check of environment - variables to see if the locale was UTF-8 is not used when - nl_langinfo(CODESET) is available. - + use setlocale() to query the program's current locale rather - than using getenv(). This supports applications which rely - upon legacy treatment of 8-bit characters when the locale is - not initialized. + + ignore wide-acs line-drawing characters that wcwidth() claims + are not one-column. This is a workaround for Solaris' broken + locale support. + + reduce name-pollution in term.h by removing #define's for + HAVE_xxx symbols. + + fix #ifdef in c++/internal.h for QNX 6.1 + * test programs: + + modify test/configure script to allow building test programs + with PDCurses/X11. + + modified test programs to allow some to work with NetBSD + curses. Several do not because NetBSD curses implements a + subset of X/Open curses, and also lacks much of SVr4 + additions. But it is enough for comparison. + + improved test/configure to build test/ncurses on HPUX 11 + using the vendor curses. + + change configure script to produce test/Makefile from data + file. Features of Ncurses @@ -239,17 +252,15 @@ The ncurses package also has many useful extensions over SVr4: * The API is 8-bit clean and base-level conformant with the X/OPEN curses specification, XSI curses (that is, it implements all BASE - level features, but not all EXTENDED features). Most - EXTENDED-level features not directly concerned with wide-character - support are implemented, including many function calls not - supported under SVr4 curses (but portability of all calls is - documented so you can use the SVr4 subset only). + level features, and most EXTENDED features). It includes many + function calls not supported under SVr4 curses (but portability of + all calls is documented so you can use the SVr4 subset only). * Unlike SVr3 curses, ncurses can write to the rightmost-bottommost corner of the screen if your terminal has an insert-character capability. * Ada95 and C++ bindings. - * Support for mouse event reporting with X Window xterm and OS/2 - console windows. + * Support for mouse event reporting with X Window xterm and FreeBSD + and OS/2 console windows. * Extended mouse support via Alessandro Rubini's gpm package. * The function wresize() allows you to resize windows, preserving their data. @@ -260,7 +271,7 @@ the use of function keys, e.g., disabling the ncurses KEY_MOUSE, or by defining more than one control sequence to map to a given key code. - * Support for 16-color terminals, such as aixterm and XFree86 xterm. + * Support for 16-color terminals, such as aixterm and modern xterm. * Better cursor-movement optimization. The package now features a cursor-local-movement computation more efficient than either BSD's or System V's. @@ -379,7 +390,7 @@ minicom terminal emulator - [15]http://www.netsonic.fi/~walker/minicom.html + [15]http://alioth.debian.org/projects/minicom/ vile vi-like-emacs @@ -391,7 +402,7 @@ Who's Who and What's What Zeyd Ben-Halim started it from a previous package pcurses, written by - Pavel Curtis. Eric S. Raymond continued development. Jürgen Pfeifer + Pavel Curtis. Eric S. Raymond continued development. Juergen Pfeifer wrote most of the form and menu libraries. Ongoing work is being done by [17]Thomas Dickey. Thomas Dickey acts as the maintainer for the Free Software Foundation, which holds the copyright on ncurses. @@ -419,9 +430,10 @@ Future Plans Other Related Resources The distribution provides a newer version of the terminfo-format - terminal description file maintained by [20]Eric Raymond . Unlike the - older version, the termcap and terminfo data are provided in the same - file. + terminal description file once maintained by [20]Eric Raymond . Unlike + the older version, the termcap and terminfo data are provided in the + same file, and provides several user-definable extensions beyond the + X/Open specification. You can find lots of information on terminal-related topics not covered in the terminfo file at [21]Richard Shuford's archive . @@ -442,7 +454,7 @@ References 12. http://dione.ids.pl/~pborys/software/pinfo/ 13. http://www.tin.org/ 14. http://www.debian.org/Packages/unstable/text/vh.html - 15. http://www.netsonic.fi/~walker/minicom.html + 15. http://alioth.debian.org/projects/minicom/ 16. http://invisible-island.net/vile/ 17. mailto:dickey@invisible-island.net 18. mailto:bug-ncurses@gnu.org diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 00000000..57904c40 --- /dev/null +++ b/AUTHORS @@ -0,0 +1,38 @@ +------------------------------------------------------------------------------- +-- Copyright (c) 2006 Free Software Foundation, Inc. -- +-- -- +-- Permission is hereby granted, free of charge, to any person obtaining a -- +-- copy of this software and associated documentation files (the -- +-- "Software"), to deal in the Software without restriction, including -- +-- without limitation the rights to use, copy, modify, merge, publish, -- +-- distribute, distribute with modifications, sublicense, and/or sell copies -- +-- of the Software, and to permit persons to whom the Software is furnished -- +-- to do so, subject to the following conditions: -- +-- -- +-- The above copyright notice and this permission notice shall be included -- +-- in all copies or substantial portions of the Software. -- +-- -- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- +-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- +-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -- +-- NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- +-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- +-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -- +-- USE OR OTHER DEALINGS IN THE SOFTWARE. -- +-- -- +-- Except as contained in this notice, the name(s) of the above copyright -- +-- holders shall not be used in advertising or otherwise to promote the -- +-- sale, use or other dealings in this Software without prior written -- +-- authorization. -- +------------------------------------------------------------------------------- +-- $Id: AUTHORS,v 1.2 2006/10/28 21:44:52 tom Exp $ +------------------------------------------------------------------------------- +These are the principal authors/contributors of ncurses since 1.9.9e, +in decreasing order of their contribution: + +TD Thomas E. Dickey +JPF Juergen Pfeifer +ESR Eric S Raymond +AVL Alexander V Lukyanov +PB Philippe Blain +SV Sven Verdoolaege diff --git a/Ada95/TODO b/Ada95/TODO index 12fef7b7..f5c8acde 100644 --- a/Ada95/TODO +++ b/Ada95/TODO @@ -1,4 +1,32 @@ --- $Id: TODO,v 1.4 1999/10/20 09:18:58 tom Exp $ +------------------------------------------------------------------------------- +-- Copyright (c) 1998-1999,2006 Free Software Foundation, Inc. -- +-- -- +-- Permission is hereby granted, free of charge, to any person obtaining a -- +-- copy of this software and associated documentation files (the -- +-- "Software"), to deal in the Software without restriction, including -- +-- without limitation the rights to use, copy, modify, merge, publish, -- +-- distribute, distribute with modifications, sublicense, and/or sell copies -- +-- of the Software, and to permit persons to whom the Software is furnished -- +-- to do so, subject to the following conditions: -- +-- -- +-- The above copyright notice and this permission notice shall be included -- +-- in all copies or substantial portions of the Software. -- +-- -- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- +-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- +-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -- +-- NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- +-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- +-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -- +-- USE OR OTHER DEALINGS IN THE SOFTWARE. -- +-- -- +-- Except as contained in this notice, the name(s) of the above copyright -- +-- holders shall not be used in advertising or otherwise to promote the -- +-- sale, use or other dealings in this Software without prior written -- +-- authorization. -- +------------------------------------------------------------------------------- +-- $Id: TODO,v 1.5 2006/04/22 22:23:21 tom Exp $ +------------------------------------------------------------------------------- -- Intensive testing Perhaps the delivery of the Beta will help a bit. diff --git a/Ada95/gen/Makefile.in b/Ada95/gen/Makefile.in index fd79d8ba..ac5e1283 100644 --- a/Ada95/gen/Makefile.in +++ b/Ada95/gen/Makefile.in @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. # +# Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. # # # # Permission is hereby granted, free of charge, to any person obtaining a # # copy of this software and associated documentation files (the "Software"), # @@ -28,7 +28,7 @@ # # Author: Juergen Pfeifer, 1996 # -# $Id: Makefile.in,v 1.49 2005/05/14 13:57:14 tom Exp $ +# $Id: Makefile.in,v 1.51 2006/12/17 16:53:33 tom Exp $ # .SUFFIXES: @@ -66,6 +66,10 @@ CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@ CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@) +REL_VERSION = @cf_cv_rel_version@ +ABI_VERSION = @cf_cv_abi_version@ +LOCAL_LIBDIR = @top_builddir@/lib + LINK = $(HOST_CC) LD_FLAGS = @LD_MODEL@ $(LOCAL_LIBS) @LDFLAGS@ @LIBS@ @LOCAL_LDFLAGS2@ $(LDFLAGS) @TINFO_ARGS2@ @@ -160,13 +164,16 @@ $(ADA_OBJECTS) : install \ install.libs :: $(ADA_INCLUDE) @echo installing package $(ALIB) in $(ADA_INCLUDE) + @$(top_srcdir)/tar-copy.sh '$(ALIB)*.ad?' $(ADA_SRCDIR) $(ADA_INCLUDE) @$(top_srcdir)/tar-copy.sh '$(ALIB)[-.]*.ad?' $(ADA_SRCDIR) $(ADA_INCLUDE) + @test $(srcdir) != ./ && $(top_srcdir)/tar-copy.sh '$(ALIB)*.ad?' $(srcdir)/../src $(ADA_INCLUDE) @test $(srcdir) != ./ && $(top_srcdir)/tar-copy.sh '$(ALIB)[-.]*.ad?' $(srcdir)/../src $(ADA_INCLUDE) install \ install.libs :: $(ADA_OBJECTS) @echo installing package $(ALIB) in $(ADA_OBJECTS) @-chmod a-wx $(ADA_SRCDIR)/*.ali + @$(top_srcdir)/tar-copy.sh '$(ALIB)*.ali' $(ADA_SRCDIR) $(ADA_OBJECTS) @$(top_srcdir)/tar-copy.sh '$(ALIB)[-.]*.ali' $(ADA_SRCDIR) $(ADA_OBJECTS) @-chmod u+x $(ADA_SRCDIR)/*.ali diff --git a/Ada95/gen/html.m4 b/Ada95/gen/html.m4 index 0b4254d3..21734c78 100644 --- a/Ada95/gen/html.m4 +++ b/Ada95/gen/html.m4 @@ -1,3 +1,32 @@ +dnl*************************************************************************** +dnl Copyright (c) 2000,2006 Free Software Foundation, Inc. * +dnl * +dnl Permission is hereby granted, free of charge, to any person obtaining a * +dnl copy of this software and associated documentation files (the * +dnl "Software"), to deal in the Software without restriction, including * +dnl without limitation the rights to use, copy, modify, merge, publish, * +dnl distribute, distribute with modifications, sublicense, and/or sell * +dnl copies of the Software, and to permit persons to whom the Software is * +dnl furnished to do so, subject to the following conditions: * +dnl * +dnl The above copyright notice and this permission notice shall be included * +dnl in all copies or substantial portions of the Software. * +dnl * +dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * +dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * +dnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * +dnl IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * +dnl DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * +dnl OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * +dnl THE USE OR OTHER DEALINGS IN THE SOFTWARE. * +dnl * +dnl Except as contained in this notice, the name(s) of the above copyright * +dnl holders shall not be used in advertising or otherwise to promote the * +dnl sale, use or other dealings in this Software without prior written * +dnl authorization. * +dnl*************************************************************************** +dnl +dnl $Id: html.m4,v 1.2 2006/04/22 23:16:44 tom Exp $ define(`ANCHORIDX',`0')dnl define(`MANPAGE',`define(`MANPG',$1)dnl |===================================================================== diff --git a/Ada95/gen/normal.m4 b/Ada95/gen/normal.m4 index f884c465..95299768 100644 --- a/Ada95/gen/normal.m4 +++ b/Ada95/gen/normal.m4 @@ -1,3 +1,32 @@ +dnl*************************************************************************** +dnl Copyright (c) 1998,2006 Free Software Foundation, Inc. * +dnl * +dnl Permission is hereby granted, free of charge, to any person obtaining a * +dnl copy of this software and associated documentation files (the * +dnl "Software"), to deal in the Software without restriction, including * +dnl without limitation the rights to use, copy, modify, merge, publish, * +dnl distribute, distribute with modifications, sublicense, and/or sell * +dnl copies of the Software, and to permit persons to whom the Software is * +dnl furnished to do so, subject to the following conditions: * +dnl * +dnl The above copyright notice and this permission notice shall be included * +dnl in all copies or substantial portions of the Software. * +dnl * +dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * +dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * +dnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * +dnl IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * +dnl DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * +dnl OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * +dnl THE USE OR OTHER DEALINGS IN THE SOFTWARE. * +dnl * +dnl Except as contained in this notice, the name(s) of the above copyright * +dnl holders shall not be used in advertising or otherwise to promote the * +dnl sale, use or other dealings in this Software without prior written * +dnl authorization. * +dnl*************************************************************************** +dnl +dnl $Id: normal.m4,v 1.2 2006/04/22 23:16:14 tom Exp $ define(`MANPAGE',`define(`MANPG',$1)dnl |===================================================================== -- | Man page MANPG diff --git a/Ada95/gen/table.m4 b/Ada95/gen/table.m4 index 48ed6ce3..36b0027b 100644 --- a/Ada95/gen/table.m4 +++ b/Ada95/gen/table.m4 @@ -1,3 +1,32 @@ +dnl*************************************************************************** +dnl Copyright (c) 2000,2006 Free Software Foundation, Inc. * +dnl * +dnl Permission is hereby granted, free of charge, to any person obtaining a * +dnl copy of this software and associated documentation files (the * +dnl "Software"), to deal in the Software without restriction, including * +dnl without limitation the rights to use, copy, modify, merge, publish, * +dnl distribute, distribute with modifications, sublicense, and/or sell * +dnl copies of the Software, and to permit persons to whom the Software is * +dnl furnished to do so, subject to the following conditions: * +dnl * +dnl The above copyright notice and this permission notice shall be included * +dnl in all copies or substantial portions of the Software. * +dnl * +dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * +dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * +dnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * +dnl IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * +dnl DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * +dnl OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * +dnl THE USE OR OTHER DEALINGS IN THE SOFTWARE. * +dnl * +dnl Except as contained in this notice, the name(s) of the above copyright * +dnl holders shall not be used in advertising or otherwise to promote the * +dnl sale, use or other dealings in this Software without prior written * +dnl authorization. * +dnl*************************************************************************** +dnl +dnl $Id: table.m4,v 1.2 2006/04/22 23:16:44 tom Exp $ define(`ANCHORIDX',`0')dnl define(`MANPAGE',`define(`MANPG',$1)')dnl divert(-1)dnl diff --git a/Ada95/gen/terminal_interface-curses-forms.ads.m4 b/Ada95/gen/terminal_interface-curses-forms.ads.m4 index e6570c28..5b75edbf 100644 --- a/Ada95/gen/terminal_interface-curses-forms.ads.m4 +++ b/Ada95/gen/terminal_interface-curses-forms.ads.m4 @@ -10,7 +10,7 @@ include(M4MACRO)dnl -- S P E C -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 1998 Free Software Foundation, Inc. -- +-- Copyright (c) 1998,2006 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -38,7 +38,8 @@ include(M4MACRO)dnl ------------------------------------------------------------------------------ -- Author: Juergen Pfeifer, 1996 -- Version Control: --- $Revision: 1.27 $ +-- $Revision: 1.29 $ +-- $Date: 2006/06/25 14:30:21 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ include(`Form_Base_Defs') @@ -227,7 +228,6 @@ include(`Form_Opt_Rep')Dnl REQ_NEXT_CHOICE : Form_Request_Code renames F_Next_Choice; REQ_PREV_CHOICE : Form_Request_Code renames F_Previous_Choice; - procedure Request_Name (Key : in Form_Request_Code; Name : out String); @@ -532,7 +532,7 @@ include(`Form_Opt_Rep')Dnl procedure Set_Fields (Frm : in Form; Flds : in Field_Array_Access) renames Redefine; -- AKA - pragma Inline (Set_Fields); + -- pragma Inline (Set_Fields); -- ANCHOR(`form_fields()',`Fields') function Fields (Frm : Form; @@ -563,7 +563,7 @@ include(`Form_Opt_Rep')Dnl function New_Form (Fields : Field_Array_Access) return Form renames Create; -- AKA - pragma Inline (New_Form); + -- pragma Inline (New_Form); -- ANCHOR(`free_form()',`Delete') procedure Delete (Frm : in out Form); diff --git a/Ada95/gen/terminal_interface-curses-menus-item_user_data.ads.m4 b/Ada95/gen/terminal_interface-curses-menus-item_user_data.ads.m4 index 6a5ab809..14b24668 100644 --- a/Ada95/gen/terminal_interface-curses-menus-item_user_data.ads.m4 +++ b/Ada95/gen/terminal_interface-curses-menus-item_user_data.ads.m4 @@ -10,7 +10,7 @@ include(M4MACRO)dnl -- S P E C -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 1998 Free Software Foundation, Inc. -- +-- Copyright (c) 1998,2006 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -38,7 +38,8 @@ include(M4MACRO)dnl ------------------------------------------------------------------------------ -- Author: Juergen Pfeifer, 1996 -- Version Control: --- $Revision: 1.14 $ +-- $Revision: 1.16 $ +-- $Date: 2006/06/25 14:30:22 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ @@ -72,4 +73,3 @@ package Terminal_Interface.Curses.Menus.Item_User_Data is pragma Inline (Get_User_Data); end Terminal_Interface.Curses.Menus.Item_User_Data; - diff --git a/Ada95/gen/terminal_interface-curses-menus.ads.m4 b/Ada95/gen/terminal_interface-curses-menus.ads.m4 index 6faa0539..7b87274c 100644 --- a/Ada95/gen/terminal_interface-curses-menus.ads.m4 +++ b/Ada95/gen/terminal_interface-curses-menus.ads.m4 @@ -10,7 +10,7 @@ include(M4MACRO)dnl -- S P E C -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 1998 Free Software Foundation, Inc. -- +-- Copyright (c) 1998,2006 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -38,7 +38,8 @@ include(M4MACRO)dnl ------------------------------------------------------------------------------ -- Author: Juergen Pfeifer, 1996 -- Version Control: --- $Revision: 1.24 $ +-- $Revision: 1.26 $ +-- $Date: 2006/06/25 14:30:22 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ include(`Menu_Base_Defs') @@ -549,7 +550,7 @@ include(`Item_Rep')dnl procedure Set_Items (Men : in Menu; Items : in Item_Array_Access) renames Redefine; - pragma Inline (Set_Items); + -- pragma Inline (Set_Items); -- ANCHOR(`menu_items()',`Items') function Items (Men : Menu; diff --git a/Ada95/gen/terminal_interface-curses-mouse.ads.m4 b/Ada95/gen/terminal_interface-curses-mouse.ads.m4 index 5ca079cf..b59ebbf0 100644 --- a/Ada95/gen/terminal_interface-curses-mouse.ads.m4 +++ b/Ada95/gen/terminal_interface-curses-mouse.ads.m4 @@ -10,7 +10,7 @@ include(M4MACRO)dnl -- S P E C -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 1998,2004 Free Software Foundation, Inc. -- +-- Copyright (c) 1998-2004,2006 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -38,8 +38,8 @@ include(M4MACRO)dnl ------------------------------------------------------------------------------ -- Author: Juergen Pfeifer, 1996 -- Version Control: --- $Revision: 1.25 $ --- $Date: 2004/08/21 21:37:00 $ +-- $Revision: 1.27 $ +-- $Date: 2006/06/25 14:30:22 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ include(`Mouse_Base_Defs') @@ -176,7 +176,6 @@ include(`Mouse_Event_Rep') -- This constant may be different on your system. include(`Mouse_Events') - No_Events : constant Event_Mask := 0; All_Events : constant Event_Mask := ALL_MOUSE_EVENTS; diff --git a/Ada95/gen/terminal_interface-curses-panels.ads.m4 b/Ada95/gen/terminal_interface-curses-panels.ads.m4 index 71252180..39b7260d 100644 --- a/Ada95/gen/terminal_interface-curses-panels.ads.m4 +++ b/Ada95/gen/terminal_interface-curses-panels.ads.m4 @@ -10,7 +10,7 @@ include(M4MACRO)dnl -- S P E C -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 1998 Free Software Foundation, Inc. -- +-- Copyright (c) 1998,2006 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -38,7 +38,8 @@ include(M4MACRO)dnl ------------------------------------------------------------------------------ -- Author: Juergen Pfeifer, 1996 -- Version Control: --- $Revision: 1.17 $ +-- $Revision: 1.19 $ +-- $Date: 2006/06/25 14:30:22 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ with System; @@ -70,7 +71,7 @@ include(`Linker_Options') -- ANCHOR(`new_panel()',`New_Panel') function New_Panel (Win : Window) return Panel renames Create; -- AKA - pragma Inline (New_Panel); + -- pragma Inline (New_Panel); -- ANCHOR(`bottom_panel()',`Bottom') procedure Bottom (Pan : in Panel); @@ -104,7 +105,7 @@ include(`Linker_Options') -- ANCHOR(`panel_window()',`Panel_Window') function Panel_Window (Pan : Panel) return Window renames Get_Window; - pragma Inline (Panel_Window); + -- pragma Inline (Panel_Window); -- ANCHOR(`replace_panel()',`Replace') procedure Replace (Pan : in Panel; diff --git a/Ada95/gen/terminal_interface-curses.ads.m4 b/Ada95/gen/terminal_interface-curses.ads.m4 index 32922f1e..3f64ddb4 100644 --- a/Ada95/gen/terminal_interface-curses.ads.m4 +++ b/Ada95/gen/terminal_interface-curses.ads.m4 @@ -9,7 +9,7 @@ include(M4MACRO)---------------------------------------------------------------- -- S P E C -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 1998,2004 Free Software Foundation, Inc. -- +-- Copyright (c) 1998-2004,2006 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -37,8 +37,8 @@ include(M4MACRO)---------------------------------------------------------------- ------------------------------------------------------------------------------ -- Author: Juergen Pfeifer, 1996 -- Version Control: --- $Revision: 1.35 $ --- $Date: 2004/08/21 21:37:00 $ +-- $Revision: 1.37 $ +-- $Date: 2006/06/25 14:30:22 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ include(`Base_Defs') @@ -214,14 +214,14 @@ include(`ACS_Map')dnl procedure Init_Windows renames Init_Screen; -- AKA pragma Inline (Init_Screen); - pragma Inline (Init_Windows); + -- pragma Inline (Init_Windows); -- ANCHOR(`endwin()',`End_Windows') procedure End_Windows; -- AKA procedure End_Screen renames End_Windows; pragma Inline (End_Windows); - pragma Inline (End_Screen); + -- pragma Inline (End_Screen); -- ANCHOR(`isendwin()',`Is_End_Window') function Is_End_Window return Boolean; @@ -301,7 +301,7 @@ include(`ACS_Map')dnl First_Line_Position : Line_Position; First_Column_Position : Column_Position) return Window renames Create; - pragma Inline (New_Window); + -- pragma Inline (New_Window); -- ANCHOR(`delwin()',`Delete') procedure Delete (Win : in out Window); @@ -1533,7 +1533,6 @@ include(`ACS_Map')dnl -- MANPAGE(`curs_scanw.3x') -- Not implemented: scanw, wscanw, mvscanw, mvwscanw, vwscanw, vw_scanw - -- MANPAGE(`resizeterm.3x') -- Not Implemented: resizeterm diff --git a/Ada95/samples/Makefile.in b/Ada95/samples/Makefile.in index e88c119b..5ee78df0 100644 --- a/Ada95/samples/Makefile.in +++ b/Ada95/samples/Makefile.in @@ -28,7 +28,7 @@ # # Author: Juergen Pfeifer, 1996 # -# $Id: Makefile.in,v 1.33 2005/05/28 16:11:01 tom Exp $ +# $Id: Makefile.in,v 1.34 2006/12/17 16:45:02 tom Exp $ # .SUFFIXES: @@ -64,6 +64,10 @@ CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@ CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@) +REL_VERSION = @cf_cv_rel_version@ +ABI_VERSION = @cf_cv_abi_version@ +LOCAL_LIBDIR = @top_builddir@/lib + LINK = $(CC) LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@ diff --git a/Ada95/samples/README b/Ada95/samples/README index 6ea8a18e..c4f16ad3 100644 --- a/Ada95/samples/README +++ b/Ada95/samples/README @@ -1,6 +1,35 @@ +------------------------------------------------------------------------------- +-- Copyright (c) 1998,2006 Free Software Foundation, Inc. -- +-- -- +-- Permission is hereby granted, free of charge, to any person obtaining a -- +-- copy of this software and associated documentation files (the -- +-- "Software"), to deal in the Software without restriction, including -- +-- without limitation the rights to use, copy, modify, merge, publish, -- +-- distribute, distribute with modifications, sublicense, and/or sell copies -- +-- of the Software, and to permit persons to whom the Software is furnished -- +-- to do so, subject to the following conditions: -- +-- -- +-- The above copyright notice and this permission notice shall be included -- +-- in all copies or substantial portions of the Software. -- +-- -- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- +-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- +-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -- +-- NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- +-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- +-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -- +-- USE OR OTHER DEALINGS IN THE SOFTWARE. -- +-- -- +-- Except as contained in this notice, the name(s) of the above copyright -- +-- holders shall not be used in advertising or otherwise to promote the -- +-- sale, use or other dealings in this Software without prior written -- +-- authorization. -- +------------------------------------------------------------------------------- +-- $Id: README,v 1.2 2006/04/22 22:24:12 tom Exp $ +------------------------------------------------------------------------------- + The intention of the demo at this point in time is not to demonstrate all -the features of (n)curses and it's subsystems, but to give some sample +the features of (n)curses and its subsystems, but to give some sample sources how to use the binding at all. Ideally in the future we can combine both goals. - diff --git a/Ada95/samples/ncurses2-acs_and_scroll.adb b/Ada95/samples/ncurses2-acs_and_scroll.adb index 66384cae..3ffba446 100644 --- a/Ada95/samples/ncurses2-acs_and_scroll.adb +++ b/Ada95/samples/ncurses2-acs_and_scroll.adb @@ -7,7 +7,7 @@ -- B O D Y -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 2000,2004 Free Software Foundation, Inc. -- +-- Copyright (c) 2000-2004,2006 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -35,8 +35,8 @@ ------------------------------------------------------------------------------ -- Author: Eugene V. Melaragno 2000 -- Version Control --- $Revision: 1.6 $ --- $Date: 2004/08/21 21:37:00 $ +-- $Revision: 1.7 $ +-- $Date: 2006/06/25 14:24:40 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ -- Windows and scrolling tester. @@ -56,14 +56,12 @@ with Ada.Streams; use Ada.Streams; procedure ncurses2.acs_and_scroll is - Macro_Quit : constant Key_Code := Character'Pos ('Q') mod 16#20#; Macro_Escape : constant Key_Code := Character'Pos ('[') mod 16#20#; Quit : constant Key_Code := CTRL ('Q'); Escape : constant Key_Code := CTRL ('['); - Botlines : constant Line_Position := 4; type pair is record @@ -97,7 +95,6 @@ procedure ncurses2.acs_and_scroll is use Ada.Streams.Stream_IO; - -- A linked list -- I wish there was a standard library linked list. Oh well. type Frame is record @@ -173,7 +170,6 @@ procedure ncurses2.acs_and_scroll is when Curses_Exception => return False; end HaveScroll; - procedure newwin_legend (curpw : Window) is package p is new genericPuts (200); @@ -273,7 +269,6 @@ procedure ncurses2.acs_and_scroll is Clear_To_End_Of_Line; end newwin_legend; - procedure transient (curpw : Window; msg : String) is begin newwin_legend (curpw); @@ -299,7 +294,6 @@ procedure ncurses2.acs_and_scroll is Clear_To_End_Of_Line; end transient; - procedure newwin_report (win : Window := Standard_Window) is y : Line_Position; x : Column_Position; @@ -402,7 +396,6 @@ procedure ncurses2.acs_and_scroll is end loop; end selectcell; - function getwindow return Window is rwindow : Window; ul, lr : pair; @@ -442,7 +435,6 @@ procedure ncurses2.acs_and_scroll is return rwindow; end getwindow; - procedure newwin_move (win : Window; dy : Line_Position; dx : Column_Position) is @@ -500,8 +492,9 @@ begin case c is when Character'Pos ('c') mod 16#20# => -- Ctrl('c') declare - neww : FrameA := new Frame'(null, null, False, False, - Null_Window); + neww : constant FrameA := new Frame'(null, null, + False, False, + Null_Window); begin neww.wind := getwindow; if neww.wind = Null_Window then diff --git a/Ada95/samples/ncurses2-acs_display.adb b/Ada95/samples/ncurses2-acs_display.adb index 1ed4c643..2295df9a 100644 --- a/Ada95/samples/ncurses2-acs_display.adb +++ b/Ada95/samples/ncurses2-acs_display.adb @@ -7,7 +7,7 @@ -- B O D Y -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 2000,2004 Free Software Foundation, Inc. -- +-- Copyright (c) 2000-2004,2006 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -35,8 +35,8 @@ ------------------------------------------------------------------------------ -- Author: Eugene V. Melaragno 2000 -- Version Control --- $Revision: 1.4 $ --- $Date: 2004/08/21 21:37:00 $ +-- $Revision: 1.5 $ +-- $Date: 2006/06/25 14:24:40 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ with ncurses2.util; use ncurses2.util; @@ -56,7 +56,6 @@ procedure ncurses2.acs_display is return Integer; procedure show_acs_chars; - procedure show_upper_chars (first : Integer) is C1 : constant Boolean := (first = 128); last : constant Integer := first + 31; @@ -231,4 +230,3 @@ begin Erase; End_Windows; end ncurses2.acs_display; - diff --git a/Ada95/samples/ncurses2-attr_test.adb b/Ada95/samples/ncurses2-attr_test.adb index bb776919..a5ff8b85 100644 --- a/Ada95/samples/ncurses2-attr_test.adb +++ b/Ada95/samples/ncurses2-attr_test.adb @@ -7,7 +7,7 @@ -- B O D Y -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 2000,2001,2004 Free Software Foundation, Inc. -- +-- Copyright (c) 2000-2004,2006 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -35,8 +35,8 @@ ------------------------------------------------------------------------------ -- Author: Eugene V. Melaragno 2000 -- Version Control --- $Revision: 1.5 $ --- $Date: 2004/08/21 21:37:00 $ +-- $Revision: 1.6 $ +-- $Date: 2006/06/25 14:24:40 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ with ncurses2.util; use ncurses2.util; @@ -60,7 +60,6 @@ procedure ncurses2.attr_test is fg, bg : in out Color_Number; result : out Boolean); - function subset (super, sub : Character_Attribute_Set) return Boolean is begin if @@ -86,7 +85,6 @@ procedure ncurses2.attr_test is end if; end subset; - function intersect (b, a : Character_Attribute_Set) return Boolean is begin if @@ -265,8 +263,6 @@ procedure ncurses2.attr_test is end if; end attr_getc; - - -- pairs could be defined as array ( Color_Number(0) .. colors - 1) of -- array (Color_Number(0).. colors - 1) of Boolean; pairs : array (Color_Pair'Range) of Boolean := (others => False); diff --git a/Ada95/samples/ncurses2-attr_test.ads b/Ada95/samples/ncurses2-attr_test.ads index fb1ed185..51c51435 100644 --- a/Ada95/samples/ncurses2-attr_test.ads +++ b/Ada95/samples/ncurses2-attr_test.ads @@ -7,7 +7,7 @@ -- B O D Y -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 2000 Free Software Foundation, Inc. -- +-- Copyright (c) 2000,2006 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -35,8 +35,8 @@ ------------------------------------------------------------------------------ -- Author: Eugene V. Melaragno 2000 -- Version Control --- $Revision: 1.1 $ +-- $Revision: 1.2 $ +-- $Date: 2006/06/25 14:24:40 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ procedure ncurses2.attr_test; - diff --git a/Ada95/samples/ncurses2-color_edit.adb b/Ada95/samples/ncurses2-color_edit.adb index a678ccf4..a6a35dea 100644 --- a/Ada95/samples/ncurses2-color_edit.adb +++ b/Ada95/samples/ncurses2-color_edit.adb @@ -7,7 +7,7 @@ -- B O D Y -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 2000,2004 Free Software Foundation, Inc. -- +-- Copyright (c) 2000-2004,2006 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -35,15 +35,14 @@ ------------------------------------------------------------------------------ -- Author: Eugene V. Melaragno 2000 -- Version Control --- $Revision: 1.4 $ --- $Date: 2004/08/21 21:37:00 $ +-- $Revision: 1.5 $ +-- $Date: 2006/06/25 14:24:40 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ with ncurses2.util; use ncurses2.util; with ncurses2.genericPuts; with Terminal_Interface.Curses; use Terminal_Interface.Curses; - procedure ncurses2.color_edit is use Int_IO; @@ -54,8 +53,6 @@ procedure ncurses2.color_edit is value : RGB_Value; usebase : Boolean); - - procedure change_color (current : Color_Number; field : RGB_Enum; value : RGB_Value; @@ -85,7 +82,6 @@ procedure ncurses2.color_edit is end change_color; - package x is new ncurses2.genericPuts (100); use x; tmpb : x.BS.Bounded_String; diff --git a/Ada95/samples/ncurses2-color_test.adb b/Ada95/samples/ncurses2-color_test.adb index ecbf2903..ffa52594 100644 --- a/Ada95/samples/ncurses2-color_test.adb +++ b/Ada95/samples/ncurses2-color_test.adb @@ -7,7 +7,7 @@ -- B O D Y -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 2000 Free Software Foundation, Inc. -- +-- Copyright (c) 2000,2006 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -35,7 +35,8 @@ ------------------------------------------------------------------------------ -- Author: Eugene V. Melaragno 2000 -- Version Control --- $Revision: 1.1 $ +-- $Revision: 1.2 $ +-- $Date: 2006/06/25 14:24:40 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ with ncurses2.util; use ncurses2.util; @@ -68,7 +69,6 @@ procedure ncurses2.color_test is "WHITE" ); - procedure show_color_name (y, x : Integer; color : Integer) is tmp5 : String (1 .. 5); begin @@ -83,7 +83,6 @@ procedure ncurses2.color_test is end if; end show_color_name; - top, width : Integer; hello : String (1 .. 5); -- tmp3 : String (1 .. 3); diff --git a/Ada95/samples/ncurses2-demo_forms.adb b/Ada95/samples/ncurses2-demo_forms.adb index 2cc99dae..7137aa0b 100644 --- a/Ada95/samples/ncurses2-demo_forms.adb +++ b/Ada95/samples/ncurses2-demo_forms.adb @@ -7,7 +7,7 @@ -- B O D Y -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 2000,2004 Free Software Foundation, Inc. -- +-- Copyright (c) 2000-2004,2006 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -35,8 +35,8 @@ ------------------------------------------------------------------------------ -- Author: Eugene V. Melaragno 2000 -- Version Control --- $Revision: 1.4 $ --- $Date: 2004/08/21 21:37:00 $ +-- $Revision: 1.5 $ +-- $Date: 2006/06/25 14:24:40 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ with ncurses2.util; use ncurses2.util; @@ -416,7 +416,7 @@ procedure ncurses2.demo_forms is end erase_form; finished : Boolean := False; - f : Field_Array_Access := new Field_Array (1 .. 12); + f : constant Field_Array_Access := new Field_Array (1 .. 12); secure : Field; myform : Form; w : Window; diff --git a/Ada95/samples/ncurses2-demo_pad.adb b/Ada95/samples/ncurses2-demo_pad.adb index 399a2f4b..ef12653c 100644 --- a/Ada95/samples/ncurses2-demo_pad.adb +++ b/Ada95/samples/ncurses2-demo_pad.adb @@ -7,7 +7,7 @@ -- B O D Y -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 2000,2004 Free Software Foundation, Inc. -- +-- Copyright (c) 2000-2004,2006 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -35,8 +35,8 @@ ------------------------------------------------------------------------------ -- Author: Eugene V. Melaragno 2000 -- Version Control --- $Revision: 1.5 $ --- $Date: 2004/08/21 21:37:00 $ +-- $Revision: 1.6 $ +-- $Date: 2006/06/25 14:24:40 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ with ncurses2.util; use ncurses2.util; @@ -127,7 +127,6 @@ procedure ncurses2.demo_pad is return retval; end gettime; - -- in C, The behavior of mvhline, mvvline for negative/zero length is -- unspecified, though we can rely on negative x/y values to stop the -- macro. Except Ada makes Line_Position(-1) = Natural - 1 so forget it. @@ -153,9 +152,6 @@ procedure ncurses2.demo_pad is end if; end do_v_line; - - - function padgetch (win : Window) return Key_Code is c : Key_Code; c2 : Character; @@ -246,7 +242,6 @@ procedure ncurses2.demo_pad is end if; end panner_v_cleanup; - procedure panner (pad : Window; top_xp : Column_Position; top_yp : Line_Position; @@ -301,7 +296,6 @@ procedure ncurses2.demo_pad is end if; end greater; - pymax : Line_Position; basey : Line_Position := 0; pxmax : Column_Position; @@ -358,7 +352,7 @@ procedure ncurses2.demo_pad is -- bottom-right corner fixed. when Character'Pos ('h') => -- increase-columns: move left edge to left - if top_x <= 0 then + if top_x = 0 then Beep; else panner_v_cleanup (top_y, top_x, porty); @@ -377,7 +371,7 @@ procedure ncurses2.demo_pad is end if; when Character'Pos ('k') => -- increase-lines: move top-edge up - if top_y <= 0 then + if top_y = 0 then Beep; else top_y := top_y - 1; diff --git a/Ada95/samples/ncurses2-genericputs.adb b/Ada95/samples/ncurses2-genericputs.adb index f17b2098..8035c72e 100644 --- a/Ada95/samples/ncurses2-genericputs.adb +++ b/Ada95/samples/ncurses2-genericputs.adb @@ -7,7 +7,7 @@ -- B O D Y -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 2000 Free Software Foundation, Inc. -- +-- Copyright (c) 2000,2006 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -35,18 +35,18 @@ ------------------------------------------------------------------------------ -- Author: Eugene V. Melaragno 2000 -- Version Control --- $Revision: 1.1 $ +-- $Revision: 1.2 $ +-- $Date: 2006/06/25 14:24:40 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ -with Ada.Text_IO; use Ada.Text_IO; -with Ada.Strings.Bounded; use Ada.Strings.Bounded; +with Ada.Text_IO; +with Ada.Strings.Bounded; with Terminal_Interface.Curses; use Terminal_Interface.Curses; with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux; -with Interfaces.C; use Interfaces.C; -with Interfaces.C.Strings; use Interfaces.C.Strings; - +with Interfaces.C; +with Interfaces.C.Strings; package body ncurses2.genericPuts is @@ -54,7 +54,6 @@ package body ncurses2.genericPuts is Str : out BS.Bounded_String; Len : in Integer := -1) is - use BS; function Wgetnstr (Win : Window; Str : char_array; Len : int) return int; @@ -79,8 +78,6 @@ package body ncurses2.genericPuts is Str := To_Bounded_String (xStr (1 .. Cnt)); end myGet; - - procedure myPut (Str : out BS.Bounded_String; i : Integer; Base : in Number_Base := 10) is diff --git a/Ada95/samples/ncurses2-genericputs.ads b/Ada95/samples/ncurses2-genericputs.ads index eec7eba6..1614a119 100644 --- a/Ada95/samples/ncurses2-genericputs.ads +++ b/Ada95/samples/ncurses2-genericputs.ads @@ -7,7 +7,7 @@ -- B O D Y -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 2000 Free Software Foundation, Inc. -- +-- Copyright (c) 2000,2006 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -35,7 +35,8 @@ ------------------------------------------------------------------------------ -- Author: Eugene V. Melaragno 2000 -- Version Control --- $Revision: 1.1 $ +-- $Revision: 1.2 $ +-- $Date: 2006/06/25 14:24:40 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ @@ -46,7 +47,6 @@ with Interfaces.C; use Interfaces.C; with Interfaces.C.Strings; use Interfaces.C.Strings; with Terminal_Interface.Curses; - generic Max : Natural; -- type mystring is private; @@ -56,7 +56,6 @@ package ncurses2.genericPuts is Ada.Strings.Bounded.Generic_Bounded_Length (Max); use BS; - procedure myGet (Win : in Terminal_Interface.Curses.Window := Terminal_Interface.Curses.Standard_Window; Str : out BS.Bounded_String; diff --git a/Ada95/samples/ncurses2-getch_test.adb b/Ada95/samples/ncurses2-getch_test.adb index 57ceb961..d40089ad 100644 --- a/Ada95/samples/ncurses2-getch_test.adb +++ b/Ada95/samples/ncurses2-getch_test.adb @@ -7,7 +7,7 @@ -- B O D Y -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 2000,2004 Free Software Foundation, Inc. -- +-- Copyright (c) 2000-2004,2006 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -35,8 +35,8 @@ ------------------------------------------------------------------------------ -- Author: Eugene V. Melaragno 2000 -- Version Control --- $Revision: 1.5 $ --- $Date: 2004/08/21 21:37:00 $ +-- $Revision: 1.6 $ +-- $Date: 2006/06/25 14:24:40 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ -- Character input test @@ -84,7 +84,6 @@ procedure ncurses2.getch_test is return To_String (buf); end mouse_decode; - buf : String (1 .. 1024); -- TODO was BUFSIZE n : Integer; c : Key_Code; diff --git a/Ada95/samples/ncurses2-getopt.ads b/Ada95/samples/ncurses2-getopt.ads index 0bd6952a..a8b356e9 100644 --- a/Ada95/samples/ncurses2-getopt.ads +++ b/Ada95/samples/ncurses2-getopt.ads @@ -7,7 +7,7 @@ -- B O D Y -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 2000 Free Software Foundation, Inc. -- +-- Copyright (c) 2000,2006 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -35,7 +35,8 @@ ------------------------------------------------------------------------------ -- Author: Eugene V. Melaragno 2000 -- Version Control --- $Revision: 1.1 $ +-- $Revision: 1.2 $ +-- $Date: 2006/06/25 14:24:40 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ package ncurses2.getopt is @@ -45,7 +46,6 @@ package ncurses2.getopt is type stringfunc is access function (n : Positive) return String; - procedure Qgetopt (retval : out Integer; argc : Integer; argv : stringfunc; @@ -56,4 +56,5 @@ package ncurses2.getopt is Optarg : out stringa -- a garbage collector would be useful here. ); + end ncurses2.getopt; diff --git a/Ada95/samples/ncurses2-m.adb b/Ada95/samples/ncurses2-m.adb index 7b49fc52..20ab7213 100644 --- a/Ada95/samples/ncurses2-m.adb +++ b/Ada95/samples/ncurses2-m.adb @@ -7,7 +7,7 @@ -- B O D Y -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 2000,2004 Free Software Foundation, Inc. -- +-- Copyright (c) 2000-2004,2006 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -35,8 +35,8 @@ ------------------------------------------------------------------------------ -- Author: Eugene V. Melaragno 2000 -- Version Control --- $Revision: 1.5 $ --- $Date: 2004/08/21 21:37:00 $ +-- $Revision: 1.6 $ +-- $Date: 2006/06/25 14:24:40 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ -- TODO use Default_Character where appropriate @@ -56,7 +56,6 @@ with Ada.Command_Line; use Ada.Command_Line; with Ada.Strings.Unbounded; - with ncurses2.util; use ncurses2.util; with ncurses2.getch_test; with ncurses2.attr_test; @@ -175,7 +174,6 @@ package body ncurses2.m is return 0; -- Curses_OK; end rip_footer; - function rip_header ( Win : Window; Columns : Column_Count) return Integer; @@ -237,7 +235,6 @@ package body ncurses2.m is Set_KeyPad_Mode (SwitchOn => True); end Set_Terminal_Modes; - nap_msec : Integer := 1; function Do_Single_Test (c : Character) return Boolean is @@ -290,7 +287,6 @@ package body ncurses2.m is return True; end Do_Single_Test; - command : Character; my_e_param : Soft_Label_Key_Format := Four_Four; assumed_colors : Boolean := False; @@ -359,7 +355,6 @@ package body ncurses2.m is save_trace_set := To_trace (save_trace); Trace_On (save_trace_set); - Init_Soft_Label_Keys (my_e_param); Init_Screen; @@ -451,10 +446,3 @@ package body ncurses2.m is end main; end ncurses2.m; - - - - - - - diff --git a/Ada95/samples/ncurses2-menu_test.adb b/Ada95/samples/ncurses2-menu_test.adb index 297940da..a4c4807b 100644 --- a/Ada95/samples/ncurses2-menu_test.adb +++ b/Ada95/samples/ncurses2-menu_test.adb @@ -7,7 +7,7 @@ -- B O D Y -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 2000,2004 Free Software Foundation, Inc. -- +-- Copyright (c) 2000-2004,2006 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -35,8 +35,8 @@ ------------------------------------------------------------------------------ -- Author: Eugene V. Melaragno 2000 -- Version Control --- $Revision: 1.5 $ --- $Date: 2004/08/21 21:37:00 $ +-- $Revision: 1.6 $ +-- $Date: 2006/06/25 14:24:40 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ with ncurses2.util; use ncurses2.util; @@ -90,7 +90,8 @@ procedure ncurses2.menu_test is new String'("Platypi"), new String'("Lemurs")); - items_a : Item_Array_Access := new Item_Array (1 .. animals'Last + 1); + items_a : constant Item_Array_Access := + new Item_Array (1 .. animals'Last + 1); tmp : Event_Mask; diff --git a/Ada95/samples/ncurses2-slk_test.adb b/Ada95/samples/ncurses2-slk_test.adb index de4edb57..8bfee4ec 100644 --- a/Ada95/samples/ncurses2-slk_test.adb +++ b/Ada95/samples/ncurses2-slk_test.adb @@ -7,7 +7,7 @@ -- B O D Y -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 2000,2004 Free Software Foundation, Inc. -- +-- Copyright (c) 2000-2004,2006 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -35,8 +35,8 @@ ------------------------------------------------------------------------------ -- Author: Eugene V. Melaragno 2000 -- Version Control --- $Revision: 1.6 $ --- $Date: 2004/08/21 21:37:00 $ +-- $Revision: 1.7 $ +-- $Date: 2006/06/25 14:24:40 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ with ncurses2.util; use ncurses2.util; @@ -76,7 +76,6 @@ procedure ncurses2.slk_test is Str := To_Unbounded_String (To_Ada (Txt, True)); end myGet; - use Int_IO; use Ada.Strings.Unbounded; diff --git a/Ada95/samples/ncurses2-test_sgr_attributes.adb b/Ada95/samples/ncurses2-test_sgr_attributes.adb index 9948dc59..97449a40 100644 --- a/Ada95/samples/ncurses2-test_sgr_attributes.adb +++ b/Ada95/samples/ncurses2-test_sgr_attributes.adb @@ -7,7 +7,7 @@ -- B O D Y -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 2000 Free Software Foundation, Inc. -- +-- Copyright (c) 2000,2006 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -35,13 +35,13 @@ ------------------------------------------------------------------------------ -- Author: Eugene V. Melaragno 2000 -- Version Control --- $Revision: 1.1 $ +-- $Revision: 1.2 $ +-- $Date: 2006/06/25 14:24:40 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ with Terminal_Interface.Curses; use Terminal_Interface.Curses; with ncurses2.util; use ncurses2.util; - -- Graphic-rendition test (adapted from vttest) procedure ncurses2.test_sgr_attributes is @@ -74,7 +74,6 @@ begin xAdd (4, 1, "vanilla"); - current := normal; current.Attr.Bold_Character := not current.Attr.Bold_Character; Set_Background (Ch => current); diff --git a/Ada95/samples/ncurses2-trace_set.adb b/Ada95/samples/ncurses2-trace_set.adb index 10b605a7..d742d1d1 100644 --- a/Ada95/samples/ncurses2-trace_set.adb +++ b/Ada95/samples/ncurses2-trace_set.adb @@ -7,7 +7,7 @@ -- B O D Y -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 2000 Free Software Foundation, Inc. -- +-- Copyright (c) 2000,2006 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -35,7 +35,8 @@ ------------------------------------------------------------------------------ -- Author: Eugene V. Melaragno 2000 -- Version Control --- $Revision: 1.1 $ +-- $Revision: 1.2 $ +-- $Date: 2006/06/25 14:24:40 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ with ncurses2.util; use ncurses2.util; @@ -83,7 +84,6 @@ procedure ncurses2.trace_set is end case; end menu_virtualize; - type string_a is access String; type tbl_entry is record name : string_a; @@ -126,7 +126,6 @@ procedure ncurses2.trace_set is package BS is new Ada.Strings.Bounded.Generic_Bounded_Length (300); - function subset (super, sub : Trace_Attribute_Set) return Boolean is begin if @@ -238,7 +237,6 @@ procedure ncurses2.trace_set is return result'Img; end trace_num; - function tracetrace (tlevel : Trace_Attribute_Set) return String is use BS; @@ -251,7 +249,6 @@ procedure ncurses2.trace_set is Append (buf, "Trace_Disable"); else - if subset (tlevel, Trace_Attribute_Set'(Times => True, others => False)) then Append (buf, "Times"); @@ -392,7 +389,7 @@ procedure ncurses2.trace_set is nc_tracing, mask : Trace_Attribute_Set; pragma Import (C, nc_tracing, "_nc_tracing"); - items_a : Item_Array_Access := + items_a : constant Item_Array_Access := new Item_Array (t_tbl'First .. t_tbl'Last + 1); mrows : Line_Count; mcols : Column_Count; diff --git a/Ada95/samples/ncurses2-util.adb b/Ada95/samples/ncurses2-util.adb index 3e88ea8b..0352fa12 100644 --- a/Ada95/samples/ncurses2-util.adb +++ b/Ada95/samples/ncurses2-util.adb @@ -7,7 +7,7 @@ -- B O D Y -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 2000,2004 Free Software Foundation, Inc. -- +-- Copyright (c) 2000-2004,2006 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -35,15 +35,14 @@ ------------------------------------------------------------------------------ -- Author: Eugene V. Melaragno 2000 -- Version Control --- $Revision: 1.5 $ --- $Date: 2004/08/21 21:37:00 $ +-- $Revision: 1.6 $ +-- $Date: 2006/06/25 14:24:40 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ -with Terminal_Interface.Curses; use Terminal_Interface.Curses; +with Terminal_Interface.Curses; with Ada.Text_IO; -with Terminal_Interface.Curses; use Terminal_Interface.Curses; pragma Warnings (Off); with Terminal_Interface.Curses.Aux; pragma Warnings (On); @@ -59,7 +58,6 @@ with Ada.Characters.Handling; with ncurses2.genericPuts; - package body ncurses2.util is -- #defines from C @@ -111,7 +109,6 @@ package body ncurses2.util is end if; end Getchar; - procedure Pause is begin Move_Cursor (Line => Lines - 1, Column => 0); @@ -119,7 +116,6 @@ package body ncurses2.util is Getchar; end Pause; - procedure Cannot (s : String) is use Interfaces.C; use Interfaces.C.Strings; @@ -163,8 +159,6 @@ package body ncurses2.util is Refresh; end ShellOut; - - function Is_Digit (c : Key_Code) return Boolean is begin if c >= 16#100# then @@ -180,7 +174,6 @@ package body ncurses2.util is Add (Ch => newl); end P; - function Code_To_Char (c : Key_Code) return Character is begin if c > Character'Pos (Character'Last) then diff --git a/Ada95/samples/ncurses2-util.ads b/Ada95/samples/ncurses2-util.ads index 6c81e83e..f46749f0 100644 --- a/Ada95/samples/ncurses2-util.ads +++ b/Ada95/samples/ncurses2-util.ads @@ -7,7 +7,7 @@ -- S P E C -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 2000 Free Software Foundation, Inc. -- +-- Copyright (c) 2000,2006 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -35,7 +35,8 @@ ------------------------------------------------------------------------------ -- Author: Eugene V. Melaragno 2000 -- Version Control --- $Revision: 1.1 $ +-- $Revision: 1.2 $ +-- $Date: 2006/06/25 14:24:40 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ with Terminal_Interface.Curses; use Terminal_Interface.Curses; @@ -47,7 +48,6 @@ package ncurses2.util is Blank2 : constant Attributed_Character := (Ch => Blank, Attr => Normal_Video, Color => Color_Pair'First); - newl : constant Character := Character'Val (10); function CTRL (c : Character) return Key_Code; @@ -60,20 +60,17 @@ package ncurses2.util is procedure Pause; - procedure Cannot (s : String); procedure ShellOut (message : Boolean); - package Int_IO is new Ada.Text_IO.Integer_IO (Integer); - function Is_Digit (c : Key_Code) return Boolean; procedure P (s : String); function Code_To_Char (c : Key_Code) return Character; function ctoi (c : Character) return Integer; -end ncurses2.util; +end ncurses2.util; diff --git a/Ada95/samples/sample-curses_demo-mouse.adb b/Ada95/samples/sample-curses_demo-mouse.adb index 34a0ab11..e1034384 100644 --- a/Ada95/samples/sample-curses_demo-mouse.adb +++ b/Ada95/samples/sample-curses_demo-mouse.adb @@ -7,7 +7,7 @@ -- B O D Y -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 1998 Free Software Foundation, Inc. -- +-- Copyright (c) 1998,2006 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -35,7 +35,8 @@ ------------------------------------------------------------------------------ -- Author: Juergen Pfeifer, 1996 -- Version Control --- $Revision: 1.13 $ +-- $Revision: 1.15 $ +-- $Date: 2006/06/25 14:30:22 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ with Terminal_Interface.Curses; use Terminal_Interface.Curses; @@ -217,4 +218,3 @@ package body Sample.Curses_Demo.Mouse is end Demo; end Sample.Curses_Demo.Mouse; - diff --git a/Ada95/samples/sample-explanation.adb b/Ada95/samples/sample-explanation.adb index 66efb0db..12a8deb6 100644 --- a/Ada95/samples/sample-explanation.adb +++ b/Ada95/samples/sample-explanation.adb @@ -7,7 +7,7 @@ -- B O D Y -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 1998,2004 Free Software Foundation, Inc. -- +-- Copyright (c) 1998-2004,2006 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -35,8 +35,8 @@ ------------------------------------------------------------------------------ -- Author: Juergen Pfeifer, 1996 -- Version Control --- $Revision: 1.18 $ --- $Date: 2004/08/21 21:37:00 $ +-- $Revision: 1.20 $ +-- $Date: 2006/06/25 14:30:22 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ -- Poor mans help system. This scans a sequential file for key lines and @@ -406,4 +406,3 @@ package body Sample.Explanation is begin Open (F, In_File, File_Name); end Sample.Explanation; - diff --git a/Ada95/samples/sample-form_demo.adb b/Ada95/samples/sample-form_demo.adb index df138139..e26a5d98 100644 --- a/Ada95/samples/sample-form_demo.adb +++ b/Ada95/samples/sample-form_demo.adb @@ -7,7 +7,7 @@ -- B O D Y -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 1998,2004 Free Software Foundation, Inc. -- +-- Copyright (c) 1998-2004,2006 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -35,8 +35,8 @@ ------------------------------------------------------------------------------ -- Author: Juergen Pfeifer, 1996 -- Version Control --- $Revision: 1.13 $ --- $Date: 2004/08/21 21:37:00 $ +-- $Revision: 1.15 $ +-- $Date: 2006/06/25 14:30:22 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ with Terminal_Interface.Curses; use Terminal_Interface.Curses; @@ -78,7 +78,7 @@ package body Sample.Form_Demo is procedure Demo is - Mft : My_Data := (Ch => 'X'); + Mft : constant My_Data := (Ch => 'X'); FA : Field_Array_Access := new Field_Array' (Make (0, 14, "Sample Entry Form"), diff --git a/Ada95/samples/sample-header_handler.adb b/Ada95/samples/sample-header_handler.adb index b187f976..d198d66e 100644 --- a/Ada95/samples/sample-header_handler.adb +++ b/Ada95/samples/sample-header_handler.adb @@ -7,7 +7,7 @@ -- B O D Y -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 1998,2004 Free Software Foundation, Inc. -- +-- Copyright (c) 1998-2004,2006 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -35,8 +35,8 @@ ------------------------------------------------------------------------------ -- Author: Juergen Pfeifer, 1996 -- Version Control --- $Revision: 1.14 $ --- $Date: 2004/08/21 21:37:00 $ +-- $Revision: 1.16 $ +-- $Date: 2006/06/25 14:30:22 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ with Ada.Calendar; use Ada.Calendar; @@ -67,7 +67,6 @@ package body Sample.Header_Handler is procedure Internal_Update_Header_Window (Do_Update : in Boolean); - -- The initialization must be called before Init_Screen. It steals two -- lines from the top of the screen. procedure Init_Header_Handler diff --git a/Ada95/samples/sample-helpers.adb b/Ada95/samples/sample-helpers.adb index aed5a374..162e9f23 100644 --- a/Ada95/samples/sample-helpers.adb +++ b/Ada95/samples/sample-helpers.adb @@ -7,7 +7,7 @@ -- B O D Y -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 1998 Free Software Foundation, Inc. -- +-- Copyright (c) 1998,2006 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -35,10 +35,11 @@ ------------------------------------------------------------------------------ -- Author: Juergen Pfeifer, 1996 -- Version Control --- $Revision: 1.9 $ +-- $Revision: 1.11 $ +-- $Date: 2006/06/25 14:30:22 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ -with Terminal_Interface.Curses; use Terminal_Interface.Curses; +with Terminal_Interface.Curses; with Sample.Explanation; use Sample.Explanation; diff --git a/Ada95/samples/sample-keyboard_handler.adb b/Ada95/samples/sample-keyboard_handler.adb index 5629ea77..fdac054d 100644 --- a/Ada95/samples/sample-keyboard_handler.adb +++ b/Ada95/samples/sample-keyboard_handler.adb @@ -7,7 +7,7 @@ -- B O D Y -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 1998,2004 Free Software Foundation, Inc. -- +-- Copyright (c) 1998-2004,2006 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -35,8 +35,8 @@ ------------------------------------------------------------------------------ -- Author: Juergen Pfeifer, 1996 -- Version Control --- $Revision: 1.12 $ --- $Date: 2004/08/21 21:37:00 $ +-- $Revision: 1.14 $ +-- $Date: 2006/06/25 14:30:22 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ with Ada.Strings; use Ada.Strings; @@ -70,7 +70,6 @@ package body Sample.Keyboard_Handler is function Command return Real_Key_Code; - function Command return Real_Key_Code is function My_Driver (F : Form; diff --git a/Ada95/samples/sample-menu_demo-aux.adb b/Ada95/samples/sample-menu_demo-aux.adb index 2d2e06ac..b9b237ce 100644 --- a/Ada95/samples/sample-menu_demo-aux.adb +++ b/Ada95/samples/sample-menu_demo-aux.adb @@ -7,7 +7,7 @@ -- B O D Y -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 1998 Free Software Foundation, Inc. -- +-- Copyright (c) 1998,2006 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -35,7 +35,8 @@ ------------------------------------------------------------------------------ -- Author: Juergen Pfeifer, 1996 -- Version Control --- $Revision: 1.11 $ +-- $Revision: 1.13 $ +-- $Date: 2006/06/25 14:30:22 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ with Ada.Characters.Latin_1; use Ada.Characters.Latin_1; @@ -201,4 +202,3 @@ package body Sample.Menu_Demo.Aux is end Get_Request; end Sample.Menu_Demo.Aux; - diff --git a/Ada95/samples/sample-my_field_type.adb b/Ada95/samples/sample-my_field_type.adb index 0dacfc3a..74c51406 100644 --- a/Ada95/samples/sample-my_field_type.adb +++ b/Ada95/samples/sample-my_field_type.adb @@ -7,7 +7,7 @@ -- B O D Y -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 1998,2004 Free Software Foundation, Inc. -- +-- Copyright (c) 1998-2004,2006 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -35,11 +35,11 @@ ------------------------------------------------------------------------------ -- Author: Juergen Pfeifer, 1996 -- Version Control --- $Revision: 1.13 $ --- $Date: 2004/08/21 21:37:00 $ +-- $Revision: 1.15 $ +-- $Date: 2006/06/25 14:30:22 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ -with Terminal_Interface.Curses.Forms; use Terminal_Interface.Curses.Forms; +with Terminal_Interface.Curses.Forms; -- This is a very simple user defined field type. It accepts only a -- defined character as input into the field. diff --git a/Ada95/samples/sample-my_field_type.ads b/Ada95/samples/sample-my_field_type.ads index 7e74c33d..b8f3653c 100644 --- a/Ada95/samples/sample-my_field_type.ads +++ b/Ada95/samples/sample-my_field_type.ads @@ -7,7 +7,7 @@ -- S P E C -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 1998 Free Software Foundation, Inc. -- +-- Copyright (c) 1998,2006 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -35,7 +35,7 @@ ------------------------------------------------------------------------------ -- Author: Juergen Pfeifer, 1996 -- Version Control --- $Revision: 1.10 $ +-- $Revision: 1.12 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ with Terminal_Interface.Curses.Forms; use Terminal_Interface.Curses.Forms; @@ -59,4 +59,3 @@ package Sample.My_Field_Type is Typ : My_Data) return Boolean; end Sample.My_Field_Type; - diff --git a/Ada95/samples/sample-text_io_demo.adb b/Ada95/samples/sample-text_io_demo.adb index b2448c1a..0b385c45 100644 --- a/Ada95/samples/sample-text_io_demo.adb +++ b/Ada95/samples/sample-text_io_demo.adb @@ -7,7 +7,7 @@ -- B O D Y -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 1998,2004 Free Software Foundation, Inc. -- +-- Copyright (c) 1998-2004,2006 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -35,8 +35,8 @@ ------------------------------------------------------------------------------ -- Author: Juergen Pfeifer, 1996 -- Version Control --- $Revision: 1.14 $ --- $Date: 2004/08/21 21:37:00 $ +-- $Revision: 1.16 $ +-- $Date: 2006/06/25 14:30:22 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ with Ada.Numerics.Generic_Elementary_Functions; @@ -111,7 +111,7 @@ package body Sample.Text_IO_Demo is P : Panel := Create (Standard_Window); K : Real_Key_Code; Im : constant Complex := (0.0, 1.0); - Fx : constant Fix := 3.14; + Fx : constant Dec := 3.14; Dc : constant Dec := 2.72; L : Md; diff --git a/Ada95/src/terminal_interface-curses-forms-field_types-user-choice.adb b/Ada95/src/terminal_interface-curses-forms-field_types-user-choice.adb index 8d2f6c4c..1003ea40 100644 --- a/Ada95/src/terminal_interface-curses-forms-field_types-user-choice.adb +++ b/Ada95/src/terminal_interface-curses-forms-field_types-user-choice.adb @@ -7,7 +7,7 @@ -- B O D Y -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 1998,2004 Free Software Foundation, Inc. -- +-- Copyright (c) 1998-2004,2006 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -35,8 +35,8 @@ ------------------------------------------------------------------------------ -- Author: Juergen Pfeifer, 1996 -- Version Control: --- $Revision: 1.13 $ --- $Date: 2004/08/21 21:37:00 $ +-- $Revision: 1.14 $ +-- $Date: 2006/06/25 14:24:40 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ with Ada.Unchecked_Conversion; @@ -47,8 +47,10 @@ package body Terminal_Interface.Curses.Forms.Field_Types.User.Choice is use type Interfaces.C.int; + pragma Warnings (Off); function To_Argument_Access is new Ada.Unchecked_Conversion (System.Address, Argument_Access); + pragma Warnings (On); function Generic_Next (Fld : Field; Usr : System.Address) return C_Int diff --git a/Ada95/src/terminal_interface-curses-forms-field_types-user.adb b/Ada95/src/terminal_interface-curses-forms-field_types-user.adb index 18320ef1..eac08887 100644 --- a/Ada95/src/terminal_interface-curses-forms-field_types-user.adb +++ b/Ada95/src/terminal_interface-curses-forms-field_types-user.adb @@ -7,7 +7,7 @@ -- B O D Y -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 1998,2004 Free Software Foundation, Inc. -- +-- Copyright (c) 1998-2004,2006 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -35,8 +35,8 @@ ------------------------------------------------------------------------------ -- Author: Juergen Pfeifer, 1996 -- Version Control: --- $Revision: 1.13 $ --- $Date: 2004/08/21 21:37:00 $ +-- $Revision: 1.14 $ +-- $Date: 2006/06/25 14:24:40 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ with Ada.Unchecked_Conversion; @@ -79,8 +79,10 @@ package body Terminal_Interface.Curses.Forms.Field_Types.User is end if; end Set_Field_Type; + pragma Warnings (Off); function To_Argument_Access is new Ada.Unchecked_Conversion (System.Address, Argument_Access); + pragma Warnings (On); function Generic_Field_Check (Fld : Field; Usr : System.Address) return C_Int diff --git a/Ada95/src/terminal_interface-curses-forms-field_types.adb b/Ada95/src/terminal_interface-curses-forms-field_types.adb index 47efa4c2..c2aed250 100644 --- a/Ada95/src/terminal_interface-curses-forms-field_types.adb +++ b/Ada95/src/terminal_interface-curses-forms-field_types.adb @@ -7,7 +7,7 @@ -- B O D Y -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 1998,2004 Free Software Foundation, Inc. -- +-- Copyright (c) 1998-2004,2006 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -35,8 +35,8 @@ ------------------------------------------------------------------------------ -- Author: Juergen Pfeifer, 1996 -- Version Control: --- $Revision: 1.17 $ --- $Date: 2004/08/21 21:37:00 $ +-- $Revision: 1.19 $ +-- $Date: 2006/06/25 14:24:40 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ with Interfaces.C; @@ -53,8 +53,10 @@ package body Terminal_Interface.Curses.Forms.Field_Types is use type Interfaces.C.int; use type System.Address; + pragma Warnings (Off); function To_Argument_Access is new Ada.Unchecked_Conversion (System.Address, Argument_Access); + pragma Warnings (On); function Get_Fieldtype (F : Field) return C_Field_Type; pragma Import (C, Get_Fieldtype, "field_type"); @@ -140,7 +142,6 @@ package body Terminal_Interface.Curses.Forms.Field_Types is end if; end Free_Arg; - procedure Wrap_Builtin (Fld : Field; Typ : Field_Type'Class; Cft : C_Field_Type := C_Builtin_Router) diff --git a/Ada95/src/terminal_interface-curses-termcap.adb b/Ada95/src/terminal_interface-curses-termcap.adb index e62d8ef5..fd3c6465 100644 --- a/Ada95/src/terminal_interface-curses-termcap.adb +++ b/Ada95/src/terminal_interface-curses-termcap.adb @@ -7,7 +7,7 @@ -- B O D Y -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 2000,2004 Free Software Foundation, Inc. -- +-- Copyright (c) 2000-2004,2006 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -35,8 +35,8 @@ ------------------------------------------------------------------------------ -- Author: Juergen Pfeifer, 1996 -- Version Control: --- $Revision: 1.9 $ --- $Date: 2004/08/21 21:37:00 $ +-- $Revision: 1.11 $ +-- $Date: 2006/06/25 14:30:22 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ @@ -160,5 +160,4 @@ package body Terminal_Interface.Curses.Termcap is (tgoto (Txt, C_Int (Col), C_Int (Row)))); end TGoto; - end Terminal_Interface.Curses.Termcap; diff --git a/Ada95/src/terminal_interface-curses-terminfo.adb b/Ada95/src/terminal_interface-curses-terminfo.adb index 657871ce..a3fbe257 100644 --- a/Ada95/src/terminal_interface-curses-terminfo.adb +++ b/Ada95/src/terminal_interface-curses-terminfo.adb @@ -7,7 +7,7 @@ -- B O D Y -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 2000 Free Software Foundation, Inc. -- +-- Copyright (c) 1998-2000,2006 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -35,7 +35,8 @@ ------------------------------------------------------------------------------ -- Author: Juergen Pfeifer, 1996 -- Version Control: --- $Revision: 1.3 $ +-- $Revision: 1.5 $ +-- $Date: 2006/06/25 14:30:22 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ @@ -46,7 +47,6 @@ with Ada.Unchecked_Conversion; package body Terminal_Interface.Curses.Terminfo is - function Is_MinusOne_Pointer (P : in chars_ptr) return Boolean; function Is_MinusOne_Pointer (P : in chars_ptr) return Boolean is diff --git a/Ada95/src/terminal_interface-curses-text_io-aux.adb b/Ada95/src/terminal_interface-curses-text_io-aux.adb index ecd58e0e..06b48766 100644 --- a/Ada95/src/terminal_interface-curses-text_io-aux.adb +++ b/Ada95/src/terminal_interface-curses-text_io-aux.adb @@ -7,7 +7,7 @@ -- B O D Y -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 1998 Free Software Foundation, Inc. -- +-- Copyright (c) 1998,2006 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -35,7 +35,8 @@ ------------------------------------------------------------------------------ -- Author: Juergen Pfeifer, 1996 -- Version Control: --- $Revision: 1.11 $ +-- $Revision: 1.12 $ +-- $Date: 2006/06/25 14:24:40 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ package body Terminal_Interface.Curses.Text_IO.Aux is @@ -125,4 +126,3 @@ package body Terminal_Interface.Curses.Text_IO.Aux is end Put_Buf; end Terminal_Interface.Curses.Text_IO.Aux; - diff --git a/Ada95/src/terminal_interface-curses-text_io-aux.ads b/Ada95/src/terminal_interface-curses-text_io-aux.ads index e14c2e50..df8a9bda 100644 --- a/Ada95/src/terminal_interface-curses-text_io-aux.ads +++ b/Ada95/src/terminal_interface-curses-text_io-aux.ads @@ -7,7 +7,7 @@ -- S P E C -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 1998 Free Software Foundation, Inc. -- +-- Copyright (c) 1998,2006 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -35,7 +35,8 @@ ------------------------------------------------------------------------------ -- Author: Juergen Pfeifer, 1996 -- Version Control: --- $Revision: 1.12 $ +-- $Revision: 1.13 $ +-- $Date: 2006/06/25 14:24:40 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ private package Terminal_Interface.Curses.Text_IO.Aux is @@ -52,4 +53,3 @@ private package Terminal_Interface.Curses.Text_IO.Aux is Ljust : in Boolean := False); -- The Buf is left justified end Terminal_Interface.Curses.Text_IO.Aux; - diff --git a/Ada95/src/terminal_interface-curses-text_io.adb b/Ada95/src/terminal_interface-curses-text_io.adb index 17ff28d9..255b123d 100644 --- a/Ada95/src/terminal_interface-curses-text_io.adb +++ b/Ada95/src/terminal_interface-curses-text_io.adb @@ -7,7 +7,7 @@ -- B O D Y -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 1998,2004 Free Software Foundation, Inc. -- +-- Copyright (c) 1998-2004,2006 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -35,8 +35,8 @@ ------------------------------------------------------------------------------ -- Author: Juergen Pfeifer, 1996 -- Version Control: --- $Revision: 1.17 $ --- $Date: 2004/08/21 21:37:00 $ +-- $Revision: 1.18 $ +-- $Date: 2006/06/25 14:24:40 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ package body Terminal_Interface.Curses.Text_IO is @@ -128,7 +128,7 @@ package body Terminal_Interface.Curses.Text_IO is is P_Size : constant Count := Page_Length (Win); begin - if Spacing not in Positive_Count then + if not Spacing'Valid then raise Constraint_Error; end if; @@ -166,7 +166,7 @@ package body Terminal_Interface.Curses.Text_IO is X2 : Column_Position; N : Natural; begin - if To not in Positive_Count then + if not To'Valid then raise Constraint_Error; end if; @@ -200,7 +200,7 @@ package body Terminal_Interface.Curses.Text_IO is X : Column_Position; N : Natural; begin - if To not in Positive_Count then + if not To'Valid then raise Constraint_Error; end if; diff --git a/Ada95/src/terminal_interface-curses.adb b/Ada95/src/terminal_interface-curses.adb index 86ea1b5a..10452f1e 100644 --- a/Ada95/src/terminal_interface-curses.adb +++ b/Ada95/src/terminal_interface-curses.adb @@ -7,7 +7,7 @@ -- B O D Y -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 1998,2004 Free Software Foundation, Inc. -- +-- Copyright (c) 1998-2004,2006 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -35,8 +35,8 @@ ------------------------------------------------------------------------------ -- Author: Juergen Pfeifer, 1996 -- Version Control: --- $Revision: 1.32 $ --- $Date: 2004/08/21 21:37:00 $ +-- $Revision: 1.34 $ +-- $Date: 2006/06/25 14:30:22 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ with System; @@ -1394,7 +1394,6 @@ package body Terminal_Interface.Curses is end Insert_Line; ------------------------------------------------------------------------------ - procedure Get_Size (Win : in Window := Standard_Window; Number_Of_Lines : out Line_Count; @@ -2564,4 +2563,3 @@ package body Terminal_Interface.Curses is ------------------------------------------------------------------------------ end Terminal_Interface.Curses; - diff --git a/Ada95/src/terminal_interface.ads b/Ada95/src/terminal_interface.ads index eaaeea9f..fdaaf9fe 100644 --- a/Ada95/src/terminal_interface.ads +++ b/Ada95/src/terminal_interface.ads @@ -7,7 +7,7 @@ -- S P E C -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 1998 Free Software Foundation, Inc. -- +-- Copyright (c) 1998,2006 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -35,7 +35,8 @@ ------------------------------------------------------------------------------ -- Author: Juergen Pfeifer, 1996 -- Version Control: --- $Revision: 1.12 $ +-- $Revision: 1.14 $ +-- $Date: 2006/06/25 14:30:22 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ package Terminal_Interface is @@ -44,5 +45,3 @@ package Terminal_Interface is -- Everything is in the child units -- end Terminal_Interface; - - diff --git a/INSTALL b/INSTALL index bc3a4f84..45b13a9b 100644 --- a/INSTALL +++ b/INSTALL @@ -1,4 +1,31 @@ --- $Id: INSTALL,v 1.98 2005/10/09 14:09:37 tom Exp $ +------------------------------------------------------------------------------- +-- Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. -- +-- -- +-- Permission is hereby granted, free of charge, to any person obtaining a -- +-- copy of this software and associated documentation files (the -- +-- "Software"), to deal in the Software without restriction, including -- +-- without limitation the rights to use, copy, modify, merge, publish, -- +-- distribute, distribute with modifications, sublicense, and/or sell copies -- +-- of the Software, and to permit persons to whom the Software is furnished -- +-- to do so, subject to the following conditions: -- +-- -- +-- The above copyright notice and this permission notice shall be included -- +-- in all copies or substantial portions of the Software. -- +-- -- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- +-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- +-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -- +-- NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- +-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- +-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -- +-- USE OR OTHER DEALINGS IN THE SOFTWARE. -- +-- -- +-- Except as contained in this notice, the name(s) of the above copyright -- +-- holders shall not be used in advertising or otherwise to promote the -- +-- sale, use or other dealings in this Software without prior written -- +-- authorization. -- +------------------------------------------------------------------------------- +-- $Id: INSTALL,v 1.114 2006/12/17 19:58:19 tom Exp $ --------------------------------------------------------------------- How to install Ncurses/Terminfo on your system --------------------------------------------------------------------- @@ -318,8 +345,8 @@ SUMMARY OF CONFIGURE OPTIONS: --disable-macros For testing, use functions rather than macros. The program will run - more slowly, but it is simpler to debug. This makes a header file - "nomacros.h". See also the --enable-expanded option. + more slowly, but it is simpler to debug. This defines NCURSES_NOMACROS + at build time. See also the --enable-expanded option. --disable-overwrite If you are installing ncurses on a system which contains another @@ -341,6 +368,11 @@ SUMMARY OF CONFIGURE OPTIONS: Compile without scroll-hints code. This option is ignored when hashmap scrolling is configured, which is the default. + --disable-tparm-varargs + Portable programs should call tparm() using the fixed-length parameter + list documented in X/Open. ncurses provides varargs support for this + function. Use --disable-tparm-varargs to disable this support. + --enable-assertions For testing, compile-in assertion code. This is used only for a few places where ncurses cannot easily recover by returning an error code. @@ -421,6 +453,13 @@ SUMMARY OF CONFIGURE OPTIONS: cross-references to) the terminfo tree, but it is faster than reading /etc/termcap. + If configured for one of the *BSD systems, this automatically uses + the hashed database system produced using cap_mkdb or similar tools. + In that case, there is no advantage in using the --enable-getcap-cache + option. + + See also the --with-hashed-db option. + --enable-getcap-cache Cache translated termcaps under the directory $HOME/.terminfo @@ -444,9 +483,17 @@ SUMMARY OF CONFIGURE OPTIONS: extended functions. --enable-rpath - Use rpath option when generating shared libraries, and with some - restrictions when linking the corresponding programs. This applies - mainly to systems using the GNU linker (read the manpage). + Use rpath option when generating shared libraries, and (with some + restrictions) when linking the corresponding programs. This originally + (in 1997) applied mainly to systems using the GNU linker (read the + manpage). + + More recently it is useful for systems that require special treatment + shared libraries in "unusual" locations. The "system" libraries reside + in directories which are on the loader's default search-path. While + you may be able to use workarounds such as the $LD_LIBRARY_PATH + environment variable, they do not work with setuid applications since + the LD_LIBRARY_PATH variable would be unset in that situation. --enable-safe-sprintf Compile with experimental safe-sprintf code. You may consider using @@ -460,6 +507,13 @@ SUMMARY OF CONFIGURE OPTIONS: changes. This option is the default, unless you have disabled the extended functions. + --enable-signed-char + The term.h header declares a Booleans[] array typed "char". But it + stores signed values there and "char" is not necessarily signed. + Some packagers choose to alter the type of Booleans[] though this + is not strictly compatible. This option allows one to implement this + alteration without patching the source code. + --enable-symlinks If your system supports symbolic links, make tic use symbolic links rather than hard links to save diskspace when writing aliases in the @@ -479,6 +533,9 @@ SUMMARY OF CONFIGURE OPTIONS: --enable-warnings Turn on GCC compiler warnings. There should be only a few. + --enable-wgetch-events + Compile with experimental wgetch-events code. See ncurses/README.IZ + --enable-widec Compile with wide-character code. This makes a different version of the libraries (e.g., libncursesw.so), which stores characters as @@ -567,6 +624,7 @@ SUMMARY OF CONFIGURE OPTIONS: --with-dbmalloc For testing, compile and link with Conor Cahill's dbmalloc library. + This also sets the --disable-leaks option. --with-debug Generate debug-libraries (default). These are named by adding "_g" @@ -576,12 +634,9 @@ SUMMARY OF CONFIGURE OPTIONS: Specify the default terminfo database directory. This is normally DATADIR/terminfo, e.g., /usr/share/terminfo. - --with-develop - Enable experimental/development options. This does not count those - that change the interface, such as --enable-widec. - --with-dmalloc For testing, compile and link with Gray Watson's dmalloc library. + This also sets the --disable-leaks option. --with-fallbacks=XXX Specify a list of fallback terminal descriptions which will be @@ -589,10 +644,37 @@ SUMMARY OF CONFIGURE OPTIONS: --with-gpm use Alessandro Rubini's GPM library to provide mouse support on the - Linux console. Prior to ncurses 5.5, this introduced a dependency - on the GPM library. Currently ncurses uses the dlsym() function to - bind to the at runtime, so it is only necessary that the library be - present when ncurses is built. + Linux console. Prior to ncurses 5.5, this introduced a dependency on + the GPM library. + + Currently ncurses uses the dlsym() function to bind to the library at + runtime, so it is only necessary that the library be present when + ncurses is built, to obtain the filename (or soname) used in the + corresponding dlopen() call. If you give a value for this option, + e.g., + + --with-gpm=$HOME/tmp/test-gpm.so + + that overrides the configure check for the soname. + + See also --without-dlsym + + --with-hashed-db + Use a hashed database for storing terminfo data rather than storing + each compiled entry in a separate binary file within a directory + tree. + + If you use this option for configuring ncurses, tic will only be able + to write entries in the hashed database. infocmp can still read + entries from a directory tree as well as reading entries from the + hashed database. To do this, infocmp determines whether the $TERMINFO + variable points to a directory or a file, and reads the directory-tree + or hashed database respectively. + + You cannot have a directory containing both hashed-database and + filesystem-based terminfo entries. + + See also the --enable-getcap option. --with-install-prefix=XXX Allows you to specify an alternate location for installing ncurses @@ -678,6 +760,11 @@ SUMMARY OF CONFIGURE OPTIONS: --with-normal Generate normal (i.e., static) libraries (default). + Note: on Linux, the configure script will attempt to use the GPM + library via the dlsym() function call. Use --without-dlsym to disable + this feature, or --without-gpm, depending on whether you wish to use + GPM. + --with-profile Generate profile-libraries These are named by adding "_p" to the root, e.g., libncurses_p.a @@ -750,6 +837,10 @@ SUMMARY OF CONFIGURE OPTIONS: Configure the trace() function as part of the all models of the ncurses library. Normally it is part of the debug (libncurses_g) library only. + --with-valgrind + For testing, compile with debug option. + This also sets the --disable-leaks option. + --without-ada Suppress the configure script's check for Ada95, do not build the Ada95 binding and related demo. @@ -772,6 +863,13 @@ SUMMARY OF CONFIGURE OPTIONS: Suppress the configure script's check for C++, do not build the C++ binding and related demo. + --without-develop + Disable development options. This does not include those that change + the interface, such as --enable-widec. + + --without-dlsym + Do not use dlsym() to load GPM dynamically. + --without-progs Tell the configure script to suppress the build of ncurses' application programs (e.g., tic). The test applications will still be built if you @@ -798,6 +896,61 @@ COMPATIBILITY WITH OLDER VERSIONS OF NCURSES: you may encounter when building a system with different versions of ncurses: + 5.6 (December 17, 2006) + Interface changes: + + + generate linkable stubs for some macros: + + getbegx, getbegy, getcurx, getcury, getmaxx, getmaxy, getparx, + getpary, getpary, + + and (for libncursesw) + + wgetbkgrnd + + Added extensions: + nofilter() + use_legacy_coding() + + Added internal functions: + _nc_first_db + _nc_get_source + _nc_handle_sigwinch + _nc_is_abs_path + _nc_is_dir_path + _nc_is_file_path + _nc_keep_tic_dir + _nc_keep_tic_dir + _nc_last_db + _nc_next_db + _nc_read_termtype + _nc_tic_dir + + Also (if using the hashed database configuration): + + _nc_db_close + _nc_db_first + _nc_db_get + _nc_db_have_data + _nc_db_have_index + _nc_db_next + _nc_db_open + _nc_db_put + + otherwise + + _nc_hashed_db + + Removed internal functions: + none + + Modified internal functions: + _nc_add_to_try + _nc_do_color + _nc_expand_try + _nc_remove_key + _nc_setupscreen + 5.5 (October 10, 2005) Interface changes: @@ -1397,3 +1550,5 @@ BUGS: The Hacker's Guide in the doc directory includes some guidelines on how to report bugs in ways that will get them fixed most quickly. + +-- vile:txtmode diff --git a/MANIFEST b/MANIFEST index 1de68029..97faa381 100644 --- a/MANIFEST +++ b/MANIFEST @@ -1,4 +1,5 @@ ./ANNOUNCE +./AUTHORS ./Ada95/Makefile.in ./Ada95/README ./Ada95/TODO @@ -397,6 +398,7 @@ ./doc/html/man/key_defined.3x.html ./doc/html/man/keybound.3x.html ./doc/html/man/keyok.3x.html +./doc/html/man/legacy_coding.3x.html ./doc/html/man/menu.3x.html ./doc/html/man/menu_attributes.3x.html ./doc/html/man/menu_cursor.3x.html @@ -498,9 +500,11 @@ ./include/curses.tail ./include/curses.wide ./include/edit_cfg.sh +./include/hashed_db.h ./include/headers ./include/nc_alloc.h ./include/nc_panel.h +./include/nc_tparm.h ./include/ncurses_cfg.hin ./include/ncurses_defs ./include/ncurses_dll.h @@ -598,6 +602,7 @@ ./man/key_defined.3x ./man/keybound.3x ./man/keyok.3x +./man/legacy_coding.3x ./man/make_sed.sh ./man/man_db.renames ./man/manlinks.sed @@ -688,6 +693,7 @@ ./misc/menu.def ./misc/menu.ref ./misc/ncu-indent +./misc/ncurses-config.in ./misc/ncurses.def ./misc/ncurses.ref ./misc/panel.def @@ -716,6 +722,7 @@ ./ncurses/base/key_defined.c ./ncurses/base/keybound.c ./ncurses/base/keyok.c +./ncurses/base/legacy_coding.c ./ncurses/base/lib_addch.c ./ncurses/base/lib_addstr.c ./ncurses/base/lib_beep.c @@ -815,9 +822,11 @@ ./ncurses/tinfo/comp_hash.c ./ncurses/tinfo/comp_parse.c ./ncurses/tinfo/comp_scan.c +./ncurses/tinfo/db_iterator.c ./ncurses/tinfo/doalloc.c ./ncurses/tinfo/free_ttype.c ./ncurses/tinfo/getenv_num.c +./ncurses/tinfo/hashed_db.c ./ncurses/tinfo/home_terminfo.c ./ncurses/tinfo/init_keytry.c ./ncurses/tinfo/lib_acs.c @@ -956,11 +965,14 @@ ./test/blue.c ./test/bs.6 ./test/bs.c +./test/bulgarian-utf8.txt ./test/cardfile.c ./test/cardfile.dat +./test/chgat.c ./test/color_set.c ./test/configure ./test/configure.in +./test/demo_altkeys.c ./test/demo_defkey.c ./test/demo_forms.c ./test/demo_keyok.c @@ -969,11 +981,13 @@ ./test/demo_termcap.c ./test/ditto.c ./test/dots.c +./test/echochar.c ./test/edit_field.c ./test/edit_field.h ./test/filter.c ./test/firework.c ./test/firstlast.c +./test/foldkeys.c ./test/gdc.6 ./test/gdc.c ./test/hanoi.c @@ -985,12 +999,17 @@ ./test/linux-color.dat ./test/listused.sh ./test/lrtest.c +./test/mk-test.awk ./test/modules +./test/movewindow.c ./test/ncurses.c ./test/ncurses_tst.hin ./test/newdemo.c +./test/programs ./test/railroad.c ./test/rain.c +./test/redraw.c +./test/savescreen.c ./test/tclock.c ./test/test.priv.h ./test/testaddch.c @@ -998,6 +1017,7 @@ ./test/testscanw.c ./test/tracemunch ./test/view.c +./test/widechars-utf8.txt ./test/worm.c ./test/xmas.c ./test/xterm-16color.dat diff --git a/Makefile.os2 b/Makefile.os2 index 167ff657..1244455d 100644 --- a/Makefile.os2 +++ b/Makefile.os2 @@ -1,8 +1,33 @@ +############################################################################## +# Copyright (c) 1998-2000,2006 Free Software Foundation, Inc. # +# # +# Permission is hereby granted, free of charge, to any person obtaining a # +# copy of this software and associated documentation files (the "Software"), # +# to deal in the Software without restriction, including without limitation # +# the rights to use, copy, modify, merge, publish, distribute, distribute # +# with modifications, sublicense, and/or sell copies of the Software, and to # +# permit persons to whom the Software is furnished to do so, subject to the # +# following conditions: # +# # +# The above copyright notice and this permission notice shall be included in # +# all copies or substantial portions of the Software. # +# # +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # +# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # +# DEALINGS IN THE SOFTWARE. # +# # +# Except as contained in this notice, the name(s) of the above copyright # +# holders shall not be used in advertising or otherwise to promote the sale, # +# use or other dealings in this Software without prior written # +# authorization. # ################################################################################ -# Wrapper Makefile for ncurses library under OS/2. -################################################################################ -# $Id: Makefile.os2,v 1.10 2000/10/09 23:53:57 Ilya.Zakharevich Exp $ +# $Id: Makefile.os2,v 1.11 2006/04/22 21:46:17 tom Exp $ # +# Wrapper Makefile for ncurses library under OS/2. # Author: Juan Jose Garcia Ripoll . # Webpage: http://www.arrakis.es/~worm/ ################################################################################ diff --git a/NEWS b/NEWS index 04bc8456..62860916 100644 --- a/NEWS +++ b/NEWS @@ -1,10 +1,581 @@ --- $Id: NEWS,v 1.929 2005/10/09 14:17:59 tom Exp $ +------------------------------------------------------------------------------- +-- Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. -- +-- -- +-- Permission is hereby granted, free of charge, to any person obtaining a -- +-- copy of this software and associated documentation files (the -- +-- "Software"), to deal in the Software without restriction, including -- +-- without limitation the rights to use, copy, modify, merge, publish, -- +-- distribute, distribute with modifications, sublicense, and/or sell copies -- +-- of the Software, and to permit persons to whom the Software is furnished -- +-- to do so, subject to the following conditions: -- +-- -- +-- The above copyright notice and this permission notice shall be included -- +-- in all copies or substantial portions of the Software. -- +-- -- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- +-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- +-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -- +-- NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- +-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- +-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -- +-- USE OR OTHER DEALINGS IN THE SOFTWARE. -- +-- -- +-- Except as contained in this notice, the name(s) of the above copyright -- +-- holders shall not be used in advertising or otherwise to promote the -- +-- sale, use or other dealings in this Software without prior written -- +-- authorization. -- +------------------------------------------------------------------------------- +-- $Id: NEWS,v 1.1056 2006/12/17 20:36:26 tom Exp $ +------------------------------------------------------------------------------- This is a log of changes that ncurses has gone through since Zeyd started working with Pavel Curtis' original work, pcurses, in 1992. -Changes through 1.9.9e are recorded by Zeyd M. Ben-Halim. -Changes since 1.9.9e are recorded by Thomas Dickey. +Changes through 1.9.9e are recorded by Zeyd M Ben-Halim. +Changes since 1.9.9e are recorded by Thomas E Dickey. + +Contributors include those who have provided patches (even small ones), as well +as those who provide useful information (bug reports, analyses). Changes with +no cited author are the work of Thomas E Dickey (TD). + +A few contributors are given in this file by their initials. +They each account for one percent or more of the changes since 1.9.9e. +See the AUTHORS file for the corresponding full names. + +Changes through 1.9.9e did not credit all contributions; +it is not possible to add this information. + +20061217 5.6 release for upload to ftp.gnu.org + +20061217 + + add ifdef's for for HPUX, which has the corresponding + definitions in . + + revert the va_copy() change from 20061202, since it was neither + correct nor portable. + + add $(LOCAL_LIBS) definition to progs/Makefile.in, needed for + rpath on Solaris. + + ignore wide-acs line-drawing characters that wcwidth() claims are + not one-column. This is a workaround for Solaris' broken locale + support. + +20061216 + + modify configure --with-gpm option to allow it to accept a parameter, + i.e., the name of the dynamic GPM library to load via dlopen() + (requested by Bryan Henderson). + + add configure option --with-valgrind (from vile). + + modify configure script AC_TRY_RUN and AC_TRY_LINK checks to use + 'return' in preference to 'exit()'. + +20061209 + + change default for --with-develop back to "no". + + add XTABS to tracing of TTY bits. + + updated autoconf patch to ifdef-out the misfeature which declares + exit() for configure tests. This fixes a redefinition warning on + Solaris. + + use ${CC} rather than ${LD} in shared library rules for IRIX64, + Solaris to help ensure that initialization sections are provided for + extra linkage requirements, e.g., of C++ applications (prompted by + comment by Casper Dik in newsgroup). + + rename "$target" in CF_MAN_PAGES to make it easier to distinguish + from the autoconf predefined symbol. There was no conflict, + since "$target" was used only in the generated edit_man.sh file, + but SuSE's rpm package contains a patch. + +20061202 + + update man/term.5 to reflect extended terminfo support and hashed + database configuration. + + updates for test/configure script. + + adapted from SuSE rpm package: + + remove long-obsolete workaround for broken-linker which declared + cur_term in tic.c + + improve error recovery in PUTC() macro when wcrtomb() does not + return usable results for an 8-bit character. + + patches from rpm package (SuSE): + + use va_copy() in extra varargs manipulation for tracing version + of printw, etc. + + use a va_list rather than a null in _nc_freeall()'s call to + _nc_printf_string(). + + add some see-also references in manpages to show related + wide-character functions (suggested by Claus Fischer). + +20061125 + + add a check in lib_color.c to ensure caller does not increase COLORS + above max_colors, which is used as an array index (discussion with + Simon Sasburg). + + add ifdef's allowing ncurses to be built with tparm() using either + varargs (the existing status), or using a fixed-parameter list (to + match X/Open). + +20061104 + + fix redrawing of windows other than stdscr using wredrawln() by + touching the corresponding rows in curscr (discussion with Dan + Gookin). + + add test/redraw.c + + add test/echochar.c + + review/cleanup manpage descriptions of error-returns for form- and + menu-libraries (prompted by FreeBSD docs/46196). + +20061028 + + add AUTHORS file -TD + + omit the -D options from output of the new config script --cflags + option (suggested by Ralf S Engelschall). + + make NCURSES_INLINE unconditionally defined in curses.h + +20061021 + + revert change to accommodate bash 3.2, since that breaks other + platforms, e.g., Solaris. + + minor fixes to NEWS file to simplify scripting to obtain list of + contributors. + + improve some shared-library configure scripting for Linux, FreeBSD + and NetBSD to make "--with-shlib-version" work. + + change configure-script rules for FreeBSD shared libraries to allow + for rpath support in versions past 3. + + use $(DESTDIR) in makefile rules for installing/uninstalling the + package config script (reports/patches by Christian Wiese, + Ralf S Engelschall). + + fix a warning in the configure script for NetBSD 2.0, working around + spurious blanks embedded in its ${MAKEFLAGS} symbol. + + change test/Makefile to simplify installing test programs in a + different directory when --enable-rpath is used. + +20061014 + + work around bug in bash 3.2 by adding extra quotes (Jim Gifford). + + add/install a package config script, e.g., "ncurses5-config" or + "ncursesw5-config", according to configuration options. + +20061007 + + add several GNU Screen terminfo variations with 16- and 256-colors, + and status line (Alain Bench). + + change the way shared libraries (other than libtool) are installed. + Rather than copying the build-tree's libraries, link the shared + objects into the install directory. This makes the --with-rpath + option work except with $(DESTDIR) (cf: 20000930). + +20060930 + + fix ifdef in c++/internal.h for QNX 6.1 + + test-compiled with (old) egcs-1.1.2, modified configure script to + not unset the $CXX and related variables which would prevent this. + + fix a few terminfo.src typos exposed by improvments to "-f" option. + + improve infocmp/tic "-f" option formatting. + +20060923 + + make --disable-largefile option work (report by Thomas M Ott). + + updated html documentation. + + add ka2, kb1, kb3, kc2 to vt220-keypad as an extension -TD + + minor improvements to rxvt+pcfkeys -TD + +20060916 + + move static data from lib_mouse.c into SCREEN struct. + + improve ifdef's for _POSIX_VDISABLE in tset to work with Mac OS X + (report by Michail Vidiassov). + + modify CF_PATH_SYNTAX to ensure it uses the result from --prefix + option (from lynx changes) -TD + + adapt AC_PROG_EGREP check, noting that this is likely to be another + place aggravated by POSIXLY_CORRECT. + + modify configure check for awk to ensure that it is found (prompted + by report by Christopher Parker). + + update config.sub + +20060909 + + add kon, kon2 and jfbterm terminfo entry (request by Till Maas) -TD + + remove invis capability from klone+sgr, mainly used by linux entry, + since it does not really do this -TD + +20060903 + + correct logic in wadd_wch() and wecho_wch(), which did not guard + against passing the multi-column attribute into a call on waddch(), + e.g., using data returned by win_wch() (cf: 20041023) + (report by Sadrul H Chowdhury). + +20060902 + + fix kterm's acsc string -TD + + fix for change to tic/infocmp in 20060819 to ensure no blank is + embedded into a termcap description. + + workaround for 20050806 ifdef's change to allow visbuf.c to compile + when using --with-termlib --with-trace options. + + improve tgetstr() by making the return value point into the user's + buffer, if provided (patch by Miroslav Lichvar (see Redhat Bugzilla + #202480)). + + correct libraries needed for foldkeys (report by Stanislav Ievlev) + +20060826 + + add terminfo entries for xfce terminal (xfce) and multi gnome + terminal (mgt) -TD + + add test/foldkeys.c + +20060819 + + modify tic and infocmp to avoid writing trailing blanks on terminfo + source output (Debian #378783). + + modify configure script to ensure that if the C compiler is used + rather than the loader in making shared libraries, the $(CFLAGS) + variable is also used (Redhat Bugzilla #199369). + + port hashed-db code to db2 and db3. + + fix a bug in tgetent() from 20060625 and 20060715 changes + (patch/analysis by Miroslav Lichvar (see Redhat Bugzilla #202480)). + +20060805 + + updated xterm function-keys terminfo to match xterm #216 -TD + + add configure --with-hashed-db option (tested only with FreeBSD 6.0, + e.g., the db 1.8.5 interface). + +20060729 + + modify toe to access termcap data, e.g., via cgetent() functions, + or as a text file if those are not available. + + use _nc_basename() in tset to improve $SHELL check for csh/sh. + + modify _nc_read_entry() and _nc_read_termcap_entry() so infocmp, + can access termcap data when the terminfo database is disabled. + +20060722 + + widen the test for xterm kmous a little to allow for other strings + than \E[M, e.g., for xterm-sco functionality in xterm. + + update xterm-related terminfo entries to match xterm patch #216 -TD + + update config.guess, config.sub + +20060715 + + fix for install-rule in Ada95 to add terminal_interface.ads + and terminal_interface.ali (anonymous posting in comp.lang.ada). + + correction to manpage for getcchar() (report by William McBrine). + + add test/chgat.c + + modify wchgat() to mark updated cells as changed so a refresh will + repaint those cells (comments by Sadrul H Chowdhury and William + McBrine). + + split up dependency of names.c and codes.c in ncurses/Makefile to + work with parallel make (report/analysis by Joseph S Myers). + + suppress a warning message (which is ignored) for systems without + an ldconfig program (patch by Justin Hibbits). + + modify configure script --disable-symlinks option to allow one to + disable symlink() in tic even when link() does not work (report by + Nigel Horne). + + modify MKfallback.sh to use tic -x when constructing fallback tables + to allow extended capabilities to be retrieved from a fallback entry. + + improve leak-checking logic in tgetent() from 20060625 to ensure that + it does not free the current screen (report by Miroslav Lichvar). + +20060708 + + add a check for _POSIX_VDISABLE in tset (NetBSD #33916). + + correct _nc_free_entries() and related functions used for memory leak + checking of tic. + +20060701 + + revert a minor change for magic-cookie support from 20060513, which + caused unexpected reset of attributes, e.g., when resizing test/view + in color mode. + + note in clear manpage that the program ignores command-line + parameters (prompted by Debian #371855). + + fixes to make lib_gen.c build properly with changes to the configure + --disable-macros option and NCURSES_NOMACROS (cf: 20060527) + + update/correct several terminfo entries -TD + + add some notes regarding copyright to terminfo.src -TD + +20060625 + + fixes to build Ada95 binding with gnat-4.1.0 + + modify read_termtype() so the term_names data is always allocated as + part of the str_table, a better fix for a memory leak (cf: 20030809). + + reduce memory leaks in repeated calls to tgetent() by remembering the + last TERMINAL* value allocated to hold the corresponding data and + freeing that if the tgetent() result buffer is the same as the + previous call (report by "Matt" for FreeBSD gnu/98975). + + modify tack to test extended capability function-key strings. + + improved gnome terminfo entry (GenToo #122566). + + improved xterm-256color terminfo entry (patch by Alain Bench). + +20060617 + + fix two small memory leaks related to repeated tgetent() calls + with TERM=screen (report by "Matt" for FreeBSD gnu/98975). + + add --enable-signed-char to simplify Debian package. + + reduce name-pollution in term.h by removing #define's for HAVE_xxx + symbols. + + correct typo in curs_terminfo.3x (Debian #369168). + +20060603 + + enable the mouse in test/movewindow.c + + improve a limit-check in frm_def.c (John Heasley). + + minor copyright fixes. + + change configure script to produce test/Makefile from data file. + +20060527 + + add a configure option --enable-wgetch-events to enable + NCURSES_WGETCH_EVENTS, and correct the associated loop-logic in + lib_twait.c (report by Bernd Jendrissek). + + remove include/nomacros.h from build, since the ifdef for + NCURSES_NOMACROS makes that obsolete. + + add entrypoints for some functions which were only provided as macros + to make NCURSES_NOMACROS ifdef work properly: getcurx(), getcury(), + getbegx(), getbegy(), getmaxx(), getmaxy(), getparx() and getpary(), + wgetbkgrnd(). + + provide ifdef for NCURSES_NOMACROS which suppresses most macro + definitions from curses.h, i.e., where a macro is defined to override + a function to improve performance. Allowing a developer to suppress + these definitions can simplify some application (discussion with + Stanislav Ievlev). + + improve description of memu/meml in terminfo manpage. + +20060520 + + if msgr is false, reset video attributes when doing an automargin + wrap to the next line. This makes the ncurses 'k' test work properly + for hpterm. + + correct caching of keyname(), which was using only half of its table. + + minor fixes to memory-leak checking. + + make SCREEN._acs_map and SCREEN._screen_acs_map pointers rather than + arrays, making ACS_LEN less visible to applications (suggested by + Stanislav Ievlev). + + move chunk in SCREEN ifdef'd for USE_WIDEC_SUPPORT to the end, so + _screen_acs_map will have the same offset in both ncurses/ncursesw, + making the corresponding tinfo/tinfow libraries binary-compatible + (cf: 20041016, report by Stanislav Ievlev). + +20060513 + + improve debug-tracing for EmitRange(). + + change default for --with-develop to "yes". Add NCURSES_NO_HARD_TABS + and NCURSES_NO_MAGIC_COOKIE environment variables to allow runtime + suppression of the related hard-tabs and xmc-glitch features. + + add ncurses version number to top-level manpages, e.g., ncurses, tic, + infocmp, terminfo as well as form, menu, panel. + + update config.guess, config.sub + + modify ncurses.c to work around a bug in NetBSD 3.0 curses + (field_buffer returning null for a valid field). The 'r' test + appears to not work with that configuration since the new_fieldtype() + function is broken in that implementation. + +20060506 + + add hpterm-color terminfo entry -TD + + fixes to compile test-programs with HPUX 11.23 + +20060422 + + add copyright notices to files other than those that are generated, + data or adapted from pdcurses (reports by William McBrine, David + Taylor). + + improve rendering on hpterm by not resetting attributes at the end + of doupdate() if the terminal has the magic-cookie feature (report + by Bernd Rieke). + + add 256color variants of terminfo entries for programs which are + reported to implement this feature -TD + +20060416 + + fix typo in change to NewChar() macro from 20060311 changes, which + broke tab-expansion (report by Frederic L W Meunier). + +20060415 + + document -U option of tic and infocmp. + + modify tic/infocmp to suppress smacs/rmacs when acsc is suppressed + due to size limit, e.g., converting to termcap format. Also + suppress them if the output format does not contain acsc and it + was not VT100-like, i.e., a one-one mapping (Novell #163715). + + add configure check to ensure that SIGWINCH is defined on platforms + such as OS X which exclude that when _XOPEN_SOURCE, etc., are + defined (report by Nicholas Cole) + +20060408 + + modify write_object() to not write coincidental extensions of an + entry made due to it being referenced in a use= clause (report by + Alain Bench). + + another fix for infocmp -i option, which did not ensure that some + escape sequences had comparable prefixes (report by Alain Bench). + +20060401 + + improve discussion of init/reset in terminfo and tput manpages + (report by Alain Bench). + + use is3 string for a fallback of rs3 in the reset program; it was + using is2 (report by Alain Bench). + + correct logic for infocmp -i option, which did not account for + multiple digits in a parameter (cf: 20040828) (report by Alain + Bench). + + move _nc_handle_sigwinch() to lib_setup.c to make --with-termlib + option work after 20060114 changes (report by Arkadiusz Miskiewicz). + + add copyright notices to test-programs as needed (report by William + McBrine). + +20060318 + + modify ncurses.c 'F' test to combine the wide-characters with color + and/or video attributes. + + modify test/ncurses to use CTL/Q or ESC consistently for exiting + a test-screen (some commands used 'x' or 'q'). + +20060312 + + fix an off-by-one in the scrolling-region change (cf_ 20060311). + +20060311 + + add checks in waddchnstr() and wadd_wchnstr() to stop copying when + a null character is found (report by Igor Bogomazov). + + modify progs/Makefile.in to make "tput init" work properly with + cygwin, i.e., do not pass a ".exe" in the reference string used + in check_aliases (report by Samuel Thibault). + + add some checks to ensure current position is within scrolling + region before scrolling on a new line (report by Dan Gookin). + + change some NewChar() usage to static variables to work around + stack garbage introduced when cchar_t is not packed (Redhat #182024). + +20060225 + + workarounds to build test/movewindow with PDcurses 2.7. + + fix for nsterm-16color entry (patch by Alain Bench). + + correct a typo in infocmp manpage (Debian #354281). + +20060218 + + add nsterm-16color entry -TD + + updated mlterm terminfo entry -TD + + remove 970913 feature for copying subwindows as they are moved in + mvwin() (discussion with Bryan Christ). + + modify test/demo_menus.c to demonstrate moving a menu (both the + window and subwindow) using shifted cursor-keys. + + start implementing recursive mvwin() in movewindow.c (incomplete). + + add a fallback definition for GCC_PRINTFLIKE() in test.priv.h, + for movewindow.c (report by William McBrine). + + add help-message to test/movewindow.c + +20060211 + + add test/movewindow.c, to test mvderwin(). + + fix ncurses soft-key test so color changes are shown immediately + rather than delayed. + + modify ncurses soft-key test to hide the keys when exiting the test + screen. + + fixes to build test programs with PDCurses 2.7, e.g., its headers + rely on autoconf symbols, and it declares stubs for nonfunctional + terminfo and termcap entrypoints. + +20060204 + + improved test/configure to build test/ncurses on HPUX 11 using the + vendor curses. + + documented ALTERNATE CONFIGURATIONS in the ncurses manpage, for the + benefit of developers who do not read INSTALL. + +20060128 + + correct form library Window_To_Buffer() change (cf: 20040516), which + should ignore the video attributes (report by Ricardo Cantu). + +20060121 + + minor fixes to xmc-glitch experimental code: + + suppress line-drawing + + implement max_attributes + tested with xterm. + + minor fixes for the database iterator. + + fix some buffer limits in c++ demo (comment by Falk Hueffner in + Debian #348117). + +20060114 + + add toe -a option, to show all databases. This uses new private + interfaces in the ncurses library for iterating through the list of + databases. + + fix toe from 20000909 changes which made it not look at + $HOME/.terminfo + + make toe's -v option parameter optional as per manpage. + + improve SIGWINCH handling by postponing its effect during newterm(), + etc., when allocating screens. + +20060111 + + modify wgetnstr() to return KEY_RESIZE if a sigwinch occurs. Use + this in test/filter.c + + fix an error in filter() modification which caused some applications + to fail. + +20060107 + + check if filter() was called when getting the screensize. Keep it + at 1 if so (based on Redhat #174498). + + add extension nofilter(). + + refined the workaround for ACS mapping. + + make ifdef's consistent in curses.h for the extended colors so the + header file can be used for the normal curses library. The header + file installed for extended colors is a variation of the + wide-character configuration (report by Frederic L W Meunier). + +20051231 + + add a workaround to ACS mapping to allow applications such as + test/blue.c to use the "PC ROM" characters by masking them with + A_ALTCHARSET. This worked up til 5.5, but was lost in the revision + of legacy coding (report by Michael Deutschmann). + + add a null-pointer check in the wide-character version of + calculate_actual_width() (report by Victor Julien). + + improve test/ncurses 'd' (color-edit) test by allowing the RGB + values to be set independently (patch by William McBrine). + + modify test/configure script to allow building test programs with + PDCurses/X11. + + modified test programs to allow some to work with NetBSD curses. + Several do not because NetBSD curses implements a subset of X/Open + curses, and also lacks much of SVr4 additions. But it's enough for + comparison. + + update config.guess and config.sub + +20051224 + + use BSD-specific fix for return-value from cgetent() from CVS where + an unknown terminal type would be reportd as "database not found". + + make tgetent() return code more readable using new symbols + TGETENT_YES, etc. + + remove references to non-existent "tctest" program. + + remove TESTPROGS from progs/Makefile.in (it was referring to code + that was never built in that directory). + + typos in curs_addchstr.3x, some doc files (noticed in OpenBSD CVS). + +20051217 + + add use_legacy_coding() function to support lynx's font-switching + feature. + + fix formatting in curs_termcap.3x (report by Mike Frysinger). + + modify MKlib_gen.sh to change preprocessor-expanded _Bool back to + bool. + +20051210 + + extend test/ncurses.c 's' (overlay window) test to exercise overlay(), + overwrite() and copywin() with different combinations of colors and + attributes (including background color) to make it easy to see the + effect of the different functions. + + corrections to menu/m_global.c for wide-characters (report by + Victor Julien). + +20051203 + + add configure option --without-dlsym, allowing developers to + configure GPM support without using dlsym() (discussion with Michael + Setzer). + + fix wins_nwstr(), which did not handle single-column non-8bit codes + (Debian #341661). + +20051126 + + move prototypes for wide-character trace functions from curses.tail + to curses.wide to avoid accidental reference to those if + _XOPEN_SOURCE_EXTENDED is defined without ensuring that is + included. + + add/use NCURSES_INLINE definition. + + change some internal functions to use int/unsigned rather than the + short equivalents. + +20051119 + + remove a redundant check in lib_color.c (Debian #335655). + + use ld's -search_paths_first option on Darwin to work around odd + search rules on that platform (report by Christian Gennerat, analysis + by Andrea Govoni). + + remove special case for Darwin in CF_XOPEN_SOURCE configure macro. + + ignore EINTR in tcgetattr/tcsetattr calls (Debian #339518). + + fix several bugs in test/bs.c (patch by Stephen Lindholm). + +20051112 + + other minor fixes to cygwin based on tack -TD + + correct smacs in cygwin (Debian #338234, report by Baurzhan + Ismagulov, who noted that it was fixed in Cygwin). + +20051029 + + add shifted up/down arrow codes to xterm-new as kind/kri strings -TD + + modify wbkgrnd() to avoid clearing the A_CHARTEXT attribute bits + since those record the state of multicolumn characters (Debian + #316663). + + modify werase to clear multicolumn characters that extend into + a derived window (Debian #316663). + +20051022 + + move assignment from environment variable ESCDELAY from initscr() + down to newterm() so the environment variable affects timeouts for + terminals opened with newterm() as well. + + fix a memory leak in keyname(). + + add test/demo_altkeys.c + + modify test/demo_defkey.c to exit from loop via 'q' to allow + leak-checking, as well as fix a buffer size in winnstr() call. + +20051015 + + correct order of use-clauses in rxvt-basic entry which made codes for + f1-f4 vt100-style rather than vt220-style (report by Gabor Z Papp). + + suppress configure check for gnatmake if Ada95/Makefile.in is not + found. + + correct a typo in configure --with-bool option for the case where + --without-cxx is used (report by Daniel Jacobowitz). + + add a note to INSTALL's discussion of --with-normal, pointing out + that one may wish to use --without-gpm to ensure a completely + static link (prompted by report by Felix von Leitner). 20051010 5.5 release for upload to ftp.gnu.org @@ -87,9 +658,9 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + move modules related to key-binding into libtinfo to fix linkage problem caused by 20050430 changes to MKkeyname.sh (report by Konstantin Andreev). - + 20050723 - + updates/fixes for configure script macros from vile. + + updates/fixes for configure script macros from vile -TD + make prism9's sgr string agree with the rest of the terminfo -TD + make vt220's sgr0 string consistent with sgr string, do this for several related cases -TD @@ -181,7 +752,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + correct a missing assignment in c++ binding's method NCursesPanel::UserPointer() from 20050409 changes. + improve configure check for large-files, adding check for dirent64 - from vile. + from vile -TD + minor change to configure script to improve linker options for the Ada95 tree. @@ -189,7 +760,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + document error conditions for ncurses library functions (report by Stanislav Ievlev). + regenerated html documentation for ada binding. - see ftp://invisible-island.net/ncurses/patches/gnathtml + see ftp://invisible-island.net/ncurses/patches/gnathtml 20050507 + regenerated html documentation for manpages. @@ -257,7 +828,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + amend change from 20050320 to limit it to configurations with a valid locale. + fix a bug introduced in 20050320 which broke the translation of - nonprinting characters to uparrow form (report by TAKAHASHI Tamotsu). + nonprinting characters to uparrow form (report by Takahashi Tamotsu). 20050326 + add ifdef's for _LP64 in curses.h to avoid using wasteful 64-bits for @@ -266,7 +837,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + update misc/shlib script to account for Mac OS X (report by Michail Vidiassov). + correct comparison for wrapping multibyte characters in - waddch_literal() (report by TAKAHASHI Tamotsu). + waddch_literal() (report by Takahashi Tamotsu). 20050320 + add -c and -w options to tset to allow user to suppress ncurses' @@ -274,7 +845,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. is not able to detect the true size (report by Win Delvaux, Debian #300419). + modify waddch_nosync() to account for locale zn_CH.GBK, which uses - codes 128-159 as part of multibyte characters (report by WANG + codes 128-159 as part of multibyte characters (report by Wang WenRui, Debian #300512). 20050319 @@ -306,8 +877,8 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + modified xterm-new terminfo entry to work with tgetent() changes -TD + extended changes in tgetent() from 20040710 to allow the substring of sgr0 which matches rmacs to be at the beginning of the sgr0 string - (request by Thomas Wolff, who says the visual effect in combination - with pre-20040710 ncurses is improved). + (request by Thomas Wolff). Wolff says the visual effect in + combination with pre-20040710 ncurses is improved. + fix off-by-one in winnstr() call which caused form field validation of multibyte characters to ignore the last character in a field. + correct logic in winsch() for inserting multibyte strings; the code @@ -348,7 +919,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + merge remaining development changes for extended colors (mostly complete, does not appear to break other configurations). + add xterm-88color.dat (part of extended colors testing). - + improve _tracedump() handling of color pairs past 96. + + improve _tracedump() handling of color pairs past 96. + modify return-value from start_color() to return OK if colors have already been started. + modify curs_color.3x list error conditions for init_pair(), @@ -390,8 +961,8 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + merge some development changes to extend color capabilities. + fix manpage typo (FreeBSD report docs/75544). + update config.guess, config.sub - > patches by Albert Chin-A-Young (for configure script): - + improved fix to make mbstate_t recognized on HPUX 11i (cf: + > patches for configure script (Albert Chin-A-Young): + + improved fix to make mbstate_t recognized on HPUX 11i (cf: 20030705), making vsscanf() prototype visible on IRIX64. Tested for on HP-UX 11i, Solaris 7, 8, 9, AIX 4.3.3, 5.2, Tru64 UNIX 4.0D, 5.1, IRIX64 6.5, Redhat Linux 7.1, 9, and RHEL 2.1, 3.0. @@ -834,10 +1405,10 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + add terminfo entries for SFU aka Interix aka OpenNT (Federico Bianchi). + modify tput's error messages to prefix them with the program name - (report by Vincent Lefevre, patch by Daniel Jacobowitz, Debian - #227586). + (report by Vincent Lefevre, patch by Daniel Jacobowitz (see Debian + #227586)). + correct a place in tack where exit_standout_mode was used instead of - exit_attribute_mode (patch by Jochen Voss, Debian #224443). + exit_attribute_mode (patch by Jochen Voss (see Debian #224443)). + modify c++/cursesf.h to use const in the Enumeration_Field method. + remove an ambiguous (actually redundant) method from c++/cursesf.h + make $HOME/.terminfo update optional (suggested by Stanislav Ievlev). @@ -1017,7 +1588,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. with a zero as the minor-version value (request by Chris Zubrzycki). + modify CF_MIXEDCASE_FILENAMES macro to work with cross-compiling. + modify tack to allow it to run from fallback terminfo data. - > Philippe Blain: + > patch by Philippe Blain: + improve PutRange() by adjusting call to EmitRange() and corresponding return-value to not emit unchanged characters on the end of the range. @@ -1027,7 +1598,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. in the clr_bol logic. 20030913 - > Philippe Blain: + > patch by Philippe Blain: + in ncurses/tty/lib_mvcur.c, move the label 'nonlocal' just before the second gettimeofday() to be able to compute the diff time when 'goto nonlocal' used. @@ -1058,7 +1629,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. --with-install-prefix is used. 20030823 - > Philippe Blain: + > patch by Philippe Blain: + move assignments to SP->_cursrow, SP->_curscol into online_mvcur(). + make baudrate computation in delay_output() consistent with the assumption in _nc_mvcur_init(), i.e., a byte is 9 bits. @@ -1070,7 +1641,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + improve storage used by _nc_safe_strcpy() by ensuring that the size is reset based on the initialization call, in case it were called after other strcpy/strcat calls (report by Philippe Blain). - > Philippe Blain: + > patch by Philippe Blain: + remove an unused ifdef for REAL_ATTR & WANT_CHAR + correct a place where _cup_cost was used rather than _cuu_cost @@ -1086,7 +1657,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. 20030802 + modify casts used for ABSENT_BOOLEAN and CANCELLED_BOOLEAN (report by Daniel Jacobowitz). - > Philippe Blain: + > patch by Philippe Blain: + change padding for change_scroll_region to not be proportional to the size of the scroll-region. + correct error-return in _nc_safe_strcat(). @@ -1139,7 +1710,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. get mbstate_t declaration on HPUX 11.11 (report by David Ellement). + add _nc_pathlast() to get rid of casts in _nc_basename() calls. + correct a sign-extension in wadd_wch() and wecho_wchar() from - 20030628 (report by Tomohiro KUBOTA). + 20030628 (report by Tomohiro Kubota). + work around omission of btowc() and wctob() from wide-character support (sic) in NetBSD 1.6 using mbtowc() and wctomb() (report by Gabor Z Papp). @@ -1153,7 +1724,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + remove logic from waddnstr() which transformed multibyte character strings into wide-characters. Rewrite of waddch_literal() from 20030621 assumes its input is raw multibyte data rather than wide - characters (report by Tomohiro KUBOTA). + characters (report by Tomohiro Kubota). 20030621 + write getyx() and related 2-return macros in terms of getcury(), @@ -1161,7 +1732,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + modify waddch_literal() in case an application passes bytes of a multibyte character directly to waddch(). In this case, waddch() must reassemble the bytes into a wide-character (report by Tomohiro - KUBOTA ). + Kubota ). 20030614 + modify waddch_literal() in case a multibyte value occupies more than @@ -1364,7 +1935,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. results (reports by Gerben Wierda and Thomas Esser ). + do not try to open gpm mouse driver if standard output is not a tty; - the gpm library does not make this check (from bug report for dialog + the gpm library does not make this check (bug report for dialog by David Oliveira ). 20030125 @@ -1391,8 +1962,8 @@ Changes since 1.9.9e are recorded by Thomas Dickey. Polterak). + change several sed scripts to avoid using "\+" since it is not a BRE (basic regular expression). One instance caused terminfo.5 to be - misformatted on FreeBSD (from a FreeBSD bug report by Kazuo Horikawa - ). + misformatted on FreeBSD (report by Kazuo Horikawa + (see FreeBSD docs/46709)). + correct misspelled 'wint_t' in curs_get_wch.3x (Michael Elkins). 20030105 @@ -1403,7 +1974,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. specialized type for the middle initial/name. + fix MKterminfo.sh, another workaround for POSIXLY_CORRECT misfeature of sed 4.0 - > Philippe Blain: + > patch by Philippe Blain: + optimize can_clear_with() a little by testing first if the parameter is indeed a "blank". + simplify ClrBottom() a little by allowing it to use clr_eos to clear @@ -1430,14 +2001,14 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + correct line/column reference in adjust_window(), needed to make special windows such as curscr track properly when resizing (report by Lucas Gonze ). - > Philippe Blain: + > patch by Philippe Blain: + correct the value used for blank in ClrBottom() (broken in 20000708). + correct an off-by-one in GoTo() parameter in _nc_scrolln(). 20021221 + change several tputs() calls in scrolling code to use putp(), to enable padding which may be needed for some terminals (patch by - by Philippe Blain). + Philippe Blain). + use '%' as sed substitute delimiter in run_tic script to avoid problems with pathname delimiters such as ':' and '@' (report by John Polterak). @@ -1626,7 +2197,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + documented getbegx(), etc. + minor fixes to configure script to use '%' consistently as a sed delimiter rather than '@'. - > Philippe Blain: + > patch by Philippe Blain: + add check in lib_overlay.c to ensure that the windows to be merged actually overlap, and in copywin(), limit the area to be touched to the lines given for the destination window. @@ -1640,7 +2211,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. pads (request by Philippe Blain). + correct attribute-merging in wborder(), broken in 20020216 (report by Tomasz Wasiak ). - > Philippe Blain: + > patch by Philippe Blain: + corrected pop-counts in tparam_internal() to '!' and '~' cases. + use sizeof(NCURSES_CH_T) in one place that used sizeof(chtype). + remove some unused variables from mvcur test-driver. @@ -1654,7 +2225,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + fix mismatched enums in vsscanf.c, which caused warning on Solaris. + update README.emx to reflect current patch used for autoconf. + change web- and ftp-site to invisible-island.net - > Philippe Blain: + > patch by Philippe Blain: + change case for 'P' in tparam_internal() to indicate that it pops a variable from the stack. + correct sense of precision and width in parse_format(), to avoid @@ -1683,7 +2254,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. (adapted from patch by Ilya Zakharevich - see ncurses/README.IZ). + amend check in kgetch() from 20020824 to look only for function-keys, otherwise escape sequences are not resolved properly. - > Philippe Blain: + > patch by Philippe Blain: + removed redundant assignment to SP->_checkfd from newterm(). + check return-value of setupterm() in restartterm(). + use sizeof(NCURSES_CH_T) in a few places that used sizeof(chtype). @@ -1922,7 +2493,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. 20020406 + modified several of the test programs to allow them to compile with - vendor curses implementations (Solaris, AIX). + vendor curses implementations, e.g., Solaris, AIX -TD 20020323 + modified test/configure to allow configuring against ncursesw. @@ -2024,7 +2595,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. to rename manpages, broken in 20010324 fix for Debian #89939 (Debian #78866). + remove -L$(libdir) from linker flags, probably not needed any more - since HPUX is handled properly (reported by NIIBE Yutaka + since HPUX is handled properly (reported by Niibe Yutaka ). + add configure check for mbstate_t, needed for wide-character configuration. On some platforms we must include to @@ -2557,7 +3128,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + add a missing pathname for ncurses_dll.h, needed when building in a directory outside the source tree (patch by Sven Verdoolaege ). - > fix 2 bugs in test/bs.c (patch by Erik Sigra ): + > fix 2 bugs in test/bs.c Erik Sigra : + no ships were ever placed in the last row or in the last column. This made the game very easy to win, because you never had to waste any shots there, but the computer did. @@ -2571,7 +3142,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + modify screen's terminfo entry to match the khome/kend in screen 3.09.08 (Debian bug report #92215). + correct a memory leak in forms library (report by Stefan Vogtner - , patch by Juergen Pfeifer). + ) (patch by Juergen Pfeifer). 20010324 + change symbols used to guard against repeated includes to begin @@ -2686,7 +3257,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + add ncurses_dll.h and related definitions to support generating DLL's with cygwin (adapted from a patch by Charles Wilson , changed NCURSES_EXPORT macro to make it - work with 'indent'). + work with 'indent') -TD 20001202 + correct prototypes for some functions in curs_termcap.3x, matching @@ -2816,12 +3387,12 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + correct logic for 'reverse' variable in lib_vidattr.c, which was setting it true without checking if newmode had A_REVERSE set, e.g., using $TERM=ansi on OS/2 EMX (see 20000917). - > patch by Todd Miller: + > patch by Todd C Miller: + add a few missing use_terminfo_vars() and fixes up _nc_tgetent(). Previously, _nc_cgetset() would still get called on cp so the simplest thing is to set cp to NULL if !use_terminfo_vars(). + added checks for an empty $HOME environment variable. - > patches by Ilya Zakharevich for OS/2 EMX: + > patches for OS/2 EMX (Ilya Zakharevich): + modify convert_configure.pl to support INSTALL. Change compiler options in that script to use multithreading, needed for the mouse. + modify OS/2 mouse support, retrying as a 2-button mouse if code fails @@ -2878,9 +3449,9 @@ Changes since 1.9.9e are recorded by Thomas Dickey. 20000923 + modify rs2 capability in xterm-r6 and similar where cursor - save/restore bracketed the sequence for resetting video attributes. - The cursor restore would undo that (from a NetBSD bug report by John - Hawkinson ). + save/restore bracketed the sequence for resetting video attributes. + The cursor restore would undo that (report by John Hawkinson + (see NetBSD misc/11052)). + using parameter check added to tic, corrected 27 typos in terminfo.src -TD + modify tic to verify that its inputs are really files, in case @@ -3169,8 +3740,8 @@ Changes since 1.9.9e are recorded by Thomas Dickey. the subwindow's background color cover the subwindow. + modify configure script so AC_MSG_ERROR is temporarily defined to a warning in AC_PROG_CXX to make it recover from a missing C++ compiler - without requiring user to add --without-cxx option (from comment by - Akim Demaille to autoconf mailing list). + without requiring user to add --without-cxx option (adapted from + comment by Akim Demaille to autoconf mailing list). + modify headers.sh to avoid creating temporary files in the build directory when installing headers (reported by Sergei Pokrovsky ) @@ -3184,8 +3755,8 @@ Changes since 1.9.9e are recorded by Thomas Dickey. if -fPIC is supported by gcc rather than -fpic. The former option allows larger symbol tables. + update config.guess and config.sub (patches by - Kevin Buettner for elf64_ia64 - Bernd Kuemmerlen and MacOS X). + Kevin Buettner (for elf64_ia64), + Bernd Kuemmerlen (for MacOS X)). + add warning for 'tic -cv' about use of '^?' in terminfo source, which is an extension. @@ -3213,13 +3784,13 @@ Changes since 1.9.9e are recorded by Thomas Dickey. LANG contain the string "UTF-8", this driver will be used to translate the output to UTF-8. This works with XFree86 xterm. + modify configure script to allow building shared libraries on BeOS - (from a patch by by Valeriy E Ushakov). + (from a patch by Valeriy E Ushakov). + modify lib_addch.c to allow repeated update to the lower-right corner, rather than displaying only the first character written until the cursor is moved. Recent versions of SVr4 curses can update the lower-right corner, and behave this way (reported by Neil Zanella). + add a limit-check in _nc_do_color(), to avoid using invalid color - pair value (from bug report by Brendan O'Dea ). + pair value (report by Brendan O'Dea ). 20000513 + the tack program knows how to use smcup and rmcup but the "show caps @@ -3273,10 +3844,10 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + corrections/updates for some IBM terminfo entries -TD + modify _nc_screen_wrap() so that when exiting curses mode with non-default colors, the last line on the screen will be cleared to - the screen's default colors (request by Alexander Lukyanov). + the screen's default colors (request by Alexander V Lukyanov). + modify ncurses.c 'r' example to set nonl(), allowing control/M to be read for demonstrating the REQ_NEW_LINE operation (prompted by a - question by Tony L Keith" ). + question by Tony L Keith ). + modify ncurses.c 'r' example of field_info() to work on Solaris 2.7, documented extension of ncurses which allows a zero pointer. + modify fmt_complex() to avoid buffer overflow in case of excess @@ -3311,7 +3882,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + improve logic in _nc_do_color() implementing assume_default_colors() by passing in previous color pair info to eliminate redundant call to set_original_colors(). (Part of this is from a patch by Alexander - Lukyanov). + V Lukyanov). + modify warning in _nc_trans_string() about a possibly too-long string to do this once only rather than for each character past the threshold (600). Change interface of _nc_trans_string() to allow @@ -3330,7 +3901,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. 20000318 + revert part of the vt220 change (request by Todd C Miller). - + add ansi-* terminfo entries from Eric's version. + + add ansi-* terminfo entries from ESR's version. + add -a option to tic and infocmp, which retains commented-out capabilities during source translation/comparison, e.g., captoinfo and infotocap. @@ -3359,9 +3930,9 @@ Changes since 1.9.9e are recorded by Thomas Dickey. keeping the existing format as the default, though not retaining the previous behavior that made the -F option compare each entry to itself. - + adapted patch by Eric Raymond to make infocmp -F less verbose + + adapted patch by ESR to make infocmp -F less verbose -TD (the submitted patch was unusable because it did not compile - properly): + properly) + modify write_entry.c to ensure that absent or cancelled booleans are written as FALSE, for consistency with infocmp which now assumes this. Note that for the small-core configuration, tic @@ -3427,8 +3998,8 @@ Changes since 1.9.9e are recorded by Thomas Dickey. 20000219 + store default-color code consistently as C_MASK, even if given as - -1 for convenience (adapted from patches by Alexander Lukyanov). - > patches by Alexander Lukyanov: + -1 for convenience (adapted from patches by Alexander V Lukyanov). + > patches by Alexander V Lukyanov: + change can_clear_with() macro to accommodate logic for assume_default_colors(), making most of the FILL_BCE logic unnecessary. Made can_clear_with() an inline function to make it @@ -3437,7 +4008,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. 20000212 + corrected form of recent copyright dates. + minor corrections to xterm-xf86-v333 terminfo entry -TD - > patches by Alexander Lukyanov: + > patches by Alexander V Lukyanov: + reworded dft_fgbg.3x to avoid assuming that the terminal's default colors are white on black. + fix initialization of tstLine so that it is filled with current blank @@ -3460,7 +4031,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + correct CF_MATH_LIB parameter, must be sin(x), not sqrt(x). 20000122 - + resync CF_CHECK_ERRNO and CF_LIB_PREFIX macros from tin and xterm. + + resync CF_CHECK_ERRNO and CF_LIB_PREFIX macros from tin and xterm -TD + modify CF_MATH_LIB configure macro to parameterize the test function used, for reuse in dialog and similar packages. + correct tests for file-descriptors in OS/2 EMX mouse support. A @@ -3513,12 +4084,12 @@ Changes since 1.9.9e are recorded by Thomas Dickey. found an incomplete entry such as "dumb" because it did not initialize its buffer for _nc_read_file_entry(). + use -fPIC rather than -fpic for shared libraries on Linux, not - needed for i386 but some ports (from Debian diffs for 5.0). + needed for i386 but some ports (from Debian diffs for 5.0) -TD + use explicit VALID_NUMERIC() checks in a few places that had been overlooked, and add a check to ensure that init_tabs is nonzero, to avoid divide-by-zero (reported by Todd C Miller). + minor fix for CF_ANSI_CC_CHECK configure macro, for HPUX 10.x (from - tin). + tin) -TD 19991218 + reorder tests during mouse initialization to allow for gpm to run in @@ -3688,10 +4259,10 @@ Changes since 1.9.9e are recorded by Thomas Dickey. 991002 pre-release + minor fixes for _nc_msec_cost(), color_content(), pair_content(), _nc_freewin(), ClrBottom() and onscreen_mvcur() (analysis by Philippe - Blain, comments by Alexander Lukyanov). + Blain, comments by Alexander V Lukyanov). + simplify definition of PANEL and eliminate internal functions _nc_calculate_obscure(), _nc_free_obscure() and _nc_override(), - (patch by Juergen Pfeifer, based on analysis by Philippe Blain + (patch by Juergen Pfeifer, analysis by Philippe Blain )). + change renaming of dft_fgbg.3x to use_default_colors.3ncurses in man_db.renames, since Debian is not concerned with 14-character @@ -3730,8 +4301,8 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + add top-level uninstall.data and uninstall.man makefile rules. + correct logic of CF_LINK_FUNCS configure script, from BeOS changes so that hard-links work on Unix again. - + change default value of cf_cv_builtin_bool to 1 as suggested by - Jeremy Buhler, making it less likely that a conflicting declaration + + change default value of cf_cv_builtin_bool to 1 (suggested by + Jeremy Buhler), making it less likely that a conflicting declaration of bool will be seen when compiling with C++. 990911 pre-release @@ -3754,9 +4325,9 @@ Changes since 1.9.9e are recorded by Thomas Dickey. for libg++, since qt uses the same filename incompatibly. + correct logic of lib_termcap.c tgetstr function, which did not copy the result to the buffer parameter. Testing shows Solaris does - update this, though of course tgetent's buffer is untouched (from - mpc.lists.freebsd.current newsgroup item by Peter Edwards - ). + update this, though of course tgetent's buffer is untouched (reported + in Peter Edwards in + mpc.lists.freebsd.current newsgroup. + corrected beterm terminfo entry, which lists some capabilities which are not actually provided by the BeOS Terminal. + add special logic to replace select() calls on BeOS, whose select() @@ -3889,10 +4460,10 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + fix some compiler warnings in tack. + add a check for predefined bool type in CC, based on report that BeOS predefines a bool type. - + correct logic for infocmp -e option (i.e., the configure - --with-fallbacks option), which I'd not updated when implementing - extended names (cf: 990301). The new implementation adds a -E - option to infocmp. + + correct logic for infocmp -e option, i.e., the configure + --with-fallbacks option, which I'd not updated when implementing + extended names (cf: 990301). The new implementation adds a "-E" + option to infocmp -TD > patch by Juergen Pfeifer: + introduce the private type Curses_Bool in the Ada95 binding implementation. This is to clearly represent the use of "bool" also @@ -3921,8 +4492,8 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + add a null-pointer check for SP in lib_vidattr.c to logic that checks for magic cookies. + improve fallback declaration of 'bool' when the --without-cxx option - is given, by using a 'char' on i386 and related hosts (from - discussion with Alexander Lukyanov). + is given, by using a 'char' on i386 and related hosts (prompted by + discussion with Alexander V Lukyanov). 990605 pre-release + include time.h in lib_napms.c if nanosleep is used (patch by @@ -3990,7 +4561,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + add sigismember() to base/sigaction.c compatibility to link on NeXT (reported by Francisco A. Tomei Torres). + further refinements to inequality in hashmap.c to cover a case with - ^U in nvi (patch by Alexander Lukyanov). + ^U in nvi (patch by Alexander V Lukyanov). 990316 pre-release + add fallback definition for getcwd, to link on NeXT. @@ -3998,12 +4569,12 @@ Changes since 1.9.9e are recorded by Thomas Dickey. (reported by Francisco A. Tomei Torres). + change inequality in hashmap.c which checks the distance traveled by a chunk so that ^D command in nvi (scrolls 1/2 screen) will use - scrolling logic (patch by Alexander Lukyanov, reported by Jeffrey + scrolling logic (patch by Alexander V Lukyanov, reported by Jeffrey C Honig). 990314 pre-release + modify lib_color.c to handle a special case where the curscr - attributes have been made obsolete (patch by Alexander Lukyanov). + attributes have been made obsolete (patch by Alexander V Lukyanov). + update BSD/OS console terminfo entries to use klone+sgr and klone+color (patch by Jeffrey C Honig). + update glibc addon configure script for extended capabilities. @@ -4015,7 +4586,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + correct typos in linux-c initc string - TD + add 'crt' terminfo entry, update xterm-xfree86 entry - TD + remove a spurious argument to tparm() in lib_sklrefr.c (patch by - Alexander Lukyanov). + Alexander V Lukyanov). 990307 pre-release + back-out change to wgetch because it causes a problem with ^Z @@ -4056,7 +4627,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + modify define_key() to allow multiple strings to be bound to the same keycode. + correct logic error in _nc_remove_string, from 990220. - > patch by Juergen Pfeifer, for Ada95 binding: + > patch for Ada95 binding (Juergen Pfeifer): + regenerate some of the html documentation + minor cleanup in terminal_interface-curses.adb @@ -4077,8 +4648,8 @@ Changes since 1.9.9e are recorded by Thomas Dickey. comp_parse.c into the tic program. + add/use _nc_trace_tries() to show the function keys that will be recognized. - + rename init_acs to _nc_init_acs (request by Alexander Lukyanov). - > patch by Juergen Pfeifer, for Ada95 binding: + + rename init_acs to _nc_init_acs (request by Alexander V Lukyanov). + > patch for Ada95 binding (Juergen Pfeifer): + remove all the *_adabind.c from ncurses, menu and form projects. Those little helper routines have all been implemented in Ada and are no longer required. @@ -4105,7 +4676,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. in smcup/rmcup. This affects only scrolling optimization, to fix a problem reported by several people with xterm's alternate screen, though the problem is more general. - > patch by Juergen Pfeifer, for Ada95 binding: + > patch for Ada95 binding (Juergen Pfeifer): + removed all pragma Preelaborate() stuff, because the just released gnat-3.11p complains on some constructs. + fixed some upper/lower case notations because gnat-3.11p found @@ -4116,17 +4687,17 @@ Changes since 1.9.9e are recorded by Thomas Dickey. 990130 + cache last result from _nc_baudrate, for performance (suggested by - Alexander Lukyanov). + Alexander V Lukyanov). + modify ClrUpdate() function to workaround a problem in nvi, which uses redrawwin in SIGTSTP handling. Jeffrey C Honig reported that ncurses repainted the screen with nulls before resuming normal - operation (patch by Alexander Lukyanov). + operation (patch by Alexander V Lukyanov). + generalize is_xterm() function a little by letting xterm/rxvt/kterm be any substring rather than the prefix. + modify lib_data.c to initialize SP. Some linkers, e.g., IBM's, will not link a module if the only symbols exported from the module are - uninitialized ones (patch by Ilya Zakharevich, who says that he has - seen messages claiming this behaviour conforms to the standard.) + uninitialized ones (patch by Ilya Zakharevich). Ilya says that he + has seen messages claiming this behavior conforms to the standard.) + move call on _nc_signal_handler past _nc_initscr, to avoid a small window where Nttyb hasn't yet been filled (reported by Klaus Weide). + modify lib_tstp.c to block SIGTTOU when handling SIGTSTP, fixes a @@ -4175,7 +4746,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + reviewed/corrected macros in curses.h as per XSI document. + provide support for termcap PC variable by copying it from terminfo data and using it as the padding character in tputs (reported by - Alexander Lukyanov). + Alexander V Lukyanov). + corrected iris-ansi and iris-ansi-ap terminfo entries for kent and kf9-kf12 capabilities, as well as adding kcbt. + document the mouse handling mechanism in menu_driver and make a small @@ -4194,7 +4765,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. 990102 + disable scroll hints when hashmap is enabled (patch by Alexander - Lukyanov). + V Lukyanov). + move logic for tic's verify of -e option versus -I and -C so that the terminfo data is not processed if we cannot handle -e (reported by Steven Schwartz . @@ -4205,8 +4776,8 @@ Changes since 1.9.9e are recorded by Thomas Dickey. set ospeed, the library behaves as before, except that _nc_timed_wait is no longer used, or needed, since ospeed always has a value. But the application can modify ospeed to adjust the output of padding - characters (from a bug report for screen 3.7.6 and email from Michael - Schroeder ). + characters (prompted by a bug report for screen 3.7.6 and email from + Michael Schroeder ). + removed some unused ifdef's as part of Alexander's restructuring. + reviewed/updated curses.h, term.h against X/Open Curses Issue 4 Version 2. This includes making some parameters NCURSES_CONST @@ -4231,8 +4802,8 @@ Changes since 1.9.9e are recorded by Thomas Dickey. 981219 + modify _nc_set_writedir() to set a flag in _nc_tic_dir() to prevent it from changing the terminfo directory after chdir'ing to it. - Otherwise, a relative path in $TERMINFO would confuse tic (from a - Debian bug report). + Otherwise, a relative path in $TERMINFO would confuse tic (prompted + by a Debian bug report). + correct/update ncsa terminfo entry (report by Larry Virden). + update xterm-xfree86 terminfo to current (patch 90), smcur/rmcur changes @@ -4319,9 +4890,9 @@ Changes since 1.9.9e are recorded by Thomas Dickey. 981114 + modify install-script for manpages to skip over .orig and .rej files (request by Larry Virden). - > patches/discussion by Alexander Lukyanov: + > patches/discussion by Alexander V Lukyanov: + move base-library sources into ncurses/base and tty (serial terminal) - sources into ncurses/tty, as part of Alexander Lukyanov's proposed + sources into ncurses/tty, as part of Alexander V Lukyanov's proposed changes to ncurses library. + copy _tracemouse() into ncurses.c so that lib_tracemse.c need not be linked into the normal ncurses library. @@ -4337,8 +4908,8 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + ifdef'd out lib_freeall.c when not configured. + rename _tracebits() to _nc_tracebits(). + move terminfo-library sources into ncurses/tinfo, and trace-support - functions into ncurses/trace as part of Alexander Lukyanov's proposed - changes to ncurses library. + functions into ncurses/trace as part of Alexander V Lukyanov's + proposed changes to ncurses library. + modify generated term.h to always specify its own definitions for HAVE_TERMIOS_H, etc., to guard against inclusion by programs with broken configure scripts. @@ -4464,7 +5035,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + add xtermm and xtermc terminfo entries. > from esr's terminfo version: + Added Francesco Potorti's tuned Wyse 99 entries. - + dtterm enacs correction from Alexander V Lukyanov. + + dtterm enacs (from Alexander V Lukyanov). + Add ncsa-ns, ncsa-m-ns and ncsa-m entries from esr version. 980822 @@ -4650,9 +5221,8 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + put -L$(libdir) first when linking programs, except for HP-UX. + modify comp_scan.c to handle SVr4 terminfo description for att477, which contains a colon in the description field. - + modify configure script to support SCO osr5.0.5 shared libraries - (from comp.unix.sco.programmer newsgroup item by Mike Hopkirk - ). + + modify configure script to support SCO osr5.0.5 shared libraries, + from comp.unix.sco.programmer newsgroup item (Mike Hopkirk). + eliminate extra GoTo call in lib_doupdate.c (patch by Alexander V. Lukyanov). + minor adjustments of const/NCURSES_CONST from IRIX compile. @@ -4740,7 +5310,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. 980321 + revise configure macro CF_SPEED_TYPE so that termcap.h has speed_t declared (from Adam J. Richter ) - + remove spurious curs_set() call from leaveok() (J.T.Conklin). + + remove spurious curs_set() call from leaveok() (J T Conklin). + corrected handling leaveok() in doupdate() (patch by Alexander V. Lukyanov). + improved version of wredrawln (patch by Alexander V. Lukyanov). @@ -4771,7 +5341,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + modify some man-pages so no '.' or '..' falls between TH and SH macros, to accommodate man_db program (reported by Ian T. Zimmerman ). - + terminfo.src 10.2.1 from Eric's webpage. + + terminfo.src 10.2.1 downloaded from ESR's webpage (ESR). > several changes by Juergen Pfeifer: + add copyright notices (and rcs id's) on remaining man-pages. + corrected prototypes for slk_* functions, using chtype rather than @@ -4794,7 +5364,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. 980302 4.2 release for upload to prep.ai.mit.edu + correct Florian's email address in ncurses-intro.html - + terminfo.src 10.2.0 from Eric. + + terminfo.src 10.2.0 (ESR). 980228 pre-release + add linux-koi8r replace linux-koi8, which is not KOI8 (patch by @@ -4835,8 +5405,8 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + modify Makefile.glibc so that $(objpfx) is defined (H.J.Lu). + ifdef-out true-return from _nc_mouse_inline() which depends on merge of QNX patch (pending 4.2 release). - > patch by J.T.Conklin, to split off seldom-used modules in ncurses - (reduces size by up to 2.6kb): + > patch to split off seldom-used modules in ncurses (J T Conklin): + This reduces size by up to 2.6kb. + move functionality of _nc_usleep into napms, add configuration case for nanosleep(). + moved wchgat() from lib_addch.c to lib_chgat.c @@ -4909,7 +5479,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + progs/infocmp.c: workaround mwcc 32k function data limit 980117 - + correct initialization of color-pair (from 970524) in xmas.c, which + + correct initialization of color-pair (cf: 970524) in xmas.c, which was using only one color-pair for all colors (reported by J.J.G.Ripoll). + add multithread options for objects build on EMX, for compatibility @@ -4954,11 +5524,11 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + add a copy of emx.src from J.J.G.Ripoll's OS/2 EMX version of ncurses 1.9.9e, together with fixes/additions for the "ansi" terminal type. + add tic check for save/restore cursor if change_scroll_region is - defined (from O'Reilly book). + defined (reference: O'Reilly book). + modify read_termcap.c to handle EMX-style pathnames (reported by J.J.G.Ripoll). - + modify lib_raw.c to use EMX's setmode (from J.J.G.Ripoll, who says - EMX's curses does this). + + modify lib_raw.c to use EMX's setmode (patch from J.J.G.Ripoll). + Ripoll says EMX's curses does this. + modify _nc_tic_expand() to generate \0 rather than \200. + move/revise 'expand()' from dump_entry.c to ncurses library as _nc_tic_expand(), for use by tack. @@ -4977,7 +5547,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. 971227 + modify open/fopen calls to use binary mode, needed for EMX. + modify configure script to work with autoconf 2.10 mods for OS/2 - EMX from J.J.G.Ripoll. + EMX (from J.J.G.Ripoll). + generated ncurses_cfg.h with patch (971222) to autoconf 2.12 which bypasses limited sed buffer length. > several changes from Juan Jose Garcia Ripoll @@ -5085,18 +5655,18 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + replace test for SCO with more precise header tests. + add configure test for unsigned literals, use in NCURSES_BITS macro. + comment-out the -PIC, etc., flags from c++, progs and test makefiles - since they probably are not needed, and are less efficient (noted by. - Ju"rgen Fluk) + since they probably are not needed, and are less efficient (noted by + Juergen Fluk) + add -L$(libdir) to loader options, after -L../lib so that loaders that record this information will tend to do the right thing if - the programs are moved around after installing them (suggested by. - Ju"rgen Fluk). + the programs are moved around after installing them (suggested by + Juergen Fluk). + add -R option to loader options for programs for Solaris if the --enable-rpath option is specified for the libraries. 971112 + correct installed filename for shared libraries on *BSD (reported by - Ju"rgen Fluk). + Juergen Fluk). 971108 + cleanup logic for deciding when tputs() should call delay_output(), @@ -5160,7 +5730,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. than uname, which is unreliable on some systems. + updated Makefile.glibc, test-built with glibc 2.0.5c + modify keyname() to return values consistent with SVr4 curses (patch - by Ju"rgen Fluk). + by Juergen Fluk). > changes requested by Daniel Weaver: + modify delay_output() so that it uses the same output function as tputs() if called from that function. @@ -5214,8 +5784,8 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + install C++ binding as -lncurses++ and associated headers with the other ncurses headers. + fix header uninstall if configure --srcdir is used. - > minor interface changes (request by Daniel Weaver , - to support 'tack' program): + > minor interface changes to support 'tack' program -TD + (request by Daniel Weaver ). + export functions _nc_trans_string() and _nc_msec_cost(). + add variable _nc_nulls_sent, to record the number of padding characters output in delay_output(). @@ -5226,7 +5796,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + modify ClrBottom() to avoid using clr_eos if there is only one line to erase. + typo in configure --help. - > patch by J.T.Conklin (with minor resync against Juergen's changes) + > patch by J T Conklin (with minor resync against Juergen's changes) + split-out lib_flash.c from lib_beep.c + split-out lib_hline.c and lib_vline.c from lib_box.c + split-out lib_wattron.c, lib_wattroff.c from lib_addch.c @@ -5393,7 +5963,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + Modified lib_bkgd.c: hopefully correct implementation of wbkgdset(); streamlined implementation of wbkgd() + Modified lib_mvwin.c: Disable move of a pad. Implement (costly) - move of subwindows. Fixed update behaviour of movements of regular + move of subwindows. Fixed update behavior of movements of regular windows. + Fixed lib_pad.c: make chtype argument of pechochar() const. + Fixed lib_window.c: dupwin() is not(!) in every bit a really clone @@ -5547,7 +6117,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + rewrote the hashmap algorithm to be one-pass, this avoids multiple cost_effective() calls on the same lines. + modified cost_effective() so it is now slightly more precise. - > patches by H.J.Lu for glibc integration: + > patches for glibc integration (H.J.Lu): + add modules define_key, keyok, name_match, tries + add makefile rules for some of the unit tests in ncurses (mvcur, captoinfo, hardscroll, hashmap). @@ -5708,7 +6278,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + removed buffer-allocation for name and description from m_item_new.c, since this might result in incompatibilities with SVr4. Also fixed the corresponding Ada95 binding module (patch by Juergen Pfeifer, - from report by Avery Pennarun ) + report by Avery Pennarun ) + removed the mechanism to timestamp the generated Ada95 sources. This resulted always in generating patches for the HTML doc, even when nothing really changed (patch by Juergen Pfeifer). @@ -5752,7 +6322,8 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + add extensions keyok() and define_key(). These are designed to allow the user's application better control over the use of function keys, e.g., disabling the ncurses KEY_MOUSE. (The define_key idea was from - a mailing-list thread started by kjahds@kjahds.com Nov'1995). + a mailing-list thread started by Kenneth Albanowski + Nov'1995). + restore original behavior in ncurses 'g' test, i.e., explicitly set the keypad mode rather than use the default, since it confuses people. @@ -5771,9 +6342,9 @@ Changes since 1.9.9e are recorded by Thomas Dickey. ) + move calls of _nc_background() out of various loops, as its return value will be the same for the whole window being operated on (patch - by J.T.Conklin). + by J T Conklin). + add macros getcur[xy] getbeg[xy] getpar[xy], which are defined in - SVr4 headers (patch by J.T.Conklin ) + SVr4 headers (patch by J T Conklin ) + modify glibc addon-configure scripts (patch by H.J.Lu). + correct a bug in hashmap.c: the size used for clearing the hashmap table was incorrect, causing stack corruption for large values of @@ -5937,18 +6508,18 @@ Changes since 1.9.9e are recorded by Thomas Dickey. function in lib_doupdate.c (patch by Alexander V. Lukyanov). + correct hashmap.c, which did not update index information (patch by Alexander V. Lukyanov). - + patch by Juergen Pfeifer for C++ binding and demo (see c++/NEWS) + + fixes for C++ binding and demo (see c++/NEWS) (Juergen Pfeifer). + correct index in lib_instr.c (Juergen Pfeifer). + correct typo in 970426 patch from Tom's cleanup of lib_overlay.c - (Juergen Pfeifer). + (patch by Juergen Pfeifer). 970426 + corrected cost computation in PutRange(), which was using milliseconds compared to characters by adding two new members to the SCREEN struct, _hpa_ch_cost and _cup_ch_cost. + drop ncurses/lib_unctrl.c, add ncurses/MKunctrl.awk to generate a - const array of strings (suggested by Alexander V. Lukyanov, though - with a perl script 970118). + const array of strings (suggested by Alexander V. Lukyanov). The + original suggestion in 970118 used a perl script. + rewrote ncurses 'b' test to better exercise magic-cookie (xmc), as well as noting the attributes that are not supported by a terminal. + trace the computation of cost values in lib_mvcur.c @@ -5976,8 +6547,8 @@ Changes since 1.9.9e are recorded by Thomas Dickey. Henderson ). 970412 - + corrected ifdef'ing of inline (from 970321) for TRACE vs C++. - + corrected toggle_attr_off() macro (patch by Andries.Brouwer). + + corrected ifdef'ing of inline (cf: 970321) for TRACE vs C++. + + corrected toggle_attr_off() macro (patch by Andries Brouwer). + modify treatment of empty token in $MANPATH to /usr/man (reported by ) + modify traces that record functions-called so that chtype and attr_t @@ -5998,12 +6569,12 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + correct computation of absolute-path for $INSTALL that dropped "-c" parameter from the expression. + rename config.h to ncurses_cfg.h to avoid naming-conflict when - ncurses is integrated into larger systems (from diffs by H.J.Lu for - libc). + ncurses is integrated into larger systems (adapted from diffs by + H.J.Lu for libc). + correct inequality in lib_doupdate.c that caused a single-char to not be updated when the char on the right-margin was not blank, idcok() - was true (patch by Alexander V. Lukyanov 970124, also reported by - Kriang Lerdsuwanakij 970329). + was true (patch by Alexander V Lukyanov (in 970124), reported + by Kriang Lerdsuwanakij in 970329). + modify 'clean' rule in include/Makefile so that files created by configure script are removed in 'distclean' rule instead. @@ -6058,7 +6629,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. implements an expanded form of certain complex macros, for testing with ATAC. + disable CHECK_POSITION unless --with-assertions is configured - (Alexander Lukyanov pointed out that this is redundant). + (Alexander V Lukyanov pointed out that this is redundant). + use keyname() to show traced chtype values where applicable rather than _tracechar(), which truncates the value to 8-bits. + minor fixes to TRACE_ICALLS, added T_CREATE, TRACE_CCALLS macros. @@ -6075,7 +6646,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + modify worm.c to hide cursor while running. + add -Wcast-qual to gcc warnings, fix accordingly. + use PutChar rather than PutAttrChar in ClrToEOL to properly handle - wrapping (Alexander Lukyanov). + wrapping (Alexander V Lukyanov). + correct spurious echoing of input in hanoi.c from eric's #291 & #292 patches (reported by Vernon C. Hoxie ). + extend IRIX configuration to IRIX64 @@ -6088,7 +6659,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + autogenerated object-dependencies for test directory + add configure option --with-rcs-ids + modify configuration scripts to generate major/minor/patch versions - (suggested by Alexander Lukyanov). + (suggested by Alexander V Lukyanov). + supply missing va_end's in lib_scanw.c + use stream I/O for trace-output, to eliminate fixed-size buffer + add TRACE_ICALLS definition/support to lib_trace.c @@ -6101,8 +6672,9 @@ Changes since 1.9.9e are recorded by Thomas Dickey. the returned buffer. + invoke ldconfig after installing shared library + modify install so that overwrite applies to shared library -lcurses - in preference to static library (reported by Zeyd 960928). - + correct missing ';' in 961221 mod to overwrite option use of $(LN_S). + in preference to static library (reported by Zeyd M Ben-Halim 960928). + + correct missing ';' in 961221 mod to overwrite optional use of $(LN_S) + symbol. + fixes to allow "make install" to work without first doing a "make all" (suggested by Larry Virden). @@ -6150,7 +6722,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + modify lib_doupdate to make el, el1 and ed optimization use the can_clear_with macro, and change EmitRange to allow leaving cursor at the middle of interval, rather than always at the end (patch by - Alexander Lukyanov originally 960929, resync 970106). + Alexander V Lukyanov). This was originally 960929, resync 970106. 970104 + workaround defect in autoconf 2.12 (which terminates configuration @@ -6193,11 +6765,11 @@ Changes since 1.9.9e are recorded by Thomas Dickey. descriptors, needed for GPM. + integrate patch by Andrew Kuchling for GPM (mouse) support, correcting logic in wgetch() and _nc_mouse_parse() which - prevented patch from working properly. + prevented patch from working properly -TD + improve performance of panel algorithm (Juergen Pfeifer 961203). + strip RCS id's from generated .html files in Ada95 subtree. + resync with generated .html files (Juergen Pfeifer 961223). - + terminfo.src 10.1.0 from Eric. + + terminfo.src 10.1.0 (ESR). 961224 4.0 release + release as 4.0 to accommodate Linux ld.so.1.8.5 @@ -6212,7 +6784,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. include-path to /usr/include if gcc is used (reported by Florian La Roche). + modify setupterm() to allocate new TERMINAL for each call, just as - solaris' curses does (Alexander Lukyanov 960829). + solaris' curses does (Alexander V Lukyanov 960829). + corrected memory leaks in read_entry.c + add configure options --with-dbmalloc, --with-dmalloc, and --disable-leaks, tested by instrumenting infocmp, ncurses programs. @@ -6223,10 +6795,10 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + split-out panel.priv.h, improve dependencies for forms, menus (Juergen Pfeifer 961204). + modify _nc_freewin() to reset globals curscr/newscr/stdscr when - freeing the corresponding WINDOW (Purify). + freeing the corresponding WINDOW (found using Purify). + modify delwin() to return ERR if the window to be deleted has - subwindows, needed as a side-effect of resizeterm() (Purify). Tested - and found that SVr4 curses behaves this way. + subwindows, needed as a side-effect of resizeterm() (found using + Purify). Tested and found that SVr4 curses behaves this way. + implement logic for _nc_freeall(), bringing stub up to date. 961215 @@ -6258,16 +6830,16 @@ Changes since 1.9.9e are recorded by Thomas Dickey. handled as an exception to the rule, since some linkers do bulk inclusion of libraries when given the full name - T.Dickey). + modify configure script to allow user-supplied $CFLAGS to set the - debug-option in all libraries (requested by lots of people). + debug-option in all libraries (requested by lots of people) -TD + use return consistently from main(), rather than exit (reported by Florian La Roche). + add --enable-getcap-cache option to configure, normally disabled (requested by Florian La Roche). + make configure test for gettimeofday() and possibly -lbsd more - efficient (requested by Florian La Roche florian@knorke.saar.de) + efficient (requested by Florian La Roche ) + minor adjustments to Ada95 binding (patches by Juergen Pfeifer) + correct attributes after emitting orig_pair in lib_vidattr.c (patch - by lav@yars.free.net). + by Alexander V Lukyanov). 961208 + corrected README wrt Ada95 (Juergen Pfeifer) @@ -6280,7 +6852,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. data used in ncurses library. + initialize _nc_idcok, _nc_idlok statically to resolve discrepancy between initscr() and newwin() initialization (reported by - lav@yars.free.net). + Alexander V Lukyanov). + test built VERSION=4.0, SHARED_ABI=4 with Linux ld.so.1.8.5 (set beta versions to those values -- NOTE that subsequent pre-4.0 beta may not be interchangeable). @@ -6291,7 +6863,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. Dickey). 961127 - > patch by Juergen Pfeifer (mostly for panel): + > patch, mostly for panel (Juergen Pfeifer): + cosmetic improvement for a few routines in the ncurses core library to avoid warning messages. + the panel overlap detection was broken @@ -6321,7 +6893,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. (Juergen Pfeifer) + use MODULE_ID (rcs keywords) in forms and menus libraries (Juergen Pfeifer). - > patch #324 by Eric. + > patch #324 (ESR): + typo in curs_termcap man page (reported by Hendrik Reichel <106065.2344@compuserve.com>) + change default xterm entry to xterm-r6. @@ -6338,8 +6910,8 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + modify hanoi.c to work on non-color terminals, and to use timing delays when in autoplay mode. + correct 'echochar()' to refresh immediately (reported by Adrian - Garside 94ajg2@eng.cam.ac.uk) - > patch #322 by eric: + Garside <94ajg2@eng.cam.ac.uk>) + > patch #322 (ESR): + reorganize terminfo.src entries for xterm. 961109 - snapshot @@ -6362,10 +6934,10 @@ Changes since 1.9.9e are recorded by Thomas Dickey. resize test, use wbkgd and corrected box() parameters. + make flushinp() test work in ncurses.c by using napms() instead of sleep(). - + undo Eric's changes to xterm-x11r6 (it no longer matched the X11R6.1 + + undo ESR's changes to xterm-x11r6 (it no longer matched the X11R6.1 distribution, as stated) - + terminfo 9.13.18 (resync by Eric) - + check for getenv("HOME") returning null (Eric). + + terminfo 9.13.18 resync (ESR) + + check for getenv("HOME") returning null (ESR). + change buffer used to decode xterm-mouse commands to unsigned to handle displays wider than 128 chars (Juergen Pfeifer). + correct typo curs_outopts.3x (Juergen Pfeifer). @@ -6427,17 +6999,16 @@ Changes since 1.9.9e are recorded by Thomas Dickey. $datadir instead of actual terminfo path. + correct whitespace in include/Caps, which caused kf11, clr_eol and clr_end to be omitted from terminfo.5 - + fix memory leaks in delscreen() (adapted from Alexander Lukyanov). + + fix memory leaks in delscreen() (adapted from Alexander V Lukyanov). + improve appearance of marker in multi-selection menu (Juergen Pfeifer) - + fix behaviour for forms with all fields inactive (Juergen - Pfeifer) + + fix behavior for forms with all fields inactive (Juergen Pfeifer) + document 'field_index()' (Juergen Pfeifer) - > patch #321 by eric: + > patch #321 (ESR): + add some more XENIX keycap translations to include/Caps. + modify newwin to set initial state of each line to 'touched' (from patch by Peter Wemm ) - + in SET_TTY, replace TCSANOW with TCSADRAIN (Alexander Lukyanov). + + in SET_TTY, replace TCSANOW with TCSADRAIN (Alexander V Lukyanov). 960928 - snapshot + ifdef'd out _nc_hash_map (still slower) @@ -6449,36 +7020,36 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + ensure that 'doupdate()' sets the .oldindex values back to a sane state; this was causing a spurious refresh in ncurses 'r'. + add logic to configure (from vile) to guard against builders who - don't remove config.cache & config.status when doing new builds. - + corrected logic for 'repeat_char' in EmitRange (from #317), which + don't remove config.cache & config.status when doing new builds -TD + + corrected logic for 'repeat_char' in EmitRange (cf: eric #317), which did not follow the 2-parameter scheme specified in XSI. + corrected logic of wrefresh, wnoutrefresh broken in #319, making - clearok work properly (from report by Michael Elkins). + clearok work properly (report by Michael Elkins). + corrected problem with endwin introduced by #314 (removing the scrolling-region reset) that broke ncurses.c tests. + corrected order of args in AC_CHECK_LIB (from report by Ami Fischman ). + corrected formatting of terminfo.5 tables (Juergen Ehling) - > patch 320 by eric: + > patch 320 (ESR): + change ABI to 3.3 + emit a carriage-return in 'endwin()' to workaround a kernel bug in BSDI. (requested by Mike Karels ) + reverse the default o configure --enable-termcap (consensus). - > patch 319 by eric: + > patch 319 (ESR): + modified logic for clearok and related functions (from report by Michael Elkins) - untested - > patch 318 by eric: + > patch 318 (ESR): + correction to #317. - > patch 317 by eric: + > patch 317 (ESR): + re-add _nc_hash_map + modify EmitRange to maintain position as per original design. + add hashtest.c, program to time the hashmap optimization. - > patch 316 by eric: + > patch 316 (ESR): + add logic to deal with magic-cookie (how was this tested?) (lib_doupdate.c). + add ncurses.c driver for magic-cookie, some fixes to ncurses.c - > patch 315 by eric: - + merged A. Lukyanov's patch to use ech and rep - untested + > patch 315 (ESR): + + merged Alexander V Lukyanov's patch to use ech and rep - untested (lib_doupdate.c). + modified handling of interrupted system calls - untested (lib_getch.c, lib_twait.c). @@ -6496,11 +7067,11 @@ Changes since 1.9.9e are recorded by Thomas Dickey. either ;-) + clarify the documentation for the builtin form fieldtypes (Juergen Pfeifer) - > patch 314 by eric: - + Enhancement suggested by A. Lukyanov -- reset scroll region on - startup rather than at wrapup time. - + Fix suggested by A. Lukyanov, make storage of palette tables - and their size counts per-screen for multi-terminal applications. + > patch 314 (ESR): + + reset scroll region on startup rather than at wrapup time + (enhancement suggested by Alexander V Lukyanov). + + make storage of palette tables and their size counts per-screen for + multi-terminal applications (suggested by Alexander V Lukyanov). + Improved error reporting for infotocap translation errors. + Update terminfo.src to 9.13.14. @@ -6519,7 +7090,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. the corresponding logic from raw, cbreak, etc. + disable ONLCR during initialization, to match SVr4 (this is needed for cursor optimization when the cursor-down is a newline). - + replaced Eric's imitation of wresize with my original (his didn't + + replaced ESR's imitation of wresize with my original (his didn't work). 960831 - snapshot @@ -6549,7 +7120,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. descriptions that existed in directories past the first one searched (reported by Alexander V. Lukyanov) + corrected typo in dtterm description. - > patch 313 by eric: + > patch 313 (ESR): + add dtterm description + clarify ncurses 'i' test (drop vscanf subtest) @@ -6562,9 +7133,9 @@ Changes since 1.9.9e are recorded by Thomas Dickey. 960804 + revised fix to tparm; previous fix reversed parameter order. - > patch 312 by eric: + > patch 312 (ESR): correct terminfo.src corrupted by #310 - > patch 311 by eric: + > patch 311 (ESR): + fix idlok() and idcok() and the default of the idlok switch. 960803 - snapshot @@ -6572,7 +7143,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. (reported by William P Setzer) + add fallback def for GCC_NORETURN, GCC_UNUSED for termcap users (reported by Tim Mooney). - > patch 310 by eric: + > patch 310 (ESR): + documentation and prototyping errors for has_color, immedok and idcok (reported by William P Setzer ) + updated qnx terminfo entry (by Michael Hunter) @@ -6586,14 +7157,14 @@ Changes since 1.9.9e are recorded by Thomas Dickey. 960727 - snapshot + call cbreak() in initscr(), as per XSI & SVr4. + turn off hardware echo in initscr() as per XSI & SVr4 - > patch 309 by eric: + > patch 309 (ESR): + terminfo changes (9.3.10), from BRL + add more checks to terminfo parser. + add more symbols to infocmp. 960720 - snapshot + save previous-attribute in lib_vidattr.c if SP is null (reported by - Ju"rgen Fluk ) + Juergen Fluk ) + corrected calls on _nc_render so that background character is set as per XSI. + corrected wbkgdset macro (XSI allows background character to be @@ -6603,7 +7174,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. because not all systems declare it in the headers that we can safely include therein). + move the ifdefs for errno into curses.priv.h - > patch 308 by eric: + > patch 308 (ESR): + terminfo changes (9.3.8) + modified logic of error-reporting in terminfo parser @@ -6611,15 +7182,15 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + always check for since ISC needs it to declare fd_set (Juergen Pfeifer) + install shared-libraries on NetBSD/FreeBSD with ABI-version (reported - by several people: Juergen Pfeifer, Mike Long) + by Juergen Pfeifer, Mike Long) + add LOCAL_LDFLAGS2 symbol (Juergen Pfeifer) + corrected prototype for delay_output() -- bump ABI to 3.2 - + terminfo patches #306/307 from Eric. + + terminfo patches #306/307 (ESR). + moved logic that filters out rmul and rmso from setupterm to newterm where it is less likely to interfere with termcap applications. 960707 - + rollback Eric's #305 change to terminfo.src (it breaks existing + + rollback ESR's #305 change to terminfo.src (it breaks existing applications, e.g., 'less 290'). + correct path of edit_man.sh, and fix typo that made all man-pages preformatted. @@ -6631,8 +7202,8 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + make lib_vidattr.c more readable using macros. + filter out rmul, rmso that conflict with sgr0 when reading terminal descriptions. - + added sanity-checking of various paired string attributes (Eric). - + work around autoconf bug, force $INSTALL to absolute path. + + added sanity-checking of various paired string attributes (ESR). + + work around autoconf bug, force $INSTALL to absolute path (reported by Zeyd). + modify man-page install for BSDI to install preformatted .0 files (reported by David MacKenzie). @@ -6687,7 +7258,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. screen (Juergen Pfeifer). + modified autoconf scripts to prepare for Ada95 (GNAT) binding to ncurses (Juergen Pfeifer). - + incorrect buffer-size in _nc_read_entry, reported by Eric Raymond. + + incorrect buffer-size in _nc_read_entry, reported by ESR. 960617 + corrected two logic errors in read_entry.c, write_entry.c (called by @@ -6707,8 +7278,8 @@ Changes since 1.9.9e are recorded by Thomas Dickey. warnings turned on, which makes config.log hard to read. + added 'lint' rule to top-level Makefile. + added configure option '--with-install-prefix' for use by system - builders to install into staging locations (from request by - charles@comm.polymtl.ca) + builders to install into staging locations (requested by + Charles Levert ). + corrected autoconfigure for Debian man program; it's not installed as "man_db". + set noecho in 'worm'; it was ifdef'd for debug only @@ -6720,8 +7291,8 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + modified lib_doupdate.c to use lower-level SP's current_attr state instead of curscr's state, since it is redundant. + correction to IDcTransformLine logic which controls where InsStr is - invoked (refined by lav@yars.free.net). - > patches 303 by eric + invoked (refined by Alexander V Lukyanov). + > patch 303 (ESR): + conditionally include Chris Torek's hash function _nc_hash_map(). + better fix for nvi refresh-bug (Rick Marshall) + fix for bug in handling of interrupted keystroke waits, @@ -6754,19 +7325,19 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + include stdlib.h before defs for EXIT_SUCCESS, for OSF/1. + include sys/types.h in case stdlib.h does not declare size_t. + fixes for makefile (Tim Mooney) - + fixes for menus & forms (Juergen.Pfeifer@T-Online.de) + + fixes for menus & forms (Juergen Pfeifer) 960518 - snapshot + revised ncurses.c panner test, let pad abut all 4 sides of screen. + refined case in lib_doupdate.c for ClrToEOL(). - + corrected prior change for PutRange (Alexander V. Lukyanov: - lav@yars.free.net). - + autoconf mods (Tim Mooney: mooney@dogbert.cc.ndsu.NoDak.edu). - + locale fix for forms (Philippe De Muyter: phdemuyt@ulb.ac.be) + + corrected prior change for PutRange (Alexander V Lukyanov + ). + + autoconf mods (Tim Mooney ). + + locale fix for forms (Philippe De Muyter ) + renamed "--with-datadir" option to "--with-ticdir" to avoid confusion, and made this check for the /usr/lib/terminfo pre-existing directory. - > patches 299-301 by eric: + > patches 299-301 (ESR): + added hashmap.c + mods to tracing, especially for ACS chars. + corrected off-by-one in IDCtransform. @@ -6783,7 +7354,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + added -T options to tic and infocmp (for testing/analysis) + refined the length criteria for termcap and terminfo + optimize lib_doupdate with memcpy, PutRange - > patches 297, 298 by eric + > patches 297, 298 (ESR): + implement TERMINFO_DIRS, and -o option of tic + added TRACE_IEVENT + removed boolean version of 'getm' @@ -6797,7 +7368,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. 960504 - snapshot + modified ncurses 'p' test to allow full-screen range for panner size. - + fixes for locale (phdm@labauto1.ulb.ac.be) + + fixes for locale (Philippe De Muyter ) + don't use fixed buffer-size in fmt_entry(). + added usage-message to 'infocmp'. + modified install.includes rules to prepend subdirectory-name to @@ -6817,7 +7388,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + change ncurses 'a' test to run in raw mode. + make TIOCGWINSZ configure test less stringent, in case user configures via terminal that cannot get screen size. - > patches 295, 296 by eric: + > patches 295, 296 (ESR): + new "-e" option of tic. + fix for "infocmp -e". + restore working-directory in read_termcap.c @@ -6829,7 +7400,7 @@ Changes since 1.9.9e are recorded by Thomas Dickey. + fix for AIX 3.2.5 (must define _POSIX_SOURCE to get termios struct definitions via , modified macros in lib_raw.c to avoid K&R-style substitution) - > patches 293, 294 by eric: + > patches 293, 294 (ESR): + mods to wgetch() in cooked mode + corrected askuser() logic in tset + correct interaction of endwin() with mouse processing @@ -7361,3 +7932,5 @@ available separately from netcom.com:pub/zmbenhal/ * ANSIfication of some functions. * Disabling cost analysis 'cause it's incorrect. * A quick hack for a terminfo entry. + +-- vile:txtmode: diff --git a/README b/README index 37cb8d2b..56bc3858 100644 --- a/README +++ b/README @@ -1,4 +1,31 @@ --- $Id: README,v 1.22 2004/08/07 23:42:43 tom Exp $ +------------------------------------------------------------------------------- +-- Copyright (c) 1998-2004,2006 Free Software Foundation, Inc. -- +-- -- +-- Permission is hereby granted, free of charge, to any person obtaining a -- +-- copy of this software and associated documentation files (the -- +-- "Software"), to deal in the Software without restriction, including -- +-- without limitation the rights to use, copy, modify, merge, publish, -- +-- distribute, distribute with modifications, sublicense, and/or sell copies -- +-- of the Software, and to permit persons to whom the Software is furnished -- +-- to do so, subject to the following conditions: -- +-- -- +-- The above copyright notice and this permission notice shall be included -- +-- in all copies or substantial portions of the Software. -- +-- -- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- +-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- +-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -- +-- NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- +-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- +-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -- +-- USE OR OTHER DEALINGS IN THE SOFTWARE. -- +-- -- +-- Except as contained in this notice, the name(s) of the above copyright -- +-- holders shall not be used in advertising or otherwise to promote the -- +-- sale, use or other dealings in this Software without prior written -- +-- authorization. -- +------------------------------------------------------------------------------- +-- $Id: README,v 1.23 2006/04/22 22:19:37 tom Exp $ ------------------------------------------------------------------------------- README file for the ncurses package diff --git a/README.emx b/README.emx index 3a5ca1a1..4c04816b 100644 --- a/README.emx +++ b/README.emx @@ -1,4 +1,31 @@ --- $Id: README.emx,v 1.7 2005/08/27 17:04:26 tom Exp $ +------------------------------------------------------------------------------- +-- Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. -- +-- -- +-- Permission is hereby granted, free of charge, to any person obtaining a -- +-- copy of this software and associated documentation files (the -- +-- "Software"), to deal in the Software without restriction, including -- +-- without limitation the rights to use, copy, modify, merge, publish, -- +-- distribute, distribute with modifications, sublicense, and/or sell copies -- +-- of the Software, and to permit persons to whom the Software is furnished -- +-- to do so, subject to the following conditions: -- +-- -- +-- The above copyright notice and this permission notice shall be included -- +-- in all copies or substantial portions of the Software. -- +-- -- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- +-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- +-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -- +-- NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- +-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- +-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -- +-- USE OR OTHER DEALINGS IN THE SOFTWARE. -- +-- -- +-- Except as contained in this notice, the name(s) of the above copyright -- +-- holders shall not be used in advertising or otherwise to promote the -- +-- sale, use or other dealings in this Software without prior written -- +-- authorization. -- +------------------------------------------------------------------------------- +-- $Id: README.emx,v 1.8 2006/04/22 22:19:37 tom Exp $ -- Author: Thomas Dickey ------------------------------------------------------------------------------- diff --git a/TO-DO b/TO-DO index caefedd8..6834e038 100644 --- a/TO-DO +++ b/TO-DO @@ -1,4 +1,32 @@ --- $Id: TO-DO,v 1.45 2005/08/20 20:53:04 tom Exp $ +------------------------------------------------------------------------------- +-- Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. -- +-- -- +-- Permission is hereby granted, free of charge, to any person obtaining a -- +-- copy of this software and associated documentation files (the -- +-- "Software"), to deal in the Software without restriction, including -- +-- without limitation the rights to use, copy, modify, merge, publish, -- +-- distribute, distribute with modifications, sublicense, and/or sell copies -- +-- of the Software, and to permit persons to whom the Software is furnished -- +-- to do so, subject to the following conditions: -- +-- -- +-- The above copyright notice and this permission notice shall be included -- +-- in all copies or substantial portions of the Software. -- +-- -- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- +-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- +-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -- +-- NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- +-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- +-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -- +-- USE OR OTHER DEALINGS IN THE SOFTWARE. -- +-- -- +-- Except as contained in this notice, the name(s) of the above copyright -- +-- holders shall not be used in advertising or otherwise to promote the -- +-- sale, use or other dealings in this Software without prior written -- +-- authorization. -- +------------------------------------------------------------------------------- +-- $Id: TO-DO,v 1.48 2006/10/28 19:49:16 tom Exp $ +------------------------------------------------------------------------------- SHORT-TERM TO-DO ITEMS: @@ -10,9 +38,9 @@ Known Problems: develop a good set of regression tests to cover lib_doupdate.c and lib_mvcur.c. -+ Magic cookie support does not work, since the logic does not take into - account refresh. Also, the initial optimize does not adjust the current - location when a cookie is emitted. ++ Magic cookie support (for nonzero xmc values) does not work, since the logic + does not take into account refresh. Also, the initial optimize does not + adjust the current location when a cookie is emitted. + Scrolling optimization has holes: for example, it forces repaints of the screen between calls to refresh(). @@ -33,6 +61,9 @@ Known Problems: + The resizeterm() function does not handle ripped-off lines such as that done for the slk_XXX functions. ++ vid_attr() should support the set_a_attributes (sgr1) string, but does not. + There appear to be no terminals that require that functionality. + Portability (or lack thereof): + Users of older System V UNIXes (but not Solaris, and probably not SVr4) may @@ -169,3 +200,5 @@ These are the potentially important ones for ncurses. Notes: ii) We probably don't care about dest_tabs_magic_smso; only Telerays used it and they're all long obsolete. + +-- vile:txtmode diff --git a/aclocal.m4 b/aclocal.m4 index 8cbe58ab..b57ec00d 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,5 +1,5 @@ dnl*************************************************************************** -dnl Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * +dnl Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * dnl * dnl Permission is hereby granted, free of charge, to any person obtaining a * dnl copy of this software and associated documentation files (the * @@ -28,9 +28,13 @@ dnl*************************************************************************** dnl dnl Author: Thomas E. Dickey 1995-on dnl -dnl $Id: aclocal.m4,v 1.373 2005/09/24 21:58:59 tom Exp $ +dnl $Id: aclocal.m4,v 1.407 2006/12/17 16:12:38 tom Exp $ dnl Macros used in NCURSES auto-configuration script. dnl +dnl These macros are maintained separately from NCURSES. The copyright on +dnl this file applies to the aggregation of macros and does not affect use of +dnl these macros in other applications. +dnl dnl See http://invisible-island.net/autoconf/ for additional information. dnl dnl --------------------------------------------------------------------------- @@ -58,7 +62,7 @@ AC_DEFUN([AM_LANGINFO_CODESET], fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_ADA_INCLUDE_DIRS version: 4 updated: 2002/12/01 00:12:15 +dnl CF_ADA_INCLUDE_DIRS version: 5 updated: 2006/10/14 15:23:15 dnl ------------------- dnl Construct the list of include-options for the C programs in the Ada95 dnl binding. @@ -66,17 +70,17 @@ AC_DEFUN([CF_ADA_INCLUDE_DIRS], [ ACPPFLAGS="-I. -I../../include $ACPPFLAGS" if test "$srcdir" != "."; then - ACPPFLAGS="-I\$(srcdir)/../../include $ACPPFLAGS" + ACPPFLAGS="-I\${srcdir}/../../include $ACPPFLAGS" fi if test "$GCC" != yes; then - ACPPFLAGS="$ACPPFLAGS -I\$(includedir)" + ACPPFLAGS="$ACPPFLAGS -I\${includedir}" elif test "$includedir" != "/usr/include"; then if test "$includedir" = '${prefix}/include' ; then if test $prefix != /usr ; then - ACPPFLAGS="$ACPPFLAGS -I\$(includedir)" + ACPPFLAGS="$ACPPFLAGS -I\${includedir}" fi else - ACPPFLAGS="$ACPPFLAGS -I\$(includedir)" + ACPPFLAGS="$ACPPFLAGS -I\${includedir}" fi fi AC_SUBST(ACPPFLAGS) @@ -281,7 +285,7 @@ else AC_MSG_RESULT(no) fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_BOOL_SIZE version: 10 updated: 2002/02/23 20:38:31 +dnl CF_BOOL_SIZE version: 12 updated: 2006/12/16 12:33:30 dnl ------------ dnl Test for the size of 'bool' in the configured C++ compiler (e.g., a type). dnl Don't bother looking for bool.h, since it's been deprecated. @@ -328,7 +332,7 @@ main() else if (sizeof(x) == sizeof(long)) fputs("long", fp); fclose(fp); } - exit(0); + ${cf_cv_main_return:-return}(0); } ], [cf_cv_type_of_bool=`cat cf_test.out` @@ -349,7 +353,7 @@ if test "$cf_cv_type_of_bool" = unknown ; then fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_BUILD_CC version: 5 updated: 2005/09/24 17:55:52 +dnl CF_BUILD_CC version: 6 updated: 2006/10/14 15:23:15 dnl ----------- dnl If we're cross-compiling, allow the user to override the tools and their dnl options. The configure script is oriented toward identifying the host @@ -381,7 +385,7 @@ if test "$cross_compiling" = yes ; then AC_ARG_WITH(build-cpp, [ --with-build-cpp=XXX the build C preprocessor ($BUILD_CPP)], [BUILD_CPP="$withval"], - [BUILD_CPP='$(BUILD_CC) -E']) + [BUILD_CPP='${BUILD_CC} -E']) AC_MSG_RESULT($BUILD_CPP) AC_MSG_CHECKING(for native build C flags) @@ -404,7 +408,7 @@ if test "$cross_compiling" = yes ; then AC_MSG_CHECKING(for native build linker-libraries) AC_ARG_WITH(build-libs, - [ --with-build-libs=XXX the build libraries ($(BUILD_LIBS)], + [ --with-build-libs=XXX the build libraries (${BUILD_LIBS})], [BUILD_LIBS="$withval"]) AC_MSG_RESULT($BUILD_LIBS) @@ -412,20 +416,20 @@ if test "$cross_compiling" = yes ; then BUILD_EXEEXT= BUILD_OBJEXT=o - : ${BUILD_CC:='$(CC)'} + : ${BUILD_CC:='${CC}'} - if ( test "$BUILD_CC" = "$CC" || test "$BUILD_CC" = '$(CC)' ) ; then + if ( test "$BUILD_CC" = "$CC" || test "$BUILD_CC" = '${CC}' ) ; then AC_MSG_ERROR([Cross-build requires two compilers. Use --with-build-cc to specify the native compiler.]) fi else - : ${BUILD_CC:='$(CC)'} - : ${BUILD_CPP:='$(CPP)'} - : ${BUILD_CFLAGS:='$(CFLAGS)'} - : ${BUILD_CPPFLAGS:='$(CPPFLAGS)'} - : ${BUILD_LDFLAGS:='$(LDFLAGS)'} - : ${BUILD_LIBS:='$(LIBS)'} + : ${BUILD_CC:='${CC}'} + : ${BUILD_CPP:='${CPP}'} + : ${BUILD_CFLAGS:='${CFLAGS}'} + : ${BUILD_CPPFLAGS:='${CPPFLAGS}'} + : ${BUILD_LDFLAGS:='${LDFLAGS}'} + : ${BUILD_LIBS:='${LIBS}'} : ${BUILD_EXEEXT:='$x'} : ${BUILD_OBJEXT:='o'} fi @@ -803,6 +807,28 @@ done AC_SUBST(DIRS_TO_MAKE) ])dnl dnl --------------------------------------------------------------------------- +dnl CF_DISABLE_LEAKS version: 4 updated: 2006/12/16 15:10:42 +dnl ---------------- +dnl Combine no-leak checks with the libraries or tools that are used for the +dnl checks. +AC_DEFUN([CF_DISABLE_LEAKS],[ + +AC_REQUIRE([CF_WITH_DMALLOC]) +AC_REQUIRE([CF_WITH_DBMALLOC]) +AC_REQUIRE([CF_WITH_VALGRIND]) + +AC_MSG_CHECKING(if you want to perform memory-leak testing) +AC_ARG_ENABLE(leaks, + [ --disable-leaks test: free permanent memory, analyze leaks], + [with_no_leaks=yes], + : ${with_no_leaks:=no}) +AC_MSG_RESULT($with_no_leaks) + +if test "$with_no_leaks" = yes ; then + AC_DEFINE(NO_LEAKS) +fi +])dnl +dnl --------------------------------------------------------------------------- dnl CF_ERRNO version: 5 updated: 1997/11/30 12:44:39 dnl -------- dnl Check if 'errno' is declared in @@ -876,7 +902,7 @@ else fi ]) dnl --------------------------------------------------------------------------- -dnl CF_FUNC_MEMMOVE version: 5 updated: 2000/08/12 23:18:52 +dnl CF_FUNC_MEMMOVE version: 7 updated: 2006/12/16 12:33:30 dnl --------------- dnl Check for memmove, or a bcopy that can handle overlapping copy. If neither dnl is found, add our own version of memmove to the list of objects. @@ -892,7 +918,7 @@ int main() { bcopy(data, temp, sizeof(data)); bcopy(temp+10, temp, 15); bcopy(temp+5, temp+15, 10); - exit (strcmp(temp, "klmnopqrstuwwxypqrstuwwxyz")); + ${cf_cv_main_return:-return} (strcmp(temp, "klmnopqrstuwwxypqrstuwwxyz")); } ], [cf_cv_good_bcopy=yes], @@ -907,7 +933,7 @@ int main() { fi ])])dnl dnl --------------------------------------------------------------------------- -dnl CF_FUNC_NANOSLEEP version: 1 updated: 2005/07/02 15:38:12 +dnl CF_FUNC_NANOSLEEP version: 3 updated: 2006/12/16 12:33:30 dnl ----------------- dnl Check for existence of workable nanosleep() function. Some systems, e.g., dnl AIX 4.x, provide a non-working version. @@ -931,7 +957,7 @@ int main() { ts2.tv_nsec = 0; errno = 0; code = nanosleep(&ts1, &ts2); /* on failure errno is ENOSYS. */ - exit(code != 0); + ${cf_cv_main_return:-return}(code != 0); } ], [cf_cv_func_nanosleep=yes], @@ -941,7 +967,7 @@ int main() { test "$cf_cv_func_nanosleep" = "yes" && AC_DEFINE(HAVE_NANOSLEEP) ]) dnl --------------------------------------------------------------------------- -dnl CF_FUNC_POLL version: 2 updated: 2000/02/06 01:38:04 +dnl CF_FUNC_POLL version: 4 updated: 2006/12/16 12:33:30 dnl ------------ dnl See if the poll function really works. Some platforms have poll(), but dnl it does not work for terminals or files. @@ -962,7 +988,7 @@ int main() { myfds.events = POLLIN; ret = poll(&myfds, 1, 100); - exit(ret != 0); + ${cf_cv_main_return:-return}(ret != 0); }], [cf_cv_working_poll=yes], [cf_cv_working_poll=no], @@ -1302,7 +1328,7 @@ fi rm -f conftest* ])dnl dnl --------------------------------------------------------------------------- -dnl CF_GNAT_VERSION version: 11 updated: 2003/09/06 19:42:09 +dnl CF_GNAT_VERSION version: 12 updated: 2006/10/14 15:23:15 dnl --------------- dnl Verify version of GNAT. AC_DEFUN([CF_GNAT_VERSION], @@ -1323,7 +1349,7 @@ esac case $cf_gnat_version in 3.[[1-9]]*|[[4-9]].*) cf_compile_generics=generics - cf_generic_objects="\$(GENOBJS)" + cf_generic_objects="\${GENOBJS}" ;; *) cf_compile_generics= cf_generic_objects= @@ -1535,6 +1561,138 @@ AC_LANG_RESTORE AC_SUBST(EXTRA_CXXFLAGS) ])dnl dnl --------------------------------------------------------------------------- +dnl CF_HASHED_DB version: 1 updated: 2006/08/19 09:16:14 +dnl ------------ +dnl Look for an instance of the Berkeley hashed database. +AC_DEFUN([CF_HASHED_DB], +[ +AC_CHECK_HEADER(db.h,[ +CF_HASHED_DB_VERSION +if test "$cf_cv_hashed_db_version" = unknown ; then + AC_MSG_ERROR(Cannot determine version of db) +else + CF_HASHED_DB_LIBS + if test "$cf_cv_hashed_db_libs" = unknown ; then + AC_MSG_ERROR(Cannot determine library for db) + elif test "$cf_cv_hashed_db_libs" != default ; then + LIBS="-l$cf_cv_hashed_db_libs $LIBS" + fi +fi +],[ + AC_MSG_ERROR(Cannot find db.h) +]) +])dnl +dnl --------------------------------------------------------------------------- +dnl CF_HASHED_DB_LIBS version: 6 updated: 2006/12/16 12:33:30 +dnl ----------------- +dnl Given that we have the header and version for hashed database, find the +dnl library information. +AC_DEFUN([CF_HASHED_DB_LIBS], +[ +AC_CACHE_CHECK(for db libraries, cf_cv_hashed_db_libs,[ +cf_cv_hashed_db_libs=unknown +for cf_db_libs in db$cf_cv_hashed_db_version db '' +do + cf_save_libs="$LIBS" + if test -n "$cf_db_libs"; then + LIBS="-l$cf_db_libs $LIBS" + fi + CF_MSG_LOG(checking for library "$cf_db_libs") + AC_TRY_LINK([ +$ac_includes_default +#include +],[ + char *path = "/tmp/foo"; +#ifdef DB_VERSION_MAJOR +#if DB_VERSION_MAJOR >= 4 + DB *result = 0; + db_create(&result, NULL, 0); + result->open(result, + NULL, + path, + path, + DB_HASH, + DB_CREATE, + 0644); +#elif DB_VERSION_MAJOR >= 3 + DB *result = 0; + db_create(&result, NULL, 0); + result->open(result, + path, + path, + DB_HASH, + DB_CREATE, + 0644); +#elif DB_VERSION_MAJOR >= 2 + DB *result = 0; + db_open(path, + DB_HASH, + DB_CREATE, + 0644, + (DB_ENV *) 0, + (DB_INFO *) 0, + &result); +#endif /* DB_VERSION_MAJOR */ +#else + DB *result = dbopen(path, + 2, + 0644, + DB_HASH, + 0); +#endif + ${cf_cv_main_return:-return}(result != 0) +],[ + if test -n "$cf_db_libs" ; then + cf_cv_hashed_db_libs=$cf_db_libs + else + cf_cv_hashed_db_libs=default + fi + LIBS="$cf_save_libs" + break +]) + LIBS="$cf_save_libs" +done +]) +])dnl +dnl --------------------------------------------------------------------------- +dnl CF_HASHED_DB_VERSION version: 2 updated: 2006/08/19 15:12:49 +dnl -------------------- +dnl Given that we have the header file for hashed database, find the version +dnl information. +AC_DEFUN([CF_HASHED_DB_VERSION], +[ +AC_CACHE_CHECK(for version of db, cf_cv_hashed_db_version,[ +cf_cv_hashed_db_version=unknown + +for cf_db_version in 1 2 3 4 +do + CF_MSG_LOG(checking for db version $cf_db_version) + AC_TRY_COMPILE([ +$ac_includes_default +#include + +#ifdef DB_VERSION_MAJOR + /* db2 (DB_VERSION_MAJOR=2) has also DB_VERSION_MINOR, tested with 7 */ +#if $cf_db_version == DB_VERSION_MAJOR + /* ok */ +#else + make an error +#endif +#else +#if $cf_db_version == 1 + /* ok: assuming this is DB 1.8.5 */ +#else + make an error +#endif +#endif +],[DBT *foo = 0],[ + cf_cv_hashed_db_version=$cf_db_version + break + ]) +done +]) +])dnl +dnl --------------------------------------------------------------------------- dnl CF_HELP_MESSAGE version: 3 updated: 1998/01/14 10:56:23 dnl --------------- dnl Insert text into the help-message, for readability, from AC_ARG_WITH. @@ -1542,7 +1700,7 @@ AC_DEFUN([CF_HELP_MESSAGE], [AC_DIVERT_HELP([$1])dnl ])dnl dnl --------------------------------------------------------------------------- -dnl CF_INCLUDE_DIRS version: 4 updated: 2002/12/01 00:12:15 +dnl CF_INCLUDE_DIRS version: 5 updated: 2006/10/14 15:23:15 dnl --------------- dnl Construct the list of include-options according to whether we're building dnl in the source directory or using '--srcdir=DIR' option. If we're building @@ -1552,17 +1710,17 @@ AC_DEFUN([CF_INCLUDE_DIRS], [ CPPFLAGS="-I. -I../include $CPPFLAGS" if test "$srcdir" != "."; then - CPPFLAGS="-I\$(srcdir)/../include $CPPFLAGS" + CPPFLAGS="-I\${srcdir}/../include $CPPFLAGS" fi if test "$GCC" != yes; then - CPPFLAGS="$CPPFLAGS -I\$(includedir)" + CPPFLAGS="$CPPFLAGS -I\${includedir}" elif test "$includedir" != "/usr/include"; then if test "$includedir" = '${prefix}/include' ; then if test $prefix != /usr ; then - CPPFLAGS="$CPPFLAGS -I\$(includedir)" + CPPFLAGS="$CPPFLAGS -I\${includedir}" fi else - CPPFLAGS="$CPPFLAGS -I\$(includedir)" + CPPFLAGS="$CPPFLAGS -I\${includedir}" fi fi AC_SUBST(CPPFLAGS) @@ -1620,13 +1778,14 @@ AC_MSG_RESULT($cf_cv_have_isascii) test "$cf_cv_have_isascii" = yes && AC_DEFINE(HAVE_ISASCII) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_LARGEFILE version: 5 updated: 2005/07/17 11:03:36 +dnl CF_LARGEFILE version: 6 updated: 2006/09/23 19:07:52 dnl ------------ dnl Add checks for large file support. AC_DEFUN([CF_LARGEFILE],[ ifdef([AC_FUNC_FSEEKO],[ + AC_SYS_LARGEFILE + if test "$enable_largefile" != no ; then AC_FUNC_FSEEKO - AC_SYS_LARGEFILE # Normally we would collect these definitions in the config.h, # but (like _XOPEN_SOURCE), some environments rely on having these @@ -1653,6 +1812,7 @@ ifdef([AC_FUNC_FSEEKO],[ [cf_cv_struct_dirent64=no]) ]) test "$cf_cv_struct_dirent64" = yes && AC_DEFINE(HAVE_STRUCT_DIRENT64) + fi ]) ]) dnl --------------------------------------------------------------------------- @@ -1692,7 +1852,7 @@ ifelse($1,,,[$1=$LIB_PREFIX]) AC_SUBST(LIB_PREFIX) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_LIB_RULES version: 36 updated: 2005/05/28 13:16:28 +dnl CF_LIB_RULES version: 40 updated: 2006/10/14 15:23:15 dnl ------------ dnl Append definitions and rules for the given models to the subdirectory dnl Makefiles, and the recursion rule for the top-level Makefile. If the @@ -1711,12 +1871,14 @@ CF_LIB_PREFIX(cf_prefix) AC_REQUIRE([CF_SUBST_NCURSES_VERSION]) for cf_dir in $SRC_SUBDIRS do - if test -f $srcdir/$cf_dir/modules; then + if test ! -d $srcdir/$cf_dir ; then + continue + elif test -f $srcdir/$cf_dir/modules; then IMPORT_LIB= SHARED_LIB= LIBS_TO_MAKE= - for cf_item in $CF_LIST_MODELS + for cf_item in $cf_LIST_MODELS do CF_LIB_SUFFIX($cf_item,cf_suffix) if test $cf_item = shared ; then @@ -1728,14 +1890,14 @@ do case .${LIB_SUFFIX} in .w*) cf_suffix=`echo $cf_suffix | sed 's/^w//'` - cf_suffix=w'.$(REL_VERSION)'"$cf_suffix" + cf_suffix=w'.${REL_VERSION}'"$cf_suffix" ;; *) - cf_suffix='.$(REL_VERSION)'"$cf_suffix" + cf_suffix='.${REL_VERSION}'"$cf_suffix" ;; esac ;; #(vi - *) cf_suffix="$cf_suffix"'.$(REL_VERSION)' ;; + *) cf_suffix="$cf_suffix"'.${REL_VERSION}' ;; esac ;; abi) @@ -1744,14 +1906,14 @@ do case .${LIB_SUFFIX} in .w*) cf_suffix=`echo $cf_suffix | sed 's/^w//'` - cf_suffix=w'.$(ABI_VERSION)'"$cf_suffix" + cf_suffix=w'.${ABI_VERSION}'"$cf_suffix" ;; *) - cf_suffix='.$(ABI_VERSION)'"$cf_suffix" + cf_suffix='.${ABI_VERSION}'"$cf_suffix" ;; esac ;; #(vi - *) cf_suffix="$cf_suffix"'.$(ABI_VERSION)' ;; + *) cf_suffix="$cf_suffix"'.${ABI_VERSION}' ;; esac ;; esac @@ -1760,9 +1922,9 @@ do # use autodetected ${cf_prefix} for import lib and static lib, but # use 'cyg' prefix for shared lib. if test $cf_cv_shlib_version = cygdll ; then - SHARED_LIB="../lib/cyg${cf_dir}\$(ABI_VERSION).dll" - IMPORT_LIB="../lib/${cf_prefix}${cf_dir}.dll.a" - LIBS_TO_MAKE="$LIBS_TO_MAKE \$(SHARED_LIB) \$(IMPORT_LIB)" + SHARED_LIB="cyg${cf_dir}\${ABI_VERSION}.dll" + IMPORT_LIB="${cf_prefix}${cf_dir}.dll.a" + LIBS_TO_MAKE="$LIBS_TO_MAKE ../lib/\${SHARED_LIB} ../lib/\${IMPORT_LIB}" continue fi fi @@ -1793,7 +1955,7 @@ do for cf_subset in $cf_subsets do cf_subdirs= - for cf_item in $CF_LIST_MODELS + for cf_item in $cf_LIST_MODELS do echo "Appending rules for ${cf_item} model (${cf_dir}: ${cf_subset})" CF_UPPER(cf_ITEM,$cf_item) @@ -1822,7 +1984,7 @@ do if test "$srcdir" = "."; then cf_reldir="." else - cf_reldir="\$(srcdir)" + cf_reldir="\${srcdir}" fi if test -f $srcdir/$cf_dir/$cf_dir.priv.h; then @@ -1886,18 +2048,22 @@ do done fi - echo ' cd '$cf_dir' && $(MAKE) $(CF_MFLAGS) [$]@' >>Makefile + echo ' cd '$cf_dir' && ${MAKE} ${CF_MFLAGS} [$]@' >>Makefile done for cf_dir in $SRC_SUBDIRS do + if test ! -d $srcdir/$cf_dir ; then + continue + fi + if test -f $cf_dir/Makefile ; then case "$cf_dir" in Ada95) #(vi echo 'libs \' >> Makefile echo 'install.libs \' >> Makefile echo 'uninstall.libs ::' >> Makefile - echo ' cd '$cf_dir' && $(MAKE) $(CF_MFLAGS) [$]@' >> Makefile + echo ' cd '$cf_dir' && ${MAKE} ${CF_MFLAGS} [$]@' >> Makefile ;; esac fi @@ -1920,7 +2086,7 @@ install.libs \\ uninstall.libs \\ install.$cf_dir \\ uninstall.$cf_dir :: - cd $cf_dir && \$(MAKE) \$(CF_MFLAGS) \[$]@ + cd $cf_dir && \${MAKE} \${CF_MFLAGS} \[$]@ CF_EOF elif test -f $srcdir/$cf_dir/headers; then cat >> Makefile <> Makefile <> Makefile <>headers.sh <>headers.sh <>$cf_dir/Makefile <>$cf_dir/Makefile j=$i done + echo " $j" >>$cf_dir/Makefile + for i in `cat $srcdir/$cf_dir/headers |fgrep -v "#"` do - echo " @ (cd \$(DESTDIR)\$(includedir) && rm -f `basename $i`) ; ../headers.sh \$(INSTALL_DATA) \$(DESTDIR)\$(includedir) \$(srcdir) $i" >>$cf_dir/Makefile - test $i = curses.h && test $WITH_CURSES_H = yes && echo " @ (cd \$(DESTDIR)\$(includedir) && rm -f ncurses.h && \$(LN_S) curses.h ncurses.h)" >>$cf_dir/Makefile + echo " @ (cd \${DESTDIR}\${includedir} && rm -f `basename $i`) ; ../headers.sh \${INSTALL_DATA} \${DESTDIR}\${includedir} \${srcdir} $i" >>$cf_dir/Makefile + test $i = curses.h && test $WITH_CURSES_H = yes && echo " @ (cd \${DESTDIR}\${includedir} && rm -f ncurses.h && \${LN_S} curses.h ncurses.h)" >>$cf_dir/Makefile done cat >>$cf_dir/Makefile <>$cf_dir/Makefile - test $i = curses.h && echo " -@ (cd \$(DESTDIR)\$(includedir) && rm -f ncurses.h)" >>$cf_dir/Makefile + echo " -@ (cd \${DESTDIR}\${includedir} && rm -f $i)" >>$cf_dir/Makefile + test $i = curses.h && echo " -@ (cd \${DESTDIR}\${includedir} && rm -f ncurses.h)" >>$cf_dir/Makefile done fi if test -f $srcdir/$cf_dir/modules; then if test "$cf_dir" != "c++" ; then cat >>$cf_dir/Makefile <<"CF_EOF" -depend : $(AUTO_SRC) - makedepend -- $(CPPFLAGS) -- $(C_SRC) +depend : ${AUTO_SRC} + makedepend -- ${CPPFLAGS} -- ${C_SRC} # DO NOT DELETE THIS LINE -- make depend depends on it. CF_EOF @@ -2101,7 +2275,7 @@ done ])dnl dnl --------------------------------------------------------------------------- -dnl CF_LIB_SONAME version: 2 updated: 2005/06/25 16:05:47 +dnl CF_LIB_SONAME version: 3 updated: 2006/12/16 15:55:46 dnl ------------- dnl Find the and soname for the given shared library. Set the cache variable dnl cf_cv_$3_soname to this, unless it is not found. Then set the cache @@ -2121,7 +2295,7 @@ $1 int main() { $2 -return 0; + ${cf_cv_main_return:-return}(0); } CF_EOF cf_save_LIBS="$LIBS" @@ -2186,7 +2360,7 @@ AC_DEFUN([CF_LIB_TYPE], test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}" ])dnl dnl --------------------------------------------------------------------------- -dnl CF_LINK_DATAONLY version: 6 updated: 2003/02/02 01:41:46 +dnl CF_LINK_DATAONLY version: 8 updated: 2006/12/16 12:33:30 dnl ---------------- dnl Some systems have a non-ANSI linker that doesn't pull in modules that have dnl only data (i.e., no functions), for example NeXT. On those systems we'll @@ -2211,7 +2385,7 @@ EOF int testfunc() { #if defined(NeXT) - exit(1); /* I'm told this linker is broken */ + ${cf_cv_main_return:-return}(1); /* I'm told this linker is broken */ #else extern int testdata[[3]]; return testdata[[0]] == 123 @@ -2232,7 +2406,7 @@ EOF int main() { extern int testfunc(); - exit (!testfunc()); + ${cf_cv_main_return:-return} (!testfunc()); } ], [cf_cv_link_dataonly=yes], @@ -2249,7 +2423,7 @@ fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_LINK_FUNCS version: 5 updated: 2003/02/02 01:41:46 +dnl CF_LINK_FUNCS version: 7 updated: 2006/12/16 12:33:30 dnl ------------- dnl Most Unix systems have both link and symlink, a few don't have symlink. dnl A few non-Unix systems implement symlink, but not link. @@ -2291,7 +2465,7 @@ int main() #else remove(dst); #endif - exit (fail); + ${cf_cv_main_return:-return} (fail); } ],[ cf_cv_link_funcs="$cf_cv_link_funcs $cf_func" @@ -2306,24 +2480,36 @@ int main() fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_MAKEFLAGS version: 9 updated: 2001/12/30 18:17:27 +dnl CF_MAIN_RETURN version: 1 updated: 2006/12/10 09:51:54 +dnl -------------- +dnl Check if a return from main to the shell actually returns the same exit +dnl code. This is true for almost any POSIX environment. +dnl +dnl Some very old environments did not flush stdout, etc., on an exit. That +dnl would be a useful case to test for also. +AC_DEFUN([CF_MAIN_RETURN], +[ +cf_cv_main_return=return +])dnl +dnl --------------------------------------------------------------------------- +dnl CF_MAKEFLAGS version: 12 updated: 2006/10/21 08:27:03 dnl ------------ -dnl Some 'make' programs support $(MAKEFLAGS), some $(MFLAGS), to pass 'make' +dnl Some 'make' programs support ${MAKEFLAGS}, some ${MFLAGS}, to pass 'make' dnl options to lower-levels. It's very useful for "make -n" -- if we have it. dnl (GNU 'make' does both, something POSIX 'make', which happens to make the -dnl $(MAKEFLAGS) variable incompatible because it adds the assignments :-) +dnl ${MAKEFLAGS} variable incompatible because it adds the assignments :-) AC_DEFUN([CF_MAKEFLAGS], [ AC_CACHE_CHECK(for makeflags variable, cf_cv_makeflags,[ cf_cv_makeflags='' - for cf_option in '-$(MAKEFLAGS)' '$(MFLAGS)' + for cf_option in '-${MAKEFLAGS}' '${MFLAGS}' do cat >cf_makeflags.tmp </dev/null` + cf_result=`${MAKE-make} -k -f cf_makeflags.tmp 2>/dev/null | sed -e 's,[[ ]]*$,,'` case "$cf_result" in .*k) cf_result=`${MAKE-make} -k -f cf_makeflags.tmp CC=cc 2>/dev/null` @@ -2335,7 +2521,8 @@ CF_EOF esac break ;; - *) echo no match "$cf_result" + .-) ;; + *) echo "given option \"$cf_option\", no match \"$cf_result\"" ;; esac done @@ -2589,7 +2776,7 @@ AC_ARG_WITH(manpage-tbl, AC_MSG_RESULT($MANPAGE_TBL) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_MAN_PAGES version: 29 updated: 2005/06/18 19:42:52 +dnl CF_MAN_PAGES version: 31 updated: 2006/12/09 12:27:08 dnl ------------ dnl Try to determine if the man-pages on the system are compressed, and if dnl so, what format is used. Use this information to construct a script that @@ -2643,13 +2830,22 @@ cf_edit_man=./edit_man.sh cat >$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <\$TMP + $LN_S \$cf_target \$cf_alias\${suffix} + elif test "\$cf_target" != "\$cf_alias\${suffix}" ; then + echo ".so \$cf_source" >\$TMP CF_EOF if test -n "$cf_compress" ; then cat >>$cf_edit_man <>$cf_edit_man <>$cf_dir/Makefile + fi +done + +])dnl +dnl --------------------------------------------------------------------------- +dnl CF_PROG_AWK version: 1 updated: 2006/09/16 11:40:59 +dnl ----------- +dnl Check for awk, ensure that the check found something. +AC_DEFUN([CF_PROG_AWK], +[ +AC_PROG_AWK +test -z "$AWK" && AC_MSG_ERROR(No awk program found) +])dnl +dnl --------------------------------------------------------------------------- +dnl CF_PROG_CC_C_O version: 2 updated: 2006/12/16 15:55:46 dnl -------------- dnl Analogous to AC_PROG_CC_C_O, but more useful: tests only $CC, ensures that dnl the output file can be renamed, and allows for a shell variable that can @@ -3228,7 +3495,7 @@ cat > conftest.$ac_ext < int main() { - return 0; + ${cf_cv_main_return:-return}(0); } CF_EOF # We do the test twice because some compilers refuse to overwrite an @@ -3275,6 +3542,21 @@ make a defined-error ]) ])dnl dnl --------------------------------------------------------------------------- +dnl CF_PROG_EGREP version: 1 updated: 2006/09/16 11:40:59 +dnl ------------- +dnl AC_PROG_EGREP was introduced in autoconf 2.53. +dnl This macro adds a check to ensure the script found something. +AC_DEFUN([CF_PROG_EGREP], +[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep], + [if echo a | (grep -E '(a|b)') >/dev/null 2>&1 + then ac_cv_prog_egrep='grep -E' + else ac_cv_prog_egrep='egrep' + fi]) + EGREP=$ac_cv_prog_egrep + AC_SUBST([EGREP]) +test -z "$EGREP" && AC_MSG_ERROR(No egrep program found) +])dnl +dnl --------------------------------------------------------------------------- dnl CF_PROG_EXT version: 10 updated: 2004/01/03 19:28:18 dnl ----------- dnl Compute $PROG_EXT, used for non-Unix ports, such as OS/2 EMX. @@ -3338,6 +3620,14 @@ fi AC_SUBST(LDCONFIG) ])dnl dnl --------------------------------------------------------------------------- +dnl CF_PROG_LINT version: 1 updated: 2006/09/16 11:40:59 +dnl ------------ +AC_DEFUN([CF_PROG_LINT], +[ +AC_CHECK_PROGS(LINT, tdlint lint alint) +AC_SUBST(LINT_OPTS) +])dnl +dnl --------------------------------------------------------------------------- dnl CF_REGEX version: 3 updated: 1997/11/01 14:26:01 dnl -------- dnl Attempt to determine if we've got one of the flavors of regular-expression @@ -3390,16 +3680,17 @@ $1=`echo "$2" | \ -e 's/-[[UD]]$3\(=[[^ ]]*\)\?[$]//g'` ])dnl dnl --------------------------------------------------------------------------- -dnl CF_SHARED_OPTS version: 31 updated: 2005/01/01 16:39:44 +dnl CF_SHARED_OPTS version: 41 updated: 2006/12/09 12:32:00 +dnl -------------- dnl -------------- dnl Attempt to determine the appropriate CC/LD options for creating a shared dnl library. dnl -dnl Note: $(LOCAL_LDFLAGS) is used to link executables that will run within the +dnl Note: ${LOCAL_LDFLAGS} is used to link executables that will run within the dnl build-tree, i.e., by making use of the libraries that are compiled in ../lib dnl We avoid compiling-in a ../lib path for the shared library since that can dnl lead to unexpected results at runtime. -dnl $(LOCAL_LDFLAGS2) has the same intention but assumes that the shared libraries +dnl ${LOCAL_LDFLAGS2} has the same intention but assumes that the shared libraries dnl are compiled in ../../lib dnl dnl The variable 'cf_cv_do_symlinks' is used to control whether we configure @@ -3462,30 +3753,38 @@ AC_DEFUN([CF_SHARED_OPTS], case $cf_cv_system_name in beos*) - MK_SHARED_LIB='$(CC) -o $[@] -Xlinker -soname=`basename $[@]` -nostart -e 0' + MK_SHARED_LIB='${CC} ${CFLAGS} -o $[@] -Xlinker -soname=`basename $[@]` -nostart -e 0' ;; cygwin*) CC_SHARED_OPTS= - MK_SHARED_LIB='$(CC) -shared -Wl,--out-implib=$(IMPORT_LIB) -Wl,--export-all-symbols -o $(SHARED_LIB)' + MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,--out-implib=../lib/${IMPORT_LIB} -Wl,--export-all-symbols -o ../lib/${SHARED_LIB}' cf_cv_shlib_version=cygdll cf_cv_shlib_version_infix=cygdll ;; darwin*) EXTRA_CFLAGS="-no-cpp-precomp" CC_SHARED_OPTS="-dynamic" - MK_SHARED_LIB='$(CC) -dynamiclib -install_name $(DESTDIR)$(libdir)/`basename $[@]` -compatibility_version $(ABI_VERSION) -current_version $(ABI_VERSION) -o $[@]' + MK_SHARED_LIB='${CC} ${CFLAGS} -dynamiclib -install_name ${DESTDIR}${libdir}/`basename $[@]` -compatibility_version ${ABI_VERSION} -current_version ${ABI_VERSION} -o $[@]' test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=abi cf_cv_shlib_version_infix=yes + AC_CACHE_CHECK([if ld -search_paths_first works], cf_cv_ldflags_search_paths_first, [ + cf_save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -Wl,-search_paths_first" + AC_TRY_LINK(, [int i;], cf_cv_ldflags_search_paths_first=yes, cf_cv_ldflags_search_paths_first=no) + LDFLAGS=$cf_save_LDFLAGS]) + if test $cf_cv_ldflags_search_paths_first = yes; then + LDFLAGS="$LDFLAGS -Wl,-search_paths_first" + fi ;; hpux*) # (tested with gcc 2.7.2 -- I don't have c89) if test "$GCC" = yes; then - LD_SHARED_OPTS='-Xlinker +b -Xlinker $(libdir)' + LD_SHARED_OPTS='-Xlinker +b -Xlinker ${libdir}' else CC_SHARED_OPTS='+Z' - LD_SHARED_OPTS='-Wl,+b,$(libdir)' + LD_SHARED_OPTS='-Wl,+b,${libdir}' fi - MK_SHARED_LIB='$(LD) +b $(libdir) -b -o $[@]' + MK_SHARED_LIB='${LD} +b ${libdir} -b -o $[@]' # HP-UX shared libraries must be executable, and should be # readonly to exploit a quirk in the memory manager. INSTALL_LIB="-m 555" @@ -3494,79 +3793,76 @@ AC_DEFUN([CF_SHARED_OPTS], if test "$cf_cv_ld_rpath" = yes ; then if test "$GCC" = yes; then cf_ld_rpath_opt="-Wl,-rpath," - EXTRA_LDFLAGS="-Wl,-rpath,\$(libdir) $EXTRA_LDFLAGS" + EXTRA_LDFLAGS="-Wl,-rpath,\${libdir} $EXTRA_LDFLAGS" else cf_ld_rpath_opt="-rpath " - EXTRA_LDFLAGS="-rpath \$(libdir) $EXTRA_LDFLAGS" + EXTRA_LDFLAGS="-rpath \${libdir} $EXTRA_LDFLAGS" fi fi # tested with IRIX 5.2 and 'cc'. if test "$GCC" != yes; then CC_SHARED_OPTS='-KPIC' fi - MK_SHARED_LIB='$(LD) -shared -rdata_shared -soname `basename $[@]` -o $[@]' + MK_SHARED_LIB='${CC} -shared -rdata_shared -soname `basename $[@]` -o $[@]' cf_cv_rm_so_locs=yes ;; linux*|gnu*|k*bsd*-gnu) if test "$DFT_LWR_MODEL" = "shared" ; then - LOCAL_LDFLAGS="-Wl,-rpath,`pwd`/lib" + LOCAL_LDFLAGS="-Wl,-rpath,\$(LOCAL_LIBDIR)" LOCAL_LDFLAGS2="$LOCAL_LDFLAGS" fi if test "$cf_cv_ld_rpath" = yes ; then cf_ld_rpath_opt="-Wl,-rpath," - EXTRA_LDFLAGS="$LOCAL_LDFLAGS $EXTRA_LDFLAGS" + EXTRA_LDFLAGS="-Wl,-rpath,\${libdir} $EXTRA_LDFLAGS" fi - test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel - MK_SHARED_LIB='$(CC) -shared -Wl,-soname,`basename $[@] .$(REL_VERSION)`.$(ABI_VERSION),-stats,-lc -o $[@]' + CF_SHARED_SONAME + MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-soname,'$cf_shared_soname',-stats,-lc -o $[@]' ;; openbsd2*) CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC" - MK_SHARED_LIB='$(LD) -Bshareable -soname,`basename $[@].$(ABI_VERSION)` -o $[@]' + MK_SHARED_LIB='${LD} -Bshareable -soname,`basename $[@].${ABI_VERSION}` -o $[@]' ;; - freebsd[[45]]*) + openbsd*|freebsd[[23]]*) CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC" - MK_SHARED_LIB='$(LD) -Bshareable -soname=`basename $[@]` -o $[@]' + MK_SHARED_LIB='${LD} -Bshareable -o $[@]' test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel - -# This doesn't work - I keep getting spurious references to needing -# libncurses.so.5.3 when ldd says it's resolved. LOCAL_LDFLAGS2 seems to be -# no longer used anyway. And the rpath logic isn't relative - so I have to -# add the local and install lib-directories: -# -# if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_ld_rpath" = yes ; then -# LOCAL_LDFLAGS="-rpath `pwd`/lib" -# LOCAL_LDFLAGS2="-rpath \$(libdir) $LOCAL_LDFLAGS" -# cf_ld_rpath_opt="-rpath " -# EXTRA_LDFLAGS="$LOCAL_LDFLAGS $EXTRA_LDFLAGS" -# fi ;; - openbsd*|freebsd*) + freebsd*) CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC" - MK_SHARED_LIB='$(LD) -Bshareable -o $[@]' - test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel + if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_ld_rpath" = yes ; then + LOCAL_LDFLAGS="-rpath \$(LOCAL_LIBDIR)" + LOCAL_LDFLAGS2="-rpath \${libdir} $LOCAL_LDFLAGS" + cf_ld_rpath_opt="-rpath " + EXTRA_LDFLAGS="-rpath \${libdir} $EXTRA_LDFLAGS" + fi + CF_SHARED_SONAME + MK_SHARED_LIB='${LD} -Bshareable -soname=`basename $[@]` -o $[@]' ;; netbsd*) CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC" test "$cf_cv_ld_rpath" = yes && cf_ld_rpath_opt="-Wl,-rpath," if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_ld_rpath" = yes ; then - LOCAL_LDFLAGS="-Wl,-rpath,`pwd`/lib" + LOCAL_LDFLAGS="-Wl,-rpath,\$(LOCAL_LIBDIR)" LOCAL_LDFLAGS2="$LOCAL_LDFLAGS" - EXTRA_LDFLAGS="-Wl,-rpath,\$(libdir) $EXTRA_LDFLAGS" - MK_SHARED_LIB='$(CC) -shared -Wl,-soname,`basename $[@] .$(REL_VERSION)`.$(ABI_VERSION) -o $[@]' + EXTRA_LDFLAGS="-Wl,-rpath,\${libdir} $EXTRA_LDFLAGS" if test "$cf_cv_shlib_version" = auto; then - if test ! -f /usr/libexec/ld.elf_so; then + if test -f /usr/libexec/ld.elf_so; then + cf_cv_shlib_version=abi + else cf_cv_shlib_version=rel fi fi + CF_SHARED_SONAME + MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-soname,'$cf_shared_soname' -o $[@]' else - MK_SHARED_LIB='$(LD) -Bshareable -o $[@]' + MK_SHARED_LIB='${LD} -Bshareable -o $[@]' fi ;; osf*|mls+*) # tested with OSF/1 V3.2 and 'cc' # tested with OSF/1 V3.2 and gcc 2.6.3 (but the c++ demo didn't # link with shared libs). - MK_SHARED_LIB='$(LD) -set_version $(REL_VERSION):$(ABI_VERSION) -expect_unresolved "*" -shared -soname `basename $[@]`' + MK_SHARED_LIB='${LD} -set_version ${REL_VERSION}:${ABI_VERSION} -expect_unresolved "*" -shared -soname `basename $[@]`' case $host_os in osf4*) MK_SHARED_LIB="${MK_SHARED_LIB} -msym" @@ -3574,7 +3870,7 @@ AC_DEFUN([CF_SHARED_OPTS], esac MK_SHARED_LIB="${MK_SHARED_LIB}"' -o $[@]' if test "$DFT_LWR_MODEL" = "shared" ; then - LOCAL_LDFLAGS="-Wl,-rpath,`pwd`/lib" + LOCAL_LDFLAGS="-Wl,-rpath,\$(LOCAL_LIBDIR)" LOCAL_LDFLAGS2="$LOCAL_LDFLAGS" fi if test "$cf_cv_ld_rpath" = yes ; then @@ -3588,13 +3884,13 @@ AC_DEFUN([CF_SHARED_OPTS], if test "$GCC" != yes; then CC_SHARED_OPTS='-belf -KPIC' fi - MK_SHARED_LIB='$(LD) -dy -G -h `basename $[@] .$(REL_VERSION)`.$(ABI_VERSION) -o [$]@' + MK_SHARED_LIB='${LD} -dy -G -h `basename $[@] .${REL_VERSION}`.${ABI_VERSION} -o [$]@' if test "$cf_cv_ld_rpath" = yes ; then # only way is to set LD_RUN_PATH but no switch for it RUN_PATH=$libdir fi test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel - LINK_PROGS='LD_RUN_PATH=$(libdir)' + LINK_PROGS='LD_RUN_PATH=${libdir}' LINK_TESTS='Pwd=`pwd`;LD_RUN_PATH=`dirname $${Pwd}`/lib' ;; sunos4*) @@ -3602,7 +3898,7 @@ AC_DEFUN([CF_SHARED_OPTS], if test "$GCC" != yes; then CC_SHARED_OPTS='-KPIC' fi - MK_SHARED_LIB='$(LD) -assert pure-text -o $[@]' + MK_SHARED_LIB='${LD} -assert pure-text -o $[@]' test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel ;; solaris2*) @@ -3610,23 +3906,23 @@ AC_DEFUN([CF_SHARED_OPTS], if test "$GCC" != yes; then CC_SHARED_OPTS='-KPIC' fi - MK_SHARED_LIB='$(LD) -dy -G -h `basename $[@] .$(REL_VERSION)`.$(ABI_VERSION) -o $[@]' if test "$DFT_LWR_MODEL" = "shared" ; then - LOCAL_LDFLAGS="-R `pwd`/lib:\$(libdir)" + LOCAL_LDFLAGS="-R \$(LOCAL_LIBDIR):\${libdir}" LOCAL_LDFLAGS2="$LOCAL_LDFLAGS" fi if test "$cf_cv_ld_rpath" = yes ; then cf_ld_rpath_opt="-R" EXTRA_LDFLAGS="$LOCAL_LDFLAGS $EXTRA_LDFLAGS" fi - test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel + CF_SHARED_SONAME + MK_SHARED_LIB='${CC} -dy -G -h '$cf_shared_soname' -o $[@]' ;; sysv5uw7*|unix_sv*) # tested with UnixWare 7.1.0 (gcc 2.95.2 and cc) if test "$GCC" != yes; then CC_SHARED_OPTS='-KPIC' fi - MK_SHARED_LIB='$(LD) -d y -G -o [$]@' + MK_SHARED_LIB='${LD} -d y -G -o [$]@' ;; *) CC_SHARED_OPTS='unknown' @@ -3656,7 +3952,7 @@ AC_DEFUN([CF_SHARED_OPTS], LIBS="$cf_save_LIBS" AC_MSG_RESULT($cf_rpath_space) test "$cf_rpath_space" = yes && cf_ld_rpath_opt="$cf_ld_rpath_opt " - MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\$(libdir)" + MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\${libdir}" fi AC_SUBST(CC_SHARED_OPTS) @@ -3670,6 +3966,83 @@ AC_DEFUN([CF_SHARED_OPTS], AC_SUBST(INSTALL_LIB) ])dnl dnl --------------------------------------------------------------------------- +dnl CF_SHARED_SONAME version: 2 updated: 2006/10/21 12:33:41 +dnl ---------------- +dnl utility macro for CF_SHARED_OPTS, constructs "$cf_shared_soname" for +dnl substitution into MK_SHARED_LIB string for the "-soname" (or similar) +dnl option. +dnl +dnl $1 is the default that should be used for "$cf_cv_shlib_version". +dnl If missing, use "rel". +define([CF_SHARED_SONAME], +[ + test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=ifelse($1,,rel,$1) + if test "$cf_cv_shlib_version" = rel; then + cf_shared_soname='`basename $[@] .${REL_VERSION}`.${ABI_VERSION}' + else + cf_shared_soname='`basename $[@]`' + fi +]) +dnl --------------------------------------------------------------------------- +dnl CF_SIGWINCH version: 1 updated: 2006/04/02 16:41:09 +dnl ----------- +dnl Use this macro after CF_XOPEN_SOURCE, but do not require it (not all +dnl programs need this test). +dnl +dnl This is really a MacOS X 10.4.3 workaround. Defining _POSIX_C_SOURCE +dnl forces SIGWINCH to be undefined (breaks xterm, ncurses). Oddly, the struct +dnl winsize declaration is left alone - we may revisit this if Apple choose to +dnl break that part of the interface as well. +AC_DEFUN([CF_SIGWINCH], +[ +AC_CACHE_CHECK(if SIGWINCH is defined,cf_cv_define_sigwinch,[ + AC_TRY_COMPILE([ +#include +#include +],[int x = SIGWINCH], + [cf_cv_define_sigwinch=yes], + [AC_TRY_COMPILE([ +#undef _XOPEN_SOURCE +#undef _POSIX_SOURCE +#undef _POSIX_C_SOURCE +#include +#include +],[int x = SIGWINCH], + [cf_cv_define_sigwinch=maybe], + [cf_cv_define_sigwinch=no]) +]) +]) + +if test "$cf_cv_define_sigwinch" = maybe ; then +AC_CACHE_CHECK(for actual SIGWINCH definition,cf_cv_fixup_sigwinch,[ +cf_cv_fixup_sigwinch=unknown +cf_sigwinch=32 +while test $cf_sigwinch != 1 +do + AC_TRY_COMPILE([ +#undef _XOPEN_SOURCE +#undef _POSIX_SOURCE +#undef _POSIX_C_SOURCE +#include +#include +],[ +#if SIGWINCH != $cf_sigwinch +make an error +#endif +int x = SIGWINCH], + [cf_cv_fixup_sigwinch=$cf_sigwinch + break]) + +cf_sigwinch=`expr $cf_sigwinch - 1` +done +]) + + if test "$cf_cv_fixup_sigwinch" != unknown ; then + CPPFLAGS="$CPPFLAGS -DSIGWINCH=$cf_cv_fixup_sigwinch" + fi +fi +])dnl +dnl --------------------------------------------------------------------------- dnl CF_SIZECHANGE version: 8 updated: 2000/11/04 12:22:16 dnl ------------- dnl Check for definitions & structures needed for window size-changing @@ -3944,7 +4317,7 @@ if test "$ac_cv_header_termios_h" = yes ; then fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_SUBST version: 2 updated: 1997/09/06 23:41:28 +dnl CF_SUBST version: 4 updated: 2006/06/17 12:33:03 dnl -------- dnl Shorthand macro for substituting things that the user may override dnl with an environment variable. @@ -3955,21 +4328,40 @@ dnl $3 = default value AC_DEFUN([CF_SUBST], [AC_CACHE_VAL(cf_cv_subst_$2,[ AC_MSG_CHECKING(for $1 (symbol $2)) -test -z "[$]$2" && $2=$3 +CF_SUBST_IF([-z "[$]$2"], [$2], [$3]) +cf_cv_subst_$2=[$]$2 AC_MSG_RESULT([$]$2) +]) +])dnl +dnl --------------------------------------------------------------------------- +dnl CF_SUBST_IF version: 2 updated: 2006/06/17 12:33:03 +dnl ----------- +dnl Shorthand macro for substituting things that the user may override +dnl with an environment variable. +dnl +dnl $1 = condition to pass to "test" +dnl $2 = environment variable +dnl $3 = value if the test succeeds +dnl $4 = value if the test fails +AC_DEFUN([CF_SUBST_IF], +[ +if test $1 ; then + $2=$3 +ifelse($4,,,[else + $2=$4]) +fi AC_SUBST($2) -cf_cv_subst_$2=[$]$2]) -$2=${cf_cv_subst_$2} ])dnl dnl --------------------------------------------------------------------------- -dnl CF_SUBST_NCURSES_VERSION version: 7 updated: 2003/06/07 16:22:51 +dnl CF_SUBST_NCURSES_VERSION version: 8 updated: 2006/09/16 11:40:59 dnl ------------------------ dnl Get the version-number for use in shared-library naming, etc. AC_DEFUN([CF_SUBST_NCURSES_VERSION], [ -NCURSES_MAJOR="`egrep '^NCURSES_MAJOR[[ ]]*=' $srcdir/dist.mk | sed -e 's/^[[^0-9]]*//'`" -NCURSES_MINOR="`egrep '^NCURSES_MINOR[[ ]]*=' $srcdir/dist.mk | sed -e 's/^[[^0-9]]*//'`" -NCURSES_PATCH="`egrep '^NCURSES_PATCH[[ ]]*=' $srcdir/dist.mk | sed -e 's/^[[^0-9]]*//'`" +AC_REQUIRE([CF_PROG_EGREP]) +NCURSES_MAJOR="`$ac_cv_prog_egrep '^NCURSES_MAJOR[[ ]]*=' $srcdir/dist.mk | sed -e 's/^[[^0-9]]*//'`" +NCURSES_MINOR="`$ac_cv_prog_egrep '^NCURSES_MINOR[[ ]]*=' $srcdir/dist.mk | sed -e 's/^[[^0-9]]*//'`" +NCURSES_PATCH="`$ac_cv_prog_egrep '^NCURSES_PATCH[[ ]]*=' $srcdir/dist.mk | sed -e 's/^[[^0-9]]*//'`" cf_cv_abi_version=${NCURSES_MAJOR} cf_cv_rel_version=${NCURSES_MAJOR}.${NCURSES_MINOR} dnl Show the computed version, for logging @@ -4010,7 +4402,16 @@ AC_MSG_RESULT($cf_cv_sys_time_select) test "$cf_cv_sys_time_select" = yes && AC_DEFINE(HAVE_SYS_TIME_SELECT) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_TYPEOF_CHTYPE version: 6 updated: 2005/06/25 16:16:34 +dnl CF_TOP_BUILDDIR version: 1 updated: 2006/10/15 16:33:23 +dnl --------------- +dnl Define a top_builddir symbol, for applications that need an absolute path. +AC_DEFUN([CF_TOP_BUILDDIR], +[ +top_builddir=`pwd` +AC_SUBST(top_builddir) +])dnl +dnl --------------------------------------------------------------------------- +dnl CF_TYPEOF_CHTYPE version: 8 updated: 2006/12/16 12:33:30 dnl ---------------- dnl Determine the type we should use for chtype (and attr_t, which is treated dnl as the same thing). We want around 32 bits, so on most machines want a @@ -4048,7 +4449,7 @@ int main() fputs(result, fp); fclose(fp); } - exit(0); + ${cf_cv_main_return:-return}(0); } ], [cf_cv_typeof_chtype=`cat cf_test.out`], @@ -4179,42 +4580,41 @@ $1_ABI=$cf_cv_abi_version ]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_WITH_DBMALLOC version: 4 updated: 2004/02/28 05:49:27 +dnl CF_WITH_DBMALLOC version: 6 updated: 2006/12/16 14:24:05 dnl ---------------- dnl Configure-option for dbmalloc. The optional parameter is used to override dnl the updating of $LIBS, e.g., to avoid conflict with subsequent tests. AC_DEFUN([CF_WITH_DBMALLOC],[ -AC_MSG_CHECKING(if you want to link with dbmalloc for testing) -AC_ARG_WITH(dbmalloc, - [ --with-dbmalloc use Conor Cahill's dbmalloc library], - [with_dbmalloc=$withval], - [with_dbmalloc=no]) -AC_MSG_RESULT($with_dbmalloc) +CF_NO_LEAKS_OPTION(dbmalloc, + [ --with-dbmalloc test: use Conor Cahill's dbmalloc library], + [USE_DBMALLOC]) + if test "$with_dbmalloc" = yes ; then AC_CHECK_HEADER(dbmalloc.h, [AC_CHECK_LIB(dbmalloc,[debug_malloc]ifelse($1,,[],[,$1]))]) fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_WITH_DMALLOC version: 4 updated: 2004/02/28 05:49:27 +dnl CF_WITH_DMALLOC version: 6 updated: 2006/12/16 14:24:05 dnl --------------- dnl Configure-option for dmalloc. The optional parameter is used to override dnl the updating of $LIBS, e.g., to avoid conflict with subsequent tests. AC_DEFUN([CF_WITH_DMALLOC],[ -AC_MSG_CHECKING(if you want to link with dmalloc for testing) -AC_ARG_WITH(dmalloc, - [ --with-dmalloc use Gray Watson's dmalloc library], - [with_dmalloc=$withval], - [with_dmalloc=no]) -AC_MSG_RESULT($with_dmalloc) +CF_NO_LEAKS_OPTION(dmalloc, + [ --with-dmalloc test: use Gray Watson's dmalloc library], + [USE_DMALLOC]) + if test "$with_dmalloc" = yes ; then AC_CHECK_HEADER(dmalloc.h, [AC_CHECK_LIB(dmalloc,[dmalloc_debug]ifelse($1,,[],[,$1]))]) fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_WITH_GPM version: 1 updated: 2005/06/25 15:47:45 +dnl CF_WITH_GPM version: 6 updated: 2006/12/17 11:12:09 dnl ----------- +dnl +dnl The option parameter (if neither yes/no) is assumed to be the name of +dnl the gpm library, e.g., for dynamic loading. AC_DEFUN([CF_WITH_GPM], [ AC_MSG_CHECKING(if you want to link with the GPM mouse library) @@ -4223,26 +4623,27 @@ AC_ARG_WITH(gpm, [with_gpm=$withval], [with_gpm=maybe]) AC_MSG_RESULT($with_gpm) + if test "$with_gpm" != no ; then - AC_CHECK_LIB(gpm,Gpm_Open,[ - AC_CHECK_HEADER(gpm.h,[ - AC_DEFINE(HAVE_GPM_H) - with_gpm=yes - ],[ - if test "$with_gpm" = yes ; then - AC_ERROR(Cannot find GPM header) - fi + AC_CHECK_HEADER(gpm.h,[ + AC_DEFINE(HAVE_GPM_H) + if test "$with_gpm" != yes && test "$with_gpm" != maybe ; then + CF_VERBOSE(assuming we really have GPM library) + AC_DEFINE(HAVE_LIBGPM) + else + AC_CHECK_LIB(gpm,Gpm_Open,[:],[ + AC_ERROR(Cannot link with GPM library) + fi + with_gpm=yes ]) ],[ - if test "$with_gpm" = yes ; then - AC_ERROR(Cannot link with GPM library) - fi + test "$with_gpm" != maybe && AC_MSG_WARN(Cannot find GPM header) with_gpm=no ]) fi ]) dnl --------------------------------------------------------------------------- -dnl CF_WITH_LIBTOOL version: 9 updated: 2004/01/16 14:55:37 +dnl CF_WITH_LIBTOOL version: 10 updated: 2006/10/14 15:23:15 dnl --------------- dnl Provide a configure option to incorporate libtool. Define several useful dnl symbols for the makefile rules. @@ -4282,8 +4683,8 @@ ifdef([AC_PROG_LIBTOOL],,[ LIBTOOL= ]) # common library maintenance symbols that are convenient for libtool scripts: -LIB_CREATE='$(AR) -cr' -LIB_OBJECT='$(OBJECTS)' +LIB_CREATE='${AR} -cr' +LIB_OBJECT='${OBJECTS}' LIB_SUFFIX=.a LIB_PREP="$RANLIB" @@ -4317,14 +4718,14 @@ ifdef([AC_PROG_LIBTOOL],[ AC_MSG_ERROR(Cannot find libtool) fi ])dnl - LIB_CREATE='$(LIBTOOL) --mode=link $(CC) -rpath $(DESTDIR)$(libdir) -version-info `cut -f1 $(srcdir)/VERSION` -o' - LIB_OBJECT='$(OBJECTS:.o=.lo)' + LIB_CREATE='${LIBTOOL} --mode=link ${CC} -rpath ${DESTDIR}${libdir} -version-info `cut -f1 ${srcdir}/VERSION` -o' + LIB_OBJECT='${OBJECTS}.o=.lo)' LIB_SUFFIX=.la - LIB_CLEAN='$(LIBTOOL) --mode=clean' - LIB_COMPILE='$(LIBTOOL) --mode=compile' - LIB_LINK='$(LIBTOOL) --mode=link' - LIB_INSTALL='$(LIBTOOL) --mode=install' - LIB_UNINSTALL='$(LIBTOOL) --mode=uninstall' + LIB_CLEAN='${LIBTOOL} --mode=clean' + LIB_COMPILE='${LIBTOOL} --mode=compile' + LIB_LINK='${LIBTOOL} --mode=link' + LIB_INSTALL='${LIBTOOL} --mode=install' + LIB_UNINSTALL='${LIBTOOL} --mode=uninstall' LIB_PREP=: # Show the version of libtool @@ -4371,7 +4772,7 @@ AC_SUBST(LIB_UNINSTALL) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_WITH_PATH version: 6 updated: 1998/10/11 00:40:17 +dnl CF_WITH_PATH version: 7 updated: 2006/08/03 15:20:08 dnl ------------ dnl Wrapper for AC_ARG_WITH to ensure that user supplies a pathname, not just dnl defaulting to yes/no. @@ -4386,7 +4787,7 @@ AC_DEFUN([CF_WITH_PATH], [AC_ARG_WITH($1,[$2 ](default: ifelse($4,,empty,$4)),, ifelse($4,,[withval="${$3}"],[withval="${$3-ifelse($5,,$4,$5)}"]))dnl CF_PATH_SYNTAX(withval) -eval $3="$withval" +$3="$withval" AC_SUBST($3)dnl ])dnl dnl --------------------------------------------------------------------------- @@ -4487,10 +4888,19 @@ test "$cf_with_sysmouse" = yes && AC_DEFINE(USE_SYSMOUSE) fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_XOPEN_SOURCE version: 22 updated: 2005/08/06 18:06:32 +dnl CF_WITH_VALGRIND version: 1 updated: 2006/12/14 18:00:21 +dnl ---------------- +AC_DEFUN([CF_WITH_VALGRIND],[ +CF_NO_LEAKS_OPTION(valgrind, + [ --with-valgrind test: use valgrind], + [USE_VALGRIND]) +])dnl +dnl --------------------------------------------------------------------------- +dnl CF_XOPEN_SOURCE version: 24 updated: 2006/04/02 16:41:09 dnl --------------- dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions, -dnl or adapt to the vendor's definitions to get equivalent functionality. +dnl or adapt to the vendor's definitions to get equivalent functionality, +dnl without losing the common non-POSIX features. dnl dnl Parameters: dnl $1 is the nominal value for _XOPEN_SOURCE @@ -4506,9 +4916,6 @@ case $host_os in #(vi aix[[45]]*) #(vi CPPFLAGS="$CPPFLAGS -D_ALL_SOURCE" ;; -darwin*) #(vi - # setting _XOPEN_SOURCE breaks things on Darwin - ;; freebsd*) #(vi # 5.x headers associate # _XOPEN_SOURCE=600 with _POSIX_C_SOURCE=200112L diff --git a/announce.html.in b/announce.html.in index 82079c36..84d5bbe1 100644 --- a/announce.html.in +++ b/announce.html.in @@ -1,6 +1,33 @@ @@ -42,274 +69,299 @@ the GNU distribution site

Release Notes

-This release is designed to be upward compatible from ncurses 5.0 through 5.4; +This release is designed to be upward compatible from ncurses 5.0 through 5.5; very few applications will require recompilation, depending on the platform. -These are the highlights from the change-log since ncurses 5.4 release. +These are the highlights from the change-log since ncurses 5.5 release.

Interface changes:

    -
  • terminfo installs "xterm-new" as "xterm" entry rather than - "xterm-old" (aka xterm-r6). - -
  • terminfo data is installed using the tic -x option (few systems - still use ncurses 4.2). - -
  • modify C++ binding to work with newer C++ compilers by providing - initializers and using modern casts. Old-style header names are - still used in this release to allow compiling with not-so-old - compilers. - -
  • modify parameter type in c++ binding for insch() and mvwinsch() to - be consistent with underlying ncurses library (was char, is chtype). - -
  • change NCursesWindow::err_handler() to a virtual function. - -
  • form and menu libraries now work with wide-character data. - Applications which bypassed the form library and manipulated the - FIELD.buf data directly will not work properly with libformw, - since that no longer points to an array of char. The - set_field_buffer() and field_buffer() functions translate to/from - the actual field data. - - -
  • add symbol to curses.h which can be used to suppress include of - stdbool.h, e.g., -
    -                #define NCURSES_ENABLE_STDBOOL_H 0
    -                #include <curses.h>
    -          
    - -
  • change SP->_current_attr to a pointer, adjust ifdef's to ensure - that libtinfo.so and libtinfow.so have the same ABI. The reason - for this is that the corresponding data which belongs to the - upper-level ncurses library has a different size in each model. - -
  • winnstr() now returns multibyte character strings for the - wide-character configuration. - -
  • assume_default_colors() no longer requires that - use_default_colors() be called first. - -
  • data_ahead() now works with wide-characters. - -
  • slk_set() and slk_wset() now accept and store multibyte or - multicolumn characters. - -
  • start_color() now returns OK if colors have - already been started. - start_color() also returns ERR if it cannot allocate memory. - -
  • pair_content() now returns -1 for consistency with init_pair() - if it corresponds to the default-color. - -
  • unctrl() now returns null if its parameter does not correspond - to an unsigned char. +
  • generate linkable stubs for some macros: +
    + getbegx, getbegy, getcurx, getcury, getmaxx, getmaxy, getparx, + getpary, getpary, +
    + and (for libncursesw) +
    + wgetbkgrnd
New features and improvements:
  • library -
      -
    • environment variable NCURSES_NO_UTF8_ACS supports - miscellaneous terminal emulators which ignore alternate - character set escape sequences when in UTF-8 mode. - -
    • modify initialization of key lookup table so that if an extended - capability (tic -x) string is defined, and its name begins with 'k', - ncurses will automatically treat it as a key. +
        +
      • support hashed databases for the terminal descriptions. + This uses the Berkeley database, has been tested for + several versions on different platforms. + +
      • add use_legacy_coding() function to support + lynx's font-switching feature. + +
      • add extension nofilter(), to cancel a prior + filter() call. + +
      • add/install a package config script, e.g., + ncurses5-config or + ncursesw5-config, according to + configuration options. + +
      • provide ifdef for NCURSES_NOMACROS which + suppresses most macro definitions from curses.h, i.e., + where a macro is defined to override a function to improve + performance. + +
      • make ifdef's consistent in curses.h for the + extended colors so the header file can be used for the + normal curses library. The header file installed for + extended colors is a variation of the wide-character + configuration. + +
      • improve tgetstr() by making the return value + point into the user's buffer, if provided. + +
      • add ifdef's allowing ncurses to be built with + tparm() using either varargs (the existing + status), or using a fixed-parameter list (to match X/Open). + +
      • widen the test for xterm kmous a little to + allow for other + strings than "\E[M", e.g., for xterm-sco + functionality in xterm. + +
      • modify wgetnstr() to return + KEY_RESIZE if a sigwinch occurs. + +
      • move prototypes for wide-character trace functions from + curses.tail to curses.wide to avoid accidental reference to + those if _XOPEN_SOURCE_EXTENDED is defined + without ensuring that <wchar.h> is included. + +
      • change the way shared libraries (other than libtool) are + installed. Rather than copying the build-tree's libraries, + link the shared objects into the install directory. This + makes the --with-rpath option work except with + $(DESTDIR). + +
      • several improvements for rendering in hpterm. These are + only available if the library is configured using + --enable-xmc-glitch. + +
      • Add NCURSES_NO_HARD_TABS and + NCURSES_NO_MAGIC_COOKIE environment variables + to allow runtime suppression of the related hard-tabs and + xmc-glitch features. +
      -
    • change GPM initialization, using dl library to load it - dynamically at runtime. - -
    • form, menu and panel libraries support debug-tracing. - -
    +
  • programs: +
      +
    • add new test programs: chgat.c, demo_altkeys.c, + echochar.c, foldkeys.c, movewindow.c, redraw.c, (noting + that existing test programs also were modified to test + additional features). + +
    • modify tack to test extended capability function-key + strings. + +
    • modify toe to access termcap data, e.g., via cgetent() + functions, or as a text file if those are not available. + +
    • improve infocmp/tic -f option formatting. + +
    • add toe -a option, to show all databases. + This uses new private interfaces in the ncurses library for + iterating through the list of databases. + +
    • modify MKfallback.sh to use + tic -x when constructing fallback tables to + allow extended capabilities to be retrieved from a fallback entry. +
    + +
  • terminal database +
      +
    • add terminfo entries for xfce terminal (xfce) and multi gnome terminal (mgt) +
    • add nsterm-16color entry +
    • updated mlterm terminfo entry +
    • add kon, kon2 and jfbterm terminfo entry +
    • remove invis capability from klone+sgr, mainly used by linux entry, since it does not really do this +
    • add ka2, kb1, kb3, kc2 to vt220-keypad as an extension +
    • add shifted up/down arrow codes to xterm-new as kind/kri strings +
    • add hpterm-color terminfo entry +
    • add 256color variants of terminfo entries for programs which are reported to implement this feature +
    • correct order of use-clauses in rxvt-basic entry which made codes for f1-f4 vt100-style rather than vt220-style. +
    +
+Major bug fixes: +
    +
  • correct a typo in configure --with-bool option for the + case where --without-cxx is used. -
  • add NCURSES-Programming-HOWTO.html by Pradeep Padala - (see http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/). +
  • move assignment from environment variable ESCDELAY + from initscr() down to newterm() so the + environment variable affects timeouts for terminals opened with + newterm() as well. -
  • programs: +
  • modify werase to clear multicolumn characters that + extend into a derived window. -
  • infocmp: -
      -
    • The -i option now matches 8-bit controls against its table - entries, e.g., so it can analyze the xterm-8bit entry. +
    • modify wchgat() to mark updated cells as changed so a + refresh will repaint those cells. -
    • add "-x" option to infocmp like tic's "-x", for use in "-F" - comparisons. This modifies infocmp to only report extended - capabilities if the -x option is given, making this more - consistent with tic. Some scripts may break, since infocmp - previous gave this information without an option. +
    • correct logic in wadd_wch() and + wecho_wch(), which did not guard against passing the + multi-column attribute into a call on waddch(), e.g., + using data returned by win_wch() -
    +
  • fix redrawing of windows other than stdscr using + wredrawln() by touching the corresponding rows in + curscr. -
  • tic: +
  • reduce memory leaks in repeated calls to tgetent() by + remembering the last TERMINAL* value allocated to hold + the corresponding data and freeing that if the + tgetent() result buffer is the same as the previous + call. -
      +
    • modify read_termtype() so the term_names + data is always allocated as part of the str_table, a + better fix for a memory leak. -
    • modify termcap-parsing to retain 2-character aliases at the - beginning of an entry if the "-x" option is used in tic. +
    • fix wins_nwstr(), which did not handle single-column + non-8bit codes. -
    • filter out long extended names when translating to termcap - format. Only two characters are permissible for termcap - capability names. +
    • modify wbkgrnd() to avoid clearing the + A_CHARTEXT attribute bits since those record the state + of multicolumn characters. -
    • correct translation of "%%" in terminfo format to termcap, - e.g., using "tic -C". +
    • improve SIGWINCH handling by postponing its effect + during newterm(), etc., when allocating screens. -
    • modify the "-c -v" options to ignore delays when comparing - strings. Also modify it to ignore a canceled sgr string, - e.g., for terminals which cannot properly combine attributes - in one control sequence. +
    • remove 970913 feature for copying subwindows as they are moved in + mvwin(). -
    • add a check for improperly ended strings, i.e., where a - following line begins in column 1. +
    • add checks in waddchnstr() and + wadd_wchnstr() to stop copying when a null character + is found. -
    • add a check in tic for terminfo entries having an sgr0 but no - sgr string. This confuses Tru64 and HPUX curses when combined - with color, e.g., making them leave line-drawing characters in - odd places. +
    • add some checks to ensure current position is within scrolling + region before scrolling on a new line. -
    • add check (with debug configuration) that provides about the - runtime changes that would be made to sgr0 for termcap - applications. +
    • add a workaround to ACS mapping to allow applications such as + test/blue.c to use the "PC ROM" characters by masking them with + A_ALTCHARSET. This worked up til 5.5, but was lost in the revision + of legacy coding. +
    -
+Portability: +
    +
  • configure script: +
      +
    • new options: +
      -
    • tset: +
      --with-hashed-db +
      Use Berkeley hashed database for storing terminfo data rather than storing + each compiled entry in a separate binary file within a directory + tree. -
        +
        --without-dlsym +
        Do not use dlsym() to load GPM dynamically. -
      • add -c and -w options to allow user to suppress ncurses' - resizing of the terminal emulator window in the special case - where it is not able to detect the true size. +
        --with-valgrind +
        Simplify building for testing with valgrind. -
      +
      --enable-wgetch-events +
      Compile with experimental wgetch-events code. -
    -Major bug fixes: -
      +
      --enable-signed-char +
      Store booleans in "signed char" rather than "char". -
    • improve logic in tgetent() which adjusts the termcap "me" string - to work with ISO-2022 string used in xterm-new. - This is a feature that was incompletely implemented in ncurses 5.3. - ncurses attempts to provide termcap clients with the portion of - the sgr0 (termcap "me") string that does not reset line-drawing. + -
    • cells in the WINDOW which are continuations of a multicolumn - character are encoded differently, making repainting more - reliable. +
    • improved options: +
      -
    • amend change to setupterm() in ncurses 5.4 (20030405) which would - reuse the value of cur_term if the same output was selected. This - now reuses it only when setupterm() is called from tgetent(), - which has no notion of separate SCREENs. Note that tgetent() must - be called after initscr() or newterm() to use this feature. +
      --disable-largefile +
      make the option work both ways. -
    • make setcchar() now works when its wchar_t* parameter is - pointing to a string which contains more data than can be converted. +
      --with-gpm +
      The option now accepts a parameter, + i.e., the name of the dynamic GPM library to load via + dlopen() -
    • win_wchnstr() now works for more than one cell. +
      --disable-symlinks +
      The option now allows one to + disable symlink() in tic even when + link() does not work. -
    • resizeterm() now processes all levels of window hierarchy. +
    • -
    • disable GPM mouse support when $TERM happens to be prefixed with - "xterm". Gpm_Open() would otherwise assert that it can deal with - mouse events in this case. +
    -
  • add SP->_screen_acs_map[], used to ensure that mapping of missing - line-drawing characters is handled properly. For example, ACS_DARROW - is absent from xterm-new, and it was coincidentally displayed the - same as ACS_BTEE. +
  • other configure/build issues:
    • remove special case for + Darwin in CF_XOPEN_SOURCE configure macro. -
    +
  • add configure check to ensure that SIGWINCH is + defined on platforms such as OS X which exclude that when + _XOPEN_SOURCE, etc., are defined -Portability: -
      -
    • configure script: -
        -
      • new options: -
        -
        --enable-largefile -
        set compiler and linker flags to use largefile support. +
      • use ld's -search_paths_first option on Darwin + to work around odd search rules on that platform. -
        --enable-ext-colors -
        Allow encoding of 256 foreground - and background colors, e.g., with the xterm-256color or - xterm-88color terminfo entries. - This requires ABI 6 because it changes the size of cchar_t. +
      • improve ifdef's for _POSIX_VDISABLE in tset to + work with Mac OS X. -
        --enable-ext-mouse -
        This defines NCURSES_MOUSE_VERSION 2, and modifies the encoding of - mouse events to support wheel mice, which may transmit buttons - 4 and 5. This works with xterm and similar terminal - emulators. - This requires ABI 6 because it changes the encoding of - mouse events. +
      • modify configure script to ensure that if the C compiler is + used rather than the loader in making shared libraries, the + $(CFLAGS) variable is also used. -
        --with-chtype -
        overriding of the non-LP64 model's use of chtype +
      • use ${CC} rather than ${LD} in + shared library rules for IRIX64, Solaris to help ensure + that initialization sections are provided for extra linkage + requirements, e.g., of C++ applications. -
        --with-mmask-t -
        overriding of the non-LP64 model's use of mmask_t +
      • improve some shared-library configure scripting for Linux, + FreeBSD and NetBSD to make + --with-shlib-version work. -
        --without-xterm-new -
        Installs "xterm-old" as the "xterm" entry of the terminfo - database. +
      • split up dependency of names.c and + codes.c in ncurses/Makefile to + work with parallel make. -
      • +
      • modify MKlib_gen.sh to change + preprocessor-expanded _Bool back to bool. -
      • The --with-termlib option now accepts a value which sets - the name of the terminfo library. This would allow a packager to - build libtinfow.so renamed to coincide with libtinfo.so +
      • modify progs/Makefile.in to make + tput init work properly with cygwin, + i.e., do not pass a .exe in the reference + string used in check_aliases. +
      -
    • fixes/improvements for cross-compiling: +
    • library: +
        +
      • ignore wide-acs line-drawing characters that + wcwidth() claims are not one-column. This is + a workaround for Solaris' broken locale support. -
          -
        • suppress $suffix in misc/run_tic.sh when cross-compiling. - This allows cross-compiles to use the host's tic program to - handle the "make install.data" step. +
        • reduce name-pollution in term.h by removing + #define's for HAVE_xxx symbols. -
        • correct BUILD_CPPFLAGS substitution in ncurses/Makefile.in, to allow - cross-compiling from a separate directory tree. +
        • fix #ifdef in c++/internal.h for + QNX 6.1 +
        -
      +
    • test programs:
      • modify test/configure script + to allow building test programs with PDCurses/X11. -
      +
    • modified test programs to allow some to work with NetBSD + curses. Several do not because NetBSD curses implements a + subset of X/Open curses, and also lacks much of SVr4 + additions. But it is enough for comparison. -
    • library: -
        +
      • improved test/configure to build test/ncurses + on HPUX 11 using the vendor curses. -
      • add ifdef's for _LP64 in curses.h to avoid using wasteful - 64-bits for chtype and mmask_t, but add configure option - --disable-lp64 in case anyone used that configuration. - -
      • modify C++ binding to use some C internal functions to make it - compile properly on Solaris (and other platforms). - -
      • remove check in newwin() that prevents allocating windows that - extend beyond the screen (Solaris does this). - -
      • check for nl_langinfo(CODESET), use it if available. - This replaces ad hoc tests of environment variables to - check if the terminal is setup for UTF-8 encoding. - Applications which do not call setlocale() - should be corrected, to make them work properly with - UTF-8 encoding. -
        - In particular, applications which assume (and - do not call setlocale()) that - Latin-1 codes are printable will no longer work in - a UTF-8 locale since the ad hoc check of environment - variables to see if the locale was UTF-8 is not used - when nl_langinfo(CODESET) is available. - -
      • use setlocale() to query the program's current locale rather - than using getenv(). This supports applications which rely - upon legacy treatment of 8-bit characters when the locale is - not initialized. - -
      +
    • change configure script to produce + test/Makefile from data file. +

Features of Ncurses

@@ -338,14 +390,15 @@ The ncurses package also has many useful extensions over SVr4: