12019-05-30  Tomas Volf <wolf@wolfsden.cz>
2
3	* --unamed command line option renamed to --unnamed, old still
4	provided (but hidden) to provide backwards compatibility
5
62019-05-22  Tomas Volf <wolf@wolfsden.cz>
7
8	* configure.ac: remove unused conditionals, general clean up
9
102019-05-05  Tomas Volf <wolf@wolfsden.cz>
11
12	* src/skels: gengen is now required to build from git
13	* src/cmdline.ggo: gengetopt is now required to build from git
14
152012-07-18  Tim Marston  <tim@ed.am>
16
17	* src/cmdline.ggo: added --strict-hidden option
18	* src/gengetopt.cc: check for --strict-hidden when automatically
19	adding full and detailed help options, and pass presence of
20	--strict-hidden to CmdlineParserCreeator
21	* src/gm.cc, src/gm.h: when strictly hiding options, don't
22	generate the full help string array and override generate_hidden
23	in generate_help_option_list(); also, don't add details to the
24	detailed help string array for options that are going to be hidden
25	* src/gm_utils.cpp, src/gm_utils.h: has_options_with_details() now
26	needs to know if strict option hiding is in effect so that it can
27	ignore options that have details but will be hidden
28	* doc/gengetopt.texinfo: updated for --strict-hidden feature
29
302012-07-17  Tim Marston  <tim@ed.am>
31
32	* src/gm.cc: fixed NULL pointer defreference; fixed option list
33	ordering inconsistency (which could lead to truncation of
34	displayed options)
35
362012-07-11  Tim Marston  <tim@ed.am>
37
38	* src/gm_utils.cpp: fixed line wrapping so that it handles
39	(removes) extra spaces at the end of the line
40
412012-07-10  Tim Marston  <tim@ed.am>
42
43	* src/cmdline.ggo: removed unnecessary additional new-line
44
452012-07-10  Tim Marston  <tim@ed.am>
46
47	* src/skels/c_source.h_skel: added args_info_versiontext variable
48	* src/scanner.ll, src/scanner.yy: added versiontext directive
49	* src/gengetopt.cc: added gengetopt_versiontext variable and
50	setter function
51	* src/gm.cc: added versiontext string generator function
52
532011-09-05  bettini  <bettini@bettini-N150>
54
55	* src/my_map.h: removed
56	* src/my_string.h: removed
57	* src/my_sstream.h: removed
58
59	* src/gm.cc (CmdlineParserCreator::generate_usage_string):
60	wraps and preprocess the usage string if specified in the input
61	file.
62
632010-09-06  Lorenzo Bettini  <bettini@bettini-laptop>
64
65	* src/gm_utils.cpp: do not consider a flag option as a typed one
66
672010-08-31  Lorenzo Bettini  <bettini@bettini-laptop>
68
69	* tests/test_err.sh.in: double quote the variable to test
70
71	* src/skels/Makefile.am (.h_skel.cc): files generated by gengen
72	are created in the srcdir
73
742010-08-24  Lorenzo Bettini  <bettini@bettini-laptop>
75
76	* src/gm.cc: initialize enum variables with generated null enum
77	value instead of -1
78
79	* src/skels/enum_decl.h_skel: added for generating enum declaration
80	with default null enum value
81
822010-03-25  bettini  <bettini@bettini-laptop>
83
84	* src/gm_utils.cpp (not_newlines): removed code that
85	generated a bug for escaped newlines
86	* src/scanner.ll: handle case for \n different from \\n
87
882009-12-23  Lorenzo Bettini  <bettini@bettini-prog-karmic>
89
90	* src/Makefile.am (gengetopt_SOURCES): put
91	generated bison and flex files in sources
92
932009-12-18  Lorenzo Bettini  <bettini@bettini-laptop-karmic>
94
95	* src/skels/c_source.h_skel: removed other gcc warnings
96
97	* tests/test_simple_multiple_cmd.ggo: added a simpler test
98	for multiple options
99
1002009-09-30  bettini  <bettini@bettini-laptop>
101
102	* src/skels/header.h_skel: use prototypes with char ** instead of
103	char *const *.
104	* src/skels/c_source.h_skel: use prototypes with char ** instead of
105	char *const *.
106	#include <getopt.h> not "getopt.h"
107
1082009-09-27  bettini  <bettini@bettini-laptop>
109
110	* tests/output_dir/Makefile.am: New file.
111	* tests/output_header_dir/Makefile.am: New file.
112	* tests/Makefile.am: test for --output-dir, --src-output-dir,
113	--header-output-dir
114
1152009-09-27  Yegor Yefremov
116
117	* src/cmdline.ggo: --header-output-dir and
118	--src_output-dir to store cmdline.h separately from cmdline.c
119	* src/gengetopt.cc (main): Ditto
120	* src/gm.cc: Ditto
121	* src/gm.h: Ditto
122
1232009-09-27  Lorenzo Bettini
124
125	* doc/gengetopt.texinfo: documented autoreconf
126	* doc/index.html: Ditto
127
1282009-08-09  bettini  <bettini@bettini-laptop>
129
130	* src/skels/c_source.h_skel: put FIX_UNUSED in the right
131	place
132	* src/gm.cc (from_value_to_enum): translate '+' to "PLUS_" and
133	'-' to "MINUS_"
134	(canonize_enum): Ditto
135	(CmdlineParserCreator::generate_enum_types): put FIX_UNUSED in the right
136	place
137	(CmdlineParserCreator::generate_option_values): Ditto
138	(CmdlineParserCreator::generate_option_values_decl): Ditto
139	* tests/test_values.c (main): use enum with + and -
140	* tests/test_values.sh.in: Ditto
141	* tests/test_values_cmd.ggo: Ditto
142	* configure.ac: modified to build in a different directory
143	* Makefile.am: modified to build in a different directory
144	* tests/Makefile.am: modified to build in a different directory
145
1462009-06-13  bettini  <bettini@bettini-desktop>
147
148	* doc/gengetopt.texinfo: specified that package and version
149	are required unless you use autoconf
150	* configure.ac: some cleanup
151	correctly use --docdir
152	* gl/getopt_.h: Removed.
153	* gl/m4/onceonly_2_57.m4: Removed.
154	* gl/strdup.h: Removed.
155	* gl/getopt.in.h: New file.
156	* gl/m4/00gnulib.m4: New file.
157	* gl/m4/extensions.m4: New file.
158	* gl/m4/include_next.m4: New file.
159	* gl/m4/onceonly.m4: New file.
160	* gl/m4/string_h.m4: New file.
161	* gl/string.h: New file.
162	* gl/string.in.h: New file.
163	* gl/unistd.h: New file.
164	* gl/unistd.in.h: New file.
165	* src/gengetopt.cc: include gnulib string.h
166	* src/gm.cc: Ditto
167	* src/gm_utils.cpp: Ditto
168	* src/parser.yy: Ditto
169	* src/scanner.ll: Ditto
170
1712009-05-31  bettini  <bettini@bettini-laptop>
172
173	* src/skels/c_source.h_skel: use PACKAGE_NAME if defined for
174	printing help and version
175
1762009-05-09  bettini  <bettini@bettini-desktop>
177
178	* configure.ac: does not depend on flex library
179
1802009-01-25  bettini  <bettini@dellbettini>
181
182	* src\skels\custom_getopt_gen.h_skel: #undef of static variables
183	to avoid compilation problems for some versions of stdlib.h
184
1852008-01-18  Lorenzo Bettini  <bettini@laptop>
186
187	* src/skels/c_source.h_skel: _min and _max fields of multiple options
188	are unsigned int to avoid compilation warnings
189	(free_multiple_field): avoid using void **, in order to avoid
190	a warning when using -fstring-aliasing
191
1922008-01-13  Lorenzo Bettini  <bettini@laptop>
193
194	* src/skels/c_source.h_skel: boolean parameters are not int instead
195	of short in order to avoid warnings
196	size_t used in get_multiple_token also for indexes to avoid warnings
197
1982008-01-10  Lorenzo Bettini  <bettini@laptop>
199
200	* src/gm.cc (handle_options): correctly call set_has_short_option
201
202	* tests/test_multiple.cc (main): renames test_multiple.c to employ
203	the C++ stronger type checking
204
205	* src/gm.cc (_generate_option_arg): fixed bug that did not generate
206	a longlong pointer in case of multiple options, reported by Richard
207	Eggert
208
2092007-12-13  Lorenzo Bettini  <bettini@lorelap>
210
211	* src/skels/c_source.h_skel: also write the corresponding value (not
212	only the orig filed) into file
213
2142007-11-05  Lorenzo Bettini  <bettini@lorelap>
215
216	* src/skels/c_source.h_skel: update_arg is not generated if no
217	option (besides the default ones) are specified in the .ggo file
218
219	* src/parser.yy: added the details for options
220
2212007-10-25  Lorenzo Bettini  <bettini@lorelap>
222
223	* src/scanner.ll: added the type enum that can be used for options
224	with values
225
2262007-10-24  Lorenzo Bettini  <bettini@lorelap>
227
228	* src/gm.cc (generate_help_option_print): in case of hidden options,
229	the generated help string array reuses the strings of the full help
230	array
231	(generate_init_args_info): skip elements related to text before and
232	after an option and also related to groups
233
2342007-10-23  Lorenzo Bettini  <bettini@lorelap>
235
236	* src/skels/c_source.h_skel: the params_init function now initializes
237	the structure fields to their default values.  a params_create function
238	was added to allocate such a structure and initialize it (to its
239	default values)
240	usage string is printed only if not empty (as suggested by
241	Gyozo Papp)
242
2432007-10-17  J. David Bryan
244
245	* src/gengetopt.cc (main): generate --help handling if only -h
246	is redefined (and so for --version)
247
248	* src/skels/header.h_skel: added field print_errors to suppress
249	getopt_long messages to stderr
250
2512007-10-16  Papp Gyozo
252
253	* src/skels/c_source.h_skel: added the generated function
254	_dump to dump options into an already open stream
255
2562007-10-07  Lorenzo Bettini  <bettini@lorelap>
257
258	* src/skels/c_source.h_skel: (update_multiple_arg) the static generated
259	function that takes care of updating a multiple option
260
2612007-10-02  Lorenzo Bettini  <bettini@lorelap>
262
263	* src/skels/c_source.h_skel: (update_arg) the static generated
264	function that takes care of updating an option
265
2662007-09-21  Lorenzo Bettini  <bettini@lorelap>
267
268	* doc/Makefile.am: avoid tests if crosscompiling
269
270	* tests/Makefile.am: avoid tests if crosscompiling
271
2722007-07-28  Lorenzo Bettini  <bettini@lorelap>
273
274        * COPYING: updated to version 3
275
276	* src/skels/c_source.h_skel: correctly handle multiple options with
277	backslashes (thanks to Peter Kovacs)
278
279	* doc/Makefile.am: removed non-standard %. rules
280
281	* src/skels/Makefile.am: removed non-standard %. rules
282
283	* src/Makefile.am: removed non-standard %. rules
284
285	* tests/Makefile.am: added explicit deps for .h and .c generated
286	files (to make parallel make work)
287
2882007-07-09  Lorenzo Bettini  <bettini@lorelap>
289
290	* src/skels/header.h_skel: define a structure for passing parameters
291	to the parsers; and define versiones of parsers taking the params
292	through this structure.
293	Added the check_ambiguity parameter to check whether an option
294	that is parsed is already present in the args_info struct
295	Contains doxygen documentation
296
2972007-07-01  Lorenzo Bettini  <bettini@lorelap>
298
299	* src/gengetopt.cc (main): store args_info values after having
300	examined also the (possible) args entry in the .ggo file (bug fixed)
301
3022007-06-16  Lorenzo Bettini  <bettini@lorelap>
303
304	* doc/gengetopt.texinfo (Configuration files): fixed override
305	semantics documentation
306
3072007-06-08  Lorenzo Bettini  <bettini@lorelap>
308
309	* src/skels/custom_getopt_gen.h_skel: does not check
310	d->custom_optind == 1 as an initialization condition since it
311	is not correct
312
3132007-05-04  Lorenzo Bettini  <bettini@lorelap>
314
315	* src/gm.cc (generate_handle_help): correctly generate the return
316	inside the if in case of no_handle_help and full-help
317
318	* configure.ac: removed AC_C_CONST since obsolescent
319
320	* src/cxxconfig.h: removed
321
3222007-04-15  Lorenzo Bettini  <bettini@lorelap>
323
324	* src/cmdline.ggo: --default-optional added
325
326	* src/ggos.cpp: required default depends on --default-optional
327
328	* src/global_options.h: (struct GlobalOptions) contains options
329	concerning the program (typically passed on the command line)
330
331	* src/gm.cc (generate_help_option_list): don't generate a section
332	if all of its options are hidden
333
3342007-04-12  Lorenzo Bettini  <bettini@work>
335
336	* src/skels/custom_getopt_gen.h_skel: declare all the needed structures and variables
337
338	* src/skels/c_source.h_skel: don't include getopt.h if --include-getopt is specified
339
3402007-01-20  Lorenzo Bettini  <bettini@lorelap>
341
342	* autogen.sh: added (replaces reconf) for bootstrapping autotools
343
344	* configure.ac: use libtool now
345
3462007-01-12  Lorenzo Bettini  <bettini@lorelap>
347
348	* src/scanner.ll: # comments not in strings (thanks to
349	Matthew K. Junker)
350
3512007-01-09  Lorenzo Bettini  <bettini@lorelap>
352
353	* tests/test_err.sh.in: don't use -r GNU sed extension option, use
354	-e instead
355
3562007-01-06  Lorenzo Bettini  <bettini@lorelap>
357
358	* doc/Makefile.am (cmdline2.o): make sure to use the complete compile
359	command (that ensures the priority of headers from gnulib)
360
3612006-12-19  Lorenzo Bettini  <bettini@prog.dsi.unifi.it>
362
363	* src/gm.cc (generate_handle_help): also handle full-help
364
3652006-12-11  Lorenzo Bettini  <bettini@lorelap>
366
367	* configure.ac: use of Gnulib
368
3692006-11-17  Lorenzo Bettini  <bettini@lorelap>
370
371	* src/parser.yy: Added description string
372
3732006-10-05  Lorenzo Bettini  <bettini@lorelap>
374
375	* src/skels/c_source.h_skel (_configfile): handle configuration
376	file inclusione (thanks to David Bird)
377
3782006-09-30  Lorenzo Bettini  <bettini@lorelap>
379
380	* src/scanner.ll: strings can spawn more lines
381
3822006-09-23  Lorenzo Bettini  <bettini@lorelap>
383
384	* src/scanner.ll: correctly handle size specification of multiple
385	options (bug fixed by Christian Ch'Gans)
386
387	* src/gm.cc (generate_usage_string): handle no argument options
388	and flag options in generation of long help
389
3902006-09-03  Lorenzo Bettini  <bettini@lorelap>
391
392	* src/gm.cc (generate_help_option_list): first print the section
393
3942006-09-02  Lorenzo Bettini  <bettini@lorelap>
395
396	* src/gengetopt.cc (output_formatted_string): remove the \ from
397	a " (so that the " is actually printed on the screen instead of
398	\")
399
4002006-07-02  Lorenzo Bettini  <bettini@lorelap>
401
402	* src/skels/header.h_skel: use the passed header extension
403
404	* src/skels/c_source.h_skel: use the passed header extension
405
4062006-05-14  Lorenzo Bettini  <bettini@lorelap>
407
408	* src/skels/c_source.h_skel: for comma separated multi option
409	arguments, recognize the escape character
410
4112006-05-13  Lorenzo Bettini  <bettini@lorelap>
412
413	* src/skels/custom_getopt_gen.h_skel: Andre Noll provided a
414	customized version of getopt that can be called many times without
415	affecting previously parsed arguments.
416
4172006-05-07  Lorenzo Bettini  <bettini@lorelap>
418
419	* src/cmdline.ggo: --output-dir command line option
420
4212006-04-02  Lorenzo Bettini  <bettini@lorelap>
422
423	* src/gm.cc: generate only one list struct for each type (not
424	one for each multiple option)
425
4262006-03-26  Lorenzo Bettini  <bettini@localhost.localdomain>
427
428	* src/skels/header.h_skel: usage string
429
4302006-03-25  Lorenzo Bettini  <bettini@localhost.localdomain>
431
432	* src/skels/check_multiple.h_skel: check for multiple option
433	occurrence range
434
4352006-03-23  Lorenzo Bettini  <bettini@lorelap>
436
437	* src/gm.cc (generate_free): generate the index i even if
438	no multiple option is of type string
439
4402006-03-10  Lorenzo Bettini  <bettini@lorelap>
441
442	* src/skels/header.h_skel: help strings and help fields
443
4442006-02-25  Lorenzo Bettini  <bettini@lorelap>
445
446	* src/gm.cc (generate_help_option_list): make sure not to use a
447	negative number as a size to create a string, bug fixed
448
4492006-02-16  Lorenzo Bettini  <bettini@lorelap>
450
451	* src/skels/c_source.h_skel: set optind to 0 before invoking
452	getopt_long, in order to discard any internal pointers and restart from
453	scratch with the given argc, argv, rather than continue to parse
454	the command line from the previous run. (as suggested by Andre Noll)
455
4562006-02-12  Lorenzo Bettini  <bettini@lorelap>
457
458	* src/skels/c_source.h_skel: cmd_line_list is generated as
459	static and this enables linking different parsers into the
460	same executable (as suggested by Andre Noll)
461
462	* src/gm.cc: deal with --full-help in the presence of
463	hidden options
464
4652005-12-22  Lorenzo Bettini  <bettini@lorelap>
466
467	* src/skels/update_arg.h_skel: added the check for the result
468	of a numeric conversion
469
4702005-09-07  Lorenzo Bettini  <bettini@localhost.localdomain>
471
472	* src/ggos.h (struct gengetopt_option): store input filename
473	and line number information
474	(struct gengetopt_option): added the dependson field
475
4762005-09-06  Lorenzo Bettini  <bettini@localhost.localdomain>
477
478	* tests/test_all_opts_cmd.ggo: has a hidden option that
479	can be specified but does not appear in the help output
480
481	* src/ggos.h (struct gengetopt_option): added the hidden
482	field
483
4842005-09-05  Lorenzo Bettini  <bettini@localhost.localdomain>
485
486	* src/parser.yy: the parts of options can
487	be given in any order
488
4892005-09-03  Lorenzo Bettini  <bettini@localhost.localdomain>
490
491	* src/skels/generic_option.h_skel: name for enumerated values
492	is prefixed with the parser name
493
4942005-08-16  Lorenzo Bettini  <bettini@localhost.localdomain>
495
496	* src/ggo_options.h (foropt): use && to assign *it to opt
497	instead of the , otherwise with gcc 4.0.1 it segfaults
498
4992005-08-13  Lorenzo Bettini  <bettini@localhost.localdomain>
500
501	* src/gm.cc (generate_handle_group): when we check for a required
502	option of a group we also check that "check_required" was
503	specified.  Otherwise the check is performed in the
504	_required generated function.
505
5062005-08-12  Lorenzo Bettini  <bettini@localhost.localdomain>
507
508	* src/skels/option_arg.h_skel: Added the _orig field that
509	stores the original value passed at the command line.
510
5112005-08-10  Lorenzo Bettini  <bettini@localhost.localdomain>
512
513	* src/skels/file_save.h_skel: saves args_info contents into
514	a file.
515
516	* src/skels/c_source.h_skel (configfile): use dynamic memory
517	instead of a static vector.
518	Use a constant that can be redefined upon compilation for
519	the size of a line read from the configuration file.
520
5212005-07-06  Lorenzo Bettini  <bettini@localhost.localdomain>
522
523	* src/gengetopt.cc (main): check whether an option for help
524	and version is already present, thus allowing redefining
525	the standard --help,-h and --version,-V options
526
5272005-04-13  Lorenzo Bettini  <bettini@localhost.localdomain>
528
529	* src/gm_utils.cpp (char_is_newline): fixed a problem with
530	a string containing only new line chars
531	(wrap_cstr): keep the right number of new line chars
532
5332004-12-30  Lorenzo Bettini  <http://www.lorenzobettini.it>
534
535	* src/skels/handle_help.h_skel: free local_args_info before
536	exiting or returning
537
538	* src/skels/handle_version.h_skel: free local_args_info before
539	exiting or returning
540
5412004-11-25  Lorenzo Bettini  <http://www.lorenzobettini.it>
542
543	* tests/valgrind_tests.sh.in: updated, for some time it hasn't
544	checked correctly for leaks.
545	Many leaks have been removed again now
546
5472004-10-28    <http://www.lorenzobettini.it>
548
549	* src/parser.yy: group options can be multiple and have
550	argoptional
551
552	* src/skels/multiple_option.h_skel: the test for values is performed
553	after tokenizing arguments possibly separated by commas
554
555	* src/skels/multiple_option_new_list_node.h_skel: removed
556	embedded in multiple_option.h_skel
557
5582004-09-22  Lorenzo Bettini  <http://www.lorenzobettini.it>
559
560	* src/gm.cc (_generate_option_arg): simplified using
561	option_arg_gen_class
562
563	* src/skels/option_arg.h_skel: to generate the _arg fields of
564	args_struct
565
566	* src/gm.cc (do_update_arg): simplified using update_arg_gen_class
567
568	* src/skels/update_arg.h_skel: replace all the other generators for
569	single data types
570
5712004-09-17  Lorenzo Bettini  <http://www.lorenzobettini.it>
572
573	* src/gm.cc (handle_options): only one function to deal both with
574	option with short version and without
575
576	* src/ggos.h (struct gengetopt_option): not an invasive list,
577	only an option, and the list of option is implemented as a
578	std::list
579
5802004-09-16  Lorenzo Bettini  <http://www.lorenzobettini.it>
581
582	* src/skels/c_source.h_skel: define also the function to
583	expliticly check whether a required option has been provided
584
585	* src/cmdline.ggo: option --show-help that only prints how the output
586	of --help would be, without generating code
587	--show-version that only prints how the output of --version would be,
588	without generating code
589	--set-package and --set-version to set these values
590
5912004-09-14  Lorenzo Bettini  <http://www.lorenzobettini.it>
592
593	* src/gm.cc: use argv[0] when printing errors
594
595	* src/cmdline.ggo: each option has a short version
596
5972004-09-13  Lorenzo Bettini  <http://www.lorenzobettini.it>
598
599	* src/parser.yy: accept the list of values that can be passed to
600	an option
601
602	* src/acceptedvalues.h (class AcceptedValues): possible values for
603	an option
604
6052004-08-10  Lorenzo Bettini  <http://www.lorenzobettini.it>
606
607	* src/gm.cc (generate_reset_groups): generate the reset function
608	only if this group has options
609
610	* src/skels/c_source.h_skel: many additional .h_skel files have
611	been removed, and their contents are included here using the
612	new conditional constructs of gengen
613
6142004-08-03  Lorenzo Bettini  <http://www.lorenzobettini.it>
615
616	* src/skels/config_parser_source.h_skel: better check for string
617	well-formedness
618
6192004-07-11  Lorenzo Bettini  <http://www.lorenzobettini.it>
620
621        * src/gm_utils.cpp: contain utility functions used in gm
622
623        * src/fileutils.cpp: file routines used in gm
624
625        * src/gm.cc: (wrap_cstr) do not consider '=' a separating
626        character
627        (is_char_newline) recognize also actual \n
628        (generate_help_option_print) deal better with very long
629        descriptions
630
6312004-06-16  Lorenzo Bettini  <http://www.lorenzobettini.it>
632
633        * src/gm.cc (generate_help_option_print): set the maximum for the
634        column where the description of an option starts to be displayed.
635        In case it starts on a new line
636
6372004-06-15  Lorenzo Bettini  <http://www.lorenzobettini.it>
638
639        * src/gm.cc (wrap_cstr): wrapping is isolated in a function so
640        that it can be used also for printing purposes and other
641        descriptions
642
6432004-06-13  Lorenzo Bettini  <http://www.lorenzobettini.it>
644
645        * src/skels/config_parser_source.h_skel: deal with '=' in the config
646        files
647
6482004-05-16  Lorenzo Bettini  <http://www.lorenzobettini.it>
649
650        * src/gm.cc (generate_option_given): _given field is generated
651        unsigned for multiple options
652
6532004-05-01  Lorenzo Bettini  <http://www.lorenzobettini.it>
654
655        * src/gm.cc (do_update_arg): set the argument to NULL if it is
656        a multiple string option
657
6582004-04-08  Lorenzo Bettini  <http://www.lorenzobettini.it>
659
660        * NEWS: Version 2.12
661
662        * src/cmdline.ggo: Added --c-extension and --header-extension
663        as proposed by Brooks Davis
664
6652004-04-01  Lorenzo Bettini  <http://www.lorenzobettini.it>
666
667        * src/gm.cc (generate_help_option_print): generate the printf
668        with "%s", so that default values can contain %
669
6702004-02-21  Lorenzo Bettini  <http://www.lorenzobettini.it>
671
672        * src/skels/config_parser_source.h_skel: idem
673
674        * src/skels/c_source.h_skel: exit failure is only in one point
675        so that the args_info struct can be cleared (removed memory leaks)
676
6772004-02-03  Lorenzo Bettini  <http://www.lorenzobettini.it>
678
679        * src/parser.yy: allow multiple options without argument
680
681        * src/skels/multiple_option_new_list_node.h_skel: added to separate
682        creation of a multiple option list node, so that also multiple
683        options without argument can be handled
684
6852004-01-18  Lorenzo Bettini  <http://www.lorenzobettini.it>
686
687        * src/skels/config_parser_source.h_skel: check for len > and not
688        ==.
689        rewritten in order to exploit getopt_long
690
6912004-01-13  Lorenzo Bettini  <http://www.lorenzobettini.it>
692
693        * src/skels/generic_option_group.h_skel: before incrementing the
694        counter, if override is specified, reset all the group options
695
696        * src/skels/reset_group.h_skel: template function for resetting
697        a group option
698
6992004-01-11  Lorenzo Bettini  <http://www.lorenzobettini.it>
700
701        * src/skels/multiple_fill_array.h_skel: leave the multiple options
702        in the same order they are given
703
704        * src/skels/generic_option.h_skel: check a local struct to understand
705        whether the same option is given more than once
706
707        * src/skels/config_parser_source.h_skel: the # can also be in
708        non first position in a line.
709        the generated config file parser relies on the standard command
710        line parser
711
712        * src/skels/c_source.h_skel: the main parsing function is a static
713        internal function _internal that also takes the parameter
714        check_required that decides whether required options are checked;
715        and also an additional error string explaining where the error occurred
716        default is ""
717
7182004-01-06  Lorenzo Bettini  <http://www.lorenzobettini.it>
719
720        * src/conf_parser_gen.cc (generate_multiple_fill_array): update
721        multiple options
722
723        * src/skels/multiple_fill_array_default.h_skel: check whether the
724        default has not been previously set
725
7262004-01-05  Lorenzo Bettini  <http://www.lorenzobettini.it>
727
728        * src/skels/multiple_opt_struct.h_skel: the creation of structs for
729        multiple option lists is separated from the actual declaration of
730        lists
731
732        * src/skels/string_opt_arg.h_skel: always free previous memory
733        before
734
735        * src/skels/string_opt_arg_no_free.h_skel: initialize a string
736        withouth freeing memory before
737
7382004-01-03  Lorenzo Bettini  <http://www.lorenzobettini.it>
739
740        * src/cmdline.ggo: --unamed-opts can be given an optional argument
741        describing the additional arguments without names, default is still
742        FILES
743
744        * src/gm.cc (do_update_arg): add the check for optarg that is
745        important for options with optional arguments
746        (generate_usage_string): use the specified name for unamed-options
747
748        * src/cmdline.ggo: --arg-struct-name option for specifying the
749        name of the generated struct for args info, default is still
750        gengetopt_args_info
751
752        * src/skels/config_parser_source.h_skel: added a parameter to the
753        config file parser that specifies whether the args_info has to
754        be initialized
755
756        * src/skels/c_source.h_skel: an _init function is also generated
757        instead of clear_args that allows to initialize an args_info struct
758
7592004-01-02  Lorenzo Bettini  <http://www.lorenzobettini.it>
760
761        * src/gm.cc (generate_free): added for freeing the memory
762        used by gengetopt strduped strings and multiple options arrays
763        (generate_clear_arg): clear_args is called only once, before
764        starting the parsing
765
7662003-11-26  Lorenzo Bettini  <http://www.lorenzobettini.it>
767
768        * src/gengetopt.cc (gengetopt_add_option): deal with options
769        with optional arguments
770
771        * src/parser.yy: allow an option to have an optional argument
772
773        * src/skels/gen_strdup.h_skel: check whether the string to copy
774        is not null
775
7762003-10-25  Lorenzo Bettini  <http://www.lorenzobettini.it>
777
778        * src/cmdline.ggo: added the flag to turn off generation of
779        gengetopt version number in the output file
780
781        * src/skels/c_source.h_skel: config.h is included before any
782        other header
783
7842003-07-23  Lorenzo Bettini  <http://www.lorenzobettini.it>
785
786        * src/Makefile.am (AM_LFLAGS): use case insensitive option for
787        generating the scanner
788
7892003-07-22  Lorenzo Bettini  <http://www.lorenzobettini.it>
790
791        * src/gm.cc (generate_help_option_print): generate also group
792        description
793
794        * src/scanner.ll: recognize groupdesc
795
796        * src/groups.h (struct Group): contain group information, added
797        group description
798
7992003-07-19  Lorenzo Bettini  <http://www.lorenzobettini.it>
800
801        * src/gm.cc (generate_help_option_print): generate also
802        section information
803
804        * src/gengetopt.cc (gengetopt_set_section): set the current
805        section during parsing
806
807        * src/ggos.h (struct gengetopt_option): include section field
808
8092003-07-18  Lorenzo Bettini  <http://www.lorenzobettini.it>
810
811        * src/parser.yy: sectiondef for defining section of options
812
813        * src/skels/string_opt_arg_free.h_skel: added to free memory
814        allocated for default string value when an argument is given
815
8162003-07-06  Michael Hagemann  <michael.hagemann@unibas.ch>
817
818        * src/scanner.ll: recognize typestr option
819
820        * src/gm.cc (generate_help_option_print): generate a more
821        compact --help output
822        (generate_help_desc_print): added, perform word wrapping for
823        long help lines
824
825        * src/gengetopt.cc (gengetopt_add_option): also handle type_str
826
827        * src/parser.yy: some clean up and parsing of typestr for
828        the description of the type of the option, see below
829
830        * src/ggos.h (struct gengetopt_option): added type_str: a more
831        descriptive description of the type of an option, e.g., "filename"
832        instead of simply STRING
833
8342003-07-05  Lorenzo Bettini  <http://www.lorenzobettini.it>
835
836        * src/gm.cc (generate_handle_no_short_option): deal also with
837        multiple options
838
839        * src/skels/multiple_option_no_short.h_skel: added to deal with
840        multiple option with no short version
841
842        * src/gm.cc (generate_multiple_fill_array): if a default value
843        is provided for this multipl option, generate the else branch
844        for setting the value of the option to the default value
845
846        * src/skels/multiple_fill_array_default.h_skel: added to handle
847        default values for multiple options
848
849        * src/skels/multiple_fill_array.h_skel (if): allocate an array
850        only if a value is given for this multiple option
851
852        * src/gm.cc (generate_clear_arg): always initialize to NULL the
853        _arg of a multiple option (it is always a pointer)
854
8552003-06-15  Lorenzo Bettini  <http://www.lorenzobettini.it>
856
857        * src/skels/config_parser_source.h_skel: fixed a problem in
858        setting the terminating '\0'
859
8602003-05-22  Lorenzo Bettini  <http://www.lorenzobettini.it>
861
862        * NEWS: Version 2.10
863
8642003-05-21  Lorenzo Bettini  <http://www.lorenzobettini.it>
865
866        * src/skels/config_parser_source.h_skel: Also handle quoted
867        strings
868
8692003-05-12  Lorenzo Bettini  <http://www.lorenzobettini.it>
870
871        * src/skels/gen_strdup.h_skel: added for generating
872        strdup in the generated parser
873
874        * src/gm.cc (CmdlineParserCreator): fixed some compilation
875        errors due to the ? operator
876
877        * src/conf_parser_gen.cc (generate_handle_single_option): use
878        long_long_gen for dealing with long long
879
880        * src/skels/copyright.h_skel: added for generating the
881        copyright
882
883        * src/gengetopt.cc (print_reportbugs): do not use reportbugs.text
884        anymore
885        (print_copyright): use copyright_gen_class
886
8872003-05-01  Lorenzo Bettini  <http://www.lorenzobettini.it>
888
889        * src/skels/header.h_skel: package and version are defined for
890        a parser and values defined in the .ggo have the precedence over
891        PACKAGE and VERSION
892
893        * src/skels/long_long_opt_arg.h_skel: added for handling
894        long long options
895
8962003-04-29  Lorenzo Bettini  <http://www.lorenzobettini.it>
897
898        * src/gm.cc (generate_handle_group): handle possible space in
899        group names
900
901        * src/yyerror.cc (yyerror): get a const char *
902
903        * src/skels/c_source.h_skel: initialize stop_char to 0
904        and this should avoid compilation warning
905
9062003-04-24  Lorenzo Bettini  <http://www.lorenzobettini.it>
907
908        * src/gm.cc: always use gengetopt_strdup in generated files
909
910        * src/skels/c_source.h_skel: gengetopt_strdup is generated
911        even if strdup is in the standard library
912
913        * configure.in: check for long long
914
915        * src/gm.cc (do_update_arg): switch to long if long long is
916        not supported
917
9182003-04-19  Lorenzo Bettini  <http://www.lorenzobettini.it>
919
920        * src/skels/multiple_fill_array.h_skel: explicitly cast the result
921        of malloc
922
923        * src/skels/multiple_option.h_skel: explicitly cast the result
924        of malloc
925
926        * tests/test_conf_parser.c (main): removed C++ style comment
927
928        * src/gm.cc: correctly refer to strdup
929
930        * src/gengetopt.cc: correctly refer to strdup
931
932        * acinclude.m4 (AC_adl_FUNC_GETOPT_LONG): added for correctly
933        checking for getopt.h and getopt_long
934
9352003-04-13  Lorenzo Bettini  <http://www.lorenzobettini.it>
936
937        * NEWS: Version 2.9
938
939        * src/gm.cc (generate_handle_no_short_option): handle group
940        options without short options
941
942        * tests/Makefile.am (check-diff): check with diff also the output of
943        tests
944
945        * src/parser.yy: (check_result) correctly print the line number
946        containing the error
947
948        * src/gm.cc: (strip_path) remove path information when generating
949        some header file information (e.g., #ifndef)
950
9512003-03-17  Lorenzo Bettini  <http://www.lorenzobettini.it>
952
953        * src/Makefile.am: explicit rules do not use $<
954
955        * tests/Makefile.am: explicit rules do not use $<
956
957        * doc/Makefile.am: explicit rules do not use $<
958
9592003-02-21  Lorenzo Bettini  <http://www.lorenzobettini.it>
960
961        * src/scanner.ll: ignore \r characters
962
9632002-12-30  Lorenzo Bettini  <http://www.lorenzobettini.it>
964
965        * NEWS: Version 2.8
966
9672002-11-28  Janico Greifenberg <jgre@tzi.de>
968
969        * src/skels/multiple_option.h_skel: skeleton for handling a
970        multiple option
971
972        * src/skels/multiple_opt_list.h_skel: skeleton for the list structure
973
974        * src/skels/multiple_fill_array.h_skel: skeleton file for filling
975        the array for multiple options
976
977        * src/gm.cc (generate_option_arg): handle multiple options
978        (generate_multiple_fill_array): fill the array of multiple otpions
979
9802002-11-18  Janico Greifenberg <jgre@tzi.de>
981
982        * src/parser.yy (exp): Added multiple option
983
9842002-09-04  Lorenzo Bettini  <http://www.lorenzobettini.it>
985
986        * src/scanner.ll: turned in a C++ scanner
987
988        * src/parser.yy: turned in a C++ parser
989
9902002-08-25  Lorenzo Bettini  <http://www.lorenzobettini.it>
991
992        * src/conf_parser_gen.h (class ConfigParserGenerator): take care
993        of generating the config file parser
994
995        * src/skels/config_parser_source.h_skel: added to generate the
996        config file parser
997
9982002-08-22  Lorenzo Bettini  <http://www.lorenzobettini.it>
999
1000        * src/gm.cc (generate_help_option_print): also print group
1001        for group options
1002
1003        * src/yyerror.c (yyerror): also print position of error
1004
1005        * src/parser.y (exp_yesno): removed a useless rule for standard
1006        options
1007
10082002-08-18  Ronnie Lazar  <Ronnie@eldat.com>
1009
1010        * src/skels/int_opt_arg.h_skel: use strtol as well so to handle
1011        integer in hex format
1012
1013        * src/parser.y: deal with group option
1014
1015        * src/skels/group_option.h_skel: added to handle errors with group
1016        handling
1017
1018        * src/gm.cc (generate_handle_option): generate group handling
1019
1020        * src/ggos.h (struct gengetopt_option): added group_value field
1021
1022        * src/gengetopt.cc (gengetopt_add_group): handle group options
1023
10242002-08-15  Pierre Bacquet  <pbacquet@delta.fr>
1025
1026        * src/parser.y (check_result): use error code 5 for invalid
1027        default values
1028
1029        * src/ggos.h (struct gengetopt_option): default values are
1030        always stored in a string
1031
1032        * src/gengetopt.cc (gengetopt_add_option): use strtod and strtol to
1033        handle default values for long and double options
1034
10352002-08-15  Lorenzo Bettini  <http://www.lorenzobettini.it>
1036
1037        * configure.in: move to automake 1.6.2 and autoconf 2.53
1038
10392002-07-21  Lorenzo Bettini  <http://www.lorenzobettini.it>
1040
1041        * NEWS: Version 2.7.1 released
1042
10432002-07-13  Lorenzo Bettini  <http://www.lorenzobettini.it>
1044
1045        * src/skels: generators are generated with version 0.4.1 that does
1046        not repeat default values in the .cc sources; this used to cause
1047        problems with some gcc 3.x versions.  Indeed that was an error.
1048
10492002-07-10  Lorenzo Bettini  <http://www.lorenzobettini.it>
1050
1051        * src/Makefile.am (INCLUDES): do not add includes directory, this
1052        way if sstream is provided by the compiler, that version is used.
1053
10542002-07-07  Lorenzo Bettini  <http://www.lorenzobettini.it>
1055
1056        * configure.in: Added check for stl and namespaces
1057
10582002-06-30  Lorenzo Bettini  <http://www.lorenzobettini.it>
1059
1060        * NEWS: Version 2.7 released
1061
10622002-05-31  Lorenzo Bettini  <http://www.lorenzobettini.it>
1063
1064        * src/gm.cc (do_update_arg): manually generate break
1065
10662002-04-01  Lorenzo Bettini  <http://www.lorenzobettini.it>
1067
1068        * src/gm.cc (generate_strdup): generate strdup function between
1069        #ifndef HAVE_STRDUP, in order to avoid the warning
1070
1071        * tests/Makefile.am (check-diff): Added target to check whether
1072        the generated code is different from what it used to be
1073
10742002-03-11  Lorenzo Bettini  <http://www.lorenzobettini.it>
1075
1076        * src/skels/header.h_skel: removed the misleading
1077        "WRITE THE NAME OF YOUR PROGRAM HERE" from the generated header
1078
10792002-03-09  Lorenzo Bettini  <bettini@gdn.dsi.unifi.it>
1080
1081        * src/yyerror.c (yyerror): print the input file name
1082
1083        * src/gm.cc (generate_header_file): simply rely on the code
1084        generated by gengen
1085        (generate_option_arg): implicitly called when option args struct
1086        members are to be created
1087        (generate_option_given): the same but for _given fields
1088
1089        * src/gm.h (class CmdlineParserCreator): inherit from header_gen_class
1090        generated by gengen
1091
1092        * src/skels/header.h_skel: the skeleton for generated header file
1093
1094        * configure.in (GENGEN): use gengen for automatically
1095         generate a generator
1096
10972002-03-02  Lorenzo Bettini  <http://www.lorenzobettini.it>
1098
1099        * src/gm.cc (generate): gm.c is removed, now we have a class and
1100        methods: I switched to C++ !!! :-)
1101
1102        * src/gm.h (class CmdlineParserCreator): class for the command line
1103        parser generator
1104
1105        * NEWS: Version 2.6 released
1106
1107        * src/cmdline.ggo: use defaults for func-name and file-name
1108
11092002-03-01  Lorenzo Bettini  <http://www.lorenzobettini.it>
1110
1111        * src/gm.c (generate_cmdline_parser): possibly generate assignments
1112        for default values
1113
1114        * src/ggos.h (struct gengetopt_option): added fields for default
1115        values
1116
1117        * src/gengetopt.c (gengetopt_add_option): do not consider an error
1118        an empty desc
1119        (main): set comment[1][0] to 0 after malloc
1120        (gengetopt_add_option): also handle default values
1121
11222001-12-31  Lorenzo Bettini  <http://www.lorenzobettini.it>
1123
1124        * src/gm.c (generate_cmdline_parser): if HAVE_STRDUP is defined
1125        then use the standard strdup
1126        use EXIT_FAILURE and EXIT_SUCCESS for exit
1127
1128        * src/parser.y: an empty line at the end of the .ggo file is no
1129        longer needed
1130
1131        * src/scanner.l (update_count_line): update gengetopt_count_line
1132        also within a string TOK_MLSTRING; this way possible errors in the
1133        .ggo files are notified with the right line number
1134        for # comments '\n' are excluded
1135
1136        * src/gm.c (canonize_names): Added to canonize a name
1137        (generate_cmdline_parser): function names and #define directives
1138        are canonized
1139
1140        * tests/canonize-names-cmd.ggo: Added to test how function names
1141        and #define directives are canonized
1142
11432001-12-18  Lorenzo Bettini  <http://www.lorenzobettini.it>
1144
1145        * NEWS: Version 2.5 released
1146
11472001-12-16  Lorenzo Bettini  <http://www.lorenzobettini.it>
1148
1149        * configure.in: test for alloca is no more necessary with these
1150        new versions of getopt
1151
1152        * src/getopt.c: much more modern version taken from GNU C library
1153
1154        * src/getopt1.c: much more modern version taken from GNU C library
1155
1156        * src/getopt.h: much more modern version taken from GNU C library
1157
11582001-11-12  Brian Minard  <bminard@flatfoot.ca>
1159
1160        * src/gm.c (gengetopt_strlen): removed, it is no use
1161        (generate_cmdline_parser) gengetopt_strdup is generated from
1162        gengetopt_strdup.text
1163
1164        * src/gengetopt_strdup.text: automatically generated from strdup.c
1165
11662001-11-01  Brian Minard  <bminard@flatfoot.ca>
1167
1168        * src/gm.c (generate_cmdline_parser): use (size_t) for specifying
1169        malloc argument when generating gengetopt_strdup
1170
11712001-10-09  Herbert Thoma  <tma@iis.fhg.de>
1172
1173        * src/gm.c (generate_cmdline_parser): generate a different printf
1174        in the generated print_help function for every option, thus avoiding
1175        to generate an help string that's too long
1176
11772001-09-03  Guillaume Chazarain  <booh@altern.org>
1178
1179        * src/gm.c (do_check_option_given): Set args_info->option_given to 1
1180        also when option is a flag (bug fixed).
1181
11822001-08-13  Lorenzo Bettini  <http://www.lorenzobettini.it>
1183
1184        * NEWS: Version 2.4 released
1185
11862001-06-24  Lorenzo Bettini  <http://www.lorenzobettini.it>
1187
1188        * doc/Makefile.am: testdata is not removed as a maintainer file
1189
1190        * src/gm.c: included string.h
1191
1192        * src/scanner.l: included string.h
1193
11942001-06-10  Lorenzo Bettini  <http://www.lorenzobettini.it>
1195
1196        * src/gm.c (generate_cmdline_parser): optind is generated = 1,
1197        otherwise it doesn't work with cygwin
1198
11992001-05-19  Lorenzo Bettini  <http://www.lorenzobettini.it>
1200
1201        * src/strdup.c (strdup): Test for a bad allocation and return 0
1202        in that case
1203
12042001-05-06  Lorenzo Bettini  <http://www.lorenzobettini.it>
1205
1206        * tests/Makefile.am (no_optgiven_cmd.c): this file it is generated
1207        with --no-handle-error option
1208
1209        * src/cmdline.ggo: Added no-handle-error
1210
1211        * src/Makefile.am: the command line parser is generated with the
1212        option --no-handle-help
1213
1214        * src/gm.c (generate_cmdline_parser): Added generation of instructions
1215        that let the command line parser to be called more than once,
1216        suggested by Eric H Kinzie <ekinzie@cmf.nrl.navy.mil>.
1217        (generate_error_handle): Added to generate return 1 instead of
1218        exit 1 if --no-handle-error is given.
1219        Thus print_help is not autmoatically called when an option is
1220        given more than once, as it was before
1221
1222        * tests/more_than_once.c (main): Call the command line parser
1223        twice and print the values of the parameters
1224
1225        * tests/more_than_once.sh.in: Added to test when the command
1226        line parser is called more than once
1227
1228        * doc/gengetopt.html.in: updated footer copyright
1229
1230        * configure.in: moved to 2.4
1231
12322001-05-05  Lorenzo Bettini  <http://www.lorenzobettini.it>
1233
1234        * tests/no_optgiven.sh.in: removed the negation !, not recognized
1235        on some systems.
1236
1237        * tests/Makefile.am (LDFLAGS): Added to use INCLUDES also in the
1238        linking, because some files are compiled in that moment
1239
1240        * doc/Makefile.am (INCLUDES): Added
1241        (EXTRA_DIST): removed getopt.h from this directory
1242
1243        * tests/Makefile.am (INCLUDES): and (LDADD) to consider the case
1244        that there's no getopt_long in the C library
1245
1246        * configure.in: moved to 2.3.1
1247
12482001-04-10  Lorenzo Bettini  <http://www.lorenzobettini.it>
1249
1250        * Version 2.3
1251
1252        * tests/Makefile.am (TESTS): Added tests
1253
12542001-03-23  Lorenzo Bettini  <http://www.lorenzobettini.it>
1255
1256        * src/gm.c (generate_cmdline_parser): gengetopt_strdup is only
1257        generated if a string option is used or --unamed-opt was
1258        specified
1259
1260        * tests/Makefile.am: Added
1261
1262        * src/gm.c (generate_cmdline_parser): for inputs gengetopt_strdup,
1263        instead of standard strdup, is used.
1264
12652001-03-22  Lorenzo Bettini  <http://www.lorenzobettini.it>
1266
1267        * doc/no_getopt_long.txt: Added alloca instructions
1268
12692001-03-20  Lorenzo Bettini  <http://www.lorenzobettini.it>
1270
1271        * src/gengetopt.c (main): handle --help and --version
1272
1273        * src/copyright.text: Added to be processed by txtc compiler
1274
1275        * configure.in: use TXTC
1276
1277        * src/gm.c (generate_cmdline_parser): if previous options are given
1278        do not print help and version automatically and exit. Provide
1279        the functions for print_help and print_version prefixing with
1280        function_name parameter
1281
1282        * src/cmdline.ggo: Added --no-handle-help and --no-handle-version not
1283        to handle --help and --version automatically
1284
1285        * doc/Makefile.am (check): diff with the previous output
1286
12872001-02-09  Lorenzo Bettini  <bettini@gdn.dsi.unifi.it>
1288
1289        * src/gm.c (generate_cmdline_parser): generate print also if no
1290        purpose is specified (bug fixed)
1291
12922001-02-06  Lorenzo Bettini  <http://www.lorenzobettini.it>
1293
1294        * acinclude.m4 (AC_NONGNU_FLAGS): Added to check if it is a non-GNU
1295        compiler and if it handles -Aa option
1296
1297        * src/cxxconfig.h: Added to make const work for C++ compilers even if
1298        it doesn't work for C compilers
1299
1300        * configure.in: Added test for AC_C_CONST
1301
13022001-02-04  Lorenzo Bettini  <http://www.lorenzobettini.it>
1303
1304        * src/alloca.c: Added taken from GNU hello
1305
1306        * configure.in: Added AC_FUNC_ALLOCA
1307
1308        * src/cmdline.ggo: Added purpose
1309
1310        * src/gm.c (generate_cmdline_parser): print_version and print_help
1311        are public
1312
13132001-01-30  Berthold H�llmann <hoel@germanlloyd.org>
1314
1315        * src/gm.c (generate_cmdline_parser): purpose is generated in
1316        print_help
1317
1318        * src/parser.y: PURPOSE added to the syntax
1319
1320        * src/scanner.l: TOK_MLSTRING for strings with newline
1321
1322        * src/gengetopt.c (gengetopt_define_purpose):
1323
13242001-01-11  Lorenzo Bettini  <http://www.lorenzobettini.it>
1325
1326        * NEWS: version 2.2 released
1327
1328        * doc/no_getopt_long.txt: Added AC_SUBST when you use AC_CHECK_FUNCS
1329
1330        * src/gm.c (generate_cmdline_parser): changed the style of all
1331        printf, when strings are in more than one line
1332
13332000-12-04  Robert Walsh <Robert.J.Walsh@eng.sun.com>
1334
1335        * src/gm.c: changed the style of printf strings, removed C++ comment,
1336        now compile without warning under Sun compiler.
1337
13382000-11-01  Richard Heggs <richard@virtua-web.co.uk>
1339
1340        * src/gm.c: VERSION and PACKAGE are generated in cmdline.h instead of
1341        cmdline.c
1342
13432000-10-10  Person or Persons Unknown <damned@world.std.com>
1344
1345        * src/gengetopt.c: handle long options with no short option.
1346
1347        * src/gm.c: handle long options with no short option.
1348
13492000-10-09  Scott Haug <scott@id3.org>
1350
1351        * src/gm.c: change argv's type from 'char**' to 'char * const *'.
1352        This better matches the type signature of getopt_long,
1353        and it prevents compiler warnings.
1354        #undef's PACKAGE and VERSION before setting them, in case they
1355        are defined in the .ggo file.
1356
13572000-09-26  N. Becker <nbecker@fred.net>
1358
1359        * src/scanner.l: now accepts any string
1360
1361        * src/parser.y: exp_str is only TOK_STRING
1362
13632000-09-20  Lorenzo Bettini (LAP)  <http://www.lorenzobettini.it>
1364
1365        * NEWS: version 2.1 released
1366
1367        * doc/Makefile.am: examples are installed in a subdirectory
1368        under doc
1369
1370        * doc/gengetopt.html.in: the version number is substituted by
1371        configure
1372
1373        * src/gm.c: (generate_cmdline_parser) fixed a bug for the generated
1374        code, a malloc was not casted
1375
1376        * doc/gengetopt.1.in: modified by James R. Van Zandt
1377        <jrv@vanzandt.mv.com>
1378
1379        * doc/gengetopt.html: we do not include sections from the GNU
1380        coding standards.
1381
1382        * LICENSE: the generated code is not under any license
1383
13842000-08-01  Lorenzo Bettini  <bettini@gdn.dsi.unifi.it>
1385
1386        * NEWS: version 2.0 released
1387
1388        * doc/gengetopt.html: warning for win32 users, and md5sum and
1389        gpg signed
1390
1391        * doc/Makefile.am (cmdline1.c.html): bug fixed for win
1392
1393        * src/Makefile.am: check if gengetopt is already build before
1394         trying to build cmdline.c
1395
13962000-07-31  Lorenzo Bettini  <http://www.lorenzobettini.it>
1397
1398        * doc/Makefile.am (cmdline1.c.html): no recompilation if cpp2html is
1399        not installed
1400
1401        * configure.in (NO_CPP2HTML): if cpp2html is not installed
1402
14032000-07-30  Lorenzo Bettini (LAP)  <http://www.lorenzobettini.it>
1404
1405        * doc/gengetopt.1.in: made it obsolete
1406
1407        * doc/no_getopt_long.txt: how to check if getopt_long is in the
1408        standard library and what to do if it is not.
1409
1410        * doc/gengetopt.html: mailing lists
1411
1412        * LICENSE: Copyright is assigned in behalf of the Free
1413        Software Foundation.
1414
14152000-07-23  Lorenzo Bettini (LAP)  <http://www.lorenzobettini.it>
1416
1417        * doc/man_getopt.html: added, it is the man page of getopt
1418
1419        * doc/Makefile.am (gengetoptdoc_DATA): also examples are in doc dir
1420
1421        * configure.in (CPP2HTML): use cpp2html to format sample files
1422
1423        * src/cmdline.ggo: no option is required
1424
1425        * src/gm.c: generate the test for required options
1426
1427        * src/ggos.h (struct gengetopt_option): field for flagstat and
1428        for required
1429
1430        * src/gm.c (generate_cmdline_parser): initialize flags and strings
1431
1432        * Makefile.am (gengetoptdoc_DATA): install ChangeLog and other files
1433        in doc dir
1434
1435        * src/gm.c (generate_cmdline_parser): fixed a bug about wrong
1436        indentation in .h generated file.
1437
14382000-07-09  Lorenzo Bettini  <http://www.lorenzobettini.it>
1439
1440        * src/gm.c (indent): Added for indenting like GNU standards
1441        (check_option_given): function instead of macro
1442        (generate_cmdline_parser): now indent according to GNU standards
1443
14442000-07-01  Lorenzo Bettini  <http://www.lorenzobettini.it>
1445
1446        * src/gm.c (generate_cmdline_parser): "redeclared" error message
1447        renamed in "given more than once"
1448
1449        * configure.in (gengetoptdocdir): use $datadir instead of $prefix
1450
14512000-01-12  Lorenzo Bettini  <http://www.lorenzobettini.it>
1452
1453        * doc/Makefile.am (man_MANS): man page installed, and html pages
1454
14552000-01-10  Lorenzo Bettini  <bettini@gdn.dsi.unifi.it>
1456
1457        * doc/Makefile.am: check for NO_GETOPTLONG and NO_STRDUP, and in
1458        case link with .o in src dir
1459
1460        * configure.in (TAR): check for tar program.
1461        (NO_GETOPTLONG): a conditional for check
1462
14632000-01-10  Lorenzo Bettini  <http://www.lorenzobettini.it>
1464
1465        * doc/Makefile.am: added sample1 and sample2, two test programs
1466        sample1 is a C++ prog, and uses unamed options
1467
1468        * configure.in: (AC_PROG_CXX) we use C++ in a test file
1469
14702000-01-09  Lorenzo Bettini  <http://www.lorenzobettini.it>
1471
1472        * src/cmdline.ggo: it contains gengetopt command line
1473
1474        * src/gengetopt.c (gengetopt_strdup) (gengetopt_strcmp): erased.
1475         (main): handles command line options
1476
1477        * configure.in (strdup): if not found we use our strdup.c
1478        (const): check if const is supported
1479
1480        * src/gm.c (generate_cmdline_parser): gets unamed_options param
1481        to generate unamed_options fields in the structure.
1482        char **inputs and inputs_num added to the structure to hold
1483        unamed options.
1484        string.h included.
1485        create an header file and an output file.
1486        the header file can used in C++ as well.
1487        for ARG_NO options a _given field is generated and handled.
1488        a comment can be passed, e.g. the command line used to generate file,
1489        to be printed in the comment at the top of generated file.
1490
14912000-01-09  Lorenzo Bettini (LAP)  <http://www.lorenzobettini.it>
1492
1493        * src/gm.c: a struct is generated for args info, instead of
1494        using variables
1495
14962000-01-08  Lorenzo Bettini (LAP)  <http://www.lorenzobettini.it>
1497
1498        * src/gm.h : Added
1499
1500        * src/gm.c (generate_cmdline_parser): generate_main renamed
1501        config.h is included with " instead of <>.
1502        the name of the function to generate is passed.
1503
1504        * src/ggos.h: config.h included: VERSION and PACKAGE are defined there
1505
1506        * configure.in: (--enable-warnings) option added to configure
1507        this way -Wall is added to compiler options.
1508
1509        * src/gengetopt.h: added with functions exported by gengetopt.c
1510
1511        * src/parser.y: inclusion of stdlib for malloc and free, and string.h
1512        extern yyerror and yylex, include gengetopt.h.
1513        automake renames y.tab.c in parser.c
1514
1515        * src/yyerror.c (yyerror): made it void
1516
1517        * src/scanner.l: scanner.lex renamed scanner.l, and it includes
1518        parser.h, renamed by automake.
1519        automake renames the c file to scanner.c
1520
1521        * started to use automake and autoconf; created src and doc dir
1522
1523