Changes since 1.3-20190211
2020/02/28
+ updated configure-macros, to work around ncurses vs xcode's c99 -W
+ update config.guess
2019/12/31
+ updated configure-macros.
+ update config.guess
2019/12/10
+ correct rc-file lookup of "default" color (report by Grady Martin,
cf: 2019/09/24).
+ fix several issues in the sample scripts reported by shellcheck.
+ fix a few spelling errors reported by codespell (report by Jens
Schleusener).
+ correct check for return-value of isblank(), which is not necessarily
0/1 (report/patch by Paul Cercueil, Peter Korsgaard, cf: 2018/05/31).
2019/12/09
+ amend change for parsing command-options before calling init_dialog,
to handle --no-shadow, etc., which are initialized in init_dialog
(report by Paul Cercueil, cf: 2018/06/21).
+ add dlg_trace_va_msg to manpage, symbol files.
2019/11/10
+ improve layout of several widgets' data area when maximizing.
+ modify dselect/fselect to work with autosizing (Debian #915949).
+ add error messages from dlg_exiterr() to trace file.
+ improve manual page description of escaping in key-bindings.
+ modify inputmenu to recognize the "Cancel" button and keys bound to
that feature while editing a renamed menu item.
+ revert one change, in form.c to the --last-key feature (Debian
#942025).
+ correct ordering of libraries in configure-script, which appended
in a case where it should have prepended.
+ update config.guess, config.sub
2019/09/26
+ improve dialog-config script's filtering of -L options using the
linker default directories.
+ improve dialog-config script, adding a -L option corresponding to
the configure --libdir option if it would be a duplicate (report by
Andrew Kosteltsev).
+ build-fix for configure --disable-trace
+ updated pt.po from
http://translationproject.org/latest/dialog/
2019/09/24
+ allow for underline- and reverse-video flags in the ".rc" file
(integrated patch by Richard Robbins).
2019/08/08
+ amend change to --last-key feature to eliminate an unnecessary
separator (report by Gabriele Balducci).
2019/08/06
+ extend --last-key feature to the remaining widgets which have
ok/cancel buttons, and add logic to map keys which happen to be
bound to ok/extra/cancel/help to simulate a button-press on the
corresponding button (report by "sgewrk").
2019/08/01
+ further fixes for dialog-config.in (report by Andrew Kosteltsev).
2019/07/28
+ modify dialog-config.in so that setting prefix or exec-prefix to
a given value with --prefix=VALUE or --exec-prefix=VALUE has the
expected result of changing bindir, etc.
+ correct substitution for $LIBS value in dialog-config.in (report by
Andrew Kosteltsev).
2019/07/24
+ modify dlg_will_resize() and dlg_result_key() functions to reduce
the chance that dialog exits on a SIGWINCH (Debian #930775).
+ make test-package for the development headers/library
+ add --libs-only-L, etc., to dialog-config script (prompted by
discussion with Andrew Kosteltsev).
+ fix a memory leak in gauge widget (Andrew Kosteltsev).
+ minor fix for CF_GCC_WARNINGS
+ update config.guess, config.sub
Provided by Thomas Dickey in private email.
2019/02/11
+ modify to work with ncurses' threaded-library, which does not allow
assignment to LINES/COLS (report by Marcus Roeckrath).
+ correct clearing after text in progressbox from 2018/06/21 changes
for resizing (reports by David Boyd, Alan Somers).
+ improved configure macros CF_GNU_SOURCE, CF_POSIX_C_SOURCE,
CF_XOPEN_SOURCE
+ update config.guess, config.sub
2018/11/07
+ convert ja.po to UTF-8 for consistency (suggested by Stanislav
Brabec).
+ repair mis-encoded hi.po (report/analysis by Stanislav Brabec).
2018/10/22
+ improved configure macros CF_CC_ENV_FLAGS, CF_LD_RPATH_OPT,
CF_LIBRARY_PATH, CF_SHARED_OPTS, CF_WITH_MAN2HTML,
CF_WITH_VERSIONED_SYMS from ncurses
+ add ast.po, from
http://translationproject.org/latest/dialog/
2018/06/21
+ improve file-offset computation in textbox.c (Werner Fink).
+ fix an overlooked case with real_auto_size() to maximize when
height or width is given as -1.
+ build-fixes for configure options "--disable-Xdialog2" and
"--disable-form"
+ add traces for each widget to show its parameters.
+ modify color scheme for mixedgauge to use the dialog window colors,
like the captions.
+ fix a too-small malloc in the mixedgauge widget.
+ fix a use-after-free in dlg_remove_callback().
+ improve handling of SIGWINCH for several widgets (Debian #865840).
+ menubox, the point of the Debian report was that it would be nice
to increase the window size if the terminal size increases. Did
that as a special case less problematic than decreasing the
terminal size. Added samples/menubox11 to demonstrate by
comparison with menubox10 a problem with debconf which puts extra
newlines in the caption that interfere with autowrap.
+ progressbox and derived prgbox, programbox, now handle resizing.
+ yesno, window was cleared
+ add dlg_ttysize() to support new options, allowing scripts to obtain
some text-formatting details without initializing the terminal.
+ add options --print-text-only, and --print-text-size for scripts that
adjust the widget size according to how the captions are formatted.
+ improve dialog.pl:
+ add demo.pl, to demonstrate the functions
+ quote/escape string parameters passed to dialog.
+ ensure all "integer" parameters are really integers.
+ use actual screensize for list captions rather than assuming 24
lines.
+ when trimming blanks, treat unconverted tabs the same as spaces.
+ correct parameter to test when trimming blanks from the script,
e.g., with "--trim" (report by Jarno Suni).
+ improve documentation of the various whitespace-filtering options,
to show which take precedence (Debian #867536, cf: Debian #102942).
+ modify msgbox.c, yesno.c to bind SCROLLKEY_BINDINGS before
TRAVERSE_BINDINGS so that up/down arrow will by default scroll the
message up/down rather than be aliases for tab-traversal (report by
Fredrik Kers).
+ modify dump_one_binding() to show when a binding is overridden.
+ improve format of trace-file, making comment-syntax consistent,
as well as showing argv-splitting as a series of comments.
+ modify dlg_string_to_argv() to change the quoting behavior to be
more consistent with shell behavior (patch by Denilson Sa Maia).
+ modify dlg_getc() to return ESC when a timeout expires, notifying
callers that a quit occurred rather than exiting the application
(suggested by Rodrigo Freitas).
+ modify handle_inputs() to ensure cursor-visibility is restored when
there is no input character available (report by Guillaume Vareille).
+ improve comment in manual page regarding which widgets can use the
"--help-button" (prompted by discussion with Csanyi Pal).
+ add a check for valid object pointer in tailbox's main loop since
the getc-callback may have been freed within ui_getc.c (report by
"David").
+ improved configure macros for ncurses: CF_GNU_SOURCE, CF_SHARED_OPTS,
CF_CURSES_LIBS, CF_CURSES_FUNCS, CF_NCURSES_CONFIG
+ improved configure script checks for groff vs man2html:
CF_PROG_GROFF and CF_WITH_MAN2HTML
+ build-fix from lynx for AM_WITH_NLS configure macro
+ update config.guess, config.sub
2017/12/09
+ update ftp url in test-packages.
+ modify test-packages to use recommended compiler/linker flags.
+ improved configure macros AM_WITH_NLS, CF_CC_ENV_FLAGS,
CF_CURSES_LIBS, CF_NCURSES_CONFIG, CF_SHARED_OPTS, CF_WITH_LIBTOOL,
CF__INTL_BODY.
+ update config.guess, config.sub
2017/01/31
+ use DLG_TRACE macro consistently to make "--disable-trace" configure
option work.
+ modify buildlist widget to support option "--reorder" for to allow
user to reorder the data based on the sequence of selections
(discussion with Paraic O'Ceallaigh).
+ fill background color on unused parts of buildlist.
+ fix a minor error in buildlist which let pageup switch columns.
+ change several calls to dlg_trace_msg to prefix with "#" to make
the trace logs more consistent for parsing.
+ add samples/run_test.sh
+ further improve performance with very long command-lines by changes
to howmany_tags().
+ modify dlg_string_to_argv() to convert escaped double-quotes to
plain double-quotes when within a double-quoted string.
+ modify makefile to apply CFLAGS to linking
+ modify dlg_string_to_argv() to ignore escaped newlines except when
quoted, fixing a problem with samples/checklist9.
+ interpret $DIALOGOPTS before expanding "--file", etc., to allow
the environment variable to turn on tracing in that process.
+ improve performance when processing very long command lines, e.g.,
using "--file" by changing dialog_opts[] to an array of pointers to
the expanded argv[] (discussion with Lars Tauber).
+ modified autoconf macros
+ CF_CC_ENV_FLAGS amend the last change to move only the
preprocessor, optimization and warning flags to CPPFLAGS and
CFLAGS, leaving the residue in CC. That happens to work for gcc's
various "model" options, but may require tuning for other compilers
+ CF_LARGEFILE workaround for clang exit-code vs warnings
+ CF_MATH_LIB quiet strict gcc warning
+ CF_WITH_LIBTOOL fix a few places in configure/build scripts where
DESTDIR and rpath were combined
+ CF_XOPEN_SOURCE add "uclinux" to list of Linux's
+ update config.guess, config.sub
2016/08/28
+ improve parsing and trace for "bindkey", to convert space to/from
"\s", as well as handle octal escapes for single byte characters.
+ change explicit checks for space character used for select or toggle
to make this rebindable to "TOGGLE" (prompted by discussion with
Paul van Tilburg).
+ add default bindings for cursor left/right to formbox. The cursor
left/right cases were replaced with rebindable symbols in 2005/12/07
without providing these keys as default values (report/patch by
Miroslav Lichvar).
+ modified autoconf macros
+ CF_PROG_LINT add cpplint to programs to use; drop ad hoc tdlint and
alint.
+ CF_CC_ENV_FLAGS don't limit the check to -I, -U and -D options,
since the added options can include various compiler options before
and after preprocessor options.
+ CF_GNU_SOURCE recent glibc (Debian 2.23-4 for example) has
misordered ifdef/checks for new symbol _DEFAULT_SOURCE, producing
warning messages when only _GNU_SOURCE is defined. Add a followup
check to define _DEFAULT_SOURCE.
+ CF_XOPEN_SOURCE use _GNU_SOURCE for cygwin headers, tested with
cygwin 2.3, 2.5 (patch by Corinna Vinschen).
+ mention --no-collapse option in manual page description of
--tab-correct option.
+ update config.guess, config.sub
2016/04/24
+ fix a special case in drawing shadow on a line-drawing cell where the
alternate-character set flag was lost (report by Martin Kravec).
+ fix a regression from 2015/05/13 changes for escaping; it is
necessary to retain backslashes within quotes to make "\Z" escapes
work (report by Marcin Krol).
+ fix test package for RPMs; changes in 2015 omitted symbolic links
for the library.
+ fix typo in help message for "--buildlist" (report by Rihards Olups).
+ modified autoconf macros
+ CF_PROG_AR, CF_AR_FLAGS added to improve check for archive tool.
+ CF_LD_RPATH_OPT, change FreeBSD to use -Wl,-rpath rather than
-rpath option. According to FreeBSD #178732, either works since
FreeBSD 4.x; however scons does not accept anything except the
-Wl,-rpath form.
+ CF_WITH_NCURSES_ETC, change from ncurses to check for pthreads
dependency.
2016/02/09
+ modify editbox widget to add a trailing newline if the text has none
to ensure the last line is not ignored (report by Florent Rougon).
+ change mouse initialization to look for button-presses rather than
button-clicks, for better response.
+ modify dump_curses_key() to show mouse-coding in readable form.
+ correct mapping of mouse-clicks on the day-grid in calendar widget
when "--week-start" is used to set the start of the week (report by
Stefan Vogtner).
> integrated changes from Stefan Vogtner:
+ use Gregorian algorithm for leap year
+ use mktime if available; calendar was written just as it became
standard.
2016/01/26 - release 1.3
+ correct --infobox documentation, which said it shows an OK button.
+ fix a couple of place in test-scripts which referred to $SIG_TRAP
rather than $SIG_QUIT
+ reorganize dialog.3, to use subsections for generating navigation
pane, using man2html
+ add "--week-start" option for calendar widget (prompted by discussion
with Stefan Vogtner).
+ add a limit-check in editbox.c to ensure that mouse-clicks outside
the filled-in text area do not access past the end of the array
(report by Stefan Vogtner).
+ update configure macros from ncurses changes.
+ update config.guess, config.sub
Problems found locating distfiles:
Package colorls: missing distfile ls.tar.gz
Package molden: missing distfile molden-4.6/molden4.6.tar.gz
Package softmaker-office-demo: missing distfile ofl06trial.tgz
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
2015/09/20
+ decrease table value for minimum number of arguments for the widgets
which use --no-items option (report by Raven Singularity).
+ update configure macros:
+ use $SHELL consistently, deprecate non-POSIX shell
+ PKG_CONFIG may simply be unset - fix
+ add option to allow changing ABI version, from ncurses6.
2015/05/28
+ fixes for two autoconf macros, CF_ADD_INCDIR and CF_NCURSES_CONFIG
from work on ncurses.
+ build-fix for NetBSD curses (patch by Matthias Scheler).
2015/05/13
+ add configure option --with-install-prefix, like ncurses.
+ add --with-screen and related configure options from ncurses-examples
to allow building with ncurses6 test-packages.
+ update configure macros for improved coding style from lynx changes.
+ updated ro.po from
http://translationproject.org/latest/dialog/
+ update config.guess, config.sub
> patches by Florent Rougon:
+ fix two bugs in the "--file" option.
+ When the number of arguments read from the included file is 0, the
code used to just skip over '--file' and its argument instead of
removing them from the argument list, causing "Error: Unknown
option --file" later on.
+ In the alternative case (at least one argument read from the file),
the previous code used to do '--j;' in order to "force rescan" of
the inserted arguments. However, control then flowed to outer
blocks where a '++j;' counteracted this measure, causing "Error:
Unknown option --msgbox" (for instance) later on.
+ modify escaping in argv.c to be more uniform, whether or not the
backslash is found within a parameter.
2015/02/25
+ modify gauge widget to keep from erasing a second gauge widget, e.g.,
via the "--and-widget" option. This is a cosmetic change to match
behavior of dialog 1.0 (report by Jason Orendorf).
+ add configure option "--with-man2html"
+ add configure options for versioned symbols, from ongoing work on
ncurses.
+ update configure macros, e.g., for shared libraries
2015/01/25
+ suppress highlighting of character which denotes an abbreviation or
shortcut for the OK/Cancel and other buttons for these widgets, which
use abbreviations for the list shown on the screen: buildlist,
checklist/radiobox, menubox, treeview (Debian #775295).
+ add grid up/left and down/right bindings in editbox.c as synonyms for
field prev and next, respectively when handling the OK/Cancel buttons
(Debian #775294).
2014/09/11
+ correct malloc-size for change to prgbox.
2014/09/10
+ fixes to make "-c" option work when passing command to shell for the
prgbox widget, for example in samples/prgbox2 (report by Korantin
Auguste).
2014/09/08
+ fix an out-of-bounds array index in buildlist widget (report by
Cade Foster).
2014/09/01
+ add configure check for groff, needed for html/ps/pdf output.
+ update configure-script macros:
+ CF_ACVERSION_CHECK - work around another gratuitous incompatibility
introduced in 2.69
+ CF_ADD_CFLAGS - workaround for ash-shell, e.g., with Minix
+ CF_ADD_LIBS - filter out duplicates
+ CF_CURSES_FUNCS - improve workaround for weak-linkage, seems to fix
tests with NetBSD 6.1
+ CF_INTEL_COMPILER - clean up the -no-gcc option which was leftover
from testing.
+ CF_LIB_SUFFIX - change suffix for AIX shared libraries to ".so".
+ CF_MAKEFLAGS - workaround for GNU make 4.0 incompatibility with
previous releases.
+ CF_XOPEN_SOURCE - add cases for Minix, UnixWare and improve the
workaround for Solaris.
+ improve comparison in compare_cache() function, in case difference
between pointers does not fit in int's.
+ updated de.po, es.po, hu.po, lv.po from
http://translationproject.org/latest/dialog/
+ update config.guess, config.sub
2014/02/19
+ cleanup of manpages prompted by Gislason's comments.
+ several changes to manpages to improve presentation (patches by
Bjarni I. Gislason, Debian #739180, Debian #739181)
+ use "\/" when transitioning from italic to normal font
+ correct an instance of "e.g,."
+ use "\e" rather than "\\" to present a literal "\"
+ improve formatting of table header
+ remove some excess space-characters
+ change a reference 0-9 to use "through" as the connector
+ use "\&" to separate "." from a space to make the space shorter
+ change a list's TP macro parameters to make the hanging text align
better with the adjacent paragraph
+ add comma in a few places before "and" in a list
+ separate units from numbers with a nonfillable space
+ replace "-" with en-dash in a few places
+ corrected argument indices after "--args" and "--file" to rescan the
argument list after removing/substituting those options.
+ fix loops for "--file" option to handle cases with zero or no tokens at
all substituted (Redhat #1066168).
+ add gd.po from
http://translationproject.org/latest/dialog/
2014/01/12
+ improve calculation for amount to scroll in programbox when an "Ok"
button might obscure part of the data (report by Florent Rougon).
+ modify program to permit --separate-output to be used with buildlist
and treeview widgets (report by Florent Rougon).
+ add list-height parameter to manpage description of --buildlist
(report by Florent Rougon).
+ minor fixes to dialog.1 manpage; the reported problem was actually
fixed in 20120703 (Debian #726233, patch by Bjarni Ingi Gislason).
+ add a "Hello World" example to dialog.3 manpage (prompted by
discussions with Dustin Oprea, Kevin Ingwersen).
+ correct comparison in dlg_lookup_key() so that using "bindkey" with
a "*" wildcard parameter works as documented (report by Stewart
Benedict).
+ updated configure macros, fixes for clang and mingw.
+ update config.guess, config.sub
2013/09/28
+ fix a regression in gauge widget from 2013/09/28 changes;
dlg_reallocate_gauge() failed when no --title option was given
(report by Tritonas Insomnia).
2013/09/23
+ fix samples/inputbox6-utf8, which had depended unnecessarily on bash.
+ improve memory caching for wide-character manipulation in gauge
widget (report by Devin Teske).
+ add dlg_reallocate_gauge (discussion with Devin Teske).
+ updated configure macros to use msys changes from ncurses.
+ update config.guess, config.sub
2013/09/02
+ modify makefile rule to make the ".png" filenames created by groff
predictable.
+ add option --help-tags to allow scripts to get the item's tag field
consistently from help- and help-item button results rather than
getting the item's text for the latter (discussion with Florent
Rougon).
+ correct manpage discussion of DIALOG_ITEM_HELP versus --item-help,
as well as --help-button return status (report by Florent Rougon).
+ correct limit used for --hline option (report by Devin Teske,
cf: 2011/06/30).
+ do not print empty "[]" if a --hline option was given with an empty
value (report by Devin Teske).
+ miscellaneous configure script fixes/updates. In particular, add
option --with-shared which builds shared libraries without a libtool
dependency.
+ add FreeBSD port-files for test-builds.
+ update lt.po, add fa.po from
http://translationproject.org/latest/dialog/
+ update config.guess, config.sub
2013/05/23
+ modify ifdef in arrows.c to work around packages which use the
wide-character ncursesw headers with the ncurses library (report
by Aleksey Cheusov).
+ correct workaround for xterm alternate-screen to work with/without
the fix made in ncurses that makes putp() always write to the
standard output (Debian #708829).
+ improve limit-checks for checklist, in case the dialog is resized
(report by Ilya A Arkhipov).
+ add --last-key option (adapted from patch by Jordi Pujol, Debian
#697607).
2013/03/15
+ update zh_TW.po, add an.po from
http://translationproject.org/latest/dialog/
2012/12/30 - release 1.2
+ improve some older changelog entries to help with HTML'izing content.
+ various fixes/improvments for scrollbar appearance.
+ add mappings for some equivalent options provided by whiptail;
add configure option --disable-whiptail to allow suppressing these.
+ add configure option --disable-Xdialog2 to allow suppressing the
newer features, i.e., for cdialog 1.2
+ add --no-items option, for consistency.
+ add --no-tags option, like Xdialog.
+ add buildlist, rangebox and treeview dialogs, like Xdialog.
+ remove obsolete workaround for ncurses 4.2 scrolling in checklist
and menubox.
+ improve dialog_helpfile() by preventing it from showing extra buttons
(suggested by xDog Walker).
+ correct logic in formbox's scroll_next() function (report by xDog
Walker).
+ fix a case with inputbox widget where preset input text is not shown
until moving the cursor within the text (report by xDog Walker).
+ handle SIGCHLD in dialog_prgbox() to eliminate defunct processes
(report by xDog Walker).
+ improve the way "hotkeys" are assigned to widget buttons by checking
if a given key has already been used in the row of buttons (Debian
#684933).
+ amend fix for --trace parsing from 2012/07/03, which sometimes
skipped a parameter (report by xDog Walker).
+ drop copismall and install files from samples, which were essentially
nonfunctional.
+ correct secondary border colors in samples/slackware.rc and
samples/whiptail.rc
+ update gl.po, add ia.po from
http://translationproject.org/latest/dialog/
+ fix various issues reported by coverity scan.
+ miscellaneous configure script fixes/updates:
+ require autoconf 2.52+patches
+ support --datarootdir option
+ check for clang compiler
+ check for tinfo library when looking for ncurses
+ add 3rd parameter to AC_DEFINE for autoheader
+ remove unused macros from aclocal.m4
+ update config.guess, config.sub
2012/07/06
+ modify samples/setup-tempfile to work with Tru64's shell.
+ modify inputmenu sample scripts to make them more portable:
+ use "id" rather than "$GROUPS", use sed to work with Solaris.
+ use sed to split-up the rename results to work with HPUX.
+ fix regression in msgbox (ArchLinux #30574)
2012/07/03
+ modify prgbox widget to work with --extra-button, etc.
+ add case values to several widgets to allow for mouse-clicks with
"--extra-button" and "--help-button" additions.
+ correct timebox widget's exit code for "--extra-button" when handing
the "enter" key.
+ modify msgbox widget to honor "--extra-button".
+ corrected processing of "--trace" option, which did not update the
index into command-line to point past its value.
+ add a check in dialog program for valid characters used in option,
e.g., to generate an error if a script attempts to add option value
using "=" rather than with whitespace.
+ add new command-line option --default-button and library function
dlg_default_button() to retrieve the value set by the option
to provide a way to set the default button directly rather than
by combining --nook, etc. (patch by Zoltan Kelemen).
+ amend include of unctrl.h to apply only to the case where curses.h
is included, to avoid conflict of ncurses' unctrl.h with a system
implementation (report by Martin Roedlach)
+ add limit-check to dlg_toupper() in non-wide curses mode to work
when non-character values such as arrow-key codes are passed to
it (patch by Zoltan Kelemen).
+ override timeout value, e.g., as set via --timeout command-line
option in pause widget because that interferes with pause's behavior
(report by Jan Spitalnik).
+ modify samples/inputmenu* to allow ":" in renamed text (report by
Andreas Stoewing).
+ modify double-quoting to make it more consistent, i.e., checklist
output is quoted only when needed. This fixes the case where
single-quotes were used whether or not needed, but also modifies
older checklist behavior for double-quoting which always added those
(Debian #663664).
+ correct exit-code used in inputmenu for "rename" button (Debian
#673041, forwarded from Ubuntu #333909, patch by Lebedev Vadim).
+ update el.po and hr.po from
http://translationproject.org/latest/dialog/
+ use checkbashisms to clean up sample scripts.
2012/02/15
+ modify menubox.c to use the same improvement as in checklist.c
+ improve auto width computation for checklist widget by using
dlg_calc_list_width as in the non-auto case (Edho Arief).
+ eliminate some bashisms in the sample scripts (Pedro Giffuni).
+ makefile fixes from FreeBSD ports (Li-Wen Hsu):
+ make --with-package option of configure script work.
+ get LIBTOOL_VERSION from configure script, needed by
${LIBTOOL_VERSION} in LIBTOOL_CREATE (LIB_CREATE in configure and
aclocal.m4)
+ update cs.po and sr.po from
http://translationproject.org/latest/dialog/
+ updated configure script macros, improving CF_XOPEN_SOURCE among
other fixes.
2011/10/20
+ fix --analyze warnings for clang versions 2.8, 2.9.
+ add configure check for lint program.
+ add check in dlg_getc() in case its window is freed as a side effect
of removing callbacks.
+ fix logic in freeing subwindows (report by xDog Walker).
+ fix a regression in logic distinguishing between inputmenu and menu
widgets (report by xDog Walker).
+ minor fixes to library manpage.
2011/10/18
+ modify header-sh.in to work around limit on sed script length on
HPUX.
+ add a special case of parameter parsing for "--trace" to the
initialization done before calling init_dialog(), to allow users to
capture the initial state of the parameter list before any options
are processed and removed. This is only done if "--trace" is the
first option, otherwise it is handled in the common options as before
(report by xDog Walker).
+ modify samples/testdata-8bit, discarding $1 from the parameter list
if it was used, so that the source'ing scripts can consistently use
"$@" to insert parameters before the widget, e.g., as an alternative
to using $DIALOGOPTS (report by xDog Walker).
+ modify treatment of function pointers in menubox.c, make
dlg_renamed_menutext() and dlg_dummy_menutext() visible to library
users (request by xDog Walker).
+ add dlg_count_real_columns(), use to modify centering for "--hline"
text to account for "\Z"s (report by xDog Walker).
+ improve check in dlg_draw_arrows2() for conflict between the window
title and up-arrow marker to take into account that the given window
may not be the top-level window of the widget.
+ change width of page up/down mouse areas in fselect panes to use the
full width of the panes rather than only the portion from the left
margin to the up/down arrow.
+ add/use dlg_draw_box2() and dlg_draw_bottom_box2() to use the
secondary borders.
+ modify rc-file read/write to accept/generate color values that refer
to previously-processed items in the color table. This reduces the
number of distinct colors that must be specified to set up a color
scheme.
+ add color table entries for secondary borders, i.e., the ones that
are normally drawn with the dialog's text-colors (Debian #641168).
+ modify fselect.c to scan the current directory if the input field
happens to be empty (Debian #640905).
+ repeated the discussion of environment variables that can override
the exit-status values in the manpage's return-codes section
(Debian #642105).
+ add an example to the manpage showing how to override the form
widget's keys used for field/button traversal (Debian #642108).
+ modify call to dlg_register_window() in formbox.c so that the editing
bindings are attached to the form sub-window rather than the
top-level dialog window. Also change the name by which the editing
bindings are bound for editbox.c, fselect.c and inputbox.c, so that
the editing and navigation bindings can be different.
+ correct logic in dlg_lookup_key() so that it matches the widget name
before using a binding from .dialogrc, allowing the inner/outer
windows of form and other editing widgets to have different bindings.
+ modify dlg_register_window() to call dlg_dump_window_keys() after
its updates, via the --trace output, to supplement the manpage
description of key bindings (Debian #642108).
+ add DLGK_FORM_PREV and DLGK_FORM_NEXT key-bindings to form.c, to
allow binding a single key to traverse both form-fields and buttons
(Debian #642108).
+ modify dlg_parse_rc() to check for error return from
dlg_parse_bindkey().
+ add function dlg_dump_window_keys(), to help with debugging widgets.
+ add CR, LF, TAB, FF and ESC to table of curses names to help make
key bindings more readable.
+ update table of dialog key-names so that helpfile and trace are
dumped properly.
+ correct dlg_dump_keys(), which was showing only the first item in
the matched binding table.
+ save/restore window current position in dlg_update_mixedgauge().
+ pass return-code from pause_for_ok() from dlg_progressbox() when
pauseopt is set, rather than only DLG_OK.
+ call setlocale() in init_dialog() rather than relying on on-demand
use within inputstr.c, since there are paths in textbox widget which
do not exercise the latter (report by xDog Walker).
+ fix some places where checks for "\Z" were done without also checking
dialog_vars.colors (report by Moray Henderson).
+ correct logic for DIALOGOPTS parsing so that the parse happens only
once unless memory leak checking is enabled (report by xDog Walker).
+ remove an incorrect free() call in dlg_free_gauge() (report by xDog
Walker).
+ modify dlg_trace_win() to log wide-characters (report by xDog Walker).
+ make traces shorter by skipping repeated ERR's, but showing the
number skipped (report by xDog Walker).
+ improve description in manpage to distinguish program box and
progress box from tailboxes (adapted from email by xDog Walker).
+ modify dlg_trace_win() so that it looks for the topmost window in a
dialog. Because subwindows share space with the top window, tracing
the latter shows the whole widget (report by xDog Walker).
+ expand tracing so that each window is traced before soliciting input,
making the ^T feature to print a window on demand partly redundant
(suggested by xDog Walker).
+ cosmetic change in dialog.h to avoid "*/*" strings from comments next
to "*" (report by xDog Walker).
+ ensure result from dlg_align_columns() has trailing null on each
string. Analysis was hindered by libc6's continuance of libc5's
early-1990s misfeature of clearing the result from malloc, noting
that libc6's documentation incorrectly claims that it does not do
this (report by xDog Walker).
2011/07/07
+ modify util.c to work better with old versions of ncurses:
+ suppress use of wchgat() before fix in 20060715 which is needed
for simple shadow manipulation used here in 2011/06/30 (report
by xDog Walker).
+ add a null-pointer check in dlg_print_scrolled()
+ fix a regression in dlg_getc() introduced by changes to intercept
F1 for help-popup (report by xDog Walker).
2011/06/30
+ correct license statement for prgbox.c (Debian #632198).
+ correct layout when "--colors" is used, by discounting characters in
the escape sequences from the column counts (report by xDog Walker).
+ modify dlg_checklist() so that only one item in the list can
initially be selected (report by xDog Walker).
+ add/use macro dlg_enter_buttoncode() to improve implementation of
"--nook" option (report by xDog Walker).
+ add option "--no-nl-expand" to suppress the conversion of "\n"
strings into newlines (request by xDog Walker).
+ modify LIB_CREATE symbol in makefile.in to include the library
dependencies such as ncurses. This is needed when dynamically
loading the library (report/analysis by xDog Walker).
+ modify dlg_exit_label() to suppress the Cancel button, for
consistency.
+ modify dlg_exit_label() to honor the --nook option, except when there
is no other button, e.g., the help-button.
+ modify dlg_exit_buttoncode() so that it returns the proper code for
help-button (report by xDog Walker).
+ correct loop limit when processing "--column-separator" (report by
xDog Walker).
+ modify handling of "--version" and "--help" to ensure that they are
processed, and exit before widgets. Separate "--print-version"
from "--version", allowing its output to be interspersed with
widget output (report by xDog Walker).
+ correct a few places where "--version" or "--help" options went
always to stdout rather than allowing redirection with the "--stderr"
option (report by xDog Walker).
+ improve repainting after erasing a widget and its shadow.
+ add "--hline" and "--hfile" options for compatibility with FreeBSD
dialog (request by Devin Teske).
+ add dialog version message when opening a trace file (request by
xDog Walker).
+ show filename of rc-file in traces.
+ add piped-in data for gauge widget to traces.
+ add entrypoints to gauge widget, for allocating, updating and freeing
the widget (adapted from patch by Stephen Hurd).
+ fix a reference to freed memory in the gauge widget.
+ fix --no-mouse option by actually closing the mouse (report by
xDog Walker).
+ add sk.po from
http://translationproject.org/latest/dialog/
+ limit Solaris xpg4 portability fix for redefinition of ERR to cover
the specific value found in <sys/regset.h>, in case an application
includes dialog.h after curses.h (FreeBSD #156601, report by Jaakko
Heinonen, Stephen Hurd).
+ updated configure macros:
+ CF_CURSES_CPPFLAGS,
+ CF_CURSES_LIBS, make checks for special libraries on hpux10 and
sunos4 optional
+ CF_CURSES_FUNCS, workaround for bug in gcc 4.2.1 (FreeBSD 8.1)
which caused part of test program to be omitted, i.e., when it saw
two return-statements in a row it omitted the _first_ one. Also
add expression to pointer check to help FreeBSD's linker decide it
should be validated. Just an assignment was not enough. Also, add
check for unctrl.h
+ CF_CURSES_HEADER, change order for curses.h / ncurses.h pairs to
put ncurses.h first, which will tend to provide the same #define's
as in CF_NCURSES_HEADER (report by Dennis Preiser).
+ CF_CURSES_TERM_H, modify to avoid spurious check for
<curses.hterm.h> if there is no ncurses version. Look for
ncurses's term.h anyway, to work around breakage by packagers who
separate ncurses' header files.
+ CF_DISABLE_RPATH_HACK, fix garbled message
+ CF_LD_RPATH_OPT, add mirbsd
+ CF_MAKEFLAGS, filter out GNU make's entering/leaving messages.
This only appeared when using the macro in a dpkg script, though it
should have in other cases.
+ CF_RPATH_HACK, add a check for libraries not found, e.g., from
suppressed functionality of gcc in linking from /usr/local/lib, and
add a -L option to help work around this.
+ CF_XOPEN_SOURCE, workaround for cygwin to get ncurses' configure
script to define _XOPEN_SOURCE_EXTENDED (cygwin's features.h
doesn't do anything, so it needs a crutch).
+ updated config.guess, config.sub
2011/03/02
+ add --prgbox and --programbox (adapted from patch by David Boyd).
+ add sl.po from
http://translationproject.org/latest/dialog/
+ fix timeouts from 2011/01/18, which were being interpreted as
milliseconds rather than seconds (report by Luis Moreira).
2011/01/18
+ fix inconsistency in return-codes for textbox when help-button is
used by making dlg_exit_buttoncode() a wrapper for
dlg_ok_buttoncode().
+ modify pause widget to use dlg_ok_buttoncode(), so help-button works.
+ correct two infobox sample scripts, which did not pass extra
command-line parameters due to quoting problems.
+ add a limit-check to the timebox widget (patch by Garrett Cooper).
+ modify --trace option to also trace the command-line parameters.
+ account for combining characters when wrapping text (Debian #570634).
+ correct handling of SIGWINCH in gauge widget (Debian #305705).
+ add gauge_color, to make guage's progress-bar distinct from
title_color (request by Dominic Derdau).
+ update fi.po from
http://translationproject.org/latest/dialog/
as well as resync line-numbers in the other po-files.
+ modify configure script and dialog program to build with NetBSD's
wide-character curses functions, including workarounds for its
incorrect WACS_xxx definitions. Some of the UTF-8 examples work.
+ add back-tab for traversal of tailboxbg widgets, for symmetry with
tab-traversal.
+ reduce flicker in tailboxbg by checking if the input file size has
changed.
+ modify internals of callbacks to avoid blocking reads of their
associated files by keyboard input.
+ add command-line option --no-mouse, to suppress use of mouse.
+ add configure option --enable-header-subdir to allow the header files
to be installed into a subdirectory named for the package.
+ modify dlg_restore_vars() to retain the updated values of
input_result and input_length, eliminating the need for a caller to
provide their own user buffer (prompted by report by Thiago Bimbatti
Felicio).
+ add a null-pointer check in show_result() for
dialog_vars.input_result, and ensure it is set to null after freeing
(prompted by report by Thiago Bimbatti Felicio).
+ change order of -I options in CPPFLAGS (report by Michel Feldheim)
+ modify pause-widget so that it no longer exits when an unrecognized
key is pressed (patch by Creidieki M Crouch).
+ add --with-package option to configure script to allow renaming
of the dialog program and library, to support the package scripts.
+ add Debian and RPM package scripts for test-builds.
+ several improvements to configure script:
+ quote params of ifelse()
+ change obsolete ${name-value} to standard ${name:-value}
+ use new macros CF_ADD_LIB/CF_ADD_LIBS to enforce consistency.
+ AM_GNU_GETTEXT, drop $MKINSTALLDIRS, use "mkdir -p" consistently.
+ CF_ADD_SUBDIR_PATH, workaround - if $prefix was not mkdir'd yet, no
directories were added.
+ CF_BUNDLED_INTL, add --with-textdomain option, to use with lynx-dev
package
+ CF_FIND_LINKAGE, simplify save/restore of $LIBS
+ CF_GCC_WARNINGS, fix for Mac OS X (compiler makes conftest.dSYM
directory)
+ CF_HEADER_PATH, don't search for variations of everything in the
current include-path
+ CF_WITH_CURSES_DIR, move the calls to CF_ADD_INCDIR and
CF_ADD_LIBDIR for the curses-directory here, from
CF_NCURSES_CPPFLAGS and CF_NCURSES_LDFLAGS, so it will work even
with the default checking, e.g., no --with-ncurses, etc.
+ updated config.guess, config.sub
2010/04/28
+ several improvements to configure script:
+ modify CF_CURSES_TERM_H to handle cases such as cygwin where
packager has installed curses.h and term.h in different
directories, e.g., to wedge in a termcap library.
+ modify CF_XOPEN_SOURCE, adding special case for OpenSolaris
+ modify CF_MAKE_TAGS to add check for exctags and exetags, prefer to
ctags and etags to work around pkgsrc (NetBSD) renaming.
+ correct CF_FIND_LINKAGE, setting cache variable for library_file in
the special case where no directory search is made.
+ improve CF_GCC_VERSION, suppress stderr for c89 alias of gcc.
+ improve CF_GCC_WARNINGS, moving -W and -Wall into the list to
check, since c89 alias for gcc complains about these options.
+ modify CF_HEADER_PATH, to not search for variations of everything
in the current include-path
+ use "mkdir -p", remove mkdirs.sh
+ use CF_CURSES_HEADER to fill in possible subdirectory used for
ncurses header filename.
+ modify CF_XOPEN_CURSES to work around current ncurse header loss of
predefinition of _XOPEN_SOURCE_EXTENDED
+ add "--disable-rpath-hack" option, along with scripting to add
rpath option to libraries found in unusual places.
+ modify pause widget to autosize like gauge, and to omit the area for
buttons when none are displayed.
+ fix an infinite loop in dlg_button_layout() if there are no buttons
to display (Debian #579390).
+ add makefile rules for generating html, etc., documentation from
nroff.
> patches by Samuel Mart
+ reset errors in tailbox before reading new character.
+ modify dlg_draw_scrollbar(), omitting hiding percentages in boxes
when no arrows or scrollbar are needed.
+ correct value of row for scrollbars in formbox.
+ update es.po from
http://translationproject.org/latest/dialog/
2010/01/19
+ split up binding tables in inputbox and similar widgets to avoid
conflict between cursor-key use for input-string versus navigation
(report by slakmagik).
+ if strftime() is available, support --time-format option for timebox
widget.
+ if strftime() is available, support --date-format option for calendar
widget (request by Walter Harms).
+ build-fixes for linking to intl library in /usr/local
+ add --scrollbar option, use in most widgets to show a scrollbar on
the right margin of the data. That is cosmetic, does not respond to
the mouse.
+ reuse functions from msgbox to allow prompt for yesno box to be
scrolled in a too-small window.
+ correct mapping of button-codes with --nook option (report by Lebedev
Vadim).
+ cleanup sample scripts using new utility scripts setup-* and report-*,
and allow command-line parameters to be added, for ad hoc testing.
+ correct change to tailbox widget from 2009/02/22 using
dlg_button_layout(), which broke that widget.
+ document some of the portability caveats.
+ modify gauge widget to service callbacks (prompted by patch and
comments by Frank Sorenson).
+ modify editbox to allow its input buffer to be larger than MAX_LEN
unless bounded by the --max-input option, and add limit-checks for
the buffer (report by slakmagik).
+ improve manpage description of --checklist (report by Isaac Good).
+ several improvements to configure script macros: CF_ADD_CFLAGS
CF_CURSES_FUNCS CF_DISABLE_ECHO CF_GCC_ATTRIBUTES CF_MATH_LIB
CF_POSIX_C_SOURCE CF_REMOVE_DEFINE CF_WITH_LIBTOOL CF_XOPEN_SOURCE
+ add is.po, lv.po, sw.po from
http://translationproject.org/latest/dialog/
+ update de.po, id.po, pl.po, pt_BR.po, vi.po from
http://translationproject.org/latest/dialog/
2009/02/22
+ do not display top-arrows for scrolling if they would overwrite the
title (report by slakmagik)
+ consistently use dlg_button_layout() when autosizing widgets (report
by slakmagik).
+ add "-" and "+" bindings to timebox widget.
+ add "-" and "+" bindings to calendar widget (OpenSolaris #6739031).
+ review/fix other widgets to ensure that they exit on error, e.g.,
editbox.c
+ modify check in dlg_getc() to treat closure of either stdin or stdout
as an error, rather than both. This is more stringent than the check
added in 2007/07/04.
+ modify dlg_result_key() to map curses ERR to dialog's error exit
(adapted from patch by Domagoj Pensa).
+ updated several configure script macros:
+ consistently append, rather then prepend, to $CFLAGS
+ add cases for AIX 6, mint, and dragonfly to CF_XOPEN_SOURCE
+ use $PATH_SEPARATOR rather than $PATHSEP
+ improve CF_FIND_LINKAGE, use in checks for more libraries, e.g.,
libutf8 and libiconv.
+ update da.po, ru.po from
http://translationproject.org/latest/dialog/
+ updated config.guess, config.sub
This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.
2008/08/19
+ amend changes to quoting; by default, the checklist widget quotes its
output except when --separate-output is used (Debian #495600).
+ add eo.po from
http://translationproject.org/latest/dialog/
2008/07/27
+ add pointer-check when closing piped input (cf: 2007/03/25)
+ use here-documents rather than echo, when passing backslashes in
strings, to accommodate the Debian shell "dash" (Debian #489563).
+ recode several ".po" files to UTF-8 for consistency.
+ change --separator to be an alias for --output-separator, for
compatibility with Xdialog.
+ add --output-separator option to allow scripts to change the output
separator from a newline (for --separate-output) or a space. This
applies to other widgets such as forms and editboxes which normally
use a newline.
+ add --column-separator option, to tell where column-aligned data for
radio/checkboxes or menus should be split into columns (request by
Ben Dibbens).
+ add id.po, ku.po, lt.po, nb.po and update ca.po, fr.po, gl.po, ja.po,
th.po from
http://translationproject.org/latest/dialog/
+ add "--quoted" option, to quote values returned by formbox, etc.
+ change names of EX/ES macros in dialog.1 to work around name-
pollution caused by changes in Debian #470729.
2008/03/16
+ modify dlg_mouse_wgetch() to loop only on errors that it detects,
rather than on errors forwarded from dlg_getc(), in case those are
due to a disconnected terminal (report by Anatoli Sakhnik).
+ allow "default" color in dialogrc file (request by Dashing).
+ fix an indexing error in formbox (Debian #469190, report by Dmitry
Gomerman, patch by Vladimir Mezentsev).
+ add bindings for CTL/N, CTL/P to checklist, fselect and menubox
widgets (prompted by discussion with John Gatewood Ham).
+ add be@latin.po, th.po and update zh_TW.po from
http://translationproject.org/latest/dialog/
> patches by Peter Astrand:
+ modify dlg_auto_sizefile() to ensure the computed height and width
do not extend beyond the screen size.
+ use unctrl() to make inputstr.c work with Solaris curses.
> patches by Yura Kalinichenko:
+ extend pause widget to use ok/cancel buttons (the former giving the
same result as a timeout), rather than an exit-button.
+ fix initialization parameter of inputbox for multibyte characters.
2007/10/28
+ improve layout of checklist.c, menubox.c, ensuring that the list fits
within the available space (report by Gordon Schumacher).
+ undo removal of redundant chunk from checklist.c in 2007/02/27,
since some scripts depend on this (Debian #443077).
+ update nl.po from
http://translationproject.org/latest/dialog/
2007/09/30
+ correct cursor position in editbox after deleting past left margin
(report by Joe McDonagh).
+ add "--no-ok" option (patch by Klaus Knopper).
+ modify "--file" option to allow it to read from sources other than
a regular file (patch by Pieter van Beek).
+ improved hi.po (Hindi) (from Klaus Knopper).
+ fix masking of attributes in dlg_draw_shadow() which lost
line-drawing bit (report by David Everly).
+ fix editbox widget to handle zero-length files (report by Joe
McDonagh).
+ update "po" files eu.po ga.po it.po ms.po sv.po vi.po wa.po zh_CN.po
from
http://translationproject.org/latest/dialog/
2007/07/04
+ revise the resizable shadows so textbox's search dialog has text
visible in the shadow again.
+ improve the prefixing of autoconf-related symbols in the installed
header files, taking into account symbols which are not mentioned in
dlg_config.h
+ add a check when ERR returned from wgetch() to ensure that the
input/output streams are still valid. If that happens, force
ESC to be returned, quitting dialog (report by Reiner Huober).
+ add extern "C" declarations to dlg_keys.h so the corresponding
function declarations are exported to C++ as C symbols.
+ updated config.guess, config.sub
2007/06/04
+ fix a memory leak in editbox.c
+ revise change from 2007/02/27 which moved the logic for trimming
option text out of the loop because that moved it before
initialization of the "--trim" option. Put it back in the loop, but
limit the tokens which are trimmed to cover only those for the
current widget. Also ensure that all tokens for a widget are
trimmed, rather than only the first, which is usually text (report by
Lai Zit Seng).
+ add _FILE_OFFSET_BITS definition in CF_LARGEFILE configure macro.