Commit Graph

42 Commits

Author SHA1 Message Date
Thomas E. Dickey
2ef2f5486d ncurses 6.3 - patch 20220226
+ fix issues found with coverity:
  + rewrite canonical_name() function of infocmp to ensure buffer size
  + corrected use of original tty-modes in tput init/reset subcommands
  + modify tabs program to limit tab-stop values to max-columns
  + add limit-checks for palette rgb values in test/ncurses.c
+ add a few null-pointer checks to help with static-analysis.
+ enforce limit on number of soft-keys used in c++ binding.
+ adjust a buffer-limit in write_entry.c to quiet a bogus warning from
  gcc 12.0.1
2022-02-27 01:00:55 +00:00
Thomas E. Dickey
f9994a48d2 ncurses 6.2 - patch 20211002
+ use return-value from vsnprintf to reallocate as needed to allow for
  buffers larger than the screen size (report by "_RuRo_").
+ modify tset "-q" option to refrain from modifying terminal modes, to
  match the documentation.
+ add section on margins to terminfo.5, adapted from X/Open Curses.
+ make tput/tset warning messages consistently using alias names when
  those are used, rather than the underlying program's name.
+ improve tput usage message for aliases such as clear, by eliminating
  tput-specific portions.
+ add a check in toe to ensure that a "termcap file" is text rather
  than binary.
+ further build-fixes for OpenBSD 6.9, whose header files differ from
  the other BSDs.
2021-10-03 00:30:14 +00:00
Thomas E. Dickey
f6b436c4fb ncurses 6.2 - patch 20210925
+ add kbeg to xterm+keypad to accommodate termcap applications -TD
+ add smglp and smgrp to vt420+lrmm, to provide useful data for the
  "tabs" +m option -TD
+ build-fix for gcc 3.4.3 with Solaris10, which does not allow forward
  reference of anonymous struct typedef.
+ modify tput to allow multiple commands per line.
+ minor fixes for tset manpage.
2021-09-25 22:18:46 +00:00
Thomas E. Dickey
493e2f7b3f ncurses 6.2 - patch 20210821
+ improve tparm implementation of %P and %g, more closely matching
  SVr4 terminfo.
+ move internals of TERMINAL structure to new header term.priv.h
+ add "check" rule for ncurses/Makefile
+ corrected tsl capability for terminator -TD
+ add check in tic to report instances where tparm would detect an
  error in an expression (cf: 20201010).
+ correct a few places where SP->_pair_limit was used rather than
  SP->_pair_alloc (cf: 20170812).
+ fix missing "%d" for setaf/setab code 8-15 in xterm+direct16 (report
  by Florian Weimer) -TD
+ fix some documentation errata from OpenBSD changes.
+ update config.sub
2021-08-22 00:41:36 +00:00
Thomas E. Dickey
7f4b9f3906 ncurses 6.2 - patch 20210418
+ improve CF_LINK_FUNCS by ensuring that the source-file is closed
  before linking to the target.
+ add "check" rules for headers in c++, progs and test-directories.
+ build-fix for termsort module when configured with termcap (reports
  by Rajeev V Pillai, Rudi Heitbaum).
