xref: /freebsd/contrib/dialog/CHANGES (revision e8643b01e6312a56d1e44a760fb4e95f0b10b54c)
1-- $Id: CHANGES,v 1.619 2018/06/21 09:19:45 tom Exp $
2-- Thomas E. Dickey <dickey@invisible-island.net>
3
4This version of dialog was originally from a Debian snapshot.  I've done this
5to it:
6
72018/06/21
8	+ improve file-offset computation in textbox.c (Werner Fink).
9	+ fix an overlooked case with real_auto_size() to maximize when
10	  height or width is given as -1.
11	+ build-fixes for configure options "--disable-Xdialog2" and
12	  "--disable-form"
13	+ add traces for each widget to show its parameters.
14	+ modify color scheme for mixedgauge to use the dialog window colors,
15	  like the captions.
16	+ fix a too-small malloc in the mixedgauge widget.
17	+ fix a use-after-free in dlg_remove_callback().
18	+ improve handling of SIGWINCH for several widgets (Debian #865840).
19	  + menubox, the point of the Debian report was that it would be nice
20	    to increase the window size if the terminal size increases.  Did
21	    that as a special case less problematic than decreasing the
22	    terminal size.  Added samples/menubox11 to demonstrate by
23	    comparison with menubox10 a problem with debconf which puts extra
24	    newlines in the caption that interfere with autowrap.
25	  + progressbox and derived prgbox, programbox, now handle resizing.
26	  + yesno, window was cleared
27	+ add dlg_ttysize() to support new options, allowing scripts to obtain
28	  some text-formatting details without initializing the terminal.
29	+ add options --print-text-only, and --print-text-size for scripts that
30	  adjust the widget size according to how the captions are formatted.
31	+ improve dialog.pl:
32	  + add demo.pl, to demonstrate the functions
33	  + quote/escape string parameters passed to dialog.
34	  + ensure all "integer" parameters are really integers.
35	  + use actual screensize for list captions rather than assuming 24
36	    lines.
37	+ when trimming blanks, treat unconverted tabs the same as spaces.
38	+ correct parameter to test when trimming blanks from the script,
39	  e.g., with "--trim" (report by Jarno Suni).
40	+ improve documentation of the various whitespace-filtering options,
41	  to show which take precedence (Debian #867536, cf: Debian #102942).
42	+ modify msgbox.c, yesno.c to bind SCROLLKEY_BINDINGS before
43	  TRAVERSE_BINDINGS so that up/down arrow will by default scroll the
44	  message up/down rather than be aliases for tab-traversal (report by
45	  Fredrik Kers).
46	+ modify dump_one_binding() to show when a binding is overridden.
47	+ improve format of trace-file, making comment-syntax consistent,
48	  as well as showing argv-splitting as a series of comments.
49	+ modify dlg_string_to_argv() to change the quoting behavior to be
50	  more consistent with shell behavior (patch by Denilson Sa Maia).
51	+ modify dlg_getc() to return ESC when a timeout expires, notifying
52	  callers that a quit occurred rather than exiting the application
53	  (suggested by Rodrigo Freitas).
54	+ modify handle_inputs() to ensure cursor-visibility is restored when
55	  there is no input character available (report by Guillaume Vareille).
56	+ improve comment in manual page regarding which widgets can use the
57	  "--help-button" (prompted by discussion with Csanyi Pal).
58	+ add a check for valid object pointer in tailbox's main loop since
59	  the getc-callback may have been freed within ui_getc.c (report by
60	  "David").
61	+ improved configure macros for ncurses: CF_GNU_SOURCE, CF_SHARED_OPTS,
62	  CF_CURSES_LIBS, CF_CURSES_FUNCS, CF_NCURSES_CONFIG
63	+ improved configure script checks for groff vs man2html:
64	  CF_PROG_GROFF and CF_WITH_MAN2HTML
65	+ build-fix from lynx for AM_WITH_NLS configure macro
66	+ update config.guess, config.sub
67
682017/12/09
69	+ update ftp url in test-packages.
70	+ modify test-packages to use recommended compiler/linker flags.
71	+ improved configure macros AM_WITH_NLS, CF_CC_ENV_FLAGS,
72	  CF_CURSES_LIBS, CF_NCURSES_CONFIG, CF_SHARED_OPTS, CF_WITH_LIBTOOL,
73	  CF__INTL_BODY.
74	+ update config.guess, config.sub
75
762017/05/09
77	+ improved configure macros CF_ADD_CFLAGS, CF_CC_ENV_FLAGS, and
78	  CF_SHARED_OPTS.
79	+ updated hu.po and tr.po from
80		http://translationproject.org/latest/dialog/
81	+ update config.guess, config.sub
82
832017/01/31
84	+ use DLG_TRACE macro consistently to make "--disable-trace" configure
85	  option work.
86	+ modify buildlist widget to support option "--reorder" for to allow
87	  user to reorder the data based on the sequence of selections
88	  (discussion with Paraic O'Ceallaigh).
89	+ fill background color on unused parts of buildlist.
90	+ fix a minor error in buildlist which let pageup switch columns.
91	+ change several calls to dlg_trace_msg to prefix with "#" to make
92	  the trace logs more consistent for parsing.
93	+ add samples/run_test.sh
94	+ further improve performance with very long command-lines by changes
95	  to howmany_tags().
96	+ modify dlg_string_to_argv() to convert escaped double-quotes to
97	  plain double-quotes when within a double-quoted string.
98	+ modify makefile to apply CFLAGS to linking
99	+ modify dlg_string_to_argv() to ignore escaped newlines except when
100	  quoted, fixing a problem with samples/checklist9.
101	+ interpret $DIALOGOPTS before expanding "--file", etc., to allow
102	  the environment variable to turn on tracing in that process.
103	+ improve performance when processing very long command lines, e.g.,
104	  using "--file" by changing dialog_opts[] to an array of pointers to
105	  the expanded argv[] (discussion with Lars Tauber).
106	+ modified autoconf macros
107	  + CF_CC_ENV_FLAGS amend the last change to move only the
108	    preprocessor, optimization and warning flags to CPPFLAGS and
109	    CFLAGS, leaving the residue in CC.  That happens to work for gcc's
110	    various "model" options, but may require tuning for other compilers
111	  + CF_LARGEFILE workaround for clang exit-code vs warnings
112	  + CF_MATH_LIB quiet strict gcc warning
113	  + CF_WITH_LIBTOOL fix a few places in configure/build scripts where
114	    DESTDIR and rpath were combined
115	  + CF_XOPEN_SOURCE add "uclinux" to list of Linux's
116	+ update config.guess, config.sub
117
1182016/11/20
119	+ added fur.po (Friulian) from
120		http://translationproject.org/latest/dialog/
121
1222016/08/28
123	+ improve parsing and trace for "bindkey", to convert space to/from
124	  "\s", as well as handle octal escapes for single byte characters.
125	+ change explicit checks for space character used for select or toggle
126	  to make this rebindable to "TOGGLE" (prompted by discussion with
127	  Paul van Tilburg).
128	+ add default bindings for cursor left/right to formbox.  The cursor
129	  left/right cases were replaced with rebindable symbols in 2005/12/07
130	  without providing these keys as default values (report/patch by
131	  Miroslav Lichvar).
132	+ modified autoconf macros
133	  + CF_PROG_LINT add cpplint to programs to use; drop ad hoc tdlint and
134	    alint.
135	  + CF_CC_ENV_FLAGS don't limit the check to -I, -U and -D options,
136	    since the added options can include various compiler options before
137	    and after preprocessor options.
138	  + CF_GNU_SOURCE recent glibc (Debian 2.23-4 for example) has
139	    misordered ifdef/checks for new symbol _DEFAULT_SOURCE, producing
140	    warning messages when only _GNU_SOURCE is defined.  Add a followup
141	    check to define _DEFAULT_SOURCE.
142	  + CF_XOPEN_SOURCE use _GNU_SOURCE for cygwin headers, tested with
143	    cygwin 2.3, 2.5 (patch by Corinna Vinschen).
144	+ mention --no-collapse option in manual page description of
145	  --tab-correct option.
146	+ update config.guess, config.sub
147
1482016/04/24
149	+ fix a special case in drawing shadow on a line-drawing cell where the
150	  alternate-character set flag was lost (report by Martin Kravec).
151	+ fix a regression from 2015/05/13 changes for escaping; it is
152	  necessary to retain backslashes within quotes to make "\Z" escapes
153	  work (report by Marcin Krol).
154	+ fix test package for RPMs; changes in 2015 omitted symbolic links
155	  for the library.
156	+ fix typo in help message for "--buildlist" (report by Rihards Olups).
157	+ modified autoconf macros
158	  + CF_PROG_AR, CF_AR_FLAGS added to improve check for archive tool.
159	  + CF_LD_RPATH_OPT, change FreeBSD to use -Wl,-rpath rather than
160	    -rpath option.  According to FreeBSD #178732, either works since
161	    FreeBSD 4.x; however scons does not accept anything except the
162	    -Wl,-rpath form.
163	  + CF_WITH_NCURSES_ETC, change from ncurses to check for pthreads
164	    dependency.
165
1662016/02/09
167	+ modify editbox widget to add a trailing newline if the text has none
168	  to ensure the last line is not ignored (report by Florent Rougon).
169	+ change mouse initialization to look for button-presses rather than
170	  button-clicks, for better response.
171	+ modify dump_curses_key() to show mouse-coding in readable form.
172	+ correct mapping of mouse-clicks on the day-grid in calendar widget
173	  when "--week-start" is used to set the start of the week (report by
174	  Stefan Vogtner).
175	> integrated changes from Stefan Vogtner:
176	+ use Gregorian algorithm for leap year
177	+ use mktime if available; calendar was written just as it became
178	  standard.
179
1802016/01/26 - release 1.3
181	+ correct --infobox documentation, which said it shows an OK button.
182	+ fix a couple of place in test-scripts which referred to $SIG_TRAP
183	  rather than $SIG_QUIT
184	+ reorganize dialog.3, to use subsections for generating navigation
185	  pane, using man2html
186	+ add "--week-start" option for calendar widget (prompted by discussion
187	  with Stefan Vogtner).
188	+ add a limit-check in editbox.c to ensure that mouse-clicks outside
189	  the filled-in text area do not access past the end of the array
190	  (report by Stefan Vogtner).
191	+ update configure macros from ncurses changes.
192	+ update config.guess, config.sub
193
1942015/09/20
195	+ decrease table value for minimum number of arguments for the widgets
196	  which use --no-items option (report by Raven Singularity).
197	+ update configure macros:
198	  + use $SHELL consistently, deprecate non-POSIX shell
199	  + PKG_CONFIG may simply be unset - fix
200	  + add option to allow changing ABI version, from ncurses6.
201
2022015/05/28
203	+ fixes for two autoconf macros, CF_ADD_INCDIR and CF_NCURSES_CONFIG
204	  from work on ncurses.
205	+ build-fix for NetBSD curses (patch by Matthias Scheler).
206
2072015/05/13
208	+ add configure option --with-install-prefix, like ncurses.
209	+ add --with-screen and related configure options from ncurses-examples
210	  to allow building with ncurses6 test-packages.
211	+ update configure macros for improved coding style from lynx changes.
212	+ updated ro.po from
213		http://translationproject.org/latest/dialog/
214	+ update config.guess, config.sub
215	> patches by Florent Rougon:
216	+ fix two bugs in the "--file" option.
217	  + When the number of arguments read from the included file is 0, the
218	    code used to just skip over '--file' and its argument instead of
219	    removing them from the argument list, causing "Error:  Unknown
220	    option --file" later on.
221	  + In the alternative case (at least one argument read from the file),
222	    the previous code used to do '--j;' in order to "force rescan" of
223	    the inserted arguments.  However, control then flowed to outer
224	    blocks where a '++j;' counteracted this measure, causing "Error:
225	    Unknown option --msgbox" (for instance) later on.
226	+ modify escaping in argv.c to be more uniform, whether or not the
227	  backslash is found within a parameter.
228
2292015/02/25
230	+ modify gauge widget to keep from erasing a second gauge widget, e.g.,
231	  via the "--and-widget" option.  This is a cosmetic change to match
232	  behavior of dialog 1.0 (report by Jason Orendorf).
233	+ add configure option "--with-man2html"
234	+ add configure options for versioned symbols, from ongoing work on
235	  ncurses.
236	+ update configure macros, e.g., for shared libraries
237
2382015/01/25
239	+ suppress highlighting of character which denotes an abbreviation or
240	  shortcut for the OK/Cancel and other buttons for these widgets, which
241	  use abbreviations for the list shown on the screen:  buildlist,
242	  checklist/radiobox, menubox, treeview (Debian #775295).
243	+ add grid up/left and down/right bindings in editbox.c as synonyms for
244	  field prev and next, respectively when handling the OK/Cancel buttons
245	  (Debian #775294).
246
2472014/09/11
248	+ correct malloc-size for change to prgbox.
249
2502014/09/10
251	+ fixes to make "-c" option work when passing command to shell for the
252	  prgbox widget, for example in samples/prgbox2 (report by Korantin
253	  Auguste).
254
2552014/09/08
256	+ fix an out-of-bounds array index in buildlist widget (report by
257	  Cade Foster).
258
2592014/09/01
260	+ add configure check for groff, needed for html/ps/pdf output.
261	+ update configure-script macros:
262	  + CF_ACVERSION_CHECK - work around another gratuitous incompatibility
263	    introduced in 2.69
264	  + CF_ADD_CFLAGS - workaround for ash-shell, e.g., with Minix
265	  + CF_ADD_LIBS - filter out duplicates
266	  + CF_CURSES_FUNCS - improve workaround for weak-linkage, seems to fix
267	    tests with NetBSD 6.1
268	  + CF_INTEL_COMPILER - clean up the -no-gcc option which was leftover
269	    from testing.
270	  + CF_LIB_SUFFIX - change suffix for AIX shared libraries to ".so".
271	  + CF_MAKEFLAGS - workaround for GNU make 4.0 incompatibility with
272	    previous releases.
273	  + CF_XOPEN_SOURCE - add cases for Minix, UnixWare and improve the
274	    workaround for Solaris.
275	+ improve comparison in compare_cache() function, in case difference
276	  between pointers does not fit in int's.
277	+ updated de.po, es.po, hu.po, lv.po from
278		http://translationproject.org/latest/dialog/
279	+ update config.guess, config.sub
280
2812014/02/19
282	+ cleanup of manpages prompted by Gislason's comments.
283	+ several changes to manpages to improve presentation (patches by
284	  Bjarni I. Gislason, Debian #739180, Debian #739181)
285	  + use "\/" when transitioning from italic to normal font
286	  + correct an instance of "e.g,."
287	  + use "\e" rather than "\\" to present a literal "\"
288	  + improve formatting of table header
289	  + remove some excess space-characters
290	  + change a reference 0-9 to use "through" as the connector
291	  + use "\&" to separate "." from a space to make the space shorter
292	  + change a list's TP macro parameters to make the hanging text align
293	    better with the adjacent paragraph
294	  + add comma in a few places before "and" in a list
295	  + separate units from numbers with a nonfillable space
296	  + replace "-" with en-dash in a few places
297	+ corrected argument indices after "--args" and "--file" to rescan the
298	  argument list after removing/substituting those options.
299	+ fix loops for "--file" option to handle cases with zero or no tokens at
300	  all substituted (Redhat #1066168).
301	+ add gd.po from
302		http://translationproject.org/latest/dialog/
303
3042014/01/12
305	+ improve calculation for amount to scroll in programbox when an "Ok"
306	  button might obscure part of the data (report by Florent Rougon).
307	+ modify program to permit --separate-output to be used with buildlist
308	  and treeview widgets (report by Florent Rougon).
309	+ add list-height parameter to manpage description of --buildlist
310	  (report by Florent Rougon).
311	+ minor fixes to dialog.1 manpage; the reported problem was actually
312	  fixed in 20120703 (Debian #726233, patch by Bjarni Ingi Gislason).
313	+ add a "Hello World" example to dialog.3 manpage (prompted by
314	  discussions with Dustin Oprea, Kevin Ingwersen).
315	+ correct comparison in dlg_lookup_key() so that using "bindkey" with
316	  a "*" wildcard parameter works as documented (report by Stewart
317	  Benedict).
318	+ updated configure macros, fixes for clang and mingw.
319	+ update config.guess, config.sub
320
3212013/09/28
322	+ fix a regression in gauge widget from 2013/09/28 changes;
323	  dlg_reallocate_gauge() failed when no --title option was given
324	  (report by Tritonas Insomnia).
325
3262013/09/23
327	+ fix samples/inputbox6-utf8, which had depended unnecessarily on bash.
328	+ improve memory caching for wide-character manipulation in gauge
329	  widget (report by Devin Teske).
330	+ add dlg_reallocate_gauge (discussion with Devin Teske).
331	+ updated configure macros to use msys changes from ncurses.
332	+ update config.guess, config.sub
333
3342013/09/02
335	+ modify makefile rule to make the ".png" filenames created by groff
336	  predictable.
337	+ add option --help-tags to allow scripts to get the item's tag field
338	  consistently from help- and help-item button results rather than
339	  getting the item's text for the latter (discussion with Florent
340	  Rougon).
341	+ correct manpage discussion of DIALOG_ITEM_HELP versus --item-help,
342	  as well as --help-button return status (report by Florent Rougon).
343	+ correct limit used for --hline option (report by Devin Teske,
344	  cf: 2011/06/30).
345	+ do not print empty "[]" if a --hline option was given with an empty
346	  value (report by Devin Teske).
347	+ miscellaneous configure script fixes/updates.  In particular, add
348	  option --with-shared which builds shared libraries without a libtool
349	  dependency.
350	+ add FreeBSD port-files for test-builds.
351	+ update lt.po, add fa.po from
352		http://translationproject.org/latest/dialog/
353	+ update config.guess, config.sub
354
3552013/05/23
356	+ modify ifdef in arrows.c to work around packages which use the
357	  wide-character ncursesw headers with the ncurses library (report
358	  by Aleksey Cheusov).
359	+ correct workaround for xterm alternate-screen to work with/without
360	  the fix made in ncurses that makes putp() always write to the
361	  standard output (Debian #708829).
362	+ improve limit-checks for checklist, in case the dialog is resized
363	  (report by Ilya A Arkhipov).
364	+ add --last-key option (adapted from patch by Jordi Pujol, Debian
365	  #697607).
366
3672013/03/15
368	+ update zh_TW.po, add an.po from
369		http://translationproject.org/latest/dialog/
370
3712012/12/30 - release 1.2
372	+ improve some older changelog entries to help with HTML'izing content.
373	+ various fixes/improvments for scrollbar appearance.
374	+ add mappings for some equivalent options provided by whiptail;
375	  add configure option --disable-whiptail to allow suppressing these.
376	+ add configure option --disable-Xdialog2 to allow suppressing the
377	  newer features, i.e., for cdialog 1.2
378	+ add --no-items option, for consistency.
379	+ add --no-tags option, like Xdialog.
380	+ add buildlist, rangebox and treeview dialogs, like Xdialog.
381	+ remove obsolete workaround for ncurses 4.2 scrolling in checklist
382	  and menubox.
383	+ improve dialog_helpfile() by preventing it from showing extra buttons
384	  (suggested by xDog Walker).
385	+ correct logic in formbox's scroll_next() function (report by xDog
386	  Walker).
387	+ fix a case with inputbox widget where preset input text is not shown
388	  until moving the cursor within the text (report by xDog Walker).
389	+ handle SIGCHLD in dialog_prgbox() to eliminate defunct processes
390	  (report by xDog Walker).
391	+ improve the way "hotkeys" are assigned to widget buttons by checking
392	  if a given key has already been used in the row of buttons (Debian
393	  #684933).
394	+ amend fix for --trace parsing from 2012/07/03, which sometimes
395	  skipped a parameter (report by xDog Walker).
396	+ drop copismall and install files from samples, which were essentially
397	  nonfunctional.
398	+ correct secondary border colors in samples/slackware.rc and
399	  samples/whiptail.rc
400	+ update gl.po, add ia.po from
401		http://translationproject.org/latest/dialog/
402	+ fix various issues reported by coverity scan.
403	+ miscellaneous configure script fixes/updates:
404	  + require autoconf 2.52+patches
405	  + support --datarootdir option
406	  + check for clang compiler
407	  + check for tinfo library when looking for ncurses
408	  + add 3rd parameter to AC_DEFINE for autoheader
409	  + remove unused macros from aclocal.m4
410	+ update config.guess, config.sub
411
4122012/07/06
413	+ modify samples/setup-tempfile to work with Tru64's shell.
414	+ modify inputmenu sample scripts to make them more portable:
415	  + use "id" rather than "$GROUPS", use sed to work with Solaris.
416	  + use sed to split-up the rename results to work with HPUX.
417	+ fix regression in msgbox (ArchLinux #30574)
418
4192012/07/03
420	+ modify prgbox widget to work with --extra-button, etc.
421	+ add case values to several widgets to allow for mouse-clicks with
422	"--extra-button" and "--help-button" additions.
423	+ correct timebox widget's exit code for "--extra-button" when handing
424	  the "enter" key.
425	+ modify msgbox widget to honor "--extra-button".
426	+ corrected processing of "--trace" option, which did not update the
427	  index into command-line to point past its value.
428	+ add a check in dialog program for valid characters used in option,
429	  e.g., to generate an error if a script attempts to add option value
430	  using "=" rather than with whitespace.
431	+ add new command-line option --default-button and library function
432	  dlg_default_button() to retrieve the value set by the option
433	  to provide a way to set the default button directly rather than
434	  by combining --nook, etc. (patch by Zoltan Kelemen).
435	+ amend include of unctrl.h to apply only to the case where curses.h
436	  is included, to avoid conflict of ncurses' unctrl.h with a system
437	  implementation (report by Martin Roedlach)
438	+ add limit-check to dlg_toupper() in non-wide curses mode to work
439	  when non-character values such as arrow-key codes are passed to
440	  it (patch by Zoltan Kelemen).
441	+ override timeout value, e.g., as set via --timeout command-line
442	  option in pause widget because that interferes with pause's behavior
443	  (report by Jan Spitalnik).
444	+ modify samples/inputmenu* to allow ":" in renamed text (report by
445	  Andreas Stoewing).
446	+ modify double-quoting to make it more consistent, i.e., checklist
447	  output is quoted only when needed.  This fixes the case where
448	  single-quotes were used whether or not needed, but also modifies
449	  older checklist behavior for double-quoting which always added those
450	  (Debian #663664).
451	+ correct exit-code used in inputmenu for "rename" button (Debian
452	  #673041, forwarded from Ubuntu #333909, patch by Lebedev Vadim).
453	+ update el.po and hr.po from
454		http://translationproject.org/latest/dialog/
455	+ use checkbashisms to clean up sample scripts.
456
4572012/02/15
458	+ modify menubox.c to use the same improvement as in checklist.c
459	+ improve auto width computation for checklist widget by using
460	  dlg_calc_list_width as in the non-auto case (Edho Arief).
461	+ eliminate some bashisms in the sample scripts (Pedro Giffuni).
462	+ makefile fixes from FreeBSD ports (Li-Wen Hsu):
463	  + make --with-package option of configure script work.
464	  + get LIBTOOL_VERSION from configure script, needed by
465	    ${LIBTOOL_VERSION} in LIBTOOL_CREATE (LIB_CREATE in configure and
466	    aclocal.m4)
467	+ update cs.po and sr.po from
468		http://translationproject.org/latest/dialog/
469	+ updated configure script macros, improving CF_XOPEN_SOURCE among
470	  other fixes.
471
4722011/10/20
473	+ fix --analyze warnings for clang versions 2.8, 2.9.
474	+ add configure check for lint program.
475	+ add check in dlg_getc() in case its window is freed as a side effect
476	  of removing callbacks.
477	+ fix logic in freeing subwindows (report by xDog Walker).
478	+ fix a regression in logic distinguishing between inputmenu and menu
479	  widgets (report by xDog Walker).
480	+ minor fixes to library manpage.
481
4822011/10/18
483	+ modify header-sh.in to work around limit on sed script length on
484	  HPUX.
485	+ add a special case of parameter parsing for "--trace" to the
486	  initialization done before calling init_dialog(), to allow users to
487	  capture the initial state of the parameter list before any options
488	  are processed and removed.  This is only done if "--trace" is the
489	  first option, otherwise it is handled in the common options as before
490	  (report by xDog Walker).
491	+ modify samples/testdata-8bit, discarding $1 from the parameter list
492	  if it was used, so that the source'ing scripts can consistently use
493	  "$@" to insert parameters before the widget, e.g., as an alternative
494	  to using $DIALOGOPTS (report by xDog Walker).
495	+ modify treatment of function pointers in menubox.c, make
496	  dlg_renamed_menutext() and dlg_dummy_menutext() visible to library
497	  users (request by xDog Walker).
498	+ add dlg_count_real_columns(), use to modify centering for "--hline"
499	  text to account for "\Z"s (report by xDog Walker).
500	+ improve check in dlg_draw_arrows2() for conflict between the window
501	  title and up-arrow marker to take into account that the given window
502	  may not be the top-level window of the widget.
503	+ change width of page up/down mouse areas in fselect panes to use the
504	  full width of the panes rather than only the portion from the left
505	  margin to the up/down arrow.
506	+ add/use dlg_draw_box2() and dlg_draw_bottom_box2() to use the
507	  secondary borders.
508	+ modify rc-file read/write to accept/generate color values that refer
509	  to previously-processed items in the color table.  This reduces the
510	  number of distinct colors that must be specified to set up a color
511	  scheme.
512	+ add color table entries for secondary borders, i.e., the ones that
513	  are normally drawn with the dialog's text-colors (Debian #641168).
514	+ modify fselect.c to scan the current directory if the input field
515	  happens to be empty (Debian #640905).
516	+ repeated the discussion of environment variables that can override
517	  the exit-status values in the manpage's return-codes section
518	  (Debian #642105).
519	+ add an example to the manpage showing how to override the form
520	  widget's keys used for field/button traversal (Debian #642108).
521	+ modify call to dlg_register_window() in formbox.c so that the editing
522	  bindings are attached to the form sub-window rather than the
523	  top-level dialog window.  Also change the name by which the editing
524	  bindings are bound for editbox.c, fselect.c and inputbox.c, so that
525	  the editing and navigation bindings can be different.
526	+ correct logic in dlg_lookup_key() so that it matches the widget name
527	  before using a binding from .dialogrc, allowing the inner/outer
528	  windows of form and other editing widgets to have different bindings.
529	+ modify dlg_register_window() to call dlg_dump_window_keys() after
530	  its updates, via the --trace output, to supplement the manpage
531	  description of key bindings (Debian #642108).
532	+ add DLGK_FORM_PREV and DLGK_FORM_NEXT key-bindings to form.c, to
533	  allow binding a single key to traverse both form-fields and buttons
534	  (Debian #642108).
535	+ modify dlg_parse_rc() to check for error return from
536	  dlg_parse_bindkey().
537	+ add function dlg_dump_window_keys(), to help with debugging widgets.
538	+ add CR, LF, TAB, FF and ESC to table of curses names to help make
539	  key bindings more readable.
540	+ update table of dialog key-names so that helpfile and trace are
541	  dumped properly.
542	+ correct dlg_dump_keys(), which was showing only the first item in
543	  the matched binding table.
544	+ save/restore window current position in dlg_update_mixedgauge().
545	+ pass return-code from pause_for_ok() from dlg_progressbox() when
546	  pauseopt is set, rather than only DLG_OK.
547	+ call setlocale() in init_dialog() rather than relying on on-demand
548	  use within inputstr.c, since there are paths in textbox widget which
549	  do not exercise the latter (report by xDog Walker).
550	+ fix some places where checks for "\Z" were done without also checking
551	  dialog_vars.colors (report by Moray Henderson).
552	+ correct logic for DIALOGOPTS parsing so that the parse happens only
553	  once unless memory leak checking is enabled (report by xDog Walker).
554	+ remove an incorrect free() call in dlg_free_gauge() (report by xDog
555	  Walker).
556	+ modify dlg_trace_win() to log wide-characters (report by xDog Walker).
557	+ make traces shorter by skipping repeated ERR's, but showing the
558	  number skipped (report by xDog Walker).
559	+ improve description in manpage to distinguish program box and
560	  progress box from tailboxes (adapted from email by xDog Walker).
561	+ modify dlg_trace_win() so that it looks for the topmost window in a
562	  dialog.  Because subwindows share space with the top window, tracing
563	  the latter shows the whole widget (report by xDog Walker).
564	+ expand tracing so that each window is traced before soliciting input,
565	  making the ^T feature to print a window on demand partly redundant
566	  (suggested by xDog Walker).
567	+ cosmetic change in dialog.h to avoid "*/*" strings from comments next
568	  to "*" (report by xDog Walker).
569	+ ensure result from dlg_align_columns() has trailing null on each
570	  string.  Analysis was hindered by libc6's continuance of libc5's
571	  early-1990s misfeature of clearing the result from malloc, noting
572	  that libc6's documentation incorrectly claims that it does not do
573	  this (report by xDog Walker).
574
5752011/07/07
576	+ modify util.c to work better with old versions of ncurses:
577	  + suppress use of wchgat() before fix in 20060715 which is needed
578	    for simple shadow manipulation used here in 2011/06/30 (report
579	    by xDog Walker).
580	  + add a null-pointer check in dlg_print_scrolled()
581	+ fix a regression in dlg_getc() introduced by changes to intercept
582	  F1 for help-popup (report by xDog Walker).
583
5842011/06/30
585	+ correct license statement for prgbox.c (Debian #632198).
586	+ correct layout when "--colors" is used, by discounting characters in
587	  the escape sequences from the column counts (report by xDog Walker).
588	+ modify dlg_checklist() so that only one item in the list can
589	  initially be selected (report by xDog Walker).
590	+ add/use macro dlg_enter_buttoncode() to improve implementation of
591	  "--nook" option (report by xDog Walker).
592	+ add option "--no-nl-expand" to suppress the conversion of "\n"
593	  strings into newlines (request by xDog Walker).
594	+ modify LIB_CREATE symbol in makefile.in to include the library
595	  dependencies such as ncurses.  This is needed when dynamically
596	  loading the library (report/analysis by xDog Walker).
597	+ modify dlg_exit_label() to suppress the Cancel button, for
598	  consistency.
599	+ modify dlg_exit_label() to honor the --nook option, except when there
600	  is no other button, e.g., the help-button.
601	+ modify dlg_exit_buttoncode() so that it returns the proper code for
602	  help-button (report by xDog Walker).
603	+ correct loop limit when processing "--column-separator" (report by
604	  xDog Walker).
605	+ modify handling of "--version" and "--help" to ensure that they are
606	  processed, and exit before widgets.  Separate "--print-version"
607	  from "--version", allowing its output to be interspersed with
608	  widget output (report by xDog Walker).
609	+ correct a few places where "--version" or "--help" options went
610	  always to stdout rather than allowing redirection with the "--stderr"
611	  option (report by xDog Walker).
612	+ improve repainting after erasing a widget and its shadow.
613	+ add "--hline" and "--hfile" options for compatibility with FreeBSD
614	  dialog (request by Devin Teske).
615	+ add dialog version message when opening a trace file (request by
616	  xDog Walker).
617	+ show filename of rc-file in traces.
618	+ add piped-in data for gauge widget to traces.
619	+ add entrypoints to gauge widget, for allocating, updating and freeing
620	  the widget (adapted from patch by Stephen Hurd).
621	+ fix a reference to freed memory in the gauge widget.
622	+ fix --no-mouse option by actually closing the mouse (report by
623	  xDog Walker).
624	+ add sk.po from
625		http://translationproject.org/latest/dialog/
626	+ limit Solaris xpg4 portability fix for redefinition of ERR to cover
627	  the specific value found in <sys/regset.h>, in case an application
628	  includes dialog.h after curses.h (FreeBSD #156601, report by Jaakko
629	  Heinonen, Stephen Hurd).
630	+ updated configure macros:
631	  + CF_CURSES_CPPFLAGS,
632	  + CF_CURSES_LIBS, make checks for special libraries on hpux10 and
633	    sunos4 optional
634	  + CF_CURSES_FUNCS, workaround for bug in gcc 4.2.1 (FreeBSD 8.1)
635	    which caused part of test program to be omitted, i.e., when it saw
636	    two return-statements in a row it omitted the _first_ one.  Also
637	    add expression to pointer check to help FreeBSD's linker decide it
638	    should be validated.  Just an assignment was not enough.  Also, add
639	    check for unctrl.h
640	  + CF_CURSES_HEADER, change order for curses.h / ncurses.h pairs to
641	    put ncurses.h first, which will tend to provide the same #define's
642	    as in CF_NCURSES_HEADER (report by Dennis Preiser).
643	  + CF_CURSES_TERM_H, modify to avoid spurious check for
644	    <curses.hterm.h> if there is no ncurses version.  Look for
645	    ncurses's term.h anyway, to work around breakage by packagers who
646	    separate ncurses' header files.
647	  + CF_DISABLE_RPATH_HACK, fix garbled message
648	  + CF_LD_RPATH_OPT, add mirbsd
649	  + CF_MAKEFLAGS, filter out GNU make's entering/leaving messages.
650	    This only appeared when using the macro in a dpkg script, though it
651	    should have in other cases.
652	  + CF_RPATH_HACK, add a check for libraries not found, e.g., from
653	    suppressed functionality of gcc in linking from /usr/local/lib, and
654	    add a -L option to help work around this.
655	  + CF_XOPEN_SOURCE, workaround for cygwin to get ncurses' configure
656	    script to define _XOPEN_SOURCE_EXTENDED (cygwin's features.h
657	    doesn't do anything, so it needs a crutch).
658	+ update config.guess, config.sub
659
6602011/03/02
661	+ add --prgbox and --programbox (adapted from patch by David Boyd).
662	+ add sl.po from
663		http://translationproject.org/latest/dialog/
664	+ fix timeouts from 2011/01/18, which were being interpreted as
665	  milliseconds rather than seconds (report by Luis Moreira).
666
6672011/01/18
668	+ fix inconsistency in return-codes for textbox when help-button is
669	  used by making dlg_exit_buttoncode() a wrapper for
670	  dlg_ok_buttoncode().
671	+ modify pause widget to use dlg_ok_buttoncode(), so help-button works.
672	+ correct two infobox sample scripts, which did not pass extra
673	  command-line parameters due to quoting problems.
674	+ add a limit-check to the timebox widget (patch by Garrett Cooper).
675	+ modify --trace option to also trace the command-line parameters.
676	+ account for combining characters when wrapping text (Debian #570634).
677	+ correct handling of SIGWINCH in gauge widget (Debian #305705).
678	+ add gauge_color, to make guage's progress-bar distinct from
679	  title_color (request by Dominic Derdau).
680	+ update fi.po from
681		http://translationproject.org/latest/dialog/
682	  as well as resync line-numbers in the other po-files.
683	+ modify configure script and dialog program to build with NetBSD's
684	  wide-character curses functions, including workarounds for its
685	  incorrect WACS_xxx definitions.  Some of the UTF-8 examples work.
686	+ add back-tab for traversal of tailboxbg widgets, for symmetry with
687	  tab-traversal.
688	+ reduce flicker in tailboxbg by checking if the input file size has
689	  changed.
690	+ modify internals of callbacks to avoid blocking reads of their
691	  associated files by keyboard input.
692	+ add command-line option --no-mouse, to suppress use of mouse.
693	+ add configure option --enable-header-subdir to allow the header files
694	  to be installed into a subdirectory named for the package.
695	+ modify dlg_restore_vars() to retain the updated values of
696	  input_result and input_length, eliminating the need for a caller to
697	  provide their own user buffer (prompted by report by Thiago Bimbatti
698	  Felicio).
699	+ add a null-pointer check in show_result() for
700	  dialog_vars.input_result, and ensure it is set to null after freeing
701	  (prompted by report by Thiago Bimbatti Felicio).
702	+ change order of -I options in CPPFLAGS (report by Michel Feldheim)
703	+ modify pause-widget so that it no longer exits when an unrecognized
704	  key is pressed (patch by Creidieki M Crouch).
705	+ add --with-package option to configure script to allow renaming
706	  of the dialog program and library, to support the package scripts.
707	+ add Debian and RPM package scripts for test-builds.
708	+ several improvements to configure script:
709	  + quote params of ifelse()
710	  + change obsolete ${name-value} to standard ${name:-value}
711	  + use new macros CF_ADD_LIB/CF_ADD_LIBS to enforce consistency.
712	  + AM_GNU_GETTEXT, drop $MKINSTALLDIRS, use "mkdir -p" consistently.
713	  + CF_ADD_SUBDIR_PATH, workaround - if $prefix was not mkdir'd yet, no
714	    directories were added.
715	  + CF_BUNDLED_INTL, add --with-textdomain option, to use with lynx-dev
716	    package
717	  + CF_FIND_LINKAGE, simplify save/restore of $LIBS
718	  + CF_GCC_WARNINGS, fix for Mac OS X (compiler makes conftest.dSYM
719	    directory)
720	  + CF_HEADER_PATH, don't search for variations of everything in the
721	    current include-path
722	  + CF_WITH_CURSES_DIR, move the calls to CF_ADD_INCDIR and
723	    CF_ADD_LIBDIR for the curses-directory here, from
724	    CF_NCURSES_CPPFLAGS and CF_NCURSES_LDFLAGS, so it will work even
725	    with the default checking, e.g., no --with-ncurses, etc.
726	+ update config.guess, config.sub
727
7282010/04/28
729	+ several improvements to configure script:
730	  + modify CF_CURSES_TERM_H to handle cases such as cygwin where
731	    packager has installed curses.h and term.h in different
732	    directories, e.g., to wedge in a termcap library.
733	  + modify CF_XOPEN_SOURCE, adding special case for OpenSolaris
734	  + modify CF_MAKE_TAGS to add check for exctags and exetags, prefer to
735	    ctags and etags to work around pkgsrc (NetBSD) renaming.
736	  + correct CF_FIND_LINKAGE, setting cache variable for library_file in
737	    the special case where no directory search is made.
738	  + improve CF_GCC_VERSION, suppress stderr for c89 alias of gcc.
739	  + improve CF_GCC_WARNINGS, moving -W and -Wall into the list to
740	    check, since c89 alias for gcc complains about these options.
741	  + modify CF_HEADER_PATH, to not search for variations of everything
742	    in the current include-path
743	  + use "mkdir -p", remove mkdirs.sh
744	  + use CF_CURSES_HEADER to fill in possible subdirectory used for
745	    ncurses header filename.
746	  + modify CF_XOPEN_CURSES to work around current ncurse header loss of
747	    predefinition of _XOPEN_SOURCE_EXTENDED
748	  + add "--disable-rpath-hack" option, along with scripting to add
749	    rpath option to libraries found in unusual places.
750	+ modify pause widget to autosize like gauge, and to omit the area for
751	  buttons when none are displayed.
752	+ fix an infinite loop in dlg_button_layout() if there are no buttons
753	  to display (Debian #579390).
754	+ add makefile rules for generating html, etc., documentation from
755	  nroff.
756	> patches by Samuel Martin Moro
757	+ reset errors in tailbox before reading new character.
758	+ modify dlg_draw_scrollbar(), omitting hiding percentages in boxes
759	  when no arrows or scrollbar are needed.
760	+ correct value of row for scrollbars in formbox.
761	+ update es.po from
762		http://translationproject.org/latest/dialog/
763
7642010/01/19
765	+ split up binding tables in inputbox and similar widgets to avoid
766	  conflict between cursor-key use for input-string versus navigation
767	  (report by slakmagik).
768	+ if strftime() is available, support --time-format option for timebox
769	  widget.
770	+ if strftime() is available, support --date-format option for calendar
771	  widget (request by Walter Harms).
772	+ build-fixes for linking to intl library in /usr/local
773	+ add --scrollbar option, use in most widgets to show a scrollbar on
774	  the right margin of the data.  That is cosmetic, does not respond to
775	  the mouse.
776	+ reuse functions from msgbox to allow prompt for yesno box to be
777	  scrolled in a too-small window.
778	+ correct mapping of button-codes with --nook option (report by Lebedev
779	  Vadim).
780	+ cleanup sample scripts using new utility scripts setup-* and report-*,
781	  and allow command-line parameters to be added, for ad hoc testing.
782	+ correct change to tailbox widget from 2009/02/22 using
783	  dlg_button_layout(), which broke that widget.
784	+ document some of the portability caveats.
785	+ modify gauge widget to service callbacks (prompted by patch and
786	  comments by Frank Sorenson).
787	+ modify editbox to allow its input buffer to be larger than MAX_LEN
788	  unless bounded by the --max-input option, and add limit-checks for
789	  the buffer (report by slakmagik).
790	+ improve manpage description of --checklist (report by Isaac Good).
791	+ several improvements to configure script macros:  CF_ADD_CFLAGS
792	  CF_CURSES_FUNCS CF_DISABLE_ECHO CF_GCC_ATTRIBUTES CF_MATH_LIB
793	  CF_POSIX_C_SOURCE CF_REMOVE_DEFINE CF_WITH_LIBTOOL CF_XOPEN_SOURCE
794	+ add is.po, lv.po, sw.po from
795		http://translationproject.org/latest/dialog/
796	+ update de.po, id.po, pl.po, pt_BR.po, vi.po from
797		http://translationproject.org/latest/dialog/
798
7992009/02/22
800	+ do not display top-arrows for scrolling if they would overwrite the
801	  title (report by slakmagik)
802	+ consistently use dlg_button_layout() when autosizing widgets (report
803	  by slakmagik).
804	+ add "-" and "+" bindings to timebox widget.
805	+ add "-" and "+" bindings to calendar widget (OpenSolaris #6739031).
806	+ review/fix other widgets to ensure that they exit on error, e.g.,
807	  editbox.c
808	+ modify check in dlg_getc() to treat closure of either stdin or stdout
809	  as an error, rather than both.  This is more stringent than the check
810	  added in 2007/07/04.
811	+ modify dlg_result_key() to map curses ERR to dialog's error exit
812	  (adapted from patch by Domagoj Pensa).
813	+ updated several configure script macros:
814	  + consistently append, rather then prepend, to $CFLAGS
815	  + add cases for AIX 6, mint, and dragonfly to CF_XOPEN_SOURCE
816	  + use $PATH_SEPARATOR rather than $PATHSEP
817	  + improve CF_FIND_LINKAGE, use in checks for more libraries, e.g.,
818	    libutf8 and libiconv.
819	+ update da.po, ru.po from
820		http://translationproject.org/latest/dialog/
821	+ update config.guess, config.sub
822
8232008/08/19
824	+ amend changes to quoting; by default, the checklist widget quotes its
825	  output except when --separate-output is used (Debian #495600).
826	+ add eo.po from
827		http://translationproject.org/latest/dialog/
828
8292008/07/27
830	+ add pointer-check when closing piped input (cf: 2007/03/25)
831	+ use here-documents rather than echo, when passing backslashes in
832	  strings, to accommodate the Debian shell "dash" (Debian #489563).
833	+ recode several ".po" files to UTF-8 for consistency.
834	+ change --separator to be an alias for --output-separator, for
835	  compatibility with Xdialog.
836	+ add --output-separator option to allow scripts to change the output
837	  separator from a newline (for --separate-output) or a space.  This
838	  applies to other widgets such as forms and editboxes which normally
839	  use a newline.
840	+ add --column-separator option, to tell where column-aligned data for
841	  radio/checkboxes or menus should be split into columns (request by
842	  Ben Dibbens).
843	+ add id.po, ku.po, lt.po, nb.po and update ca.po, fr.po, gl.po, ja.po,
844	  th.po from
845		http://translationproject.org/latest/dialog/
846	+ add "--quoted" option, to quote values returned by formbox, etc.
847	+ change names of EX/ES macros in dialog.1 to work around name-
848	  pollution caused by changes in Debian #470729.
849
8502008/03/16
851	+ modify dlg_mouse_wgetch() to loop only on errors that it detects,
852	  rather than on errors forwarded from dlg_getc(), in case those are
853	  due to a disconnected terminal (report by Anatoli Sakhnik).
854	+ allow "default" color in dialogrc file (request by Dashing).
855	+ fix an indexing error in formbox (Debian #469190, report by Dmitry
856	  Gomerman, patch by Vladimir Mezentsev).
857	+ add bindings for CTL/N, CTL/P to checklist, fselect and menubox
858	  widgets (prompted by discussion with John Gatewood Ham).
859	+ add be@latin.po, th.po and update zh_TW.po from
860		http://translationproject.org/latest/dialog/
861	> patches by Peter Astrand:
862	  + modify dlg_auto_sizefile() to ensure the computed height and width
863	    do not extend beyond the screen size.
864	  + use unctrl() to make inputstr.c work with Solaris curses.
865	> patches by Yura Kalinichenko:
866	  + extend pause widget to use ok/cancel buttons (the former giving the
867	    same result as a timeout), rather than an exit-button.
868	  + fix initialization parameter of inputbox for multibyte characters.
869
8702007/10/28
871	+ improve layout of checklist.c, menubox.c, ensuring that the list fits
872	  within the available space (report by Gordon Schumacher).
873	+ undo removal of redundant chunk from checklist.c in 2007/02/27,
874	  since some scripts depend on this (Debian #443077).
875	+ update nl.po from
876		http://translationproject.org/latest/dialog/
877
8782007/09/30
879	+ correct cursor position in editbox after deleting past left margin
880	  (report by Joe McDonagh).
881	+ add "--no-ok" option (patch by Klaus Knopper).
882	+ modify "--file" option to allow it to read from sources other than
883	  a regular file (patch by Pieter van Beek).
884	+ improved hi.po (Hindi) (from Klaus Knopper).
885	+ fix masking of attributes in dlg_draw_shadow() which lost
886	  line-drawing bit (report by David Everly).
887	+ fix editbox widget to handle zero-length files (report by Joe
888	  McDonagh).
889	+ update "po" files eu.po ga.po it.po ms.po sv.po vi.po wa.po zh_CN.po
890	  from
891		http://translationproject.org/latest/dialog/
892
8932007/07/04
894	+ revise the resizable shadows so textbox's search dialog has text
895	  visible in the shadow again.
896	+ improve the prefixing of autoconf-related symbols in the installed
897	  header files, taking into account symbols which are not mentioned in
898	  dlg_config.h
899	+ add a check when ERR returned from wgetch() to ensure that the
900	  input/output streams are still valid.  If that happens, force
901	  ESC to be returned, quitting dialog (report by Reiner Huober).
902	+ add extern "C" declarations to dlg_keys.h so the corresponding
903	  function declarations are exported to C++ as C symbols.
904	+ update config.guess, config.sub
905
9062007/06/04
907	+ fix a memory leak in editbox.c
908	+ revise change from 2007/02/27 which moved the logic for trimming
909	  option text out of the loop because that moved it before
910	  initialization of the "--trim" option.  Put it back in the loop, but
911	  limit the tokens which are trimmed to cover only those for the
912	  current widget.  Also ensure that all tokens for a widget are
913	  trimmed, rather than only the first, which is usually text (report by
914	  Lai Zit Seng).
915	+ add _FILE_OFFSET_BITS definition in CF_LARGEFILE configure macro.
916
9172007/05/28
918	+ revise changes needed to make textbox's searchbox handle ncurses
919	  resizing events, e.g., by handling the ERR in that code rather than
920	  in dlg_getc() (Debian #423732).
921
9222007/05/14
923	+ supply a repaint_text() call in tailbox.c which was bypassed because
924	  dlg_getc() now retries on ERR (Debian #423732, cf: 2007/02/27).
925	+ modify dlg_getc() to fix regression in 2007/02/27 for use of
926	  timeouts, broken by fixes to allow resizing of textbox (patch by
927	  Arnaud Fontaine, Debian #418905).
928	+ modify dlg_getc() to fix regression in use of TAB for traversal of
929	  tailboxbg widgets due to changes for user-definable key bindings
930	  (Debian #418917, cf:  2005/12/07).
931
9322007/04/09
933	+ add case in dlg_getc() to handle tab for traversing between widgets
934	  as in the samples/tailboxbg1 script.  Normally the key binding
935	  overrides, except for the special case where multiple widgets are
936	  available.
937	+ add configure --with-libtool-opts, which passes its value to the
938	  library creation and linkage passes, e.g.,
939	  	--with-libtool-opts=-static
940	  to force the result to be static libraries (prompted by a related
941	  request by Santiago Vila).
942	> several fixes based on Coverity scan:
943	+ fix memory leak in timebox, calendar widgets if the widget cannot
944	  be created.
945	+ fix memory leak in dlg_key.c if a user binding's storage cannot
946	  be allocated.
947	+ fix improperly delinked entry in dlg_del_window().
948
9492007/03/25
950	+ improve mkdirs.sh to ignore error from mkdir if the target directory
951	  happens to already exist (suggested by Harald van Dijk).
952	+ amend documentation for --gauge to reflect longstanding quirk which
953	  allows it to read percentage from the first line after an "XXX"
954	  (Debian #415596).
955	+ fix makefile dependency so "configure && make install-lib" works.
956	+ fix resizing of msgbox; the message was not repainted (Debian
957	  #415022, patch by Brian Rolfe).
958	+ fix typo in makefile LIB_OBJECT symbol from 2007/02/27 changes.
959	+ improve CF_MBSTATE_T by including stdio.h, needed on Tru64 to make
960	  the test-compile work.
961	+ change makefile to install dialog.3 as part of install-lib rather
962	  than install-man (report by Thomas Klausner).
963	+ use $(INSTALL_SCRIPT) for installing dialog-config (report by
964	  Santiago Vila).
965
9662007/02/27 - release 1.1
967	+ mark as "dialog 1.1"
968	+ add dialog-config script, which provides applications with compile-
969	  and link-information for using the dialog library.
970	+ move calls to dlg_trim_string() out of loop in dialog.c, so each
971	  string is trimmed once (report by Ivanov Makcim).
972	+ modify textbox.c to allow resizing while the search box is presented.
973	  This relies on bug-fix in ncurses 5.6 20070224.
974	+ use dgettext() rather than gettext() to allow libdialog to use the
975	  messages installed for dialog (patch by Vajna Miklos).
976	+ modify inputbox to position the cursor initially at the end of any
977	  initial-text (request by Klaus Knopper).
978	+ add configure --with-valgrind for testing.
979	+ add --trace option, for debugging.
980	+ add --ascii-lines and --no-lines options to control the way the
981	  line-drawing characters are rendered (request by Klaus Knopper).
982	+ add --keep-tite option, to override suppression of smcup/rmcup
983	  (termcap ti/te) strings which would switch to xterm's alternate
984	  screen (Debian #380665).
985	+ modify fselect/dselect to use space-character as a completion
986	  operator like tab in shells (patch by Yoram Bar Haim).
987	+ remove a redundant chunk from checklist.c which reported status a
988	  second time if the help-button was pressed but no item-help option
989	  was in effect (Andre C Barros).
990	+ fix return-status from "dialog --pause" (Debian #409254).
991	+ add --mixedform and --mixedgauge dialogs based on patch from
992	  Kiran Cherupally.
993	+ add some notes on compatibility to the manpage.
994	+ add editbox dialog (compatible with Xdialog, Debian #368478).
995	+ add dselect dialog (compatible with Xdialog).
996	+ remove an incorrect initialization of .text_flen from 2005/12/07
997	  changes, which made all fields in a form editable (Debian #404045).
998	+ report error and exit if a filename given for the --file option
999	  cannot be opened (report by "Dog Walker").
1000	+ make --program-prefix, etc., work in configure script, e.g., to make
1001	  program install as "cdialog".  This does not alter the library name.
1002	+ add install-bin, install-man (and uninstall) rules to makefile.
1003	+ updates for configure script macros (originally vile, lynx, xterm):
1004	  AM_PATH_PROG_WITH_TEST, AM_WITH_NLS, CF_CURSES_CPPFLAGS,
1005	  CF_CURSES_LIBS, CF_INCLUDE_DIRS, CF_LARGEFILE, CF_MAKEFLAGS,
1006	  CF_PATH_SYNTAX, CF_SUBDIR_PATH, CF_SUBST, CF_WITH_DBMALLOC,
1007	  CF_WITH_DMALLOC, CF_WITH_LIBTOOL and CF_XOPEN_SOURCE.
1008	+ update config.guess, config.sub
1009	> adapted fixes from SuSE package (Werner Fink):
1010	  + add some limit-checks in dlg_draw_shadow().
1011	  + make shadows resizable, using new dlg_move_window() in msgbox.c
1012	    and yesno.c
1013	  + add dialog_state.input, use this in end_dialog() to decide whether
1014	    to close pipe inputs and call _exit(), or simply call exit().
1015	  + modify dlg_ctl_size() to check if the reason for failure is because
1016	    shadows were used; retry in that case without shadows.
1017	  + add signal catcher for SIGSEGV.
1018
10192006/02/21
1020	+ fix logic in split-out dlg_menu() to separate inputmenu and menu
1021	  handling (report by Auke Kok).
1022
10232006/01/26
1024	+ fix fselect.c to compile properly with Intel compiler and largefile
1025	  option.
1026	+ improve configure script checks for curses headers to work around
1027	  breakage in some packages, e.g., cygwin.
1028	+ amend correction to menubox, fixes normal menus (Debian #349969).
1029
10302006/01/19
1031	+ completed dialog.3 manpage
1032	+ modify configure script option --with-gauge to cover all flavors of
1033	  the gauge (gauge, pause, progressbox).
1034	+ add progressbox widget, a hybrid of gauge and tailbox (Reznic Valery).
1035	+ fix a comparison in checklist.c to avoid unneeded arrows when the
1036	  list happens to fit in the window (patch by Peter Postma).
1037	+ correct wrapping computation in print_line() from 2005/11/07 changes
1038	  (report by Barry Kauler).
1039	+ update sv.po (comments only).
1040		http://www.iro.umontreal.ca/translation/maint/dialog/
1041	+ correct logic that passes the callback for menubox to do inputmenu
1042	  operations from 2005/12/7 changes (report by Reznic Valery).
1043
10442006/01/01
1045	+ add a null-pointer check in dlg_register_buttons(), needed for the
1046	  tailboxbg (Debian #345524).
1047	+ fix a few memory leaks reported by valgrind.
1048
10492005/12/19
1050	+ correct return-values of new functions dlg_default_listitem() and
1051	  dlg_default_formitem() (Debian #344002).
1052	+ add Swedish translation (Debian #343303, by Daniel Nylander)
1053	+ begin function-summaries in dialog.3
1054	+ update config.guess, config.sub
1055
10562005/12/07
1057	+ change license to LGPL.
1058	+ change naming convention in dlg_colors.h to make it easier to read,
1059	  and incidentally remove the last chunk of code preventing relicense.
1060	+ add --passwordform (request by Reznic Valery).
1061	+ modify pause.c, msgbox.c to work with --help-button.
1062	+ modify formbox.c, inputbox.c, textbox.c, yesno.c to work with extra
1063	  button (adapted from Reznic Valery patch).
1064	+ modify dlg_exit_label(), dlg_yes_labels() and dlg_ok_label() to allow
1065	  help-button (prompted by Reznic Valery patch).
1066	+ add zh_CN.po file from
1067		http://www.iro.umontreal.ca/translation/maint/dialog/
1068	+ provide alternate interfaces for dialog_checklist(), dialog_menu()
1069	  and dialog_form():  dlg_checklist(), dlg_menu() and dlg_form()
1070	  (discussion with Michael Gebetsroither).
1071	+ add/use dlg_result_key() to allow binding function keys to the
1072	  buttons.
1073	+ implement user-definable key bindings in the rc-file.
1074	+ modify inline cases for KEY_xxx values to use binding tables in new
1075	  module dlg_keys.c
1076	+ add several DIALOG_STATE items to the rc file:  aspect,
1077	  separate_widget, tab_len and visit_links
1078	+ add a tab-adjustment to dlg_print_text() to improve solution from
1079	  2005/10/30, e.g., in the samples/form* scripts.
1080	+ fix an off-by-one which made mouse-selection not work for menu items
1081	  past the first page (GenToo #112024, patch by Harald van Dijk).
1082
10832005/11/07
1084	+ extend dlg_add_result() to allow caller to pass a null pointer
1085	  for dialog_vars.input_result (Debian #336986).
1086	+ correct length used for text portion of radio/checkboxes (report by
1087	  Valentin Stoykov).
1088	+ modify msgbox, textbox and center_label() to work properly for
1089	  LANG=bg_BG.utf8 examples by Valentin Stoykov.
1090	+ modify use of freopen() to work with opaque FILE type on DragonFly
1091	  (report by Jeremy C Reed).
1092	+ modify print_line() to compute columns, use that for the call to
1093	  dlg_print_line().  Fix a few places where strlen() was used instead
1094	  of dlg_count_columns() (reports by Valentin Stoykov).
1095
10962005/10/30
1097	+ reviewed changes since beginning development in 1999, decided that
1098	  there are no appreciable portions of original code remaining.
1099	  Marked sources to correspond.
1100	+ improve cache performance for inputstr.c using tsearch() rather than
1101	  a linked-list search (Debian #294853).
1102	+ remove a special case for darwin in CF_XOPEN_SOURCE configure macro.
1103	+ add ms.po file from
1104		http://www.iro.umontreal.ca/translation/maint/dialog/
1105	+ remove an assignment that caused the cursor to appear initially on a
1106	  form field rather than button (Debian #333506).
1107	+ modify buttons.c to count columns rather than bytes, fixing case
1108	  where buttons were laid out incorrectly (report by Valentin Stoykov).
1109	+ change dlg_print_text() to count columns rather than bytes, fixing
1110	  case where fewer columns were displayed in menu than expected
1111	  (report by Valentin Stoykov).
1112
11132005/10/05
1114	+ improve fix for dlg_does_output(), eliminating redundant leading
1115	  separator.
1116	+ fill background color for item-help text (report by Peter Postma).
1117	+ correct interaction between --separate-output and --output-separator
1118	  broken in 2005/09/11 fix for Debian #326918 (Debian #331440).
1119	+ update config.guess, config.sub
1120
11212005/09/11
1122	+ undo doubled adjustment for left/right margins when wrapping text
1123	  for msgbox, gauge and pause (report by Xyba).
1124	+ correct position of scrolled text in formbox broken by 2004/12/19
1125	  changes (report by Konrad Jelen).
1126	+ call dlg_does_output() from dlg_add_result(), ensuring that
1127	  separators are used when combining widgets such as formbox (report by
1128	  John Suykerbuyk).
1129	+ fix marker in textbox.c to make it disappear at the top of the file
1130	  (report by Patrick J. Volkerding).
1131	+ fix marker shown in arrows.c for checklists, etc., which was "(+)"
1132	  where it should have been "(-)" (report/patch by Patrick J.
1133	  Volkerding).
1134	+ fix --input-fd (changes in glibc since 2003 made dialog hang on exit
1135	  due to the way dialog updated stdin).
1136	+ restore default value (a tab) for --separator or --separate-widget
1137	  lost in 2003/11/26 changes (Debian #326918).
1138	+ make several widgets handle SIGWINCH (calendar, checklist, formbox,
1139	  fselect, inputbox, menubox, pause, tailbox, textbox, timebox).  Only
1140	  msgbox and yesno had been done before.  Note that some still have
1141	  fixed geometry requirements, so they cannot be shrunk below a given
1142	  threshold.  Also, these changes do not address traversal, e.g., for
1143	  tailboxbg.
1144	+ make gauge widget handle SIGWINCH with ncurses (Debian #305705).
1145	+ add configure option to control whether largefile support is
1146	  compiled-in (Debian #298882).
1147	+ update eu.po (Debian #312622, patch by Piarres Egana).
1148	+ add/update po files from
1149		http://www.iro.umontreal.ca/translation/maint/dialog/
1150	  fi.po, rw.po, sr.po, tr.po, zh_TW.po
1151	+ fixes for configure script:
1152	  + improve script for determining gcc version
1153	  + improve checks for Intel compiler and related warning options
1154	  + improve checks for defining _XOPEN_SOURCE (or alternatives) and
1155	    _POSIX_C_SOURCE
1156	+ update config.guess, config.sub
1157
11582005/03/06
1159	+ add/update po files from
1160		http://www.iro.umontreal.ca/translation/maint/dialog/
1161	  ga.po, it.po
1162	+ revert last change for da.po; it was from an older version (report by
1163	  Morten Brix Pedersen).
1164
11652005/02/06
1166	+ modify makefile.in so --disable-echo applies to libtool builds.
1167	+ corrected malloc size used for editable fields in formbox widget to
1168	  match the function which updates the corresponding buffer.
1169	+ modify formbox widget's use of flen to allow negative values to be
1170	  used to limit the length of the displayed field.
1171	+ improve description in manpage of output from formbox widget
1172	  (Debian #292418).
1173	+ modify formbox widget to allow fields with flen==0 to display
1174	  (Debian #292417).
1175	+ improved configure macros CF_POSIX_C_SOURCE and CF_XOPEN_SOURCE, to
1176	  avoid redefinition warnings on cygwin.
1177	+ fix a typo in inputmenu-stdout found via "sh -n" (report by Steve
1178	  Grubb).
1179	+ add/update po files from
1180		http://www.iro.umontreal.ca/translation/maint/dialog/
1181	  ca.po, da.po, hu.po, nl.po, rm.po, ro.po, vi.po
1182
11832005/01/16
1184	+ add --args option to help with debugging scripts.
1185	+ adapted some new po files from Debian package for whiptail:  ar.po,
1186	  bg.po, gl.po, hi.po, hr.po, mg.po, mk.po, ro.po, sq.po and zh_TW.po
1187	+ update da.po (Morten Brix Pedersen).
1188	+ add configure check for Intel 8.0 compiler, to set appropriate
1189	  warning options.
1190	+ update config.guess, config.sub
1191
11922004/12/22
1193	+ correct a typo in 2004/12/19 changes which caused width of multibyte
1194	  characters to be incorrectly computed in some locales.
1195	+ modify --version and --help options to write consistently to the
1196	  standard output (report by Santiago Vila).
1197	+ modify tailboxbg by resetting tty modes at the point where it forks a
1198	  process to update the screen, rather than waiting until that process
1199	  exits.  This improves user feedback by making it apparent that dialog
1200	  is no longer processing input after that point (Redhat #142538).
1201	+ minor updates to some .po files using Babel Fish, comparing with lynx.
1202	+ update es.po (Santiago Vila).
1203	+ work around bug in NetBSD 1.6 curses which seems to be confused by
1204	  reusing color pairs with different video attributes.  The problem
1205	  does not appear in NetBSD 2.0 curses (but its headers do not provide
1206	  version info, so color-caching is not available for that
1207	  configuration).
1208	+ modify pause and gauge widgets to ensure that reverse-video progress
1209	  bar is visible when the background is reversed, e.g., using the
1210	  default non-color attributes.
1211	+ use chtype rather than attr_t, to build with old Solaris curses,
1212	  used in save/restore operation from 2004/09/20.
1213
12142004/12/19
1215	+ add pause-widget (patch by Yura Kalinichenko).
1216	+ modify exit-code returned on selecting the "Help"-button when the
1217	  --item-help option is given.  Previously this returned the same code
1218	  as "OK", since it combines output for "OK" with the help status.  It
1219	  now returns the help-code, but this can be overridden by setting the
1220	  environment variable $DIALOG_ITEM_HELP (reports by Erika Pacholleck
1221	  and Sebastian Muesch).
1222	+ modify formbox widget so input-length is not limited to field-length
1223	  (report by David Liebermann).
1224	+ localize the label on the search box for textbox widget (report by
1225	  Erika Pacholleck).
1226	+ correct usage message detail for fselect, which listed an extra
1227	  parameter (Debian #284008).
1228	+ add include for <sys/select.h> in ui_getc.c to build with QNX 4.25
1229	  using Watcom 10.6 (patch by Len Meakin).
1230	+ modify behavior when no locale (or POSIX locale) is set to allow
1231	  legacy interpretation of Latin-1 character set (Debian #284795).
1232
12332004/11/18
1234	+ correct computation of column width for menubox/checkbox tags, for
1235	  multicolumn characters, e.g., the menubox-utf8 example.
1236	+ correct calls to wbkgdset(), which set the background attribute but
1237	  not the corresponding character (ncurses uses blank if none is given).
1238	+ improve configure script check for _XOPEN_SOURCE and _POSIX_C_SOURCE.
1239	+ improved limit-computation in show_message() to allow for scrolling
1240	  very long messages.
1241	+ adjust scrolling logic in msgbox to account for the one-line offset
1242	  used by the logic which wraps text in a box, thus avoiding leaving
1243	  an extra blank line (report by Maxim Sobolev).
1244
12452004/09/20
1246	+ add samples/whiptail.rc
1247	+ add samples/dialog.py (noting that a later version of this exists
1248	  as pythondialog, but this is relatively self-contained).  Modified
1249	  the script to accept the $DIALOG environment variable like the other
1250	  sample scripts, to specify the path of the program to use.
1251	+ modify the install rule for header-files so the autoconf names in
1252	  dlg_config.h (and corresponding usage in dialog.h, etc), are altered
1253	  from "HAVE_xxx" to "DLG_HAVE_xxx", etc.
1254	+ add a check for getenv("HOME") in rc.c
1255	+ add a call to end_dialog() in signal_handler for tailboxbg (from
1256	  patch by Werner Fink).
1257	+ correct initialization in checklist and radiobox for --default-item,
1258	  scrolling as needed.
1259	+ modify --visit-items option so that it puts the cursor initially on
1260	  the list (in menubox, checklist and radiobox), accepts abbreviations
1261	  for the buttons when the cursor is on the button-row, and otherwise
1262	  (when --visit-items is given) abbreviations apply only to the list
1263	  (report by Erika Pacholleck).
1264	+ modify a few widgets (inputbox, textbox, yesno) to beep on unexpected
1265	  input.
1266	+ modify some msgbox widget to accept abbreviations of its button
1267	  label, for consistency with other widgets (request by Erika
1268	  Pacholleck).
1269	+ corrected logic of dlg_char_to_button(), making it check only the
1270	  first uppercase letter in each button label rather than all uppercase
1271	  letters (report by Erika Pacholleck, cf: 2003/09/10).
1272	+ improved description of --clear and --keep-window options (adapted
1273	  from Erika Pacholleck).
1274	+ move discussion of --beep and --beep-signal options to Obsolete
1275	  Options section of manpage, remove these from the help-message
1276	  (report by Erika Pacholleck).
1277	+ bracket extern's in dialog.h with C++ extern "C" declaration, in case
1278	  the library is used from a C++ application.
1279	+ modify inputmenu examples to allow ESC to cancel the script.
1280	+ modify inputmenu widget to cancel edit on a TAB or ESC.
1281	+ modify inputmenu widget to use the same color scheme for the editable
1282	  text as the inputbox widget.
1283	+ modify samples/killall to work around differences in "cut" versions.
1284	+ use the color-caching from the \Z logic when loading the ".rc" file,
1285	  thereby reducing the number of color pairs required, and making it
1286	  less likely that deriving color pairs for drawing arrows on a given
1287	  background will run out of colors.
1288	+ save/restore window attributes in dlg_draw_arrows() and similar
1289	  functions, to allow widgets to draw arrows using the widget's
1290	  background rather than a common/fixed value (request by Erika
1291	  Pacholleck).
1292	+ modify textbox widget so the down-arrow will be hidden when at the
1293	  end of the file.  (Modifying the up-arrow to be hidden is harder -
1294	  will do this when implementing scrollbars).
1295	+ correct off-by-one in fselect.c which left down-arrows showing at
1296	  the bottom of directory- and file-lists (report by Erika Pacholleck).
1297	+ improve display of percentages by omitting blanks where lines should
1298	  be shown.
1299	+ modify logic for \Z escapes to make those that set video attributes
1300	  not clear the colors (report by Erika Pacholleck).
1301	+ modify logic for \Z escapes to allow foreground and background
1302	  colors to be the same, provided that bold attribute is set.
1303	  Also improved the logic for choosing a background color when the
1304	  foreground and background are the same (report by Erika Pacholleck).
1305	+ updated configure script macro CF_XOPEN_SOURCE, ensuring that the
1306	  _POSIX_C_SOURCE value is defined with a specific value (bug report
1307	  originally for lynx).
1308	+ fix configure script so that po/makefile is generated properly when
1309	  the configure --srcdir --enable-nls options are used.
1310	+ modify makefile.in to allow build/install from another directory,
1311	  i.e., using configure --srcdir (patch by Mike Castle).
1312	+ updated da.po (Debian #262587, Morten Brix Pedersen).
1313	+ modify some sample scripts to avoid using grave quotes nested within
1314	  double quotes with multiple file redirection, which does not work
1315	  with Solaris /bin/sh (report/analysis by Eric Haller).
1316	+ check for end of string immediately after a \Z escape to avoid
1317	  displaying the null terminator as a ^@ (report by Erika Pacholleck).
1318	> patches by Erika Pacholleck:
1319	+ modify calendar.c, fselect.c and timebox.c to use color scheme like
1320	  other lists, using menubox colors rather than dialog colors.
1321	+ correct charset for po/de.po, translate messages for "Help" and
1322	  "Rename".
1323	+ omit parentheses around percentage in textbox.c
1324	+ correct a few mismatched attributes, e.g., searchbox_attr in textbox.c,
1325	  percentage in msgbox.c,
1326
1327
13282004/07/31
1329	+ add test scripts to cover zero-width column case.
1330	+ remove limit checks from checklist.c and menubox.c (cf: 2004/07/28),
1331	  since some scripts use zero-width columns (Debian #262411 and report
1332	  by Kyle Sallee).
1333
13342004/07/29
1335	+ modify msgbox.c to only reserve space for percentage shown as part
1336	  of scrollable text for the msgbox widget.  This makes infobox look
1337	  as it did before 2004/06/06 changes (report by Vinesh Christopher)
1338
13392004/07/28
1340	+ remove redundant calls to wtimeout() from widgets since wtimeout()
1341	  is properly called from ui_getc() where it is controlled by the
1342	  --timeout option (bug report by juanjo).
1343	+ add limit checks in checklist.c and menubox.c for very narrow screens
1344	  (prompted by Steve Grubb patch).
1345	+ initialize step in dlg_draw_buttons() in case it is used to draw
1346	  a vertical list of buttons (prompted by Steve Grubb patch).
1347	> fixes by Steve Grubb:
1348	+ correct logic in checklist.c (cf: 2003/11/26 changes) which turned
1349	  quoting on unnecessarily for radiobox, breaking some old scripts.
1350	+ increase size of array in dlg_ok_labels() to avoid overrun if extra
1351	  and help buttons are used (cf: 2002/06/12 changes).
1352	+ initialize fkey variable in menubox.c and textbox.c (cf: 2003/07/12).
1353
13542004/07/21 - release 1.0
1355	+ minor updates for configure script, i.e., CF_XOPEN_SOURCE,
1356	  CF_NCURSES_LIBS macros.
1357	+ update config.guess, config.sub
1358	+ add nl.po (Jacques Weewer).
1359
13602004/06/06
1361	+ add --visit-items option, which allows the user to tab to the item
1362	  list in the checklist/radiobox and menubox widgets (request by
1363	  Ari Moisio).
1364	+ use wide-character line-drawing for up/down arrows when configured
1365	  for wide-characters, gives better results with uxterm.
1366	+ limit the number of times a --file option can be used, to prevent
1367	  runaway recursion if a --file option is embedded within a file which
1368	  is included.
1369	+ improve discussion of wrapping in the manpage (Debian #251937).
1370	+ modify msgbox to allow it to scroll vertically like textbox (Debian
1371	  #233276).  This only works with ncurses.
1372	+ implement $DIALOGVARS environment variable to apply common options to
1373	  dialog_vars when it is reset before processing other common options.
1374	+ add --single-quoted option to control whether output is double-quoted
1375	  with '"' or single-quoted with single-quotes.
1376	+ revert the default quoting behavior of checklists to use
1377	  double-quotes (report by Mark K Post regarding Slackware scripts).
1378	+ add eu.po (Basque) (Piarres Beobide Egaa).
1379	+ add ca.po (Catalan) (Jordi Mallach).
1380
13812004/04/21
1382	+ add a call to flushinp() to init_dialog(), to discard any typeahead
1383	  before dialog is invoked (Debian #244746).
1384	+ correct dlg_match_char() function, which was broken during rewrite
1385	  to support wide-characters (Debian #244777).
1386	+ improved ru.po, uses UTF-8 charset (Leonid Kanter, Redhat #119200).
1387	+ correct position of shadow drawn for dialogs, which appeared to work
1388	  for most versions of curses (other than NetBSD) but would have been
1389	  visible for certain color schemes (discussion with Julian Coleman).
1390	+ correct loop-exit in longest_word() (Tomas Heredia, forwarded by
1391	  Santiago Vila).
1392	+ add cy.po (Welsh) (Dafydd Harries).
1393
13942004/03/16
1395	+ modify quoting of results to use single-quote rather than double
1396	  quote, and ensure that results containing a quote or backslash
1397	  character are escaped (report by Florent Rougon)
1398	+ remove an incorrect comparison from checklist which made cursor
1399	  stick on the last line, from 2004/03/01 changes.
1400
14012004/03/14
1402	+ add a dependency to install library if "--with-libtool" is used.
1403	+ add manpage for the library.
1404	+ add "--file"
1405	+ modify formbox.c to support "--help-status" like menubox.
1406	+ modify checklist.c to add item name to the "HELP" string when
1407	  "--help-button" is used and no --item-help option is given (Debian
1408	  #236841, report/patch by Jorg Sommer).
1409	+ rename colors.h to dlg_colors.h, install that when the library is
1410	  installed.
1411	+ add copyright notice to usage ("--help") message.
1412	+ correct a missing bounds check for mouse-clicks in menubox (prompted
1413	  by Debian #233044).
1414	+ updated several configure-script macros:  AM_GNU_GETTEXT,
1415	  AM_WITH_NLS, CF_OUR_MESSAGES, CF_PROG_EXT, CF_WITH_DBMALLOC,
1416	  CF_WITH_DMALLOC, CF_WITH_LIBTOOL, CF_XOPEN_SOURCE.
1417
14182004/03/01
1419	+ improve layout of calendar widget to allow for very long button
1420	  labels (report by Santiago Vila).
1421	+ correct logic for $DIALOG_TTY, broken in 2003/11/30.  The environment
1422	  variable must evaluate to a nonzero integer (report by Florent
1423	  Rougon).
1424	+ document interaction between "--default-no" and "--no-cancel" options
1425	  in manpage (Debian #223488).
1426	+ change configure script to use autoconf 2.52+patch, to work around
1427	  issues with Estonian locale (report by Seemant Kulleen).
1428	+ add uk.po (Ukrainian) (Debian #232441).
1429	+ make --default-item apply to checklist widget (Debian #225255).
1430	+ correct a missing check for --item-help when --help-status was given
1431	  for checklist (Debian #232921).
1432	+ correct a missing bounds check for mouse-clicks in checklist (Debian
1433	  #233044).
1434	+ update config.guess, config.sub
1435
14362003/12/07
1437	+ correct infinite loop in yesno widget when "--defaultno" option is
1438	  combined with "--no-cancel" (Debian #223077).
1439
14402003/11/30
1441	+ suppress double-quotes added for "--help-status" option if the
1442	  string does not contain any special characters.
1443
14442003/11/26
1445	+ add samples/sourcemage.rc, for comparison with slackware.rc
1446	+ add "--insecure" option (request by Sean Mathews (DrWho@f34r.com)).
1447	+ make "--defaultno" option apply to widgets which use OK/Cancel
1448	  buttons as well (Debian #209030).
1449	+ improve documentation of exit-codes for each widget in the manpage
1450	  (Debian #217926).
1451	+ add option "--keep-window" to suppress repainting after completing
1452	  each widget (request by Ingo van Lil).
1453	+ add options "--yes-label" and "--no-label" to allow override of the
1454	  "Yes" and "No" strings (request by Christoph Zwerschke).
1455	+ add option "--help-status" to allow script to restore a checklist
1456	  or radiolist after processing an item-help string (Debian #209031).
1457	+ modify width-calculation for non-formatted text to ensure it is
1458	  wide enough for the longest word in the text (patch by Andrew Gaul).
1459	+ modify dlg_index_columns() to count a newline as a single cell rather
1460	  than 2 for the normal curses case.  This fixes an off-by-one for
1461	  the text-justification, shown in screen 2 of msgbox1 sample script.
1462	+ fix dlg_char_to_button(); 2003/09/10 changes made it incorrectly
1463	  ignore case of the labels.
1464	+ change calendar's use of arrow keys so they are (as before 2002/06/22)
1465	  interpreted within the day-grid as movement within that grid (request
1466	  by David Anders).
1467	+ correct missing initialization of last_getc variable in dlg_getc()
1468	  (report/analysis by Victor Wodecki).
1469	+ modify main program to make
1470		dialog --no-shadow --print-maxsize
1471	  work.  Normally dialog prints the screen size after subtracting the
1472	  area reserved for shadows, but some applications may need the actual
1473	  screen size (Debian #213424).
1474	+ several related changes (Debian #213425):
1475	  + separate the examples using "--stdout" and "--output-fd" from the
1476	    normal usage examples.
1477	  + add "--input-fd" option, provide a sample of its use.
1478	  + modify init_dialog() to use initscr() unless a "--stdout" option
1479	    was used.  Some scripts relied on the coincidence that redirecting
1480	    standard output from dialog would "work".  Before this change
1481	    init_dialog() assumed that redirected standard output was
1482	    synonymous with "--stdout" option (not the intended behavior).
1483	  + modify command-line parsing to look for "--stdout" and "--stderr"
1484	    options first, allowing only one.
1485	  + add a check for an environment variable $DIALOG_TTY which provides
1486	    the older behavior, i.e., try to open the terminal directly if
1487	    stdout is redirected.
1488	+ interface changes, to make libdialog simpler to use:
1489	  + rename all of the internal functions to begin with "dlg_", but
1490	    provide compatibility with older names if the application defines
1491	    __DIALOG_OLD_NAMES__.
1492	  + add dialog_version() function, and corresponding DIALOG_VERSION and
1493	    DIALOG_PATCHDATE definitions to dlg_config.h
1494	  + eliminate remaining global variables such as screen_initialized in
1495	    favor of dialog_state and dialog_vars.
1496	  + move some data such as dialog_vars.output to dialog_state, since
1497	    they are normally not reset between widgets.
1498	  + change interfaces of dialog_yesno() and dialog_checklist() to use
1499	    dialog_state.defaultno and dialog_vars.separate_output, making it
1500	    simpler and more consistent.
1501	+ improve configure script and related definitions:
1502	  + add "--with-libtool" option to provide shared library support by
1503	    libtool.
1504	  + rename generated "config.h" to "dlg_config.h", so it can be
1505	    installed without naming conflict.  Added "dlg_config.h" to
1506	    install-lib rule.
1507	  + modify configure script and makefile to use EXEEXT and OBJEXT.
1508	  + add "--enable-widec" option to control whether wide-curses features
1509	    are compiled-in, rather than check for the existence of those in
1510	    the curses library.  This allows building with HPUX curses, which
1511	    has abandoned legacy features while not quite supporting X/Open
1512	    curses.
1513	  + add configure check for getbegx(), etc., which are not provided on
1514	    all platforms.
1515	+ update config.guess, config.sub
1516
15172003/10/02
1518	+ update hu.po (Arpad Biro).
1519	+ revert part of the 2003/08/18 change to "--stdout" option.  Using
1520	  stderr for screen output does not work well on several platforms
1521	  since stdout's settings are affected (report by Kent Robotti).
1522
15232003/09/24
1524	+ modify tailbox to allow it to display files with arbitrarily long
1525	  lines.
1526	+ fix an infinite loop in tailbox, broken when making interface changes
1527	  to dlg_getc() (report by Ingo van Lil).
1528	+ amend fix for "--and-widget" to not treat "---" as an option (report
1529	  by Kent Robotti).
1530	+ updated es.po (Santiago Vila).
1531
15322003/09/10
1533	+ correct "RENAMED" result from inputmenu widget, which did not reset
1534	  the result buffer, and did not account for scroll-offset (Debian
1535	  #209336).
1536	+ modify button, menu and checklist logic that matches a character to
1537	  the beginning of a text field to support wide-characters (completes
1538	  Debian #195674).
1539	+ modify configure script to not use "head -1".
1540
15412003/08/30
1542	+ modify searchbox popup in textbox widget so one can simply press
1543	  return on an empty input to cancel the popup.
1544	+ modify error reporting to avoid clearing screen if a problem is
1545	  found in the ".rc" file.
1546	+ add color/attribute combinations for form widget (based on patch by
1547	  Reznic Valery).
1548	+ combine rc-file colors, attribute- and color-tables to obtain a
1549	  single table for color values, which requires less work to add new
1550	  entries.
1551	+ modify fselect widget to make back-tab work again, since it was
1552	  broken by the rewrite of dlg_edit_string().
1553	+ modify howmany_tags() so it will quit searching when it finds any
1554	  option, not only "--and-widget" (Debian #206636).
1555	+ correct call to dlg_print_text() in print_line(), which did not
1556	  account for hidden characters (report/patch by David Poole).
1557	+ modify print_button() to display properly if locale defines ok/cancel
1558	  or yes/no buttons that contain multibyte characters.
1559
15602003/08/20
1561	+ correct an indexing error when deleting from the end of a line using
1562	  KEY_DC; it happened to work on Linux because malloc() clears memory
1563	  like calloc().
1564	+ add '\r' to case statement where '\n' is translated to KEY_ENTER to
1565	  work around defect in NetBSD curses.
1566	+ modify configure check for getparyx(), etc., which are implemented
1567	  by NetBSD curses as functions rather than macros.
1568	+ correct configure check for term.h, which may be <ncursesw/term.h>
1569	  if ncursesw development headers are installed, but not ncurses
1570	  development headers.  Or they may not coincide (Debian #206287).
1571
15722003/08/18
1573	+ modify checklist.c and menubox.c to display tags properly if they
1574	  contain wide-characters.
1575	+ better solution for initializing curses when "--stdout" option is
1576	  used, e.g., use stderr for the output if it is a tty.  Also correct
1577	  the error handling, so dialog exits with an error if it cannot
1578	  find a way to do output (Debian #205509).
1579	+ modify sample scripts to use consistent definition of $DIALOG
1580	  (Debian #205508).
1581	+ add UTF-8 examples inputbox6-utf8, inputbox6-utf8 (from Tomohiro
1582	  Kubota, Debian #195674).
1583	+ modify print_line() to work with wide-characters, e.g., so it handles
1584	  wrapping for double-width characters.
1585	+ cache results from multibyte character indices, speeds up cursor
1586	  movement.
1587	+ modify form widget to support scrolling and mouse-selection.
1588	+ add form widget (based on patch by Reznic Valery).
1589	+ correct mouse-handling for inputmenu widget.
1590	+ corrections to menu.c: location of clearing operation, and height of
1591	  rows in code for older ncurses versions (patch by Reznic Valery).
1592	+ improve logic that compensates for xterm's alternate-screen by
1593	  cancelling the rmcup/smcup strings after the rmcup has been issued.
1594	  That ensures that dialog will not clear the screen on exit (report
1595	  by Javier Kohen).
1596	+ modify initialization between widgets to retain the values for the
1597	  --aspect, --separate-widget and --tab-len options.
1598	+ add --separator as an alias for --separate-widget (compatible with
1599	  Xdialog).
1600	+ correct handling of Xdialog's --icon and --wmclass options, whose
1601	  parameter was not ignored.
1602	+ correct logic for --separate-widget so its string is written before
1603	  each output, rather than only for --and-widget option (report by
1604	  Javier Kohen).
1605	+ improve limit-check in center_label() for buttons.c (report by Tor
1606	  Vidar Havstad).
1607	+ correct layout of --menu widget, which reduced display width due to
1608	  logic for --inputmenu being applied whether or not that configuration
1609	  was used (reports by Javier Kohen, Dimitar Zhekov and MAL
1610	  <mal@komcept.com>).  Fixes Debian #201215.
1611	+ modify gauge widget to support --begin option (Hans-Joachim Baader).
1612	+ updated pl.po (Jaroslaw Swierczynski).
1613	+ hide cursor while painting gauge.
1614	+ add auto-sizing logic to gauge widget (reports by Javier Kohen and
1615	  Robert Schubert).
1616
16172003/07/20
1618	+ rewrote inputstr.c, allowing it to enter and display wide-characters.
1619	  Some nonprinting characters such as control/B can be edited as well.
1620	+ modify timebox to allow user to type numbers into the fields.
1621	+ change interfaces of dlg_getc(), mouse_wgetch(), etc., to add
1622	  parameter that returns whether the result is really a function-key.
1623	  This is needed to work with wide-character curses.
1624	+ correct computation of week-number in calendar widget (report by
1625	  Heiner Lamann).
1626	+ updated configure script macros:
1627	  + suppress -Winline with gcc 3.3, since it is broken.
1628	  + fix caching bug in CF_UTF8_LIB
1629	  + improved script for CF_BUNDLED_INTL.
1630	+ update config.guess, config.sub
1631
16322003/03/08
1633	+ add null-pointer checks to some malloc calls which were overlooked.
1634	+ correct logic in dlg_add_result(), which did not copy content of
1635	  non-allocated buffer to the first allocation (report by Daniel
1636	  Dupont).
1637
16382003/03/02
1639	+ correct an uninitialized value in dlg_add_result() (Debian #182683).
1640
16412003/01/30
1642	+ corrected print_line(), which subtracted the margin twice from the
1643	  right-limit, making a string wrap unnecessarily (Debian #168823).
1644	+ correct initial limit-check for arrows in checklist.c, which used
1645	  the wrong variable, showing the bottom arrow when it should not
1646	  (Debian #168823).
1647	+ modify driver to always call show_result(), to simplify updates.
1648	+ fix several memory leaks, important if dialog is run with a large
1649	  number of widgets (report by albert.veli@telia.com forwarded by
1650	  Santiago Vila).
1651	+ check if the screen output is actually to the terminal before trying
1652	  to suppress xterm's alternate screen mode (see 2000/01/18) (report by
1653	  David Oliveira).
1654	+ use dialog_vars.input_result consistently to return the text which is
1655	  printed after a widget completes.  In many cases, dialog now
1656	  allocates enough space to hold the text, rather than use a fixed
1657	  buffer.  The checklist widget was writing directly to the output to
1658	  avoid limits of the fixed buffer.
1659	+ modify dialog.c to also write dialog_vars.input_result if the
1660	  Help-button was pressed (request by Amon Ott).
1661	+ add hu.po (Arpad Biro).
1662	+ update fr.po, pt.po, pt_BR.po to add strings for "Help" button (patch
1663	  by Frederic L W Meunier).
1664	+ fix off-by-one error in menu.c, checklist.c (reported by
1665	  Tomasz Wasiak 2002/09/15 and others:
1666	  Andrew Gaul 2002/11/12,
1667	  Tobias C Rittweiler 2002/11/19,
1668	  Arpad Biro 2003/01/21).
1669	+ updated configure script, improving checks for ncurses in various
1670	  locations, updated NLS script to match lynx.  Added --with-curses-dir
1671	  option.
1672	> Tobias C Rittweiler:
1673	+ make ifdef in mousewget.c consistent with usage in dialog.h
1674	+ use beep() rather than flash() in dlg_edit_string(), for consistency
1675	  with the other functions.
1676	+ change order of buttons so extra button falls between Ok/Cancel.
1677	+ fix so "dialog --print-maxsize" exits from curses.
1678	+ add --inputmenu option.
1679
16802002/08/14
1681	+ modify checklist.c and menubox.c to treat the extra button like the
1682	  "Ok" button by making dialog print the chosen items (request by
1683	  Tobias C Rittweiler).
1684	+ add examples checklist6 and menubox6 to illustrate the --colors
1685	  option.
1686	+ implement -colors option, which allows one to highlight words in the
1687	  titles and most text areas with color or video attributes (adapted
1688	  from patch by Tobias C Rittweiler).
1689	+ add examples inputbox4, inputbox5 to illustrate how to use the
1690	  --output-fd option, and how to use dialog without any temporary
1691	  file at all.
1692	+ add --output-fd option (Debian #153984).
1693	+ documented vi-style keys for calendar, textbox widgets in manpage.
1694
16952002/06/22
1696	+ improve mouse handling, e.g., for up/down scrolling in calendar,
1697	  checklist, etc.
1698	+ add --extra-button and --extra-label options (adapted from patch
1699	  by Tobias C Rittweiler).
1700	+ correct displayed cursor position in inputbox when returning to the
1701	  input area after traversing the buttons with tabs, etc.
1702	+ add left/right arrows for traversal in calendar and timebox dialogs.
1703	+ implement two new functions dlg_next_ok_buttonindex() and
1704	  dlg_prev_ok_buttonindex(), using these to hide details about the
1705	  traversal over buttons in several widgets.
1706	+ modify checklist.c and menubox.c to verify if both --help-button and
1707	  --item-help are specified before assuming that selecting the help
1708	  button should cause the "HELP {item-help}" message to be printed
1709	  (reported by Marcel Ritter).
1710	+ modify init_dialog() to work around HP's broken tty driver (report by
1711	  John Mudd).  Specifically, the problem is that when opening /dev/tty
1712	  directly (to support the --stdout option), the terminal does not
1713	  change to raw mode.  The workaround opens /dev/tty only as needed;
1714	  the --stdout option does not work on HPUX but otherwise dialog works.
1715	+ updated el.po (patch by kromJx <kromJx@crosswinds.net>).
1716
17172002/05/19 - release 0.9b
1718	+ add --no-collapse option to allow one to retain tabs and repeated
1719	  blanks in a message box (request by Roberto Simoni).
1720	+ use DLG_EXIT_ESC constant rather than -1's in several places.  This
1721	  has the effect of changing some exit-with-error cases to denote that
1722	  the exit was because ESC was pressed (patch by Diego Alvarez,
1723	  forward by Santiago Vila).
1724	+ bump package version to 0.9b (with patch-date, as usual).
1725	+ add --exit-label option (request by Roberto Simoni).
1726	+ updated de.po to correct translation for "Cancel" (from Michael
1727	  Piefel, Debian #146402).
1728	+ use definitions from autoconf macro AC_HEADER_TIME to ensure that
1729	  time() is properly prototyped.
1730	+ update pl.po, adding translation for "Help" (patch by Jaroslaw
1731	  Swierczynski <swiergot@hacking.pl>).
1732	+ update COPYING file, to reflect address change of FSF (reported by
1733	  Santiago Vila).
1734	+ update some configuration script macros:  CF_CHECK_CACHE,
1735	  CF_CURSES_CPPFLAGS, CF_HEADER_PATH and CF_MAKEFLAGS.
1736	+ correct misuse of "$with_XXX" variables in the configure script,
1737	  which prevented configuration against curses library as opposed to
1738	  ncurses.
1739	+ update config.guess, config.sub
1740
17412002/03/09 (a)
1742	+ modify geometry of samples/fselect scripts to allow them to run in
1743	  a 24x80 screen (report/patch by Santiago Vila).
1744	+ correct exit-code for menubox.c when Cancel is pressed.  This was
1745	  unintentionally altered when adding --help-button (reported by
1746	  Patrick J Volkerding)
1747
17482002/03/09
1749	+ add --timeout option, which forces the program to exit with an error
1750	  if no user response is given within the specified number of seconds
1751	  (request by <andrew@argoncorp.com>).
1752	+ modify calendar widget to allow day/month/year values to default to
1753	  the current date (request by <Ron.Perrella@bellsouth.com>).
1754	+ modify display of buttons in checklist.c and menubox.c to handle the
1755	  case where the button label is empty (Debian #134388).
1756	+ extended logic for ok/cancel/help to make this work with checklist
1757	  widget.
1758	+ revert pt_BT.po, apply changes to pt.po (report by Frederic L W
1759	  Meunier).
1760	> several changes from Stanislav Ievlev:
1761	+ add options --help-button and --help-label to make menubox display a
1762	  third button which can be used to return an exit code causing the
1763	  calling script to show extended help information.
1764	+ use home/end keys in input string-editing, e.g., inputbox.
1765	+ add option --max-input to limit length of string returned by inputbox
1766	  and other widgets which allow the user to edit a string.
1767
17682001/12/02
1769	+ add --ok-label and --cancel-label options (request by Kyle Sallee).
1770	+ correct usage message for --fselect option (reported by Patrick J
1771	  Volkerding).
1772	+ add samples/debian.rc, for comparison with slackware.rc
1773	+ corrected samples/slackware.rc, which was just the compiled-in
1774	  default values (patch by Patrick J Volkerding).
1775	+ modify search rule for rc-file to add a global rc file /etc/dialogrc
1776	  (patch by Patrick J Volkerding).
1777	+ updated pt_BR.po with modified entries for fselect.c (Frederic L W
1778	  Meunier).
1779	+ add pl.po (Swiergot <swiergot@l02.ids.czest.pl>).
1780
17812001/11/11
1782	+ modify command-line parsing to allow a "--" argument to act as an
1783	  escape, so the next argument is not recognized as an option if it
1784	  begins with "--".  This is apparently one of popt's undocumented
1785	  features, upon which some Debian scripts depend (Debian #116642).
1786	+ add da.po (Morten Brix Pedersen <morten@wtf.dk>).
1787	+ add an install-strip rule to makefile, changing the normal install
1788	  rule to not strip the installed executable (based on discussion with
1789	  Santiago Vila).
1790	+ initialize my_output variable if user cannot open /dev/tty, e.g., if
1791	  su'd to another user (patch by Richard Braakman (<dark@ssh.com>), Debian
1792	  #117177).
1793	+ add configure option --with-ncursesw, to allow configure/build with
1794	  wide-character version of ncurses.
1795
17962001/10/14
1797	+ add option --ignore, to make dialog be ignore options that it does
1798	  not recognize.
1799	+ add option --trim, to trim literal newlines and repeated spaces from
1800	  text that will be displayed.  Add samples/msgbox2, which is the
1801	  same as msgbox1, but using --trim (cf: change for Debian #102942).
1802	+ minor correction to attributes for buttons.c to use active_attr on
1803	  the right-side of a button.
1804	+ add a sample dialog rc-file slackware.rc based on diffs in hdasetup
1805	  package at
1806		http://ftp1.sourceforge.net/pub/mirrors/slackware/slackware/source/a/hdsetup/
1807	  (discussion with Frederic L W Meunier).
1808	+ modify dialog.pl to avoid using a statically-named tempfile, allowing
1809	  multiple processes to use this script (patch by James Ranson
1810	  (<euclid80@yahoo.com>), Debian #110609).
1811	+ correct fprintf() call in j_menu() function, i.e., "--menu" option,
1812	  which did not guard against expanding '%' embedded in the parameters
1813	  (Stavros Chatzistefanidis <sxatz@yahoo.com>).
1814	+ add et.po (Ivar Smolin <okul@trenet.ee>).
1815	+ update fr.po (Frederic L W Meunier).
1816	+ modify to allow scripts to alter the exit codes, mainly to
1817	  distinguish ESC and ERROR exits.  This is done by setting a shell
1818	  variable such as DIALOG_ESC to a new value (request by Petr Vandrovec
1819	  (<vandrove@vc.cvut.cz>), Debian #99264)
1820
18212001/08/27
1822	+ use VPATH in makefile to support build with configure --srcdir, if
1823	  the make program supports that.  Note that samples/install/makefile
1824	  is not generated, due to awkward limitation of autoconf script
1825	  (reported by Frederic L W Meunier <0@pervalidus.net>).
1826	+ add po/pt_BR.po (Frederic L W Meunier <0@pervalidus.net>).
1827	+ correct sense of --enable/--disable shown in configure --help (report
1828	  by Frederic L W Meunier <0@pervalidus.net>).
1829	+ correct logic for --clear option, broken in 2000/07/02 (fixes Debian
1830	  #110254).
1831
18322001/08/11
1833	+ porting fixes to work on AIX: flush output to work around bug in
1834	  curses library, use ./killall in scripts to avoid conflict with
1835	  AIX program by that name.
1836	+ modify dlg_trim_string() to retain literal newlines if the string
1837	  does not contain "\\n" strings, and to retain leading blanks on the
1838	  resulting lines, for compatibility with older scripts (Debian
1839	  #102942).
1840	+ add charset specification to cs.po
1841	+ change dates in CHANGES to consistent format, add el.po for Greek
1842	  (patch by kromJx <kromJx@crosswinds.net>).
1843	+ eliminate static globals (bss, data) from modules rc, tailbox,
1844	  textbox using better parameter-passing convention, and const.
1845	+ cleanup temporary files in a few of the sample scripts.
1846	+ rewrote tailboxbg using select() rather than fork(), thereby
1847	  eliminating lock-files.  Only one process should be trying to display
1848	  on the screen at any given time.
1849	+ add error check to ensure that numeric parameters are really numbers.
1850	+ correct off-by-one in error messages reporting too-few or too-many
1851	  tokens for a given option (reported by George Mirchev).
1852	+ fix typo in manpage, "textboxbg" where "tailboxbg" was meant
1853	  (reported by George Mirchev <la@mail.techno-link.com>).
1854	+ use DLG_EXIT_xxx symbols consistently for all exit codes.
1855	+ updated es.po (patch by Santiago Vila).
1856	+ updates for some configure script macros from lynx:  CF_MAKEFLAGS,
1857	  CF_NCURSES_VERSION, CF_PROG_EXT.
1858	+ fixes to compile if <term.h> is included, e.g., when building with
1859	  AIX curses (report by Suzi Dowson <Suzi.Dowson@capgemini.co.uk>).
1860
18612001/05/27
1862	+ updated dialog.pot
1863	+ modify fselect.c to work with autosize, i.e., given height and width
1864	  zero (report by Martin Povolny).
1865	+ add a null-pointer check in justify_text(), needed by fselect.c
1866	+ add several more options which dialog can safely ignore, from
1867	  Xdialog 2.0.2
1868	+ refinements for configure macros checking for $CPPFLAGS, from lynx.
1869	+ update config.guess, config.sub to match autoconf 2.50
1870	> Martin Povolny <martin@solnet.cz>:
1871	+ add cs.po
1872	+ use nl_langinfo() to customize names for day-of-week, and month
1873
18742001/05/11
1875	> Vincent Stemen <dialog@AdvancedResearch.org>:
1876          Fixed dialog.c to not pass menu items through dlg_trim_string().
1877          Stripping extra spaces out of the menu items broke some of my
1878          scripts by altering the string that it compared to know which menu
1879          item was selected.  There should be no need to do justification on
1880          the menu items, which are always one line, anyway.
1881
18822001/04/29
1883	> Vincent Stemen <dialog@AdvancedResearch.org>:
1884	+ rewrote the text justification code to be able to have preformatted
1885	  text in the prompts with extra spaces like the older versions of
1886	  dialog.  If there are "\n" strings in the text, then extra spaces are
1887	  preserved.  Lines are always wrapped on word boundaries.
1888        + fixed --cr-wrap to break lines on '\n' (newline) characters and not
1889          add an extra line at the top and bottom of the text.  It now works
1890          as the manual says it should.
1891	+ it is no longer necessary to use "\n\" at the end of lines to escape
1892	  the '\n' character.  "\n" now works.  However, the old way, "\n\"
1893	  still works.
1894        + the fixes involved the following changes:
1895          - rewrote dlg_trim_string() to recognize preformatted text (know
1896            when not to strip extra spaces) and to pay attention to --cr-wrap.
1897          - rewrote justify_text() which now calls a new function in util.c,
1898            print_line(), to print each line and end it on a word boundary.
1899	  - modified real_auto_size() to call a new function
1900	    auto_size_preformated() to calculate the box size for preformatted
1901	    text.
1902          - removed skip_blanks() and skip_text() since they are not used by
1903            the new justify_text().
1904          - modified dialog.c to not call dlg_trim_string() on title strings
1905            so that titles retain their spaces.
1906        + modified the following demo files in the sample directory:
1907          - inputbox
1908	      changed all "\n\" strings to "\n" to demonstrate the extra
1909	      backslash is no longer needed.
1910          - inputbox1
1911              removed all the "\n\" strings from the end of the lines to
1912              properly demonstrate --cr-wrap.
1913          - msgbox1
1914	      this sample was using "--aspect 9 --cr-wrap".  Rewrote it to
1915	      properly demonstrate --aspect.  9 is already dialog's default
1916	      aspect ratio.  It now creates several dialogs in sequence,
1917	      demonstrating aspect ratios of 9, 12 and 6 and properly
1918	      demonstrates --cr-wrap.
1919        + made the following changes to the manual (dialog.1).
1920          - rewrote the description of --aspect to be more understandable.
1921          - rewrote the description of --cr-wrap to be more correct and more
1922            detailed.  It did say, "Otherwise, the text for each dialog will
1923            display on a single line.", which is not correct.  It wraps the
1924            text to fit in the box.
1925	> T.Dickey:
1926	+ use logic from menubox dialog in checklist to handle autosizing when
1927	  list height is given as zero (fixes problem reported by Eric Veltman
1928	  <eveltman@baan.nl>).
1929	+ modify checklist and menubox dialogs to check for too-wide data, and
1930	  truncate one or both of the name and text fields to fit (also
1931	  reported by Eric Veltman).
1932	+ corrected a few items from Vincent's patch:
1933	  - use C89-style comments rather than C++
1934	  - restore logic in justify_text() which checks for win==0, needed to
1935	    work with standard curses implementations other than ncurses.
1936	    The first call on justify_text() passes a null pointer as a flag
1937	    to indicate that checking should be done, but no screen updates.
1938	  - avoid modifying the buffer in decode_percent(), otherwise a message
1939	    containing a space or newline would be truncated at the whitespace.
1940	  - modify dlg_button_x_step() and dlg_button_layout() slightly to
1941	    work with altered print_autowrap(), etc.
1942	+ fixes to build/work with SunOS 4.x 5lib curses
1943
19442001/04/15
1945	+ fix a memory leak in mouse_region().
1946	+ simplify handling of optional parameters with new functions
1947	  optional_str() and optional_num().
1948	+ add calendar and timebox dialogs (compatible with Xdialog).
1949	+ correct typo in fallback definition for getparyx, and remove void
1950	  cast for mouse_open and mouse_close which prevented build with
1951	  Sun's Solaris compiler.
1952	+ rename --enable-lxdialog configure option to --enable-Xdialog
1953	+ modify CF_NCURSES_CPPFLAGS macro to match more variations of ncurses
1954	  header files.
1955	+ update config.guess, config.sub
1956	+ modify some configure script macros to avoid problems with buggy
1957	  autoconf 2.49c which breaks changequote().
1958
19592001/01/15
1960	+ small fix to revised real_auto_size() and justify_text() to avoid
1961	  adding origin to box-width, which broke samples/wheel.
1962	+ apply 1999/12/25 tempfile change to wheel and copismall samples.
1963	+ add sample script for tailboxbg.
1964	+ revised lock-file management to better ensure that locks are actually
1965	  created by the tailbox subprocess(es).
1966	+ correct hardcoded signal 15 in tailbox to SIGHUP to match
1967	  documentation.  Signal 15 is usually SIGTERM, which cannot be caught.
1968	+ correct off-by-one comparison of return-value for arg_rest() which
1969	  made
1970		dialog --gauge test 10 50
1971	  dump core because it expected a 4th parameter (fixes Debian #80641).
1972	+ resync config.sub, config.guess from
1973	  http://subversions.gnu.org/cgi-bin/cvsweb/config/ (which finally have
1974	  cases for OS/2 EMX), minor tweaks to related configure script macros.
1975
19762000/12/17
1977	+ restore treatment of predefined height/width in real_auto_size()
1978	  which was lost in 2000/12/12 rewrite (report by Raphael Halimi
1979	  <raphaelh@easynet.fr>).
1980	+ updates for configure script macros AM_PATH_PROG_WITH_TEST,
1981	  CF_CURSES_LIBS, CF_LIB_PREFIX, CF_PROG_EXT for $PATHSEP and $CFLAGS
1982	  fixes.
1983
19842000/12/13
1985	+ correct change for create_lock(), which resulted in an infinite loop
1986	  (patch by Chris Butler, <chrisb@debian.org>).
1987
19882000/12/12
1989	+ rewrote print_autowrap() and real_auto_size() to share common code
1990	  justify_text(), which now does text flow even when the string
1991	  contains newlines (fixes Debian #77199).
1992	+ improve create_lock() function using open() with O_EXCL rather than
1993	  fopen() (patch by Matt Kraai (<kraai@debian.org>), Debian #78951).
1994	+ correct description of --fselect in man page (patch by Tomas Pospisek
1995	  (<tpo@spin.ch>), Debian #77200).
1996	+ add --no-cancel as alias for --nocancel for compatibility with
1997	  Xdialog (report by Luis E Limon <luisl@abriasoft.com>).
1998
19992000/10/27
2000	+ some lint fixes using lclint (mostly void-casts, but some
2001	  sign-extension fixes e.g., for ctype.h macros, and loop in
2002	  dlg_char_to_button()).
2003	+ modified to build/run on OS/2 EMX with ncurses.
2004	+ minor changes to po/*.po (trim trailing blanks, provide explicit
2005	  translation for "OK"), to work with Solaris gettext.
2006	+ modified to allow this to build with archaic version (1.8.6)
2007	  of ncurses on FreeBSD 3.1 (does not run).
2008	+ update config.guess, config.sub from subversions.gnu.org
2009
20102000/10/17
2011	+ use new function sub_window() to check success/failure of calls to
2012	  subwin(), printing an error message if it fails (fixes Debian #74903).
2013	+ use combination of isatty/ttyname to look for workable tty device
2014	  on systems which have no /dev/tty, e.g., BeOS.
2015
20162000/10/08
2017	+ change exiterr() to use stdarg.h, make some messages easier to
2018	  understand.
2019	+ add dialog_clear()
2020	+ make samples/install/setup build.
2021	+ implemented mouse support for buttons, e.g., in yesno dialog using
2022	  ncurses (the gpm support no longer works, but is useful for reference)
2023	+ add a configure check for chtype.
2024	+ updates for configure script macros (CF_BUNDLED_INTL, CF_CURSES_LIBS,
2025	  CF_GCC_ATTRIBUTES, CF_GCC_WARNINGS, CF_INCLUDE_DIRS), and scripts
2026	  config.guess, config.sub
2027	+ cleanup of item-help change, integrate with checklist and radiobox.
2028	+ add ja.po, from Hirofumi Takeda <takepin@turbolinux.co.jp>.
2029	> patch by Marco Mariani <marcom@sferacarta.com>
2030	+ add --item-help option, which makes menubox data interpreted as
2031	  3 columns rather than 2.  The third column is displayed on the
2032	  last line of the screen as a help/status message for the currently
2033	  selected item.
2034	+ add it.po, pt.po
2035	+ change TAG_KEY_HL to FALSE, making unselected items in checklist
2036	  easier to read on Linux console.
2037
20382000/07/30
2039	+ change real_auto_size() to allow it to be used for dialogs that have
2040	  no prompt, e.g., fselect.  Also, rather than requiring both height
2041	  and width to be given as -1 for maximizing the dialog, allow either
2042	  alone.
2043	+ increase minimum height needed for autosized yesno dialog.
2044	+ add --version as an alias for --print-version.
2045	+ fix for build on Solaris without NLS (cannot redefine 'gettext()').
2046	+ add fselect dialog (compatible with Xdialog).
2047	+ add --enable-lxdialog configure option.
2048	+ use new configure macro CF_ARG_MSG_ENABLE to show progress with
2049	  enable/disable switches.
2050
20512000/07/02
2052	+ implement --stdout and --stderr options as in Xdialog.
2053	+ move logic that translates "\\n" into '\n' into main program to
2054	  simplify logic that formats text.
2055	+ make ifdef's for rc-file not specific to ncurses.
2056	+ correct logic making percent parameter of gauge optional.
2057
20582000/06/29
2059	+ add alternate test-script for gauge, adapted from Xdialog.
2060	+ modify gauge to make optional a percentage which was read at the
2061	  beginning of the XXX-delimited message text, since clones of dialog
2062	  are written to assume this is text.  If the line is not a simple
2063	  integer, dialog will treat it as text.
2064	+ make the percent parameter of gauge optional, as in Xdialog.
2065	+ undo one use of CharOf() in guage.c, an error.
2066	+ fix configure macro AM_WITH_NLS to refrain from attempting to make a
2067	  symbolic link into/libintl.h if we are not using the bundled intl
2068	  directory from gettext (reported by Julian Coleman
2069	  <J.D.Coleman@newcastle.ac.uk>).
2070	+ add ru.po, from Michael Sobolev <mss@transas.com>
2071	+ updates for config.guess, config.sub from tin.
2072	+ updates for configure script macros:  CF_MATH_LIB (improperly nested
2073	  brackets/parenthesis) and CF_XOPEN_CURSES (make include of
2074	  <*curses.h> depend on configure tests).
2075
20762000/04/25
2077	+ repaint screen when a control/L is pressed.
2078	+ apply CharOf() macro to avoid sign-extension on calls to waddch(),
2079	  fixes a problem with accented characters (reported by Santiago Vila).
2080	+ add es.po, from Santiago Vila <sanvila@unex.es>
2081
20822000/04/23
2083	+ modified to use gettext (configure option --enable-nls).  This uses
2084	  gettext 0.10.35, which must be previously installed.  (It can also
2085	  use an included intl library, but I consider that to be a waste of
2086	  disk space).
2087	+ remove code in checklist/radiobox, menubox that try to use
2088	  abbreviations for the OK/Cancel buttons since those conflict with the
2089	  check for abbreviations in list entries, which are more useful.
2090	+ moved padding of button labels out of string literals, into the
2091	  logic of dlg_draw_buttons().
2092	+ resync/update with configure macros CF_CURSES_LIBS, CF_FIND_LIBRARY,
2093	  CF_HEADER_PATH, CF_LIBRARY_PATH and CF_NCURSES_LIBS, as well as
2094	  mkdirs.sh and config.guess.
2095
20962000/02/22
2097	+ add --default-item option, for menubox to set the default selection
2098	  (fixes Debian #49796).
2099	+ add sample scripts for --nocancel and --fb options with inputbox.
2100	+ modify inputbox* sample scripts to show application errors, if any.
2101	+ add --nocancel option, and ignore --noitem, --fb, --fullbutton, to
2102	  make this compatible with whiptail scripts.  (whiptail does not
2103	  handle many dialog scripts however).
2104	+ modify checklist/radiobox to handle home, end, nextpage, prevpage
2105	  keys, as well as make the abbreviation search work for the whole
2106	  list, not only the current page.
2107	+ treat KEY_LL the same as KEY_END in checklist and textbox.
2108	+ add logic for KEY_BTAB.
2109	+ use new function dlg_draw_buttons() to better manage the layout of
2110	  yes/no/ok/cancel buttons.
2111	+ another pass of cleanup of dialog.c, makes it use a single table for
2112	  lookup of option names and help-message.  Eliminated numerous
2113	  adjustments to 'offset' variable.
2114	+ on initialization, check if standard input is from a terminal.  If
2115	  not, open /dev/tty (fixes Debian #57771)
2116
21172000/02/05
2118	+ implement inline editing in textbox.c search dialog.
2119	+ revise inputbox.c, allowing inline editing with arrow-keys.  removed
2120	  redundant logic in that module.
2121	+ correct a typo that prevented rc-file configuration from building.
2122	+ correct ifdef's to compile/run if the curses implementation does not
2123	  support color.
2124
21252000/01/23
2126	+ improve test-case for gauge.
2127	+ change gauge.c to show progress in reverse-video, add a check for
2128	  end-of-file in the loop for reading new messages.
2129	+ use curses whline() function to simplify print_arrows() logic in
2130	  checklist.c and menubox.c
2131	+ use curses beep() function rather than hardcoded strings.
2132	+ correct several compiler warnings for gcc -pedantic (mismatch of
2133	  const, signed/unsigned).
2134	+ modify exiterr() to avoid possible expansion of '%'.
2135	+ change CF_MATH_LIB configure macro to allow specifying a particular
2136	  test-function.  For dialog, this should be sqrt().  The macro was
2137	  originally written for ncurses, which needs sin().  However, that is
2138	  a builtin function on the m68k port (reported by Roman Hodek
2139	  <Roman.Hodek@informatik.uni-erlangen.de>, this fixes Debian #55553).
2140
21412000/01/18
2142	+ update manpage (Debian #25648).
2143	+ modify configure test for math library to avoid using a constant
2144	  parameter to the test function, lest gcc optimize the call away
2145	  (fixes Debian #55553).
2146	+ restructure help-message so actual problem is indicated.  The original
2147	  help-message is shown if no parameters are given, or if the --help
2148	  option is specified alone.
2149	+ suppress xterm's alternate screen mode by sending an exit_ca_mode
2150	  after initscr if the terminal looks like xterm, e.g., has key_mouse
2151	  defined, and has private-mode escapes in both enter_ca_mode and
2152	  exit_ca_mode (fixes Debian #55181).
2153	+ change yellow lettering on white to blue on white, since it offers
2154	  better contrast (fixes Debian #51196).
2155	+ use napms() rather than sleep().
2156	+ some cleanup/simplification of main program.  Indent'd dialog.c and
2157	  util.c
2158	+ eliminate several places where repeated options are treated as
2159	  an error, since they are really executed once anyway.
2160
21612000/01/15
2162	+ remove pre-autoconf Makefile
2163	+ remove sleep's from a few of the sample scripts, which left users
2164	  thinking that dialog was slow to complete an action.
2165	+ rewrote infobox sample script, using dialog's --sleep option and
2166	  a loop in the script.
2167	+ change 'ch' variable in tailbox.c to an integer, because it is
2168	  compared against EOF (fixes Debian #53157).
2169	+ corrected mandir variable in makefile.in (reported by Santiago Vila).
2170	+ small changes to sample scripts, from Debian: rename "guage" script
2171	  to "gauge", change path to copy of GPL used in textbox.
2172	+ add uninstall rule to makefile.in, fixed some dependencies so
2173	  "make install" works without first doing "make all".
2174
21751999/12/25
2176	+ use more portable scheme for tempfile generation in samples.
2177	+ add a configure script, prefer to not use the original Makefile
2178	  because it works only with GNU make.
2179	+ correct prototype of 'main()', which misused const.
2180	+ modify guage.c to use fgets() rather than gets().
2181	+ merge changes from Debian package maintainer
2182	  Santiago Vila <sanvila@ctv.es>:
2183
2184	  1999/10/07
2185		+ add a password dialog box (Debian #45964, patch by Joey Hess).
2186		+ implement "--defaultno" option to specify if the default for
2187		  the yes/no box is "No" (Debian #46076, patch by Joey Hess).
2188	  1999/03/10
2189		+ modify input.c to clear the input field to the right of the
2190		  given string, to help with screen-refresh
2191	  1998/12/08
2192		+ check for list_height less than one in checklist.c (Debian
2193		  #22239).
2194	  1998/10/21
2195		+ use function wscrl() in preference to scroll() in checklist.c
2196		  and menubox.c (unclear: in ncurses, scroll() is a macro that
2197		  uses wscrl()).
2198		+ remove the "-I/usr/include/ncurses" option from Makefile
2199		  since Debian does not install ncurses' header files into
2200		  that directory.
2201	  1998/09/12
2202		+ simplify menubox.c using new functions print_arrows() and
2203		  print_items().  add logic to handle KEY_NPAGE and KEY_PPAGE
2204		  (Debian #26326).
2205		+ modifications to provide sample scripts (Debian #26211):
2206		  + change sample scripts to use Debian tempfile utility rather
2207		    than putting files into /tmp.
2208		  + change sample scripts to use 'dialog' from user's path
2209		    rather than in the parent directory as in the build
2210		    directory.
2211		+ use the system copy of GPL rather than that in the build
2212		  directory as an example for the textbox script.
2213
22141999/11/27
2215	+ fix some gcc warnings about ambiguous use of "else"
2216
22171999/05/01
2218	+ cleaned up some of the redundant code with new functions:
2219		box_x_ordinate
2220		box_y_ordinate
2221		draw_title
2222		draw_bottom_box
2223		new_window
2224
2225	+ modified msgbox.c and yesno.c to work with the KEY_RESIZE sigwinch
2226	  handling in ncurses 4.2
2227
2228	+ corrected spelling of "gauge"
2229
2230The relevant portions of the Debian change log for the original version
2231(dialog-0.9a-12) are abstracted here, omitting details of their packaging:
2232
22331998/05/24
2234
2235	+ Replaced guage.c by the one in dialog 0.6z, which is known to work.
2236	  Fixes Debian #18284: unstable dialog.
2237
22381997/12/16
2239
2240	+ dialog.c:  dialog_input_result printed with "%s" format.  This was
2241	  Debian #9913, fixed by Bill Mitchell, but the change was lost.
2242	+ Pristine source, .depend is not removed in clean target.  Instead, it
2243	  is made zero length (otherwise it would not work *without* fakeroot).
2244	+ Added '^U' support in input box (Debian #9915, patch by Joey Hess).
2245	+ Wrote patch to fix core-dumping problem (Debian #13170).  Sven Rudolph
2246	  <sr1@inf.tu-dresden.de>:
2247
2248-- vile:fk=8bit
2249