2021-04-19 00:00:48 +00:00
Thomas E. Dickey
a5fe3726f7 ncurses 6.2 - patch 20210417
+ extend --disable-pkg-ldflags option to also control whether $LDFLAGS
  from the build is provided in -config and .pc files (Debian #986764).
+ fix some cppcheck warnings, mostly style, in ncurses and c++
  libraries and progs directory.
+ fix off-by-one limit for tput's processing command-line arguments
  (patch by Hadrien Lacour).
2021-04-18 01:15:31 +00:00
Thomas E. Dickey
c2650100f8 ncurses 6.2 - patch 20210320
+ improve parameter-checking in tput by forcing it to analyze any
  extended string capability, e.g., as used in the Cs and Ms
  capabilities of the tmux description (report by Brad Town,
  cf: 20200531).
+ remove an incorrect free in the fallback (non-checking) version of
  _nc_free_and_exit (report by Miroslav Lichvar).
+ correct use-ordering in some xterm-direct flavors -TD
+ add hterm, hterm-256color (Mike Frysinger)
+ if the build-time compiler accepts c11's _Noreturn keyword, use that
  rather than gcc's attribute.
+ change configure-check for gcc's noreturn attribute to assume it is
  a prefix rather than suffix, matching c11's _Noreturn convention.
+ add "lint" rule to c++/Makefile, e.g., with cppcheck.
2021-03-21 01:09:34 +00:00
Thomas E. Dickey
7884aa084f ncurses 6.2 - patch 20201024
+ provide workaround configure-check for bool when cross-compiling.
+ fix a potential indexing error in _nc_parse_entry(), seen with
  Herlim's test data using address-sanitizer.
+ change a null-pointer check in set_curterm to a valid-string check,
  needed in to tic's use-resolution work pad_char is cancelled
  (report/testcase by Robert Sebastian Herlim)
+ improve tic's -c option to validate the number and type of parameters
  and compare against expected number/type before deciding which set of
  parameter-lists to use in tparm calls (report/testcase by Robert
  Sebastian Herlim).
+ fix a link for tabs.1 manpage in announce.html.in (report by Nick
  Black), as well as some fixes via linklint.
2020-10-25 01:07:10 +00:00
Thomas E. Dickey
790a85dbd4 ncurses 6.2 - patch 20200531
+ correct configure version-check/warnng for g++ to allow for 10.x
+ re-enable "bel" in konsole-base (report by Nia Huang)
+ add linux-s entry (patch by Alexandre Montaron).
+ drop long-obsolete convert_configure.pl
+ add test/test_parm.c, for checking tparm changes.
+ improve parameter-checking for tparm, adding function _nc_tiparm() to
  handle the most-used case, which accepts only numeric parameters
  (report/testcase by "puppet-meteor").
+ use a more conservative estimate of the buffer-size in lib_tparm.c's
  save_text() and save_number(), in case the sprintf() function
  passes-through unexpected characters from a format specifier
  (report/testcase by "puppet-meteor").
+ add a check for end-of-string in cvtchar to handle a malformed
  string in infotocap (report/testcase by "puppet-meteor").
2020-06-01 00:02:30 +00:00
Thomas E. Dickey
47d2fb4537 ncurses 6.2 - patch 20200212
+ update release notes
+ minor build-fixes, mostly to test-package scripts
+ modify check for sizeof(wchar_t) to ensure it gives useful result
  when cross-compiling.
+ drop assumption in configure script that Cygwin's linker is broken.
+ define NCURSES_BROKEN_LINKER if the broken-linker feature is used,
  to simplify configure-checks for ncurses-examples.
+ reassert copyright on ncurses, per discussion in ncurses FAQ:
  https://invisible-island.net/ncurses/ncurses.faq.html#relicensed
+ modify comparison in make_hash.c to correct a special case in
  collision handling for Caps-hpux11
+ add testing utility report_hashing to check hash-tables used for
  terminfo and termcap names.
+ fix a missing prototype for _nc_free_and_exit().
+ update a few comments about tack 1.07
+ use an awk script to split too-long pathnames used in Ada95 sample
  programs for explain.txt
2020-02-12 09:50:22 +00:00
Thomas E. Dickey
97df2f3356 ncurses 6.1 - patch 20190728
+ fix a few more coverity warnings.
+ more documentation updates based on tctest.
2019-07-29 00:58:02 +00:00
Thomas E. Dickey
78b0123661 ncurses 6.1 - patch 20180630
+ add acsc string to vi200 (Nibby Nebbulous)
  add right/down-arrow to vi200's acsc -TD
+ add "x" to tput's getopt string so that "tput -x clear" works
  (Nicholas Marriott).
+ minor fixes prompted by anonymous report on stack overflow:
  + correct order of checks in _nc_get_locale(), for systems lacking
    locale support.
  + add "#error" in a few places to flag unsupported configurations
2018-07-01 00:24:49 +00:00
Thomas E. Dickey
7fa7badf32 ncurses 6.0 - patch 20171014
+ minor cleanup to test/view.c:
  + eliminate "-n" option by simply reading the whole file.
  + implement page up/down commands.
+ add check in tput for init/reset operands to ensure those use a
  terminal.
+ improve manual pages which discuss chtype, cchar_t types and the
  attribute values which can be stored in those types.
+ correct array-index when parsing "-T" command-line option in tabs
  program.
+ modify demo_new_pair.c to pass extended pairs to setcchar().
+ add test/dots_xcurses.c to illustrate a different approach used for
  extended colors which can be contrasted with dots_curses.c.
+ add a check in tic to note when a description uses non-mandatory
  delays without xon_xoff.  This is not an error, but some descriptions
  for a terminal emulator may use the combination incorrectly.
2017-10-15 01:25:24 +00:00
Thomas E. Dickey
cd142df6d9 ncurses 6.0 - patch 20171007
+ modify "-T" option of clear and tput to call use_tioctl() to obtain
  the operating system's notion of the screensize if possible.
+ review/repair some exit-codes for tput, making usage-message exit
  with 2 rather than 1, and a failure to open terminal 4+errno.
+ amend check in tput, tabs and clear to allow those to use the
  database-only features in cron if a -T option gives a suitable
  terminal name (report by Lauri Tirkkonen).
+ correct an ifdef in test/ncurses.c for systems with soft-keys but
  not slk_color().
+ regenerate man-html documentation.
2017-10-08 00:48:04 +00:00
Thomas E. Dickey
a4dac84af1 ncurses 6.0 - patch 20170902
+ amend change for endwin-state for better consistency with the older
  logic (report/patch by Jeb Rosen, cf: 20170722).
+ modify check in fmt_entry() to handle a cancelled reset string
  (Debian #873746).  Make similar fixes in other parts of dump_entry.c
  and tput.c
2017-09-02 22:52:02 +00:00
Thomas E. Dickey
0485620c03 ncurses 6.0 - patch 20170819
+ update "iterm" entry -TD
+ add "iterm2" entry (report by Leonardo Brondani Schenkel) -TD
+ regenerate llib-* files.
+ regenerate HTML manpages.
+ improve picsmap test-program:
  + reduce memory used for tsearch
  + add report in log file showing cumulative color coverage.
+ add -x option to clear/tput to make the E3 extension optional
  (cf: 20130622).
+ add options -T and -V to clear command for compatibility with tput.
+ add usage message to clear command (Debian #371855).
+ improve usage messages for tset and tput.
+ minor fixes to "RDGB" extension and reset_color_pairs().
2017-08-20 00:59:28 +00:00
Thomas E. Dickey
dc690a36a0 ncurses 6.0 - patch 20170121
+ incorporate A_COLOR mask into COLOR_PAIR(), in case user application
  provides an out-of-range pair number (report by Elijah Stone).
+ clarify description in tput manual page regarding support for
  termcap names (prompted by FreeBSD #214709).
+ remove a restriction in tput's support for termcap names which
  omitted capabilities normally not shown in termcap translations
  (cf: 990123).
+ modify configure script for clang as used on FreeBSD, to work around
  clang's differences in exit codes vs gcc.
2017-01-22 02:22:50 +00:00
Thomas E. Dickey
58552e8c76 ncurses 6.0 - patch 20170107
+ amend changes for tput to reset tty modes to "sane" if the program
  is run as "reset", like tset.  Likewise, ensure that tset sends
  either reset- or init-strings.
+ improve manual page descriptions of tput init/reset and tset/reset,
  to make it easier to see how they are similar and different.
+ move a static result from key_name() to _nc_globals
+ modify _nc_get_screensize to allow for use_env() and use_tioctl()
  state to be per-screen when sp-funcs are configured, better matching
  the behavior when using the term-driver configuration.
+ improve cross-references in manual pages for often used functions
+ move SCREEN field for use_tioctl() data before the ncursesw fields,
  and limit that to the sp-funcs configuration to improve termlib
  compatibility (cf:  20120714).
+ correct order of initialization for traces in use_env() and
  use_tioctl() versus first trace calls.
2017-01-08 01:40:29 +00:00
Thomas E. Dickey
62ca6190a9 ncurses 6.0 - patch 20161224
+ correct parmeters for copywin call in _nc_Synchronize_Attributes()
  (patch by Leon Winter).
+ improve color-handling section in terminfo manual page (prompted by
  patch by Mihail Konev).
+ modify programs clear, tput and tset to pass the actual tty file
  descriptor to setupterm rather than the standard output, making
  padding work.
2016-12-25 01:53:57 +00:00
Thomas E. Dickey
f06e14af5e ncurses 6.0 - patch 20161022
+ modify tset -w (and tput reset) to update the program's copy of the
  screensize if it was already set in the system, to improve tabstop
  setting which relies upon knowing the actual screensize.
+ add functionality of tset -w to tput, like the "-c" feature this is
  not optional in tput.
+ add "clear" as a possible link/alias to tput.
+ improve tput's check for being called as "init" or "reset" to allow
  for transformed names.
+ split-out the "clear" function from progs/clear.c, share with
  tput to get the same behavior, e.g., the E3 extension.
2016-10-23 01:59:31 +00:00
Thomas E. Dickey
29a36e53e1 ncurses 6.0 - patch 20160820
+ update tput manual page to reflect changes to manipulate terminal
  modes by sharing functions with tset.
+ add the terminal-mode parts of "reset" (aka tset) to the "tput reset"
  command, making the two almost the same except for window-size.
+ adapt logic used in dialog "--keep-tite" option for test/filter.c as
  "-a" option.  When set, test/filter attempts to suppress the
  alternate screen.
+ correct a typo in interix entry -TD
2016-08-21 01:36:58 +00:00
Thomas E. Dickey
96592d7171 ncurses 6.0 - patch 20160806
+ improve CF_GNU_SOURCE configure macro to optionally define
  _DEFAULT_SOURCE work around a nuisance in recent glibc releases.
+ move the terminfo-specific parts of tput's "reset" function into
  the shared reset_cmd.c, making the two forms of reset use the same
  strings.
+ split-out the terminal initialization functions from tset as
  progs/reset_cmd.c, as part of changes to merge the reset-feature
  with tput.
2016-08-07 01:26:32 +00:00
Thomas E. Dickey
aabb3a65ee ncurses 5.9 - patch 20150523
+ add 'P' menu item to test/ncurses.c, to show pad in color.
+ improve discussion in curs_color.3x about color rendering (prompted
  by comment on Stack Overflow forum):
+ remove screen-bce.mlterm, since mlterm does not do "bce" -TD
+ add several screen.XXX entries to support the respective variations
  for 256 colors -TD
+ add putty+fnkeys* building-block entries -TD
+ add smkx/rmkx to capabilities analyzed with infocmp "-i" option.
2015-05-24 00:58:47 +00:00
Thomas E. Dickey
34d602f272 ncurses 5.9 - patch 20140524
+ fix typo in ncurses manpage for the NCURSES_NO_MAGIC_COOKIE
  environment variable.
+ improve discussion of input-echoing in curs_getch.3x
+ clarify discussion in curs_addch.3x of wrapping.
+ modify parametrized.h to make fln non-padded.
+ correct several entries which had termcap-style padding used in
  terminfo: adm21, aj510, alto-h19, att605-pc, x820 -TD
+ correct syntax for padding in some entries: dg211, h19 -TD
+ correct ti924-8 which had confused padding versus octal escapes -TD
+ correct padding in sbi entry -TD
+ fix an old bug in the termcap emulation; "%i" was ignored in tparm()
  because the parameters to be incremented were already on the internal
  stack (report by Corinna Vinschen).
+ modify tic's "-c" option to take into account the "-C" option to
  activate additional checks which compare the results from running
  tparm() on the terminfo expressions versus the translated termcap
  expressions.
+ modify tic to allow it to read from FIFOs (report by Matthieu Fronton,
  cf: 20120324).
> patches by Nicolas Boulenguez:
+ explicit dereferences to suppress some style warnings.
+ when c_varargs_to_ada.c includes its header, use double quotes
  instead of <>.
+ samples/ncurses2-util.adb:  removed unused with clause.  The warning
  was removed by an obsolete pragma.
+ replaced Unreferenced pragmas with Warnings (Off).  The latter,
  available with older GNATs, needs no configure test.  This also
  replaces 3 untested Unreferenced pragmas.
+ simplified To_C usage in trace handling.  Using two parameters allows
  some basic formatting, and avoids a warning about security with some
  compiler flags.
+ for generated Ada sources, replace many snippets with one pure
  package.
+ removed C_Chtype and its conversions.
+ removed C_AttrType and its conversions.
+ removed conversions between int, Item_Option_Set, Menu_Option_Set.
+ removed int, Field_Option_Set, Item_Option_Set conversions.
+ removed C_TraceType, Attribute_Option_Set conversions.
+ replaced C.int with direct use of Eti_Error, now enumerated.  As it
  was used in a case statement, values were tested by the Ada compiler
  to be consecutive anyway.
+ src/Makefile.in: remove duplicate stanza
+ only consider using a project for shared libraries.
+ style. Silent gnat-4.9 warning about misplaced "then".
+ generate shared library project to honor ADAFLAGS, LDFLAGS.
2014-05-25 01:22:18 +00:00
Thomas E. Dickey
e2dee48666 ncurses 5.9 - patch 20130928
+ some build-fixes for ncurses-examples with NetBSD-6.0 curses, though
  it lacks some common functions such as use_env() which is not yet
  addressed.
+ build-fix and some compiler warning fixes for ncurses-examples with
  OpenBSD 5.3
+ fix a possible null-pointer reference in a trace message from newterm.
+ quiet a few warnings from NetBSD 6.0 namespace pollution by
  nonstandard popcount() function in standard strings.h header.
+ ignore g++ 4.2.1 warnings for "-Weffc++" in c++/cursesmain.cc
+ fix a few overlooked places for --enable-string-hacks option.
2013-09-29 01:03:55 +00:00
Thomas E. Dickey
a3173aa5ed ncurses 5.9 - patch 20120218
+ correct CF_ETIP_DEFINES configure macro, making it exit properly on
  the first success (patch by Pierre Labastie).
+ improve configure macro CF_MKSTEMP by moving existence-check for
  mkstemp out of the AC_TRY_RUN, to help with cross-compiles.
+ improve configure macro CF_FUNC_POLL from luit changes to detect
  broken implementations, e.g., with Mac OS X.
+ add configure option --with-tparm-arg
+ build-fix for MinGW cross-compiling, so that make_hash does not
  depend on TTY definition (cf: 20111008).
2012-02-19 02:09:31 +00:00
Thomas E. Dickey
77afe78361 ncurses 5.7 - patch 20100109
+ modify configure macro CF_XOPEN_SOURCE, etc., to use CF_ADD_CFLAGS
  consistently to add new -D's while removing duplicates.
+ modify a few configure macros to consistently put new options
  before older in the list.
+ add tiparm(), based on review of X/Open Curses Issue 7.
+ minor documentation cleanup.
+ update config.guess, config.sub from
	http://savannah.gnu.org/projects/config
  (caveat - its maintainer put 2010 copyright date on files dated 2009)
2010-01-10 01:50:23 +00:00
Thomas E. Dickey
2debf76e0c ncurses 5.7 - patch 20091227
+ change order of lookup in progs/tput.c, looking for terminfo data
  first.  This fixes a confusion between termcap "sg" and terminfo
  "sgr" or "sgr0", originally from 990123 changes, but exposed by
  20091114 fixes for hashing.  With this change, only "dl" and "ed" are
  ambiguous (Mandriva #56272).
2009-12-27 16:59:25 +00:00
Thomas E. Dickey
684ea7a157 ncurses 5.7 - patch 20090314
+ modify scripts to generate ncurses*-config and pc-files to add
  dependency for tinfo library (patch by Charles Wilson).
+ improve comparison of program-names when checking for linked flavors
  such as "reset" by ignoring the executable suffix (reports by Charles
  Wilson, Samuel Thibault and Cedric Bretaudeau on Cygwin mailing
  list).
+ suppress configure check for static/dynamic linker flags for gcc on
  Solaris 10, since gcc is confused by absence of static libc, and
  does not switch back to dynamic mode before finishing the libraries
  (reports by Joel Bertrand, Alan Pae).
+ minor fixes to Intel compiler warning checks in configure script.
+ modify _nc_leaks_tinfo() so leak-checking in test/railroad.c works.
+ modify set_curterm() to make broken-linker configuration work with
  changes from 20090228 (report by Charles Wilson).
2009-03-15 01:02:54 +00:00
Thomas E. Dickey
2983c16f31 ncurses 5.6 - patch 20080713
+ build-fix (reports by Christian Ebert, Funda Wang).
2008-07-13 11:09:41 +00:00
Thomas E. Dickey
491a3f08b7 ncurses 5.6 - patch 20071013
+ modify makefile rules to allow clear, tput and tset to be built
  without libtic.  The other programs (infocmp, tic and toe) rely on
  that library.
+ add/modify null-pointer checks in several functions for SP and/or
  the WINDOW* parameter (report by Thorben Krueger).
+ fixes for field_buffer() in formw library (see Redhat Bugzilla
  #310071, patches by Miroslav Lichvar).
+ improve performance of NCURSES_CHAR_EQ code (patch by Miroslav
  Lichvar).
+ update/improve mlterm and rxvt terminfo entries, e.g., for
  the modified cursor- and keypad-keys -TD
2007-10-14 00:38:28 +00:00
Thomas E. Dickey
772f879d17 ncurses 5.6 - patch 20070721
+ change winnstr() to stop at the end of the line (cf: 970315).
+ add test/test_get_wstr.c
+ add test/test_getstr.c
+ add test/test_inwstr.c
+ add test/test_instr.c
2007-07-21 23:58:49 +00:00
Thomas E. Dickey
c13e57306a ncurses 5.6 - patch 20070714
+ add test/savescreen.c test-program
+ add check to trace-file open, if the given name is a directory, add
  ".log" to the name and try again.
+ add konsole-256color entry -TD
+ add extra gcc warning options from xterm.
+ minor fixes for ncurses/hashmap test-program.
+ modify configure script to quiet c++ build with libtool when the
  --disable-echo option is used.
+ modify configure script to disable ada95 if libtool is selected,
  writing a warning message (addresses FreeBSD ports/114493).
+ update config.guess, config.sub
2007-07-15 00:11:01 +00:00
Thomas E. Dickey
027ae42953 ncurses 5.6 2006-12-17 23:32:42 -05:00
Thomas E. Dickey
55ccd2b959 ncurses 5.5 2005-10-09 14:41:57 -04:00
Thomas E. Dickey
a8987e73ec ncurses 5.4 2004-02-08 21:15:26 -05:00
Thomas E. Dickey
46722468f4 ncurses 5.3 2002-10-12 23:35:53 -04:00
Thomas E. Dickey
c633e5103a ncurses 5.2 2000-10-21 00:42:11 -04:00
Thomas E. Dickey
b1f61d9f3a ncurses 5.1 2000-07-08 22:46:08 -04:00
Thomas E. Dickey
0eb88fc528 ncurses 5.0 1999-10-24 00:32:42 -04:00
Thomas E. Dickey
661078ddbd ncurses 4.2 1998-02-28 23:21:12 -05:00
Thomas E. Dickey
3a9b6a3bf0 ncurses 4.1 1997-05-14 23:00:00 -05:00